@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
@@ -1,4 +1,4 @@
1
- import { JsonSchemaProperty } from './json-schema-form-types';
1
+ import { JsonSchemaProperty } from './json-schema-form-types.js';
2
2
  export declare function matchesFieldFilter({ key, prop, filter, value, }: {
3
3
  key: string;
4
4
  prop: JsonSchemaProperty;
@@ -1,5 +1,6 @@
1
1
  import { isPlainObject } from "../lib/collections.js";
2
- import { effectiveProperties, isOpenStringMap, schemaRendersAsObject } from "./json-schema-form-resolve.js";
2
+ import { isOpenStringMap, schemaRendersAsObject } from "./json-schema-form-resolve.js";
3
+ import { effectiveProperties } from "./json-schema-form-conditionals.js";
3
4
  function matchesFieldFilter({
4
5
  key,
5
6
  prop,
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-filter.js","sources":["../../src/components/json-schema-form-filter.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport {\n effectiveProperties,\n isOpenStringMap,\n schemaRendersAsObject,\n} from \"./json-schema-form-resolve\";\nimport type {\n JsonSchemaObject,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\nexport function matchesFieldFilter({\n key,\n prop,\n filter,\n value,\n}: {\n key: string;\n prop: JsonSchemaProperty;\n filter: string;\n value?: unknown;\n}): boolean {\n const query = filter.trim().toLowerCase();\n if (\n !query ||\n key.toLowerCase().includes(query) ||\n prop.title?.toLowerCase().includes(query)\n )\n return true;\n if (prop.format === \"password\") return false;\n if (Array.isArray(value)) {\n return value.some((item) =>\n matchesFieldFilter({\n key: \"\",\n prop: prop.items ?? {},\n filter,\n value: item,\n }),\n );\n }\n if (isPlainObject(value)) {\n const { properties } = effectiveProperties(prop as JsonSchemaObject, value);\n const openMap =\n isOpenStringMap(prop) ||\n (schemaRendersAsObject(prop) &&\n !prop.properties &&\n Object.keys(properties).length === 0);\n const keys = new Set([...Object.keys(properties), ...Object.keys(value)]);\n return [...keys].some((childKey) => {\n const child =\n properties[childKey] ??\n Object.entries(prop.patternProperties ?? {}).find(([pattern]) =>\n new RegExp(pattern).test(childKey),\n )?.[1] ??\n (isPlainObject(prop.additionalProperties)\n ? prop.additionalProperties\n : openMap\n ? { type: \"string\" }\n : undefined);\n return (\n child !== undefined &&\n matchesFieldFilter({\n key: childKey,\n prop: child,\n filter,\n value: value[childKey],\n })\n );\n });\n }\n if (value === null || value === undefined) return false;\n const text = String(value).toLowerCase();\n const label = prop[\"x-enum-labels\"]?.[String(value)];\n return text.includes(query) || Boolean(label?.toLowerCase().includes(query));\n}\n"],"names":["_a"],"mappings":";;AAWO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKY;;AACV,QAAM,QAAQ,OAAO,KAAA,EAAO,YAAA;AAC5B,MACE,CAAC,SACD,IAAI,YAAA,EAAc,SAAS,KAAK,OAChC,UAAK,UAAL,mBAAY,cAAc,SAAS;AAEnC,WAAO;AACT,MAAI,KAAK,WAAW,WAAY,QAAO;AACvC,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAK,CAAC,SACjB,mBAAmB;AAAA,QACjB,KAAK;AAAA,QACL,MAAM,KAAK,SAAS,CAAA;AAAA,QACpB;AAAA,QACA,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAAA,EAEL;AACA,MAAI,cAAc,KAAK,GAAG;AACxB,UAAM,EAAE,WAAA,IAAe,oBAAoB,MAA0B,KAAK;AAC1E,UAAM,UACJ,gBAAgB,IAAI,KACnB,sBAAsB,IAAI,KACzB,CAAC,KAAK,cACN,OAAO,KAAK,UAAU,EAAE,WAAW;AACvC,UAAM,OAAO,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,UAAU,GAAG,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC;AACxE,WAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,aAAa;;AAClC,YAAM,QACJ,WAAW,QAAQ,OACnBA,MAAA,OAAO,QAAQ,KAAK,qBAAqB,CAAA,CAAE,EAAE;AAAA,QAAK,CAAC,CAAC,OAAO,MACzD,IAAI,OAAO,OAAO,EAAE,KAAK,QAAQ;AAAA,MAAA,MADnC,gBAAAA,IAEI,QACH,cAAc,KAAK,oBAAoB,IACpC,KAAK,uBACL,UACE,EAAE,MAAM,aACR;AACR,aACE,UAAU,UACV,mBAAmB;AAAA,QACjB,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO,MAAM,QAAQ;AAAA,MAAA,CACtB;AAAA,IAEL,CAAC;AAAA,EACH;AACA,MAAI,UAAU,QAAQ,UAAU,OAAW,QAAO;AAClD,QAAM,OAAO,OAAO,KAAK,EAAE,YAAA;AAC3B,QAAM,SAAQ,UAAK,eAAe,MAApB,mBAAwB,OAAO,KAAK;AAClD,SAAO,KAAK,SAAS,KAAK,KAAK,QAAQ,+BAAO,cAAc,SAAS,MAAM;AAC7E;"}
1
+ {"version":3,"file":"json-schema-form-filter.js","sources":["../../src/components/json-schema-form-filter.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport {\n isOpenStringMap,\n schemaRendersAsObject,\n} from \"./json-schema-form-resolve\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport type {\n JsonSchemaObject,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\nexport function matchesFieldFilter({\n key,\n prop,\n filter,\n value,\n}: {\n key: string;\n prop: JsonSchemaProperty;\n filter: string;\n value?: unknown;\n}): boolean {\n const query = filter.trim().toLowerCase();\n if (\n !query ||\n key.toLowerCase().includes(query) ||\n prop.title?.toLowerCase().includes(query)\n )\n return true;\n if (prop.format === \"password\") return false;\n if (Array.isArray(value)) {\n return value.some((item) =>\n matchesFieldFilter({\n key: \"\",\n prop: prop.items ?? {},\n filter,\n value: item,\n }),\n );\n }\n if (isPlainObject(value)) {\n const { properties } = effectiveProperties(prop as JsonSchemaObject, value);\n const openMap =\n isOpenStringMap(prop) ||\n (schemaRendersAsObject(prop) &&\n !prop.properties &&\n Object.keys(properties).length === 0);\n const keys = new Set([...Object.keys(properties), ...Object.keys(value)]);\n return [...keys].some((childKey) => {\n const child =\n properties[childKey] ??\n Object.entries(prop.patternProperties ?? {}).find(([pattern]) =>\n new RegExp(pattern).test(childKey),\n )?.[1] ??\n (isPlainObject(prop.additionalProperties)\n ? prop.additionalProperties\n : openMap\n ? { type: \"string\" }\n : undefined);\n return (\n child !== undefined &&\n matchesFieldFilter({\n key: childKey,\n prop: child,\n filter,\n value: value[childKey],\n })\n );\n });\n }\n if (value === null || value === undefined) return false;\n const text = String(value).toLowerCase();\n const label = prop[\"x-enum-labels\"]?.[String(value)];\n return text.includes(query) || Boolean(label?.toLowerCase().includes(query));\n}\n"],"names":["_a"],"mappings":";;;AAWO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKY;;AACV,QAAM,QAAQ,OAAO,KAAA,EAAO,YAAA;AAC5B,MACE,CAAC,SACD,IAAI,YAAA,EAAc,SAAS,KAAK,OAChC,UAAK,UAAL,mBAAY,cAAc,SAAS;AAEnC,WAAO;AACT,MAAI,KAAK,WAAW,WAAY,QAAO;AACvC,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM;AAAA,MAAK,CAAC,SACjB,mBAAmB;AAAA,QACjB,KAAK;AAAA,QACL,MAAM,KAAK,SAAS,CAAA;AAAA,QACpB;AAAA,QACA,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAAA,EAEL;AACA,MAAI,cAAc,KAAK,GAAG;AACxB,UAAM,EAAE,WAAA,IAAe,oBAAoB,MAA0B,KAAK;AAC1E,UAAM,UACJ,gBAAgB,IAAI,KACnB,sBAAsB,IAAI,KACzB,CAAC,KAAK,cACN,OAAO,KAAK,UAAU,EAAE,WAAW;AACvC,UAAM,OAAO,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,UAAU,GAAG,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC;AACxE,WAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,aAAa;;AAClC,YAAM,QACJ,WAAW,QAAQ,OACnBA,MAAA,OAAO,QAAQ,KAAK,qBAAqB,CAAA,CAAE,EAAE;AAAA,QAAK,CAAC,CAAC,OAAO,MACzD,IAAI,OAAO,OAAO,EAAE,KAAK,QAAQ;AAAA,MAAA,MADnC,gBAAAA,IAEI,QACH,cAAc,KAAK,oBAAoB,IACpC,KAAK,uBACL,UACE,EAAE,MAAM,aACR;AACR,aACE,UAAU,UACV,mBAAmB;AAAA,QACjB,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO,MAAM,QAAQ;AAAA,MAAA,CACtB;AAAA,IAEL,CAAC;AAAA,EACH;AACA,MAAI,UAAU,QAAQ,UAAU,OAAW,QAAO;AAClD,QAAM,OAAO,OAAO,KAAK,EAAE,YAAA;AAC3B,QAAM,SAAQ,UAAK,eAAe,MAApB,mBAAwB,OAAO,KAAK;AAClD,SAAO,KAAK,SAAS,KAAK,KAAK,QAAQ,+BAAO,cAAc,SAAS,MAAM;AAC7E;"}
@@ -1,5 +1,5 @@
1
- import { FieldControl } from './json-schema-form-types';
2
- import { FormSize } from './json-schema-form-size';
1
+ import { FieldControl } from './json-schema-form-types.js';
2
+ import { FormSize } from './json-schema-form-size.js';
3
3
  export declare function GridControl({ field, fieldId, readOnly, size, }: {
4
4
  field: FieldControl;
5
5
  fieldId: string;
@@ -1,4 +1,4 @@
1
- import { ArrayItemSummary } from './json-schema-form-types';
1
+ import { ArrayItemSummary } from './json-schema-form-types.js';
2
2
  export declare function ItemGlyph({ glyph }: {
3
3
  glyph?: ArrayItemSummary["glyph"];
4
4
  }): import("react").JSX.Element | null;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const collections = require("../lib/collections.cjs");
4
+ const jsonSchemaFormConditionals = require("./json-schema-form-conditionals.cjs");
4
5
  const jsonSchemaFormTone = require("./json-schema-form-tone.cjs");
5
6
  const DEFAULT_TITLE_KEYS = ["title", "name", "label", "id", "key"];
6
7
  const SUMMARY_SEPARATOR = " · ";
@@ -35,8 +36,11 @@ function itemActions(value) {
35
36
  function itemActionsAllow(spec, action) {
36
37
  return spec.actions ? spec.actions.includes(action) : true;
37
38
  }
39
+ function itemProperties(itemSchema, value) {
40
+ return itemSchema ? jsonSchemaFormConditionals.effectiveProperties(itemSchema, value).properties : {};
41
+ }
38
42
  function autoGlyphKey(itemSchema) {
39
- for (const [key, prop] of Object.entries((itemSchema == null ? void 0 : itemSchema.properties) ?? {})) {
43
+ for (const [key, prop] of Object.entries(itemProperties(itemSchema, {}))) {
40
44
  const icons = prop["x-enum-icons"];
41
45
  if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;
42
46
  }
@@ -50,7 +54,7 @@ function itemSummaryFor({
50
54
  }) {
51
55
  var _a, _b, _c;
52
56
  const obj = collections.isPlainObject(item) ? item : {};
53
- const props = (itemSchema == null ? void 0 : itemSchema.properties) ?? {};
57
+ const props = itemProperties(itemSchema, obj);
54
58
  const title = firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ?? spec.fallback ?? `Item ${index + 1}`;
55
59
  const summary = (spec.summary ?? []).map((part) => summaryPart(obj, part)).filter((s) => !!s).join(SUMMARY_SEPARATOR);
56
60
  const glyphValue = spec.glyph ? text(obj[spec.glyph]) : "";
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-item-summary.cjs","sources":["../../src/components/json-schema-form-item-summary.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport { normalizeTone } from \"./json-schema-form-tone\";\nimport type {\n ArrayItemAction,\n ArrayItemSpec,\n ArrayItemSummary,\n ArrayItemSummaryPart,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\n// Property names worth trying for a row title when the schema does not say.\n// Ordered most-human-readable first.\nconst DEFAULT_TITLE_KEYS = [\"title\", \"name\", \"label\", \"id\", \"key\"];\n\nconst SUMMARY_SEPARATOR = \" · \";\nconst VALUE_SEPARATOR = \", \";\n\n// resolveItemSpec reads the array's `x-item` and fills in every default, so the\n// renderer never has to ask whether a key was supplied. With no `x-item` at all\n// the result reproduces today's behaviour exactly: an `Item <n>` title and an\n// \"Add item\" button.\nexport function resolveItemSpec(\n arraySchema: JsonSchemaProperty,\n itemSchema: JsonSchemaProperty | undefined,\n): ArrayItemSpec {\n const raw = isPlainObject(arraySchema[\"x-item\"])\n ? (arraySchema[\"x-item\"] as ArrayItemSpec)\n : {};\n const title = stringArray(raw.title);\n const summary = summaryParts(raw.summary);\n const glyph = typeof raw.glyph === \"string\" ? raw.glyph : autoGlyphKey(itemSchema);\n return {\n title: title.length > 0 ? title : DEFAULT_TITLE_KEYS,\n ...(typeof raw.fallback === \"string\" && raw.fallback ? { fallback: raw.fallback } : {}),\n ...(summary.length > 0 ? { summary } : {}),\n ...(glyph ? { glyph } : {}),\n ...(typeof raw.badge === \"string\" && raw.badge ? { badge: raw.badge } : {}),\n ...(typeof raw.flag === \"string\" && raw.flag ? { flag: raw.flag } : {}),\n // Only carried when the schema actually said something: an absent key means\n // every action, while an explicit empty list means none, and those two\n // cannot be told apart once the default has been filled in.\n ...(Array.isArray(raw.actions) ? { actions: itemActions(raw.actions) } : {}),\n noun: firstNonEmpty([raw.noun, itemSchema?.title]) ?? \"item\",\n nounPlural: firstNonEmpty([raw.nounPlural, arraySchema.title]) ?? \"items\",\n ...(typeof raw.empty === \"string\" && raw.empty ? { empty: raw.empty } : {}),\n };\n}\n\nconst ITEM_ACTIONS: ArrayItemAction[] = [\"reorder\", \"duplicate\", \"remove\"];\n\nfunction itemActions(value: unknown[]): ArrayItemAction[] {\n return value.filter((entry): entry is ArrayItemAction =>\n ITEM_ACTIONS.includes(entry as ArrayItemAction),\n );\n}\n\n// itemActionsAllow is the one question every array display asks of `x-item`, so\n// the accordion and the cards never disagree about what a schema permitted.\nexport function itemActionsAllow(spec: ArrayItemSpec, action: ArrayItemAction): boolean {\n return spec.actions ? spec.actions.includes(action) : true;\n}\n\n// autoGlyphKey picks the item property that can colour a row without being told:\n// the first enum carrying per-value icons. Keeps a schema that already declares\n// x-enum-icons from having to repeat itself in x-item.\nfunction autoGlyphKey(itemSchema: JsonSchemaProperty | undefined): string | undefined {\n for (const [key, prop] of Object.entries(itemSchema?.properties ?? {})) {\n const icons = prop[\"x-enum-icons\"];\n if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;\n }\n return undefined;\n}\n\n// itemSummaryFor derives one collapsed row from the item's raw VALUE — never\n// from its rendered fields. A consumer pre-extension may hide a property's\n// control entirely (returning null) and still have it appear in the summary.\nexport function itemSummaryFor({\n item,\n index,\n spec,\n itemSchema,\n}: {\n item: unknown;\n index: number;\n spec: ArrayItemSpec;\n itemSchema: JsonSchemaProperty | undefined;\n}): ArrayItemSummary {\n const obj = isPlainObject(item) ? item : {};\n const props = itemSchema?.properties ?? {};\n\n const title =\n firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ??\n spec.fallback ??\n `Item ${index + 1}`;\n\n const summary = (spec.summary ?? [])\n .map((part) => summaryPart(obj, part))\n .filter((s): s is string => !!s)\n .join(SUMMARY_SEPARATOR);\n\n const glyphValue = spec.glyph ? text(obj[spec.glyph]) : \"\";\n const glyphProp = spec.glyph ? props[spec.glyph] : undefined;\n const badgeValue = spec.badge ? text(obj[spec.badge]) : \"\";\n const badgeProp = spec.badge ? props[spec.badge] : undefined;\n const badgeIcon = badgeProp?.[\"x-enum-icons\"]?.[badgeValue];\n\n return {\n title,\n ...(summary ? { summary } : {}),\n ...(spec.glyph\n ? {\n glyph: {\n ...(glyphProp?.[\"x-enum-icons\"]?.[glyphValue]\n ? { icon: glyphProp[\"x-enum-icons\"][glyphValue] }\n : {}),\n tone: normalizeTone(glyphProp?.[\"x-enum-tones\"]?.[glyphValue]),\n ...(glyphValue ? { label: enumLabel(glyphProp, glyphValue) } : {}),\n },\n }\n : {}),\n ...(badgeValue\n ? {\n badge: {\n ...(badgeIcon ? { icon: badgeIcon } : {}),\n label: enumLabel(badgeProp, badgeValue),\n },\n }\n : {}),\n ...(spec.flag && obj[spec.flag] === true ? { flagged: true } : {}),\n };\n}\n\n// The add row's button text — \"Add parameter\" when the schema names its noun,\n// and the historical \"Add item\" when it does not.\nexport function addItemLabel(spec: ArrayItemSpec): string {\n return `Add ${spec.noun ?? \"item\"}`;\n}\n\nexport function itemCountLabel(spec: ArrayItemSpec, count: number): string {\n return count === 1\n ? `1 ${spec.noun ?? \"item\"}`\n : `${count} ${spec.nounPlural ?? \"items\"}`;\n}\n\n// The zero-item explanation. Falls back to the array's own description, so a\n// schema that already documents the field gets the empty state for free.\nexport function emptyItemsCopy(\n spec: ArrayItemSpec,\n arraySchema: JsonSchemaProperty,\n): string | undefined {\n if (spec.empty) return spec.empty;\n const description = typeof arraySchema.description === \"string\" ? arraySchema.description.trim() : \"\";\n return description || undefined;\n}\n\nexport function noItemsLabel(spec: ArrayItemSpec): string {\n return `No ${spec.nounPlural ?? \"items\"} yet`;\n}\n\n// summaryPart renders one part, substituting the value into a single literal\n// `{}` in the pattern. A pattern without `{}` renders as-is (it is a literal),\n// and a missing value drops the part rather than leaving a dangling separator.\nfunction summaryPart(\n obj: Record<string, unknown>,\n part: string | ArrayItemSummaryPart,\n): string | undefined {\n const { property, pattern } = typeof part === \"string\" ? { property: part, pattern: undefined } : part;\n const value = text(obj[property]);\n if (!value) return undefined;\n return pattern ? pattern.replace(\"{}\", value) : value;\n}\n\n// enumLabel prefers the human label the schema declares for a code, falling back\n// to the code itself. Unlike the combobox option list this does NOT render\n// \"Label (code)\" — a chip has room for one of the two, and the label is the one\n// worth reading.\nfunction enumLabel(prop: JsonSchemaProperty | undefined, value: string): string {\n const label = prop?.[\"x-enum-labels\"]?.[value];\n return typeof label === \"string\" && label ? label : value;\n}\n\n// text flattens a value to its display string. Arrays join, so a list-valued\n// property still reads as one line.\nfunction text(value: unknown): string {\n if (value === undefined || value === null) return \"\";\n if (Array.isArray(value)) return value.map(text).filter(Boolean).join(VALUE_SEPARATOR);\n if (typeof value === \"object\") return \"\";\n return String(value).trim();\n}\n\nfunction stringArray(value: unknown): string[] {\n if (typeof value === \"string\") return [value];\n if (!Array.isArray(value)) return [];\n return value.filter((v): v is string => typeof v === \"string\" && !!v);\n}\n\nfunction summaryParts(value: unknown): Array<string | ArrayItemSummaryPart> {\n if (!Array.isArray(value)) return [];\n return (value as unknown[]).flatMap((part): Array<string | ArrayItemSummaryPart> => {\n if (typeof part === \"string\" && part) return [part];\n if (isPlainObject(part) && typeof part.property === \"string\" && part.property) {\n return [\n {\n property: part.property,\n ...(typeof part.pattern === \"string\" && part.pattern ? { pattern: part.pattern } : {}),\n } satisfies ArrayItemSummaryPart,\n ];\n }\n return [];\n });\n}\n\nfunction firstNonEmpty(values: Array<string | undefined>): string | undefined {\n for (const value of values) {\n const trimmed = typeof value === \"string\" ? value.trim() : \"\";\n if (trimmed) return trimmed;\n }\n return undefined;\n}\n"],"names":["isPlainObject","normalizeTone"],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-form-item-summary.cjs","sources":["../../src/components/json-schema-form-item-summary.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport { normalizeTone } from \"./json-schema-form-tone\";\nimport type {\n ArrayItemAction,\n ArrayItemSpec,\n ArrayItemSummary,\n ArrayItemSummaryPart,\n JsonSchemaObject,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\n// Property names worth trying for a row title when the schema does not say.\n// Ordered most-human-readable first.\nconst DEFAULT_TITLE_KEYS = [\"title\", \"name\", \"label\", \"id\", \"key\"];\n\nconst SUMMARY_SEPARATOR = \" · \";\nconst VALUE_SEPARATOR = \", \";\n\n// resolveItemSpec reads the array's `x-item` and fills in every default, so the\n// renderer never has to ask whether a key was supplied. With no `x-item` at all\n// the result reproduces today's behaviour exactly: an `Item <n>` title and an\n// \"Add item\" button.\nexport function resolveItemSpec(\n arraySchema: JsonSchemaProperty,\n itemSchema: JsonSchemaProperty | undefined,\n): ArrayItemSpec {\n const raw = isPlainObject(arraySchema[\"x-item\"])\n ? (arraySchema[\"x-item\"] as ArrayItemSpec)\n : {};\n const title = stringArray(raw.title);\n const summary = summaryParts(raw.summary);\n const glyph = typeof raw.glyph === \"string\" ? raw.glyph : autoGlyphKey(itemSchema);\n return {\n title: title.length > 0 ? title : DEFAULT_TITLE_KEYS,\n ...(typeof raw.fallback === \"string\" && raw.fallback ? { fallback: raw.fallback } : {}),\n ...(summary.length > 0 ? { summary } : {}),\n ...(glyph ? { glyph } : {}),\n ...(typeof raw.badge === \"string\" && raw.badge ? { badge: raw.badge } : {}),\n ...(typeof raw.flag === \"string\" && raw.flag ? { flag: raw.flag } : {}),\n // Only carried when the schema actually said something: an absent key means\n // every action, while an explicit empty list means none, and those two\n // cannot be told apart once the default has been filled in.\n ...(Array.isArray(raw.actions) ? { actions: itemActions(raw.actions) } : {}),\n noun: firstNonEmpty([raw.noun, itemSchema?.title]) ?? \"item\",\n nounPlural: firstNonEmpty([raw.nounPlural, arraySchema.title]) ?? \"items\",\n ...(typeof raw.empty === \"string\" && raw.empty ? { empty: raw.empty } : {}),\n };\n}\n\nconst ITEM_ACTIONS: ArrayItemAction[] = [\"reorder\", \"duplicate\", \"remove\"];\n\nfunction itemActions(value: unknown[]): ArrayItemAction[] {\n return value.filter((entry): entry is ArrayItemAction =>\n ITEM_ACTIONS.includes(entry as ArrayItemAction),\n );\n}\n\n// itemActionsAllow is the one question every array display asks of `x-item`, so\n// the accordion and the cards never disagree about what a schema permitted.\nexport function itemActionsAllow(spec: ArrayItemSpec, action: ArrayItemAction): boolean {\n return spec.actions ? spec.actions.includes(action) : true;\n}\n\n// itemProperties is the item schema's effective properties — `allOf` members\n// included, so items composed of flattened `$ref`s summarize like any other —\n// resolved against `value`.\nfunction itemProperties(\n itemSchema: JsonSchemaProperty | undefined,\n value: Record<string, unknown>,\n): Record<string, JsonSchemaProperty> {\n return itemSchema ? effectiveProperties(itemSchema as JsonSchemaObject, value).properties : {};\n}\n\n// autoGlyphKey picks the item property that can colour a row without being told:\n// the first enum carrying per-value icons. Keeps a schema that already declares\n// x-enum-icons from having to repeat itself in x-item. The spec is one per\n// array, so there is no item value to select a conditional branch: only base\n// and unconditional properties (and `else` branches, which `{}` selects) count.\nfunction autoGlyphKey(itemSchema: JsonSchemaProperty | undefined): string | undefined {\n for (const [key, prop] of Object.entries(itemProperties(itemSchema, {}))) {\n const icons = prop[\"x-enum-icons\"];\n if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;\n }\n return undefined;\n}\n\n// itemSummaryFor derives one collapsed row from the item's raw VALUE — never\n// from its rendered fields. A consumer pre-extension may hide a property's\n// control entirely (returning null) and still have it appear in the summary.\nexport function itemSummaryFor({\n item,\n index,\n spec,\n itemSchema,\n}: {\n item: unknown;\n index: number;\n spec: ArrayItemSpec;\n itemSchema: JsonSchemaProperty | undefined;\n}): ArrayItemSummary {\n const obj = isPlainObject(item) ? item : {};\n // Resolved against this item's own value, as the item's body is rendered,\n // so a property a matching `then`/`else` branch declares labels its chip.\n const props = itemProperties(itemSchema, obj);\n\n const title =\n firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ??\n spec.fallback ??\n `Item ${index + 1}`;\n\n const summary = (spec.summary ?? [])\n .map((part) => summaryPart(obj, part))\n .filter((s): s is string => !!s)\n .join(SUMMARY_SEPARATOR);\n\n const glyphValue = spec.glyph ? text(obj[spec.glyph]) : \"\";\n const glyphProp = spec.glyph ? props[spec.glyph] : undefined;\n const badgeValue = spec.badge ? text(obj[spec.badge]) : \"\";\n const badgeProp = spec.badge ? props[spec.badge] : undefined;\n const badgeIcon = badgeProp?.[\"x-enum-icons\"]?.[badgeValue];\n\n return {\n title,\n ...(summary ? { summary } : {}),\n ...(spec.glyph\n ? {\n glyph: {\n ...(glyphProp?.[\"x-enum-icons\"]?.[glyphValue]\n ? { icon: glyphProp[\"x-enum-icons\"][glyphValue] }\n : {}),\n tone: normalizeTone(glyphProp?.[\"x-enum-tones\"]?.[glyphValue]),\n ...(glyphValue ? { label: enumLabel(glyphProp, glyphValue) } : {}),\n },\n }\n : {}),\n ...(badgeValue\n ? {\n badge: {\n ...(badgeIcon ? { icon: badgeIcon } : {}),\n label: enumLabel(badgeProp, badgeValue),\n },\n }\n : {}),\n ...(spec.flag && obj[spec.flag] === true ? { flagged: true } : {}),\n };\n}\n\n// The add row's button text — \"Add parameter\" when the schema names its noun,\n// and the historical \"Add item\" when it does not.\nexport function addItemLabel(spec: ArrayItemSpec): string {\n return `Add ${spec.noun ?? \"item\"}`;\n}\n\nexport function itemCountLabel(spec: ArrayItemSpec, count: number): string {\n return count === 1\n ? `1 ${spec.noun ?? \"item\"}`\n : `${count} ${spec.nounPlural ?? \"items\"}`;\n}\n\n// The zero-item explanation. Falls back to the array's own description, so a\n// schema that already documents the field gets the empty state for free.\nexport function emptyItemsCopy(\n spec: ArrayItemSpec,\n arraySchema: JsonSchemaProperty,\n): string | undefined {\n if (spec.empty) return spec.empty;\n const description = typeof arraySchema.description === \"string\" ? arraySchema.description.trim() : \"\";\n return description || undefined;\n}\n\nexport function noItemsLabel(spec: ArrayItemSpec): string {\n return `No ${spec.nounPlural ?? \"items\"} yet`;\n}\n\n// summaryPart renders one part, substituting the value into a single literal\n// `{}` in the pattern. A pattern without `{}` renders as-is (it is a literal),\n// and a missing value drops the part rather than leaving a dangling separator.\nfunction summaryPart(\n obj: Record<string, unknown>,\n part: string | ArrayItemSummaryPart,\n): string | undefined {\n const { property, pattern } = typeof part === \"string\" ? { property: part, pattern: undefined } : part;\n const value = text(obj[property]);\n if (!value) return undefined;\n return pattern ? pattern.replace(\"{}\", value) : value;\n}\n\n// enumLabel prefers the human label the schema declares for a code, falling back\n// to the code itself. Unlike the combobox option list this does NOT render\n// \"Label (code)\" — a chip has room for one of the two, and the label is the one\n// worth reading.\nfunction enumLabel(prop: JsonSchemaProperty | undefined, value: string): string {\n const label = prop?.[\"x-enum-labels\"]?.[value];\n return typeof label === \"string\" && label ? label : value;\n}\n\n// text flattens a value to its display string. Arrays join, so a list-valued\n// property still reads as one line.\nfunction text(value: unknown): string {\n if (value === undefined || value === null) return \"\";\n if (Array.isArray(value)) return value.map(text).filter(Boolean).join(VALUE_SEPARATOR);\n if (typeof value === \"object\") return \"\";\n return String(value).trim();\n}\n\nfunction stringArray(value: unknown): string[] {\n if (typeof value === \"string\") return [value];\n if (!Array.isArray(value)) return [];\n return value.filter((v): v is string => typeof v === \"string\" && !!v);\n}\n\nfunction summaryParts(value: unknown): Array<string | ArrayItemSummaryPart> {\n if (!Array.isArray(value)) return [];\n return (value as unknown[]).flatMap((part): Array<string | ArrayItemSummaryPart> => {\n if (typeof part === \"string\" && part) return [part];\n if (isPlainObject(part) && typeof part.property === \"string\" && part.property) {\n return [\n {\n property: part.property,\n ...(typeof part.pattern === \"string\" && part.pattern ? { pattern: part.pattern } : {}),\n } satisfies ArrayItemSummaryPart,\n ];\n }\n return [];\n });\n}\n\nfunction firstNonEmpty(values: Array<string | undefined>): string | undefined {\n for (const value of values) {\n const trimmed = typeof value === \"string\" ? value.trim() : \"\";\n if (trimmed) return trimmed;\n }\n return undefined;\n}\n"],"names":["isPlainObject","effectiveProperties","normalizeTone"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ArrayItemAction, ArrayItemSpec, ArrayItemSummary, JsonSchemaProperty } from './json-schema-form-types';
1
+ import { ArrayItemAction, ArrayItemSpec, ArrayItemSummary, JsonSchemaProperty } from './json-schema-form-types.js';
2
2
  export declare function resolveItemSpec(arraySchema: JsonSchemaProperty, itemSchema: JsonSchemaProperty | undefined): ArrayItemSpec;
3
3
  export declare function itemActionsAllow(spec: ArrayItemSpec, action: ArrayItemAction): boolean;
4
4
  export declare function itemSummaryFor({ item, index, spec, itemSchema, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-item-summary.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-item-summary.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,wBAAgB,eAAe,CAC7B,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,kBAAkB,GAAG,SAAS,GACzC,aAAa,CAsBf;AAYD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAEtF;AAgBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,UAAU,GACX,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC5C,GAAG,gBAAgB,CA4CnB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAID,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,kBAAkB,GAC9B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"json-schema-form-item-summary.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-item-summary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAGhB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,wBAAgB,eAAe,CAC7B,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,kBAAkB,GAAG,SAAS,GACzC,aAAa,CAsBf;AAYD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAEtF;AA4BD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,UAAU,GACX,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC5C,GAAG,gBAAgB,CA8CnB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAID,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,kBAAkB,GAC9B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD"}
@@ -1,4 +1,5 @@
1
1
  import { isPlainObject } from "../lib/collections.js";
2
+ import { effectiveProperties } from "./json-schema-form-conditionals.js";
2
3
  import { normalizeTone } from "./json-schema-form-tone.js";
3
4
  const DEFAULT_TITLE_KEYS = ["title", "name", "label", "id", "key"];
4
5
  const SUMMARY_SEPARATOR = " · ";
@@ -33,8 +34,11 @@ function itemActions(value) {
33
34
  function itemActionsAllow(spec, action) {
34
35
  return spec.actions ? spec.actions.includes(action) : true;
35
36
  }
37
+ function itemProperties(itemSchema, value) {
38
+ return itemSchema ? effectiveProperties(itemSchema, value).properties : {};
39
+ }
36
40
  function autoGlyphKey(itemSchema) {
37
- for (const [key, prop] of Object.entries((itemSchema == null ? void 0 : itemSchema.properties) ?? {})) {
41
+ for (const [key, prop] of Object.entries(itemProperties(itemSchema, {}))) {
38
42
  const icons = prop["x-enum-icons"];
39
43
  if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;
40
44
  }
@@ -48,7 +52,7 @@ function itemSummaryFor({
48
52
  }) {
49
53
  var _a, _b, _c;
50
54
  const obj = isPlainObject(item) ? item : {};
51
- const props = (itemSchema == null ? void 0 : itemSchema.properties) ?? {};
55
+ const props = itemProperties(itemSchema, obj);
52
56
  const title = firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ?? spec.fallback ?? `Item ${index + 1}`;
53
57
  const summary = (spec.summary ?? []).map((part) => summaryPart(obj, part)).filter((s) => !!s).join(SUMMARY_SEPARATOR);
54
58
  const glyphValue = spec.glyph ? text(obj[spec.glyph]) : "";
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-item-summary.js","sources":["../../src/components/json-schema-form-item-summary.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport { normalizeTone } from \"./json-schema-form-tone\";\nimport type {\n ArrayItemAction,\n ArrayItemSpec,\n ArrayItemSummary,\n ArrayItemSummaryPart,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\n// Property names worth trying for a row title when the schema does not say.\n// Ordered most-human-readable first.\nconst DEFAULT_TITLE_KEYS = [\"title\", \"name\", \"label\", \"id\", \"key\"];\n\nconst SUMMARY_SEPARATOR = \" · \";\nconst VALUE_SEPARATOR = \", \";\n\n// resolveItemSpec reads the array's `x-item` and fills in every default, so the\n// renderer never has to ask whether a key was supplied. With no `x-item` at all\n// the result reproduces today's behaviour exactly: an `Item <n>` title and an\n// \"Add item\" button.\nexport function resolveItemSpec(\n arraySchema: JsonSchemaProperty,\n itemSchema: JsonSchemaProperty | undefined,\n): ArrayItemSpec {\n const raw = isPlainObject(arraySchema[\"x-item\"])\n ? (arraySchema[\"x-item\"] as ArrayItemSpec)\n : {};\n const title = stringArray(raw.title);\n const summary = summaryParts(raw.summary);\n const glyph = typeof raw.glyph === \"string\" ? raw.glyph : autoGlyphKey(itemSchema);\n return {\n title: title.length > 0 ? title : DEFAULT_TITLE_KEYS,\n ...(typeof raw.fallback === \"string\" && raw.fallback ? { fallback: raw.fallback } : {}),\n ...(summary.length > 0 ? { summary } : {}),\n ...(glyph ? { glyph } : {}),\n ...(typeof raw.badge === \"string\" && raw.badge ? { badge: raw.badge } : {}),\n ...(typeof raw.flag === \"string\" && raw.flag ? { flag: raw.flag } : {}),\n // Only carried when the schema actually said something: an absent key means\n // every action, while an explicit empty list means none, and those two\n // cannot be told apart once the default has been filled in.\n ...(Array.isArray(raw.actions) ? { actions: itemActions(raw.actions) } : {}),\n noun: firstNonEmpty([raw.noun, itemSchema?.title]) ?? \"item\",\n nounPlural: firstNonEmpty([raw.nounPlural, arraySchema.title]) ?? \"items\",\n ...(typeof raw.empty === \"string\" && raw.empty ? { empty: raw.empty } : {}),\n };\n}\n\nconst ITEM_ACTIONS: ArrayItemAction[] = [\"reorder\", \"duplicate\", \"remove\"];\n\nfunction itemActions(value: unknown[]): ArrayItemAction[] {\n return value.filter((entry): entry is ArrayItemAction =>\n ITEM_ACTIONS.includes(entry as ArrayItemAction),\n );\n}\n\n// itemActionsAllow is the one question every array display asks of `x-item`, so\n// the accordion and the cards never disagree about what a schema permitted.\nexport function itemActionsAllow(spec: ArrayItemSpec, action: ArrayItemAction): boolean {\n return spec.actions ? spec.actions.includes(action) : true;\n}\n\n// autoGlyphKey picks the item property that can colour a row without being told:\n// the first enum carrying per-value icons. Keeps a schema that already declares\n// x-enum-icons from having to repeat itself in x-item.\nfunction autoGlyphKey(itemSchema: JsonSchemaProperty | undefined): string | undefined {\n for (const [key, prop] of Object.entries(itemSchema?.properties ?? {})) {\n const icons = prop[\"x-enum-icons\"];\n if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;\n }\n return undefined;\n}\n\n// itemSummaryFor derives one collapsed row from the item's raw VALUE — never\n// from its rendered fields. A consumer pre-extension may hide a property's\n// control entirely (returning null) and still have it appear in the summary.\nexport function itemSummaryFor({\n item,\n index,\n spec,\n itemSchema,\n}: {\n item: unknown;\n index: number;\n spec: ArrayItemSpec;\n itemSchema: JsonSchemaProperty | undefined;\n}): ArrayItemSummary {\n const obj = isPlainObject(item) ? item : {};\n const props = itemSchema?.properties ?? {};\n\n const title =\n firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ??\n spec.fallback ??\n `Item ${index + 1}`;\n\n const summary = (spec.summary ?? [])\n .map((part) => summaryPart(obj, part))\n .filter((s): s is string => !!s)\n .join(SUMMARY_SEPARATOR);\n\n const glyphValue = spec.glyph ? text(obj[spec.glyph]) : \"\";\n const glyphProp = spec.glyph ? props[spec.glyph] : undefined;\n const badgeValue = spec.badge ? text(obj[spec.badge]) : \"\";\n const badgeProp = spec.badge ? props[spec.badge] : undefined;\n const badgeIcon = badgeProp?.[\"x-enum-icons\"]?.[badgeValue];\n\n return {\n title,\n ...(summary ? { summary } : {}),\n ...(spec.glyph\n ? {\n glyph: {\n ...(glyphProp?.[\"x-enum-icons\"]?.[glyphValue]\n ? { icon: glyphProp[\"x-enum-icons\"][glyphValue] }\n : {}),\n tone: normalizeTone(glyphProp?.[\"x-enum-tones\"]?.[glyphValue]),\n ...(glyphValue ? { label: enumLabel(glyphProp, glyphValue) } : {}),\n },\n }\n : {}),\n ...(badgeValue\n ? {\n badge: {\n ...(badgeIcon ? { icon: badgeIcon } : {}),\n label: enumLabel(badgeProp, badgeValue),\n },\n }\n : {}),\n ...(spec.flag && obj[spec.flag] === true ? { flagged: true } : {}),\n };\n}\n\n// The add row's button text — \"Add parameter\" when the schema names its noun,\n// and the historical \"Add item\" when it does not.\nexport function addItemLabel(spec: ArrayItemSpec): string {\n return `Add ${spec.noun ?? \"item\"}`;\n}\n\nexport function itemCountLabel(spec: ArrayItemSpec, count: number): string {\n return count === 1\n ? `1 ${spec.noun ?? \"item\"}`\n : `${count} ${spec.nounPlural ?? \"items\"}`;\n}\n\n// The zero-item explanation. Falls back to the array's own description, so a\n// schema that already documents the field gets the empty state for free.\nexport function emptyItemsCopy(\n spec: ArrayItemSpec,\n arraySchema: JsonSchemaProperty,\n): string | undefined {\n if (spec.empty) return spec.empty;\n const description = typeof arraySchema.description === \"string\" ? arraySchema.description.trim() : \"\";\n return description || undefined;\n}\n\nexport function noItemsLabel(spec: ArrayItemSpec): string {\n return `No ${spec.nounPlural ?? \"items\"} yet`;\n}\n\n// summaryPart renders one part, substituting the value into a single literal\n// `{}` in the pattern. A pattern without `{}` renders as-is (it is a literal),\n// and a missing value drops the part rather than leaving a dangling separator.\nfunction summaryPart(\n obj: Record<string, unknown>,\n part: string | ArrayItemSummaryPart,\n): string | undefined {\n const { property, pattern } = typeof part === \"string\" ? { property: part, pattern: undefined } : part;\n const value = text(obj[property]);\n if (!value) return undefined;\n return pattern ? pattern.replace(\"{}\", value) : value;\n}\n\n// enumLabel prefers the human label the schema declares for a code, falling back\n// to the code itself. Unlike the combobox option list this does NOT render\n// \"Label (code)\" — a chip has room for one of the two, and the label is the one\n// worth reading.\nfunction enumLabel(prop: JsonSchemaProperty | undefined, value: string): string {\n const label = prop?.[\"x-enum-labels\"]?.[value];\n return typeof label === \"string\" && label ? label : value;\n}\n\n// text flattens a value to its display string. Arrays join, so a list-valued\n// property still reads as one line.\nfunction text(value: unknown): string {\n if (value === undefined || value === null) return \"\";\n if (Array.isArray(value)) return value.map(text).filter(Boolean).join(VALUE_SEPARATOR);\n if (typeof value === \"object\") return \"\";\n return String(value).trim();\n}\n\nfunction stringArray(value: unknown): string[] {\n if (typeof value === \"string\") return [value];\n if (!Array.isArray(value)) return [];\n return value.filter((v): v is string => typeof v === \"string\" && !!v);\n}\n\nfunction summaryParts(value: unknown): Array<string | ArrayItemSummaryPart> {\n if (!Array.isArray(value)) return [];\n return (value as unknown[]).flatMap((part): Array<string | ArrayItemSummaryPart> => {\n if (typeof part === \"string\" && part) return [part];\n if (isPlainObject(part) && typeof part.property === \"string\" && part.property) {\n return [\n {\n property: part.property,\n ...(typeof part.pattern === \"string\" && part.pattern ? { pattern: part.pattern } : {}),\n } satisfies ArrayItemSummaryPart,\n ];\n }\n return [];\n });\n}\n\nfunction firstNonEmpty(values: Array<string | undefined>): string | undefined {\n for (const value of values) {\n const trimmed = typeof value === \"string\" ? value.trim() : \"\";\n if (trimmed) return trimmed;\n }\n return undefined;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-form-item-summary.js","sources":["../../src/components/json-schema-form-item-summary.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport { normalizeTone } from \"./json-schema-form-tone\";\nimport type {\n ArrayItemAction,\n ArrayItemSpec,\n ArrayItemSummary,\n ArrayItemSummaryPart,\n JsonSchemaObject,\n JsonSchemaProperty,\n} from \"./json-schema-form-types\";\n\n// Property names worth trying for a row title when the schema does not say.\n// Ordered most-human-readable first.\nconst DEFAULT_TITLE_KEYS = [\"title\", \"name\", \"label\", \"id\", \"key\"];\n\nconst SUMMARY_SEPARATOR = \" · \";\nconst VALUE_SEPARATOR = \", \";\n\n// resolveItemSpec reads the array's `x-item` and fills in every default, so the\n// renderer never has to ask whether a key was supplied. With no `x-item` at all\n// the result reproduces today's behaviour exactly: an `Item <n>` title and an\n// \"Add item\" button.\nexport function resolveItemSpec(\n arraySchema: JsonSchemaProperty,\n itemSchema: JsonSchemaProperty | undefined,\n): ArrayItemSpec {\n const raw = isPlainObject(arraySchema[\"x-item\"])\n ? (arraySchema[\"x-item\"] as ArrayItemSpec)\n : {};\n const title = stringArray(raw.title);\n const summary = summaryParts(raw.summary);\n const glyph = typeof raw.glyph === \"string\" ? raw.glyph : autoGlyphKey(itemSchema);\n return {\n title: title.length > 0 ? title : DEFAULT_TITLE_KEYS,\n ...(typeof raw.fallback === \"string\" && raw.fallback ? { fallback: raw.fallback } : {}),\n ...(summary.length > 0 ? { summary } : {}),\n ...(glyph ? { glyph } : {}),\n ...(typeof raw.badge === \"string\" && raw.badge ? { badge: raw.badge } : {}),\n ...(typeof raw.flag === \"string\" && raw.flag ? { flag: raw.flag } : {}),\n // Only carried when the schema actually said something: an absent key means\n // every action, while an explicit empty list means none, and those two\n // cannot be told apart once the default has been filled in.\n ...(Array.isArray(raw.actions) ? { actions: itemActions(raw.actions) } : {}),\n noun: firstNonEmpty([raw.noun, itemSchema?.title]) ?? \"item\",\n nounPlural: firstNonEmpty([raw.nounPlural, arraySchema.title]) ?? \"items\",\n ...(typeof raw.empty === \"string\" && raw.empty ? { empty: raw.empty } : {}),\n };\n}\n\nconst ITEM_ACTIONS: ArrayItemAction[] = [\"reorder\", \"duplicate\", \"remove\"];\n\nfunction itemActions(value: unknown[]): ArrayItemAction[] {\n return value.filter((entry): entry is ArrayItemAction =>\n ITEM_ACTIONS.includes(entry as ArrayItemAction),\n );\n}\n\n// itemActionsAllow is the one question every array display asks of `x-item`, so\n// the accordion and the cards never disagree about what a schema permitted.\nexport function itemActionsAllow(spec: ArrayItemSpec, action: ArrayItemAction): boolean {\n return spec.actions ? spec.actions.includes(action) : true;\n}\n\n// itemProperties is the item schema's effective properties — `allOf` members\n// included, so items composed of flattened `$ref`s summarize like any other —\n// resolved against `value`.\nfunction itemProperties(\n itemSchema: JsonSchemaProperty | undefined,\n value: Record<string, unknown>,\n): Record<string, JsonSchemaProperty> {\n return itemSchema ? effectiveProperties(itemSchema as JsonSchemaObject, value).properties : {};\n}\n\n// autoGlyphKey picks the item property that can colour a row without being told:\n// the first enum carrying per-value icons. Keeps a schema that already declares\n// x-enum-icons from having to repeat itself in x-item. The spec is one per\n// array, so there is no item value to select a conditional branch: only base\n// and unconditional properties (and `else` branches, which `{}` selects) count.\nfunction autoGlyphKey(itemSchema: JsonSchemaProperty | undefined): string | undefined {\n for (const [key, prop] of Object.entries(itemProperties(itemSchema, {}))) {\n const icons = prop[\"x-enum-icons\"];\n if (Array.isArray(prop.enum) && icons && Object.keys(icons).length > 0) return key;\n }\n return undefined;\n}\n\n// itemSummaryFor derives one collapsed row from the item's raw VALUE — never\n// from its rendered fields. A consumer pre-extension may hide a property's\n// control entirely (returning null) and still have it appear in the summary.\nexport function itemSummaryFor({\n item,\n index,\n spec,\n itemSchema,\n}: {\n item: unknown;\n index: number;\n spec: ArrayItemSpec;\n itemSchema: JsonSchemaProperty | undefined;\n}): ArrayItemSummary {\n const obj = isPlainObject(item) ? item : {};\n // Resolved against this item's own value, as the item's body is rendered,\n // so a property a matching `then`/`else` branch declares labels its chip.\n const props = itemProperties(itemSchema, obj);\n\n const title =\n firstNonEmpty((spec.title ?? DEFAULT_TITLE_KEYS).map((key) => text(obj[key]))) ??\n spec.fallback ??\n `Item ${index + 1}`;\n\n const summary = (spec.summary ?? [])\n .map((part) => summaryPart(obj, part))\n .filter((s): s is string => !!s)\n .join(SUMMARY_SEPARATOR);\n\n const glyphValue = spec.glyph ? text(obj[spec.glyph]) : \"\";\n const glyphProp = spec.glyph ? props[spec.glyph] : undefined;\n const badgeValue = spec.badge ? text(obj[spec.badge]) : \"\";\n const badgeProp = spec.badge ? props[spec.badge] : undefined;\n const badgeIcon = badgeProp?.[\"x-enum-icons\"]?.[badgeValue];\n\n return {\n title,\n ...(summary ? { summary } : {}),\n ...(spec.glyph\n ? {\n glyph: {\n ...(glyphProp?.[\"x-enum-icons\"]?.[glyphValue]\n ? { icon: glyphProp[\"x-enum-icons\"][glyphValue] }\n : {}),\n tone: normalizeTone(glyphProp?.[\"x-enum-tones\"]?.[glyphValue]),\n ...(glyphValue ? { label: enumLabel(glyphProp, glyphValue) } : {}),\n },\n }\n : {}),\n ...(badgeValue\n ? {\n badge: {\n ...(badgeIcon ? { icon: badgeIcon } : {}),\n label: enumLabel(badgeProp, badgeValue),\n },\n }\n : {}),\n ...(spec.flag && obj[spec.flag] === true ? { flagged: true } : {}),\n };\n}\n\n// The add row's button text — \"Add parameter\" when the schema names its noun,\n// and the historical \"Add item\" when it does not.\nexport function addItemLabel(spec: ArrayItemSpec): string {\n return `Add ${spec.noun ?? \"item\"}`;\n}\n\nexport function itemCountLabel(spec: ArrayItemSpec, count: number): string {\n return count === 1\n ? `1 ${spec.noun ?? \"item\"}`\n : `${count} ${spec.nounPlural ?? \"items\"}`;\n}\n\n// The zero-item explanation. Falls back to the array's own description, so a\n// schema that already documents the field gets the empty state for free.\nexport function emptyItemsCopy(\n spec: ArrayItemSpec,\n arraySchema: JsonSchemaProperty,\n): string | undefined {\n if (spec.empty) return spec.empty;\n const description = typeof arraySchema.description === \"string\" ? arraySchema.description.trim() : \"\";\n return description || undefined;\n}\n\nexport function noItemsLabel(spec: ArrayItemSpec): string {\n return `No ${spec.nounPlural ?? \"items\"} yet`;\n}\n\n// summaryPart renders one part, substituting the value into a single literal\n// `{}` in the pattern. A pattern without `{}` renders as-is (it is a literal),\n// and a missing value drops the part rather than leaving a dangling separator.\nfunction summaryPart(\n obj: Record<string, unknown>,\n part: string | ArrayItemSummaryPart,\n): string | undefined {\n const { property, pattern } = typeof part === \"string\" ? { property: part, pattern: undefined } : part;\n const value = text(obj[property]);\n if (!value) return undefined;\n return pattern ? pattern.replace(\"{}\", value) : value;\n}\n\n// enumLabel prefers the human label the schema declares for a code, falling back\n// to the code itself. Unlike the combobox option list this does NOT render\n// \"Label (code)\" — a chip has room for one of the two, and the label is the one\n// worth reading.\nfunction enumLabel(prop: JsonSchemaProperty | undefined, value: string): string {\n const label = prop?.[\"x-enum-labels\"]?.[value];\n return typeof label === \"string\" && label ? label : value;\n}\n\n// text flattens a value to its display string. Arrays join, so a list-valued\n// property still reads as one line.\nfunction text(value: unknown): string {\n if (value === undefined || value === null) return \"\";\n if (Array.isArray(value)) return value.map(text).filter(Boolean).join(VALUE_SEPARATOR);\n if (typeof value === \"object\") return \"\";\n return String(value).trim();\n}\n\nfunction stringArray(value: unknown): string[] {\n if (typeof value === \"string\") return [value];\n if (!Array.isArray(value)) return [];\n return value.filter((v): v is string => typeof v === \"string\" && !!v);\n}\n\nfunction summaryParts(value: unknown): Array<string | ArrayItemSummaryPart> {\n if (!Array.isArray(value)) return [];\n return (value as unknown[]).flatMap((part): Array<string | ArrayItemSummaryPart> => {\n if (typeof part === \"string\" && part) return [part];\n if (isPlainObject(part) && typeof part.property === \"string\" && part.property) {\n return [\n {\n property: part.property,\n ...(typeof part.pattern === \"string\" && part.pattern ? { pattern: part.pattern } : {}),\n } satisfies ArrayItemSummaryPart,\n ];\n }\n return [];\n });\n}\n\nfunction firstNonEmpty(values: Array<string | undefined>): string | undefined {\n for (const value of values) {\n const trimmed = typeof value === \"string\" ? value.trim() : \"\";\n if (trimmed) return trimmed;\n }\n return undefined;\n}\n"],"names":[],"mappings":"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"}
@@ -168,18 +168,35 @@ function HelpHint({ label, helper }) {
168
168
  }
169
169
  );
170
170
  }
171
+ function SectionHeading({
172
+ field,
173
+ label = field.label,
174
+ size,
175
+ helpDisplay
176
+ }) {
177
+ const { required, badge, helper, labelIcon } = field;
178
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: utils.cn("flex min-w-0 items-center gap-2", jsonSchemaFormSize.labelSizeClass[size]), children: [
179
+ /* @__PURE__ */ jsxRuntime.jsx(
180
+ Icon.LabelIcon,
181
+ {
182
+ icon: labelIcon,
183
+ className: "shrink-0 text-[15px] text-muted-foreground"
184
+ }
185
+ ),
186
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: label }),
187
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-destructive", children: "*" }),
188
+ badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: badge }),
189
+ helpDisplay === "hover" && helper && /* @__PURE__ */ jsxRuntime.jsx(HelpHint, { label, helper })
190
+ ] });
191
+ }
171
192
  function ObjectSection({
172
- label,
173
- required,
193
+ heading,
174
194
  size,
175
- badge,
176
195
  helper,
177
- labelIcon,
178
196
  helpDisplay,
179
197
  children
180
198
  }) {
181
199
  const hoverHelp = helpDisplay === "hover" && !!helper;
182
- const headed = label !== "";
183
200
  return /* @__PURE__ */ jsxRuntime.jsxs(
184
201
  "div",
185
202
  {
@@ -188,26 +205,17 @@ function ObjectSection({
188
205
  jsonSchemaFormSize.fieldInnerGapClass[size]
189
206
  ),
190
207
  children: [
191
- headed && /* @__PURE__ */ jsxRuntime.jsxs(
208
+ heading != null && // The header row owns the rule and weight, so whatever a post
209
+ // extension puts beside the heading sits inline in the same row.
210
+ /* @__PURE__ */ jsxRuntime.jsx(
192
211
  "div",
193
212
  {
213
+ "data-jsf-section-heading": true,
194
214
  className: utils.cn(
195
215
  "flex min-w-0 items-center gap-2 border-b border-border pb-1 font-semibold",
196
216
  jsonSchemaFormSize.labelSizeClass[size]
197
217
  ),
198
- children: [
199
- /* @__PURE__ */ jsxRuntime.jsx(
200
- Icon.LabelIcon,
201
- {
202
- icon: labelIcon,
203
- className: "shrink-0 text-[15px] text-muted-foreground"
204
- }
205
- ),
206
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: label }),
207
- required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-destructive", children: "*" }),
208
- badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: badge }),
209
- hoverHelp && helper && /* @__PURE__ */ jsxRuntime.jsx(HelpHint, { label, helper })
210
- ]
218
+ children: heading
211
219
  }
212
220
  ),
213
221
  helper && !hoverHelp && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "min-w-0 break-words text-xs text-muted-foreground", children: helper }),
@@ -221,4 +229,5 @@ exports.FieldWrapper = FieldWrapper;
221
229
  exports.FieldsGrid = FieldsGrid;
222
230
  exports.HelpHint = HelpHint;
223
231
  exports.ObjectSection = ObjectSection;
232
+ exports.SectionHeading = SectionHeading;
224
233
  //# sourceMappingURL=json-schema-form-layout.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-layout.cjs","sources":["../../src/components/json-schema-form-layout.tsx"],"sourcesContent":["import { useContext, type ReactNode } from \"react\";\nimport { PropertiesContext } from \"../data/properties-context\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, LabelIcon, type LabelIconSpec } from \"../data/Icon\";\nimport { UiQuestion } from \"../icons\";\nimport { HoverCard } from \"../overlay/HoverCard\";\nimport type {\n FieldControl,\n FormLayout,\n GridColumns,\n HelpDisplay,\n} from \"./json-schema-form-types\";\nimport { DEFAULT_COLUMN_MIN_WIDTH } from \"./json-schema-form-utils\";\nimport {\n controlMinHeightClass,\n fieldInnerGapClass,\n inlineRowGapClass,\n labelSizeClass,\n stackedRowGapClass,\n type FormSize,\n} from \"./json-schema-form-size\";\n\n// FieldsGrid is the container every group of field rows renders into — the\n// top-level form and each nested object/map. In inline mode it owns the single\n// 2-column track definition: `fit-content(labelMaxWidth)` for the label column,\n// `minmax(0, valueMaxWidth)` for the value column. Every field row is a\n// `subgrid` that inherits these tracks, so all labels share one column width and\n// every value lines up — a real form grid, not per-row independent grids.\n// (`fit-content()` is the only valid CSS for \"size to content, clamped to a max\"\n// — `min(w, max-content)` is rejected by the browser, which silently drops the\n// whole declaration and collapses every row to a stacked-looking column. The\n// template is an inline style because Tailwind can't interpolate runtime widths.)\n// Stacked mode is a plain single-column grid.\nexport function FieldsGrid({\n layout,\n size,\n columns,\n columnMinWidth,\n columnsMaxWidth,\n className,\n children,\n}: {\n layout: FormLayout;\n size: FormSize;\n // Object-level `x-columns`: split a stacked object into N equal columns, or\n // \"auto\" to fit as many `columnMinWidth`-wide columns as the container allows.\n // Fields span one column unless they set `x-col-span`. Ignored in inline mode\n // (which owns its own 2-track label/value layout).\n columns?: GridColumns;\n // `x-columns: \"auto\"` only: the minmax() floor for one column, and an optional\n // cap on the whole grid so controls don't stretch edge to edge on a wide\n // screen. CSS lengths, applied inline — a runtime width can't be a Tailwind\n // arbitrary class, because the scanner never sees it.\n columnMinWidth?: string;\n columnsMaxWidth?: string;\n // Object-level `x-classes`: extra classes merged onto the grid container\n // (e.g. `gap-2`, padding). Applied last so a standard utility wins over the\n // defaults via tailwind-merge.\n className?: string;\n children: ReactNode;\n}) {\n const propertiesParent = useContext(PropertiesContext);\n if (layout.mode === \"properties\") {\n return (\n <div\n className={cn(\n \"min-w-0 overflow-hidden rounded-md border border-border\",\n propertiesParent &&\n \"col-span-full grid grid-cols-subgrid rounded-none border-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n }\n if (layout.mode === \"inline\") {\n const labelMaxWidth = layout.labelMaxWidth ?? \"40ch\";\n const valueMaxWidth = layout.valueMaxWidth ?? \"600px\";\n return (\n <div\n className={cn(\"grid\", inlineRowGapClass[size], className)}\n style={{\n gridTemplateColumns: `fit-content(${labelMaxWidth}) minmax(0, ${valueMaxWidth})`,\n }}\n >\n {children}\n </div>\n );\n }\n if (columns === \"auto\") {\n return (\n <div\n className={cn(\"grid gap-x-4\", stackedRowGapClass[size], className)}\n style={{\n gridTemplateColumns: `repeat(auto-fill, minmax(${columnMinWidth ?? DEFAULT_COLUMN_MIN_WIDTH}, 1fr))`,\n ...(columnsMaxWidth ? { maxWidth: columnsMaxWidth } : {}),\n }}\n >\n {children}\n </div>\n );\n }\n if (columns && columns > 1) {\n return (\n <div\n className={cn(\"grid gap-x-3\", stackedRowGapClass[size], className)}\n style={{ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))` }}\n >\n {children}\n </div>\n );\n }\n return (\n <div className={cn(\"grid\", stackedRowGapClass[size], className)}>\n {children}\n </div>\n );\n}\n\n// FieldWrapper lays out a single label + value (+ helper/error). In inline mode\n// it is a `subgrid` row spanning the parent FieldsGrid's two columns, so its\n// label and value snap to the shared label/value tracks (helper/error sit under\n// the value column). In stacked mode the label sits tight above its control as\n// one unit, capped at valueMaxWidth so controls don't stretch edge to edge.\nexport function FieldWrapper({\n label,\n value,\n helper,\n error,\n layout,\n size,\n maxWidth,\n}: {\n label: ReactNode;\n value: ReactNode;\n helper?: ReactNode;\n error?: ReactNode;\n layout: FormLayout;\n size: FormSize;\n // Overrides the stacked value-width cap. A field spanning the full row of a\n // multi-column grid passes \"none\", so it actually fills the row it was given\n // instead of stopping at the shared 600px cap.\n maxWidth?: string;\n}) {\n if (layout.mode === \"inline\") {\n return (\n <div className=\"col-span-2 grid grid-cols-subgrid items-start gap-x-3 gap-y-0.5\">\n <div\n className={cn(\n \"flex min-w-0 items-center\",\n controlMinHeightClass[size],\n )}\n >\n {label}\n </div>\n <div className=\"min-w-0\">{value}</div>\n {helper && (\n <p className=\"col-start-2 text-xs text-muted-foreground\">{helper}</p>\n )}\n {error && (\n <p className=\"col-start-2 text-xs text-destructive\">{error}</p>\n )}\n </div>\n );\n }\n return (\n <div\n className=\"flex w-full flex-col gap-1\"\n style={{ maxWidth: maxWidth ?? layout.valueMaxWidth ?? \"600px\" }}\n >\n {label}\n {value}\n {helper && <p className=\"text-xs text-muted-foreground\">{helper}</p>}\n {error && <p className=\"text-xs text-destructive\">{error}</p>}\n </div>\n );\n}\n\nexport function FieldLabel({\n field,\n fieldId,\n size,\n helpDisplay,\n}: {\n field: FieldControl;\n fieldId: string;\n size: FormSize;\n // When \"hover\", the description rides on the label as a `?` instead of being\n // rendered as a paragraph under the control by FieldWrapper.\n helpDisplay?: HelpDisplay;\n}) {\n return (\n <label\n htmlFor={fieldId}\n className={cn(\n \"flex min-w-0 items-center gap-2 font-medium\",\n labelSizeClass[size],\n field.labelClassName,\n )}\n >\n <LabelIcon\n icon={field.labelIcon}\n className=\"shrink-0 text-[15px] text-muted-foreground\"\n />\n <span\n className=\"truncate\"\n title={field.label !== field.key ? field.key : undefined}\n >\n {field.label}\n </span>\n {field.required && <span className=\"shrink-0 text-destructive\">*</span>}\n {field.badge && (\n <span className=\"shrink-0 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 {helpDisplay === \"hover\" && field.helper && (\n <HelpHint label={field.label} helper={field.helper} />\n )}\n </label>\n );\n}\n\n// HelpHint is the `?` affordance that replaces a permanent description\n// paragraph. HoverCard opens on focus as well as hover, so the text stays\n// reachable from the keyboard rather than being mouse-only.\nexport function HelpHint({ label, helper }: { label: string; helper: string }) {\n return (\n <HoverCard\n placement=\"top\"\n trigger={\n <button\n type=\"button\"\n aria-label={`About ${label}`}\n className=\"shrink-0 cursor-help text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n <Icon icon={UiQuestion} className=\"text-sm\" />\n </button>\n }\n cardClassName=\"max-w-xs whitespace-normal text-left text-xs font-normal text-foreground\"\n >\n {helper}\n </HoverCard>\n );\n}\n\n// ObjectSection renders a nested object as a labelled section: a header row\n// (the field label + required/badge) above its fields, which fill the full\n// width below. It replaces the inline label + bordered box so nested objects\n// read as flat, headed groups rather than indented sub-forms. `col-span-full`\n// makes it span both tracks of an inline FieldsGrid (full width, not crammed\n// into the value column); in a stacked single-column grid it is a no-op.\n//\n// A field whose schema gives it an EMPTY title renders with no header at all:\n// the host already titled it (a collapsible section of its own, a dialog), and\n// a headed section inside that one would say the same word twice. A missing\n// title is not this — it falls back to the humanised key, as every other\n// control does — so only an explicit `\"title\": \"\"` opts out.\nexport function ObjectSection({\n label,\n required,\n size,\n badge,\n helper,\n labelIcon,\n helpDisplay,\n children,\n}: {\n label: string;\n required: boolean;\n size: FormSize;\n badge?: string;\n helper?: string;\n labelIcon?: LabelIconSpec;\n helpDisplay?: HelpDisplay;\n children: ReactNode;\n}) {\n const hoverHelp = helpDisplay === \"hover\" && !!helper;\n const headed = label !== \"\";\n return (\n <div\n className={cn(\n \"col-span-full flex min-w-0 max-w-full flex-col\",\n fieldInnerGapClass[size],\n )}\n >\n {headed && (\n <div\n className={cn(\n \"flex min-w-0 items-center gap-2 border-b border-border pb-1 font-semibold\",\n labelSizeClass[size],\n )}\n >\n <LabelIcon\n icon={labelIcon}\n className=\"shrink-0 text-[15px] text-muted-foreground\"\n />\n <span className=\"min-w-0 truncate\">{label}</span>\n {required && <span className=\"shrink-0 text-destructive\">*</span>}\n {badge && (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {badge}\n </span>\n )}\n {hoverHelp && helper && <HelpHint label={label} helper={helper} />}\n </div>\n )}\n {helper && !hoverHelp && (\n <p className=\"min-w-0 break-words text-xs text-muted-foreground\">\n {helper}\n </p>\n )}\n {children}\n </div>\n );\n}\n"],"names":["useContext","PropertiesContext","jsx","cn","inlineRowGapClass","stackedRowGapClass","DEFAULT_COLUMN_MIN_WIDTH","jsxs","controlMinHeightClass","labelSizeClass","LabelIcon","HoverCard","Icon","UiQuestion","fieldInnerGapClass"],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-form-layout.cjs","sources":["../../src/components/json-schema-form-layout.tsx"],"sourcesContent":["import { useContext, type ReactNode } from \"react\";\nimport { PropertiesContext } from \"../data/properties-context\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, LabelIcon } from \"../data/Icon\";\nimport { UiQuestion } from \"../icons\";\nimport { HoverCard } from \"../overlay/HoverCard\";\nimport type {\n FieldControl,\n FormLayout,\n GridColumns,\n HelpDisplay,\n} from \"./json-schema-form-types\";\nimport { DEFAULT_COLUMN_MIN_WIDTH } from \"./json-schema-form-utils\";\nimport {\n controlMinHeightClass,\n fieldInnerGapClass,\n inlineRowGapClass,\n labelSizeClass,\n stackedRowGapClass,\n type FormSize,\n} from \"./json-schema-form-size\";\n\n// FieldsGrid is the container every group of field rows renders into — the\n// top-level form and each nested object/map. In inline mode it owns the single\n// 2-column track definition: `fit-content(labelMaxWidth)` for the label column,\n// `minmax(0, valueMaxWidth)` for the value column. Every field row is a\n// `subgrid` that inherits these tracks, so all labels share one column width and\n// every value lines up — a real form grid, not per-row independent grids.\n// (`fit-content()` is the only valid CSS for \"size to content, clamped to a max\"\n// — `min(w, max-content)` is rejected by the browser, which silently drops the\n// whole declaration and collapses every row to a stacked-looking column. The\n// template is an inline style because Tailwind can't interpolate runtime widths.)\n// Stacked mode is a plain single-column grid.\nexport function FieldsGrid({\n layout,\n size,\n columns,\n columnMinWidth,\n columnsMaxWidth,\n className,\n children,\n}: {\n layout: FormLayout;\n size: FormSize;\n // Object-level `x-columns`: split a stacked object into N equal columns, or\n // \"auto\" to fit as many `columnMinWidth`-wide columns as the container allows.\n // Fields span one column unless they set `x-col-span`. Ignored in inline mode\n // (which owns its own 2-track label/value layout).\n columns?: GridColumns;\n // `x-columns: \"auto\"` only: the minmax() floor for one column, and an optional\n // cap on the whole grid so controls don't stretch edge to edge on a wide\n // screen. CSS lengths, applied inline — a runtime width can't be a Tailwind\n // arbitrary class, because the scanner never sees it.\n columnMinWidth?: string;\n columnsMaxWidth?: string;\n // Object-level `x-classes`: extra classes merged onto the grid container\n // (e.g. `gap-2`, padding). Applied last so a standard utility wins over the\n // defaults via tailwind-merge.\n className?: string;\n children: ReactNode;\n}) {\n const propertiesParent = useContext(PropertiesContext);\n if (layout.mode === \"properties\") {\n return (\n <div\n className={cn(\n \"min-w-0 overflow-hidden rounded-md border border-border\",\n propertiesParent &&\n \"col-span-full grid grid-cols-subgrid rounded-none border-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n }\n if (layout.mode === \"inline\") {\n const labelMaxWidth = layout.labelMaxWidth ?? \"40ch\";\n const valueMaxWidth = layout.valueMaxWidth ?? \"600px\";\n return (\n <div\n className={cn(\"grid\", inlineRowGapClass[size], className)}\n style={{\n gridTemplateColumns: `fit-content(${labelMaxWidth}) minmax(0, ${valueMaxWidth})`,\n }}\n >\n {children}\n </div>\n );\n }\n if (columns === \"auto\") {\n return (\n <div\n className={cn(\"grid gap-x-4\", stackedRowGapClass[size], className)}\n style={{\n gridTemplateColumns: `repeat(auto-fill, minmax(${columnMinWidth ?? DEFAULT_COLUMN_MIN_WIDTH}, 1fr))`,\n ...(columnsMaxWidth ? { maxWidth: columnsMaxWidth } : {}),\n }}\n >\n {children}\n </div>\n );\n }\n if (columns && columns > 1) {\n return (\n <div\n className={cn(\"grid gap-x-3\", stackedRowGapClass[size], className)}\n style={{ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))` }}\n >\n {children}\n </div>\n );\n }\n return (\n <div className={cn(\"grid\", stackedRowGapClass[size], className)}>\n {children}\n </div>\n );\n}\n\n// FieldWrapper lays out a single label + value (+ helper/error). In inline mode\n// it is a `subgrid` row spanning the parent FieldsGrid's two columns, so its\n// label and value snap to the shared label/value tracks (helper/error sit under\n// the value column). In stacked mode the label sits tight above its control as\n// one unit, capped at valueMaxWidth so controls don't stretch edge to edge.\nexport function FieldWrapper({\n label,\n value,\n helper,\n error,\n layout,\n size,\n maxWidth,\n}: {\n label: ReactNode;\n value: ReactNode;\n helper?: ReactNode;\n error?: ReactNode;\n layout: FormLayout;\n size: FormSize;\n // Overrides the stacked value-width cap. A field spanning the full row of a\n // multi-column grid passes \"none\", so it actually fills the row it was given\n // instead of stopping at the shared 600px cap.\n maxWidth?: string;\n}) {\n if (layout.mode === \"inline\") {\n return (\n <div className=\"col-span-2 grid grid-cols-subgrid items-start gap-x-3 gap-y-0.5\">\n <div\n className={cn(\n \"flex min-w-0 items-center\",\n controlMinHeightClass[size],\n )}\n >\n {label}\n </div>\n <div className=\"min-w-0\">{value}</div>\n {helper && (\n <p className=\"col-start-2 text-xs text-muted-foreground\">{helper}</p>\n )}\n {error && (\n <p className=\"col-start-2 text-xs text-destructive\">{error}</p>\n )}\n </div>\n );\n }\n return (\n <div\n className=\"flex w-full flex-col gap-1\"\n style={{ maxWidth: maxWidth ?? layout.valueMaxWidth ?? \"600px\" }}\n >\n {label}\n {value}\n {helper && <p className=\"text-xs text-muted-foreground\">{helper}</p>}\n {error && <p className=\"text-xs text-destructive\">{error}</p>}\n </div>\n );\n}\n\nexport function FieldLabel({\n field,\n fieldId,\n size,\n helpDisplay,\n}: {\n field: FieldControl;\n fieldId: string;\n size: FormSize;\n // When \"hover\", the description rides on the label as a `?` instead of being\n // rendered as a paragraph under the control by FieldWrapper.\n helpDisplay?: HelpDisplay;\n}) {\n return (\n <label\n htmlFor={fieldId}\n className={cn(\n \"flex min-w-0 items-center gap-2 font-medium\",\n labelSizeClass[size],\n field.labelClassName,\n )}\n >\n <LabelIcon\n icon={field.labelIcon}\n className=\"shrink-0 text-[15px] text-muted-foreground\"\n />\n <span\n className=\"truncate\"\n title={field.label !== field.key ? field.key : undefined}\n >\n {field.label}\n </span>\n {field.required && <span className=\"shrink-0 text-destructive\">*</span>}\n {field.badge && (\n <span className=\"shrink-0 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 {helpDisplay === \"hover\" && field.helper && (\n <HelpHint label={field.label} helper={field.helper} />\n )}\n </label>\n );\n}\n\n// HelpHint is the `?` affordance that replaces a permanent description\n// paragraph. HoverCard opens on focus as well as hover, so the text stays\n// reachable from the keyboard rather than being mouse-only.\nexport function HelpHint({ label, helper }: { label: string; helper: string }) {\n return (\n <HoverCard\n placement=\"top\"\n trigger={\n <button\n type=\"button\"\n aria-label={`About ${label}`}\n className=\"shrink-0 cursor-help text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n <Icon icon={UiQuestion} className=\"text-sm\" />\n </button>\n }\n cardClassName=\"max-w-xs whitespace-normal text-left text-xs font-normal text-foreground\"\n >\n {helper}\n </HoverCard>\n );\n}\n\n// SectionHeading is the content of a section's header row: the label with its\n// icon, required marker, badge and hover help. It is the label node buildField\n// hands to post extensions for a field that renders as a section; a section\n// with an empty title has no heading at all (see ObjectSection).\nexport function SectionHeading({\n field,\n label = field.label,\n size,\n helpDisplay,\n}: {\n field: FieldControl;\n label?: string;\n size: FormSize;\n helpDisplay?: HelpDisplay;\n}) {\n const { required, badge, helper, labelIcon } = field;\n return (\n <span className={cn(\"flex min-w-0 items-center gap-2\", labelSizeClass[size])}>\n <LabelIcon\n icon={labelIcon}\n className=\"shrink-0 text-[15px] text-muted-foreground\"\n />\n <span className=\"min-w-0 truncate\">{label}</span>\n {required && <span className=\"shrink-0 text-destructive\">*</span>}\n {badge && (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {badge}\n </span>\n )}\n {helpDisplay === \"hover\" && helper && <HelpHint label={label} helper={helper} />}\n </span>\n );\n}\n\n// ObjectSection renders a nested object as a labelled section: a header row\n// (the field label + required/badge) above its fields, which fill the full\n// width below. It replaces the inline label + bordered box so nested objects\n// read as flat, headed groups rather than indented sub-forms. `col-span-full`\n// makes it span both tracks of an inline FieldsGrid (full width, not crammed\n// into the value column); in a stacked single-column grid it is a no-op.\n//\n// A field whose schema gives it an EMPTY title renders with no header at all:\n// the host already titled it (a collapsible section of its own, a dialog), and\n// a headed section inside that one would say the same word twice. A missing\n// title is not this — it falls back to the humanised key, as every other\n// control does — so only an explicit `\"title\": \"\"` opts out.\n//\n// The header row is a separate SectionHeading node (null for no header), so\n// the post extensions that decorate every other field's label decorate a\n// section's header too.\nexport function ObjectSection({\n heading,\n size,\n helper,\n helpDisplay,\n children,\n}: {\n heading: ReactNode;\n size: FormSize;\n helper?: string;\n helpDisplay?: HelpDisplay;\n children: ReactNode;\n}) {\n const hoverHelp = helpDisplay === \"hover\" && !!helper;\n return (\n <div\n className={cn(\n \"col-span-full flex min-w-0 max-w-full flex-col\",\n fieldInnerGapClass[size],\n )}\n >\n {heading != null && (\n // The header row owns the rule and weight, so whatever a post\n // extension puts beside the heading sits inline in the same row.\n <div\n data-jsf-section-heading\n className={cn(\n \"flex min-w-0 items-center gap-2 border-b border-border pb-1 font-semibold\",\n labelSizeClass[size],\n )}\n >\n {heading}\n </div>\n )}\n {helper && !hoverHelp && (\n <p className=\"min-w-0 break-words text-xs text-muted-foreground\">\n {helper}\n </p>\n )}\n {children}\n </div>\n );\n}\n"],"names":["useContext","PropertiesContext","jsx","cn","inlineRowGapClass","stackedRowGapClass","DEFAULT_COLUMN_MIN_WIDTH","jsxs","controlMinHeightClass","labelSizeClass","LabelIcon","HoverCard","Icon","UiQuestion","fieldInnerGapClass"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- import { LabelIconSpec } from '../data/Icon';
3
- import { FieldControl, FormLayout, GridColumns, HelpDisplay } from './json-schema-form-types';
4
- import { FormSize } from './json-schema-form-size';
2
+ import { FieldControl, FormLayout, GridColumns, HelpDisplay } from './json-schema-form-types.js';
3
+ import { FormSize } from './json-schema-form-size.js';
5
4
  export declare function FieldsGrid({ layout, size, columns, columnMinWidth, columnsMaxWidth, className, children, }: {
6
5
  layout: FormLayout;
7
6
  size: FormSize;
@@ -30,13 +29,16 @@ export declare function HelpHint({ label, helper }: {
30
29
  label: string;
31
30
  helper: string;
32
31
  }): import("react").JSX.Element;
33
- export declare function ObjectSection({ label, required, size, badge, helper, labelIcon, helpDisplay, children, }: {
34
- label: string;
35
- required: boolean;
32
+ export declare function SectionHeading({ field, label, size, helpDisplay, }: {
33
+ field: FieldControl;
34
+ label?: string;
35
+ size: FormSize;
36
+ helpDisplay?: HelpDisplay;
37
+ }): import("react").JSX.Element;
38
+ export declare function ObjectSection({ heading, size, helper, helpDisplay, children, }: {
39
+ heading: ReactNode;
36
40
  size: FormSize;
37
- badge?: string;
38
41
  helper?: string;
39
- labelIcon?: LabelIconSpec;
40
42
  helpDisplay?: HelpDisplay;
41
43
  children: ReactNode;
42
44
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-form-layout.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAajC,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAc,EACd,eAAe,EACf,SAAS,EACT,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IAKf,OAAO,CAAC,EAAE,WAAW,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA0DA;AAOD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IAIf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BAiCA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IAGf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,+BA+BA;AAKD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,+BAkB5E;AAcD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,WAAW,EACX,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAuCA"}
1
+ {"version":3,"file":"json-schema-form-layout.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAajC,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAc,EACd,eAAe,EACf,SAAS,EACT,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IAKf,OAAO,CAAC,EAAE,WAAW,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA0DA;AAOD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IAIf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BAiCA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IAGf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,+BA+BA;AAKD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,+BAkB5E;AAMD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,KAAmB,EACnB,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,+BAkBA;AAkBD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA8BA"}
@@ -166,18 +166,35 @@ function HelpHint({ label, helper }) {
166
166
  }
167
167
  );
168
168
  }
169
+ function SectionHeading({
170
+ field,
171
+ label = field.label,
172
+ size,
173
+ helpDisplay
174
+ }) {
175
+ const { required, badge, helper, labelIcon } = field;
176
+ return /* @__PURE__ */ jsxs("span", { className: cn("flex min-w-0 items-center gap-2", labelSizeClass[size]), children: [
177
+ /* @__PURE__ */ jsx(
178
+ LabelIcon,
179
+ {
180
+ icon: labelIcon,
181
+ className: "shrink-0 text-[15px] text-muted-foreground"
182
+ }
183
+ ),
184
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: label }),
185
+ required && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-destructive", children: "*" }),
186
+ badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: badge }),
187
+ helpDisplay === "hover" && helper && /* @__PURE__ */ jsx(HelpHint, { label, helper })
188
+ ] });
189
+ }
169
190
  function ObjectSection({
170
- label,
171
- required,
191
+ heading,
172
192
  size,
173
- badge,
174
193
  helper,
175
- labelIcon,
176
194
  helpDisplay,
177
195
  children
178
196
  }) {
179
197
  const hoverHelp = helpDisplay === "hover" && !!helper;
180
- const headed = label !== "";
181
198
  return /* @__PURE__ */ jsxs(
182
199
  "div",
183
200
  {
@@ -186,26 +203,17 @@ function ObjectSection({
186
203
  fieldInnerGapClass[size]
187
204
  ),
188
205
  children: [
189
- headed && /* @__PURE__ */ jsxs(
206
+ heading != null && // The header row owns the rule and weight, so whatever a post
207
+ // extension puts beside the heading sits inline in the same row.
208
+ /* @__PURE__ */ jsx(
190
209
  "div",
191
210
  {
211
+ "data-jsf-section-heading": true,
192
212
  className: cn(
193
213
  "flex min-w-0 items-center gap-2 border-b border-border pb-1 font-semibold",
194
214
  labelSizeClass[size]
195
215
  ),
196
- children: [
197
- /* @__PURE__ */ jsx(
198
- LabelIcon,
199
- {
200
- icon: labelIcon,
201
- className: "shrink-0 text-[15px] text-muted-foreground"
202
- }
203
- ),
204
- /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: label }),
205
- required && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-destructive", children: "*" }),
206
- badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: badge }),
207
- hoverHelp && helper && /* @__PURE__ */ jsx(HelpHint, { label, helper })
208
- ]
216
+ children: heading
209
217
  }
210
218
  ),
211
219
  helper && !hoverHelp && /* @__PURE__ */ jsx("p", { className: "min-w-0 break-words text-xs text-muted-foreground", children: helper }),
@@ -219,6 +227,7 @@ export {
219
227
  FieldWrapper,
220
228
  FieldsGrid,
221
229
  HelpHint,
222
- ObjectSection
230
+ ObjectSection,
231
+ SectionHeading
223
232
  };
224
233
  //# sourceMappingURL=json-schema-form-layout.js.map