@flanksource/clicky-ui 0.3.39 → 0.3.41

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 (1557) hide show
  1. package/README.md +29 -5
  2. package/dist/ai.cjs +10 -0
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.d.ts +1 -1
  5. package/dist/ai.js +10 -0
  6. package/dist/ai.js.map +1 -1
  7. package/dist/chat.d.ts +1 -1
  8. package/dist/clicky.d.ts +1 -1
  9. package/dist/comments/CommentAuthor.d.ts +2 -2
  10. package/dist/comments/CommentCard.d.ts +1 -1
  11. package/dist/comments/CommentCardParts.d.ts +1 -1
  12. package/dist/comments/CommentComposer.d.ts +1 -1
  13. package/dist/comments/CommentFilterBar.d.ts +1 -1
  14. package/dist/comments/CommentProgress.d.ts +1 -1
  15. package/dist/comments/CommentProvider.d.ts +2 -2
  16. package/dist/comments/CommentSidePanel.d.ts +1 -1
  17. package/dist/comments/CommentThread.d.ts +1 -1
  18. package/dist/comments/CommentThreadList.d.ts +1 -1
  19. package/dist/comments/GroupedComments.d.ts +1 -1
  20. package/dist/comments/MentionTextarea.d.ts +1 -1
  21. package/dist/comments/comment-context.d.ts +1 -1
  22. package/dist/comments/comment-fixtures.d.ts +1 -1
  23. package/dist/comments/comment-types.d.ts +1 -1
  24. package/dist/comments/comment-utils.d.ts +2 -2
  25. package/dist/comments.d.ts +16 -16
  26. package/dist/components/AccordionList.cjs +5 -1
  27. package/dist/components/AccordionList.cjs.map +1 -1
  28. package/dist/components/AccordionList.d.ts +4 -2
  29. package/dist/components/AccordionList.d.ts.map +1 -1
  30. package/dist/components/AccordionList.js +5 -1
  31. package/dist/components/AccordionList.js.map +1 -1
  32. package/dist/components/Combobox.d.ts +2 -2
  33. package/dist/components/ComboboxControl.d.ts +2 -2
  34. package/dist/components/ComboboxMenu.d.ts +2 -2
  35. package/dist/components/ComboboxTags.d.ts +1 -1
  36. package/dist/components/ConnectionLoggingPolicy.d.ts +1 -1
  37. package/dist/components/CountryPicker.d.ts +1 -1
  38. package/dist/components/EndpointSelector.d.ts +1 -1
  39. package/dist/components/EndpointSelector.model.d.ts +4 -4
  40. package/dist/components/FilterBar.d.ts +8 -8
  41. package/dist/components/FormLookupProvider.d.ts +1 -1
  42. package/dist/components/FormatOptionsDropdown.d.ts +2 -2
  43. package/dist/components/IconButton.d.ts +1 -1
  44. package/dist/components/ItemActions.d.ts +1 -1
  45. package/dist/components/JSONPathField.d.ts +4 -4
  46. package/dist/components/JsonSchemaForm.cjs +9 -4
  47. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  48. package/dist/components/JsonSchemaForm.d.ts +2 -2
  49. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  50. package/dist/components/JsonSchemaForm.js +8 -3
  51. package/dist/components/JsonSchemaForm.js.map +1 -1
  52. package/dist/components/ListMenu.d.ts +2 -2
  53. package/dist/components/MdxEditorCallout.d.ts +1 -1
  54. package/dist/components/MdxEditorField.d.ts +2 -2
  55. package/dist/components/MdxEditorToolbar.d.ts +1 -1
  56. package/dist/components/MultiSelect.d.ts +1 -1
  57. package/dist/components/OnePasswordSelector.d.ts +1 -1
  58. package/dist/components/ScheduleEditor.d.ts +1 -1
  59. package/dist/components/SearchInput.d.ts +1 -1
  60. package/dist/components/SecretFormField.d.ts +2 -2
  61. package/dist/components/SecretKeySelector.d.ts +1 -1
  62. package/dist/components/SecretKeySelector.model.d.ts +1 -1
  63. package/dist/components/SegmentedControl.d.ts +1 -1
  64. package/dist/components/SplitButton.d.ts +3 -3
  65. package/dist/components/TreePickerField.d.ts +2 -2
  66. package/dist/components/TriStateToggle.d.ts +1 -1
  67. package/dist/components/WorkloadPicker.d.ts +2 -2
  68. package/dist/components/button.d.ts +1 -1
  69. package/dist/components/combobox-types.d.ts +2 -2
  70. package/dist/components/endpoint-port.d.ts +1 -1
  71. package/dist/components/filter-bar-field-utils.d.ts +3 -3
  72. package/dist/components/filter-bar-multi.d.ts +4 -4
  73. package/dist/components/filter-bar-utils.d.ts +1 -1
  74. package/dist/components/form-lookup-context.d.ts +1 -1
  75. package/dist/components/format-options.d.ts +1 -1
  76. package/dist/components/icon-menu-picker.d.ts +1 -1
  77. package/dist/components/jotai-bindings-core.d.ts +2 -2
  78. package/dist/components/jotai-bindings.d.ts +1 -1
  79. package/dist/components/json-schema-form-accordion-array.cjs +3 -1
  80. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  81. package/dist/components/json-schema-form-accordion-array.d.ts +5 -2
  82. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  83. package/dist/components/json-schema-form-accordion-array.js +3 -1
  84. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  85. package/dist/components/json-schema-form-array-view.cjs +63 -0
  86. package/dist/components/json-schema-form-array-view.cjs.map +1 -0
  87. package/dist/components/json-schema-form-array-view.d.ts +21 -0
  88. package/dist/components/json-schema-form-array-view.d.ts.map +1 -0
  89. package/dist/components/json-schema-form-array-view.js +63 -0
  90. package/dist/components/json-schema-form-array-view.js.map +1 -0
  91. package/dist/components/json-schema-form-array.cjs +3 -7
  92. package/dist/components/json-schema-form-array.cjs.map +1 -1
  93. package/dist/components/json-schema-form-array.d.ts +1 -1
  94. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  95. package/dist/components/json-schema-form-array.js +3 -7
  96. package/dist/components/json-schema-form-array.js.map +1 -1
  97. package/dist/components/json-schema-form-cards-array.d.ts +1 -1
  98. package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts +1 -1
  99. package/dist/components/json-schema-form-conditionals.cjs +67 -0
  100. package/dist/components/json-schema-form-conditionals.cjs.map +1 -0
  101. package/dist/components/json-schema-form-conditionals.d.ts +9 -0
  102. package/dist/components/json-schema-form-conditionals.d.ts.map +1 -0
  103. package/dist/components/json-schema-form-conditionals.js +67 -0
  104. package/dist/components/json-schema-form-conditionals.js.map +1 -0
  105. package/dist/components/json-schema-form-defaults.cjs +68 -0
  106. package/dist/components/json-schema-form-defaults.cjs.map +1 -0
  107. package/dist/components/json-schema-form-defaults.d.ts +4 -0
  108. package/dist/components/json-schema-form-defaults.d.ts.map +1 -0
  109. package/dist/components/json-schema-form-defaults.js +68 -0
  110. package/dist/components/json-schema-form-defaults.js.map +1 -0
  111. package/dist/components/json-schema-form-discriminator.d.ts +1 -1
  112. package/dist/components/json-schema-form-error-display.d.ts +1 -1
  113. package/dist/components/json-schema-form-errors.cjs +49 -31
  114. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  115. package/dist/components/json-schema-form-errors.d.ts +5 -3
  116. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  117. package/dist/components/json-schema-form-errors.js +51 -33
  118. package/dist/components/json-schema-form-errors.js.map +1 -1
  119. package/dist/components/json-schema-form-extensions.d.ts +1 -1
  120. package/dist/components/json-schema-form-fields.d.ts +2 -2
  121. package/dist/components/json-schema-form-filter.cjs +2 -1
  122. package/dist/components/json-schema-form-filter.cjs.map +1 -1
  123. package/dist/components/json-schema-form-filter.d.ts +1 -1
  124. package/dist/components/json-schema-form-filter.js +2 -1
  125. package/dist/components/json-schema-form-filter.js.map +1 -1
  126. package/dist/components/json-schema-form-grid.d.ts +2 -2
  127. package/dist/components/json-schema-form-item-row.d.ts +1 -1
  128. package/dist/components/json-schema-form-item-summary.cjs +6 -2
  129. package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
  130. package/dist/components/json-schema-form-item-summary.d.ts +1 -1
  131. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
  132. package/dist/components/json-schema-form-item-summary.js +6 -2
  133. package/dist/components/json-schema-form-item-summary.js.map +1 -1
  134. package/dist/components/json-schema-form-layout.cjs +28 -19
  135. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  136. package/dist/components/json-schema-form-layout.d.ts +10 -8
  137. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  138. package/dist/components/json-schema-form-layout.js +29 -20
  139. package/dist/components/json-schema-form-layout.js.map +1 -1
  140. package/dist/components/json-schema-form-list-array.d.ts +1 -1
  141. package/dist/components/json-schema-form-listener-paths.cjs +52 -0
  142. package/dist/components/json-schema-form-listener-paths.cjs.map +1 -0
  143. package/dist/components/json-schema-form-listener-paths.d.ts +10 -0
  144. package/dist/components/json-schema-form-listener-paths.d.ts.map +1 -0
  145. package/dist/components/json-schema-form-listener-paths.js +52 -0
  146. package/dist/components/json-schema-form-listener-paths.js.map +1 -0
  147. package/dist/components/json-schema-form-listener-types.d.ts +22 -0
  148. package/dist/components/json-schema-form-listener-types.d.ts.map +1 -0
  149. package/dist/components/json-schema-form-listeners.cjs +250 -0
  150. package/dist/components/json-schema-form-listeners.cjs.map +1 -0
  151. package/dist/components/json-schema-form-listeners.d.ts +13 -0
  152. package/dist/components/json-schema-form-listeners.d.ts.map +1 -0
  153. package/dist/components/json-schema-form-listeners.js +250 -0
  154. package/dist/components/json-schema-form-listeners.js.map +1 -0
  155. package/dist/components/json-schema-form-lookup-tree.d.ts +2 -2
  156. package/dist/components/json-schema-form-object-array-view.cjs +62 -0
  157. package/dist/components/json-schema-form-object-array-view.cjs.map +1 -0
  158. package/dist/components/json-schema-form-object-array-view.d.ts +14 -0
  159. package/dist/components/json-schema-form-object-array-view.d.ts.map +1 -0
  160. package/dist/components/json-schema-form-object-array-view.js +62 -0
  161. package/dist/components/json-schema-form-object-array-view.js.map +1 -0
  162. package/dist/components/json-schema-form-object.cjs +3 -0
  163. package/dist/components/json-schema-form-object.cjs.map +1 -1
  164. package/dist/components/json-schema-form-object.d.ts +1 -1
  165. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  166. package/dist/components/json-schema-form-object.js +3 -0
  167. package/dist/components/json-schema-form-object.js.map +1 -1
  168. package/dist/components/json-schema-form-preferences.d.ts +1 -1
  169. package/dist/components/json-schema-form-properties-errors.fixtures.d.ts +2 -2
  170. package/dist/components/json-schema-form-properties-size.d.ts +1 -1
  171. package/dist/components/json-schema-form-properties.d.ts +2 -2
  172. package/dist/components/json-schema-form-properties.fixtures.d.ts +1 -1
  173. package/dist/components/json-schema-form-property-collection.d.ts +1 -1
  174. package/dist/components/json-schema-form-property-preview.d.ts +1 -1
  175. package/dist/components/json-schema-form-property-selection.d.ts +1 -1
  176. package/dist/components/json-schema-form-refs.d.ts +1 -1
  177. package/dist/components/json-schema-form-render.cjs +17 -9
  178. package/dist/components/json-schema-form-render.cjs.map +1 -1
  179. package/dist/components/json-schema-form-render.d.ts +1 -1
  180. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  181. package/dist/components/json-schema-form-render.js +19 -11
  182. package/dist/components/json-schema-form-render.js.map +1 -1
  183. package/dist/components/json-schema-form-resolve.cjs +6 -99
  184. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  185. package/dist/components/json-schema-form-resolve.d.ts +1 -8
  186. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  187. package/dist/components/json-schema-form-resolve.js +5 -98
  188. package/dist/components/json-schema-form-resolve.js.map +1 -1
  189. package/dist/components/json-schema-form-runtime-types.d.ts +19 -4
  190. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
  191. package/dist/components/json-schema-form-size.d.ts +1 -1
  192. package/dist/components/json-schema-form-table-array.cjs +67 -16
  193. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  194. package/dist/components/json-schema-form-table-array.d.ts +5 -2
  195. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  196. package/dist/components/json-schema-form-table-array.js +70 -19
  197. package/dist/components/json-schema-form-table-array.js.map +1 -1
  198. package/dist/components/json-schema-form-tags-combobox.d.ts +2 -2
  199. package/dist/components/json-schema-form-template-menu.d.ts +1 -1
  200. package/dist/components/json-schema-form-template.d.ts +3 -3
  201. package/dist/components/json-schema-form-types.d.ts +21 -5
  202. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  203. package/dist/components/json-schema-form-utils.cjs +7 -1
  204. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  205. package/dist/components/json-schema-form-utils.d.ts +3 -2
  206. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  207. package/dist/components/json-schema-form-utils.js +7 -1
  208. package/dist/components/json-schema-form-utils.js.map +1 -1
  209. package/dist/components/mdx-editor-callout-model.d.ts +1 -1
  210. package/dist/components/mdx-editor-callout.d.ts +1 -1
  211. package/dist/components/mdx-editor-field-plugins.d.ts +1 -1
  212. package/dist/components/mdx-editor-jsx-attributes.d.ts +1 -1
  213. package/dist/components/mdx-editor-options.d.ts +1 -1
  214. package/dist/components/secret-form-extension.d.ts +4 -4
  215. package/dist/components/unit-form-extension.d.ts +1 -1
  216. package/dist/components/useComboboxLayout.d.ts +1 -1
  217. package/dist/components/workload-picker-utils.d.ts +1 -1
  218. package/dist/components.cjs +3 -2
  219. package/dist/components.cjs.map +1 -1
  220. package/dist/components.d.ts +103 -102
  221. package/dist/components.d.ts.map +1 -1
  222. package/dist/components.js +2 -1
  223. package/dist/components.js.map +1 -1
  224. package/dist/data/Avatar.d.ts +1 -1
  225. package/dist/data/AvatarBadge.d.ts +3 -3
  226. package/dist/data/Badge.d.ts +2 -2
  227. package/dist/data/Callout.d.ts +1 -1
  228. package/dist/data/Clicky.d.ts +10 -10
  229. package/dist/data/Clicky.fixtures.d.ts +1 -1
  230. package/dist/data/DataTable.cjs +9 -3
  231. package/dist/data/DataTable.cjs.map +1 -1
  232. package/dist/data/DataTable.d.ts +17 -11
  233. package/dist/data/DataTable.d.ts.map +1 -1
  234. package/dist/data/DataTable.js +9 -3
  235. package/dist/data/DataTable.js.map +1 -1
  236. package/dist/data/DataTableMenuSections.d.ts +3 -3
  237. package/dist/data/DataTablePreferencesSheet.d.ts +3 -3
  238. package/dist/data/FilterPill.d.ts +1 -1
  239. package/dist/data/FixtureEditor/FenceForm.d.ts +2 -2
  240. package/dist/data/FixtureEditor/FixtureEditor.cjs +43 -24
  241. package/dist/data/FixtureEditor/FixtureEditor.cjs.map +1 -1
  242. package/dist/data/FixtureEditor/FixtureEditor.d.ts +1 -1
  243. package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
  244. package/dist/data/FixtureEditor/FixtureEditor.js +43 -24
  245. package/dist/data/FixtureEditor/FixtureEditor.js.map +1 -1
  246. package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts +2 -2
  247. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts +1 -1
  248. package/dist/data/FixtureEditor/fixture-blocks.d.ts +2 -2
  249. package/dist/data/FixtureEditor/fixture-code-block-model.d.ts +1 -1
  250. package/dist/data/FixtureEditor/fixture-frontmatter.d.ts +1 -1
  251. package/dist/data/FixtureEditor/index.d.ts +4 -4
  252. package/dist/data/FixtureEditor/types.d.ts +3 -3
  253. package/dist/data/Gauge.d.ts +1 -1
  254. package/dist/data/GaugeHoverCard.d.ts +1 -1
  255. package/dist/data/GraphDiagram.d.ts +1 -1
  256. package/dist/data/HighlightedTokens.d.ts +1 -1
  257. package/dist/data/Icon.d.ts +1 -1
  258. package/dist/data/LogDetails.d.ts +3 -3
  259. package/dist/data/LogsTable.d.ts +3 -3
  260. package/dist/data/MarkdownEditor.d.ts +2 -2
  261. package/dist/data/MarkdownEditor.model.d.ts +1 -1
  262. package/dist/data/ObjectGraph.d.ts +2 -2
  263. package/dist/data/ProgressBars.d.ts +1 -1
  264. package/dist/data/PromptBanner.d.ts +1 -1
  265. package/dist/data/PromptBanner.model.d.ts +1 -1
  266. package/dist/data/PromptDialog.d.ts +1 -1
  267. package/dist/data/Properties.d.ts +1 -1
  268. package/dist/data/RadialGauge.d.ts +1 -1
  269. package/dist/data/SchemaViewer.d.ts +2 -2
  270. package/dist/data/SelectionActionBar.d.ts +1 -1
  271. package/dist/data/ServerTimingBadge.d.ts +2 -2
  272. package/dist/data/SortableHeader.d.ts +1 -1
  273. package/dist/data/StatStrip.d.ts +2 -2
  274. package/dist/data/TabButton.d.ts +1 -1
  275. package/dist/data/TaskExecDetails.d.ts +1 -1
  276. package/dist/data/TaskHeaderExtras.d.ts +1 -1
  277. package/dist/data/TaskManager.d.ts +2 -2
  278. package/dist/data/TaskProcessDetails.d.ts +1 -1
  279. package/dist/data/TaskProcessMetadata.d.ts +1 -1
  280. package/dist/data/TaskProgress.d.ts +3 -3
  281. package/dist/data/TaskResourceReadings.d.ts +1 -1
  282. package/dist/data/TaskStreamTabs.d.ts +1 -1
  283. package/dist/data/Timeline.d.ts +2 -2
  284. package/dist/data/TimeseriesCoreBars.d.ts +4 -4
  285. package/dist/data/TimeseriesGauge.d.ts +2 -2
  286. package/dist/data/TimeseriesPanel.axes.d.ts +1 -1
  287. package/dist/data/TimeseriesPanel.d.ts +3 -3
  288. package/dist/data/TimeseriesPanel.model.d.ts +1 -1
  289. package/dist/data/Tree.cjs +10 -2
  290. package/dist/data/Tree.cjs.map +1 -1
  291. package/dist/data/Tree.d.ts +7 -2
  292. package/dist/data/Tree.d.ts.map +1 -1
  293. package/dist/data/Tree.js +10 -2
  294. package/dist/data/Tree.js.map +1 -1
  295. package/dist/data/TreeGroupHeader.d.ts +1 -1
  296. package/dist/data/Version.d.ts +1 -1
  297. package/dist/data/WorkloadCard.d.ts +2 -2
  298. package/dist/data/WorkloadCard.model.d.ts +4 -4
  299. package/dist/data/ai/AdvancedChatConfig.d.ts +2 -2
  300. package/dist/data/ai/ChatButton.d.ts +1 -1
  301. package/dist/data/ai/ChatFab.d.ts +1 -1
  302. package/dist/data/ai/ChatWindow.catalogs.d.ts +2 -2
  303. package/dist/data/ai/ChatWindow.d.ts +2 -2
  304. package/dist/data/ai/ChatWindow.models.d.ts +1 -1
  305. package/dist/data/ai/ChatWindow.preferences.d.ts +2 -2
  306. package/dist/data/ai/ChatWindow.runtime.d.ts +2 -2
  307. package/dist/data/ai/ChatWindow.test-utils.d.ts +2 -2
  308. package/dist/data/ai/ChatWindow.thread-status.d.ts +1 -1
  309. package/dist/data/ai/ChatWindow.thread.d.ts +1 -1
  310. package/dist/data/ai/ChatWindow.tool-catalog.d.ts +1 -1
  311. package/dist/data/ai/ChatWindow.types.d.ts +6 -6
  312. package/dist/data/ai/ChatWindowRequestBody.d.ts +3 -3
  313. package/dist/data/ai/ContextBadges.d.ts +1 -1
  314. package/dist/data/ai/PolicyTree.d.ts +1 -1
  315. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +1 -1
  316. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +1 -1
  317. package/dist/data/ai/PromptCatalog/PromptPage.d.ts +4 -4
  318. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +4 -4
  319. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +1 -1
  320. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +1 -1
  321. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +1 -1
  322. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +1 -1
  323. package/dist/data/ai/PromptCatalog/index.d.ts +8 -8
  324. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts +1 -1
  325. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts +4 -4
  326. package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
  327. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +4 -4
  328. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +1 -1
  329. package/dist/data/ai/PromptPicker/index.d.ts +4 -4
  330. package/dist/data/ai/PromptPicker/prompt-runtime.d.ts +2 -2
  331. package/dist/data/ai/PromptPicker/types.d.ts +1 -1
  332. package/dist/data/ai/PromptRunEditor/PromptBlocks.d.ts +4 -4
  333. package/dist/data/ai/PromptRunEditor/RecentRuntimes.d.ts +3 -3
  334. package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts +5 -5
  335. package/dist/data/ai/PromptRunEditor/VariablesField.d.ts +1 -1
  336. package/dist/data/ai/PromptRunEditor/index.d.ts +11 -11
  337. package/dist/data/ai/PromptRunEditor/model.d.ts +1 -1
  338. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +4 -4
  339. package/dist/data/ai/PromptRunEditor/yaml.d.ts +1 -1
  340. package/dist/data/ai/RuntimeModePicker.d.ts +3 -3
  341. package/dist/data/ai/SandboxConnectionsSection.d.ts +1 -1
  342. package/dist/data/ai/SandboxCreateWizard.d.ts +2 -2
  343. package/dist/data/ai/SandboxCreateWizard.model.d.ts +1 -1
  344. package/dist/data/ai/SessionChatComposer.d.ts +1 -1
  345. package/dist/data/ai/SessionInspector.approvals-model.d.ts +1 -1
  346. package/dist/data/ai/SessionInspector.approvals.d.ts +3 -3
  347. package/dist/data/ai/SessionInspector.cjs +143 -167
  348. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  349. package/dist/data/ai/SessionInspector.collection-types.d.ts +7 -2
  350. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
  351. package/dist/data/ai/SessionInspector.collection.cjs +18 -5
  352. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
  353. package/dist/data/ai/SessionInspector.collection.d.ts +5 -3
  354. package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -1
  355. package/dist/data/ai/SessionInspector.collection.fixtures.d.ts +6 -0
  356. package/dist/data/ai/SessionInspector.collection.fixtures.d.ts.map +1 -0
  357. package/dist/data/ai/SessionInspector.collection.js +18 -5
  358. package/dist/data/ai/SessionInspector.collection.js.map +1 -1
  359. package/dist/data/ai/SessionInspector.compact.d.ts +2 -2
  360. package/dist/data/ai/SessionInspector.d.ts +30 -8
  361. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  362. package/dist/data/ai/SessionInspector.files.d.ts +1 -1
  363. package/dist/data/ai/SessionInspector.hierarchy-state.cjs +105 -7
  364. package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -1
  365. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +14 -3
  366. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -1
  367. package/dist/data/ai/SessionInspector.hierarchy-state.js +107 -9
  368. package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -1
  369. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  370. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  371. package/dist/data/ai/SessionInspector.hierarchy.d.ts +2 -2
  372. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  373. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  374. package/dist/data/ai/SessionInspector.js +144 -168
  375. package/dist/data/ai/SessionInspector.js.map +1 -1
  376. package/dist/data/ai/SessionInspector.legacy.cjs +116 -0
  377. package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -0
  378. package/dist/data/ai/SessionInspector.legacy.d.ts +19 -0
  379. package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -0
  380. package/dist/data/ai/SessionInspector.legacy.js +116 -0
  381. package/dist/data/ai/SessionInspector.legacy.js.map +1 -0
  382. package/dist/data/ai/SessionInspector.model.d.ts +1 -1
  383. package/dist/data/ai/SessionInspector.panel-values.d.ts +1 -1
  384. package/dist/data/ai/SessionInspector.panels.cjs +3 -0
  385. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  386. package/dist/data/ai/SessionInspector.panels.d.ts +4 -4
  387. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  388. package/dist/data/ai/SessionInspector.panels.js +3 -0
  389. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  390. package/dist/data/ai/SessionInspector.plan.cjs +29 -12
  391. package/dist/data/ai/SessionInspector.plan.cjs.map +1 -1
  392. package/dist/data/ai/SessionInspector.plan.d.ts +1 -1
  393. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
  394. package/dist/data/ai/SessionInspector.plan.js +30 -13
  395. package/dist/data/ai/SessionInspector.plan.js.map +1 -1
  396. package/dist/data/ai/SessionInspector.remote-view.cjs +44 -0
  397. package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -0
  398. package/dist/data/ai/SessionInspector.remote-view.d.ts +11 -0
  399. package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -0
  400. package/dist/data/ai/SessionInspector.remote-view.js +44 -0
  401. package/dist/data/ai/SessionInspector.remote-view.js.map +1 -0
  402. package/dist/data/ai/SessionInspector.remote.cjs +275 -0
  403. package/dist/data/ai/SessionInspector.remote.cjs.map +1 -0
  404. package/dist/data/ai/SessionInspector.remote.d.ts +57 -0
  405. package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -0
  406. package/dist/data/ai/SessionInspector.remote.js +275 -0
  407. package/dist/data/ai/SessionInspector.remote.js.map +1 -0
  408. package/dist/data/ai/SessionInspector.summary.cjs +0 -156
  409. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  410. package/dist/data/ai/SessionInspector.summary.d.ts +1 -4
  411. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  412. package/dist/data/ai/SessionInspector.summary.js +2 -158
  413. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  414. package/dist/data/ai/SessionInspector.tab-state.cjs +15 -0
  415. package/dist/data/ai/SessionInspector.tab-state.cjs.map +1 -0
  416. package/dist/data/ai/SessionInspector.tab-state.d.ts +3 -0
  417. package/dist/data/ai/SessionInspector.tab-state.d.ts.map +1 -0
  418. package/dist/data/ai/SessionInspector.tab-state.js +15 -0
  419. package/dist/data/ai/SessionInspector.tab-state.js.map +1 -0
  420. package/dist/data/ai/SessionInspector.tabs.d.ts +2 -2
  421. package/dist/data/ai/SessionInspector.tabs.model.cjs +31 -18
  422. package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -1
  423. package/dist/data/ai/SessionInspector.tabs.model.d.ts +5 -3
  424. package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -1
  425. package/dist/data/ai/SessionInspector.tabs.model.js +32 -19
  426. package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -1
  427. package/dist/data/ai/SessionInspector.transcript.d.ts +2 -2
  428. package/dist/data/ai/SessionInspector.turns.d.ts +1 -1
  429. package/dist/data/ai/SessionInspector.verification.cjs +53 -0
  430. package/dist/data/ai/SessionInspector.verification.cjs.map +1 -0
  431. package/dist/data/ai/SessionInspector.verification.d.ts +7 -0
  432. package/dist/data/ai/SessionInspector.verification.d.ts.map +1 -0
  433. package/dist/data/ai/SessionInspector.verification.js +53 -0
  434. package/dist/data/ai/SessionInspector.verification.js.map +1 -0
  435. package/dist/data/ai/SessionViewer.d.ts +5 -5
  436. package/dist/data/ai/SessionViewer.fixtures.d.ts +2 -2
  437. package/dist/data/ai/SessionViewer.grouping.d.ts +1 -1
  438. package/dist/data/ai/SessionViewer.header.d.ts +2 -2
  439. package/dist/data/ai/SessionViewer.model.cjs +7 -1
  440. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  441. package/dist/data/ai/SessionViewer.model.d.ts +23 -5
  442. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  443. package/dist/data/ai/SessionViewer.model.js +7 -1
  444. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  445. package/dist/data/ai/SessionViewer.row-metadata.d.ts +1 -1
  446. package/dist/data/ai/SessionViewer.rows.d.ts +3 -3
  447. package/dist/data/ai/SessionViewer.tool-details.d.ts +1 -1
  448. package/dist/data/ai/SessionViewer.tool-row.d.ts +2 -2
  449. package/dist/data/ai/SessionViewer.unified.d.ts +13 -0
  450. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  451. package/dist/data/ai/SessionViewerMenu.d.ts +2 -2
  452. package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts +2 -2
  453. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +1 -1
  454. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts +2 -2
  455. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +3 -3
  456. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +5 -5
  457. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +2 -2
  458. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +1 -1
  459. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +4 -4
  460. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +2 -2
  461. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +4 -4
  462. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +1 -1
  463. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.d.ts +1 -1
  464. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +5 -5
  465. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +3 -3
  466. package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts +2 -2
  467. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +2 -2
  468. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +11 -11
  469. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts +3 -3
  470. package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts +3 -3
  471. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +3 -3
  472. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +4 -4
  473. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -1
  474. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +5 -5
  475. package/dist/data/ai/ToolPreferences.d.ts +4 -4
  476. package/dist/data/ai/ToolPreferences.model.d.ts +2 -2
  477. package/dist/data/ai/ToolPreferencesList.d.ts +3 -3
  478. package/dist/data/ai/ToolSchemaBrowser.d.ts +2 -2
  479. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +2 -2
  480. package/dist/data/ai/ToolSchemaBrowser.model.d.ts +2 -2
  481. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +2 -2
  482. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +4 -4
  483. package/dist/data/ai/agent-action-icons.d.ts +5 -5
  484. package/dist/data/ai/chat-window-context.d.ts +3 -3
  485. package/dist/data/ai/context.d.ts +1 -1
  486. package/dist/data/ai/examples/sessions/claude-complete.d.ts +1 -1
  487. package/dist/data/ai/examples/sessions/claude.d.ts +1 -1
  488. package/dist/data/ai/examples/sessions/codex-complete.d.ts +1 -1
  489. package/dist/data/ai/examples/sessions/codex.d.ts +1 -1
  490. package/dist/data/ai/examples/sessions/index.d.ts +5 -5
  491. package/dist/data/ai/index.d.ts +55 -53
  492. package/dist/data/ai/index.d.ts.map +1 -1
  493. package/dist/data/ai/runtime-profile.d.ts +4 -4
  494. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts +1 -1
  495. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts +2 -2
  496. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts +3 -3
  497. package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts +3 -3
  498. package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +5 -5
  499. package/dist/data/ai/runtime-profiles/ProfilePresetChips.d.ts +1 -1
  500. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts +4 -4
  501. package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts +5 -5
  502. package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +2 -2
  503. package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts +1 -1
  504. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts +1 -1
  505. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts +1 -1
  506. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +2 -2
  507. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts +3 -3
  508. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +4 -4
  509. package/dist/data/ai/runtime-profiles/index.d.ts +19 -19
  510. package/dist/data/ai/runtime-profiles/types.d.ts +3 -3
  511. package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts +3 -3
  512. package/dist/data/ai/runtime-profiles/use-resolution.d.ts +2 -2
  513. package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts +1 -1
  514. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts +3 -3
  515. package/dist/data/ai/sandbox-kind-meta.d.ts +1 -1
  516. package/dist/data/ai/session-categories.d.ts +2 -2
  517. package/dist/data/ai/session-cost.d.ts +2 -2
  518. package/dist/data/ai/session-tones.d.ts +1 -1
  519. package/dist/data/ai/tool-name.d.ts +1 -1
  520. package/dist/data/cache-browser/CacheBrowser.d.ts +2 -2
  521. package/dist/data/cache-browser/CacheDetailPanel.d.ts +3 -3
  522. package/dist/data/cache-browser/CacheStatsOverview.d.ts +2 -2
  523. package/dist/data/cache-browser/CacheTree.d.ts +3 -3
  524. package/dist/data/cache-browser/CacheValue.d.ts +1 -1
  525. package/dist/data/cache-browser/adapter.d.ts +2 -2
  526. package/dist/data/cache-browser/api.d.ts +1 -1
  527. package/dist/data/cache-browser/cache-browser.fixtures.d.ts +2 -2
  528. package/dist/data/cache-browser/index.d.ts +8 -8
  529. package/dist/data/cells/EntityCell.d.ts +2 -2
  530. package/dist/data/cells/StatusDot.d.ts +1 -1
  531. package/dist/data/cells/TagList.d.ts +1 -1
  532. package/dist/data/cells/Timestamp.d.ts +1 -1
  533. package/dist/data/cells/status-mapping.d.ts +1 -1
  534. package/dist/data/cells/tag-utils.d.ts +1 -1
  535. package/dist/data/cells/timestamp-format.d.ts +1 -1
  536. package/dist/data/chat/Attachment.d.ts +2 -2
  537. package/dist/data/chat/Chat.d.ts +5 -5
  538. package/dist/data/chat/Chat.fixtures.d.ts +1 -1
  539. package/dist/data/chat/Chat.runtime.d.ts +2 -2
  540. package/dist/data/chat/ChatRuntimeToolbar.d.ts +2 -2
  541. package/dist/data/chat/ContextMeter.bar.d.ts +1 -1
  542. package/dist/data/chat/ContextMeter.d.ts +1 -1
  543. package/dist/data/chat/Conversation.d.ts +2 -2
  544. package/dist/data/chat/Message.d.ts +1 -1
  545. package/dist/data/chat/ModelSelector.d.ts +3 -3
  546. package/dist/data/chat/PromptInput.d.ts +2 -2
  547. package/dist/data/chat/Suggestion.d.ts +1 -1
  548. package/dist/data/chat/ToolCall.d.ts +2 -2
  549. package/dist/data/chat/approval.d.ts +1 -1
  550. package/dist/data/chat/attachment-upload.d.ts +1 -1
  551. package/dist/data/chat/clickyOperationsToTools.d.ts +2 -2
  552. package/dist/data/chat/effort-icons.d.ts +1 -1
  553. package/dist/data/chat/index.d.ts +20 -20
  554. package/dist/data/chat/models.d.ts +1 -1
  555. package/dist/data/chat/provider-icons.d.ts +1 -1
  556. package/dist/data/chat/tool-policy.d.ts +1 -1
  557. package/dist/data/chat/tool-render/ToolParams.d.ts +2 -2
  558. package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
  559. package/dist/data/chat/tool-render/adapter.d.ts +1 -1
  560. package/dist/data/chat/tool-render/context.d.ts +1 -1
  561. package/dist/data/chat/tool-render/defaults.d.ts +1 -1
  562. package/dist/data/chat/tool-render/index.d.ts +12 -12
  563. package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
  564. package/dist/data/chat/tool-render/known-tools.d.ts +1 -1
  565. package/dist/data/chat/tool-render/registry.d.ts +1 -1
  566. package/dist/data/chat/tool-render/schema.d.ts +2 -2
  567. package/dist/data/chat/tool-render/shape.d.ts +2 -2
  568. package/dist/data/chat/tool-render/summary.d.ts +1 -1
  569. package/dist/data/chat/types.d.ts +1 -1
  570. package/dist/data/chat/usage-snapshot.d.ts +2 -2
  571. package/dist/data/clicky-export/ClickyExportDialog.d.ts +1 -1
  572. package/dist/data/clicky-export/index.d.ts +2 -2
  573. package/dist/data/clicky-export/useClickyExport.d.ts +2 -2
  574. package/dist/data/clicky-parse.d.ts +1 -1
  575. package/dist/data/code-block-actions.d.ts +1 -1
  576. package/dist/data/data-table-filter-values.d.ts +1 -1
  577. package/dist/data/data-table-server-filters.d.ts +4 -4
  578. package/dist/data/data-table-utils.d.ts +1 -1
  579. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +3 -3
  580. package/dist/data/diagnostics/DiagnosticsTree.d.ts +1 -1
  581. package/dist/data/diagnostics/ErrorDetails.d.ts +1 -1
  582. package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
  583. package/dist/data/diagnostics/GoroutineCard.d.ts +1 -1
  584. package/dist/data/diagnostics/JvmStackTrace.d.ts +3 -3
  585. package/dist/data/diagnostics/RenderedStackTrace.d.ts +3 -3
  586. package/dist/data/diagnostics/StackFrameRow.d.ts +1 -1
  587. package/dist/data/diagnostics/ThreadCard.d.ts +3 -3
  588. package/dist/data/diagnostics/fixtures.d.ts +1 -1
  589. package/dist/data/diagnostics/stacktrace-parse.d.ts +1 -1
  590. package/dist/data/diagnostics/stacktrace.d.ts +1 -1
  591. package/dist/data/diagnostics/utils.d.ts +3 -3
  592. package/dist/data/examples/markdown-preview-mock.d.ts +1 -1
  593. package/dist/data/gauge-stats.d.ts +1 -1
  594. package/dist/data/git/index.d.ts +2 -2
  595. package/dist/data/har/HarPanel.d.ts +1 -1
  596. package/dist/data/har/fixtures.d.ts +1 -1
  597. package/dist/data/properties-context.d.ts +1 -1
  598. package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
  599. package/dist/data/query-browser/QueryBrowser.editor.d.ts +1 -1
  600. package/dist/data/query-browser/QueryBrowser.types.d.ts +6 -6
  601. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +1 -1
  602. package/dist/data/query-browser/QueryBrowserResults.d.ts +3 -3
  603. package/dist/data/query-browser/index.d.ts +3 -3
  604. package/dist/data/runtime/ProviderStatusPanel.d.ts +2 -2
  605. package/dist/data/runtime/RuntimeBar.d.ts +3 -3
  606. package/dist/data/runtime/RuntimeBar.model.d.ts +3 -3
  607. package/dist/data/runtime/RuntimeBarActions.d.ts +2 -2
  608. package/dist/data/runtime/RuntimeBarCombo.d.ts +3 -3
  609. package/dist/data/runtime/RuntimeBarSegment.d.ts +1 -1
  610. package/dist/data/runtime/RuntimeBarSegments.d.ts +3 -3
  611. package/dist/data/runtime/availability.d.ts +1 -1
  612. package/dist/data/runtime/model-capabilities.d.ts +1 -1
  613. package/dist/data/runtime/provider-status.d.ts +2 -2
  614. package/dist/data/runtime/runtime-field-support.d.ts +4 -4
  615. package/dist/data/runtime/runtime-mode.d.ts +6 -6
  616. package/dist/data/schema-viewer-model.d.ts +1 -1
  617. package/dist/data/selectionActionSplit.d.ts +1 -1
  618. package/dist/data/status-breakdown-utils.d.ts +1 -1
  619. package/dist/data/task-copy.d.ts +1 -1
  620. package/dist/data/task-exec-details.d.ts +1 -1
  621. package/dist/data/task-process-details.d.ts +2 -2
  622. package/dist/data/task-resource-summary.d.ts +1 -1
  623. package/dist/data/task-status.d.ts +3 -3
  624. package/dist/data/task-streams.d.ts +1 -1
  625. package/dist/data/task-work-progress.d.ts +1 -1
  626. package/dist/data/test-runner/TestFailureDetail.d.ts +1 -1
  627. package/dist/data/test-runner/TestFilterBar.d.ts +2 -2
  628. package/dist/data/test-runner/TestRunSummary.d.ts +1 -1
  629. package/dist/data/test-runner/TestRunner.d.ts +3 -3
  630. package/dist/data/test-runner/TestRunner.fixtures.d.ts +2 -2
  631. package/dist/data/test-runner/TestTreeNode.d.ts +1 -1
  632. package/dist/data/test-runner/adapter.d.ts +2 -2
  633. package/dist/data/test-runner/context.d.ts +3 -3
  634. package/dist/data/test-runner/frameworkIcon.d.ts +1 -1
  635. package/dist/data/test-runner/index.d.ts +14 -14
  636. package/dist/data/test-runner/routePath.d.ts +1 -1
  637. package/dist/data/test-runner/status.d.ts +4 -4
  638. package/dist/data/timeseries-query.d.ts +1 -1
  639. package/dist/data/use-infinite-rows.d.ts +1 -1
  640. package/dist/data/useDebugAction.d.ts +1 -1
  641. package/dist/data/verification/VerificationResults.d.ts +2 -2
  642. package/dist/data/verification/adapterViews.d.ts +1 -1
  643. package/dist/data/verification/adapters.d.ts +1 -1
  644. package/dist/data/verification/index.d.ts +4 -4
  645. package/dist/data/verification/verifyReportTests.d.ts +2 -2
  646. package/dist/data/version-info.cjs +3 -3
  647. package/dist/data/version-info.js +3 -3
  648. package/dist/data.d.ts +119 -119
  649. package/dist/devtools/DebugConsole.d.ts +3 -3
  650. package/dist/devtools/DebugConsoleButton.d.ts +1 -1
  651. package/dist/devtools/DebugConsoleDock.d.ts +2 -2
  652. package/dist/devtools/ExecutionDetail.d.ts +2 -2
  653. package/dist/devtools/debugClient.d.ts +1 -1
  654. package/dist/devtools/debugStore.d.ts +1 -1
  655. package/dist/devtools/dockState.d.ts +1 -1
  656. package/dist/devtools/tabs/ConsoleTab.d.ts +1 -1
  657. package/dist/devtools/tabs/InspectionCaches.d.ts +2 -2
  658. package/dist/devtools/tabs/InspectionTab.d.ts +2 -2
  659. package/dist/devtools/tabs/NetworkTab.d.ts +2 -2
  660. package/dist/devtools/tabs/QueriesTab.d.ts +2 -2
  661. package/dist/devtools/types.d.ts +2 -2
  662. package/dist/devtools/useDebugStream.cjs +5 -1
  663. package/dist/devtools/useDebugStream.cjs.map +1 -1
  664. package/dist/devtools/useDebugStream.d.ts +2 -2
  665. package/dist/devtools/useDebugStream.d.ts.map +1 -1
  666. package/dist/devtools/useDebugStream.js +6 -2
  667. package/dist/devtools/useDebugStream.js.map +1 -1
  668. package/dist/devtools.d.ts +28 -28
  669. package/dist/expressions/lang/attributes.d.ts +1 -1
  670. package/dist/expressions/lang/completion.d.ts +1 -1
  671. package/dist/expressions/lang/generated/index.d.ts +1 -1
  672. package/dist/expressions/lang/hover.d.ts +1 -1
  673. package/dist/expressions/lang/index.d.ts +13 -13
  674. package/dist/expressions/lang/merge.d.ts +1 -1
  675. package/dist/expressions/lang/prefix.d.ts +1 -1
  676. package/dist/expressions/lang/spec.d.ts +2 -2
  677. package/dist/expressions/lang/theme.d.ts +1 -1
  678. package/dist/expressions/playground/ExpressionPlayground.d.ts +3 -3
  679. package/dist/expressions/playground/RunControls.d.ts +1 -1
  680. package/dist/expressions/playground/api.d.ts +2 -2
  681. package/dist/expressions/playground/languages.d.ts +2 -2
  682. package/dist/expressions/playground/panels/ExpectationStrip.d.ts +1 -1
  683. package/dist/expressions/playground/panels/ResultPanel.d.ts +1 -1
  684. package/dist/expressions/playground/panels/ResultView.d.ts +3 -3
  685. package/dist/expressions/playground/panels/SamplesPanel.d.ts +2 -2
  686. package/dist/expressions/playground/panels/SpecPanel.d.ts +1 -1
  687. package/dist/expressions/playground/panels/graphNodes.d.ts +2 -2
  688. package/dist/expressions/playground/sampleOutcome.d.ts +1 -1
  689. package/dist/expressions/playground/useEvaluator.d.ts +1 -1
  690. package/dist/expressions/playground/useSampleRuns.d.ts +3 -3
  691. package/dist/expressions/playground.d.ts +14 -14
  692. package/dist/expressions.d.ts +1 -1
  693. package/dist/hooks/density-provider.d.ts +1 -1
  694. package/dist/hooks/event-source-provider.cjs +9 -0
  695. package/dist/hooks/event-source-provider.cjs.map +1 -0
  696. package/dist/hooks/event-source-provider.d.ts +15 -0
  697. package/dist/hooks/event-source-provider.d.ts.map +1 -0
  698. package/dist/hooks/event-source-provider.js +9 -0
  699. package/dist/hooks/event-source-provider.js.map +1 -0
  700. package/dist/hooks/event-source.cjs +11 -0
  701. package/dist/hooks/event-source.cjs.map +1 -0
  702. package/dist/hooks/event-source.d.ts +22 -0
  703. package/dist/hooks/event-source.d.ts.map +1 -0
  704. package/dist/hooks/event-source.js +11 -0
  705. package/dist/hooks/event-source.js.map +1 -0
  706. package/dist/hooks/theme-provider.d.ts +1 -1
  707. package/dist/hooks/use-log-tail.cjs +5 -1
  708. package/dist/hooks/use-log-tail.cjs.map +1 -1
  709. package/dist/hooks/use-log-tail.d.ts +2 -2
  710. package/dist/hooks/use-log-tail.d.ts.map +1 -1
  711. package/dist/hooks/use-log-tail.js +5 -1
  712. package/dist/hooks/use-log-tail.js.map +1 -1
  713. package/dist/hooks/use-prompts.cjs +5 -1
  714. package/dist/hooks/use-prompts.cjs.map +1 -1
  715. package/dist/hooks/use-prompts.d.ts +1 -1
  716. package/dist/hooks/use-prompts.d.ts.map +1 -1
  717. package/dist/hooks/use-prompts.js +6 -2
  718. package/dist/hooks/use-prompts.js.map +1 -1
  719. package/dist/hooks/use-task-run.cjs +9 -2
  720. package/dist/hooks/use-task-run.cjs.map +1 -1
  721. package/dist/hooks/use-task-run.d.ts +2 -2
  722. package/dist/hooks/use-task-run.d.ts.map +1 -1
  723. package/dist/hooks/use-task-run.js +10 -3
  724. package/dist/hooks/use-task-run.js.map +1 -1
  725. package/dist/hooks.cjs +4 -0
  726. package/dist/hooks.cjs.map +1 -1
  727. package/dist/hooks.d.ts +15 -13
  728. package/dist/hooks.d.ts.map +1 -1
  729. package/dist/hooks.js +4 -0
  730. package/dist/hooks.js.map +1 -1
  731. package/dist/icons/changeIconAliases.d.ts +1 -1
  732. package/dist/icons/components/UiAccessProtected.d.ts +1 -1
  733. package/dist/icons/components/UiAccessPublic.d.ts +1 -1
  734. package/dist/icons/components/UiActivity.d.ts +1 -1
  735. package/dist/icons/components/UiAdd.d.ts +1 -1
  736. package/dist/icons/components/UiAddChangeset.d.ts +1 -1
  737. package/dist/icons/components/UiAggregate.d.ts +1 -1
  738. package/dist/icons/components/UiAlias.d.ts +1 -1
  739. package/dist/icons/components/UiAnnotation.d.ts +1 -1
  740. package/dist/icons/components/UiAopAroundAdvice.d.ts +1 -1
  741. package/dist/icons/components/UiAopBeforeAdvice.d.ts +1 -1
  742. package/dist/icons/components/UiAopPointcut.d.ts +1 -1
  743. package/dist/icons/components/UiArchive.d.ts +1 -1
  744. package/dist/icons/components/UiArray.d.ts +1 -1
  745. package/dist/icons/components/UiArrowDown.d.ts +1 -1
  746. package/dist/icons/components/UiArrowDownRight.d.ts +1 -1
  747. package/dist/icons/components/UiArrowFatUp.d.ts +1 -1
  748. package/dist/icons/components/UiArrowLeft.d.ts +1 -1
  749. package/dist/icons/components/UiArrowRight.d.ts +1 -1
  750. package/dist/icons/components/UiArrowUp.d.ts +1 -1
  751. package/dist/icons/components/UiArrowUpRight.d.ts +1 -1
  752. package/dist/icons/components/UiArrowsCounterClockwise.d.ts +1 -1
  753. package/dist/icons/components/UiArtifact.d.ts +1 -1
  754. package/dist/icons/components/UiAsterisk.d.ts +1 -1
  755. package/dist/icons/components/UiAsyncFn.d.ts +1 -1
  756. package/dist/icons/components/UiAt.d.ts +1 -1
  757. package/dist/icons/components/UiAtom.d.ts +1 -1
  758. package/dist/icons/components/UiAttachDebugger.d.ts +1 -1
  759. package/dist/icons/components/UiAttachToProcess.d.ts +1 -1
  760. package/dist/icons/components/UiAuditLog.d.ts +1 -1
  761. package/dist/icons/components/UiBank.d.ts +1 -1
  762. package/dist/icons/components/UiBatteryChargingVertical.d.ts +1 -1
  763. package/dist/icons/components/UiBatteryVerticalEmpty.d.ts +1 -1
  764. package/dist/icons/components/UiBatteryVerticalFull.d.ts +1 -1
  765. package/dist/icons/components/UiBatteryVerticalHigh.d.ts +1 -1
  766. package/dist/icons/components/UiBatteryVerticalLow.d.ts +1 -1
  767. package/dist/icons/components/UiBatteryVerticalMedium.d.ts +1 -1
  768. package/dist/icons/components/UiBeaker.d.ts +1 -1
  769. package/dist/icons/components/UiBell.d.ts +1 -1
  770. package/dist/icons/components/UiBellSlash.d.ts +1 -1
  771. package/dist/icons/components/UiBinary.d.ts +1 -1
  772. package/dist/icons/components/UiBlueKey.d.ts +1 -1
  773. package/dist/icons/components/UiBoolean.d.ts +1 -1
  774. package/dist/icons/components/UiBox.d.ts +1 -1
  775. package/dist/icons/components/UiBoxes.d.ts +1 -1
  776. package/dist/icons/components/UiBraces.d.ts +1 -1
  777. package/dist/icons/components/UiBrain.d.ts +1 -1
  778. package/dist/icons/components/UiBreakpoint.d.ts +1 -1
  779. package/dist/icons/components/UiBreakpoint1.d.ts +1 -1
  780. package/dist/icons/components/UiBreakpoint2.d.ts +1 -1
  781. package/dist/icons/components/UiBreakpoint3.d.ts +1 -1
  782. package/dist/icons/components/UiBreakpoint4.d.ts +1 -1
  783. package/dist/icons/components/UiBreakpointDisabled.d.ts +1 -1
  784. package/dist/icons/components/UiBreakpointField.d.ts +1 -1
  785. package/dist/icons/components/UiBreakpointMethod.d.ts +1 -1
  786. package/dist/icons/components/UiBroadcast.d.ts +1 -1
  787. package/dist/icons/components/UiBug.d.ts +1 -1
  788. package/dist/icons/components/UiCache.d.ts +1 -1
  789. package/dist/icons/components/UiCalculator.d.ts +1 -1
  790. package/dist/icons/components/UiCalendar.d.ts +1 -1
  791. package/dist/icons/components/UiCalendarBlank.d.ts +1 -1
  792. package/dist/icons/components/UiCalendarCheck.d.ts +1 -1
  793. package/dist/icons/components/UiCamera.d.ts +1 -1
  794. package/dist/icons/components/UiCancel.d.ts +1 -1
  795. package/dist/icons/components/UiChartBar.d.ts +1 -1
  796. package/dist/icons/components/UiChartLineUp.d.ts +1 -1
  797. package/dist/icons/components/UiChartOfAccounts.d.ts +1 -1
  798. package/dist/icons/components/UiChartPie.d.ts +1 -1
  799. package/dist/icons/components/UiChatDots.d.ts +1 -1
  800. package/dist/icons/components/UiCheck.d.ts +1 -1
  801. package/dist/icons/components/UiCheckConstraint.d.ts +1 -1
  802. package/dist/icons/components/UiChevronDown.d.ts +1 -1
  803. package/dist/icons/components/UiChevronRight.d.ts +1 -1
  804. package/dist/icons/components/UiChevronUp.d.ts +1 -1
  805. package/dist/icons/components/UiChevronsDown.d.ts +1 -1
  806. package/dist/icons/components/UiChevronsUp.d.ts +1 -1
  807. package/dist/icons/components/UiChip.d.ts +1 -1
  808. package/dist/icons/components/UiCircleFilled.d.ts +1 -1
  809. package/dist/icons/components/UiCircleOutline.d.ts +1 -1
  810. package/dist/icons/components/UiCircleX.d.ts +1 -1
  811. package/dist/icons/components/UiClass.d.ts +1 -1
  812. package/dist/icons/components/UiClass1.d.ts +1 -1
  813. package/dist/icons/components/UiClass2.d.ts +1 -1
  814. package/dist/icons/components/UiClass3.d.ts +1 -1
  815. package/dist/icons/components/UiClass4.d.ts +1 -1
  816. package/dist/icons/components/UiClass5.d.ts +1 -1
  817. package/dist/icons/components/UiClass6.d.ts +1 -1
  818. package/dist/icons/components/UiClass7.d.ts +1 -1
  819. package/dist/icons/components/UiClearCash.d.ts +1 -1
  820. package/dist/icons/components/UiClipboardText.d.ts +1 -1
  821. package/dist/icons/components/UiClock.d.ts +1 -1
  822. package/dist/icons/components/UiClockCountdown.d.ts +1 -1
  823. package/dist/icons/components/UiClose.d.ts +1 -1
  824. package/dist/icons/components/UiCloud.d.ts +1 -1
  825. package/dist/icons/components/UiCloudDownload.d.ts +1 -1
  826. package/dist/icons/components/UiCloudUpload.d.ts +1 -1
  827. package/dist/icons/components/UiCode2.d.ts +1 -1
  828. package/dist/icons/components/UiCog.d.ts +1 -1
  829. package/dist/icons/components/UiCoins.d.ts +1 -1
  830. package/dist/icons/components/UiCollapseAll.d.ts +1 -1
  831. package/dist/icons/components/UiCollection.d.ts +1 -1
  832. package/dist/icons/components/UiCollectionType.d.ts +1 -1
  833. package/dist/icons/components/UiColumn.d.ts +1 -1
  834. package/dist/icons/components/UiColumn1.d.ts +1 -1
  835. package/dist/icons/components/UiColumn2.d.ts +1 -1
  836. package/dist/icons/components/UiColumn3.d.ts +1 -1
  837. package/dist/icons/components/UiColumn4.d.ts +1 -1
  838. package/dist/icons/components/UiColumn5.d.ts +1 -1
  839. package/dist/icons/components/UiColumns.d.ts +1 -1
  840. package/dist/icons/components/UiCommand.d.ts +1 -1
  841. package/dist/icons/components/UiComment.d.ts +1 -1
  842. package/dist/icons/components/UiCompass.d.ts +1 -1
  843. package/dist/icons/components/UiConfig.d.ts +1 -1
  844. package/dist/icons/components/UiConfigMap.d.ts +1 -1
  845. package/dist/icons/components/UiConnector.d.ts +1 -1
  846. package/dist/icons/components/UiConstant.d.ts +1 -1
  847. package/dist/icons/components/UiConstant1.d.ts +1 -1
  848. package/dist/icons/components/UiConstructor.d.ts +1 -1
  849. package/dist/icons/components/UiConverter.d.ts +1 -1
  850. package/dist/icons/components/UiConverter1.d.ts +1 -1
  851. package/dist/icons/components/UiCopy.d.ts +1 -1
  852. package/dist/icons/components/UiCreateConstraint.d.ts +1 -1
  853. package/dist/icons/components/UiCurrencyDollar.d.ts +1 -1
  854. package/dist/icons/components/UiCursorClick.d.ts +1 -1
  855. package/dist/icons/components/UiCursorText.d.ts +1 -1
  856. package/dist/icons/components/UiCustomResource.d.ts +1 -1
  857. package/dist/icons/components/UiDataSchema.d.ts +1 -1
  858. package/dist/icons/components/UiDataShare.d.ts +1 -1
  859. package/dist/icons/components/UiDatabase.d.ts +1 -1
  860. package/dist/icons/components/UiDatabaseEventStream.d.ts +1 -1
  861. package/dist/icons/components/UiDatabaseLink.d.ts +1 -1
  862. package/dist/icons/components/UiDatabaseZap.d.ts +1 -1
  863. package/dist/icons/components/UiDebug.d.ts +1 -1
  864. package/dist/icons/components/UiDebugContinue.d.ts +1 -1
  865. package/dist/icons/components/UiDebugDisabled.d.ts +1 -1
  866. package/dist/icons/components/UiDebugSelection.d.ts +1 -1
  867. package/dist/icons/components/UiDebugSmall.d.ts +1 -1
  868. package/dist/icons/components/UiDebugStepInto.d.ts +1 -1
  869. package/dist/icons/components/UiDebugStepOut.d.ts +1 -1
  870. package/dist/icons/components/UiDebugStepOver.d.ts +1 -1
  871. package/dist/icons/components/UiDebugStop.d.ts +1 -1
  872. package/dist/icons/components/UiDecorator.d.ts +1 -1
  873. package/dist/icons/components/UiDeploy.d.ts +1 -1
  874. package/dist/icons/components/UiDesktop.d.ts +1 -1
  875. package/dist/icons/components/UiDetach.d.ts +1 -1
  876. package/dist/icons/components/UiDiagramDiff.d.ts +1 -1
  877. package/dist/icons/components/UiDiff.d.ts +1 -1
  878. package/dist/icons/components/UiDotsVertical.d.ts +1 -1
  879. package/dist/icons/components/UiDownload.d.ts +1 -1
  880. package/dist/icons/components/UiDumpThreads.d.ts +1 -1
  881. package/dist/icons/components/UiEdit.d.ts +1 -1
  882. package/dist/icons/components/UiEditMode.d.ts +1 -1
  883. package/dist/icons/components/UiEllipsis.d.ts +1 -1
  884. package/dist/icons/components/UiEllipsisBold.d.ts +1 -1
  885. package/dist/icons/components/UiEndpoint.d.ts +1 -1
  886. package/dist/icons/components/UiEnum.d.ts +1 -1
  887. package/dist/icons/components/UiEnumMember.d.ts +1 -1
  888. package/dist/icons/components/UiEnvelope.d.ts +1 -1
  889. package/dist/icons/components/UiError.d.ts +1 -1
  890. package/dist/icons/components/UiEvaluateExpression.d.ts +1 -1
  891. package/dist/icons/components/UiEvent.d.ts +1 -1
  892. package/dist/icons/components/UiException.d.ts +1 -1
  893. package/dist/icons/components/UiExceptionAnalyzerImportant.d.ts +1 -1
  894. package/dist/icons/components/UiExcludedGenerated.d.ts +1 -1
  895. package/dist/icons/components/UiExpandAll.d.ts +1 -1
  896. package/dist/icons/components/UiExport.d.ts +1 -1
  897. package/dist/icons/components/UiExtension.d.ts +1 -1
  898. package/dist/icons/components/UiExternalLink.d.ts +1 -1
  899. package/dist/icons/components/UiEye.d.ts +1 -1
  900. package/dist/icons/components/UiEyeClosed.d.ts +1 -1
  901. package/dist/icons/components/UiFactory.d.ts +1 -1
  902. package/dist/icons/components/UiFailedInProgress.d.ts +1 -1
  903. package/dist/icons/components/UiFastForwardCircle.d.ts +1 -1
  904. package/dist/icons/components/UiField.d.ts +1 -1
  905. package/dist/icons/components/UiField1.d.ts +1 -1
  906. package/dist/icons/components/UiField2.d.ts +1 -1
  907. package/dist/icons/components/UiField3.d.ts +1 -1
  908. package/dist/icons/components/UiField4.d.ts +1 -1
  909. package/dist/icons/components/UiField5.d.ts +1 -1
  910. package/dist/icons/components/UiField6.d.ts +1 -1
  911. package/dist/icons/components/UiFieldProtected.d.ts +1 -1
  912. package/dist/icons/components/UiFieldReadAccess.d.ts +1 -1
  913. package/dist/icons/components/UiFieldType.d.ts +1 -1
  914. package/dist/icons/components/UiFieldWriteAccess.d.ts +1 -1
  915. package/dist/icons/components/UiFile.d.ts +1 -1
  916. package/dist/icons/components/UiFileCode.d.ts +1 -1
  917. package/dist/icons/components/UiFileCog.d.ts +1 -1
  918. package/dist/icons/components/UiFileFormat.d.ts +1 -1
  919. package/dist/icons/components/UiFileJson.d.ts +1 -1
  920. package/dist/icons/components/UiFilePlus.d.ts +1 -1
  921. package/dist/icons/components/UiFileSearch.d.ts +1 -1
  922. package/dist/icons/components/UiFileSpreadsheet.d.ts +1 -1
  923. package/dist/icons/components/UiFileText.d.ts +1 -1
  924. package/dist/icons/components/UiFileType.d.ts +1 -1
  925. package/dist/icons/components/UiFilter.d.ts +1 -1
  926. package/dist/icons/components/UiFingerprint.d.ts +1 -1
  927. package/dist/icons/components/UiFolder.d.ts +1 -1
  928. package/dist/icons/components/UiFolderGit.d.ts +1 -1
  929. package/dist/icons/components/UiFolderGit2.d.ts +1 -1
  930. package/dist/icons/components/UiForeignServer.d.ts +1 -1
  931. package/dist/icons/components/UiForm.d.ts +1 -1
  932. package/dist/icons/components/UiFreemarker.d.ts +1 -1
  933. package/dist/icons/components/UiFullscreen.d.ts +1 -1
  934. package/dist/icons/components/UiFunction.d.ts +1 -1
  935. package/dist/icons/components/UiFunction1.d.ts +1 -1
  936. package/dist/icons/components/UiFunction2.d.ts +1 -1
  937. package/dist/icons/components/UiFunction3.d.ts +1 -1
  938. package/dist/icons/components/UiFunction4.d.ts +1 -1
  939. package/dist/icons/components/UiFunctionSquare.d.ts +1 -1
  940. package/dist/icons/components/UiFunnelData.d.ts +1 -1
  941. package/dist/icons/components/UiGavel.d.ts +1 -1
  942. package/dist/icons/components/UiGearSix.d.ts +1 -1
  943. package/dist/icons/components/UiGitBranch.d.ts +1 -1
  944. package/dist/icons/components/UiGitCommit.d.ts +1 -1
  945. package/dist/icons/components/UiGitGraph.d.ts +1 -1
  946. package/dist/icons/components/UiGitMerge.d.ts +1 -1
  947. package/dist/icons/components/UiGitPr.d.ts +1 -1
  948. package/dist/icons/components/UiGlobe.d.ts +1 -1
  949. package/dist/icons/components/UiGraph.d.ts +1 -1
  950. package/dist/icons/components/UiGreyKey.d.ts +1 -1
  951. package/dist/icons/components/UiGrid.d.ts +1 -1
  952. package/dist/icons/components/UiGroupByModuleGroup.d.ts +1 -1
  953. package/dist/icons/components/UiGroupByPackage.d.ts +1 -1
  954. package/dist/icons/components/UiGroupByTestProduction.d.ts +1 -1
  955. package/dist/icons/components/UiHandCoins.d.ts +1 -1
  956. package/dist/icons/components/UiHandPalm.d.ts +1 -1
  957. package/dist/icons/components/UiHardDrive.d.ts +1 -1
  958. package/dist/icons/components/UiHibernate.d.ts +1 -1
  959. package/dist/icons/components/UiHibernateEvent.d.ts +1 -1
  960. package/dist/icons/components/UiHistory.d.ts +1 -1
  961. package/dist/icons/components/UiHome.d.ts +1 -1
  962. package/dist/icons/components/UiHourglass.d.ts +1 -1
  963. package/dist/icons/components/UiHubot.d.ts +1 -1
  964. package/dist/icons/components/UiId.d.ts +1 -1
  965. package/dist/icons/components/UiIdentificationCard.d.ts +1 -1
  966. package/dist/icons/components/UiImage.d.ts +1 -1
  967. package/dist/icons/components/UiImport.d.ts +1 -1
  968. package/dist/icons/components/UiInbox.d.ts +1 -1
  969. package/dist/icons/components/UiIndex.d.ts +1 -1
  970. package/dist/icons/components/UiIndex1.d.ts +1 -1
  971. package/dist/icons/components/UiIndex2.d.ts +1 -1
  972. package/dist/icons/components/UiIndex3.d.ts +1 -1
  973. package/dist/icons/components/UiIndex4.d.ts +1 -1
  974. package/dist/icons/components/UiIndex5.d.ts +1 -1
  975. package/dist/icons/components/UiIndex6.d.ts +1 -1
  976. package/dist/icons/components/UiInfo.d.ts +1 -1
  977. package/dist/icons/components/UiInsightAvailability.d.ts +1 -1
  978. package/dist/icons/components/UiInsightCompliance.d.ts +1 -1
  979. package/dist/icons/components/UiInsightCost.d.ts +1 -1
  980. package/dist/icons/components/UiInsightIntegration.d.ts +1 -1
  981. package/dist/icons/components/UiInsightPerformance.d.ts +1 -1
  982. package/dist/icons/components/UiInsightRecommendation.d.ts +1 -1
  983. package/dist/icons/components/UiInsightReliability.d.ts +1 -1
  984. package/dist/icons/components/UiInsightSecurity.d.ts +1 -1
  985. package/dist/icons/components/UiInsightTechnicalDebt.d.ts +1 -1
  986. package/dist/icons/components/UiInspectionsGrammar.d.ts +1 -1
  987. package/dist/icons/components/UiInterface.d.ts +1 -1
  988. package/dist/icons/components/UiInvoice.d.ts +1 -1
  989. package/dist/icons/components/UiJpaAttribute.d.ts +1 -1
  990. package/dist/icons/components/UiJpaId.d.ts +1 -1
  991. package/dist/icons/components/UiJpaRelationship.d.ts +1 -1
  992. package/dist/icons/components/UiJson.d.ts +1 -1
  993. package/dist/icons/components/UiKanban.d.ts +1 -1
  994. package/dist/icons/components/UiKey.d.ts +1 -1
  995. package/dist/icons/components/UiKeyboard.d.ts +1 -1
  996. package/dist/icons/components/UiKeyword.d.ts +1 -1
  997. package/dist/icons/components/UiKillDataSourceProcess.d.ts +1 -1
  998. package/dist/icons/components/UiKubeConfigMap.d.ts +1 -1
  999. package/dist/icons/components/UiKubeDeployment.d.ts +1 -1
  1000. package/dist/icons/components/UiKubeJob.d.ts +1 -1
  1001. package/dist/icons/components/UiKubeNamespace.d.ts +1 -1
  1002. package/dist/icons/components/UiKubePod.d.ts +1 -1
  1003. package/dist/icons/components/UiLambda.d.ts +1 -1
  1004. package/dist/icons/components/UiLangJava.d.ts +1 -1
  1005. package/dist/icons/components/UiLangJavascript.d.ts +1 -1
  1006. package/dist/icons/components/UiLangPython.d.ts +1 -1
  1007. package/dist/icons/components/UiLayers.d.ts +1 -1
  1008. package/dist/icons/components/UiLayoutDashboard.d.ts +1 -1
  1009. package/dist/icons/components/UiLedger.d.ts +1 -1
  1010. package/dist/icons/components/UiLightbulb.d.ts +1 -1
  1011. package/dist/icons/components/UiLink.d.ts +1 -1
  1012. package/dist/icons/components/UiLinkExternal.d.ts +1 -1
  1013. package/dist/icons/components/UiListChecks.d.ts +1 -1
  1014. package/dist/icons/components/UiListDashes.d.ts +1 -1
  1015. package/dist/icons/components/UiListFlat.d.ts +1 -1
  1016. package/dist/icons/components/UiListOrdered.d.ts +1 -1
  1017. package/dist/icons/components/UiListTree.d.ts +1 -1
  1018. package/dist/icons/components/UiLoader.d.ts +1 -1
  1019. package/dist/icons/components/UiLocation.d.ts +1 -1
  1020. package/dist/icons/components/UiLock.d.ts +1 -1
  1021. package/dist/icons/components/UiLockKey.d.ts +1 -1
  1022. package/dist/icons/components/UiLockOpen.d.ts +1 -1
  1023. package/dist/icons/components/UiLogoAnthropic.d.ts +1 -1
  1024. package/dist/icons/components/UiLogoClaude.d.ts +1 -1
  1025. package/dist/icons/components/UiLogoDeepseek.d.ts +1 -1
  1026. package/dist/icons/components/UiLogoGemini.d.ts +1 -1
  1027. package/dist/icons/components/UiLogoGoogle.d.ts +1 -1
  1028. package/dist/icons/components/UiLogoHuggingface.d.ts +1 -1
  1029. package/dist/icons/components/UiLogoMeta.d.ts +1 -1
  1030. package/dist/icons/components/UiLogoMistral.d.ts +1 -1
  1031. package/dist/icons/components/UiLogoOllama.d.ts +1 -1
  1032. package/dist/icons/components/UiLogoOpenai.d.ts +1 -1
  1033. package/dist/icons/components/UiLogoPerplexity.d.ts +1 -1
  1034. package/dist/icons/components/UiMagicWand.d.ts +1 -1
  1035. package/dist/icons/components/UiMarkdown.d.ts +1 -1
  1036. package/dist/icons/components/UiMaterializedLog.d.ts +1 -1
  1037. package/dist/icons/components/UiMemoryProfile.d.ts +1 -1
  1038. package/dist/icons/components/UiMemoryStick.d.ts +1 -1
  1039. package/dist/icons/components/UiMenu.d.ts +1 -1
  1040. package/dist/icons/components/UiMessageQueue.d.ts +1 -1
  1041. package/dist/icons/components/UiMessageQueue1.d.ts +1 -1
  1042. package/dist/icons/components/UiMethod.d.ts +1 -1
  1043. package/dist/icons/components/UiMethod1.d.ts +1 -1
  1044. package/dist/icons/components/UiMethod10.d.ts +1 -1
  1045. package/dist/icons/components/UiMethod11.d.ts +1 -1
  1046. package/dist/icons/components/UiMethod2.d.ts +1 -1
  1047. package/dist/icons/components/UiMethod3.d.ts +1 -1
  1048. package/dist/icons/components/UiMethod4.d.ts +1 -1
  1049. package/dist/icons/components/UiMethod5.d.ts +1 -1
  1050. package/dist/icons/components/UiMethod6.d.ts +1 -1
  1051. package/dist/icons/components/UiMethod7.d.ts +1 -1
  1052. package/dist/icons/components/UiMethod8.d.ts +1 -1
  1053. package/dist/icons/components/UiMethod9.d.ts +1 -1
  1054. package/dist/icons/components/UiModels.d.ts +1 -1
  1055. package/dist/icons/components/UiModule.d.ts +1 -1
  1056. package/dist/icons/components/UiModule1.d.ts +1 -1
  1057. package/dist/icons/components/UiMoon.d.ts +1 -1
  1058. package/dist/icons/components/UiName.d.ts +1 -1
  1059. package/dist/icons/components/UiNamespace.d.ts +1 -1
  1060. package/dist/icons/components/UiNetwork.d.ts +1 -1
  1061. package/dist/icons/components/UiNull.d.ts +1 -1
  1062. package/dist/icons/components/UiNumeric.d.ts +1 -1
  1063. package/dist/icons/components/UiObject.d.ts +1 -1
  1064. package/dist/icons/components/UiOpenBlock.d.ts +1 -1
  1065. package/dist/icons/components/UiOpenScad.d.ts +1 -1
  1066. package/dist/icons/components/UiOperator.d.ts +1 -1
  1067. package/dist/icons/components/UiOperator1.d.ts +1 -1
  1068. package/dist/icons/components/UiOrganization.d.ts +1 -1
  1069. package/dist/icons/components/UiPackage.d.ts +1 -1
  1070. package/dist/icons/components/UiPalette.d.ts +1 -1
  1071. package/dist/icons/components/UiParameter.d.ts +1 -1
  1072. package/dist/icons/components/UiPartition.d.ts +1 -1
  1073. package/dist/icons/components/UiPass.d.ts +1 -1
  1074. package/dist/icons/components/UiPause.d.ts +1 -1
  1075. package/dist/icons/components/UiPauseCircle.d.ts +1 -1
  1076. package/dist/icons/components/UiPencilSimpleLine.d.ts +1 -1
  1077. package/dist/icons/components/UiPending.d.ts +1 -1
  1078. package/dist/icons/components/UiPercent.d.ts +1 -1
  1079. package/dist/icons/components/UiPhone.d.ts +1 -1
  1080. package/dist/icons/components/UiPlay.d.ts +1 -1
  1081. package/dist/icons/components/UiPlayCircle.d.ts +1 -1
  1082. package/dist/icons/components/UiPlaybook.d.ts +1 -1
  1083. package/dist/icons/components/UiPlug.d.ts +1 -1
  1084. package/dist/icons/components/UiPluginModule.d.ts +1 -1
  1085. package/dist/icons/components/UiPluginV2.d.ts +1 -1
  1086. package/dist/icons/components/UiPlugsConnected.d.ts +1 -1
  1087. package/dist/icons/components/UiPointcut.d.ts +1 -1
  1088. package/dist/icons/components/UiProcedure.d.ts +1 -1
  1089. package/dist/icons/components/UiProfile.d.ts +1 -1
  1090. package/dist/icons/components/UiProfile1.d.ts +1 -1
  1091. package/dist/icons/components/UiProfile2.d.ts +1 -1
  1092. package/dist/icons/components/UiProfile3.d.ts +1 -1
  1093. package/dist/icons/components/UiProfile4.d.ts +1 -1
  1094. package/dist/icons/components/UiProfiler.d.ts +1 -1
  1095. package/dist/icons/components/UiProfilerBackTrace.d.ts +1 -1
  1096. package/dist/icons/components/UiProfilerMergeCallees.d.ts +1 -1
  1097. package/dist/icons/components/UiProhibit.d.ts +1 -1
  1098. package/dist/icons/components/UiProjectStructure.d.ts +1 -1
  1099. package/dist/icons/components/UiProjection.d.ts +1 -1
  1100. package/dist/icons/components/UiProperty.d.ts +1 -1
  1101. package/dist/icons/components/UiPulse.d.ts +1 -1
  1102. package/dist/icons/components/UiPuzzle.d.ts +1 -1
  1103. package/dist/icons/components/UiQuestion.d.ts +1 -1
  1104. package/dist/icons/components/UiQueue.d.ts +1 -1
  1105. package/dist/icons/components/UiReadAccess.d.ts +1 -1
  1106. package/dist/icons/components/UiReceipt.d.ts +1 -1
  1107. package/dist/icons/components/UiRecord.d.ts +1 -1
  1108. package/dist/icons/components/UiRecord1.d.ts +1 -1
  1109. package/dist/icons/components/UiRefresh.d.ts +1 -1
  1110. package/dist/icons/components/UiRegex.d.ts +1 -1
  1111. package/dist/icons/components/UiRelationship.d.ts +1 -1
  1112. package/dist/icons/components/UiRelay.d.ts +1 -1
  1113. package/dist/icons/components/UiRemove.d.ts +1 -1
  1114. package/dist/icons/components/UiRepeat.d.ts +1 -1
  1115. package/dist/icons/components/UiResizeVertical.d.ts +1 -1
  1116. package/dist/icons/components/UiRestart.d.ts +1 -1
  1117. package/dist/icons/components/UiRobotAi.d.ts +1 -1
  1118. package/dist/icons/components/UiRocket.d.ts +1 -1
  1119. package/dist/icons/components/UiRole.d.ts +1 -1
  1120. package/dist/icons/components/UiRollback.d.ts +1 -1
  1121. package/dist/icons/components/UiRoute.d.ts +1 -1
  1122. package/dist/icons/components/UiRoutine.d.ts +1 -1
  1123. package/dist/icons/components/UiRows.d.ts +1 -1
  1124. package/dist/icons/components/UiRun.d.ts +1 -1
  1125. package/dist/icons/components/UiRun1.d.ts +1 -1
  1126. package/dist/icons/components/UiRun10.d.ts +1 -1
  1127. package/dist/icons/components/UiRun11.d.ts +1 -1
  1128. package/dist/icons/components/UiRun12.d.ts +1 -1
  1129. package/dist/icons/components/UiRun13.d.ts +1 -1
  1130. package/dist/icons/components/UiRun14.d.ts +1 -1
  1131. package/dist/icons/components/UiRun2.d.ts +1 -1
  1132. package/dist/icons/components/UiRun3.d.ts +1 -1
  1133. package/dist/icons/components/UiRun4.d.ts +1 -1
  1134. package/dist/icons/components/UiRun5.d.ts +1 -1
  1135. package/dist/icons/components/UiRun6.d.ts +1 -1
  1136. package/dist/icons/components/UiRun7.d.ts +1 -1
  1137. package/dist/icons/components/UiRun8.d.ts +1 -1
  1138. package/dist/icons/components/UiRun9.d.ts +1 -1
  1139. package/dist/icons/components/UiSave.d.ts +1 -1
  1140. package/dist/icons/components/UiScale.d.ts +1 -1
  1141. package/dist/icons/components/UiScan.d.ts +1 -1
  1142. package/dist/icons/components/UiScroll.d.ts +1 -1
  1143. package/dist/icons/components/UiSealCheck.d.ts +1 -1
  1144. package/dist/icons/components/UiSearch.d.ts +1 -1
  1145. package/dist/icons/components/UiSecurityRole.d.ts +1 -1
  1146. package/dist/icons/components/UiSelect.d.ts +1 -1
  1147. package/dist/icons/components/UiSequence.d.ts +1 -1
  1148. package/dist/icons/components/UiSequence1.d.ts +1 -1
  1149. package/dist/icons/components/UiSequence2.d.ts +1 -1
  1150. package/dist/icons/components/UiSequence3.d.ts +1 -1
  1151. package/dist/icons/components/UiSequence4.d.ts +1 -1
  1152. package/dist/icons/components/UiServer.d.ts +1 -1
  1153. package/dist/icons/components/UiServerProcess.d.ts +1 -1
  1154. package/dist/icons/components/UiSetKey.d.ts +1 -1
  1155. package/dist/icons/components/UiSeverityBlocker.d.ts +1 -1
  1156. package/dist/icons/components/UiSeverityCritical.d.ts +1 -1
  1157. package/dist/icons/components/UiSeverityHigh.d.ts +1 -1
  1158. package/dist/icons/components/UiSeverityInfo.d.ts +1 -1
  1159. package/dist/icons/components/UiSeverityLow.d.ts +1 -1
  1160. package/dist/icons/components/UiSeverityMedium.d.ts +1 -1
  1161. package/dist/icons/components/UiSeverityWarning.d.ts +1 -1
  1162. package/dist/icons/components/UiShare.d.ts +1 -1
  1163. package/dist/icons/components/UiShield.d.ts +1 -1
  1164. package/dist/icons/components/UiShieldSlash.d.ts +1 -1
  1165. package/dist/icons/components/UiShipWheel.d.ts +1 -1
  1166. package/dist/icons/components/UiShortcutFilter.d.ts +1 -1
  1167. package/dist/icons/components/UiShowCurrentFrame.d.ts +1 -1
  1168. package/dist/icons/components/UiShowMembers.d.ts +1 -1
  1169. package/dist/icons/components/UiShowToImplement.d.ts +1 -1
  1170. package/dist/icons/components/UiSidebar.d.ts +1 -1
  1171. package/dist/icons/components/UiSigma.d.ts +1 -1
  1172. package/dist/icons/components/UiSignIn.d.ts +1 -1
  1173. package/dist/icons/components/UiSignOut.d.ts +1 -1
  1174. package/dist/icons/components/UiSiren.d.ts +1 -1
  1175. package/dist/icons/components/UiSkipForward.d.ts +1 -1
  1176. package/dist/icons/components/UiSkull.d.ts +1 -1
  1177. package/dist/icons/components/UiSliders.d.ts +1 -1
  1178. package/dist/icons/components/UiSortAlphabetically.d.ts +1 -1
  1179. package/dist/icons/components/UiSortByType.d.ts +1 -1
  1180. package/dist/icons/components/UiSortByUsage.d.ts +1 -1
  1181. package/dist/icons/components/UiSortByVisibility.d.ts +1 -1
  1182. package/dist/icons/components/UiSparkles.d.ts +1 -1
  1183. package/dist/icons/components/UiSpeaker.d.ts +1 -1
  1184. package/dist/icons/components/UiSpringBoot.d.ts +1 -1
  1185. package/dist/icons/components/UiSqlArray.d.ts +1 -1
  1186. package/dist/icons/components/UiSqlColumn.d.ts +1 -1
  1187. package/dist/icons/components/UiSqlConstraint.d.ts +1 -1
  1188. package/dist/icons/components/UiSqlDatabase.d.ts +1 -1
  1189. package/dist/icons/components/UiSqlForeignKey.d.ts +1 -1
  1190. package/dist/icons/components/UiSqlFunction.d.ts +1 -1
  1191. package/dist/icons/components/UiSqlIndex.d.ts +1 -1
  1192. package/dist/icons/components/UiSqlPrimaryKey.d.ts +1 -1
  1193. package/dist/icons/components/UiSqlQuery.d.ts +1 -1
  1194. package/dist/icons/components/UiSqlSchema.d.ts +1 -1
  1195. package/dist/icons/components/UiSqlSequence.d.ts +1 -1
  1196. package/dist/icons/components/UiSqlStoredProc.d.ts +1 -1
  1197. package/dist/icons/components/UiSqlTable.d.ts +1 -1
  1198. package/dist/icons/components/UiSqlTrigger.d.ts +1 -1
  1199. package/dist/icons/components/UiSqlView.d.ts +1 -1
  1200. package/dist/icons/components/UiSquare.d.ts +1 -1
  1201. package/dist/icons/components/UiStack.d.ts +1 -1
  1202. package/dist/icons/components/UiStackFrameDot.d.ts +1 -1
  1203. package/dist/icons/components/UiStackTrace.d.ts +1 -1
  1204. package/dist/icons/components/UiStar.d.ts +1 -1
  1205. package/dist/icons/components/UiStartTimer.d.ts +1 -1
  1206. package/dist/icons/components/UiStatic.d.ts +1 -1
  1207. package/dist/icons/components/UiStep.d.ts +1 -1
  1208. package/dist/icons/components/UiStep1.d.ts +1 -1
  1209. package/dist/icons/components/UiStep2.d.ts +1 -1
  1210. package/dist/icons/components/UiStep3.d.ts +1 -1
  1211. package/dist/icons/components/UiStep4.d.ts +1 -1
  1212. package/dist/icons/components/UiStep5.d.ts +1 -1
  1213. package/dist/icons/components/UiStep6.d.ts +1 -1
  1214. package/dist/icons/components/UiStep7.d.ts +1 -1
  1215. package/dist/icons/components/UiStep8.d.ts +1 -1
  1216. package/dist/icons/components/UiStep9.d.ts +1 -1
  1217. package/dist/icons/components/UiSteps.d.ts +1 -1
  1218. package/dist/icons/components/UiStop.d.ts +1 -1
  1219. package/dist/icons/components/UiStrategy.d.ts +1 -1
  1220. package/dist/icons/components/UiStream.d.ts +1 -1
  1221. package/dist/icons/components/UiStreamKey.d.ts +1 -1
  1222. package/dist/icons/components/UiString.d.ts +1 -1
  1223. package/dist/icons/components/UiStruct.d.ts +1 -1
  1224. package/dist/icons/components/UiSubmitDB.d.ts +1 -1
  1225. package/dist/icons/components/UiSubscription.d.ts +1 -1
  1226. package/dist/icons/components/UiSun.d.ts +1 -1
  1227. package/dist/icons/components/UiSwap.d.ts +1 -1
  1228. package/dist/icons/components/UiSymbol.d.ts +1 -1
  1229. package/dist/icons/components/UiSync.d.ts +1 -1
  1230. package/dist/icons/components/UiTable.d.ts +1 -1
  1231. package/dist/icons/components/UiTable1.d.ts +1 -1
  1232. package/dist/icons/components/UiTable10.d.ts +1 -1
  1233. package/dist/icons/components/UiTable11.d.ts +1 -1
  1234. package/dist/icons/components/UiTable12.d.ts +1 -1
  1235. package/dist/icons/components/UiTable2.d.ts +1 -1
  1236. package/dist/icons/components/UiTable3.d.ts +1 -1
  1237. package/dist/icons/components/UiTable4.d.ts +1 -1
  1238. package/dist/icons/components/UiTable5.d.ts +1 -1
  1239. package/dist/icons/components/UiTable6.d.ts +1 -1
  1240. package/dist/icons/components/UiTable7.d.ts +1 -1
  1241. package/dist/icons/components/UiTable8.d.ts +1 -1
  1242. package/dist/icons/components/UiTable9.d.ts +1 -1
  1243. package/dist/icons/components/UiTableProperties.d.ts +1 -1
  1244. package/dist/icons/components/UiTag.d.ts +1 -1
  1245. package/dist/icons/components/UiTax.d.ts +1 -1
  1246. package/dist/icons/components/UiTemplate.d.ts +1 -1
  1247. package/dist/icons/components/UiTerminal.d.ts +1 -1
  1248. package/dist/icons/components/UiTest.d.ts +1 -1
  1249. package/dist/icons/components/UiTest1.d.ts +1 -1
  1250. package/dist/icons/components/UiTest2.d.ts +1 -1
  1251. package/dist/icons/components/UiTest3.d.ts +1 -1
  1252. package/dist/icons/components/UiTest4.d.ts +1 -1
  1253. package/dist/icons/components/UiTest5.d.ts +1 -1
  1254. package/dist/icons/components/UiTest6.d.ts +1 -1
  1255. package/dist/icons/components/UiTest7.d.ts +1 -1
  1256. package/dist/icons/components/UiText.d.ts +1 -1
  1257. package/dist/icons/components/UiThermometer.d.ts +1 -1
  1258. package/dist/icons/components/UiThumbsDown.d.ts +1 -1
  1259. package/dist/icons/components/UiThumbsUp.d.ts +1 -1
  1260. package/dist/icons/components/UiTimer.d.ts +1 -1
  1261. package/dist/icons/components/UiToggleOff.d.ts +1 -1
  1262. package/dist/icons/components/UiToggleOn.d.ts +1 -1
  1263. package/dist/icons/components/UiTrait.d.ts +1 -1
  1264. package/dist/icons/components/UiTransactionStart.d.ts +1 -1
  1265. package/dist/icons/components/UiTrash.d.ts +1 -1
  1266. package/dist/icons/components/UiTrendDown.d.ts +1 -1
  1267. package/dist/icons/components/UiTrendUp.d.ts +1 -1
  1268. package/dist/icons/components/UiTypeAlias.d.ts +1 -1
  1269. package/dist/icons/components/UiTypeParameter.d.ts +1 -1
  1270. package/dist/icons/components/UiTypeScriptIndexSignature.d.ts +1 -1
  1271. package/dist/icons/components/UiUndeploy.d.ts +1 -1
  1272. package/dist/icons/components/UiUnknown.d.ts +1 -1
  1273. package/dist/icons/components/UiUpload.d.ts +1 -1
  1274. package/dist/icons/components/UiUser.d.ts +1 -1
  1275. package/dist/icons/components/UiUserCircle.d.ts +1 -1
  1276. package/dist/icons/components/UiUserCog.d.ts +1 -1
  1277. package/dist/icons/components/UiUserGear.d.ts +1 -1
  1278. package/dist/icons/components/UiUsersFour.d.ts +1 -1
  1279. package/dist/icons/components/UiUsersThree.d.ts +1 -1
  1280. package/dist/icons/components/UiVariable.d.ts +1 -1
  1281. package/dist/icons/components/UiVariable1.d.ts +1 -1
  1282. package/dist/icons/components/UiVariable2.d.ts +1 -1
  1283. package/dist/icons/components/UiVariable3.d.ts +1 -1
  1284. package/dist/icons/components/UiVariable4.d.ts +1 -1
  1285. package/dist/icons/components/UiVariable5.d.ts +1 -1
  1286. package/dist/icons/components/UiVariable6.d.ts +1 -1
  1287. package/dist/icons/components/UiVideo.d.ts +1 -1
  1288. package/dist/icons/components/UiVirtualForeignKey.d.ts +1 -1
  1289. package/dist/icons/components/UiWarningCircle.d.ts +1 -1
  1290. package/dist/icons/components/UiWarningTriangle.d.ts +1 -1
  1291. package/dist/icons/components/UiWatch.d.ts +1 -1
  1292. package/dist/icons/components/UiWebArtifact.d.ts +1 -1
  1293. package/dist/icons/components/UiWebServiceClient.d.ts +1 -1
  1294. package/dist/icons/components/UiWorkflow.d.ts +1 -1
  1295. package/dist/icons/components/UiWrench.d.ts +1 -1
  1296. package/dist/icons/components/UiWriteAccess.d.ts +1 -1
  1297. package/dist/icons/components/UiXpath.d.ts +1 -1
  1298. package/dist/icons/components/UiXpath1.d.ts +1 -1
  1299. package/dist/icons/components/UiZap.d.ts +1 -1
  1300. package/dist/icons/components/UiZoomIn.d.ts +1 -1
  1301. package/dist/icons/components/UiZoomOut.d.ts +1 -1
  1302. package/dist/icons/index.d.ts +1067 -1067
  1303. package/dist/icons/programmingCatalog.cjs +34 -34
  1304. package/dist/icons/programmingCatalog.cjs.map +1 -1
  1305. package/dist/icons/programmingCatalog.d.ts +1 -1
  1306. package/dist/icons/programmingCatalog.js +34 -34
  1307. package/dist/icons/programmingCatalog.js.map +1 -1
  1308. package/dist/icons/registry.d.ts +1 -1
  1309. package/dist/icons.d.ts +1 -1
  1310. package/dist/index.cjs +9 -2
  1311. package/dist/index.cjs.map +1 -1
  1312. package/dist/index.d.ts +7 -7
  1313. package/dist/index.js +8 -1
  1314. package/dist/index.js.map +1 -1
  1315. package/dist/jotai.d.ts +3 -3
  1316. package/dist/layout/AppShell.d.ts +4 -4
  1317. package/dist/layout/AppShell.nav.d.ts +1 -1
  1318. package/dist/layout/AppSidebar.d.ts +2 -2
  1319. package/dist/layout/Panel.d.ts +3 -3
  1320. package/dist/layout/Section.d.ts +2 -2
  1321. package/dist/layout/Tabs.d.ts +2 -2
  1322. package/dist/layout/Workspace.d.ts +2 -2
  1323. package/dist/layout/Workspace.regions.d.ts +1 -1
  1324. package/dist/lib/combobox-values.d.ts +1 -1
  1325. package/dist/lib/comment-stage.d.ts +1 -1
  1326. package/dist/lib/permission-strategies.d.ts +2 -2
  1327. package/dist/lib/runtime-profile-model.d.ts +4 -4
  1328. package/dist/lib/size.d.ts +1 -1
  1329. package/dist/mdx-editor.d.ts +4 -4
  1330. package/dist/monaco/MonacoEditor.cjs +4 -1
  1331. package/dist/monaco/MonacoEditor.cjs.map +1 -1
  1332. package/dist/monaco/MonacoEditor.d.ts +2 -2
  1333. package/dist/monaco/MonacoEditor.d.ts.map +1 -1
  1334. package/dist/monaco/MonacoEditor.js +4 -1
  1335. package/dist/monaco/MonacoEditor.js.map +1 -1
  1336. package/dist/monaco/MonacoProvider.d.ts +1 -1
  1337. package/dist/monaco/MonacoSchemaEditor.d.ts +1 -1
  1338. package/dist/monaco/schema-normalizer.d.ts +1 -1
  1339. package/dist/monaco/types.d.ts +3 -2
  1340. package/dist/monaco/types.d.ts.map +1 -1
  1341. package/dist/monaco/use-monaco-worker.d.ts +1 -1
  1342. package/dist/monaco-schema.d.ts +2 -2
  1343. package/dist/monaco.d.ts +5 -5
  1344. package/dist/overlay/CellActions.d.ts +2 -2
  1345. package/dist/overlay/CommandPalette.cjs +14 -4
  1346. package/dist/overlay/CommandPalette.cjs.map +1 -1
  1347. package/dist/overlay/CommandPalette.d.ts +7 -3
  1348. package/dist/overlay/CommandPalette.d.ts.map +1 -1
  1349. package/dist/overlay/CommandPalette.js +14 -4
  1350. package/dist/overlay/CommandPalette.js.map +1 -1
  1351. package/dist/overlay/CommandPalette.model.d.ts +1 -1
  1352. package/dist/overlay/CommandPaletteList.cjs +5 -0
  1353. package/dist/overlay/CommandPaletteList.cjs.map +1 -1
  1354. package/dist/overlay/CommandPaletteList.d.ts +5 -3
  1355. package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
  1356. package/dist/overlay/CommandPaletteList.js +5 -0
  1357. package/dist/overlay/CommandPaletteList.js.map +1 -1
  1358. package/dist/overlay/ContextMenu.d.ts +1 -1
  1359. package/dist/overlay/DropdownMenu.cjs +1 -0
  1360. package/dist/overlay/DropdownMenu.cjs.map +1 -1
  1361. package/dist/overlay/DropdownMenu.d.ts +2 -2
  1362. package/dist/overlay/DropdownMenu.js +1 -0
  1363. package/dist/overlay/DropdownMenu.js.map +1 -1
  1364. package/dist/overlay/DropdownMenuSubmenu.d.ts +1 -1
  1365. package/dist/overlay/Tour.d.ts +2 -2
  1366. package/dist/overlay/TourCard.d.ts +1 -1
  1367. package/dist/overlay/TourProvider.d.ts +3 -3
  1368. package/dist/overlay/TourSpotlight.d.ts +2 -2
  1369. package/dist/overlay/toast-context.d.ts +1 -1
  1370. package/dist/overlay/tour-anchor.d.ts +1 -1
  1371. package/dist/overlay/tour-context.d.ts +2 -2
  1372. package/dist/overlay/tour-model.d.ts +1 -1
  1373. package/dist/overlay/tour-progress.d.ts +1 -1
  1374. package/dist/overlay/use-tour-anchor.d.ts +1 -1
  1375. package/dist/overlay/use-tour-rect.d.ts +1 -1
  1376. package/dist/overlay/use-tour-step.d.ts +1 -1
  1377. package/dist/overlay/useConfirm.d.ts +1 -1
  1378. package/dist/profiles/cel/celEditor.d.ts +2 -2
  1379. package/dist/profiles/cel/celEditorExtension.d.ts +1 -1
  1380. package/dist/profiles/cel/celEditorResults.d.ts +1 -1
  1381. package/dist/profiles/cel/celPath.d.ts +1 -1
  1382. package/dist/profiles/cel/index.d.ts +5 -5
  1383. package/dist/profiles/connections/catalogTree.d.ts +1 -1
  1384. package/dist/profiles/connections/connectionBrowserModel.d.ts +4 -4
  1385. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +7 -7
  1386. package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts +2 -2
  1387. package/dist/profiles/connections/index.d.ts +5 -5
  1388. package/dist/profiles/connections/inspectionStatus.d.ts +1 -1
  1389. package/dist/profiles/connections/useInspection.d.ts +2 -2
  1390. package/dist/profiles/editor/index.d.ts +11 -11
  1391. package/dist/profiles/editor/profileBuilder.d.ts +1 -1
  1392. package/dist/profiles/editor/profileBuilderExtension.d.ts +1 -1
  1393. package/dist/profiles/editor/profileBuilderModel.d.ts +2 -2
  1394. package/dist/profiles/editor/profileBuilderWorkspace.d.ts +3 -3
  1395. package/dist/profiles/editor/profileEditor.d.ts +2 -2
  1396. package/dist/profiles/editor/profileEditorModel.d.ts +2 -2
  1397. package/dist/profiles/editor/profileEditorPreview.d.ts +1 -1
  1398. package/dist/profiles/editor/profileEditorRail.d.ts +1 -1
  1399. package/dist/profiles/editor/profileEditorRaw.d.ts +1 -1
  1400. package/dist/profiles/editor/profileEditorSections.d.ts +3 -3
  1401. package/dist/profiles/editor/profileParameterEditor.d.ts +1 -1
  1402. package/dist/profiles/editor/profileYaml.d.ts +1 -1
  1403. package/dist/profiles/editor/testSchema.d.ts +1 -1
  1404. package/dist/profiles/elasticsearch/esFieldValues.d.ts +2 -2
  1405. package/dist/profiles/elasticsearch/esParamMappingModel.d.ts +2 -2
  1406. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +2 -2
  1407. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +8 -8
  1408. package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts +1 -1
  1409. package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts +3 -3
  1410. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts +2 -2
  1411. package/dist/profiles/elasticsearch/esQueryCompile.d.ts +1 -1
  1412. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +5 -5
  1413. package/dist/profiles/elasticsearch/esQueryGroupModel.d.ts +1 -1
  1414. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +5 -5
  1415. package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts +2 -2
  1416. package/dist/profiles/elasticsearch/esQueryOperators.d.ts +1 -1
  1417. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +2 -2
  1418. package/dist/profiles/elasticsearch/esQueryPreview.d.ts +1 -1
  1419. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts +2 -2
  1420. package/dist/profiles/elasticsearch/esQuerySortModel.d.ts +1 -1
  1421. package/dist/profiles/elasticsearch/esValueCombobox.d.ts +1 -1
  1422. package/dist/profiles/elasticsearch/index.d.ts +22 -22
  1423. package/dist/profiles/fields/index.d.ts +8 -8
  1424. package/dist/profiles/fields/profileColumnModel.d.ts +1 -1
  1425. package/dist/profiles/fields/profileColumnPicker.d.ts +1 -1
  1426. package/dist/profiles/fields/profileFieldControls.d.ts +2 -2
  1427. package/dist/profiles/fields/profileFieldEditor.d.ts +1 -1
  1428. package/dist/profiles/fields/profileFieldFilterEditor.d.ts +1 -1
  1429. package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
  1430. package/dist/profiles/fields/profileFieldList.d.ts +1 -1
  1431. package/dist/profiles/fields/profileFieldManager.d.ts +1 -1
  1432. package/dist/profiles/fields/profileFieldState.d.ts +1 -1
  1433. package/dist/profiles/fields/profileParamModel.d.ts +1 -1
  1434. package/dist/profiles/processor/index.d.ts +5 -5
  1435. package/dist/profiles/processor/processorPipeline.d.ts +2 -2
  1436. package/dist/profiles/processor/processorPipelineEditor.d.ts +2 -2
  1437. package/dist/profiles/processor/processorPipelineExtension.d.ts +1 -1
  1438. package/dist/profiles/processor/processorPreviewTable.d.ts +1 -1
  1439. package/dist/profiles/processor/processorSampleParams.d.ts +1 -1
  1440. package/dist/profiles/profileApi.d.ts +2 -2
  1441. package/dist/profiles/query/index.d.ts +8 -8
  1442. package/dist/profiles/query/jsonPathSample.d.ts +1 -1
  1443. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +1 -1
  1444. package/dist/profiles/query/profileSampleFilterLookup.d.ts +3 -3
  1445. package/dist/profiles/query/profileSamplePayload.d.ts +3 -3
  1446. package/dist/profiles/query/profileSampleResult.d.ts +3 -3
  1447. package/dist/profiles/query/prometheusResults.d.ts +1 -1
  1448. package/dist/profiles/query/queryRowLimits.d.ts +1 -1
  1449. package/dist/profiles/query/queryRowLimitsModel.d.ts +1 -1
  1450. package/dist/profiles/query/queryTargetPicker.d.ts +1 -1
  1451. package/dist/profiles/wizard/index.d.ts +5 -5
  1452. package/dist/profiles/wizard/profileWizard.d.ts +2 -2
  1453. package/dist/profiles/wizard/profileWizardModel.d.ts +1 -1
  1454. package/dist/profiles/wizard/profileWizardQueryStep.d.ts +1 -1
  1455. package/dist/profiles/wizard/profileWizardSteps.d.ts +1 -1
  1456. package/dist/profiles.d.ts +9 -9
  1457. package/dist/rpc/ChatLayer.d.ts +3 -3
  1458. package/dist/rpc/CommandForm.d.ts +2 -2
  1459. package/dist/rpc/CommandOutput.d.ts +7 -7
  1460. package/dist/rpc/EndpointList.d.ts +1 -1
  1461. package/dist/rpc/EntityExplorerApp.d.ts +5 -5
  1462. package/dist/rpc/ExecutionResult.d.ts +1 -1
  1463. package/dist/rpc/FilterForm.d.ts +3 -3
  1464. package/dist/rpc/FilterFormFields.d.ts +1 -1
  1465. package/dist/rpc/OperationActionBar.d.ts +6 -6
  1466. package/dist/rpc/OperationActionDialog.d.ts +2 -2
  1467. package/dist/rpc/OperationCatalog.cjs +29 -26
  1468. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  1469. package/dist/rpc/OperationCatalog.d.ts +19 -11
  1470. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  1471. package/dist/rpc/OperationCatalog.js +29 -26
  1472. package/dist/rpc/OperationCatalog.js.map +1 -1
  1473. package/dist/rpc/OperationCatalogActions.d.ts +3 -3
  1474. package/dist/rpc/OperationCatalogFollowStatus.d.ts +1 -1
  1475. package/dist/rpc/OperationCommandPage.d.ts +5 -5
  1476. package/dist/rpc/OperationEntityContextPicker.cjs +62 -256
  1477. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  1478. package/dist/rpc/OperationEntityContextPicker.d.ts +4 -4
  1479. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  1480. package/dist/rpc/OperationEntityContextPicker.js +64 -258
  1481. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  1482. package/dist/rpc/OperationEntityContextPicker.model.d.ts +3 -3
  1483. package/dist/rpc/OperationEntityPage.d.ts +6 -6
  1484. package/dist/rpc/OperationEntityPicker.cjs +185 -0
  1485. package/dist/rpc/OperationEntityPicker.cjs.map +1 -0
  1486. package/dist/rpc/OperationEntityPicker.d.ts +51 -0
  1487. package/dist/rpc/OperationEntityPicker.d.ts.map +1 -0
  1488. package/dist/rpc/OperationEntityPicker.js +185 -0
  1489. package/dist/rpc/OperationEntityPicker.js.map +1 -0
  1490. package/dist/rpc/OperationEntityPicker.model.cjs +39 -0
  1491. package/dist/rpc/OperationEntityPicker.model.cjs.map +1 -0
  1492. package/dist/rpc/OperationEntityPicker.model.d.ts +27 -0
  1493. package/dist/rpc/OperationEntityPicker.model.d.ts.map +1 -0
  1494. package/dist/rpc/OperationEntityPicker.model.js +39 -0
  1495. package/dist/rpc/OperationEntityPicker.model.js.map +1 -0
  1496. package/dist/rpc/OperationPicker.d.ts +1 -1
  1497. package/dist/rpc/OperationResultView.d.ts +7 -7
  1498. package/dist/rpc/OperationScheduleDialog.d.ts +2 -2
  1499. package/dist/rpc/OperationSchedules.d.ts +1 -1
  1500. package/dist/rpc/RouterProvider.d.ts +1 -1
  1501. package/dist/rpc/SchemaActionForm.d.ts +3 -3
  1502. package/dist/rpc/SessionHeader.d.ts +5 -5
  1503. package/dist/rpc/SessionHeaderControls.d.ts +2 -2
  1504. package/dist/rpc/SessionsCatalog.d.ts +3 -3
  1505. package/dist/rpc/actionIconMap.d.ts +1 -1
  1506. package/dist/rpc/apiClient.d.ts +3 -3
  1507. package/dist/rpc/classify.d.ts +1 -1
  1508. package/dist/rpc/clickyMetadata.d.ts +1 -1
  1509. package/dist/rpc/command-form-utils.d.ts +1 -1
  1510. package/dist/rpc/commandHref.d.ts +1 -1
  1511. package/dist/rpc/cursorStale.d.ts +2 -2
  1512. package/dist/rpc/executionPages.d.ts +2 -2
  1513. package/dist/rpc/filterShapes.d.ts +1 -1
  1514. package/dist/rpc/formMetadata.d.ts +4 -4
  1515. package/dist/rpc/operation-cli-command.d.ts +2 -2
  1516. package/dist/rpc/operation-schedule-model.d.ts +3 -3
  1517. package/dist/rpc/operation-schedule-types.d.ts +1 -1
  1518. package/dist/rpc/operationCatalogFilterState.d.ts +2 -2
  1519. package/dist/rpc/operationCatalogFollow.d.ts +2 -2
  1520. package/dist/rpc/operationCatalogRowSelection.cjs +85 -0
  1521. package/dist/rpc/operationCatalogRowSelection.cjs.map +1 -0
  1522. package/dist/rpc/operationCatalogRowSelection.d.ts +57 -0
  1523. package/dist/rpc/operationCatalogRowSelection.d.ts.map +1 -0
  1524. package/dist/rpc/operationCatalogRowSelection.js +85 -0
  1525. package/dist/rpc/operationCatalogRowSelection.js.map +1 -0
  1526. package/dist/rpc/operationEntityPicker.fixtures.d.ts +13 -0
  1527. package/dist/rpc/operationEntityPicker.fixtures.d.ts.map +1 -0
  1528. package/dist/rpc/operationErrorDiagnostics.d.ts +1 -1
  1529. package/dist/rpc/operationFilterSearch.d.ts +3 -3
  1530. package/dist/rpc/operationLookupFetcher.d.ts +2 -2
  1531. package/dist/rpc/router.d.ts +1 -1
  1532. package/dist/rpc/rowNavigation.d.ts +2 -2
  1533. package/dist/rpc/rpc-story-fixtures/orders.fixture.d.ts +1 -1
  1534. package/dist/rpc/rpc-story-fixtures/services.fixture.d.ts +1 -1
  1535. package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts +2 -2
  1536. package/dist/rpc/rpc-story-fixtures/widgets.fixture.d.ts +1 -1
  1537. package/dist/rpc/rpc-story.fixtures.d.ts +3 -3
  1538. package/dist/rpc/session-story.fixtures.d.ts +1 -1
  1539. package/dist/rpc/sessionHeaderModel.d.ts +1 -1
  1540. package/dist/rpc/surfaceIconMap.d.ts +1 -1
  1541. package/dist/rpc/surfaceNav.d.ts +2 -2
  1542. package/dist/rpc/types.d.ts +3 -3
  1543. package/dist/rpc/useOperationCatalogFollow.d.ts +2 -2
  1544. package/dist/rpc/useOperationPages.d.ts +4 -4
  1545. package/dist/rpc/useOperations.d.ts +2 -2
  1546. package/dist/rpc/useSession.d.ts +2 -2
  1547. package/dist/rpc.cjs +2 -0
  1548. package/dist/rpc.cjs.map +1 -1
  1549. package/dist/rpc.d.ts +39 -37
  1550. package/dist/rpc.d.ts.map +1 -1
  1551. package/dist/rpc.js +2 -0
  1552. package/dist/rpc.js.map +1 -1
  1553. package/dist/runtime-profile.d.ts +1 -1
  1554. package/dist/styles.css +1 -1
  1555. package/dist/utils.d.ts +13 -13
  1556. package/package.json +7 -3
  1557. package/schemas/json-schema-form.schema.json +566 -0
@@ -23,6 +23,9 @@ function ObjectControl({
23
23
  properties: field.objectProperties ?? {},
24
24
  ...field.objectRequired ? { required: field.objectRequired } : {},
25
25
  ...Array.isArray(field.schema.allOf) ? { allOf: field.schema.allOf } : {},
26
+ // Copied whatever its shape, so a malformed value fails loudly in the
27
+ // listener collector rather than vanishing here.
28
+ ...field.schema["x-on-load"] !== void 0 ? { "x-on-load": field.schema["x-on-load"] } : {},
26
29
  ...Array.isArray(field.schema["x-order"]) ? { "x-order": field.schema["x-order"] } : {},
27
30
  // Every object-level layout keyword must be copied here or it works at the
28
31
  // top level and silently dies one level down — which is exactly where these
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-object.js","sources":["../../src/components/json-schema-form-object.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { isPlainObject } from \"../lib/collections\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"../data/Icon\";\nimport { UiAdd, UiTrash } from \"../icons\";\nimport { Button } from \"./button\";\nimport { Combobox } from \"./Combobox\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n RenderContext,\n} from \"./json-schema-form-types\";\nimport {\n cssLength,\n DEFAULT_COLUMN_MIN_WIDTH,\n fieldInputId,\n inputClass,\n keyPickerOptions,\n normalizeColumns,\n} from \"./json-schema-form-utils\";\nimport { FieldsGrid } from \"./json-schema-form-layout\";\nimport { PropertyValueEditor } from \"./json-schema-form-properties\";\nimport { propertyControlSize } from \"./json-schema-form-properties-size\";\nimport { appendInstancePath } from \"./json-schema-form-errors\";\nimport {\n controlHeightClass,\n fieldInnerGapClass,\n inputSizeClass,\n} from \"./json-schema-form-size\";\n\n// ObjectControl renders a nested structured object as a sub-form: its own\n// properties, required markers, if/then, soft errors — all via the shared\n// recursive renderer (ctx.render), so pre/post extensions apply at this depth too.\nexport function ObjectControl({\n field,\n ctx,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n}) {\n const obj = isPlainObject(field.value)\n ? (field.value as Record<string, unknown>)\n : {};\n const subSchema: JsonSchemaObject = {\n type: \"object\",\n properties: field.objectProperties ?? {},\n ...(field.objectRequired ? { required: field.objectRequired } : {}),\n ...(Array.isArray(field.schema.allOf) ? { allOf: field.schema.allOf } : {}),\n ...(Array.isArray(field.schema[\"x-order\"])\n ? { \"x-order\": field.schema[\"x-order\"] }\n : {}),\n // Every object-level layout keyword must be copied here or it works at the\n // top level and silently dies one level down — which is exactly where these\n // matter (an array item's body is a nested object).\n ...(typeof field.schema[\"x-columns\"] === \"number\" ||\n field.schema[\"x-columns\"] === \"auto\"\n ? { \"x-columns\": field.schema[\"x-columns\"] }\n : {}),\n ...(typeof field.schema[\"x-column-min-width\"] === \"string\"\n ? { \"x-column-min-width\": field.schema[\"x-column-min-width\"] }\n : {}),\n ...(typeof field.schema[\"x-columns-max-width\"] === \"string\"\n ? { \"x-columns-max-width\": field.schema[\"x-columns-max-width\"] }\n : {}),\n ...(typeof field.schema[\"x-classes\"] === \"string\"\n ? { \"x-classes\": field.schema[\"x-classes\"] }\n : {}),\n };\n // No border/box: nested objects render as flat headed sections (see\n // ObjectSection in renderFieldRow) rather than progressively indented\n // sub-forms, so deep schemas stay readable as a single column.\n // A read-only object marks its whole subtree non-editable: recurse with\n // form-level readOnly on so child inputs are disabled (and any child the\n // schema marks readOnly still renders as a value span).\n return (\n <FieldsGrid\n layout={ctx.layout}\n size={ctx.size}\n columns={normalizeColumns(subSchema[\"x-columns\"])}\n columnMinWidth={cssLength(\n subSchema[\"x-column-min-width\"],\n DEFAULT_COLUMN_MIN_WIDTH,\n )}\n {...(typeof subSchema[\"x-columns-max-width\"] === \"string\"\n ? { columnsMaxWidth: subSchema[\"x-columns-max-width\"] }\n : {})}\n {...(typeof subSchema[\"x-classes\"] === \"string\"\n ? { className: subSchema[\"x-classes\"] }\n : {})}\n >\n {ctx.render.renderObjectFields(\n subSchema,\n obj,\n (next) => field.onChange(next),\n {\n ...ctx,\n readOnly: ctx.readOnly || field.readOnly === true,\n depth: ctx.depth + 1,\n },\n )}\n </FieldsGrid>\n );\n}\n\n// StringMapControl edits an object as key/value rows. Known properties (from the\n// schema) render first with derived value controls; unknown keys render as\n// editable key/value pairs. \"Add field\" appears when extra keys are allowed.\n// Values recurse through the shared pipeline, so a value that is itself an object\n// or array renders structurally and pre/post extensions apply to it.\nexport function StringMapControl({\n field,\n ctx,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n}) {\n // A read-only map marks its whole subtree non-editable: no rename/remove/add\n // and value inputs disabled.\n const readOnly = ctx.readOnly || field.readOnly === true;\n const map = isPlainObject(field.value)\n ? (field.value as Record<string, unknown>)\n : {};\n const known = field.knownProperties ?? {};\n const knownKeys = Object.keys(known);\n const extraKeys = Object.keys(map).filter((k) => !(k in known));\n const childCtx: RenderContext = { ...ctx, readOnly, depth: ctx.depth + 1 };\n const properties = ctx.layout.mode === \"properties\";\n // What the map key IS (e.g. \"Address Role\"), from the key-constraint schema.\n const pn = field.schema.propertyNames as JsonSchemaProperty | undefined;\n const keyTitle =\n typeof pn?.title === \"string\" && pn.title ? pn.title : undefined;\n\n // valueSchemaForKey picks an entry's value schema: the first patternProperties\n // entry whose regex matches the key, else the `additionalProperties` schema,\n // else a bare string. Lets the value form vary by key (e.g. House vs Apartment).\n function valueSchemaForKey(key: string): JsonSchemaProperty {\n for (const { pattern, schema } of field.valuePatternSchemas ?? []) {\n let re: RegExp | undefined;\n try {\n re = new RegExp(pattern);\n } catch {\n re = undefined; // a malformed pattern simply never matches\n }\n if (re?.test(key)) return schema;\n }\n return field.valueSchema ?? { type: \"string\" };\n }\n\n // When the entry value opts into a stacked layout (`x-layout: \"stack\"`), the\n // key+value render as one full-width stacked unit instead of a key column\n // beside the value. Resolved per key, since pattern schemas may differ.\n function entryIsStacked(key: string): boolean {\n return valueSchemaForKey(key)[\"x-layout\"] === \"stack\";\n }\n\n function setEntry(key: string, next: unknown) {\n field.onChange({ ...map, [key]: next });\n }\n function renameEntry(oldKey: string, newKey: string) {\n if (newKey === oldKey) return;\n const next: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(map))\n next[k === oldKey ? newKey : k] = v;\n field.onChange(next);\n }\n function removeEntry(key: string) {\n const next = { ...map };\n delete next[key];\n field.onChange(next);\n }\n function addEntry() {\n if (\"\" in map) return;\n field.onChange({ ...map, \"\": \"\" });\n }\n\n function valueControlFor(\n key: string,\n valueSchema: JsonSchemaProperty,\n ): ReactNode {\n const nodes = ctx.render.renderFieldNodes(\n {\n key,\n prop: valueSchema,\n required: false,\n value: map[key] ?? \"\",\n onChange: (next) => setEntry(key, next),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n childCtx,\n );\n return nodes?.value ?? null;\n }\n\n // valueControlForKey resolves the per-key value schema (patternProperties /\n // additionalProperties) before rendering, so the form varies by key.\n function valueControlForKey(key: string): ReactNode {\n return valueControlFor(key, valueSchemaForKey(key));\n }\n\n function keyEditor({\n key,\n value,\n onChange,\n }: {\n key: string;\n value: string;\n onChange: (next: string) => void;\n }) {\n const size = properties ? propertyControlSize[ctx.size] : ctx.size;\n return field.keyOptions ? (\n <Combobox\n options={keyPickerOptions(\n field.keyOptions,\n [...knownKeys, ...extraKeys],\n key,\n )}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue={false}\n onChange={onChange}\n placeholder=\"Select…\"\n />\n ) : (\n <input\n type=\"text\"\n aria-label=\"Field name\"\n className={cn(inputClass(size), \"font-mono\")}\n value={value}\n disabled={readOnly}\n onChange={(event) => onChange(event.target.value)}\n />\n );\n }\n\n return (\n <div\n className={cn(\n properties ? \"col-span-full grid grid-cols-subgrid\" : \"flex flex-col\",\n !properties &&\n !ctx.presentation &&\n \"rounded-md border border-input p-2\",\n !properties && fieldInnerGapClass[childCtx.size],\n )}\n >\n {knownKeys.map((key) =>\n properties ? (\n <div key={`known-${key}`} className=\"contents\">\n {ctx.render.renderFieldRow(\n {\n key,\n prop: known[key]!,\n required:\n Array.isArray(field.schema.required) &&\n field.schema.required.includes(key),\n value: map[key],\n onChange: (next) => setEntry(key, next),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n childCtx,\n )}\n </div>\n ) : (\n <div\n key={`known-${key}`}\n className=\"grid grid-cols-[10rem_1fr] items-center gap-2\"\n >\n <label\n htmlFor={fieldInputId(\n appendInstancePath(ctx.instancePath, key),\n childCtx.idPrefix,\n )}\n className=\"truncate text-xs text-muted-foreground\"\n title={key}\n >\n {key}\n </label>\n <div className=\"min-w-0\">\n {valueControlFor(key, known[key] ?? { type: \"string\" })}\n </div>\n </div>\n ),\n )}\n {extraKeys.map((key) => {\n const keyControl = ctx.presentation ? (\n <span\n className={cn(\n \"flex min-w-0 items-center break-words text-xs\",\n controlHeightClass[childCtx.size],\n field.keyOptions\n ? \"text-foreground\"\n : \"font-mono text-muted-foreground\",\n )}\n >\n {field.keyOptions?.find((option) => option.value === key)?.label ??\n key}\n </span>\n ) : (\n keyEditor({\n key,\n value: key,\n onChange: (next) => renameEntry(key, next),\n })\n );\n const removeButton = !readOnly ? (\n <button\n type=\"button\"\n aria-label={`Remove ${key}`}\n className={cn(\n \"inline-flex aspect-square shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground\",\n controlHeightClass[childCtx.size],\n )}\n onClick={() => removeEntry(key)}\n >\n <Icon icon={UiTrash} className=\"text-sm\" />\n </button>\n ) : null;\n if (properties) {\n const instancePath = appendInstancePath(ctx.instancePath, key);\n const keyLabel =\n field.keyOptions?.find((option) => option.value === key)?.label ??\n (key || \"New field\");\n return (\n <div key={`extra-${key}`} className=\"contents\">\n {ctx.render.renderFieldRow(\n {\n key,\n prop: { ...valueSchemaForKey(key), title: keyLabel },\n required: false,\n value: map[key],\n onChange: (next) => setEntry(key, next),\n instancePath,\n },\n {\n ...childCtx,\n post: [\n ...childCtx.post,\n (entry, nodes, postCtx) =>\n postCtx?.instancePath !== instancePath\n ? nodes\n : {\n ...nodes,\n label: (\n <>\n <span className=\"sr-only\">{nodes.label}</span>\n <PropertyValueEditor\n actionsPlacement=\"row\"\n field={{\n ...entry,\n kind: \"string\",\n label: `${keyLabel} key`,\n value: key,\n onChange: (next) =>\n renameEntry(key, String(next)),\n }}\n fieldId={`${fieldInputId(instancePath, ctx.idPrefix)}-key`}\n ctx={{\n ...childCtx,\n size: propertyControlSize[ctx.size],\n }}\n renderPreview={(previewField) => (\n <span>{String(previewField.value)}</span>\n )}\n renderEditor={(draft) => (\n <div className=\"flex min-w-0 items-center gap-1\">\n {keyEditor({\n key,\n value: String(draft.value),\n onChange: draft.onChange,\n })}\n {removeButton}\n </div>\n )}\n />\n </>\n ),\n },\n ],\n },\n )}\n </div>\n );\n }\n // When the value is stacked (`x-layout: \"stack\"` on the entry schema),\n // the key joins the stack: it sits full-width above its value as one\n // unit, rather than cramped in a fixed key column beside it. The key\n // picker is labelled from `propertyNames.title` so a constrained key\n // (e.g. an AsCode role) says what it is.\n if (entryIsStacked(key)) {\n return (\n <div\n key={`extra-${key}`}\n className={cn(\n \"space-y-1.5\",\n !ctx.presentation && \"rounded-md border border-input p-2\",\n )}\n >\n {keyTitle && (\n <span className=\"block text-xs font-medium text-muted-foreground\">\n {keyTitle}\n </span>\n )}\n <div className=\"flex items-center gap-2\">\n <div className=\"min-w-0 flex-1\">{keyControl}</div>\n {removeButton}\n </div>\n <div className=\"min-w-0\">{valueControlForKey(key)}</div>\n </div>\n );\n }\n return (\n <div\n key={`extra-${key}`}\n className={cn(\n \"grid items-center gap-2\",\n ctx.presentation\n ? \"grid-cols-[minmax(0,10rem)_minmax(0,1fr)]\"\n : \"grid-cols-[10rem_1fr_auto]\",\n )}\n >\n {keyControl}\n <div className=\"min-w-0\">{valueControlForKey(key)}</div>\n {removeButton}\n </div>\n );\n })}\n {!readOnly && field.allowExtraKeys !== false && (\n <Button\n type=\"button\"\n variant={properties ? \"ghost\" : \"outline\"}\n onClick={addEntry}\n className={cn(\n \"gap-1.5\",\n properties && \"col-span-full justify-self-start m-1\",\n inputSizeClass[\n properties ? propertyControlSize[ctx.size] : childCtx.size\n ],\n )}\n >\n <Icon icon={UiAdd} className=\"text-sm\" />\n Add field\n </Button>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-form-object.js","sources":["../../src/components/json-schema-form-object.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { isPlainObject } from \"../lib/collections\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"../data/Icon\";\nimport { UiAdd, UiTrash } from \"../icons\";\nimport { Button } from \"./button\";\nimport { Combobox } from \"./Combobox\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n RenderContext,\n} from \"./json-schema-form-types\";\nimport {\n cssLength,\n DEFAULT_COLUMN_MIN_WIDTH,\n fieldInputId,\n inputClass,\n keyPickerOptions,\n normalizeColumns,\n} from \"./json-schema-form-utils\";\nimport { FieldsGrid } from \"./json-schema-form-layout\";\nimport { PropertyValueEditor } from \"./json-schema-form-properties\";\nimport { propertyControlSize } from \"./json-schema-form-properties-size\";\nimport { appendInstancePath } from \"./json-schema-form-errors\";\nimport {\n controlHeightClass,\n fieldInnerGapClass,\n inputSizeClass,\n} from \"./json-schema-form-size\";\n\n// ObjectControl renders a nested structured object as a sub-form: its own\n// properties, required markers, if/then, soft errors — all via the shared\n// recursive renderer (ctx.render), so pre/post extensions apply at this depth too.\nexport function ObjectControl({\n field,\n ctx,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n}) {\n const obj = isPlainObject(field.value)\n ? (field.value as Record<string, unknown>)\n : {};\n const subSchema: JsonSchemaObject = {\n type: \"object\",\n properties: field.objectProperties ?? {},\n ...(field.objectRequired ? { required: field.objectRequired } : {}),\n ...(Array.isArray(field.schema.allOf) ? { allOf: field.schema.allOf } : {}),\n // Copied whatever its shape, so a malformed value fails loudly in the\n // listener collector rather than vanishing here.\n ...(field.schema[\"x-on-load\"] !== undefined ? { \"x-on-load\": field.schema[\"x-on-load\"] } : {}),\n ...(Array.isArray(field.schema[\"x-order\"])\n ? { \"x-order\": field.schema[\"x-order\"] }\n : {}),\n // Every object-level layout keyword must be copied here or it works at the\n // top level and silently dies one level down — which is exactly where these\n // matter (an array item's body is a nested object).\n ...(typeof field.schema[\"x-columns\"] === \"number\" ||\n field.schema[\"x-columns\"] === \"auto\"\n ? { \"x-columns\": field.schema[\"x-columns\"] }\n : {}),\n ...(typeof field.schema[\"x-column-min-width\"] === \"string\"\n ? { \"x-column-min-width\": field.schema[\"x-column-min-width\"] }\n : {}),\n ...(typeof field.schema[\"x-columns-max-width\"] === \"string\"\n ? { \"x-columns-max-width\": field.schema[\"x-columns-max-width\"] }\n : {}),\n ...(typeof field.schema[\"x-classes\"] === \"string\"\n ? { \"x-classes\": field.schema[\"x-classes\"] }\n : {}),\n };\n // No border/box: nested objects render as flat headed sections (see\n // ObjectSection in renderFieldRow) rather than progressively indented\n // sub-forms, so deep schemas stay readable as a single column.\n // A read-only object marks its whole subtree non-editable: recurse with\n // form-level readOnly on so child inputs are disabled (and any child the\n // schema marks readOnly still renders as a value span).\n return (\n <FieldsGrid\n layout={ctx.layout}\n size={ctx.size}\n columns={normalizeColumns(subSchema[\"x-columns\"])}\n columnMinWidth={cssLength(\n subSchema[\"x-column-min-width\"],\n DEFAULT_COLUMN_MIN_WIDTH,\n )}\n {...(typeof subSchema[\"x-columns-max-width\"] === \"string\"\n ? { columnsMaxWidth: subSchema[\"x-columns-max-width\"] }\n : {})}\n {...(typeof subSchema[\"x-classes\"] === \"string\"\n ? { className: subSchema[\"x-classes\"] }\n : {})}\n >\n {ctx.render.renderObjectFields(\n subSchema,\n obj,\n (next) => field.onChange(next),\n {\n ...ctx,\n readOnly: ctx.readOnly || field.readOnly === true,\n depth: ctx.depth + 1,\n },\n )}\n </FieldsGrid>\n );\n}\n\n// StringMapControl edits an object as key/value rows. Known properties (from the\n// schema) render first with derived value controls; unknown keys render as\n// editable key/value pairs. \"Add field\" appears when extra keys are allowed.\n// Values recurse through the shared pipeline, so a value that is itself an object\n// or array renders structurally and pre/post extensions apply to it.\nexport function StringMapControl({\n field,\n ctx,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n}) {\n // A read-only map marks its whole subtree non-editable: no rename/remove/add\n // and value inputs disabled.\n const readOnly = ctx.readOnly || field.readOnly === true;\n const map = isPlainObject(field.value)\n ? (field.value as Record<string, unknown>)\n : {};\n const known = field.knownProperties ?? {};\n const knownKeys = Object.keys(known);\n const extraKeys = Object.keys(map).filter((k) => !(k in known));\n const childCtx: RenderContext = { ...ctx, readOnly, depth: ctx.depth + 1 };\n const properties = ctx.layout.mode === \"properties\";\n // What the map key IS (e.g. \"Address Role\"), from the key-constraint schema.\n const pn = field.schema.propertyNames as JsonSchemaProperty | undefined;\n const keyTitle =\n typeof pn?.title === \"string\" && pn.title ? pn.title : undefined;\n\n // valueSchemaForKey picks an entry's value schema: the first patternProperties\n // entry whose regex matches the key, else the `additionalProperties` schema,\n // else a bare string. Lets the value form vary by key (e.g. House vs Apartment).\n function valueSchemaForKey(key: string): JsonSchemaProperty {\n for (const { pattern, schema } of field.valuePatternSchemas ?? []) {\n let re: RegExp | undefined;\n try {\n re = new RegExp(pattern);\n } catch {\n re = undefined; // a malformed pattern simply never matches\n }\n if (re?.test(key)) return schema;\n }\n return field.valueSchema ?? { type: \"string\" };\n }\n\n // When the entry value opts into a stacked layout (`x-layout: \"stack\"`), the\n // key+value render as one full-width stacked unit instead of a key column\n // beside the value. Resolved per key, since pattern schemas may differ.\n function entryIsStacked(key: string): boolean {\n return valueSchemaForKey(key)[\"x-layout\"] === \"stack\";\n }\n\n function setEntry(key: string, next: unknown) {\n field.onChange({ ...map, [key]: next });\n }\n function renameEntry(oldKey: string, newKey: string) {\n if (newKey === oldKey) return;\n const next: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(map))\n next[k === oldKey ? newKey : k] = v;\n field.onChange(next);\n }\n function removeEntry(key: string) {\n const next = { ...map };\n delete next[key];\n field.onChange(next);\n }\n function addEntry() {\n if (\"\" in map) return;\n field.onChange({ ...map, \"\": \"\" });\n }\n\n function valueControlFor(\n key: string,\n valueSchema: JsonSchemaProperty,\n ): ReactNode {\n const nodes = ctx.render.renderFieldNodes(\n {\n key,\n prop: valueSchema,\n required: false,\n value: map[key] ?? \"\",\n onChange: (next) => setEntry(key, next),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n childCtx,\n );\n return nodes?.value ?? null;\n }\n\n // valueControlForKey resolves the per-key value schema (patternProperties /\n // additionalProperties) before rendering, so the form varies by key.\n function valueControlForKey(key: string): ReactNode {\n return valueControlFor(key, valueSchemaForKey(key));\n }\n\n function keyEditor({\n key,\n value,\n onChange,\n }: {\n key: string;\n value: string;\n onChange: (next: string) => void;\n }) {\n const size = properties ? propertyControlSize[ctx.size] : ctx.size;\n return field.keyOptions ? (\n <Combobox\n options={keyPickerOptions(\n field.keyOptions,\n [...knownKeys, ...extraKeys],\n key,\n )}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue={false}\n onChange={onChange}\n placeholder=\"Select…\"\n />\n ) : (\n <input\n type=\"text\"\n aria-label=\"Field name\"\n className={cn(inputClass(size), \"font-mono\")}\n value={value}\n disabled={readOnly}\n onChange={(event) => onChange(event.target.value)}\n />\n );\n }\n\n return (\n <div\n className={cn(\n properties ? \"col-span-full grid grid-cols-subgrid\" : \"flex flex-col\",\n !properties &&\n !ctx.presentation &&\n \"rounded-md border border-input p-2\",\n !properties && fieldInnerGapClass[childCtx.size],\n )}\n >\n {knownKeys.map((key) =>\n properties ? (\n <div key={`known-${key}`} className=\"contents\">\n {ctx.render.renderFieldRow(\n {\n key,\n prop: known[key]!,\n required:\n Array.isArray(field.schema.required) &&\n field.schema.required.includes(key),\n value: map[key],\n onChange: (next) => setEntry(key, next),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n childCtx,\n )}\n </div>\n ) : (\n <div\n key={`known-${key}`}\n className=\"grid grid-cols-[10rem_1fr] items-center gap-2\"\n >\n <label\n htmlFor={fieldInputId(\n appendInstancePath(ctx.instancePath, key),\n childCtx.idPrefix,\n )}\n className=\"truncate text-xs text-muted-foreground\"\n title={key}\n >\n {key}\n </label>\n <div className=\"min-w-0\">\n {valueControlFor(key, known[key] ?? { type: \"string\" })}\n </div>\n </div>\n ),\n )}\n {extraKeys.map((key) => {\n const keyControl = ctx.presentation ? (\n <span\n className={cn(\n \"flex min-w-0 items-center break-words text-xs\",\n controlHeightClass[childCtx.size],\n field.keyOptions\n ? \"text-foreground\"\n : \"font-mono text-muted-foreground\",\n )}\n >\n {field.keyOptions?.find((option) => option.value === key)?.label ??\n key}\n </span>\n ) : (\n keyEditor({\n key,\n value: key,\n onChange: (next) => renameEntry(key, next),\n })\n );\n const removeButton = !readOnly ? (\n <button\n type=\"button\"\n aria-label={`Remove ${key}`}\n className={cn(\n \"inline-flex aspect-square shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground\",\n controlHeightClass[childCtx.size],\n )}\n onClick={() => removeEntry(key)}\n >\n <Icon icon={UiTrash} className=\"text-sm\" />\n </button>\n ) : null;\n if (properties) {\n const instancePath = appendInstancePath(ctx.instancePath, key);\n const keyLabel =\n field.keyOptions?.find((option) => option.value === key)?.label ??\n (key || \"New field\");\n return (\n <div key={`extra-${key}`} className=\"contents\">\n {ctx.render.renderFieldRow(\n {\n key,\n prop: { ...valueSchemaForKey(key), title: keyLabel },\n required: false,\n value: map[key],\n onChange: (next) => setEntry(key, next),\n instancePath,\n },\n {\n ...childCtx,\n post: [\n ...childCtx.post,\n (entry, nodes, postCtx) =>\n postCtx?.instancePath !== instancePath\n ? nodes\n : {\n ...nodes,\n label: (\n <>\n <span className=\"sr-only\">{nodes.label}</span>\n <PropertyValueEditor\n actionsPlacement=\"row\"\n field={{\n ...entry,\n kind: \"string\",\n label: `${keyLabel} key`,\n value: key,\n onChange: (next) =>\n renameEntry(key, String(next)),\n }}\n fieldId={`${fieldInputId(instancePath, ctx.idPrefix)}-key`}\n ctx={{\n ...childCtx,\n size: propertyControlSize[ctx.size],\n }}\n renderPreview={(previewField) => (\n <span>{String(previewField.value)}</span>\n )}\n renderEditor={(draft) => (\n <div className=\"flex min-w-0 items-center gap-1\">\n {keyEditor({\n key,\n value: String(draft.value),\n onChange: draft.onChange,\n })}\n {removeButton}\n </div>\n )}\n />\n </>\n ),\n },\n ],\n },\n )}\n </div>\n );\n }\n // When the value is stacked (`x-layout: \"stack\"` on the entry schema),\n // the key joins the stack: it sits full-width above its value as one\n // unit, rather than cramped in a fixed key column beside it. The key\n // picker is labelled from `propertyNames.title` so a constrained key\n // (e.g. an AsCode role) says what it is.\n if (entryIsStacked(key)) {\n return (\n <div\n key={`extra-${key}`}\n className={cn(\n \"space-y-1.5\",\n !ctx.presentation && \"rounded-md border border-input p-2\",\n )}\n >\n {keyTitle && (\n <span className=\"block text-xs font-medium text-muted-foreground\">\n {keyTitle}\n </span>\n )}\n <div className=\"flex items-center gap-2\">\n <div className=\"min-w-0 flex-1\">{keyControl}</div>\n {removeButton}\n </div>\n <div className=\"min-w-0\">{valueControlForKey(key)}</div>\n </div>\n );\n }\n return (\n <div\n key={`extra-${key}`}\n className={cn(\n \"grid items-center gap-2\",\n ctx.presentation\n ? \"grid-cols-[minmax(0,10rem)_minmax(0,1fr)]\"\n : \"grid-cols-[10rem_1fr_auto]\",\n )}\n >\n {keyControl}\n <div className=\"min-w-0\">{valueControlForKey(key)}</div>\n {removeButton}\n </div>\n );\n })}\n {!readOnly && field.allowExtraKeys !== false && (\n <Button\n type=\"button\"\n variant={properties ? \"ghost\" : \"outline\"}\n onClick={addEntry}\n className={cn(\n \"gap-1.5\",\n properties && \"col-span-full justify-self-start m-1\",\n inputSizeClass[\n properties ? propertyControlSize[ctx.size] : childCtx.size\n ],\n )}\n >\n <Icon icon={UiAdd} className=\"text-sm\" />\n Add field\n </Button>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FormSize } from './json-schema-form-size';
1
+ import { FormSize } from './json-schema-form-size.js';
2
2
  export interface FormPreferences {
3
3
  size?: FormSize;
4
4
  layoutMode?: LayoutMode;
@@ -1,5 +1,5 @@
1
- import { JsonSchemaObject } from './json-schema-form-types';
2
- import { JsonSchemaFormError } from './json-schema-form-error-types';
1
+ import { JsonSchemaObject } from './json-schema-form-types.js';
2
+ import { JsonSchemaFormError } from './json-schema-form-error-types.js';
3
3
  export declare const propertiesErrorSchema: JsonSchemaObject;
4
4
  export declare const propertiesErrorValue: {
5
5
  name: string;
@@ -1,4 +1,4 @@
1
- import { FormSize } from './json-schema-form-size';
1
+ import { FormSize } from './json-schema-form-size.js';
2
2
  export declare const propertyControlSize: Record<FormSize, FormSize>;
3
3
  export declare const propertyRowClass: Record<FormSize, string>;
4
4
  //# sourceMappingURL=json-schema-form-properties-size.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- import { FieldControl, RenderContext } from './json-schema-form-types';
3
- import { JsonSchemaFormError } from './json-schema-form-error-types';
2
+ import { FieldControl, RenderContext } from './json-schema-form-types.js';
3
+ import { JsonSchemaFormError } from './json-schema-form-error-types.js';
4
4
  export declare function PropertyValueEditor({ field, fieldId, ctx, renderEditor, renderPreview, actionsPlacement, }: {
5
5
  field: FieldControl;
6
6
  fieldId: string;
@@ -1,4 +1,4 @@
1
- import { JsonSchemaObject, JsonSchemaProperty, LookupFetcher, PreExtension } from './json-schema-form-types';
1
+ import { JsonSchemaObject, JsonSchemaProperty, LookupFetcher, PreExtension } from './json-schema-form-types.js';
2
2
  export declare const scalarProperties: Record<string, JsonSchemaProperty>;
3
3
  export declare const scalarValues: {
4
4
  text: string;
@@ -1,4 +1,4 @@
1
- import { FieldControl, RenderContext } from './json-schema-form-types';
1
+ import { FieldControl, RenderContext } from './json-schema-form-types.js';
2
2
  export declare function PropertyCollectionPreview({ field, ctx, }: {
3
3
  field: FieldControl;
4
4
  ctx: RenderContext;
@@ -1,4 +1,4 @@
1
- import { FieldControl, RenderContext } from './json-schema-form-types';
1
+ import { FieldControl, RenderContext } from './json-schema-form-types.js';
2
2
  export declare function PropertyValuePreview({ field, fieldId, ctx, }: {
3
3
  field: FieldControl;
4
4
  fieldId: string;
@@ -1,4 +1,4 @@
1
- import { FieldControl, RenderContext } from './json-schema-form-types';
1
+ import { FieldControl, RenderContext } from './json-schema-form-types.js';
2
2
  export declare function PropertySelectionPreview({ field, ctx, }: {
3
3
  field: FieldControl;
4
4
  ctx: RenderContext;
@@ -1,3 +1,3 @@
1
- import { JsonSchemaObject } from './json-schema-form-types';
1
+ import { JsonSchemaObject } from './json-schema-form-types.js';
2
2
  export declare function rehydrateRefs(schema: JsonSchemaObject): JsonSchemaObject;
3
3
  //# sourceMappingURL=json-schema-form-refs.d.ts.map
@@ -12,6 +12,8 @@ const jsonSchemaFormErrorDisplay = require("./json-schema-form-error-display.cjs
12
12
  const jsonSchemaFormErrors = require("./json-schema-form-errors.cjs");
13
13
  const jsonSchemaFormExtensions = require("./json-schema-form-extensions.cjs");
14
14
  const jsonSchemaFormResolve = require("./json-schema-form-resolve.cjs");
15
+ const jsonSchemaFormConditionals = require("./json-schema-form-conditionals.cjs");
16
+ const jsonSchemaFormListeners = require("./json-schema-form-listeners.cjs");
15
17
  const jsonSchemaFormUtils = require("./json-schema-form-utils.cjs");
16
18
  const jsonSchemaFormSize = require("./json-schema-form-size.cjs");
17
19
  const jsonSchemaFormProperties = require("./json-schema-form-properties.cjs");
@@ -71,6 +73,7 @@ function ownsReadOnlyRendering(kind) {
71
73
  return kind === "array" || kind === "object" || kind === "string-map" || kind === "textarea" || kind === "markdown" || kind === "display" || kind === "link";
72
74
  }
73
75
  function buildField(args, ctx) {
76
+ if (args.prop["x-hidden"]) return null;
74
77
  const base = jsonSchemaFormResolve.resolveControl(args);
75
78
  let field = base;
76
79
  for (const ext of ctx.pre) {
@@ -85,7 +88,9 @@ function buildField(args, ctx) {
85
88
  }
86
89
  if (!field) return null;
87
90
  if (ctx.hideReadOnlyFields && field.readOnly) return null;
91
+ if (field.writeOnly && (ctx.viewOnly || field.readOnly)) return null;
88
92
  if (ctx.hideEmpty && jsonSchemaFormUtils.isEmptyValue(field.value)) return null;
93
+ const view = field.readOnly === true;
89
94
  if (ctx.presentation) field = { ...field, readOnly: true };
90
95
  const instancePath = args.instancePath ?? jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, args.key);
91
96
  const fieldId = jsonSchemaFormUtils.fieldInputId(instancePath, ctx.idPrefix);
@@ -94,11 +99,13 @@ function buildField(args, ctx) {
94
99
  const messages = errors.length > 0 ? errors : soft ? [{ instancePath, message: soft }] : [];
95
100
  if (messages.length > 0) field = { ...field, invalid: true };
96
101
  const help = field.helpDisplay ?? ctx.layout.help ?? "inline";
97
- let label = /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormLayout.FieldLabel, { field, fieldId, size: ctx.layout.mode === "properties" ? jsonSchemaFormPropertiesSize.propertyControlSize[ctx.size] : ctx.size, helpDisplay: help });
102
+ let label = jsonSchemaFormUtils.rendersAsSection(field, ctx.layout.mode) ? field.label === "" ? null : /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormLayout.SectionHeading, { field, size: ctx.size, helpDisplay: help }) : /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormLayout.FieldLabel, { field, fieldId, size: ctx.layout.mode === "properties" ? jsonSchemaFormPropertiesSize.propertyControlSize[ctx.size] : ctx.size, helpDisplay: help });
98
103
  const overrideMode = field.layout === "inline" ? "inline" : field.layout === "stack" ? "stacked" : void 0;
99
104
  const nestedProperty = ctx.layout.mode === "properties" && (field.kind === "object" || field.kind === "string-map");
100
105
  const valueCtx = {
101
106
  ...ctx,
107
+ ...field.disabled ? { readOnly: true } : {},
108
+ ...view ? { viewOnly: true } : {},
102
109
  ...ctx.layout.mode === "properties" && !nestedProperty ? { size: jsonSchemaFormPropertiesSize.propertyControlSize[ctx.size] } : {},
103
110
  instancePath,
104
111
  ...overrideMode && !nestedProperty ? { layout: { ...ctx.layout, mode: overrideMode } } : {},
@@ -158,17 +165,14 @@ function renderFieldRow(args, ctx, opts) {
158
165
  if (ctx.layout.mode === "properties" && field.kind !== "display") {
159
166
  return /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormProperties.PropertiesFieldRow, { ...built, label: (opts == null ? void 0 : opts.labelOverride) ?? built.label, ctx });
160
167
  }
161
- if (field.kind === "object" || field.layout === "table" || field.arrayDisplay === "accordion" || field.arrayDisplay === "cards") {
168
+ if (jsonSchemaFormUtils.rendersAsSection(field, ctx.layout.mode)) {
162
169
  return /* @__PURE__ */ jsxRuntime.jsxs(
163
170
  jsonSchemaFormLayout.ObjectSection,
164
171
  {
165
- label: (opts == null ? void 0 : opts.labelOverride) ?? field.label,
166
- required: field.required,
172
+ heading: (opts == null ? void 0 : opts.labelOverride) === void 0 ? built.label : opts.labelOverride === "" ? null : /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormLayout.SectionHeading, { field, label: opts.labelOverride, size: ctx.size, helpDisplay: built.help }),
167
173
  size: ctx.size,
168
174
  helpDisplay: built.help,
169
- ...field.badge ? { badge: field.badge } : {},
170
175
  ...field.helper ? { helper: field.helper } : {},
171
- ...field.labelIcon != null ? { labelIcon: field.labelIcon } : {},
172
176
  children: [
173
177
  /* @__PURE__ */ jsxRuntime.jsx(
174
178
  jsonSchemaFormErrorDisplay.FieldErrorText,
@@ -208,7 +212,11 @@ function renderFieldRow(args, ctx, opts) {
208
212
  );
209
213
  }
210
214
  function renderObjectFields(schema, value, onChange, ctx, opts) {
211
- const { properties, required } = jsonSchemaFormResolve.effectiveProperties(schema, value);
215
+ const listenerOptions = {
216
+ root: ctx.rootValue ?? value,
217
+ ...ctx.expressionEvaluator ? { evaluate: ctx.expressionEvaluator } : {}
218
+ };
219
+ const { properties, required } = jsonSchemaFormListeners.applyListenerState(schema, value, listenerOptions);
212
220
  const hidden = new Set((opts == null ? void 0 : opts.hiddenKeys) ?? []);
213
221
  const ordered = jsonSchemaFormUtils.orderByClickyOrder(jsonSchemaFormUtils.orderByXOrder(Object.entries(properties), schema["x-order"]));
214
222
  const sorted = ctx.sortMode === "required-first" ? jsonSchemaFormUtils.orderRequiredFirst(ordered, required) : ctx.sortMode === "priority" ? jsonSchemaFormUtils.orderByPriority(ordered, required, value) : ordered;
@@ -225,7 +233,7 @@ function renderObjectFields(schema, value, onChange, ctx, opts) {
225
233
  prop,
226
234
  required: required.includes(key),
227
235
  value: value[key],
228
- onChange: (next) => onChange({ ...value, [key]: next }),
236
+ onChange: (next) => onChange(jsonSchemaFormListeners.applyChangeEffects(schema, { ...listenerOptions, value, key, next })),
229
237
  instancePath: jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, key)
230
238
  },
231
239
  ctx
@@ -277,7 +285,7 @@ function renderObjectFields(schema, value, onChange, ctx, opts) {
277
285
  return rows;
278
286
  }
279
287
  function rendersFullWidth(prop) {
280
- const fixedProperties = jsonSchemaFormResolve.effectiveProperties(prop, {}).properties;
288
+ const fixedProperties = jsonSchemaFormConditionals.effectiveProperties(prop, {}).properties;
281
289
  if (jsonSchemaFormResolve.schemaRendersAsObject(prop) && (prop.properties !== void 0 || Object.keys(fixedProperties).length > 0)) {
282
290
  return true;
283
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-render.cjs","sources":["../../src/components/json-schema-form-render.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { LabelIcon } from \"../data/Icon\";\nimport {\n BooleanControl,\n DateControl,\n DisplayControl,\n EnumControl,\n LinkControl,\n LookupControl,\n MarkdownControl,\n NumberControl,\n ReadOnlyValue,\n StringControl,\n TextareaControl,\n} from \"./json-schema-form-fields\";\nimport {\n FieldLabel,\n FieldWrapper,\n HelpHint,\n ObjectSection,\n} from \"./json-schema-form-layout\";\nimport { ArrayControl } from \"./json-schema-form-array\";\nimport { ObjectControl, StringMapControl } from \"./json-schema-form-object\";\nimport { FieldErrorMessages, FieldErrorText } from \"./json-schema-form-error-display\";\nimport { appendInstancePath, errorsAtInstancePath } from \"./json-schema-form-errors\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport { applyPostExtensions } from \"./json-schema-form-extensions\";\nimport { effectiveProperties, resolveControl, schemaRendersAsObject } from \"./json-schema-form-resolve\";\nimport type {\n FieldArgs,\n FieldControl,\n HelpDisplay,\n JsonSchemaObject,\n JsonSchemaProperty,\n RenderApi,\n RenderContext,\n} from \"./json-schema-form-types\";\nimport {\n fieldErrorId,\n fieldInputId,\n hasObjectItemProperties,\n isEmptyValue,\n normalizeColSpan,\n normalizeColumns,\n orderByClickyOrder,\n orderByPriority,\n orderByXOrder,\n orderRequiredFirst,\n seedFromSchema,\n softError,\n} from \"./json-schema-form-utils\";\nimport { labelSizeClass } from \"./json-schema-form-size\";\nimport { PropertiesFieldRow, PropertyValueEditor } from \"./json-schema-form-properties\";\nimport { PropertyValuePreview } from \"./json-schema-form-property-preview\";\nimport { propertyControlSize } from \"./json-schema-form-properties-size\";\nimport { matchesFieldFilter } from \"./json-schema-form-filter\";\nimport { Combobox } from \"./Combobox\";\n\n// This module is the top of the json-schema-form graph: it imports the control\n// components and dispatches into them, while container controls recurse back in\n// only through ctx.render (see RenderApi). Nothing here is a React component,\n// so the component modules stay Fast-Refresh-eligible and cycle-free.\n\n// renderValueControl produces just the value node for a field, dispatching on\n// its resolved kind. The RenderContext carries readOnly + the pre/post stacks so\n// container controls (array/object/map) can recurse with full context.\nexport function renderValueControl(field: FieldControl, ctx: RenderContext): ReactNode {\n // ctx.instancePath is the field's own path here: buildField descends into the\n // child context before rendering the value.\n const fieldId = fieldInputId(ctx.instancePath, ctx.idPrefix);\n if (ctx.presentation && field.kind !== \"display\" && field.kind !== \"link\") {\n return <PropertyValuePreview field={field} fieldId={fieldId} ctx={ctx} />;\n }\n // A field the schema marks `readOnly` is never editable: it shows its current\n // value as plain text, not a disabled input. (The form-level ctx.readOnly,\n // below, instead disables the real controls so the structure stays visible.)\n // Containers (array/object/map) still render structurally so nested read-only\n // values surface, and textarea/display/link own their non-editable rendering\n // (multi-line text / static element / hyperlink), so all of these are excluded\n // from the plain ReadOnlyValue fallback.\n if (field.readOnly && !ownsReadOnlyRendering(field.kind)) {\n return <ReadOnlyValue field={field} fieldId={fieldId} size={ctx.size} />;\n }\n const readOnly = ctx.readOnly || field.readOnly === true;\n const size = ctx.size;\n switch (field.kind) {\n case \"enum\":\n return <EnumControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"lookup\":\n return (\n <LookupControl\n field={field}\n fieldId={fieldId}\n readOnly={readOnly}\n size={size}\n {...(ctx.rootValue ? { rootValue: ctx.rootValue } : {})}\n />\n );\n case \"boolean\":\n return <BooleanControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"number\":\n return <NumberControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"date\":\n return <DateControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"textarea\":\n return <TextareaControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"markdown\":\n return <MarkdownControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"display\":\n return <DisplayControl field={field} size={size} />;\n case \"link\":\n return <LinkControl field={field} fieldId={fieldId} size={size} />;\n case \"array\":\n return <ArrayControl field={field} fieldId={fieldId} ctx={ctx} />;\n case \"object\":\n return <ObjectControl field={field} ctx={ctx} />;\n case \"string-map\":\n return <StringMapControl field={field} ctx={ctx} />;\n default:\n return <StringControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n}\n\n// ownsReadOnlyRendering reports whether a control renders its own non-editable\n// form, so the renderer must not pre-empt it with the plain ReadOnlyValue text:\n// containers recurse structurally, and textarea/display/link have bespoke\n// read-only output.\nfunction ownsReadOnlyRendering(kind: FieldControl[\"kind\"]): boolean {\n return (\n kind === \"array\" ||\n kind === \"object\" ||\n kind === \"string-map\" ||\n kind === \"textarea\" ||\n kind === \"markdown\" ||\n kind === \"display\" ||\n kind === \"link\"\n );\n}\n\n// buildField resolves a control, applies the pre-extensions (any returning\n// null drops the field), renders the value node, then applies the\n// post-extensions to the {label, value} node pair.\nfunction buildField(\n args: FieldArgs,\n ctx: RenderContext,\n): {\n field: FieldControl;\n fieldId: string;\n label: ReactNode;\n value: ReactNode;\n messages: JsonSchemaFormError[];\n help: HelpDisplay;\n} | null {\n const base = resolveControl(args);\n let field: FieldControl | null = base;\n for (const ext of ctx.pre) {\n if (!field) break;\n field = ext(field, {\n key: args.key,\n prop: args.prop,\n value: args.value,\n ...(ctx.rootValue ? { rootValue: ctx.rootValue } : {}),\n ...(ctx.onRootChange ? { onRootChange: ctx.onRootChange } : {}),\n });\n }\n if (!field) return null;\n // Drop read-only fields entirely when the form opts out of displaying them.\n // Checked after pre-extensions so an extension that sets/clears readOnly wins.\n if (ctx.hideReadOnlyFields && field.readOnly) return null;\n // Same placement, same reason: an extension that supplies a value decides\n // whether the field has one.\n if (ctx.hideEmpty && isEmptyValue(field.value)) return null;\n if (ctx.presentation) field = { ...field, readOnly: true };\n\n const instancePath = args.instancePath ?? appendInstancePath(ctx.instancePath, args.key);\n const fieldId = fieldInputId(instancePath, ctx.idPrefix);\n // Resolve this field's errors before rendering its control, so the control can\n // carry aria-invalid / aria-describedby rather than leaving the error text\n // visually adjacent but programmatically unassociated. Host-supplied errors\n // and the locally-derived soft hint (e.g. \"Required\" on an empty required\n // field) are one validation state: either one marks the field invalid and is\n // rendered into the aria-describedby target, so a locally-invalid field is\n // never invalid only to sighted users. softError reads value/required/kind —\n // never `invalid` — so deriving it from `field` here is not circular.\n const errors = errorsAtInstancePath(ctx.errors, instancePath);\n const soft = errors.length === 0 ? softError(field) : undefined;\n const messages: JsonSchemaFormError[] =\n errors.length > 0 ? errors : soft ? [{ instancePath, message: soft }] : [];\n if (messages.length > 0) field = { ...field, invalid: true };\n // A field's own x-help-display wins over the form-level setting; both default\n // to the permanent paragraph every form renders today.\n const help = field.helpDisplay ?? ctx.layout.help ?? \"inline\";\n let label: ReactNode = (\n <FieldLabel field={field} fieldId={fieldId} size={ctx.layout.mode === \"properties\" ? propertyControlSize[ctx.size] : ctx.size} helpDisplay={help} />\n );\n // A field's `x-layout: inline|stack` overrides the form-level layout for its\n // own value subtree (the field's own row keeps the parent layout). \"table\" is\n // handled structurally inside the array/string-map controls, not here.\n const overrideMode =\n field.layout === \"inline\" ? \"inline\" : field.layout === \"stack\" ? \"stacked\" : undefined;\n const nestedProperty = ctx.layout.mode === \"properties\" && (field.kind === \"object\" || field.kind === \"string-map\");\n const valueCtx: RenderContext = {\n ...ctx,\n ...(ctx.layout.mode === \"properties\" && !nestedProperty ? { size: propertyControlSize[ctx.size] } : {}),\n instancePath,\n ...(overrideMode && !nestedProperty ? { layout: { ...ctx.layout, mode: overrideMode } } : {}),\n ...(ctx.layout.mode === \"properties\" && field.kind === \"array\"\n ? { layout: { ...ctx.layout, mode: overrideMode ?? \"stacked\" } } : {}),\n };\n let value: ReactNode = renderValueControl(field, valueCtx);\n const postCtx = {\n ...(ctx.rootValue ? { rootValue: ctx.rootValue } : {}),\n ...(ctx.onRootChange ? { onRootChange: ctx.onRootChange } : {}),\n instancePath,\n };\n ({ label, value } = applyPostExtensions(\n field,\n { label, value },\n ctx.post,\n postCtx,\n ));\n if (ctx.layout.mode === \"properties\" && !nestedProperty && field.kind !== \"display\" && field.kind !== \"link\") {\n value = <PropertyValueEditor field={field} fieldId={fieldId} ctx={valueCtx}\n renderPreview={(previewField) => applyPostExtensions(\n { ...previewField, readOnly: true },\n { label, value: <PropertyValuePreview field={previewField} fieldId={`${fieldId}-preview`} ctx={{ ...valueCtx, idPrefix: `${ctx.idPrefix ?? \"\"}-preview` }} /> },\n ctx.post,\n postCtx,\n ).value}\n renderEditor={(draftField, draftCtx) => applyPostExtensions(\n draftField,\n { label, value: renderValueControl(draftField, draftCtx) },\n draftCtx.post,\n { ...postCtx, ...(draftCtx.rootValue ? { rootValue: draftCtx.rootValue } : {}), ...(draftCtx.onRootChange ? { onRootChange: draftCtx.onRootChange } : {}) },\n ).value} />;\n }\n return { field, fieldId, label, value, messages, help };\n}\n\n// renderFieldNodes runs the full pipeline and returns the raw {label, value}\n// nodes (no FieldWrapper). Used where the caller arranges layout itself — map\n// rows (value only) and scalar array items.\nexport function renderFieldNodes(\n args: FieldArgs,\n ctx: RenderContext,\n): { label: ReactNode; value: ReactNode } | null {\n const built = buildField(args, ctx);\n if (!built) return null;\n return {\n label: built.label,\n value:\n built.messages.length > 0 ? (\n <div className=\"flex min-w-0 flex-col gap-0.5\">\n {built.value}\n <FieldErrorText id={fieldErrorId(built.fieldId)} errors={built.messages} />\n </div>\n ) : (\n built.value\n ),\n };\n}\n\n// renderFieldRow runs the pipeline and wraps it in a FieldWrapper with the soft\n// validation hint. `labelOverride` lets a container relabel a field that has no\n// natural key (e.g. array items → \"Item 1\").\nexport function renderFieldRow(\n args: FieldArgs,\n ctx: RenderContext,\n opts?: { labelOverride?: string },\n): ReactNode | null {\n const built = buildField(args, ctx);\n if (!built) return null;\n const { field } = built;\n if (ctx.layout.mode === \"properties\" && field.kind !== \"display\") {\n return <PropertiesFieldRow {...built} label={opts?.labelOverride ?? built.label} ctx={ctx} />;\n }\n // Object fields — and table-laid-out arrays/string-maps — render as a flat\n // section: a header followed by their body at full width, rather than an\n // inline label + narrow value column. This keeps deep schemas (e.g. policy →\n // shape, asfile → params) readable as a single column of labelled sections,\n // and gives a `x-layout: \"table\"` array the full width its columns need\n // instead of cramming it into the inline value column.\n // An accordion joins this list: crammed into the 600px inline value column it\n // is unusable, and it needs the ObjectSection header to carry the array's own\n // title, required marker and help. Cards are the same shape of thing — a\n // full-width stack of item panels — so they join it too.\n if (\n field.kind === \"object\" ||\n field.layout === \"table\" ||\n field.arrayDisplay === \"accordion\" ||\n field.arrayDisplay === \"cards\"\n ) {\n return (\n <ObjectSection\n label={opts?.labelOverride ?? field.label}\n required={field.required}\n size={ctx.size}\n helpDisplay={built.help}\n {...(field.badge ? { badge: field.badge } : {})}\n {...(field.helper ? { helper: field.helper } : {})}\n {...(field.labelIcon != null ? { labelIcon: field.labelIcon } : {})}\n >\n <FieldErrorText\n id={fieldErrorId(built.fieldId)}\n errors={built.messages}\n className=\"min-w-0 break-words\"\n />\n {built.value}\n </ObjectSection>\n );\n }\n // A display field (heading/divider/info/spacer) is the label — it carries no\n // value column, so it spans the full grid width with no inline label cell.\n if (field.kind === \"display\") {\n return <div className=\"col-span-full\">{built.value}</div>;\n }\n const label = opts?.labelOverride ? (\n <span className={cn(\"flex items-center gap-2 font-medium\", labelSizeClass[ctx.size])}>\n <LabelIcon icon={field.labelIcon} className=\"text-[15px] text-muted-foreground\" />\n <span>{opts.labelOverride}</span>\n {field.required && <span className=\"text-destructive\">*</span>}\n {field.badge && (\n <span className=\"rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {field.badge}\n </span>\n )}\n {/* Without this the `?` silently disappears for relabelled rows (array\n items), taking the description with it — FieldWrapper has already\n dropped the paragraph by then. */}\n {built.help === \"hover\" && field.helper && (\n <HelpHint label={opts.labelOverride} helper={field.helper} />\n )}\n </span>\n ) : (\n built.label\n );\n // One rendering path for both sources, so the soft hint lands in the same\n // fieldErrorId element the control's aria-describedby already points at.\n const err =\n built.messages.length > 0 ? (\n <FieldErrorMessages id={fieldErrorId(built.fieldId)} errors={built.messages} />\n ) : undefined;\n return (\n <FieldWrapper\n layout={ctx.layout}\n size={ctx.size}\n label={label}\n value={built.value}\n {...(field.colSpan === \"full\" ? { maxWidth: \"none\" } : {})}\n {...(field.helper && built.help !== \"hover\" ? { helper: field.helper } : {})}\n {...(err ? { error: err } : {})}\n />\n );\n}\n\n// renderObjectFields maps an object subschema's effective properties to field\n// rows. It is the recursive heart, shared by the top-level form and the nested\n// ObjectControl. Edits spread immutably onto the object.\nexport function renderObjectFields(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n onChange: (next: Record<string, unknown>) => void,\n ctx: RenderContext,\n opts?: { hiddenKeys?: string[] },\n): ReactNode[] {\n const { properties, required } = effectiveProperties(schema, value);\n const hidden = new Set(opts?.hiddenKeys ?? []);\n // Per-property `x-clicky-order` wins (composes across merged branches); the\n // object-level `x-order` array is the fallback; document order otherwise.\n const ordered = orderByClickyOrder(orderByXOrder(Object.entries(properties), schema[\"x-order\"]));\n const sorted =\n ctx.sortMode === \"required-first\"\n ? orderRequiredFirst(ordered, required)\n : ctx.sortMode === \"priority\"\n ? orderByPriority(ordered, required, value)\n : ordered;\n // The field filter narrows only the outermost object level (depth 0); nested\n // object subtrees render in full so a matched parent keeps all its children.\n const entries =\n ctx.depth === 0 && ctx.fieldFilter\n ? sorted.filter(([key, prop]) => matchesFieldFilter({ key, prop, filter: ctx.fieldFilter!, value: value[key] }))\n : sorted;\n // Object-level `x-columns` lays the fields out in a multi-column stacked grid;\n // each field spans `x-col-span` columns (object sections/table arrays span the\n // full row). Only takes effect in stacked mode — inline owns its 2-track grid.\n const columns = ctx.layout.mode !== \"stacked\" ? 1 : normalizeColumns(schema[\"x-columns\"]);\n const arrayEntries = entries.filter(([, prop]) => prop.type === \"array\");\n const compactArrays = ctx.layout.mode !== \"properties\" && arrayEntries.length > 3;\n const rows = entries.flatMap(([key, prop]) => {\n if (hidden.has(key)) return [];\n if (compactArrays && prop.type === \"array\" && (!Array.isArray(value[key]) || value[key].length === 0)) return [];\n const row = renderFieldRow(\n {\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: (next) => onChange({ ...value, [key]: next }),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n ctx,\n );\n if (!row) return [];\n if (columns === \"auto\" || columns > 1) {\n const span = rendersFullWidth(prop)\n ? \"full\"\n : normalizeColSpan(prop[\"x-col-span\"], columns);\n return [\n <div\n key={key}\n // Under \"auto\" the track count only exists at layout time, so a\n // full-width field must say `1 / -1` rather than span a number.\n style={{\n gridColumn: span === \"full\" ? \"1 / -1\" : `span ${span} / span ${span}`,\n }}\n >\n {row}\n </div>,\n ];\n }\n // `contents` keeps the keyed wrapper out of the box tree so the row's own\n // node (a subgrid FieldWrapper or a full-width ObjectSection) is a direct\n // child of the FieldsGrid and snaps to its label/value tracks.\n return [<div key={key} className=\"contents\">{row}</div>];\n });\n if (compactArrays && !ctx.readOnly && !ctx.presentation) {\n const available = arrayEntries.filter(([key, prop]) =>\n !hidden.has(key) && (!Array.isArray(value[key]) || prop.maxItems === undefined || value[key].length < prop.maxItems),\n );\n if (available.length > 0) {\n rows.push(\n <div key=\"keyed-array-add\" className=\"col-span-full w-full max-w-72\">\n <Combobox\n ariaLabel=\"Add item\"\n placeholder=\"Add item…\"\n options={available.map(([key, prop]) => ({ value: key, label: prop.title || key }))}\n value=\"\"\n allowCustomValue={false}\n onChange={(key) => {\n const prop = properties[key];\n if (!prop || prop.type !== \"array\") throw new Error(`cannot add item to ${key}`);\n const items = value[key];\n if (items !== undefined && !Array.isArray(items)) throw new Error(`${key} is not an array`);\n onChange({ ...value, [key]: [...(items ?? []), seedFromSchema(prop.items ?? { type: \"string\" })] });\n }}\n />\n </div>,\n );\n }\n }\n return rows;\n}\n\n// rendersFullWidth reports whether a property renders as a full-width block\n// (a structured object → ObjectSection, or an `x-layout: \"table\"` array/map) so\n// a multi-column grid gives it the whole row instead of a single column.\nfunction rendersFullWidth(prop: JsonSchemaProperty): boolean {\n const fixedProperties = effectiveProperties(prop as JsonSchemaObject, {}).properties;\n if (schemaRendersAsObject(prop) && (prop.properties !== undefined || Object.keys(fixedProperties).length > 0)) {\n return true;\n }\n // An object-item array is a summary-row list (or cards) unless it opts out,\n // and each of those renderers owns the row — mirrors ArrayControl's own\n // branching, which decides the same thing from the resolved FieldControl.\n if (hasObjectItemProperties(prop.items) && prop[\"x-array-display\"] !== \"stacked\") {\n return true;\n }\n return prop[\"x-layout\"] === \"table\";\n}\n\n// renderApi is the RenderContext injection bundle: the root form stores it on\n// the context so container controls can recurse without importing this module.\nexport const renderApi: RenderApi = {\n renderFieldNodes,\n renderFieldRow,\n renderObjectFields,\n};\n"],"names":["fieldInputId","jsx","PropertyValuePreview","ReadOnlyValue","EnumControl","LookupControl","BooleanControl","NumberControl","DateControl","TextareaControl","MarkdownControl","DisplayControl","LinkControl","ArrayControl","ObjectControl","StringMapControl","StringControl","resolveControl","isEmptyValue","appendInstancePath","errorsAtInstancePath","softError","FieldLabel","propertyControlSize","applyPostExtensions","PropertyValueEditor","jsxs","FieldErrorText","fieldErrorId","PropertiesFieldRow","ObjectSection","cn","labelSizeClass","LabelIcon","HelpHint","FieldErrorMessages","FieldWrapper","effectiveProperties","orderByClickyOrder","orderByXOrder","orderRequiredFirst","orderByPriority","matchesFieldFilter","normalizeColumns","normalizeColSpan","Combobox","seedFromSchema","schemaRendersAsObject","hasObjectItemProperties"],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-form-render.cjs","sources":["../../src/components/json-schema-form-render.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { LabelIcon } from \"../data/Icon\";\nimport {\n BooleanControl,\n DateControl,\n DisplayControl,\n EnumControl,\n LinkControl,\n LookupControl,\n MarkdownControl,\n NumberControl,\n ReadOnlyValue,\n StringControl,\n TextareaControl,\n} from \"./json-schema-form-fields\";\nimport {\n FieldLabel,\n FieldWrapper,\n HelpHint,\n ObjectSection,\n SectionHeading,\n} from \"./json-schema-form-layout\";\nimport { ArrayControl } from \"./json-schema-form-array\";\nimport { ObjectControl, StringMapControl } from \"./json-schema-form-object\";\nimport { FieldErrorMessages, FieldErrorText } from \"./json-schema-form-error-display\";\nimport { appendInstancePath, errorsAtInstancePath } from \"./json-schema-form-errors\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport { applyPostExtensions } from \"./json-schema-form-extensions\";\nimport { resolveControl, schemaRendersAsObject } from \"./json-schema-form-resolve\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport { applyChangeEffects, applyListenerState } from \"./json-schema-form-listeners\";\nimport type {\n FieldArgs,\n FieldControl,\n HelpDisplay,\n JsonSchemaObject,\n JsonSchemaProperty,\n RenderApi,\n RenderContext,\n} from \"./json-schema-form-types\";\nimport {\n fieldErrorId,\n fieldInputId,\n hasObjectItemProperties,\n rendersAsSection,\n isEmptyValue,\n normalizeColSpan,\n normalizeColumns,\n orderByClickyOrder,\n orderByPriority,\n orderByXOrder,\n orderRequiredFirst,\n seedFromSchema,\n softError,\n} from \"./json-schema-form-utils\";\nimport { labelSizeClass } from \"./json-schema-form-size\";\nimport { PropertiesFieldRow, PropertyValueEditor } from \"./json-schema-form-properties\";\nimport { PropertyValuePreview } from \"./json-schema-form-property-preview\";\nimport { propertyControlSize } from \"./json-schema-form-properties-size\";\nimport { matchesFieldFilter } from \"./json-schema-form-filter\";\nimport { Combobox } from \"./Combobox\";\n\n// This module is the top of the json-schema-form graph: it imports the control\n// components and dispatches into them, while container controls recurse back in\n// only through ctx.render (see RenderApi). Nothing here is a React component,\n// so the component modules stay Fast-Refresh-eligible and cycle-free.\n\n// renderValueControl produces just the value node for a field, dispatching on\n// its resolved kind. The RenderContext carries readOnly + the pre/post stacks so\n// container controls (array/object/map) can recurse with full context.\nexport function renderValueControl(field: FieldControl, ctx: RenderContext): ReactNode {\n // ctx.instancePath is the field's own path here: buildField descends into the\n // child context before rendering the value.\n const fieldId = fieldInputId(ctx.instancePath, ctx.idPrefix);\n if (ctx.presentation && field.kind !== \"display\" && field.kind !== \"link\") {\n return <PropertyValuePreview field={field} fieldId={fieldId} ctx={ctx} />;\n }\n // A field the schema marks `readOnly` is never editable: it shows its current\n // value as plain text, not a disabled input. (The form-level ctx.readOnly,\n // below, instead disables the real controls so the structure stays visible;\n // a table's grid is its structure, so TableArray shows its cells as values.)\n // Containers (array/object/map) still render structurally so nested read-only\n // values surface, and textarea/display/link own their non-editable rendering\n // (multi-line text / static element / hyperlink), so all of these are excluded\n // from the plain ReadOnlyValue fallback.\n if (field.readOnly && !ownsReadOnlyRendering(field.kind)) {\n return <ReadOnlyValue field={field} fieldId={fieldId} size={ctx.size} />;\n }\n const readOnly = ctx.readOnly || field.readOnly === true;\n const size = ctx.size;\n switch (field.kind) {\n case \"enum\":\n return <EnumControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"lookup\":\n return (\n <LookupControl\n field={field}\n fieldId={fieldId}\n readOnly={readOnly}\n size={size}\n {...(ctx.rootValue ? { rootValue: ctx.rootValue } : {})}\n />\n );\n case \"boolean\":\n return <BooleanControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"number\":\n return <NumberControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"date\":\n return <DateControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"textarea\":\n return <TextareaControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"markdown\":\n return <MarkdownControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n case \"display\":\n return <DisplayControl field={field} size={size} />;\n case \"link\":\n return <LinkControl field={field} fieldId={fieldId} size={size} />;\n case \"array\":\n return <ArrayControl field={field} fieldId={fieldId} ctx={ctx} />;\n case \"object\":\n return <ObjectControl field={field} ctx={ctx} />;\n case \"string-map\":\n return <StringMapControl field={field} ctx={ctx} />;\n default:\n return <StringControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n}\n\n// ownsReadOnlyRendering reports whether a control renders its own non-editable\n// form, so the renderer must not pre-empt it with the plain ReadOnlyValue text:\n// containers recurse structurally, and textarea/display/link have bespoke\n// read-only output.\nfunction ownsReadOnlyRendering(kind: FieldControl[\"kind\"]): boolean {\n return (\n kind === \"array\" ||\n kind === \"object\" ||\n kind === \"string-map\" ||\n kind === \"textarea\" ||\n kind === \"markdown\" ||\n kind === \"display\" ||\n kind === \"link\"\n );\n}\n\n// buildField resolves a control, applies the pre-extensions (any returning\n// null drops the field), renders the value node, then applies the\n// post-extensions to the {label, value} node pair.\nfunction buildField(\n args: FieldArgs,\n ctx: RenderContext,\n): {\n field: FieldControl;\n fieldId: string;\n label: ReactNode;\n value: ReactNode;\n messages: JsonSchemaFormError[];\n help: HelpDisplay;\n} | null {\n // `x-hidden` is a property of the schema, not of the resolved control, so no\n // extension can set or clear it — checked before anything is resolved. A\n // matching `allOf` branch that re-declares the property without the flag is\n // what reveals it; see effectiveProperties.\n if (args.prop[\"x-hidden\"]) return null;\n const base = resolveControl(args);\n let field: FieldControl | null = base;\n for (const ext of ctx.pre) {\n if (!field) break;\n field = ext(field, {\n key: args.key,\n prop: args.prop,\n value: args.value,\n ...(ctx.rootValue ? { rootValue: ctx.rootValue } : {}),\n ...(ctx.onRootChange ? { onRootChange: ctx.onRootChange } : {}),\n });\n }\n if (!field) return null;\n // Drop read-only fields entirely when the form opts out of displaying them.\n // Checked after pre-extensions so an extension that sets/clears readOnly wins.\n if (ctx.hideReadOnlyFields && field.readOnly) return null;\n // A writeOnly value is never read back, so a view has nothing to show for it.\n if (field.writeOnly && (ctx.viewOnly || field.readOnly)) return null;\n // Same placement, same reason: an extension that supplies a value decides\n // whether the field has one.\n if (ctx.hideEmpty && isEmptyValue(field.value)) return null;\n // A readOnly field's subtree is a view, like a read-only form's. Read before\n // the presentation override, which marks fields readOnly only to show text.\n const view = field.readOnly === true;\n if (ctx.presentation) field = { ...field, readOnly: true };\n\n const instancePath = args.instancePath ?? appendInstancePath(ctx.instancePath, args.key);\n const fieldId = fieldInputId(instancePath, ctx.idPrefix);\n // Resolve this field's errors before rendering its control, so the control can\n // carry aria-invalid / aria-describedby rather than leaving the error text\n // visually adjacent but programmatically unassociated. Host-supplied errors\n // and the locally-derived soft hint (e.g. \"Required\" on an empty required\n // field) are one validation state: either one marks the field invalid and is\n // rendered into the aria-describedby target, so a locally-invalid field is\n // never invalid only to sighted users. softError reads value/required/kind —\n // never `invalid` — so deriving it from `field` here is not circular.\n const errors = errorsAtInstancePath(ctx.errors, instancePath);\n const soft = errors.length === 0 ? softError(field) : undefined;\n const messages: JsonSchemaFormError[] =\n errors.length > 0 ? errors : soft ? [{ instancePath, message: soft }] : [];\n if (messages.length > 0) field = { ...field, invalid: true };\n // A field's own x-help-display wins over the form-level setting; both default\n // to the permanent paragraph every form renders today.\n const help = field.helpDisplay ?? ctx.layout.help ?? \"inline\";\n // A section's label is its header row (none for an empty title), so post\n // extensions decorate it too.\n let label: ReactNode = rendersAsSection(field, ctx.layout.mode) ? (\n field.label === \"\" ? null : <SectionHeading field={field} size={ctx.size} helpDisplay={help} />\n ) : (\n <FieldLabel field={field} fieldId={fieldId} size={ctx.layout.mode === \"properties\" ? propertyControlSize[ctx.size] : ctx.size} helpDisplay={help} />\n );\n // A field's `x-layout: inline|stack` overrides the form-level layout for its\n // own value subtree (the field's own row keeps the parent layout). \"table\" is\n // handled structurally inside the array/string-map controls, not here.\n const overrideMode =\n field.layout === \"inline\" ? \"inline\" : field.layout === \"stack\" ? \"stacked\" : undefined;\n const nestedProperty = ctx.layout.mode === \"properties\" && (field.kind === \"object\" || field.kind === \"string-map\");\n // A disabled field keeps its real control (unlike readOnly's value text), and\n // containers read ctx.readOnly, so a disabled object disables its subtree.\n const valueCtx: RenderContext = {\n ...ctx,\n ...(field.disabled ? { readOnly: true } : {}),\n ...(view ? { viewOnly: true } : {}),\n ...(ctx.layout.mode === \"properties\" && !nestedProperty ? { size: propertyControlSize[ctx.size] } : {}),\n instancePath,\n ...(overrideMode && !nestedProperty ? { layout: { ...ctx.layout, mode: overrideMode } } : {}),\n ...(ctx.layout.mode === \"properties\" && field.kind === \"array\"\n ? { layout: { ...ctx.layout, mode: overrideMode ?? \"stacked\" } } : {}),\n };\n let value: ReactNode = renderValueControl(field, valueCtx);\n const postCtx = {\n ...(ctx.rootValue ? { rootValue: ctx.rootValue } : {}),\n ...(ctx.onRootChange ? { onRootChange: ctx.onRootChange } : {}),\n instancePath,\n };\n ({ label, value } = applyPostExtensions(\n field,\n { label, value },\n ctx.post,\n postCtx,\n ));\n if (ctx.layout.mode === \"properties\" && !nestedProperty && field.kind !== \"display\" && field.kind !== \"link\") {\n value = <PropertyValueEditor field={field} fieldId={fieldId} ctx={valueCtx}\n renderPreview={(previewField) => applyPostExtensions(\n { ...previewField, readOnly: true },\n { label, value: <PropertyValuePreview field={previewField} fieldId={`${fieldId}-preview`} ctx={{ ...valueCtx, idPrefix: `${ctx.idPrefix ?? \"\"}-preview` }} /> },\n ctx.post,\n postCtx,\n ).value}\n renderEditor={(draftField, draftCtx) => applyPostExtensions(\n draftField,\n { label, value: renderValueControl(draftField, draftCtx) },\n draftCtx.post,\n { ...postCtx, ...(draftCtx.rootValue ? { rootValue: draftCtx.rootValue } : {}), ...(draftCtx.onRootChange ? { onRootChange: draftCtx.onRootChange } : {}) },\n ).value} />;\n }\n return { field, fieldId, label, value, messages, help };\n}\n\n// renderFieldNodes runs the full pipeline and returns the raw {label, value}\n// nodes (no FieldWrapper). Used where the caller arranges layout itself — map\n// rows (value only) and scalar array items.\nexport function renderFieldNodes(\n args: FieldArgs,\n ctx: RenderContext,\n): { label: ReactNode; value: ReactNode } | null {\n const built = buildField(args, ctx);\n if (!built) return null;\n return {\n label: built.label,\n value:\n built.messages.length > 0 ? (\n <div className=\"flex min-w-0 flex-col gap-0.5\">\n {built.value}\n <FieldErrorText id={fieldErrorId(built.fieldId)} errors={built.messages} />\n </div>\n ) : (\n built.value\n ),\n };\n}\n\n// renderFieldRow runs the pipeline and wraps it in a FieldWrapper with the soft\n// validation hint. `labelOverride` lets a container relabel a field that has no\n// natural key (e.g. array items → \"Item 1\").\nexport function renderFieldRow(\n args: FieldArgs,\n ctx: RenderContext,\n opts?: { labelOverride?: string },\n): ReactNode | null {\n const built = buildField(args, ctx);\n if (!built) return null;\n const { field } = built;\n if (ctx.layout.mode === \"properties\" && field.kind !== \"display\") {\n return <PropertiesFieldRow {...built} label={opts?.labelOverride ?? built.label} ctx={ctx} />;\n }\n // Object fields — and table-laid-out arrays/string-maps — render as a flat\n // section: a header followed by their body at full width, rather than an\n // inline label + narrow value column. This keeps deep schemas (e.g. policy →\n // shape, asfile → params) readable as a single column of labelled sections,\n // and gives a `x-layout: \"table\"` array the full width its columns need\n // instead of cramming it into the inline value column.\n // An accordion joins this list: crammed into the 600px inline value column it\n // is unusable, and it needs the ObjectSection header to carry the array's own\n // title, required marker and help. Cards are the same shape of thing — a\n // full-width stack of item panels — so they join it too.\n if (rendersAsSection(field, ctx.layout.mode)) {\n return (\n <ObjectSection\n heading={\n opts?.labelOverride === undefined ? built.label : opts.labelOverride === \"\" ? null : (\n <SectionHeading field={field} label={opts.labelOverride} size={ctx.size} helpDisplay={built.help} />\n )\n }\n size={ctx.size}\n helpDisplay={built.help}\n {...(field.helper ? { helper: field.helper } : {})}\n >\n <FieldErrorText\n id={fieldErrorId(built.fieldId)}\n errors={built.messages}\n className=\"min-w-0 break-words\"\n />\n {built.value}\n </ObjectSection>\n );\n }\n // A display field (heading/divider/info/spacer) is the label — it carries no\n // value column, so it spans the full grid width with no inline label cell.\n if (field.kind === \"display\") {\n return <div className=\"col-span-full\">{built.value}</div>;\n }\n const label = opts?.labelOverride ? (\n <span className={cn(\"flex items-center gap-2 font-medium\", labelSizeClass[ctx.size])}>\n <LabelIcon icon={field.labelIcon} className=\"text-[15px] text-muted-foreground\" />\n <span>{opts.labelOverride}</span>\n {field.required && <span className=\"text-destructive\">*</span>}\n {field.badge && (\n <span className=\"rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {field.badge}\n </span>\n )}\n {/* Without this the `?` silently disappears for relabelled rows (array\n items), taking the description with it — FieldWrapper has already\n dropped the paragraph by then. */}\n {built.help === \"hover\" && field.helper && (\n <HelpHint label={opts.labelOverride} helper={field.helper} />\n )}\n </span>\n ) : (\n built.label\n );\n // One rendering path for both sources, so the soft hint lands in the same\n // fieldErrorId element the control's aria-describedby already points at.\n const err =\n built.messages.length > 0 ? (\n <FieldErrorMessages id={fieldErrorId(built.fieldId)} errors={built.messages} />\n ) : undefined;\n return (\n <FieldWrapper\n layout={ctx.layout}\n size={ctx.size}\n label={label}\n value={built.value}\n {...(field.colSpan === \"full\" ? { maxWidth: \"none\" } : {})}\n {...(field.helper && built.help !== \"hover\" ? { helper: field.helper } : {})}\n {...(err ? { error: err } : {})}\n />\n );\n}\n\n// renderObjectFields maps an object subschema's effective properties to field\n// rows. It is the recursive heart, shared by the top-level form and the nested\n// ObjectControl. Edits spread immutably onto the object, carrying the value\n// effects of the edited field's `x-on-change` listeners in the same commit.\nexport function renderObjectFields(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n onChange: (next: Record<string, unknown>) => void,\n ctx: RenderContext,\n opts?: { hiddenKeys?: string[] },\n): ReactNode[] {\n const listenerOptions = {\n root: ctx.rootValue ?? value,\n ...(ctx.expressionEvaluator ? { evaluate: ctx.expressionEvaluator } : {}),\n };\n const { properties, required } = applyListenerState(schema, value, listenerOptions);\n const hidden = new Set(opts?.hiddenKeys ?? []);\n // Per-property `x-clicky-order` wins (composes across merged branches); the\n // object-level `x-order` array is the fallback; document order otherwise.\n const ordered = orderByClickyOrder(orderByXOrder(Object.entries(properties), schema[\"x-order\"]));\n const sorted =\n ctx.sortMode === \"required-first\"\n ? orderRequiredFirst(ordered, required)\n : ctx.sortMode === \"priority\"\n ? orderByPriority(ordered, required, value)\n : ordered;\n // The field filter narrows only the outermost object level (depth 0); nested\n // object subtrees render in full so a matched parent keeps all its children.\n const entries =\n ctx.depth === 0 && ctx.fieldFilter\n ? sorted.filter(([key, prop]) => matchesFieldFilter({ key, prop, filter: ctx.fieldFilter!, value: value[key] }))\n : sorted;\n // Object-level `x-columns` lays the fields out in a multi-column stacked grid;\n // each field spans `x-col-span` columns (object sections/table arrays span the\n // full row). Only takes effect in stacked mode — inline owns its 2-track grid.\n const columns = ctx.layout.mode !== \"stacked\" ? 1 : normalizeColumns(schema[\"x-columns\"]);\n const arrayEntries = entries.filter(([, prop]) => prop.type === \"array\");\n const compactArrays = ctx.layout.mode !== \"properties\" && arrayEntries.length > 3;\n const rows = entries.flatMap(([key, prop]) => {\n if (hidden.has(key)) return [];\n if (compactArrays && prop.type === \"array\" && (!Array.isArray(value[key]) || value[key].length === 0)) return [];\n const row = renderFieldRow(\n {\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: (next) => onChange(applyChangeEffects(schema, { ...listenerOptions, value, key, next })),\n instancePath: appendInstancePath(ctx.instancePath, key),\n },\n ctx,\n );\n if (!row) return [];\n if (columns === \"auto\" || columns > 1) {\n const span = rendersFullWidth(prop)\n ? \"full\"\n : normalizeColSpan(prop[\"x-col-span\"], columns);\n return [\n <div\n key={key}\n // Under \"auto\" the track count only exists at layout time, so a\n // full-width field must say `1 / -1` rather than span a number.\n style={{\n gridColumn: span === \"full\" ? \"1 / -1\" : `span ${span} / span ${span}`,\n }}\n >\n {row}\n </div>,\n ];\n }\n // `contents` keeps the keyed wrapper out of the box tree so the row's own\n // node (a subgrid FieldWrapper or a full-width ObjectSection) is a direct\n // child of the FieldsGrid and snaps to its label/value tracks.\n return [<div key={key} className=\"contents\">{row}</div>];\n });\n if (compactArrays && !ctx.readOnly && !ctx.presentation) {\n const available = arrayEntries.filter(([key, prop]) =>\n !hidden.has(key) && (!Array.isArray(value[key]) || prop.maxItems === undefined || value[key].length < prop.maxItems),\n );\n if (available.length > 0) {\n rows.push(\n <div key=\"keyed-array-add\" className=\"col-span-full w-full max-w-72\">\n <Combobox\n ariaLabel=\"Add item\"\n placeholder=\"Add item…\"\n options={available.map(([key, prop]) => ({ value: key, label: prop.title || key }))}\n value=\"\"\n allowCustomValue={false}\n onChange={(key) => {\n const prop = properties[key];\n if (!prop || prop.type !== \"array\") throw new Error(`cannot add item to ${key}`);\n const items = value[key];\n if (items !== undefined && !Array.isArray(items)) throw new Error(`${key} is not an array`);\n onChange({ ...value, [key]: [...(items ?? []), seedFromSchema(prop.items ?? { type: \"string\" })] });\n }}\n />\n </div>,\n );\n }\n }\n return rows;\n}\n\n// rendersFullWidth reports whether a property renders as a full-width block\n// (a structured object → ObjectSection, or an `x-layout: \"table\"` array/map) so\n// a multi-column grid gives it the whole row instead of a single column.\nfunction rendersFullWidth(prop: JsonSchemaProperty): boolean {\n const fixedProperties = effectiveProperties(prop as JsonSchemaObject, {}).properties;\n if (schemaRendersAsObject(prop) && (prop.properties !== undefined || Object.keys(fixedProperties).length > 0)) {\n return true;\n }\n // An object-item array is a summary-row list (or cards) unless it opts out,\n // and each of those renderers owns the row — mirrors ArrayControl's own\n // branching, which decides the same thing from the resolved FieldControl.\n if (hasObjectItemProperties(prop.items) && prop[\"x-array-display\"] !== \"stacked\") {\n return true;\n }\n return prop[\"x-layout\"] === \"table\";\n}\n\n// renderApi is the RenderContext injection bundle: the root form stores it on\n// the context so container controls can recurse without importing this module.\nexport const renderApi: RenderApi = {\n renderFieldNodes,\n renderFieldRow,\n renderObjectFields,\n};\n"],"names":["fieldInputId","jsx","PropertyValuePreview","ReadOnlyValue","EnumControl","LookupControl","BooleanControl","NumberControl","DateControl","TextareaControl","MarkdownControl","DisplayControl","LinkControl","ArrayControl","ObjectControl","StringMapControl","StringControl","resolveControl","isEmptyValue","appendInstancePath","errorsAtInstancePath","softError","rendersAsSection","SectionHeading","FieldLabel","propertyControlSize","applyPostExtensions","PropertyValueEditor","jsxs","FieldErrorText","fieldErrorId","PropertiesFieldRow","ObjectSection","cn","labelSizeClass","LabelIcon","HelpHint","FieldErrorMessages","FieldWrapper","applyListenerState","orderByClickyOrder","orderByXOrder","orderRequiredFirst","orderByPriority","matchesFieldFilter","normalizeColumns","applyChangeEffects","normalizeColSpan","Combobox","seedFromSchema","effectiveProperties","schemaRendersAsObject","hasObjectItemProperties"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuEO,SAAS,mBAAmB,OAAqB,KAA+B;AAGrF,QAAM,UAAUA,oBAAAA,aAAa,IAAI,cAAc,IAAI,QAAQ;AAC3D,MAAI,IAAI,gBAAgB,MAAM,SAAS,aAAa,MAAM,SAAS,QAAQ;AACzE,WAAOC,2BAAAA,IAACC,8BAAAA,sBAAA,EAAqB,OAAc,SAAkB,IAAA,CAAU;AAAA,EACzE;AASA,MAAI,MAAM,YAAY,CAAC,sBAAsB,MAAM,IAAI,GAAG;AACxD,0CAAQC,qBAAAA,eAAA,EAAc,OAAc,SAAkB,MAAM,IAAI,MAAM;AAAA,EACxE;AACA,QAAM,WAAW,IAAI,YAAY,MAAM,aAAa;AACpD,QAAM,OAAO,IAAI;AACjB,UAAQ,MAAM,MAAA;AAAA,IACZ,KAAK;AACH,aAAOF,2BAAAA,IAACG,qBAAAA,aAAA,EAAY,OAAc,SAAkB,UAAoB,MAAY;AAAA,IACtF,KAAK;AACH,aACEH,2BAAAA;AAAAA,QAACI,qBAAAA;AAAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAI,IAAI,YAAY,EAAE,WAAW,IAAI,UAAA,IAAc,CAAA;AAAA,QAAC;AAAA,MAAA;AAAA,IAG3D,KAAK;AACH,aAAOJ,2BAAAA,IAACK,qBAAAA,gBAAA,EAAe,OAAc,SAAkB,UAAoB,MAAY;AAAA,IACzF,KAAK;AACH,aAAOL,2BAAAA,IAACM,qBAAAA,eAAA,EAAc,OAAc,SAAkB,UAAoB,MAAY;AAAA,IACxF,KAAK;AACH,aAAON,2BAAAA,IAACO,qBAAAA,aAAA,EAAY,OAAc,SAAkB,UAAoB,MAAY;AAAA,IACtF,KAAK;AACH,aAAOP,2BAAAA,IAACQ,qBAAAA,iBAAA,EAAgB,OAAc,SAAkB,UAAoB,MAAY;AAAA,IAC1F,KAAK;AACH,aAAOR,2BAAAA,IAACS,qBAAAA,iBAAA,EAAgB,OAAc,SAAkB,UAAoB,MAAY;AAAA,IAC1F,KAAK;AACH,aAAOT,2BAAAA,IAACU,qBAAAA,gBAAA,EAAe,OAAc,KAAA,CAAY;AAAA,IACnD,KAAK;AACH,aAAOV,2BAAAA,IAACW,qBAAAA,aAAA,EAAY,OAAc,SAAkB,KAAA,CAAY;AAAA,IAClE,KAAK;AACH,aAAOX,2BAAAA,IAACY,oBAAAA,cAAA,EAAa,OAAc,SAAkB,IAAA,CAAU;AAAA,IACjE,KAAK;AACH,aAAOZ,2BAAAA,IAACa,qBAAAA,eAAA,EAAc,OAAc,IAAA,CAAU;AAAA,IAChD,KAAK;AACH,aAAOb,2BAAAA,IAACc,qBAAAA,kBAAA,EAAiB,OAAc,IAAA,CAAU;AAAA,IACnD;AACE,aAAOd,2BAAAA,IAACe,qBAAAA,eAAA,EAAc,OAAc,SAAkB,UAAoB,MAAY;AAAA,EAAA;AAE5F;AAMA,SAAS,sBAAsB,MAAqC;AAClE,SACE,SAAS,WACT,SAAS,YACT,SAAS,gBACT,SAAS,cACT,SAAS,cACT,SAAS,aACT,SAAS;AAEb;AAKA,SAAS,WACP,MACA,KAQO;AAKP,MAAI,KAAK,KAAK,UAAU,EAAG,QAAO;AAClC,QAAM,OAAOC,sBAAAA,eAAe,IAAI;AAChC,MAAI,QAA6B;AACjC,aAAW,OAAO,IAAI,KAAK;AACzB,QAAI,CAAC,MAAO;AACZ,YAAQ,IAAI,OAAO;AAAA,MACjB,KAAK,KAAK;AAAA,MACV,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MACZ,GAAI,IAAI,YAAY,EAAE,WAAW,IAAI,UAAA,IAAc,CAAA;AAAA,MACnD,GAAI,IAAI,eAAe,EAAE,cAAc,IAAI,aAAA,IAAiB,CAAA;AAAA,IAAC,CAC9D;AAAA,EACH;AACA,MAAI,CAAC,MAAO,QAAO;AAGnB,MAAI,IAAI,sBAAsB,MAAM,SAAU,QAAO;AAErD,MAAI,MAAM,cAAc,IAAI,YAAY,MAAM,UAAW,QAAO;AAGhE,MAAI,IAAI,aAAaC,oBAAAA,aAAa,MAAM,KAAK,EAAG,QAAO;AAGvD,QAAM,OAAO,MAAM,aAAa;AAChC,MAAI,IAAI,aAAc,SAAQ,EAAE,GAAG,OAAO,UAAU,KAAA;AAEpD,QAAM,eAAe,KAAK,gBAAgBC,qBAAAA,mBAAmB,IAAI,cAAc,KAAK,GAAG;AACvF,QAAM,UAAUnB,oBAAAA,aAAa,cAAc,IAAI,QAAQ;AASvD,QAAM,SAASoB,qBAAAA,qBAAqB,IAAI,QAAQ,YAAY;AAC5D,QAAM,OAAO,OAAO,WAAW,IAAIC,oBAAAA,UAAU,KAAK,IAAI;AACtD,QAAM,WACJ,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC,EAAE,cAAc,SAAS,KAAA,CAAM,IAAI,CAAA;AAC1E,MAAI,SAAS,SAAS,EAAG,SAAQ,EAAE,GAAG,OAAO,SAAS,KAAA;AAGtD,QAAM,OAAO,MAAM,eAAe,IAAI,OAAO,QAAQ;AAGrD,MAAI,QAAmBC,oBAAAA,iBAAiB,OAAO,IAAI,OAAO,IAAI,IAC5D,MAAM,UAAU,KAAK,OAAOrB,2BAAAA,IAACsB,qCAAA,EAAe,OAAc,MAAM,IAAI,MAAM,aAAa,KAAA,CAAM,mCAE5FC,qBAAAA,YAAA,EAAW,OAAc,SAAkB,MAAM,IAAI,OAAO,SAAS,eAAeC,6BAAAA,oBAAoB,IAAI,IAAI,IAAI,IAAI,MAAM,aAAa,MAAM;AAKpJ,QAAM,eACJ,MAAM,WAAW,WAAW,WAAW,MAAM,WAAW,UAAU,YAAY;AAChF,QAAM,iBAAiB,IAAI,OAAO,SAAS,iBAAiB,MAAM,SAAS,YAAY,MAAM,SAAS;AAGtG,QAAM,WAA0B;AAAA,IAC9B,GAAG;AAAA,IACH,GAAI,MAAM,WAAW,EAAE,UAAU,KAAA,IAAS,CAAA;AAAA,IAC1C,GAAI,OAAO,EAAE,UAAU,KAAA,IAAS,CAAA;AAAA,IAChC,GAAI,IAAI,OAAO,SAAS,gBAAgB,CAAC,iBAAiB,EAAE,MAAMA,6BAAAA,oBAAoB,IAAI,IAAI,EAAA,IAAM,CAAA;AAAA,IACpG;AAAA,IACA,GAAI,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,MAAM,aAAA,EAAa,IAAM,CAAA;AAAA,IAC1F,GAAI,IAAI,OAAO,SAAS,gBAAgB,MAAM,SAAS,UACnD,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,MAAM,gBAAgB,UAAA,MAAgB,CAAA;AAAA,EAAC;AAExE,MAAI,QAAmB,mBAAmB,OAAO,QAAQ;AACzD,QAAM,UAAU;AAAA,IACd,GAAI,IAAI,YAAY,EAAE,WAAW,IAAI,UAAA,IAAc,CAAA;AAAA,IACnD,GAAI,IAAI,eAAe,EAAE,cAAc,IAAI,aAAA,IAAiB,CAAA;AAAA,IAC5D;AAAA,EAAA;AAEF,GAAC,EAAE,OAAO,MAAA,IAAUC,yBAAAA;AAAAA,IAClB;AAAA,IACA,EAAE,OAAO,MAAA;AAAA,IACT,IAAI;AAAA,IACJ;AAAA,EAAA;AAEF,MAAI,IAAI,OAAO,SAAS,gBAAgB,CAAC,kBAAkB,MAAM,SAAS,aAAa,MAAM,SAAS,QAAQ;AAC5G,YAAQzB,2BAAAA;AAAAA,MAAC0B,yBAAAA;AAAAA,MAAA;AAAA,QAAoB;AAAA,QAAc;AAAA,QAAkB,KAAK;AAAA,QAChE,eAAe,CAAC,iBAAiBD,yBAAAA;AAAAA,UAC/B,EAAE,GAAG,cAAc,UAAU,KAAA;AAAA,UAC7B,EAAE,OAAO,OAAOzB,2BAAAA,IAACC,sDAAqB,OAAO,cAAc,SAAS,GAAG,OAAO,YAAY,KAAK,EAAE,GAAG,UAAU,UAAU,GAAG,IAAI,YAAY,EAAE,WAAA,EAAW,CAAG,EAAA;AAAA,UAC3J,IAAI;AAAA,UACJ;AAAA,QAAA,EACA;AAAA,QACF,cAAc,CAAC,YAAY,aAAawB,yBAAAA;AAAAA,UACtC;AAAA,UACA,EAAE,OAAO,OAAO,mBAAmB,YAAY,QAAQ,EAAA;AAAA,UACvD,SAAS;AAAA,UACT,EAAE,GAAG,SAAS,GAAI,SAAS,YAAY,EAAE,WAAW,SAAS,UAAA,IAAc,CAAA,GAAK,GAAI,SAAS,eAAe,EAAE,cAAc,SAAS,aAAA,IAAiB,CAAA,EAAC;AAAA,QAAG,EAC1J;AAAA,MAAA;AAAA,IAAA;AAAA,EACN;AACA,SAAO,EAAE,OAAO,SAAS,OAAO,OAAO,UAAU,KAAA;AACnD;AAKO,SAAS,iBACd,MACA,KAC+C;AAC/C,QAAM,QAAQ,WAAW,MAAM,GAAG;AAClC,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,OACE,MAAM,SAAS,SAAS,IACtBE,gCAAC,OAAA,EAAI,WAAU,iCACZ,UAAA;AAAA,MAAA,MAAM;AAAA,MACP3B,+BAAC4B,2BAAAA,kBAAe,IAAIC,oBAAAA,aAAa,MAAM,OAAO,GAAG,QAAQ,MAAM,SAAA,CAAU;AAAA,IAAA,EAAA,CAC3E,IAEA,MAAM;AAAA,EAAA;AAGd;AAKO,SAAS,eACd,MACA,KACA,MACkB;AAClB,QAAM,QAAQ,WAAW,MAAM,GAAG;AAClC,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,EAAE,UAAU;AAClB,MAAI,IAAI,OAAO,SAAS,gBAAgB,MAAM,SAAS,WAAW;AAChE,WAAO7B,+BAAC8B,yBAAAA,sBAAoB,GAAG,OAAO,QAAO,6BAAM,kBAAiB,MAAM,OAAO,IAAA,CAAU;AAAA,EAC7F;AAWA,MAAIT,oBAAAA,iBAAiB,OAAO,IAAI,OAAO,IAAI,GAAG;AAC5C,WACEM,2BAAAA;AAAAA,MAACI,qBAAAA;AAAAA,MAAA;AAAA,QACC,UACE,6BAAM,mBAAkB,SAAY,MAAM,QAAQ,KAAK,kBAAkB,KAAK,sCAC3ET,qCAAA,EAAe,OAAc,OAAO,KAAK,eAAe,MAAM,IAAI,MAAM,aAAa,MAAM,KAAA,CAAM;AAAA,QAGtG,MAAM,IAAI;AAAA,QACV,aAAa,MAAM;AAAA,QAClB,GAAI,MAAM,SAAS,EAAE,QAAQ,MAAM,OAAA,IAAW,CAAA;AAAA,QAE/C,UAAA;AAAA,UAAAtB,2BAAAA;AAAAA,YAAC4B,2BAAAA;AAAAA,YAAA;AAAA,cACC,IAAIC,oBAAAA,aAAa,MAAM,OAAO;AAAA,cAC9B,QAAQ,MAAM;AAAA,cACd,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAEX,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AAGA,MAAI,MAAM,SAAS,WAAW;AAC5B,WAAO7B,2BAAAA,IAAC,OAAA,EAAI,WAAU,iBAAiB,gBAAM,OAAM;AAAA,EACrD;AACA,QAAM,SAAQ,6BAAM,iBAClB2B,2BAAAA,KAAC,QAAA,EAAK,WAAWK,MAAAA,GAAG,uCAAuCC,mBAAAA,eAAe,IAAI,IAAI,CAAC,GACjF,UAAA;AAAA,IAAAjC,2BAAAA,IAACkC,KAAAA,WAAA,EAAU,MAAM,MAAM,WAAW,WAAU,qCAAoC;AAAA,IAChFlC,2BAAAA,IAAC,QAAA,EAAM,UAAA,KAAK,cAAA,CAAc;AAAA,IACzB,MAAM,YAAYA,2BAAAA,IAAC,QAAA,EAAK,WAAU,oBAAmB,UAAA,KAAC;AAAA,IACtD,MAAM,SACLA,2BAAAA,IAAC,UAAK,WAAU,wGACb,gBAAM,OACT;AAAA,IAKD,MAAM,SAAS,WAAW,MAAM,UAC/BA,2BAAAA,IAACmC,qBAAAA,UAAA,EAAS,OAAO,KAAK,eAAe,QAAQ,MAAM,OAAA,CAAQ;AAAA,EAAA,EAAA,CAE/D,IAEA,MAAM;AAIR,QAAM,MACJ,MAAM,SAAS,SAAS,IACtBnC,2BAAAA,IAACoC,+CAAA,EAAmB,IAAIP,oBAAAA,aAAa,MAAM,OAAO,GAAG,QAAQ,MAAM,UAAU,IAC3E;AACN,SACE7B,2BAAAA;AAAAA,IAACqC,qBAAAA;AAAAA,IAAA;AAAA,MACC,QAAQ,IAAI;AAAA,MACZ,MAAM,IAAI;AAAA,MACV;AAAA,MACA,OAAO,MAAM;AAAA,MACZ,GAAI,MAAM,YAAY,SAAS,EAAE,UAAU,OAAA,IAAW,CAAA;AAAA,MACtD,GAAI,MAAM,UAAU,MAAM,SAAS,UAAU,EAAE,QAAQ,MAAM,OAAA,IAAW,CAAA;AAAA,MACxE,GAAI,MAAM,EAAE,OAAO,QAAQ,CAAA;AAAA,IAAC;AAAA,EAAA;AAGnC;AAMO,SAAS,mBACd,QACA,OACA,UACA,KACA,MACa;AACb,QAAM,kBAAkB;AAAA,IACtB,MAAM,IAAI,aAAa;AAAA,IACvB,GAAI,IAAI,sBAAsB,EAAE,UAAU,IAAI,oBAAA,IAAwB,CAAA;AAAA,EAAC;AAEzE,QAAM,EAAE,YAAY,SAAA,IAAaC,wBAAAA,mBAAmB,QAAQ,OAAO,eAAe;AAClF,QAAM,SAAS,IAAI,KAAI,6BAAM,eAAc,CAAA,CAAE;AAG7C,QAAM,UAAUC,uCAAmBC,oBAAAA,cAAc,OAAO,QAAQ,UAAU,GAAG,OAAO,SAAS,CAAC,CAAC;AAC/F,QAAM,SACJ,IAAI,aAAa,mBACbC,oBAAAA,mBAAmB,SAAS,QAAQ,IACpC,IAAI,aAAa,aACfC,oBAAAA,gBAAgB,SAAS,UAAU,KAAK,IACxC;AAGR,QAAM,UACJ,IAAI,UAAU,KAAK,IAAI,cACnB,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI,MAAMC,qBAAAA,mBAAmB,EAAE,KAAK,MAAM,QAAQ,IAAI,aAAc,OAAO,MAAM,GAAG,EAAA,CAAG,CAAC,IAC7G;AAIN,QAAM,UAAU,IAAI,OAAO,SAAS,YAAY,IAAIC,oBAAAA,iBAAiB,OAAO,WAAW,CAAC;AACxF,QAAM,eAAe,QAAQ,OAAO,CAAC,CAAA,EAAG,IAAI,MAAM,KAAK,SAAS,OAAO;AACvE,QAAM,gBAAgB,IAAI,OAAO,SAAS,gBAAgB,aAAa,SAAS;AAChF,QAAM,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM;AAC5C,QAAI,OAAO,IAAI,GAAG,UAAU,CAAA;AAC5B,QAAI,iBAAiB,KAAK,SAAS,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,EAAE,WAAW,WAAW,CAAA;AAC9G,UAAM,MAAM;AAAA,MACV;AAAA,QACE;AAAA,QACA;AAAA,QACA,UAAU,SAAS,SAAS,GAAG;AAAA,QAC/B,OAAO,MAAM,GAAG;AAAA,QAChB,UAAU,CAAC,SAAS,SAASC,wBAAAA,mBAAmB,QAAQ,EAAE,GAAG,iBAAiB,OAAO,KAAK,KAAA,CAAM,CAAC;AAAA,QACjG,cAAc3B,qBAAAA,mBAAmB,IAAI,cAAc,GAAG;AAAA,MAAA;AAAA,MAExD;AAAA,IAAA;AAEF,QAAI,CAAC,IAAK,QAAO,CAAA;AACjB,QAAI,YAAY,UAAU,UAAU,GAAG;AACrC,YAAM,OAAO,iBAAiB,IAAI,IAC9B,SACA4B,oBAAAA,iBAAiB,KAAK,YAAY,GAAG,OAAO;AAChD,aAAO;AAAA,QACL9C,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAIC,OAAO;AAAA,cACL,YAAY,SAAS,SAAS,WAAW,QAAQ,IAAI,WAAW,IAAI;AAAA,YAAA;AAAA,YAGrE,UAAA;AAAA,UAAA;AAAA,UAPI;AAAA,QAAA;AAAA,MAQP;AAAA,IAEJ;AAIA,WAAO,CAACA,2BAAAA,IAAC,OAAA,EAAc,WAAU,YAAY,UAAA,OAA3B,GAA+B,CAAM;AAAA,EACzD,CAAC;AACD,MAAI,iBAAiB,CAAC,IAAI,YAAY,CAAC,IAAI,cAAc;AACvD,UAAM,YAAY,aAAa;AAAA,MAAO,CAAC,CAAC,KAAK,IAAI,MAC/C,CAAC,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,QAAQ,MAAM,GAAG,CAAC,KAAK,KAAK,aAAa,UAAa,MAAM,GAAG,EAAE,SAAS,KAAK;AAAA,IAAA;AAE7G,QAAI,UAAU,SAAS,GAAG;AACxB,WAAK;AAAA,QACHA,2BAAAA,IAAC,OAAA,EAA0B,WAAU,iCACnC,UAAAA,2BAAAA;AAAAA,UAAC+C,SAAAA;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAY;AAAA,YACZ,SAAS,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,EAAE,OAAO,KAAK,OAAO,KAAK,SAAS,MAAM;AAAA,YAClF,OAAM;AAAA,YACN,kBAAkB;AAAA,YAClB,UAAU,CAAC,QAAQ;AACjB,oBAAM,OAAO,WAAW,GAAG;AAC3B,kBAAI,CAAC,QAAQ,KAAK,SAAS,eAAe,IAAI,MAAM,sBAAsB,GAAG,EAAE;AAC/E,oBAAM,QAAQ,MAAM,GAAG;AACvB,kBAAI,UAAU,UAAa,CAAC,MAAM,QAAQ,KAAK,EAAG,OAAM,IAAI,MAAM,GAAG,GAAG,kBAAkB;AAC1F,uBAAS,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAI,SAAS,CAAA,GAAKC,oBAAAA,eAAe,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC,GAAG;AAAA,YACpG;AAAA,UAAA;AAAA,QAAA,KAbK,iBAeT;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AACA,SAAO;AACT;AAKA,SAAS,iBAAiB,MAAmC;AAC3D,QAAM,kBAAkBC,2BAAAA,oBAAoB,MAA0B,CAAA,CAAE,EAAE;AAC1E,MAAIC,4CAAsB,IAAI,MAAM,KAAK,eAAe,UAAa,OAAO,KAAK,eAAe,EAAE,SAAS,IAAI;AAC7G,WAAO;AAAA,EACT;AAIA,MAAIC,oBAAAA,wBAAwB,KAAK,KAAK,KAAK,KAAK,iBAAiB,MAAM,WAAW;AAChF,WAAO;AAAA,EACT;AACA,SAAO,KAAK,UAAU,MAAM;AAC9B;AAIO,MAAM,YAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { FieldArgs, FieldControl, JsonSchemaObject, RenderApi, RenderContext } from './json-schema-form-types';
2
+ import { FieldArgs, FieldControl, JsonSchemaObject, RenderApi, RenderContext } from './json-schema-form-types.js';
3
3
  export declare function renderValueControl(field: FieldControl, ctx: RenderContext): ReactNode;
4
4
  export declare function renderFieldNodes(args: FieldArgs, ctx: RenderContext): {
5
5
  label: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-render.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-render.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA6BvC,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAEZ,gBAAgB,EAEhB,SAAS,EACT,aAAa,EACd,MAAM,0BAA0B,CAAC;AA8BlC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,CAuDrF;AAyHD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,GACjB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAe/C;AAKD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,SAAS,GAAG,IAAI,CAoFlB;AAKD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACjD,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B,SAAS,EAAE,CAuFb;AAqBD,eAAO,MAAM,SAAS,EAAE,SAIvB,CAAC"}
1
+ {"version":3,"file":"json-schema-form-render.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-render.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgCvC,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAEZ,gBAAgB,EAEhB,SAAS,EACT,aAAa,EACd,MAAM,0BAA0B,CAAC;AA+BlC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,CAwDrF;AA2ID,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,GACjB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAe/C;AAKD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,SAAS,GAAG,IAAI,CAgFlB;AAMD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACjD,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B,SAAS,EAAE,CA2Fb;AAqBD,eAAO,MAAM,SAAS,EAAE,SAIvB,CAAC"}
@@ -3,14 +3,16 @@ import "react";
3
3
  import { cn } from "../lib/utils.js";
4
4
  import { LabelIcon } from "../data/Icon.js";
5
5
  import { ReadOnlyValue, StringControl, LinkControl, DisplayControl, MarkdownControl, TextareaControl, DateControl, NumberControl, BooleanControl, LookupControl, EnumControl } from "./json-schema-form-fields.js";
6
- import { ObjectSection, HelpHint, FieldWrapper, FieldLabel } from "./json-schema-form-layout.js";
6
+ import { ObjectSection, SectionHeading, HelpHint, FieldWrapper, FieldLabel } from "./json-schema-form-layout.js";
7
7
  import { ArrayControl } from "./json-schema-form-array.js";
8
8
  import { StringMapControl, ObjectControl } from "./json-schema-form-object.js";
9
9
  import { FieldErrorText, FieldErrorMessages } from "./json-schema-form-error-display.js";
10
10
  import { appendInstancePath, errorsAtInstancePath } from "./json-schema-form-errors.js";
11
11
  import { applyPostExtensions } from "./json-schema-form-extensions.js";
12
- import { effectiveProperties, schemaRendersAsObject, resolveControl } from "./json-schema-form-resolve.js";
13
- import { orderByClickyOrder, orderByXOrder, orderRequiredFirst, orderByPriority, normalizeColumns, normalizeColSpan, seedFromSchema, fieldErrorId, hasObjectItemProperties, isEmptyValue, fieldInputId, softError } from "./json-schema-form-utils.js";
12
+ import { schemaRendersAsObject, resolveControl } from "./json-schema-form-resolve.js";
13
+ import { effectiveProperties } from "./json-schema-form-conditionals.js";
14
+ import { applyListenerState, applyChangeEffects } from "./json-schema-form-listeners.js";
15
+ import { orderByClickyOrder, orderByXOrder, orderRequiredFirst, orderByPriority, normalizeColumns, normalizeColSpan, seedFromSchema, rendersAsSection, fieldErrorId, hasObjectItemProperties, isEmptyValue, fieldInputId, softError } from "./json-schema-form-utils.js";
14
16
  import { labelSizeClass } from "./json-schema-form-size.js";
15
17
  import { PropertiesFieldRow, PropertyValueEditor } from "./json-schema-form-properties.js";
16
18
  import { PropertyValuePreview } from "./json-schema-form-property-preview.js";
@@ -69,6 +71,7 @@ function ownsReadOnlyRendering(kind) {
69
71
  return kind === "array" || kind === "object" || kind === "string-map" || kind === "textarea" || kind === "markdown" || kind === "display" || kind === "link";
70
72
  }
71
73
  function buildField(args, ctx) {
74
+ if (args.prop["x-hidden"]) return null;
72
75
  const base = resolveControl(args);
73
76
  let field = base;
74
77
  for (const ext of ctx.pre) {
@@ -83,7 +86,9 @@ function buildField(args, ctx) {
83
86
  }
84
87
  if (!field) return null;
85
88
  if (ctx.hideReadOnlyFields && field.readOnly) return null;
89
+ if (field.writeOnly && (ctx.viewOnly || field.readOnly)) return null;
86
90
  if (ctx.hideEmpty && isEmptyValue(field.value)) return null;
91
+ const view = field.readOnly === true;
87
92
  if (ctx.presentation) field = { ...field, readOnly: true };
88
93
  const instancePath = args.instancePath ?? appendInstancePath(ctx.instancePath, args.key);
89
94
  const fieldId = fieldInputId(instancePath, ctx.idPrefix);
@@ -92,11 +97,13 @@ function buildField(args, ctx) {
92
97
  const messages = errors.length > 0 ? errors : soft ? [{ instancePath, message: soft }] : [];
93
98
  if (messages.length > 0) field = { ...field, invalid: true };
94
99
  const help = field.helpDisplay ?? ctx.layout.help ?? "inline";
95
- let label = /* @__PURE__ */ jsx(FieldLabel, { field, fieldId, size: ctx.layout.mode === "properties" ? propertyControlSize[ctx.size] : ctx.size, helpDisplay: help });
100
+ let label = rendersAsSection(field, ctx.layout.mode) ? field.label === "" ? null : /* @__PURE__ */ jsx(SectionHeading, { field, size: ctx.size, helpDisplay: help }) : /* @__PURE__ */ jsx(FieldLabel, { field, fieldId, size: ctx.layout.mode === "properties" ? propertyControlSize[ctx.size] : ctx.size, helpDisplay: help });
96
101
  const overrideMode = field.layout === "inline" ? "inline" : field.layout === "stack" ? "stacked" : void 0;
97
102
  const nestedProperty = ctx.layout.mode === "properties" && (field.kind === "object" || field.kind === "string-map");
98
103
  const valueCtx = {
99
104
  ...ctx,
105
+ ...field.disabled ? { readOnly: true } : {},
106
+ ...view ? { viewOnly: true } : {},
100
107
  ...ctx.layout.mode === "properties" && !nestedProperty ? { size: propertyControlSize[ctx.size] } : {},
101
108
  instancePath,
102
109
  ...overrideMode && !nestedProperty ? { layout: { ...ctx.layout, mode: overrideMode } } : {},
@@ -156,17 +163,14 @@ function renderFieldRow(args, ctx, opts) {
156
163
  if (ctx.layout.mode === "properties" && field.kind !== "display") {
157
164
  return /* @__PURE__ */ jsx(PropertiesFieldRow, { ...built, label: (opts == null ? void 0 : opts.labelOverride) ?? built.label, ctx });
158
165
  }
159
- if (field.kind === "object" || field.layout === "table" || field.arrayDisplay === "accordion" || field.arrayDisplay === "cards") {
166
+ if (rendersAsSection(field, ctx.layout.mode)) {
160
167
  return /* @__PURE__ */ jsxs(
161
168
  ObjectSection,
162
169
  {
163
- label: (opts == null ? void 0 : opts.labelOverride) ?? field.label,
164
- required: field.required,
170
+ heading: (opts == null ? void 0 : opts.labelOverride) === void 0 ? built.label : opts.labelOverride === "" ? null : /* @__PURE__ */ jsx(SectionHeading, { field, label: opts.labelOverride, size: ctx.size, helpDisplay: built.help }),
165
171
  size: ctx.size,
166
172
  helpDisplay: built.help,
167
- ...field.badge ? { badge: field.badge } : {},
168
173
  ...field.helper ? { helper: field.helper } : {},
169
- ...field.labelIcon != null ? { labelIcon: field.labelIcon } : {},
170
174
  children: [
171
175
  /* @__PURE__ */ jsx(
172
176
  FieldErrorText,
@@ -206,7 +210,11 @@ function renderFieldRow(args, ctx, opts) {
206
210
  );
207
211
  }
208
212
  function renderObjectFields(schema, value, onChange, ctx, opts) {
209
- const { properties, required } = effectiveProperties(schema, value);
213
+ const listenerOptions = {
214
+ root: ctx.rootValue ?? value,
215
+ ...ctx.expressionEvaluator ? { evaluate: ctx.expressionEvaluator } : {}
216
+ };
217
+ const { properties, required } = applyListenerState(schema, value, listenerOptions);
210
218
  const hidden = new Set((opts == null ? void 0 : opts.hiddenKeys) ?? []);
211
219
  const ordered = orderByClickyOrder(orderByXOrder(Object.entries(properties), schema["x-order"]));
212
220
  const sorted = ctx.sortMode === "required-first" ? orderRequiredFirst(ordered, required) : ctx.sortMode === "priority" ? orderByPriority(ordered, required, value) : ordered;
@@ -223,7 +231,7 @@ function renderObjectFields(schema, value, onChange, ctx, opts) {
223
231
  prop,
224
232
  required: required.includes(key),
225
233
  value: value[key],
226
- onChange: (next) => onChange({ ...value, [key]: next }),
234
+ onChange: (next) => onChange(applyChangeEffects(schema, { ...listenerOptions, value, key, next })),
227
235
  instancePath: appendInstancePath(ctx.instancePath, key)
228
236
  },
229
237
  ctx