@flanksource/clicky-ui 0.3.27 → 0.3.29

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 (1438) hide show
  1. package/NOTICE.md +14 -0
  2. package/dist/ai.cjs +52 -6
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +53 -7
  5. package/dist/ai.js.map +1 -1
  6. package/dist/comments/CommentAuthor.d.ts +1 -1
  7. package/dist/comments/CommentAuthor.d.ts.map +1 -1
  8. package/dist/comments/CommentCard.cjs +24 -39
  9. package/dist/comments/CommentCard.cjs.map +1 -1
  10. package/dist/comments/CommentCard.d.ts +11 -4
  11. package/dist/comments/CommentCard.d.ts.map +1 -1
  12. package/dist/comments/CommentCard.js +24 -39
  13. package/dist/comments/CommentCard.js.map +1 -1
  14. package/dist/comments/CommentComposer.d.ts +1 -1
  15. package/dist/comments/CommentComposer.d.ts.map +1 -1
  16. package/dist/comments/CommentFilterBar.d.ts +1 -1
  17. package/dist/comments/CommentFilterBar.d.ts.map +1 -1
  18. package/dist/comments/CommentMarkdown.d.ts +1 -1
  19. package/dist/comments/CommentMarkdown.d.ts.map +1 -1
  20. package/dist/comments/CommentProgress.d.ts +1 -1
  21. package/dist/comments/CommentProgress.d.ts.map +1 -1
  22. package/dist/comments/CommentProvider.cjs +4 -3
  23. package/dist/comments/CommentProvider.cjs.map +1 -1
  24. package/dist/comments/CommentProvider.d.ts +7 -2
  25. package/dist/comments/CommentProvider.d.ts.map +1 -1
  26. package/dist/comments/CommentProvider.js +4 -3
  27. package/dist/comments/CommentProvider.js.map +1 -1
  28. package/dist/comments/CommentSidePanel.cjs +65 -52
  29. package/dist/comments/CommentSidePanel.cjs.map +1 -1
  30. package/dist/comments/CommentSidePanel.d.ts +1 -1
  31. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  32. package/dist/comments/CommentSidePanel.js +67 -54
  33. package/dist/comments/CommentSidePanel.js.map +1 -1
  34. package/dist/comments/CommentThread.cjs +2 -2
  35. package/dist/comments/CommentThread.cjs.map +1 -1
  36. package/dist/comments/CommentThread.d.ts +4 -4
  37. package/dist/comments/CommentThread.d.ts.map +1 -1
  38. package/dist/comments/CommentThread.js +2 -2
  39. package/dist/comments/CommentThread.js.map +1 -1
  40. package/dist/comments/CommentThreadList.cjs +85 -37
  41. package/dist/comments/CommentThreadList.cjs.map +1 -1
  42. package/dist/comments/CommentThreadList.d.ts +4 -4
  43. package/dist/comments/CommentThreadList.d.ts.map +1 -1
  44. package/dist/comments/CommentThreadList.js +86 -38
  45. package/dist/comments/CommentThreadList.js.map +1 -1
  46. package/dist/comments/GroupedComments.d.ts +1 -1
  47. package/dist/comments/GroupedComments.d.ts.map +1 -1
  48. package/dist/comments/MentionTextarea.d.ts +1 -1
  49. package/dist/comments/comment-context.d.ts +4 -4
  50. package/dist/comments/comment-fixtures.d.ts +1 -1
  51. package/dist/comments/comment-types.d.ts +1 -1
  52. package/dist/comments/comment-utils.cjs +26 -0
  53. package/dist/comments/comment-utils.cjs.map +1 -1
  54. package/dist/comments/comment-utils.d.ts +11 -0
  55. package/dist/comments/comment-utils.d.ts.map +1 -1
  56. package/dist/comments/comment-utils.js +26 -0
  57. package/dist/comments/comment-utils.js.map +1 -1
  58. package/dist/comments.cjs +2 -0
  59. package/dist/comments.cjs.map +1 -1
  60. package/dist/comments.js +3 -1
  61. package/dist/components/AccordionList.cjs +3 -0
  62. package/dist/components/AccordionList.cjs.map +1 -1
  63. package/dist/components/AccordionList.d.ts +4 -2
  64. package/dist/components/AccordionList.d.ts.map +1 -1
  65. package/dist/components/AccordionList.js +3 -0
  66. package/dist/components/AccordionList.js.map +1 -1
  67. package/dist/components/Combobox.cjs +6 -6
  68. package/dist/components/Combobox.cjs.map +1 -1
  69. package/dist/components/Combobox.d.ts +1 -1
  70. package/dist/components/Combobox.d.ts.map +1 -1
  71. package/dist/components/Combobox.js +2 -2
  72. package/dist/components/Combobox.js.map +1 -1
  73. package/dist/components/ComboboxActions.d.ts +1 -1
  74. package/dist/components/ComboboxActions.d.ts.map +1 -1
  75. package/dist/components/ComboboxControl.cjs +3 -2
  76. package/dist/components/ComboboxControl.cjs.map +1 -1
  77. package/dist/components/ComboboxControl.d.ts +5 -5
  78. package/dist/components/ComboboxControl.d.ts.map +1 -1
  79. package/dist/components/ComboboxControl.js +2 -1
  80. package/dist/components/ComboboxControl.js.map +1 -1
  81. package/dist/components/ComboboxMenu.cjs +154 -134
  82. package/dist/components/ComboboxMenu.cjs.map +1 -1
  83. package/dist/components/ComboboxMenu.d.ts +4 -4
  84. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  85. package/dist/components/ComboboxMenu.js +154 -134
  86. package/dist/components/ComboboxMenu.js.map +1 -1
  87. package/dist/components/ComboboxTags.d.ts +1 -1
  88. package/dist/components/ComboboxTags.d.ts.map +1 -1
  89. package/dist/components/ConnectionLoggingPolicy.d.ts +1 -1
  90. package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -1
  91. package/dist/components/CopyButton.cjs +35 -0
  92. package/dist/components/CopyButton.cjs.map +1 -0
  93. package/dist/components/CopyButton.d.ts +20 -0
  94. package/dist/components/CopyButton.d.ts.map +1 -0
  95. package/dist/components/CopyButton.js +35 -0
  96. package/dist/components/CopyButton.js.map +1 -0
  97. package/dist/components/CountryFlag.d.ts +1 -1
  98. package/dist/components/CountryFlag.d.ts.map +1 -1
  99. package/dist/components/CountryPicker.d.ts +1 -1
  100. package/dist/components/CountryPicker.d.ts.map +1 -1
  101. package/dist/components/DaemonSetIcon.d.ts +1 -1
  102. package/dist/components/DaemonSetIcon.d.ts.map +1 -1
  103. package/dist/components/DateField.d.ts +3 -3
  104. package/dist/components/DatePicker.d.ts +3 -3
  105. package/dist/components/DateTimePicker.d.ts +3 -3
  106. package/dist/components/DimensionField.d.ts +1 -1
  107. package/dist/components/DimensionField.d.ts.map +1 -1
  108. package/dist/components/EndpointSelector.d.ts +1 -1
  109. package/dist/components/EndpointSelector.d.ts.map +1 -1
  110. package/dist/components/ErrorWrapper.d.ts +2 -2
  111. package/dist/components/Field.d.ts +2 -2
  112. package/dist/components/Field.d.ts.map +1 -1
  113. package/dist/components/FilterBar.cjs +129 -91
  114. package/dist/components/FilterBar.cjs.map +1 -1
  115. package/dist/components/FilterBar.d.ts +13 -4
  116. package/dist/components/FilterBar.d.ts.map +1 -1
  117. package/dist/components/FilterBar.js +130 -92
  118. package/dist/components/FilterBar.js.map +1 -1
  119. package/dist/components/FormLookupProvider.d.ts +2 -2
  120. package/dist/components/FormLookupProvider.d.ts.map +1 -1
  121. package/dist/components/FormatOptionsDropdown.d.ts +2 -2
  122. package/dist/components/FormatOptionsDropdown.d.ts.map +1 -1
  123. package/dist/components/IconButton.d.ts +3 -3
  124. package/dist/components/InputField.d.ts +2 -2
  125. package/dist/components/ItemActions.d.ts +2 -2
  126. package/dist/components/ItemActions.d.ts.map +1 -1
  127. package/dist/components/JSONPathField.d.ts +1 -1
  128. package/dist/components/JSONPathField.d.ts.map +1 -1
  129. package/dist/components/JSONPathPlayground.d.ts +1 -1
  130. package/dist/components/JSONPathPlayground.d.ts.map +1 -1
  131. package/dist/components/JsonSchemaForm.d.ts +1 -1
  132. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  133. package/dist/components/ListMenu.cjs +4 -1
  134. package/dist/components/ListMenu.cjs.map +1 -1
  135. package/dist/components/ListMenu.d.ts +10 -6
  136. package/dist/components/ListMenu.d.ts.map +1 -1
  137. package/dist/components/ListMenu.js +4 -1
  138. package/dist/components/ListMenu.js.map +1 -1
  139. package/dist/components/MdxEditorCallout.d.ts +2 -2
  140. package/dist/components/MdxEditorCallout.d.ts.map +1 -1
  141. package/dist/components/MdxEditorField.d.ts +1 -1
  142. package/dist/components/MdxEditorField.d.ts.map +1 -1
  143. package/dist/components/MdxEditorToolbar.d.ts +1 -1
  144. package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
  145. package/dist/components/MultiSelect.d.ts +2 -2
  146. package/dist/components/MultiSelect.d.ts.map +1 -1
  147. package/dist/components/NamespacePicker.d.ts +1 -1
  148. package/dist/components/NamespacePicker.d.ts.map +1 -1
  149. package/dist/components/OnePasswordSelector.d.ts +1 -1
  150. package/dist/components/OnePasswordSelector.d.ts.map +1 -1
  151. package/dist/components/RangeSlider.d.ts +1 -1
  152. package/dist/components/RangeSlider.d.ts.map +1 -1
  153. package/dist/components/SearchInput.d.ts +2 -2
  154. package/dist/components/SearchInput.d.ts.map +1 -1
  155. package/dist/components/SecretFormField.d.ts +1 -1
  156. package/dist/components/SecretFormField.d.ts.map +1 -1
  157. package/dist/components/SecretKeySelector.d.ts +1 -1
  158. package/dist/components/SecretKeySelector.d.ts.map +1 -1
  159. package/dist/components/SegmentedControl.cjs +4 -2
  160. package/dist/components/SegmentedControl.cjs.map +1 -1
  161. package/dist/components/SegmentedControl.d.ts +6 -2
  162. package/dist/components/SegmentedControl.d.ts.map +1 -1
  163. package/dist/components/SegmentedControl.js +4 -2
  164. package/dist/components/SegmentedControl.js.map +1 -1
  165. package/dist/components/SplitButton.d.ts +2 -2
  166. package/dist/components/SplitButton.d.ts.map +1 -1
  167. package/dist/components/Switch.d.ts +2 -2
  168. package/dist/components/Switch.d.ts.map +1 -1
  169. package/dist/components/TimeRange.d.ts +1 -1
  170. package/dist/components/TimeRange.d.ts.map +1 -1
  171. package/dist/components/TreePickerField.d.ts +2 -2
  172. package/dist/components/TreePickerField.d.ts.map +1 -1
  173. package/dist/components/TriStateToggle.d.ts +1 -1
  174. package/dist/components/TriStateToggle.d.ts.map +1 -1
  175. package/dist/components/UnitStepControls.d.ts +2 -2
  176. package/dist/components/UnitStepControls.d.ts.map +1 -1
  177. package/dist/components/WorkloadPicker.d.ts +1 -1
  178. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  179. package/dist/components/button.d.ts +3 -3
  180. package/dist/components/clipboard.cjs +60 -0
  181. package/dist/components/clipboard.cjs.map +1 -0
  182. package/dist/components/clipboard.d.ts +13 -0
  183. package/dist/components/clipboard.d.ts.map +1 -0
  184. package/dist/components/clipboard.js +60 -0
  185. package/dist/components/clipboard.js.map +1 -0
  186. package/dist/components/combobox-types.d.ts +1 -1
  187. package/dist/components/density-switcher.d.ts +1 -1
  188. package/dist/components/filter-bar-context.d.ts +1 -1
  189. package/dist/components/filter-bar-field-utils.d.ts +2 -2
  190. package/dist/components/filter-bar-field-utils.js +1 -1
  191. package/dist/components/filter-bar-multi.d.ts +3 -3
  192. package/dist/components/filter-bar-multi.d.ts.map +1 -1
  193. package/dist/components/form-lookup-context.d.ts +1 -1
  194. package/dist/components/icon-menu-picker.cjs.map +1 -1
  195. package/dist/components/icon-menu-picker.d.ts +2 -2
  196. package/dist/components/icon-menu-picker.d.ts.map +1 -1
  197. package/dist/components/icon-menu-picker.js.map +1 -1
  198. package/dist/components/jotai-bindings.d.ts +2 -2
  199. package/dist/components/jotai-bindings.d.ts.map +1 -1
  200. package/dist/components/json-schema-form-accordion-array.d.ts +1 -1
  201. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  202. package/dist/components/json-schema-form-array.cjs +15 -1
  203. package/dist/components/json-schema-form-array.cjs.map +1 -1
  204. package/dist/components/json-schema-form-array.d.ts +1 -1
  205. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  206. package/dist/components/json-schema-form-array.js +15 -1
  207. package/dist/components/json-schema-form-array.js.map +1 -1
  208. package/dist/components/json-schema-form-cards-array.d.ts +1 -1
  209. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  210. package/dist/components/json-schema-form-discriminator.d.ts +1 -1
  211. package/dist/components/json-schema-form-error-display.d.ts +3 -3
  212. package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
  213. package/dist/components/json-schema-form-extensions.d.ts +1 -1
  214. package/dist/components/json-schema-form-fields.d.ts +12 -12
  215. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  216. package/dist/components/json-schema-form-grid.d.ts +1 -1
  217. package/dist/components/json-schema-form-grid.d.ts.map +1 -1
  218. package/dist/components/json-schema-form-item-row.d.ts +4 -4
  219. package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
  220. package/dist/components/json-schema-form-layout.d.ts +6 -6
  221. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  222. package/dist/components/json-schema-form-list-array.cjs +113 -0
  223. package/dist/components/json-schema-form-list-array.cjs.map +1 -0
  224. package/dist/components/json-schema-form-list-array.d.ts +7 -0
  225. package/dist/components/json-schema-form-list-array.d.ts.map +1 -0
  226. package/dist/components/json-schema-form-list-array.js +113 -0
  227. package/dist/components/json-schema-form-list-array.js.map +1 -0
  228. package/dist/components/json-schema-form-lookup-tree.d.ts +1 -1
  229. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
  230. package/dist/components/json-schema-form-object.d.ts +2 -2
  231. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  232. package/dist/components/json-schema-form-render.d.ts +1 -1
  233. package/dist/components/json-schema-form-resolve.cjs +1 -1
  234. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  235. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  236. package/dist/components/json-schema-form-resolve.js +1 -1
  237. package/dist/components/json-schema-form-resolve.js.map +1 -1
  238. package/dist/components/json-schema-form-table-array.d.ts +1 -1
  239. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  240. package/dist/components/json-schema-form-tags-combobox.cjs +2 -2
  241. package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -1
  242. package/dist/components/json-schema-form-tags-combobox.d.ts +1 -1
  243. package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -1
  244. package/dist/components/json-schema-form-tags-combobox.js +1 -1
  245. package/dist/components/json-schema-form-tags-combobox.js.map +1 -1
  246. package/dist/components/json-schema-form-template-menu.d.ts +2 -2
  247. package/dist/components/json-schema-form-template-menu.d.ts.map +1 -1
  248. package/dist/components/json-schema-form-template.d.ts +1 -1
  249. package/dist/components/json-schema-form-types.d.ts +2 -2
  250. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  251. package/dist/components/loading.d.ts +4 -4
  252. package/dist/components/mdx-editor-callout.d.ts +1 -1
  253. package/dist/components/mdx-editor-options.d.ts +1 -1
  254. package/dist/components/select.d.ts +3 -3
  255. package/dist/components/theme-switcher.d.ts +1 -1
  256. package/dist/components/use-list-menu-selection.d.ts +1 -1
  257. package/dist/components/useComboboxLayout.cjs +37 -27
  258. package/dist/components/useComboboxLayout.cjs.map +1 -1
  259. package/dist/components/useComboboxLayout.d.ts +4 -4
  260. package/dist/components/useComboboxLayout.d.ts.map +1 -1
  261. package/dist/components/useComboboxLayout.js +38 -28
  262. package/dist/components/useComboboxLayout.js.map +1 -1
  263. package/dist/components/workload-picker-utils.d.ts +1 -1
  264. package/dist/components.cjs +5 -0
  265. package/dist/components.cjs.map +1 -1
  266. package/dist/components.d.ts +3 -0
  267. package/dist/components.d.ts.map +1 -1
  268. package/dist/components.js +5 -0
  269. package/dist/components.js.map +1 -1
  270. package/dist/data/AnsiHtml.d.ts +1 -1
  271. package/dist/data/AnsiHtml.d.ts.map +1 -1
  272. package/dist/data/Avatar.d.ts +2 -2
  273. package/dist/data/Avatar.d.ts.map +1 -1
  274. package/dist/data/AvatarBadge.d.ts +2 -2
  275. package/dist/data/AvatarBadge.d.ts.map +1 -1
  276. package/dist/data/Badge.d.ts +2 -2
  277. package/dist/data/Badge.d.ts.map +1 -1
  278. package/dist/data/Callout.d.ts +2 -2
  279. package/dist/data/Callout.d.ts.map +1 -1
  280. package/dist/data/Clicky.cjs +4 -1
  281. package/dist/data/Clicky.cjs.map +1 -1
  282. package/dist/data/Clicky.d.ts +3 -3
  283. package/dist/data/Clicky.d.ts.map +1 -1
  284. package/dist/data/Clicky.js +4 -1
  285. package/dist/data/Clicky.js.map +1 -1
  286. package/dist/data/CodeBlock.cjs +1 -1
  287. package/dist/data/CodeBlock.cjs.map +1 -1
  288. package/dist/data/CodeBlock.d.ts +1 -1
  289. package/dist/data/CodeBlock.d.ts.map +1 -1
  290. package/dist/data/CodeBlock.js +1 -1
  291. package/dist/data/CodeBlock.js.map +1 -1
  292. package/dist/data/CodeDiff.d.ts +1 -1
  293. package/dist/data/CodeDiff.d.ts.map +1 -1
  294. package/dist/data/DataTable.cjs +256 -58
  295. package/dist/data/DataTable.cjs.map +1 -1
  296. package/dist/data/DataTable.d.ts +174 -5
  297. package/dist/data/DataTable.d.ts.map +1 -1
  298. package/dist/data/DataTable.grouping.d.ts +1 -1
  299. package/dist/data/DataTable.js +256 -58
  300. package/dist/data/DataTable.js.map +1 -1
  301. package/dist/data/DataTableGroupingControls.d.ts +1 -1
  302. package/dist/data/DataTableGroupingControls.d.ts.map +1 -1
  303. package/dist/data/ExecutionTree.d.ts +2 -2
  304. package/dist/data/ExecutionTree.d.ts.map +1 -1
  305. package/dist/data/FilterPill.d.ts +4 -4
  306. package/dist/data/FilterPill.d.ts.map +1 -1
  307. package/dist/data/FixtureEditor/FenceForm.d.ts +1 -1
  308. package/dist/data/FixtureEditor/FenceForm.d.ts.map +1 -1
  309. package/dist/data/FixtureEditor/FixtureEditor.d.ts +1 -1
  310. package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
  311. package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts +1 -1
  312. package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts.map +1 -1
  313. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs +1 -1
  314. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs.map +1 -1
  315. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts +1 -1
  316. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts.map +1 -1
  317. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js +1 -1
  318. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js.map +1 -1
  319. package/dist/data/FixtureEditor/RawFenceEditor.d.ts +2 -2
  320. package/dist/data/FixtureEditor/RawFenceEditor.d.ts.map +1 -1
  321. package/dist/data/FixtureEditor/fixture-frontmatter.cjs +8 -10
  322. package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -1
  323. package/dist/data/FixtureEditor/fixture-frontmatter.d.ts.map +1 -1
  324. package/dist/data/FixtureEditor/fixture-frontmatter.js +8 -10
  325. package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -1
  326. package/dist/data/FixtureEditor/types.d.ts +1 -1
  327. package/dist/data/Gauge.d.ts +2 -2
  328. package/dist/data/Gauge.d.ts.map +1 -1
  329. package/dist/data/GaugeHoverCard.d.ts +2 -2
  330. package/dist/data/GaugeHoverCard.d.ts.map +1 -1
  331. package/dist/data/HighlightedTokens.d.ts +1 -1
  332. package/dist/data/HighlightedTokens.d.ts.map +1 -1
  333. package/dist/data/Icon.cjs.map +1 -1
  334. package/dist/data/Icon.d.ts +3 -3
  335. package/dist/data/Icon.d.ts.map +1 -1
  336. package/dist/data/Icon.js.map +1 -1
  337. package/dist/data/JsonView.d.ts +1 -1
  338. package/dist/data/JsonView.d.ts.map +1 -1
  339. package/dist/data/KeyValueList.d.ts +2 -2
  340. package/dist/data/KeyValueList.d.ts.map +1 -1
  341. package/dist/data/LogDetails.d.ts +1 -1
  342. package/dist/data/LogDetails.d.ts.map +1 -1
  343. package/dist/data/LogViewer.d.ts +1 -1
  344. package/dist/data/LogViewer.d.ts.map +1 -1
  345. package/dist/data/LogsTable.d.ts +1 -1
  346. package/dist/data/LogsTable.d.ts.map +1 -1
  347. package/dist/data/Markdown.d.ts +1 -1
  348. package/dist/data/Markdown.d.ts.map +1 -1
  349. package/dist/data/MarkdownEditor.d.ts +2 -2
  350. package/dist/data/MarkdownEditor.d.ts.map +1 -1
  351. package/dist/data/MatrixTable.d.ts +2 -2
  352. package/dist/data/MatrixTable.d.ts.map +1 -1
  353. package/dist/data/MethodBadge.d.ts +1 -1
  354. package/dist/data/MethodBadge.d.ts.map +1 -1
  355. package/dist/data/ObjectGraph.d.ts +2 -2
  356. package/dist/data/ObjectGraph.d.ts.map +1 -1
  357. package/dist/data/ProgressBar.d.ts +1 -1
  358. package/dist/data/ProgressBar.d.ts.map +1 -1
  359. package/dist/data/ProgressBars.d.ts +2 -2
  360. package/dist/data/ProgressBars.d.ts.map +1 -1
  361. package/dist/data/PromptBanner.d.ts +1 -1
  362. package/dist/data/PromptBanner.d.ts.map +1 -1
  363. package/dist/data/PromptDialog.d.ts +1 -1
  364. package/dist/data/PromptDialog.d.ts.map +1 -1
  365. package/dist/data/Properties.d.ts +2 -2
  366. package/dist/data/Properties.d.ts.map +1 -1
  367. package/dist/data/RadialGauge.d.ts +2 -2
  368. package/dist/data/RadialGauge.d.ts.map +1 -1
  369. package/dist/data/SchemaViewer.d.ts +4 -4
  370. package/dist/data/SchemaViewer.d.ts.map +1 -1
  371. package/dist/data/SelectionActionBar.cjs +242 -0
  372. package/dist/data/SelectionActionBar.cjs.map +1 -0
  373. package/dist/data/SelectionActionBar.d.ts +28 -0
  374. package/dist/data/SelectionActionBar.d.ts.map +1 -0
  375. package/dist/data/SelectionActionBar.js +242 -0
  376. package/dist/data/SelectionActionBar.js.map +1 -0
  377. package/dist/data/ServerTimingBadge.d.ts +1 -1
  378. package/dist/data/ServerTimingBadge.d.ts.map +1 -1
  379. package/dist/data/SignedDeltaBar.d.ts +1 -1
  380. package/dist/data/SignedDeltaBar.d.ts.map +1 -1
  381. package/dist/data/SortableHeader.d.ts +2 -2
  382. package/dist/data/SortableHeader.d.ts.map +1 -1
  383. package/dist/data/StatStrip.d.ts +2 -2
  384. package/dist/data/StatStrip.d.ts.map +1 -1
  385. package/dist/data/StatusBreakdown.d.ts +3 -3
  386. package/dist/data/StatusBreakdown.d.ts.map +1 -1
  387. package/dist/data/TabButton.d.ts +2 -2
  388. package/dist/data/TabButton.d.ts.map +1 -1
  389. package/dist/data/TaskExecDetails.d.ts +2 -2
  390. package/dist/data/TaskExecDetails.d.ts.map +1 -1
  391. package/dist/data/TaskManager.cjs +34 -12
  392. package/dist/data/TaskManager.cjs.map +1 -1
  393. package/dist/data/TaskManager.d.ts +1 -1
  394. package/dist/data/TaskManager.d.ts.map +1 -1
  395. package/dist/data/TaskManager.js +34 -12
  396. package/dist/data/TaskManager.js.map +1 -1
  397. package/dist/data/TaskManagerButton.cjs +11 -7
  398. package/dist/data/TaskManagerButton.cjs.map +1 -1
  399. package/dist/data/TaskManagerButton.d.ts +1 -1
  400. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  401. package/dist/data/TaskManagerButton.js +11 -7
  402. package/dist/data/TaskManagerButton.js.map +1 -1
  403. package/dist/data/TaskProcessDetails.d.ts +1 -1
  404. package/dist/data/TaskProcessDetails.d.ts.map +1 -1
  405. package/dist/data/TaskProgress.cjs +55 -11
  406. package/dist/data/TaskProgress.cjs.map +1 -1
  407. package/dist/data/TaskProgress.d.ts +1 -1
  408. package/dist/data/TaskProgress.d.ts.map +1 -1
  409. package/dist/data/TaskProgress.js +53 -9
  410. package/dist/data/TaskProgress.js.map +1 -1
  411. package/dist/data/Timeline.d.ts +2 -2
  412. package/dist/data/Timeline.d.ts.map +1 -1
  413. package/dist/data/TimeseriesCoreBars.d.ts +1 -1
  414. package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
  415. package/dist/data/TimeseriesGauge.d.ts +1 -1
  416. package/dist/data/TimeseriesGauge.d.ts.map +1 -1
  417. package/dist/data/TimeseriesPanel.d.ts +1 -1
  418. package/dist/data/TimeseriesPanel.d.ts.map +1 -1
  419. package/dist/data/Tree.d.ts +2 -2
  420. package/dist/data/Tree.d.ts.map +1 -1
  421. package/dist/data/TreeGroupHeader.d.ts +2 -2
  422. package/dist/data/TreeGroupHeader.d.ts.map +1 -1
  423. package/dist/data/TreeNode.d.ts +2 -2
  424. package/dist/data/TreeNode.d.ts.map +1 -1
  425. package/dist/data/Version.d.ts +3 -3
  426. package/dist/data/WorkloadCard.d.ts +1 -1
  427. package/dist/data/WorkloadCard.d.ts.map +1 -1
  428. package/dist/data/ai/AdvancedChatConfig.d.ts +1 -1
  429. package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -1
  430. package/dist/data/ai/AdvancedCostsPanel.d.ts +1 -1
  431. package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -1
  432. package/dist/data/ai/ChatButton.d.ts +1 -1
  433. package/dist/data/ai/ChatButton.d.ts.map +1 -1
  434. package/dist/data/ai/ChatFab.d.ts +1 -1
  435. package/dist/data/ai/ChatFab.d.ts.map +1 -1
  436. package/dist/data/ai/ChatWindow.cjs +2 -4
  437. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  438. package/dist/data/ai/ChatWindow.d.ts +2 -2
  439. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  440. package/dist/data/ai/ChatWindow.js +2 -4
  441. package/dist/data/ai/ChatWindow.js.map +1 -1
  442. package/dist/data/ai/ChatWindow.runtime.cjs +1 -2
  443. package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -1
  444. package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -1
  445. package/dist/data/ai/ChatWindow.runtime.js +1 -2
  446. package/dist/data/ai/ChatWindow.runtime.js.map +1 -1
  447. package/dist/data/ai/ChatWindow.test-utils.d.ts +1 -1
  448. package/dist/data/ai/ChatWindow.thread-status.d.ts +1 -1
  449. package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -1
  450. package/dist/data/ai/ChatWindow.types.d.ts +1 -1
  451. package/dist/data/ai/ChatWindowManager.d.ts +2 -2
  452. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  453. package/dist/data/ai/ContextBadges.d.ts +2 -2
  454. package/dist/data/ai/ContextBadges.d.ts.map +1 -1
  455. package/dist/data/ai/PolicyTree.d.ts +2 -2
  456. package/dist/data/ai/PolicyTree.d.ts.map +1 -1
  457. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs +262 -0
  458. package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs.map +1 -0
  459. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +16 -0
  460. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -0
  461. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js +262 -0
  462. package/dist/data/ai/PromptCatalog/PromptCatalogTable.js.map +1 -0
  463. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs +77 -0
  464. package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs.map +1 -0
  465. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +8 -0
  466. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -0
  467. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js +77 -0
  468. package/dist/data/ai/PromptCatalog/PromptLayerStrip.js.map +1 -0
  469. package/dist/data/ai/PromptCatalog/PromptPage.cjs +332 -0
  470. package/dist/data/ai/PromptCatalog/PromptPage.cjs.map +1 -0
  471. package/dist/data/ai/PromptCatalog/PromptPage.d.ts +17 -0
  472. package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -0
  473. package/dist/data/ai/PromptCatalog/PromptPage.js +332 -0
  474. package/dist/data/ai/PromptCatalog/PromptPage.js.map +1 -0
  475. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs +102 -0
  476. package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs.map +1 -0
  477. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +16 -0
  478. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -0
  479. package/dist/data/ai/PromptCatalog/PromptPageEditor.js +102 -0
  480. package/dist/data/ai/PromptCatalog/PromptPageEditor.js.map +1 -0
  481. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs +102 -0
  482. package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs.map +1 -0
  483. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +10 -0
  484. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -0
  485. package/dist/data/ai/PromptCatalog/PromptPageHeader.js +102 -0
  486. package/dist/data/ai/PromptCatalog/PromptPageHeader.js.map +1 -0
  487. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs +90 -0
  488. package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs.map +1 -0
  489. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +8 -0
  490. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -0
  491. package/dist/data/ai/PromptCatalog/PromptPagePreview.js +90 -0
  492. package/dist/data/ai/PromptCatalog/PromptPagePreview.js.map +1 -0
  493. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs +168 -0
  494. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs.map +1 -0
  495. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +17 -0
  496. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -0
  497. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js +168 -0
  498. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js.map +1 -0
  499. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs +36 -0
  500. package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs.map +1 -0
  501. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +7 -0
  502. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -0
  503. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js +36 -0
  504. package/dist/data/ai/PromptCatalog/PromptSourceBadge.js.map +1 -0
  505. package/dist/data/ai/PromptCatalog/index.d.ts +9 -0
  506. package/dist/data/ai/PromptCatalog/index.d.ts.map +1 -0
  507. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs +137 -0
  508. package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs.map +1 -0
  509. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts +28 -0
  510. package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts.map +1 -0
  511. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js +137 -0
  512. package/dist/data/ai/PromptCatalog/prompt-catalog-model.js.map +1 -0
  513. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs +114 -0
  514. package/dist/data/ai/PromptCatalog/prompt-page-model.cjs.map +1 -0
  515. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts +45 -0
  516. package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts.map +1 -0
  517. package/dist/data/ai/PromptCatalog/prompt-page-model.js +114 -0
  518. package/dist/data/ai/PromptCatalog/prompt-page-model.js.map +1 -0
  519. package/dist/data/ai/PromptCatalog/types.d.ts +70 -0
  520. package/dist/data/ai/PromptCatalog/types.d.ts.map +1 -0
  521. package/dist/data/ai/PromptPicker/PromptPicker.cjs +9 -12
  522. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  523. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +2 -2
  524. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  525. package/dist/data/ai/PromptPicker/PromptPicker.js +9 -12
  526. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  527. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +1 -1
  528. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -1
  529. package/dist/data/ai/PromptPicker/index.d.ts +1 -1
  530. package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
  531. package/dist/data/ai/PromptPicker/types.cjs.map +1 -1
  532. package/dist/data/ai/PromptPicker/types.d.ts +9 -0
  533. package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
  534. package/dist/data/ai/PromptPicker/types.js.map +1 -1
  535. package/dist/data/ai/PromptRunEditor/index.cjs +2 -2
  536. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  537. package/dist/data/ai/PromptRunEditor/index.d.ts +2 -2
  538. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  539. package/dist/data/ai/PromptRunEditor/index.js +3 -3
  540. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  541. package/dist/data/ai/PromptRunEditor/model.cjs +0 -1
  542. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
  543. package/dist/data/ai/PromptRunEditor/model.d.ts +1 -1
  544. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
  545. package/dist/data/ai/PromptRunEditor/model.js +0 -1
  546. package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
  547. package/dist/data/ai/RuntimeModePicker.cjs +15 -6
  548. package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
  549. package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
  550. package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
  551. package/dist/data/ai/RuntimeModePicker.js +17 -8
  552. package/dist/data/ai/RuntimeModePicker.js.map +1 -1
  553. package/dist/data/ai/SandboxConnectionsSection.d.ts +1 -1
  554. package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -1
  555. package/dist/data/ai/SandboxCreateWizard.d.ts +1 -1
  556. package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -1
  557. package/dist/data/ai/SessionChatComposer.d.ts +2 -2
  558. package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
  559. package/dist/data/ai/SessionInspector.collection-types.d.ts +1 -1
  560. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
  561. package/dist/data/ai/SessionInspector.collection.cjs +3 -3
  562. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
  563. package/dist/data/ai/SessionInspector.collection.js +3 -3
  564. package/dist/data/ai/SessionInspector.collection.js.map +1 -1
  565. package/dist/data/ai/SessionInspector.d.ts +2 -2
  566. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  567. package/dist/data/ai/SessionInspector.files.d.ts +1 -1
  568. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
  569. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  570. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  571. package/dist/data/ai/SessionInspector.hierarchy.d.ts +2 -2
  572. package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -1
  573. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  574. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  575. package/dist/data/ai/SessionInspector.model.cjs +3 -3
  576. package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
  577. package/dist/data/ai/SessionInspector.model.d.ts +1 -1
  578. package/dist/data/ai/SessionInspector.model.d.ts.map +1 -1
  579. package/dist/data/ai/SessionInspector.model.js +3 -3
  580. package/dist/data/ai/SessionInspector.model.js.map +1 -1
  581. package/dist/data/ai/SessionInspector.panels.cjs +1 -1
  582. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  583. package/dist/data/ai/SessionInspector.panels.d.ts +1 -1
  584. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  585. package/dist/data/ai/SessionInspector.panels.js +1 -1
  586. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  587. package/dist/data/ai/SessionInspector.plan.d.ts +1 -1
  588. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
  589. package/dist/data/ai/SessionInspector.summary.cjs +3 -3
  590. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  591. package/dist/data/ai/SessionInspector.summary.d.ts +2 -2
  592. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  593. package/dist/data/ai/SessionInspector.summary.js +3 -3
  594. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  595. package/dist/data/ai/SessionInspector.transcript.d.ts +1 -1
  596. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
  597. package/dist/data/ai/SessionInspector.turns.d.ts +2 -2
  598. package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -1
  599. package/dist/data/ai/SessionViewer.d.ts +2 -2
  600. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  601. package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
  602. package/dist/data/ai/SessionViewer.header.d.ts +2 -2
  603. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
  604. package/dist/data/ai/SessionViewer.row-metadata.d.ts +3 -3
  605. package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -1
  606. package/dist/data/ai/SessionViewer.rows.d.ts +3 -3
  607. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  608. package/dist/data/ai/SessionViewer.tool-details.d.ts +5 -5
  609. package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -1
  610. package/dist/data/ai/SessionViewer.tool-row.d.ts +1 -1
  611. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
  612. package/dist/data/ai/SessionViewer.unified.d.ts +3 -2
  613. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  614. package/dist/data/ai/SessionViewerMenu.d.ts +1 -1
  615. package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
  616. package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts +1 -1
  617. package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts.map +1 -1
  618. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +18 -30
  619. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  620. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +1 -1
  621. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  622. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +19 -31
  623. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  624. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs +71 -86
  625. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs.map +1 -1
  626. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts +2 -2
  627. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -1
  628. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js +72 -87
  629. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js.map +1 -1
  630. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +2 -2
  631. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts.map +1 -1
  632. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs +99 -0
  633. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs.map +1 -0
  634. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +13 -0
  635. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts.map +1 -0
  636. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js +99 -0
  637. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js.map +1 -0
  638. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +34 -23
  639. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  640. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +8 -4
  641. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  642. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +35 -24
  643. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  644. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +114 -0
  645. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -0
  646. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +10 -0
  647. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -0
  648. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +114 -0
  649. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js.map +1 -0
  650. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs +160 -0
  651. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs.map +1 -0
  652. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +9 -0
  653. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts.map +1 -0
  654. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js +160 -0
  655. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js.map +1 -0
  656. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +27 -241
  657. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
  658. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +6 -7
  659. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
  660. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +25 -239
  661. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
  662. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +1 -1
  663. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +1 -1
  664. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +21 -8
  665. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  666. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +6 -3
  667. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  668. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +22 -9
  669. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  670. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +2 -2
  671. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts.map +1 -1
  672. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +207 -164
  673. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -1
  674. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +5 -4
  675. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
  676. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +210 -167
  677. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -1
  678. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +15 -15
  679. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -1
  680. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +2 -2
  681. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
  682. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +15 -15
  683. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -1
  684. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
  685. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  686. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +120 -42
  687. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
  688. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +5 -2
  689. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
  690. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +123 -45
  691. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
  692. package/dist/data/ai/SpecRuntimeEditor/env-model.cjs.map +1 -1
  693. package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts.map +1 -1
  694. package/dist/data/ai/SpecRuntimeEditor/env-model.js.map +1 -1
  695. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +12 -12
  696. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
  697. package/dist/data/ai/SpecRuntimeEditor/index.cjs +136 -48
  698. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  699. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +14 -4
  700. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  701. package/dist/data/ai/SpecRuntimeEditor/index.js +137 -49
  702. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  703. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +93 -0
  704. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs.map +1 -0
  705. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts +6 -0
  706. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts.map +1 -0
  707. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +93 -0
  708. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js.map +1 -0
  709. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs +35 -0
  710. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs.map +1 -0
  711. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts +5 -0
  712. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts.map +1 -0
  713. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js +35 -0
  714. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js.map +1 -0
  715. package/dist/data/ai/SpecRuntimeEditor/presets.cjs +2 -9
  716. package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +1 -1
  717. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +1 -2
  718. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +1 -1
  719. package/dist/data/ai/SpecRuntimeEditor/presets.js +2 -9
  720. package/dist/data/ai/SpecRuntimeEditor/presets.js.map +1 -1
  721. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  722. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +1 -1
  723. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  724. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  725. package/dist/data/ai/SpecRuntimeEditor/types.cjs +2 -7
  726. package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
  727. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +0 -1
  728. package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
  729. package/dist/data/ai/SpecRuntimeEditor/types.js +3 -8
  730. package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
  731. package/dist/data/ai/SpecRuntimeEditor/update.cjs +43 -33
  732. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  733. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +7 -13
  734. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  735. package/dist/data/ai/SpecRuntimeEditor/update.js +43 -33
  736. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  737. package/dist/data/ai/SpecRuntimeEditor.model.cjs +33 -49
  738. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  739. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +52 -29
  740. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  741. package/dist/data/ai/SpecRuntimeEditor.model.js +33 -48
  742. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  743. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs +276 -0
  744. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs.map +1 -0
  745. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts +58 -0
  746. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts.map +1 -0
  747. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js +276 -0
  748. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js.map +1 -0
  749. package/dist/data/ai/ThreadPicker.cjs +55 -42
  750. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  751. package/dist/data/ai/ThreadPicker.d.ts +1 -1
  752. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  753. package/dist/data/ai/ThreadPicker.js +56 -43
  754. package/dist/data/ai/ThreadPicker.js.map +1 -1
  755. package/dist/data/ai/ToolPreferences.cjs +9 -1
  756. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  757. package/dist/data/ai/ToolPreferences.d.ts +1 -1
  758. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  759. package/dist/data/ai/ToolPreferences.js +9 -1
  760. package/dist/data/ai/ToolPreferences.js.map +1 -1
  761. package/dist/data/ai/ToolPreferencesList.d.ts +2 -2
  762. package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -1
  763. package/dist/data/ai/ToolSchemaBrowser.cjs +41 -487
  764. package/dist/data/ai/ToolSchemaBrowser.cjs.map +1 -1
  765. package/dist/data/ai/ToolSchemaBrowser.d.ts +7 -2
  766. package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -1
  767. package/dist/data/ai/ToolSchemaBrowser.detail.cjs +238 -0
  768. package/dist/data/ai/ToolSchemaBrowser.detail.cjs.map +1 -0
  769. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +8 -0
  770. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts.map +1 -0
  771. package/dist/data/ai/ToolSchemaBrowser.detail.js +238 -0
  772. package/dist/data/ai/ToolSchemaBrowser.detail.js.map +1 -0
  773. package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs +57 -0
  774. package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs.map +1 -0
  775. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts +9 -0
  776. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts.map +1 -0
  777. package/dist/data/ai/ToolSchemaBrowser.directory-header.js +57 -0
  778. package/dist/data/ai/ToolSchemaBrowser.directory-header.js.map +1 -0
  779. package/dist/data/ai/ToolSchemaBrowser.js +42 -488
  780. package/dist/data/ai/ToolSchemaBrowser.js.map +1 -1
  781. package/dist/data/ai/ToolSchemaBrowser.model.cjs +130 -0
  782. package/dist/data/ai/ToolSchemaBrowser.model.cjs.map +1 -0
  783. package/dist/data/ai/ToolSchemaBrowser.model.d.ts +35 -0
  784. package/dist/data/ai/ToolSchemaBrowser.model.d.ts.map +1 -0
  785. package/dist/data/ai/ToolSchemaBrowser.model.js +130 -0
  786. package/dist/data/ai/ToolSchemaBrowser.model.js.map +1 -0
  787. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs +57 -0
  788. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs.map +1 -0
  789. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +7 -0
  790. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts.map +1 -0
  791. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js +57 -0
  792. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js.map +1 -0
  793. package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs +389 -0
  794. package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs.map +1 -0
  795. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +23 -0
  796. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts.map +1 -0
  797. package/dist/data/ai/ToolSchemaBrowser.sidebar.js +389 -0
  798. package/dist/data/ai/ToolSchemaBrowser.sidebar.js.map +1 -0
  799. package/dist/data/ai/agent-action-icons.cjs +14 -6
  800. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  801. package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
  802. package/dist/data/ai/agent-action-icons.js +14 -6
  803. package/dist/data/ai/agent-action-icons.js.map +1 -1
  804. package/dist/data/ai/chat-window-context.d.ts +1 -1
  805. package/dist/data/ai/examples/sessions/claude-complete.cjs +17 -9
  806. package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -1
  807. package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -1
  808. package/dist/data/ai/examples/sessions/claude-complete.js +17 -9
  809. package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -1
  810. package/dist/data/ai/examples/sessions/claude.cjs +7 -4
  811. package/dist/data/ai/examples/sessions/claude.cjs.map +1 -1
  812. package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -1
  813. package/dist/data/ai/examples/sessions/claude.js +7 -4
  814. package/dist/data/ai/examples/sessions/claude.js.map +1 -1
  815. package/dist/data/ai/examples/sessions/codex-complete.cjs +17 -10
  816. package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -1
  817. package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -1
  818. package/dist/data/ai/examples/sessions/codex-complete.js +17 -10
  819. package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -1
  820. package/dist/data/ai/examples/sessions/codex.cjs +7 -4
  821. package/dist/data/ai/examples/sessions/codex.cjs.map +1 -1
  822. package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -1
  823. package/dist/data/ai/examples/sessions/codex.js +7 -4
  824. package/dist/data/ai/examples/sessions/codex.js.map +1 -1
  825. package/dist/data/ai/index.d.ts +6 -3
  826. package/dist/data/ai/index.d.ts.map +1 -1
  827. package/dist/data/ai/runtime-profile.cjs +93 -0
  828. package/dist/data/ai/runtime-profile.cjs.map +1 -0
  829. package/dist/data/ai/runtime-profile.d.ts +73 -0
  830. package/dist/data/ai/runtime-profile.d.ts.map +1 -0
  831. package/dist/data/ai/runtime-profile.js +93 -0
  832. package/dist/data/ai/runtime-profile.js.map +1 -0
  833. package/dist/data/ai/sandbox-kind-meta.cjs +38 -4
  834. package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -1
  835. package/dist/data/ai/sandbox-kind-meta.d.ts +3 -0
  836. package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -1
  837. package/dist/data/ai/sandbox-kind-meta.js +38 -4
  838. package/dist/data/ai/sandbox-kind-meta.js.map +1 -1
  839. package/dist/data/ai/use-session-scroll.d.ts +1 -1
  840. package/dist/data/cache-browser/CacheBrowser.d.ts +1 -1
  841. package/dist/data/cache-browser/CacheBrowser.d.ts.map +1 -1
  842. package/dist/data/cache-browser/CacheDetailPanel.d.ts +1 -1
  843. package/dist/data/cache-browser/CacheDetailPanel.d.ts.map +1 -1
  844. package/dist/data/cache-browser/CacheStatsOverview.d.ts +1 -1
  845. package/dist/data/cache-browser/CacheStatsOverview.d.ts.map +1 -1
  846. package/dist/data/cache-browser/CacheTree.d.ts +2 -2
  847. package/dist/data/cache-browser/CacheTree.d.ts.map +1 -1
  848. package/dist/data/cache-browser/CacheValue.d.ts +1 -1
  849. package/dist/data/cache-browser/CacheValue.d.ts.map +1 -1
  850. package/dist/data/cache-browser/adapter.d.ts +1 -1
  851. package/dist/data/cells/CellFilterActions.d.ts +2 -2
  852. package/dist/data/cells/CellFilterActions.d.ts.map +1 -1
  853. package/dist/data/cells/EntityCell.d.ts +2 -2
  854. package/dist/data/cells/EntityCell.d.ts.map +1 -1
  855. package/dist/data/cells/StatusDot.d.ts +1 -1
  856. package/dist/data/cells/StatusDot.d.ts.map +1 -1
  857. package/dist/data/cells/TagList.d.ts +3 -3
  858. package/dist/data/cells/TagList.d.ts.map +1 -1
  859. package/dist/data/cells/Timestamp.d.ts +1 -1
  860. package/dist/data/cells/Timestamp.d.ts.map +1 -1
  861. package/dist/data/cells/tag-utils.d.ts +1 -1
  862. package/dist/data/chat/Attachment.d.ts +2 -2
  863. package/dist/data/chat/Attachment.d.ts.map +1 -1
  864. package/dist/data/chat/Chat.cjs +13 -3
  865. package/dist/data/chat/Chat.cjs.map +1 -1
  866. package/dist/data/chat/Chat.d.ts +1 -1
  867. package/dist/data/chat/Chat.d.ts.map +1 -1
  868. package/dist/data/chat/Chat.fixtures.cjs +3 -3
  869. package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
  870. package/dist/data/chat/Chat.fixtures.js +3 -3
  871. package/dist/data/chat/Chat.fixtures.js.map +1 -1
  872. package/dist/data/chat/Chat.js +14 -4
  873. package/dist/data/chat/Chat.js.map +1 -1
  874. package/dist/data/chat/Chat.runtime.cjs +4 -9
  875. package/dist/data/chat/Chat.runtime.cjs.map +1 -1
  876. package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
  877. package/dist/data/chat/Chat.runtime.js +4 -9
  878. package/dist/data/chat/Chat.runtime.js.map +1 -1
  879. package/dist/data/chat/ChatRuntimeToolbar.cjs +5 -5
  880. package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
  881. package/dist/data/chat/ChatRuntimeToolbar.d.ts +1 -1
  882. package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
  883. package/dist/data/chat/ChatRuntimeToolbar.js +5 -5
  884. package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
  885. package/dist/data/chat/ContextMeter.cjs +3 -3
  886. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  887. package/dist/data/chat/ContextMeter.d.ts +3 -3
  888. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  889. package/dist/data/chat/ContextMeter.js +3 -3
  890. package/dist/data/chat/ContextMeter.js.map +1 -1
  891. package/dist/data/chat/Conversation.d.ts +1 -1
  892. package/dist/data/chat/Conversation.d.ts.map +1 -1
  893. package/dist/data/chat/Message.d.ts +1 -1
  894. package/dist/data/chat/Message.d.ts.map +1 -1
  895. package/dist/data/chat/MessageActions.d.ts +1 -1
  896. package/dist/data/chat/MessageActions.d.ts.map +1 -1
  897. package/dist/data/chat/ModelSelector.d.ts +5 -5
  898. package/dist/data/chat/ModelSelector.d.ts.map +1 -1
  899. package/dist/data/chat/PromptInput.d.ts +2 -2
  900. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  901. package/dist/data/chat/Reasoning.d.ts +1 -1
  902. package/dist/data/chat/Reasoning.d.ts.map +1 -1
  903. package/dist/data/chat/Suggestion.d.ts +1 -1
  904. package/dist/data/chat/Suggestion.d.ts.map +1 -1
  905. package/dist/data/chat/ToolCall.d.ts +1 -1
  906. package/dist/data/chat/ToolCall.d.ts.map +1 -1
  907. package/dist/data/chat/approval.cjs.map +1 -1
  908. package/dist/data/chat/approval.d.ts +21 -1
  909. package/dist/data/chat/approval.d.ts.map +1 -1
  910. package/dist/data/chat/approval.js.map +1 -1
  911. package/dist/data/chat/clickyOperationsToTools.cjs +5 -0
  912. package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
  913. package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
  914. package/dist/data/chat/clickyOperationsToTools.js +5 -0
  915. package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
  916. package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
  917. package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
  918. package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
  919. package/dist/data/chat/tool-render/adapter.d.ts +1 -1
  920. package/dist/data/chat/tool-render/context.d.ts +1 -1
  921. package/dist/data/chat/tool-render/defaults.d.ts +1 -1
  922. package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
  923. package/dist/data/chat/tool-render/summary.d.ts +1 -1
  924. package/dist/data/chat/types.cjs.map +1 -1
  925. package/dist/data/chat/types.d.ts +8 -6
  926. package/dist/data/chat/types.d.ts.map +1 -1
  927. package/dist/data/chat/types.js.map +1 -1
  928. package/dist/data/chat/usage-snapshot.cjs +21 -1
  929. package/dist/data/chat/usage-snapshot.cjs.map +1 -1
  930. package/dist/data/chat/usage-snapshot.d.ts +2 -0
  931. package/dist/data/chat/usage-snapshot.d.ts.map +1 -1
  932. package/dist/data/chat/usage-snapshot.js +22 -2
  933. package/dist/data/chat/usage-snapshot.js.map +1 -1
  934. package/dist/data/clicky-export/ClickyExportDialog.d.ts +1 -1
  935. package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -1
  936. package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
  937. package/dist/data/code-block-actions.d.ts +1 -1
  938. package/dist/data/code-block-actions.d.ts.map +1 -1
  939. package/dist/data/data-table-server-filters.d.ts +1 -1
  940. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +2 -2
  941. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -1
  942. package/dist/data/diagnostics/DiagnosticsTree.d.ts +1 -1
  943. package/dist/data/diagnostics/DiagnosticsTree.d.ts.map +1 -1
  944. package/dist/data/diagnostics/ErrorDetails.d.ts +4 -4
  945. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
  946. package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
  947. package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
  948. package/dist/data/diagnostics/GoroutineCard.d.ts +1 -1
  949. package/dist/data/diagnostics/GoroutineCard.d.ts.map +1 -1
  950. package/dist/data/diagnostics/JvmStackTrace.d.ts +1 -1
  951. package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -1
  952. package/dist/data/diagnostics/RenderedStackTrace.d.ts +1 -1
  953. package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
  954. package/dist/data/diagnostics/StackFrameRow.d.ts +2 -2
  955. package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -1
  956. package/dist/data/diagnostics/ThreadCard.d.ts +1 -1
  957. package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -1
  958. package/dist/data/git/GitChangeList.d.ts +5 -5
  959. package/dist/data/git/GitChangeList.d.ts.map +1 -1
  960. package/dist/data/har/HarPanel.d.ts +1 -1
  961. package/dist/data/har/HarPanel.d.ts.map +1 -1
  962. package/dist/data/icon-fallback.d.ts +1 -1
  963. package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
  964. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  965. package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
  966. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +1 -1
  967. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
  968. package/dist/data/query-browser/QueryBrowserResults.d.ts +1 -1
  969. package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
  970. package/dist/data/runtime/ProviderStatusPanel.d.ts +1 -1
  971. package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -1
  972. package/dist/data/runtime/RuntimeBar.cjs +29 -16
  973. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  974. package/dist/data/runtime/RuntimeBar.d.ts +10 -2
  975. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  976. package/dist/data/runtime/RuntimeBar.js +31 -18
  977. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  978. package/dist/data/runtime/RuntimeBar.model.cjs +10 -20
  979. package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -1
  980. package/dist/data/runtime/RuntimeBar.model.d.ts +2 -2
  981. package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -1
  982. package/dist/data/runtime/RuntimeBar.model.js +11 -21
  983. package/dist/data/runtime/RuntimeBar.model.js.map +1 -1
  984. package/dist/data/runtime/RuntimeBarCombo.cjs +11 -6
  985. package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -1
  986. package/dist/data/runtime/RuntimeBarCombo.d.ts +3 -1
  987. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
  988. package/dist/data/runtime/RuntimeBarCombo.js +11 -6
  989. package/dist/data/runtime/RuntimeBarCombo.js.map +1 -1
  990. package/dist/data/runtime/RuntimeBarSegments.cjs +7 -5
  991. package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -1
  992. package/dist/data/runtime/RuntimeBarSegments.d.ts +4 -2
  993. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
  994. package/dist/data/runtime/RuntimeBarSegments.js +7 -5
  995. package/dist/data/runtime/RuntimeBarSegments.js.map +1 -1
  996. package/dist/data/runtime/model-capabilities.cjs +0 -3
  997. package/dist/data/runtime/model-capabilities.cjs.map +1 -1
  998. package/dist/data/runtime/model-capabilities.d.ts +0 -1
  999. package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
  1000. package/dist/data/runtime/model-capabilities.js +0 -3
  1001. package/dist/data/runtime/model-capabilities.js.map +1 -1
  1002. package/dist/data/runtime/provider-status.cjs +1 -1
  1003. package/dist/data/runtime/provider-status.cjs.map +1 -1
  1004. package/dist/data/runtime/provider-status.js +1 -1
  1005. package/dist/data/runtime/provider-status.js.map +1 -1
  1006. package/dist/data/runtime/runtime-field-support.cjs +63 -0
  1007. package/dist/data/runtime/runtime-field-support.cjs.map +1 -0
  1008. package/dist/data/runtime/runtime-field-support.d.ts +13 -0
  1009. package/dist/data/runtime/runtime-field-support.d.ts.map +1 -0
  1010. package/dist/data/runtime/runtime-field-support.js +63 -0
  1011. package/dist/data/runtime/runtime-field-support.js.map +1 -0
  1012. package/dist/data/runtime/runtime-mode.cjs +158 -116
  1013. package/dist/data/runtime/runtime-mode.cjs.map +1 -1
  1014. package/dist/data/runtime/runtime-mode.d.ts +57 -19
  1015. package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
  1016. package/dist/data/runtime/runtime-mode.js +158 -116
  1017. package/dist/data/runtime/runtime-mode.js.map +1 -1
  1018. package/dist/data/selectionActionSplit.cjs +33 -0
  1019. package/dist/data/selectionActionSplit.cjs.map +1 -0
  1020. package/dist/data/selectionActionSplit.d.ts +36 -0
  1021. package/dist/data/selectionActionSplit.d.ts.map +1 -0
  1022. package/dist/data/selectionActionSplit.js +33 -0
  1023. package/dist/data/selectionActionSplit.js.map +1 -0
  1024. package/dist/data/task-copy.cjs +76 -0
  1025. package/dist/data/task-copy.cjs.map +1 -0
  1026. package/dist/data/task-copy.d.ts +12 -0
  1027. package/dist/data/task-copy.d.ts.map +1 -0
  1028. package/dist/data/task-copy.js +76 -0
  1029. package/dist/data/task-copy.js.map +1 -0
  1030. package/dist/data/test-runner/TestDetailPanel.d.ts +1 -1
  1031. package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
  1032. package/dist/data/test-runner/TestFailureDetail.d.ts +3 -3
  1033. package/dist/data/test-runner/TestFailureDetail.d.ts.map +1 -1
  1034. package/dist/data/test-runner/TestFilterBar.d.ts +1 -1
  1035. package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
  1036. package/dist/data/test-runner/TestRunSummary.d.ts +1 -1
  1037. package/dist/data/test-runner/TestRunSummary.d.ts.map +1 -1
  1038. package/dist/data/test-runner/TestRunner.d.ts +2 -2
  1039. package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
  1040. package/dist/data/test-runner/TestTree.d.ts +1 -1
  1041. package/dist/data/test-runner/TestTree.d.ts.map +1 -1
  1042. package/dist/data/test-runner/TestTreeNode.cjs +16 -11
  1043. package/dist/data/test-runner/TestTreeNode.cjs.map +1 -1
  1044. package/dist/data/test-runner/TestTreeNode.d.ts +1 -1
  1045. package/dist/data/test-runner/TestTreeNode.d.ts.map +1 -1
  1046. package/dist/data/test-runner/TestTreeNode.js +16 -11
  1047. package/dist/data/test-runner/TestTreeNode.js.map +1 -1
  1048. package/dist/data/test-runner/adapter.d.ts +1 -1
  1049. package/dist/data/test-runner/context.d.ts +1 -1
  1050. package/dist/data/version-info.cjs +3 -3
  1051. package/dist/data/version-info.js +3 -3
  1052. package/dist/data.cjs +34 -0
  1053. package/dist/data.cjs.map +1 -1
  1054. package/dist/data.d.ts +4 -1
  1055. package/dist/data.d.ts.map +1 -1
  1056. package/dist/data.js +34 -0
  1057. package/dist/data.js.map +1 -1
  1058. package/dist/devtools/DebugConsole.d.ts +1 -1
  1059. package/dist/devtools/DebugConsole.d.ts.map +1 -1
  1060. package/dist/devtools/DebugConsoleButton.d.ts +1 -1
  1061. package/dist/devtools/DebugConsoleButton.d.ts.map +1 -1
  1062. package/dist/devtools/DebugConsoleDock.d.ts +1 -1
  1063. package/dist/devtools/DebugConsoleDock.d.ts.map +1 -1
  1064. package/dist/devtools/ExecutionDetail.d.ts +1 -1
  1065. package/dist/devtools/ExecutionDetail.d.ts.map +1 -1
  1066. package/dist/devtools/tabs/ConsoleTab.d.ts +1 -1
  1067. package/dist/devtools/tabs/ConsoleTab.d.ts.map +1 -1
  1068. package/dist/devtools/tabs/InspectionCaches.d.ts +1 -1
  1069. package/dist/devtools/tabs/InspectionCaches.d.ts.map +1 -1
  1070. package/dist/devtools/tabs/InspectionTab.d.ts +1 -1
  1071. package/dist/devtools/tabs/InspectionTab.d.ts.map +1 -1
  1072. package/dist/devtools/tabs/NetworkTab.d.ts +1 -1
  1073. package/dist/devtools/tabs/NetworkTab.d.ts.map +1 -1
  1074. package/dist/devtools/tabs/QueriesTab.d.ts +1 -1
  1075. package/dist/devtools/tabs/QueriesTab.d.ts.map +1 -1
  1076. package/dist/hooks/density-provider.d.ts +3 -3
  1077. package/dist/hooks/density-provider.d.ts.map +1 -1
  1078. package/dist/hooks/theme-provider.d.ts +2 -2
  1079. package/dist/hooks/theme-provider.d.ts.map +1 -1
  1080. package/dist/hooks/use-density.d.ts +1 -1
  1081. package/dist/hooks/use-task-run.cjs +24 -17
  1082. package/dist/hooks/use-task-run.cjs.map +1 -1
  1083. package/dist/hooks/use-task-run.d.ts +3 -1
  1084. package/dist/hooks/use-task-run.d.ts.map +1 -1
  1085. package/dist/hooks/use-task-run.js +25 -18
  1086. package/dist/hooks/use-task-run.js.map +1 -1
  1087. package/dist/hooks/use-theme.d.ts +1 -1
  1088. package/dist/icons/components/UiCalendarCheck.cjs +15 -0
  1089. package/dist/icons/components/UiCalendarCheck.cjs.map +1 -0
  1090. package/dist/icons/components/UiCalendarCheck.d.ts +15 -0
  1091. package/dist/icons/components/UiCalendarCheck.d.ts.map +1 -0
  1092. package/dist/icons/components/UiCalendarCheck.js +15 -0
  1093. package/dist/icons/components/UiCalendarCheck.js.map +1 -0
  1094. package/dist/icons/components/UiChartLineUp.cjs +15 -0
  1095. package/dist/icons/components/UiChartLineUp.cjs.map +1 -0
  1096. package/dist/icons/components/UiChartLineUp.d.ts +15 -0
  1097. package/dist/icons/components/UiChartLineUp.d.ts.map +1 -0
  1098. package/dist/icons/components/UiChartLineUp.js +15 -0
  1099. package/dist/icons/components/UiChartLineUp.js.map +1 -0
  1100. package/dist/icons/components/UiClockCountdown.cjs +15 -0
  1101. package/dist/icons/components/UiClockCountdown.cjs.map +1 -0
  1102. package/dist/icons/components/UiClockCountdown.d.ts +15 -0
  1103. package/dist/icons/components/UiClockCountdown.d.ts.map +1 -0
  1104. package/dist/icons/components/UiClockCountdown.js +15 -0
  1105. package/dist/icons/components/UiClockCountdown.js.map +1 -0
  1106. package/dist/icons/components/UiFactory.cjs +15 -0
  1107. package/dist/icons/components/UiFactory.cjs.map +1 -0
  1108. package/dist/icons/components/UiFactory.d.ts +15 -0
  1109. package/dist/icons/components/UiFactory.d.ts.map +1 -0
  1110. package/dist/icons/components/UiFactory.js +15 -0
  1111. package/dist/icons/components/UiFactory.js.map +1 -0
  1112. package/dist/icons/components/UiHandCoins.cjs +15 -0
  1113. package/dist/icons/components/UiHandCoins.cjs.map +1 -0
  1114. package/dist/icons/components/UiHandCoins.d.ts +15 -0
  1115. package/dist/icons/components/UiHandCoins.d.ts.map +1 -0
  1116. package/dist/icons/components/UiHandCoins.js +15 -0
  1117. package/dist/icons/components/UiHandCoins.js.map +1 -0
  1118. package/dist/icons/components/UiInvoice.cjs +15 -0
  1119. package/dist/icons/components/UiInvoice.cjs.map +1 -0
  1120. package/dist/icons/components/UiInvoice.d.ts +15 -0
  1121. package/dist/icons/components/UiInvoice.d.ts.map +1 -0
  1122. package/dist/icons/components/UiInvoice.js +15 -0
  1123. package/dist/icons/components/UiInvoice.js.map +1 -0
  1124. package/dist/icons/components/UiTax.cjs +15 -0
  1125. package/dist/icons/components/UiTax.cjs.map +1 -0
  1126. package/dist/icons/components/UiTax.d.ts +15 -0
  1127. package/dist/icons/components/UiTax.d.ts.map +1 -0
  1128. package/dist/icons/components/UiTax.js +15 -0
  1129. package/dist/icons/components/UiTax.js.map +1 -0
  1130. package/dist/icons/index.d.ts +14 -0
  1131. package/dist/icons/index.d.ts.map +1 -1
  1132. package/dist/icons/registry.cjs +14 -0
  1133. package/dist/icons/registry.cjs.map +1 -1
  1134. package/dist/icons/registry.d.ts +1 -1
  1135. package/dist/icons/registry.d.ts.map +1 -1
  1136. package/dist/icons/registry.js +14 -0
  1137. package/dist/icons/registry.js.map +1 -1
  1138. package/dist/icons/types.d.ts +1 -1
  1139. package/dist/icons.cjs +21 -0
  1140. package/dist/icons.cjs.map +1 -1
  1141. package/dist/icons.js +21 -0
  1142. package/dist/icons.js.map +1 -1
  1143. package/dist/index.cjs +43 -0
  1144. package/dist/index.cjs.map +1 -1
  1145. package/dist/index.js +44 -1
  1146. package/dist/index.js.map +1 -1
  1147. package/dist/layout/AppShell.cjs +17 -3
  1148. package/dist/layout/AppShell.cjs.map +1 -1
  1149. package/dist/layout/AppShell.d.ts +10 -2
  1150. package/dist/layout/AppShell.d.ts.map +1 -1
  1151. package/dist/layout/AppShell.debug.d.ts +1 -1
  1152. package/dist/layout/AppShell.debug.d.ts.map +1 -1
  1153. package/dist/layout/AppShell.js +17 -3
  1154. package/dist/layout/AppShell.js.map +1 -1
  1155. package/dist/layout/AppShell.nav.cjs +133 -76
  1156. package/dist/layout/AppShell.nav.cjs.map +1 -1
  1157. package/dist/layout/AppShell.nav.d.ts +1 -1
  1158. package/dist/layout/AppShell.nav.d.ts.map +1 -1
  1159. package/dist/layout/AppShell.nav.drag.cjs +86 -0
  1160. package/dist/layout/AppShell.nav.drag.cjs.map +1 -0
  1161. package/dist/layout/AppShell.nav.drag.d.ts +52 -0
  1162. package/dist/layout/AppShell.nav.drag.d.ts.map +1 -0
  1163. package/dist/layout/AppShell.nav.drag.js +86 -0
  1164. package/dist/layout/AppShell.nav.drag.js.map +1 -0
  1165. package/dist/layout/AppShell.nav.js +133 -76
  1166. package/dist/layout/AppShell.nav.js.map +1 -1
  1167. package/dist/layout/AppSidebar.d.ts +3 -3
  1168. package/dist/layout/AppSidebar.d.ts.map +1 -1
  1169. package/dist/layout/Panel.d.ts +2 -2
  1170. package/dist/layout/Panel.d.ts.map +1 -1
  1171. package/dist/layout/PanelFrame.d.ts +2 -2
  1172. package/dist/layout/PanelFrame.d.ts.map +1 -1
  1173. package/dist/layout/Section.d.ts +3 -3
  1174. package/dist/layout/Section.d.ts.map +1 -1
  1175. package/dist/layout/SplitPane.d.ts +2 -2
  1176. package/dist/layout/SplitPane.d.ts.map +1 -1
  1177. package/dist/layout/Tabs.d.ts +2 -2
  1178. package/dist/layout/Tabs.d.ts.map +1 -1
  1179. package/dist/layout/Workspace.d.ts +2 -2
  1180. package/dist/layout/Workspace.d.ts.map +1 -1
  1181. package/dist/layout/Workspace.model.d.ts +1 -1
  1182. package/dist/layout/Workspace.regions.d.ts +2 -2
  1183. package/dist/layout/Workspace.regions.d.ts.map +1 -1
  1184. package/dist/{components/combobox-utils.cjs → lib/combobox-values.cjs} +1 -5
  1185. package/dist/lib/combobox-values.cjs.map +1 -0
  1186. package/dist/{components/combobox-utils.d.ts → lib/combobox-values.d.ts} +3 -13
  1187. package/dist/lib/combobox-values.d.ts.map +1 -0
  1188. package/dist/{components/combobox-utils.js → lib/combobox-values.js} +1 -5
  1189. package/dist/lib/combobox-values.js.map +1 -0
  1190. package/dist/lib/combobox.cjs +93 -0
  1191. package/dist/lib/combobox.cjs.map +1 -0
  1192. package/dist/lib/combobox.d.ts +20 -0
  1193. package/dist/lib/combobox.d.ts.map +1 -0
  1194. package/dist/lib/combobox.js +93 -0
  1195. package/dist/lib/combobox.js.map +1 -0
  1196. package/dist/monaco/MonacoEditor.d.ts +1 -1
  1197. package/dist/monaco/MonacoEditor.d.ts.map +1 -1
  1198. package/dist/monaco/MonacoProvider.d.ts +1 -1
  1199. package/dist/monaco/MonacoProvider.d.ts.map +1 -1
  1200. package/dist/monaco/MonacoSchemaEditor.cjs +4 -4
  1201. package/dist/monaco/MonacoSchemaEditor.cjs.map +1 -1
  1202. package/dist/monaco/MonacoSchemaEditor.d.ts +1 -1
  1203. package/dist/monaco/MonacoSchemaEditor.d.ts.map +1 -1
  1204. package/dist/monaco/MonacoSchemaEditor.js +4 -4
  1205. package/dist/monaco/MonacoSchemaEditor.js.map +1 -1
  1206. package/dist/monaco/types.d.ts +1 -1
  1207. package/dist/monaco/use-monaco-worker.d.ts +1 -1
  1208. package/dist/overlay/CellActions.d.ts +3 -3
  1209. package/dist/overlay/CellActions.d.ts.map +1 -1
  1210. package/dist/overlay/CommandPalette.d.ts +2 -2
  1211. package/dist/overlay/CommandPalette.model.d.ts +1 -1
  1212. package/dist/overlay/CommandPaletteList.cjs.map +1 -1
  1213. package/dist/overlay/CommandPaletteList.d.ts +3 -3
  1214. package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
  1215. package/dist/overlay/CommandPaletteList.js.map +1 -1
  1216. package/dist/overlay/CommandPaletteTrigger.d.ts +1 -1
  1217. package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -1
  1218. package/dist/overlay/ContextMenu.d.ts +1 -1
  1219. package/dist/overlay/ContextMenu.d.ts.map +1 -1
  1220. package/dist/overlay/DropdownMenu.cjs +46 -35
  1221. package/dist/overlay/DropdownMenu.cjs.map +1 -1
  1222. package/dist/overlay/DropdownMenu.d.ts +2 -2
  1223. package/dist/overlay/DropdownMenu.d.ts.map +1 -1
  1224. package/dist/overlay/DropdownMenu.js +46 -35
  1225. package/dist/overlay/DropdownMenu.js.map +1 -1
  1226. package/dist/overlay/DropdownMenuSubmenu.d.ts +1 -1
  1227. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  1228. package/dist/overlay/HoverCard.d.ts +2 -2
  1229. package/dist/overlay/HoverCard.d.ts.map +1 -1
  1230. package/dist/overlay/Modal.cjs +105 -18
  1231. package/dist/overlay/Modal.cjs.map +1 -1
  1232. package/dist/overlay/Modal.d.ts +2 -2
  1233. package/dist/overlay/Modal.d.ts.map +1 -1
  1234. package/dist/overlay/Modal.js +105 -18
  1235. package/dist/overlay/Modal.js.map +1 -1
  1236. package/dist/overlay/Toast.d.ts +2 -2
  1237. package/dist/overlay/Toast.d.ts.map +1 -1
  1238. package/dist/overlay/Tour.d.ts +1 -1
  1239. package/dist/overlay/Tour.d.ts.map +1 -1
  1240. package/dist/overlay/TourCard.d.ts +2 -2
  1241. package/dist/overlay/TourCard.d.ts.map +1 -1
  1242. package/dist/overlay/TourProvider.d.ts +2 -2
  1243. package/dist/overlay/TourProvider.d.ts.map +1 -1
  1244. package/dist/overlay/TourSpotlight.d.ts +1 -1
  1245. package/dist/overlay/TourSpotlight.d.ts.map +1 -1
  1246. package/dist/overlay/dropdownMenuContext.d.ts +1 -1
  1247. package/dist/overlay/toast-context.d.ts +2 -2
  1248. package/dist/overlay/tour-context.d.ts +1 -1
  1249. package/dist/overlay/tour-types.d.ts +1 -1
  1250. package/dist/profiles/cel/celEditor.d.ts +4 -4
  1251. package/dist/profiles/cel/celEditor.d.ts.map +1 -1
  1252. package/dist/profiles/connections/catalogTree.d.ts +1 -1
  1253. package/dist/profiles/connections/catalogTree.d.ts.map +1 -1
  1254. package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
  1255. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +2 -2
  1256. package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -1
  1257. package/dist/profiles/connections/inspectionStatus.d.ts +1 -1
  1258. package/dist/profiles/connections/inspectionStatus.d.ts.map +1 -1
  1259. package/dist/profiles/editor/profileBuilder.d.ts +3 -3
  1260. package/dist/profiles/editor/profileBuilder.d.ts.map +1 -1
  1261. package/dist/profiles/editor/profileBuilderWorkspace.d.ts +1 -1
  1262. package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -1
  1263. package/dist/profiles/editor/profileEditor.d.ts +1 -1
  1264. package/dist/profiles/editor/profileEditor.d.ts.map +1 -1
  1265. package/dist/profiles/editor/profileEditorPreview.d.ts +1 -1
  1266. package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -1
  1267. package/dist/profiles/editor/profileEditorRail.d.ts +1 -1
  1268. package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -1
  1269. package/dist/profiles/editor/profileEditorRaw.d.ts +1 -1
  1270. package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -1
  1271. package/dist/profiles/editor/profileEditorSections.d.ts +3 -3
  1272. package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -1
  1273. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts +1 -1
  1274. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -1
  1275. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
  1276. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +2 -2
  1277. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -1
  1278. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts +1 -1
  1279. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -1
  1280. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +1 -1
  1281. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -1
  1282. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +2 -2
  1283. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -1
  1284. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +1 -1
  1285. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -1
  1286. package/dist/profiles/elasticsearch/esQueryPreview.d.ts +1 -1
  1287. package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -1
  1288. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts +1 -1
  1289. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -1
  1290. package/dist/profiles/elasticsearch/esValueCombobox.d.ts +2 -2
  1291. package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -1
  1292. package/dist/profiles/fields/profileColumnPicker.d.ts +1 -1
  1293. package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -1
  1294. package/dist/profiles/fields/profileFieldControls.d.ts +3 -3
  1295. package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -1
  1296. package/dist/profiles/fields/profileFieldEditor.d.ts +3 -3
  1297. package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
  1298. package/dist/profiles/fields/profileFieldFilterEditor.d.ts +1 -1
  1299. package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -1
  1300. package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
  1301. package/dist/profiles/fields/profileFieldList.d.ts +2 -2
  1302. package/dist/profiles/fields/profileFieldList.d.ts.map +1 -1
  1303. package/dist/profiles/fields/profileFieldManager.d.ts +1 -1
  1304. package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -1
  1305. package/dist/profiles/fields/profileFieldState.d.ts +1 -1
  1306. package/dist/profiles/processor/processorPipeline.d.ts +1 -1
  1307. package/dist/profiles/processor/processorPipeline.d.ts.map +1 -1
  1308. package/dist/profiles/processor/processorPipelineEditor.d.ts +1 -1
  1309. package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -1
  1310. package/dist/profiles/processor/processorPreviewTable.d.ts +1 -1
  1311. package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -1
  1312. package/dist/profiles/query/jsonPathSample.d.ts +1 -1
  1313. package/dist/profiles/query/jsonPathSampleRow.d.ts +2 -2
  1314. package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -1
  1315. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +1 -1
  1316. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -1
  1317. package/dist/profiles/query/prometheusResults.d.ts +2 -2
  1318. package/dist/profiles/query/prometheusResults.d.ts.map +1 -1
  1319. package/dist/profiles/query/queryRowLimits.d.ts +1 -1
  1320. package/dist/profiles/query/queryRowLimits.d.ts.map +1 -1
  1321. package/dist/profiles/query/queryTargetPicker.d.ts +1 -1
  1322. package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -1
  1323. package/dist/profiles/wizard/profileWizard.d.ts +1 -1
  1324. package/dist/profiles/wizard/profileWizard.d.ts.map +1 -1
  1325. package/dist/profiles/wizard/profileWizardQueryStep.d.ts +1 -1
  1326. package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -1
  1327. package/dist/profiles/wizard/profileWizardSteps.d.ts +4 -4
  1328. package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -1
  1329. package/dist/rpc/ChatLayer.d.ts +1 -1
  1330. package/dist/rpc/ChatLayer.d.ts.map +1 -1
  1331. package/dist/rpc/CommandForm.d.ts +1 -1
  1332. package/dist/rpc/CommandForm.d.ts.map +1 -1
  1333. package/dist/rpc/CommandOutput.d.ts +1 -1
  1334. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  1335. package/dist/rpc/EndpointList.d.ts +2 -2
  1336. package/dist/rpc/EndpointList.d.ts.map +1 -1
  1337. package/dist/rpc/EntityExplorerApp.d.ts +2 -2
  1338. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  1339. package/dist/rpc/ExecutionResult.d.ts +1 -1
  1340. package/dist/rpc/ExecutionResult.d.ts.map +1 -1
  1341. package/dist/rpc/FilterForm.cjs +26 -11
  1342. package/dist/rpc/FilterForm.cjs.map +1 -1
  1343. package/dist/rpc/FilterForm.d.ts +4 -1
  1344. package/dist/rpc/FilterForm.d.ts.map +1 -1
  1345. package/dist/rpc/FilterForm.js +26 -11
  1346. package/dist/rpc/FilterForm.js.map +1 -1
  1347. package/dist/rpc/FilterFormFields.cjs +3 -2
  1348. package/dist/rpc/FilterFormFields.cjs.map +1 -1
  1349. package/dist/rpc/FilterFormFields.d.ts +2 -1
  1350. package/dist/rpc/FilterFormFields.d.ts.map +1 -1
  1351. package/dist/rpc/FilterFormFields.js +3 -2
  1352. package/dist/rpc/FilterFormFields.js.map +1 -1
  1353. package/dist/rpc/InlineError.d.ts +1 -1
  1354. package/dist/rpc/InlineError.d.ts.map +1 -1
  1355. package/dist/rpc/OperationActionBar.cjs +81 -17
  1356. package/dist/rpc/OperationActionBar.cjs.map +1 -1
  1357. package/dist/rpc/OperationActionBar.d.ts +8 -3
  1358. package/dist/rpc/OperationActionBar.d.ts.map +1 -1
  1359. package/dist/rpc/OperationActionBar.js +82 -18
  1360. package/dist/rpc/OperationActionBar.js.map +1 -1
  1361. package/dist/rpc/OperationActionDialog.d.ts +1 -1
  1362. package/dist/rpc/OperationActionDialog.d.ts.map +1 -1
  1363. package/dist/rpc/OperationCatalog.cjs +129 -76
  1364. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  1365. package/dist/rpc/OperationCatalog.d.ts +6 -2
  1366. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  1367. package/dist/rpc/OperationCatalog.js +130 -77
  1368. package/dist/rpc/OperationCatalog.js.map +1 -1
  1369. package/dist/rpc/OperationCatalogActions.cjs +100 -0
  1370. package/dist/rpc/OperationCatalogActions.cjs.map +1 -0
  1371. package/dist/rpc/OperationCatalogActions.d.ts +22 -0
  1372. package/dist/rpc/OperationCatalogActions.d.ts.map +1 -0
  1373. package/dist/rpc/OperationCatalogActions.js +100 -0
  1374. package/dist/rpc/OperationCatalogActions.js.map +1 -0
  1375. package/dist/rpc/OperationCommandPage.d.ts +1 -1
  1376. package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
  1377. package/dist/rpc/OperationEntityContextPicker.cjs +129 -116
  1378. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  1379. package/dist/rpc/OperationEntityContextPicker.d.ts +18 -1
  1380. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  1381. package/dist/rpc/OperationEntityContextPicker.js +130 -117
  1382. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  1383. package/dist/rpc/OperationEntityPage.d.ts +2 -2
  1384. package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
  1385. package/dist/rpc/OperationResultView.cjs +7 -4
  1386. package/dist/rpc/OperationResultView.cjs.map +1 -1
  1387. package/dist/rpc/OperationResultView.d.ts +5 -3
  1388. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  1389. package/dist/rpc/OperationResultView.js +7 -4
  1390. package/dist/rpc/OperationResultView.js.map +1 -1
  1391. package/dist/rpc/RouterProvider.d.ts +2 -2
  1392. package/dist/rpc/RouterProvider.d.ts.map +1 -1
  1393. package/dist/rpc/SchemaActionForm.d.ts +2 -2
  1394. package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
  1395. package/dist/rpc/actionIconMap.cjs +11 -0
  1396. package/dist/rpc/actionIconMap.cjs.map +1 -0
  1397. package/dist/rpc/actionIconMap.d.ts +3 -0
  1398. package/dist/rpc/actionIconMap.d.ts.map +1 -0
  1399. package/dist/rpc/actionIconMap.js +11 -0
  1400. package/dist/rpc/actionIconMap.js.map +1 -0
  1401. package/dist/rpc/formMetadata.d.ts +1 -1
  1402. package/dist/rpc/operationCatalogUrl.cjs +28 -0
  1403. package/dist/rpc/operationCatalogUrl.cjs.map +1 -0
  1404. package/dist/rpc/operationCatalogUrl.d.ts +3 -0
  1405. package/dist/rpc/operationCatalogUrl.d.ts.map +1 -0
  1406. package/dist/rpc/operationCatalogUrl.js +28 -0
  1407. package/dist/rpc/operationCatalogUrl.js.map +1 -0
  1408. package/dist/rpc/operationErrorDiagnostics.d.ts +1 -1
  1409. package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -1
  1410. package/dist/rpc/router.d.ts +1 -1
  1411. package/dist/rpc/rowNavigation.cjs +4 -3
  1412. package/dist/rpc/rowNavigation.cjs.map +1 -1
  1413. package/dist/rpc/rowNavigation.d.ts +1 -1
  1414. package/dist/rpc/rowNavigation.d.ts.map +1 -1
  1415. package/dist/rpc/rowNavigation.js +4 -3
  1416. package/dist/rpc/rowNavigation.js.map +1 -1
  1417. package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
  1418. package/dist/rpc/types.cjs.map +1 -1
  1419. package/dist/rpc/types.d.ts +2 -2
  1420. package/dist/rpc/types.d.ts.map +1 -1
  1421. package/dist/rpc/types.js.map +1 -1
  1422. package/dist/rpc.cjs +2 -0
  1423. package/dist/rpc.cjs.map +1 -1
  1424. package/dist/rpc.d.ts +2 -1
  1425. package/dist/rpc.d.ts.map +1 -1
  1426. package/dist/rpc.js +2 -0
  1427. package/dist/rpc.js.map +1 -1
  1428. package/dist/runtime-profile.cjs +7 -0
  1429. package/dist/runtime-profile.cjs.map +1 -0
  1430. package/dist/runtime-profile.d.ts +2 -0
  1431. package/dist/runtime-profile.d.ts.map +1 -0
  1432. package/dist/runtime-profile.js +7 -0
  1433. package/dist/runtime-profile.js.map +1 -0
  1434. package/dist/styles.css +1 -1
  1435. package/package.json +8 -3
  1436. package/dist/components/combobox-utils.cjs.map +0 -1
  1437. package/dist/components/combobox-utils.d.ts.map +0 -1
  1438. package/dist/components/combobox-utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sources":["../../src/layout/AppShell.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../data/Icon\";\nimport { UiClose, UiMenu, UiSidebar } from \"../icons\";\nimport { useEscapeLayer } from \"../overlay/modalStack\";\nimport type { DropdownMenuItem } from \"../overlay/DropdownMenu\";\nimport { SplitPane } from \"./SplitPane\";\nimport { AppShellSlotOutlines } from \"./AppShell.debug\";\nimport { NavSections, type GroupState } from \"./AppShell.nav\";\nimport { contentWidthClassName, type ContentWidth } from \"./content-width\";\n\n// AppShell is a sidebar-first application shell. The full-height DARK nav rail\n// owns the brand + collapse toggle and renders grouped nav sections; the top bar\n// (search, actions) sits to the RIGHT of the rail — there is no full-width top\n// bar when a rail is present. With no rail, the top bar spans full width. The\n// body carries a fixed bodyHeader + bodyActions row over an optional\n// bodySidebar | body-main split (body-main scrolls; bodySidebar — e.g. a tree —\n// scrolls independently via a resizable SplitPane).\n\nexport type AppShellNavItem = {\n /** Stable key; also the React key. */\n key: string;\n /** Visible label (hidden when the rail is collapsed). */\n label: ReactNode;\n /** Leading icon (icon name or component). */\n icon?: string | StaticIconComponent;\n /** Highlights the item as the current location. */\n active?: boolean;\n /** Routing destination; rendered as an anchor via the RouterAdapter. */\n to: string;\n /** Opens `to` in a new tab. */\n external?: boolean;\n /** Trailing adornment (count, status dot). */\n badge?: ReactNode;\n /** Actions opened by right-click, the Context Menu key, or Shift+F10. */\n contextMenu?: DropdownMenuItem[];\n /** Accessible label for the context menu. Defaults to `<label> actions`. */\n contextMenuLabel?: string;\n};\n\nexport type AppShellNavGroup = {\n /** Stable key; also the key its collapsed state persists under. */\n key: string;\n /** Group heading rendered on the toggle row. */\n label: string;\n /** Leading icon (icon name or component). */\n icon?: string | StaticIconComponent;\n /** Trailing adornment (aggregate count, status dot). */\n badge?: ReactNode;\n /** Actions opened from the group heading's context menu. */\n contextMenu?: DropdownMenuItem[];\n /** Accessible label for the context menu. Defaults to `<label> actions`. */\n contextMenuLabel?: string;\n /** Folded on first render until the user toggles it. */\n defaultCollapsed?: boolean;\n /**\n * Keeps the group open regardless of stored state, so a deep-linked\n * destination can never hide under a folder the user collapsed earlier.\n * Mirrors `Tree.revealSelected`: set it on the active item's ancestors.\n */\n forceExpanded?: boolean;\n items: AppShellNavItem[];\n /**\n * Nested sub-groups, rendered after `items` at one further indent. Groups\n * nest arbitrarily, so a backend hierarchy deeper than two levels does not\n * have to be flattened to fit the rail.\n */\n groups?: AppShellNavGroup[];\n /**\n * Makes the group's own heading row a destination as well as a disclosure:\n * the label becomes a nav link and the chevron sits beside it as a separate\n * control. Needed wherever a node is both a folder and a leaf — e.g. a\n * profile named `jms` that is runnable *and* the parent of `jms.incoming`.\n */\n item?: AppShellNavItem;\n};\n\nexport type AppShellNavSection = {\n /** Section heading; collapses to a divider when the rail is collapsed. */\n label?: string;\n items?: AppShellNavItem[];\n /** Collapsible groups rendered after the flat items. High-cardinality\n * clusters (provider surfaces, per-ledger journals) belong here so they can\n * be folded away; a collapsed rail flattens them back to plain items. */\n groups?: AppShellNavGroup[];\n /**\n * How the groups read.\n *\n * `\"list\"` (the default) styles each group heading as a small uppercase\n * cluster label — right for a handful of named clusters under one section.\n *\n * `\"tree\"` styles headings as ordinary nav rows, because in a tree a folder\n * sits at the same level as its sibling destinations: a group carrying an\n * `item` renders as a link either way, so an uppercase heading beside it\n * would make two nodes of the same kind look like different things.\n */\n variant?: \"list\" | \"tree\";\n};\n\nexport type AppShellProps = {\n // ── Top bar (right of the rail; full width when no rail) ─\n /** Brand mark / wordmark. Shown in the rail header when a rail is present, else in the top bar. */\n brand?: ReactNode;\n /** Inline primary nav (e.g. tabs) shown after the brand in the top bar. */\n nav?: ReactNode;\n /** Centered search slot; grows to fill and is width-capped. */\n search?: ReactNode;\n /** Right-aligned cluster (icon buttons, settings/org picker, …). */\n actions?: ReactNode;\n /** Compact action cluster used in the mobile header. Defaults to `actions`. */\n mobileActions?: ReactNode;\n /** Optional second top-bar row for filters / bulk actions. */\n toolbar?: ReactNode;\n /** Max width of the centered search slot. Defaults to 28rem. */\n searchMaxWidth?: string | number;\n\n // ── Left nav rail (dark, collapsible, fixed width) ───────\n /** Declarative nav sections rendered into the rail (collapse-aware). */\n navSections?: AppShellNavSection[];\n /** Custom sidebar content; receives the collapsed flag. Overrides navSections. */\n sidebar?: ReactNode | ((collapsed: boolean) => ReactNode);\n /** Pinned below the rail header (e.g. a context switcher). */\n sidebarHeader?: ReactNode;\n /** Pinned to the bottom of the rail (version, account). */\n sidebarFooter?: ReactNode;\n /** Show the collapse toggle. Defaults to true when a rail is present. */\n collapsible?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** localStorage key persisting the collapsed state. */\n collapsedStorageKey?: string;\n /** localStorage key persisting per-group collapsed state. */\n groupCollapsedStorageKey?: string;\n /** Expanded rail width in px. Defaults to 240. */\n sidebarWidth?: number;\n /** Collapsed rail width in px. Defaults to 56. */\n collapsedWidth?: number;\n /** Accessible label for the mobile navigation drawer. Defaults to \"Navigation\". */\n mobileSidebarLabel?: string;\n\n // ── Body ─────────────────────────────────────────────────\n /** Fixed header row, left side (breadcrumb, title, tabs). */\n bodyHeader?: ReactNode;\n /** Fixed header row, right side (entity actions) — same row as bodyHeader. */\n bodyActions?: ReactNode;\n /** Optional independent-scroll pane (e.g. a tree). Renders a SplitPane vs body-main. */\n bodySidebar?: ReactNode;\n /** bodySidebar width as a percent when present. Defaults to 24. */\n bodySplit?: number;\n /** Main content (body-main); fills the remaining space and scrolls. */\n children: ReactNode;\n /** Centers content at responsive wide breakpoints, or allows it to fill the workspace. */\n contentWidth?: ContentWidth;\n\n /**\n * Outlines every slot in its own colour and labels it with its `data-slot`\n * name — a layout-debugging aid for working out which region owns a given\n * area or scrollbar. Uses `outline`, so enabling it does not shift layout.\n */\n debugSlots?: boolean;\n\n className?: string;\n headerClassName?: string;\n toolbarClassName?: string;\n sidebarClassName?: string;\n bodyHeaderClassName?: string;\n contentClassName?: string;\n};\n\nfunction readStored(key: string | undefined): string | null {\n if (!key || typeof window === \"undefined\") return null;\n return window.localStorage.getItem(key);\n}\n\nconst DEFAULT_GROUP_COLLAPSE_KEY = \"clicky-ui:app-shell:groups\";\n\nfunction readGroupState(storageKey: string): Record<string, boolean> {\n if (typeof window === \"undefined\") return {};\n try {\n const raw = window.localStorage.getItem(storageKey);\n if (!raw) return {};\n const parsed = JSON.parse(raw);\n return parsed && typeof parsed === \"object\"\n ? (parsed as Record<string, boolean>)\n : {};\n } catch {\n return {};\n }\n}\n\n// Lives here rather than in AppShell.nav so a single instance can be shared by\n// both NavSections renders (rail + mobile drawer).\nfunction useGroupCollapsed(storageKey: string): GroupState {\n const [state, setState] = useState<Record<string, boolean>>(() =>\n readGroupState(storageKey),\n );\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(storageKey, JSON.stringify(state));\n } catch {\n // Rail state is a UX nicety; private-mode storage failures are safe to swallow.\n }\n }, [state, storageKey]);\n return {\n isCollapsed: (key, fallback) => state[key] ?? fallback,\n toggle: (key, fallback) =>\n setState((prev) => ({ ...prev, [key]: !(prev[key] ?? fallback) })),\n };\n}\n\nexport function AppShell(props: AppShellProps) {\n const {\n brand,\n nav,\n search,\n actions,\n mobileActions,\n toolbar,\n searchMaxWidth = \"28rem\",\n navSections,\n sidebar,\n sidebarHeader,\n sidebarFooter,\n collapsible = true,\n defaultCollapsed = false,\n collapsedStorageKey,\n groupCollapsedStorageKey,\n sidebarWidth = 240,\n collapsedWidth = 56,\n mobileSidebarLabel = \"Navigation\",\n bodyHeader,\n bodyActions,\n bodySidebar,\n bodySplit = 24,\n children,\n contentWidth = \"contained\",\n debugSlots = false,\n className,\n headerClassName,\n toolbarClassName,\n sidebarClassName,\n bodyHeaderClassName,\n contentClassName,\n } = props;\n\n const hasSidebar = sidebar !== undefined || (navSections?.length ?? 0) > 0;\n const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);\n\n const [collapsed, setCollapsed] = useState(\n () =>\n readStored(collapsedStorageKey) === \"true\" ||\n (readStored(collapsedStorageKey) === null && defaultCollapsed),\n );\n\n useEffect(() => {\n if (collapsedStorageKey && typeof window !== \"undefined\")\n window.localStorage.setItem(collapsedStorageKey, String(collapsed));\n }, [collapsed, collapsedStorageKey]);\n\n useEscapeLayer(mobileSidebarOpen, () => setMobileSidebarOpen(false));\n\n // One instance for the rail AND the mobile drawer: both render NavSections,\n // and per-render state behind a shared storage key would desync.\n const groupState = useGroupCollapsed(\n groupCollapsedStorageKey ?? DEFAULT_GROUP_COLLAPSE_KEY,\n );\n\n const railWidth = collapsed ? collapsedWidth : sidebarWidth;\n const hasTopBar =\n (!hasSidebar && brand !== undefined) ||\n nav !== undefined ||\n search !== undefined ||\n actions !== undefined ||\n mobileActions !== undefined ||\n toolbar !== undefined;\n const hasMobileHeader = hasSidebar;\n const hasBodyHeader = bodyHeader !== undefined || bodyActions !== undefined;\n const effectiveContentWidth =\n bodySidebar === undefined ? contentWidth : \"full\";\n const renderSidebarContent = (\n collapsedValue: boolean,\n onNavigate?: () => void,\n ) =>\n typeof sidebar === \"function\"\n ? sidebar(collapsedValue)\n : sidebar !== undefined\n ? sidebar\n : navSections && (\n <NavSections\n sections={navSections}\n collapsed={collapsedValue}\n groupState={groupState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n );\n\n return (\n <div\n className={cn(\"flex h-full min-h-0 w-full bg-background\", className)}\n {...(debugSlots ? { \"data-debug-slots\": \"true\" } : {})}\n >\n {debugSlots && <AppShellSlotOutlines />}\n {hasSidebar && (\n <aside\n data-slot=\"app-shell-sidebar\"\n style={{ width: railWidth }}\n className={cn(\n \"hidden shrink-0 flex-col overflow-hidden border-r border-sidebar-border bg-sidebar text-sidebar-foreground transition-[width] duration-200 md:flex\",\n sidebarClassName,\n )}\n >\n <div\n className={cn(\n \"flex h-14 shrink-0 items-center border-b border-sidebar-border\",\n collapsed\n ? \"justify-center px-2\"\n : \"justify-between px-density-3\",\n )}\n >\n {!collapsed && brand && (\n <div\n data-slot=\"app-shell-brand\"\n className=\"flex min-w-0 items-center gap-2\"\n >\n {brand}\n </div>\n )}\n {collapsible && (\n <button\n type=\"button\"\n onClick={() => setCollapsed((c) => !c)}\n aria-label={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n title={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/70 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n >\n <Icon icon={UiSidebar} className=\"h-4 w-4\" />\n </button>\n )}\n </div>\n {sidebarHeader && (\n <div\n data-slot=\"app-shell-sidebar-header\"\n className=\"shrink-0 border-b border-sidebar-border px-density-3 py-density-2\"\n >\n {sidebarHeader}\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto py-density-2\">\n {renderSidebarContent(collapsed)}\n </div>\n {sidebarFooter && (\n <div\n data-slot=\"app-shell-sidebar-footer\"\n className=\"mt-auto shrink-0 border-t border-sidebar-border px-density-3 py-density-2\"\n >\n {sidebarFooter}\n </div>\n )}\n </aside>\n )}\n\n <div\n data-slot=\"app-shell-column\"\n className=\"@container/app-content flex min-h-0 min-w-0 flex-1 flex-col\"\n >\n {(hasTopBar || hasMobileHeader) && (\n <header\n data-slot=\"app-shell-header\"\n className=\"shrink-0 border-b border-border bg-card\"\n >\n <div\n className={cn(\n hasSidebar\n ? \"flex flex-wrap items-center gap-density-2 px-density-3 py-density-2 md:h-14 md:flex-nowrap md:gap-density-3 md:px-density-4 md:py-0\"\n : \"flex h-14 items-center gap-density-3 px-density-4\",\n headerClassName,\n )}\n >\n {hasSidebar && (\n <button\n type=\"button\"\n aria-label={`Open ${mobileSidebarLabel}`}\n title={mobileSidebarLabel}\n className=\"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground transition-colors hover:bg-accent md:hidden\"\n onClick={() => setMobileSidebarOpen(true)}\n >\n <Icon icon={UiMenu} className=\"h-4 w-4\" />\n </button>\n )}\n {brand && (\n <div\n data-slot=\"app-shell-brand\"\n className={cn(\n \"min-w-0 items-center gap-density-2\",\n hasSidebar ? \"flex flex-1 md:hidden\" : \"flex shrink-0\",\n )}\n >\n {brand}\n </div>\n )}\n {nav && (\n <div\n data-slot=\"app-shell-nav\"\n className={cn(\n \"flex min-w-0 items-center\",\n hasSidebar &&\n \"order-3 basis-full overflow-x-auto md:order-none md:basis-auto md:overflow-visible\",\n )}\n >\n {nav}\n </div>\n )}\n {search !== undefined && (\n <div\n data-slot=\"app-shell-search\"\n className={cn(\n \"flex min-w-0 flex-1 justify-center\",\n hasSidebar &&\n \"order-2 basis-full md:order-none md:basis-auto md:flex-1\",\n )}\n >\n <div className=\"w-full\" style={{ maxWidth: searchMaxWidth }}>\n {search}\n </div>\n </div>\n )}\n {search === undefined && (\n <div\n className={cn(\"flex-1\", hasSidebar && \"hidden md:block\")}\n />\n )}\n {(actions !== undefined ||\n (hasSidebar && mobileActions !== undefined)) && (\n <div\n data-slot=\"app-shell-actions\"\n className={cn(\n \"flex shrink-0 items-center gap-density-2\",\n hasSidebar && \"order-1 ml-auto md:order-none md:ml-0\",\n )}\n >\n {!hasSidebar || mobileActions === undefined ? (\n actions\n ) : (\n <>\n <div className=\"hidden items-center gap-density-2 md:flex\">\n {actions}\n </div>\n <div className=\"flex items-center gap-density-2 md:hidden\">\n {mobileActions}\n </div>\n </>\n )}\n </div>\n )}\n </div>\n {toolbar && (\n <div\n data-slot=\"app-shell-toolbar\"\n className={cn(\n \"flex flex-wrap items-center gap-density-2 border-t border-border bg-muted px-density-3 py-density-2 md:px-density-4\",\n toolbarClassName,\n )}\n >\n {toolbar}\n </div>\n )}\n </header>\n )}\n\n {hasBodyHeader && (\n <div\n data-slot=\"app-shell-body-header\"\n className={cn(\n \"shrink-0 border-b border-border bg-card\",\n bodyHeaderClassName,\n )}\n >\n <div\n data-slot=\"app-shell-body-header-content\"\n data-content-width={effectiveContentWidth}\n className={cn(\n \"flex flex-col items-stretch gap-density-2 px-density-3 py-density-2 md:flex-row md:items-start md:justify-between md:gap-density-3 md:px-density-4\",\n contentWidthClassName(effectiveContentWidth),\n )}\n >\n <div className=\"min-w-0 flex-1\">{bodyHeader}</div>\n {bodyActions && (\n <div\n data-slot=\"app-shell-body-actions\"\n className=\"flex shrink-0 flex-wrap items-center gap-density-2\"\n >\n {bodyActions}\n </div>\n )}\n </div>\n </div>\n )}\n\n {bodySidebar !== undefined ? (\n <SplitPane\n stackOnMobile\n className=\"min-h-0 flex-1\"\n defaultSplit={bodySplit}\n minLeft={12}\n minRight={30}\n left={\n <div data-slot=\"app-shell-body-sidebar\" className=\"h-full\">\n {bodySidebar}\n </div>\n }\n right={\n <main\n data-slot=\"app-shell-main\"\n className={cn(\n \"h-full min-h-0 min-w-0 overflow-auto\",\n contentClassName,\n )}\n >\n {children}\n </main>\n }\n leftClass=\"max-h-[40vh] shrink-0 border-b border-border md:max-h-none md:border-b-0\"\n rightClass=\"min-h-0 flex-1 md:flex-none\"\n />\n ) : (\n <main\n data-slot=\"app-shell-main\"\n className={cn(\n \"min-h-0 min-w-0 flex-1 overflow-auto\",\n contentClassName,\n )}\n >\n <div\n data-slot=\"app-shell-content\"\n data-content-width={contentWidth}\n className={cn(contentWidthClassName(contentWidth), \"h-full\")}\n >\n {children}\n </div>\n </main>\n )}\n </div>\n {hasSidebar && mobileSidebarOpen && (\n <div\n className=\"fixed inset-0 z-50 md:hidden\"\n role=\"presentation\"\n onClick={() => setMobileSidebarOpen(false)}\n >\n <div className=\"absolute inset-0 bg-black/40\" />\n <aside\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={mobileSidebarLabel}\n className={cn(\n \"relative z-10 flex h-full w-[min(20rem,85vw)] flex-col overflow-hidden border-r border-sidebar-border bg-sidebar text-sidebar-foreground shadow-xl\",\n sidebarClassName,\n )}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"flex h-14 shrink-0 items-center justify-between border-b border-sidebar-border px-density-3\">\n {brand && (\n <div className=\"flex min-w-0 items-center gap-2\">{brand}</div>\n )}\n <button\n type=\"button\"\n aria-label={`Close ${mobileSidebarLabel}`}\n title=\"Close\"\n className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/70 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n onClick={() => setMobileSidebarOpen(false)}\n >\n <Icon icon={UiClose} className=\"h-4 w-4\" />\n </button>\n </div>\n {sidebarHeader && (\n <div className=\"shrink-0 border-b border-sidebar-border px-density-3 py-density-2\">\n {sidebarHeader}\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto py-density-2\">\n {renderSidebarContent(false, () => setMobileSidebarOpen(false))}\n </div>\n {sidebarFooter && (\n <div className=\"mt-auto shrink-0 border-t border-sidebar-border px-density-3 py-density-2\">\n {sidebarFooter}\n </div>\n )}\n </aside>\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppShell.js","sources":["../../src/layout/AppShell.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../data/Icon\";\nimport { UiClose, UiMenu, UiSidebar } from \"../icons\";\nimport { useEscapeLayer } from \"../overlay/modalStack\";\nimport type { DropdownMenuItem } from \"../overlay/DropdownMenu\";\nimport { SplitPane } from \"./SplitPane\";\nimport { AppShellSlotOutlines } from \"./AppShell.debug\";\nimport { NavSections, type GroupState } from \"./AppShell.nav\";\nimport type { AppShellNavDrag } from \"./AppShell.nav.drag\";\nimport { contentWidthClassName, type ContentWidth } from \"./content-width\";\n\n// AppShell is a sidebar-first application shell. The full-height DARK nav rail\n// owns the brand + collapse toggle and renders grouped nav sections; the top bar\n// (search, actions) sits to the RIGHT of the rail — there is no full-width top\n// bar when a rail is present. With no rail, the top bar spans full width. The\n// body carries a fixed bodyHeader + bodyActions row over an optional\n// bodySidebar | body-main split (body-main scrolls; bodySidebar — e.g. a tree —\n// scrolls independently via a resizable SplitPane).\n\nexport type AppShellNavItem = {\n /** Stable key; also the React key. */\n key: string;\n /** Visible label (hidden when the rail is collapsed). */\n label: ReactNode;\n /** Leading icon (icon name or component). */\n icon?: string | StaticIconComponent;\n /** Highlights the item as the current location. */\n active?: boolean;\n /** Routing destination; rendered as an anchor via the RouterAdapter. */\n to: string;\n /** Opens `to` in a new tab. */\n external?: boolean;\n /** Trailing adornment (count, status dot). */\n badge?: ReactNode;\n /** Actions opened by right-click, the Context Menu key, or Shift+F10. */\n contextMenu?: DropdownMenuItem[];\n /** Accessible label for the context menu. Defaults to `<label> actions`. */\n contextMenuLabel?: string;\n};\n\nexport type AppShellNavGroup = {\n /** Stable key; also the key its collapsed state persists under. */\n key: string;\n /** Group heading rendered on the toggle row. */\n label: string;\n /** Leading icon (icon name or component). */\n icon?: string | StaticIconComponent;\n /** Trailing adornment (aggregate count, status dot). */\n badge?: ReactNode;\n /** Actions opened from the group heading's context menu. */\n contextMenu?: DropdownMenuItem[];\n /** Accessible label for the context menu. Defaults to `<label> actions`. */\n contextMenuLabel?: string;\n /** Folded on first render until the user toggles it. */\n defaultCollapsed?: boolean;\n /**\n * Keeps the group open regardless of stored state, so a deep-linked\n * destination can never hide under a folder the user collapsed earlier.\n * Mirrors `Tree.revealSelected`: set it on the active item's ancestors.\n */\n forceExpanded?: boolean;\n items: AppShellNavItem[];\n /**\n * Nested sub-groups, rendered after `items` at one further indent. Groups\n * nest arbitrarily, so a backend hierarchy deeper than two levels does not\n * have to be flattened to fit the rail.\n */\n groups?: AppShellNavGroup[];\n /**\n * Makes the group's own heading row a destination as well as a disclosure:\n * the label becomes a nav link and the chevron sits beside it as a separate\n * control. Needed wherever a node is both a folder and a leaf — e.g. a\n * profile named `jms` that is runnable *and* the parent of `jms.incoming`.\n */\n item?: AppShellNavItem;\n};\n\nexport type AppShellNavSection = {\n /** Section heading; collapses to a divider when the rail is collapsed. */\n label?: string;\n items?: AppShellNavItem[];\n /** Collapsible groups rendered after the flat items. High-cardinality\n * clusters (provider surfaces, per-ledger journals) belong here so they can\n * be folded away; a collapsed rail flattens them back to plain items. */\n groups?: AppShellNavGroup[];\n /**\n * How the groups read.\n *\n * `\"list\"` (the default) styles each group heading as a small uppercase\n * cluster label — right for a handful of named clusters under one section.\n *\n * `\"tree\"` styles headings as ordinary nav rows, because in a tree a folder\n * sits at the same level as its sibling destinations: a group carrying an\n * `item` renders as a link either way, so an uppercase heading beside it\n * would make two nodes of the same kind look like different things.\n */\n variant?: \"list\" | \"tree\";\n /**\n * Makes the section's rows draggable onto one another, so a hierarchy can be\n * rearranged in place. The section stays the boundary — a row never lands in\n * a different section — and the consumer owns what a move means. Ignored\n * while the rail is collapsed, where there are no folder rows to aim at.\n */\n drag?: AppShellNavDrag;\n};\n\nexport type AppShellProps = {\n // ── Top bar (right of the rail; full width when no rail) ─\n /** Brand mark / wordmark. Shown in the rail header when a rail is present, else in the top bar. */\n brand?: ReactNode;\n /** Inline primary nav (e.g. tabs) shown after the brand in the top bar. */\n nav?: ReactNode;\n /** Centered search slot; grows to fill and is width-capped. */\n search?: ReactNode;\n /** Right-aligned cluster (icon buttons, settings/org picker, …). */\n actions?: ReactNode;\n /** Compact action cluster used in the mobile header. Defaults to `actions`. */\n mobileActions?: ReactNode;\n /** Optional second top-bar row for filters / bulk actions. */\n toolbar?: ReactNode;\n /** Max width of the centered search slot. Defaults to 28rem. */\n searchMaxWidth?: string | number;\n\n // ── Left nav rail (dark, collapsible, fixed width) ───────\n /** Declarative nav sections rendered into the rail (collapse-aware). */\n navSections?: AppShellNavSection[];\n /** Custom sidebar content; receives the collapsed flag. Overrides navSections. */\n sidebar?: ReactNode | ((collapsed: boolean) => ReactNode);\n /** Pinned below the rail header (e.g. a context switcher). */\n sidebarHeader?: ReactNode;\n /** Pinned to the bottom of the rail (version, account). */\n sidebarFooter?: ReactNode;\n /** Show the collapse toggle. Defaults to true when a rail is present. */\n collapsible?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** localStorage key persisting the collapsed state. */\n collapsedStorageKey?: string;\n /** localStorage key persisting per-group collapsed state. */\n groupCollapsedStorageKey?: string;\n /** Expanded rail width in px. Defaults to 240. */\n sidebarWidth?: number;\n /** Collapsed rail width in px. Defaults to 56. */\n collapsedWidth?: number;\n /** Accessible label for the mobile navigation drawer. Defaults to \"Navigation\". */\n mobileSidebarLabel?: string;\n\n // ── Body ─────────────────────────────────────────────────\n /** Fixed header row, left side (breadcrumb, title, tabs). */\n bodyHeader?: ReactNode;\n /** Fixed header row, right side (entity actions) — same row as bodyHeader. */\n bodyActions?: ReactNode;\n /** Optional independent-scroll pane (e.g. a tree). Renders a SplitPane vs body-main. */\n bodySidebar?: ReactNode;\n /** bodySidebar width as a percent when present. Defaults to 24. */\n bodySplit?: number;\n /** Main content (body-main); fills the remaining space and scrolls. */\n children: ReactNode;\n /** Centers content at responsive wide breakpoints, or allows it to fill the workspace. */\n contentWidth?: ContentWidth;\n\n /**\n * Outlines every slot in its own colour and labels it with its `data-slot`\n * name — a layout-debugging aid for working out which region owns a given\n * area or scrollbar. Uses `outline`, so enabling it does not shift layout.\n */\n debugSlots?: boolean;\n\n className?: string;\n headerClassName?: string;\n toolbarClassName?: string;\n sidebarClassName?: string;\n bodyHeaderClassName?: string;\n contentClassName?: string;\n};\n\nfunction readStored(key: string | undefined): string | null {\n if (!key || typeof window === \"undefined\") return null;\n return window.localStorage.getItem(key);\n}\n\nconst DEFAULT_GROUP_COLLAPSE_KEY = \"clicky-ui:app-shell:groups\";\n\nfunction readGroupState(storageKey: string): Record<string, boolean> {\n if (typeof window === \"undefined\") return {};\n try {\n const raw = window.localStorage.getItem(storageKey);\n if (!raw) return {};\n const parsed = JSON.parse(raw);\n return parsed && typeof parsed === \"object\"\n ? (parsed as Record<string, boolean>)\n : {};\n } catch {\n return {};\n }\n}\n\n// Lives here rather than in AppShell.nav so a single instance can be shared by\n// both NavSections renders (rail + mobile drawer).\nfunction useGroupCollapsed(storageKey: string): GroupState {\n const [state, setState] = useState<Record<string, boolean>>(() =>\n readGroupState(storageKey),\n );\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(storageKey, JSON.stringify(state));\n } catch {\n // Rail state is a UX nicety; private-mode storage failures are safe to swallow.\n }\n }, [state, storageKey]);\n return {\n isCollapsed: (key, fallback) => state[key] ?? fallback,\n toggle: (key, fallback) =>\n setState((prev) => ({ ...prev, [key]: !(prev[key] ?? fallback) })),\n };\n}\n\nexport function AppShell(props: AppShellProps) {\n const {\n brand,\n nav,\n search,\n actions,\n mobileActions,\n toolbar,\n searchMaxWidth = \"28rem\",\n navSections,\n sidebar,\n sidebarHeader,\n sidebarFooter,\n collapsible = true,\n defaultCollapsed = false,\n collapsedStorageKey,\n groupCollapsedStorageKey,\n sidebarWidth = 240,\n collapsedWidth = 56,\n mobileSidebarLabel = \"Navigation\",\n bodyHeader,\n bodyActions,\n bodySidebar,\n bodySplit = 24,\n children,\n contentWidth = \"contained\",\n debugSlots = false,\n className,\n headerClassName,\n toolbarClassName,\n sidebarClassName,\n bodyHeaderClassName,\n contentClassName,\n } = props;\n\n const hasSidebar = sidebar !== undefined || (navSections?.length ?? 0) > 0;\n const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);\n\n const [collapsed, setCollapsed] = useState(\n () =>\n readStored(collapsedStorageKey) === \"true\" ||\n (readStored(collapsedStorageKey) === null && defaultCollapsed),\n );\n\n useEffect(() => {\n if (collapsedStorageKey && typeof window !== \"undefined\")\n window.localStorage.setItem(collapsedStorageKey, String(collapsed));\n }, [collapsed, collapsedStorageKey]);\n\n useEscapeLayer(mobileSidebarOpen, () => setMobileSidebarOpen(false));\n\n // One instance for the rail AND the mobile drawer: both render NavSections,\n // and per-render state behind a shared storage key would desync.\n const groupState = useGroupCollapsed(\n groupCollapsedStorageKey ?? DEFAULT_GROUP_COLLAPSE_KEY,\n );\n\n const railWidth = collapsed ? collapsedWidth : sidebarWidth;\n const hasTopBar =\n (!hasSidebar && brand !== undefined) ||\n nav !== undefined ||\n search !== undefined ||\n actions !== undefined ||\n mobileActions !== undefined ||\n toolbar !== undefined;\n const hasMobileHeader = hasSidebar;\n const hasBodyHeader = bodyHeader !== undefined || bodyActions !== undefined;\n const effectiveContentWidth =\n bodySidebar === undefined ? contentWidth : \"full\";\n const renderSidebarContent = (\n collapsedValue: boolean,\n onNavigate?: () => void,\n ) =>\n typeof sidebar === \"function\"\n ? sidebar(collapsedValue)\n : sidebar !== undefined\n ? sidebar\n : navSections && (\n <NavSections\n sections={navSections}\n collapsed={collapsedValue}\n groupState={groupState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n );\n\n return (\n <div\n className={cn(\"flex h-full min-h-0 w-full bg-background\", className)}\n {...(debugSlots ? { \"data-debug-slots\": \"true\" } : {})}\n >\n {debugSlots && <AppShellSlotOutlines />}\n {hasSidebar && (\n <aside\n data-slot=\"app-shell-sidebar\"\n style={{ width: railWidth }}\n className={cn(\n \"hidden shrink-0 flex-col overflow-hidden border-r border-sidebar-border bg-sidebar text-sidebar-foreground transition-[width] duration-200 md:flex\",\n sidebarClassName,\n )}\n >\n <div\n className={cn(\n \"flex h-14 shrink-0 items-center border-b border-sidebar-border\",\n collapsed\n ? \"justify-center px-2\"\n : \"justify-between px-density-3\",\n )}\n >\n {!collapsed && brand && (\n <div\n data-slot=\"app-shell-brand\"\n className=\"flex min-w-0 items-center gap-2\"\n >\n {brand}\n </div>\n )}\n {collapsible && (\n <button\n type=\"button\"\n onClick={() => setCollapsed((c) => !c)}\n aria-label={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n title={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/70 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n >\n <Icon icon={UiSidebar} className=\"h-4 w-4\" />\n </button>\n )}\n </div>\n {sidebarHeader && (\n <div\n data-slot=\"app-shell-sidebar-header\"\n className=\"shrink-0 border-b border-sidebar-border px-density-3 py-density-2\"\n >\n {sidebarHeader}\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto py-density-2\">\n {renderSidebarContent(collapsed)}\n </div>\n {sidebarFooter && (\n <div\n data-slot=\"app-shell-sidebar-footer\"\n className=\"mt-auto shrink-0 border-t border-sidebar-border px-density-3 py-density-2\"\n >\n {sidebarFooter}\n </div>\n )}\n </aside>\n )}\n\n <div\n data-slot=\"app-shell-column\"\n className=\"@container/app-content flex min-h-0 min-w-0 flex-1 flex-col\"\n >\n {(hasTopBar || hasMobileHeader) && (\n <header\n data-slot=\"app-shell-header\"\n className=\"shrink-0 border-b border-border bg-card\"\n >\n <div\n className={cn(\n hasSidebar\n ? \"flex flex-wrap items-center gap-density-2 px-density-3 py-density-2 md:h-14 md:flex-nowrap md:gap-density-3 md:px-density-4 md:py-0\"\n : // Wraps rather than squeezing. The nav shrinks and the\n // actions cluster does not, so on a laptop a full actions\n // row left the nav a sliver — every tab but the first\n // scrolled out of sight. A second line costs 44px and only\n // appears when the row genuinely cannot fit.\n \"flex min-h-14 flex-wrap items-center gap-density-3 px-density-4\",\n headerClassName,\n )}\n >\n {hasSidebar && (\n <button\n type=\"button\"\n aria-label={`Open ${mobileSidebarLabel}`}\n title={mobileSidebarLabel}\n className=\"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground transition-colors hover:bg-accent md:hidden\"\n onClick={() => setMobileSidebarOpen(true)}\n >\n <Icon icon={UiMenu} className=\"h-4 w-4\" />\n </button>\n )}\n {brand && (\n <div\n data-slot=\"app-shell-brand\"\n className={cn(\n \"min-w-0 items-center gap-density-2\",\n hasSidebar ? \"flex flex-1 md:hidden\" : \"flex shrink-0\",\n )}\n >\n {brand}\n </div>\n )}\n {nav && (\n <div\n data-slot=\"app-shell-nav\"\n className={cn(\n // The nav is the only header slot that both shrinks\n // (min-w-0) and holds wide content, while the actions\n // cluster beside it is shrink-0. Give a full actions row\n // and this box collapses to a sliver — so it needs a guard,\n // or its tabs paint straight over the toolbar next to it\n // and both become unreadable. Scrolling keeps every tab\n // reachable; overflowing keeps none of them.\n \"flex min-w-0 items-center overflow-x-auto\",\n hasSidebar && \"order-3 basis-full md:order-none md:basis-auto\",\n )}\n >\n {nav}\n </div>\n )}\n {search !== undefined && (\n <div\n data-slot=\"app-shell-search\"\n className={cn(\n \"flex min-w-0 flex-1 justify-center\",\n hasSidebar &&\n \"order-2 basis-full md:order-none md:basis-auto md:flex-1\",\n )}\n >\n <div className=\"w-full\" style={{ maxWidth: searchMaxWidth }}>\n {search}\n </div>\n </div>\n )}\n {search === undefined && (\n <div\n className={cn(\"flex-1\", hasSidebar && \"hidden md:block\")}\n />\n )}\n {(actions !== undefined ||\n (hasSidebar && mobileActions !== undefined)) && (\n <div\n data-slot=\"app-shell-actions\"\n className={cn(\n \"flex shrink-0 items-center gap-density-2\",\n hasSidebar && \"order-1 ml-auto md:order-none md:ml-0\",\n )}\n >\n {!hasSidebar || mobileActions === undefined ? (\n actions\n ) : (\n <>\n <div className=\"hidden items-center gap-density-2 md:flex\">\n {actions}\n </div>\n <div className=\"flex items-center gap-density-2 md:hidden\">\n {mobileActions}\n </div>\n </>\n )}\n </div>\n )}\n </div>\n {toolbar && (\n <div\n data-slot=\"app-shell-toolbar\"\n className={cn(\n \"flex flex-wrap items-center gap-density-2 border-t border-border bg-muted px-density-3 py-density-2 md:px-density-4\",\n toolbarClassName,\n )}\n >\n {toolbar}\n </div>\n )}\n </header>\n )}\n\n {hasBodyHeader && (\n <div\n data-slot=\"app-shell-body-header\"\n className={cn(\n \"shrink-0 border-b border-border bg-card\",\n bodyHeaderClassName,\n )}\n >\n <div\n data-slot=\"app-shell-body-header-content\"\n data-content-width={effectiveContentWidth}\n className={cn(\n \"flex flex-col items-stretch gap-density-2 px-density-3 py-density-2 md:flex-row md:items-start md:justify-between md:gap-density-3 md:px-density-4\",\n contentWidthClassName(effectiveContentWidth),\n )}\n >\n <div className=\"min-w-0 flex-1\">{bodyHeader}</div>\n {bodyActions && (\n <div\n data-slot=\"app-shell-body-actions\"\n className=\"flex shrink-0 flex-wrap items-center gap-density-2\"\n >\n {bodyActions}\n </div>\n )}\n </div>\n </div>\n )}\n\n {bodySidebar !== undefined ? (\n <SplitPane\n stackOnMobile\n className=\"min-h-0 flex-1\"\n defaultSplit={bodySplit}\n minLeft={12}\n minRight={30}\n left={\n <div data-slot=\"app-shell-body-sidebar\" className=\"h-full\">\n {bodySidebar}\n </div>\n }\n right={\n <main\n data-slot=\"app-shell-main\"\n className={cn(\n \"h-full min-h-0 min-w-0 overflow-auto\",\n contentClassName,\n )}\n >\n {children}\n </main>\n }\n leftClass=\"max-h-[40vh] shrink-0 border-b border-border md:max-h-none md:border-b-0\"\n rightClass=\"min-h-0 flex-1 md:flex-none\"\n />\n ) : (\n <main\n data-slot=\"app-shell-main\"\n className={cn(\n \"min-h-0 min-w-0 flex-1 overflow-auto\",\n contentClassName,\n )}\n >\n <div\n data-slot=\"app-shell-content\"\n data-content-width={contentWidth}\n className={cn(contentWidthClassName(contentWidth), \"h-full\")}\n >\n {children}\n </div>\n </main>\n )}\n </div>\n {hasSidebar && mobileSidebarOpen && (\n <div\n className=\"fixed inset-0 z-50 md:hidden\"\n role=\"presentation\"\n onClick={() => setMobileSidebarOpen(false)}\n >\n <div className=\"absolute inset-0 bg-black/40\" />\n <aside\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={mobileSidebarLabel}\n className={cn(\n \"relative z-10 flex h-full w-[min(20rem,85vw)] flex-col overflow-hidden border-r border-sidebar-border bg-sidebar text-sidebar-foreground shadow-xl\",\n sidebarClassName,\n )}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"flex h-14 shrink-0 items-center justify-between border-b border-sidebar-border px-density-3\">\n {brand && (\n <div className=\"flex min-w-0 items-center gap-2\">{brand}</div>\n )}\n <button\n type=\"button\"\n aria-label={`Close ${mobileSidebarLabel}`}\n title=\"Close\"\n className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/70 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n onClick={() => setMobileSidebarOpen(false)}\n >\n <Icon icon={UiClose} className=\"h-4 w-4\" />\n </button>\n </div>\n {sidebarHeader && (\n <div className=\"shrink-0 border-b border-sidebar-border px-density-3 py-density-2\">\n {sidebarHeader}\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto py-density-2\">\n {renderSidebarContent(false, () => setMobileSidebarOpen(false))}\n </div>\n {sidebarFooter && (\n <div className=\"mt-auto shrink-0 border-t border-sidebar-border px-density-3 py-density-2\">\n {sidebarFooter}\n </div>\n )}\n </aside>\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -6,13 +6,13 @@ const Icon = require("../data/Icon.cjs");
6
6
  const utils = require("../lib/utils.cjs");
7
7
  const ContextMenu = require("../overlay/ContextMenu.cjs");
8
8
  const router = require("../rpc/router.cjs");
9
+ const AppShell_nav_drag = require("./AppShell.nav.drag.cjs");
9
10
  function NavSections({
10
11
  sections,
11
12
  collapsed,
12
13
  groupState,
13
14
  onNavigate
14
15
  }) {
15
- const { renderLink } = router.useRouter();
16
16
  return /* @__PURE__ */ jsxRuntime.jsx(
17
17
  "nav",
18
18
  {
@@ -20,66 +20,90 @@ function NavSections({
20
20
  "flex flex-col gap-0.5",
21
21
  collapsed ? "px-2" : "px-density-2"
22
22
  ),
23
- children: sections.map((section, index) => {
24
- var _a, _b, _c;
25
- return /* @__PURE__ */ jsxRuntime.jsxs(
26
- "div",
23
+ children: sections.map((section, index) => /* @__PURE__ */ jsxRuntime.jsx(
24
+ NavSection,
25
+ {
26
+ section,
27
+ collapsed,
28
+ groupState,
29
+ ...onNavigate ? { onNavigate } : {}
30
+ },
31
+ section.label ?? `section-${index}`
32
+ ))
33
+ }
34
+ );
35
+ }
36
+ function NavSection({
37
+ section,
38
+ collapsed,
39
+ groupState,
40
+ onNavigate
41
+ }) {
42
+ var _a, _b, _c, _d;
43
+ const { renderLink } = router.useRouter();
44
+ const dragState = AppShell_nav_drag.useNavDrag(collapsed ? void 0 : section.drag);
45
+ const rootDrop = dragState.props({
46
+ drop: { key: ((_a = section.drag) == null ? void 0 : _a.rootKey) ?? "", kind: "section" }
47
+ });
48
+ return /* @__PURE__ */ jsxRuntime.jsxs(
49
+ "div",
50
+ {
51
+ className: utils.cn("flex flex-col", rootDrop && AppShell_nav_drag.NAV_DRAG_ZONE_CLASS),
52
+ ...rootDrop,
53
+ children: [
54
+ section.label && (collapsed ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-2 mb-1 mt-3 border-t border-sidebar-border first:mt-1" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-0.5 mt-3 px-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-sidebar-foreground/55 first:mt-1", children: section.label })),
55
+ section.variant !== "tree" && ((_b = section.items) == null ? void 0 : _b.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
56
+ NavItemRow,
27
57
  {
28
- className: "flex flex-col",
29
- children: [
30
- section.label && (collapsed ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-2 mb-1 mt-3 border-t border-sidebar-border first:mt-1" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-0.5 mt-3 px-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-sidebar-foreground/55 first:mt-1", children: section.label })),
31
- section.variant !== "tree" && ((_a = section.items) == null ? void 0 : _a.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
32
- NavItemRow,
33
- {
34
- item,
35
- collapsed,
36
- renderLink,
37
- ...onNavigate ? { onNavigate } : {}
38
- },
39
- item.key
40
- ))),
41
- (_b = section.groups) == null ? void 0 : _b.map(
42
- (group) => (
43
- // A collapsed rail has no room for group headings, so the whole
44
- // subtree flattens into the icon strip rather than hiding behind
45
- // toggles the user cannot see.
46
- collapsed ? flattenGroup(group).map((item) => /* @__PURE__ */ jsxRuntime.jsx(
47
- NavItemRow,
48
- {
49
- item,
50
- collapsed: true,
51
- renderLink,
52
- ...onNavigate ? { onNavigate } : {}
53
- },
54
- item.key
55
- )) : /* @__PURE__ */ jsxRuntime.jsx(
56
- NavGroupRows,
57
- {
58
- group,
59
- variant: section.variant ?? "list",
60
- renderLink,
61
- groupState,
62
- ...onNavigate ? { onNavigate } : {}
63
- },
64
- group.key
65
- )
66
- )
67
- ),
68
- section.variant === "tree" && ((_c = section.items) == null ? void 0 : _c.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
69
- NavItemRow,
70
- {
71
- item,
72
- collapsed,
73
- renderLink,
74
- ...onNavigate ? { onNavigate } : {}
75
- },
76
- item.key
77
- )))
78
- ]
58
+ item,
59
+ collapsed,
60
+ renderLink,
61
+ dragState,
62
+ ...onNavigate ? { onNavigate } : {}
79
63
  },
80
- section.label ?? `section-${index}`
81
- );
82
- })
64
+ item.key
65
+ ))),
66
+ (_c = section.groups) == null ? void 0 : _c.map(
67
+ (group) => (
68
+ // A collapsed rail has no room for group headings, so the whole
69
+ // subtree flattens into the icon strip rather than hiding behind
70
+ // toggles the user cannot see.
71
+ collapsed ? flattenGroup(group).map((item) => /* @__PURE__ */ jsxRuntime.jsx(
72
+ NavItemRow,
73
+ {
74
+ item,
75
+ collapsed: true,
76
+ renderLink,
77
+ dragState,
78
+ ...onNavigate ? { onNavigate } : {}
79
+ },
80
+ item.key
81
+ )) : /* @__PURE__ */ jsxRuntime.jsx(
82
+ NavGroupRows,
83
+ {
84
+ group,
85
+ variant: section.variant ?? "list",
86
+ renderLink,
87
+ groupState,
88
+ dragState,
89
+ ...onNavigate ? { onNavigate } : {}
90
+ },
91
+ group.key
92
+ )
93
+ )
94
+ ),
95
+ section.variant === "tree" && ((_d = section.items) == null ? void 0 : _d.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
96
+ NavItemRow,
97
+ {
98
+ item,
99
+ collapsed,
100
+ renderLink,
101
+ dragState,
102
+ ...onNavigate ? { onNavigate } : {}
103
+ },
104
+ item.key
105
+ )))
106
+ ]
83
107
  }
84
108
  );
85
109
  }
@@ -95,11 +119,18 @@ function NavGroupRows({
95
119
  variant,
96
120
  renderLink,
97
121
  groupState,
122
+ dragState,
98
123
  onNavigate
99
124
  }) {
100
125
  var _a, _b;
101
126
  const [contextTarget, setContextTarget] = react.useState(null);
102
127
  const hasChildren = group.items.length > 0 || (((_a = group.groups) == null ? void 0 : _a.length) ?? 0) > 0;
128
+ const folder = { key: group.key, kind: "group" };
129
+ const folderDrag = dragState.props({ drag: folder, drop: folder });
130
+ const leafFolderDrag = group.item ? dragState.props({
131
+ drag: { key: group.item.key, kind: "item" },
132
+ drop: folder
133
+ }) : void 0;
103
134
  const fallback = group.defaultCollapsed ?? false;
104
135
  const collapsed = !group.forceExpanded && groupState.isCollapsed(group.key, fallback);
105
136
  const toggle = () => groupState.toggle(group.key, fallback);
@@ -116,7 +147,11 @@ function NavGroupRows({
116
147
  "div",
117
148
  {
118
149
  ref: setContextTarget,
119
- className: "flex items-center gap-2.5 rounded-md px-density-2 py-1.5 text-[13px] text-sidebar-foreground",
150
+ className: utils.cn(
151
+ "flex items-center gap-2.5 rounded-md px-density-2 py-1.5 text-[13px] text-sidebar-foreground",
152
+ folderDrag && AppShell_nav_drag.NAV_DRAG_ROW_CLASS
153
+ ),
154
+ ...folderDrag,
120
155
  children: [
121
156
  groupIcon,
122
157
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate text-left", children: group.label }),
@@ -142,6 +177,7 @@ function NavGroupRows({
142
177
  item: group.item,
143
178
  collapsed: false,
144
179
  renderLink,
180
+ dragState,
145
181
  ...onNavigate ? { onNavigate } : {}
146
182
  }
147
183
  ) }),
@@ -157,7 +193,11 @@ function NavGroupRows({
157
193
  "div",
158
194
  {
159
195
  ref: setContextTarget,
160
- className: "group/nav flex items-center gap-1",
196
+ className: utils.cn(
197
+ "group/nav flex items-center gap-1",
198
+ leafFolderDrag && AppShell_nav_drag.NAV_DRAG_ROW_CLASS
199
+ ),
200
+ ...leafFolderDrag,
161
201
  children: [
162
202
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
163
203
  NavItemRow,
@@ -201,8 +241,10 @@ function NavGroupRows({
201
241
  "aria-expanded": !collapsed,
202
242
  className: utils.cn(
203
243
  "flex items-center gap-2.5 rounded-md px-density-2 py-1.5 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
204
- variant === "tree" ? "text-[13px] text-sidebar-foreground" : "text-[11px] font-semibold uppercase tracking-[0.14em] text-sidebar-foreground/55"
244
+ variant === "tree" ? "text-[13px] text-sidebar-foreground" : "text-[11px] font-semibold uppercase tracking-[0.14em] text-sidebar-foreground/55",
245
+ folderDrag && AppShell_nav_drag.NAV_DRAG_ROW_CLASS
205
246
  ),
247
+ ...folderDrag,
206
248
  children: [
207
249
  groupIcon,
208
250
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate text-left", children: group.label }),
@@ -227,6 +269,7 @@ function NavGroupRows({
227
269
  item,
228
270
  collapsed: false,
229
271
  renderLink,
272
+ dragState,
230
273
  ...onNavigate ? { onNavigate } : {}
231
274
  },
232
275
  item.key
@@ -238,6 +281,7 @@ function NavGroupRows({
238
281
  variant,
239
282
  renderLink,
240
283
  groupState,
284
+ dragState,
241
285
  ...onNavigate ? { onNavigate } : {}
242
286
  },
243
287
  child.key
@@ -248,6 +292,7 @@ function NavGroupRows({
248
292
  item,
249
293
  collapsed: false,
250
294
  renderLink,
295
+ dragState,
251
296
  ...onNavigate ? { onNavigate } : {}
252
297
  },
253
298
  item.key
@@ -259,9 +304,12 @@ function NavItemRow({
259
304
  item,
260
305
  collapsed,
261
306
  renderLink,
307
+ dragState,
262
308
  onNavigate
263
309
  }) {
264
310
  const [contextTarget, setContextTarget] = react.useState(null);
311
+ const target = { key: item.key, kind: "item" };
312
+ const dragProps = dragState == null ? void 0 : dragState.props({ drag: target, drop: target });
265
313
  const className = utils.cn(
266
314
  "flex w-full items-center gap-2.5 rounded-md px-density-2 py-1.5 text-left text-[13px] text-sidebar-foreground transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
267
315
  collapsed && "justify-center px-0",
@@ -291,18 +339,26 @@ function NavItemRow({
291
339
  children
292
340
  }
293
341
  );
294
- if (!item.contextMenu) return externalLink;
295
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setContextTarget, className: "w-full", children: [
296
- externalLink,
297
- /* @__PURE__ */ jsxRuntime.jsx(
298
- ContextMenu.ContextMenu,
299
- {
300
- contextTarget,
301
- menuLabel: item.contextMenuLabel ?? `${String(item.label)} actions`,
302
- menuItems: item.contextMenu
303
- }
304
- )
305
- ] });
342
+ if (!item.contextMenu && !dragProps) return externalLink;
343
+ return /* @__PURE__ */ jsxRuntime.jsxs(
344
+ "div",
345
+ {
346
+ ref: setContextTarget,
347
+ className: utils.cn("w-full", dragProps && AppShell_nav_drag.NAV_DRAG_ROW_CLASS),
348
+ ...dragProps,
349
+ children: [
350
+ externalLink,
351
+ item.contextMenu && /* @__PURE__ */ jsxRuntime.jsx(
352
+ ContextMenu.ContextMenu,
353
+ {
354
+ contextTarget,
355
+ menuLabel: item.contextMenuLabel ?? `${String(item.label)} actions`,
356
+ menuItems: item.contextMenu
357
+ }
358
+ )
359
+ ]
360
+ }
361
+ );
306
362
  }
307
363
  const link = renderLink({
308
364
  key: item.key,
@@ -311,13 +367,14 @@ function NavItemRow({
311
367
  children,
312
368
  ...title ? { title } : {}
313
369
  });
314
- if (!onNavigate && !item.contextMenu) return link;
370
+ if (!onNavigate && !item.contextMenu && !dragProps) return link;
315
371
  return /* @__PURE__ */ jsxRuntime.jsxs(
316
372
  "div",
317
373
  {
318
374
  ref: item.contextMenu ? setContextTarget : void 0,
319
- className: "w-full",
375
+ className: utils.cn("w-full", dragProps && AppShell_nav_drag.NAV_DRAG_ROW_CLASS),
320
376
  ...onNavigate ? { onClick: onNavigate } : {},
377
+ ...dragProps,
321
378
  children: [
322
379
  link,
323
380
  item.contextMenu && /* @__PURE__ */ jsxRuntime.jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.nav.cjs","sources":["../../src/layout/AppShell.nav.tsx"],"sourcesContent":["import { useState, type ReactNode } from \"react\";\nimport { Icon } from \"../data/Icon\";\nimport { cn } from \"../lib/utils\";\nimport { ContextMenu } from \"../overlay/ContextMenu\";\nimport type { RenderLink } from \"../rpc/EndpointList\";\nimport { useRouter } from \"../rpc/router\";\nimport type {\n AppShellNavGroup,\n AppShellNavItem,\n AppShellNavSection,\n} from \"./AppShell\";\n\n// Per-group collapsed state. Owned by AppShell (see `useGroupCollapsed` there)\n// and passed down, because AppShell renders NavSections twice — the desktop\n// rail and the mobile drawer — and per-render state behind one storage key\n// would desync: the rail stays mounted while the drawer is open, so a drawer\n// toggle would write localStorage the rail never reads back.\nexport interface GroupState {\n isCollapsed: (key: string, fallback: boolean) => boolean;\n toggle: (key: string, fallback: boolean) => void;\n}\n\nexport function NavSections({\n sections,\n collapsed,\n groupState,\n onNavigate,\n}: {\n sections: AppShellNavSection[];\n collapsed: boolean;\n groupState: GroupState;\n onNavigate?: () => void;\n}) {\n const { renderLink } = useRouter();\n return (\n <nav\n className={cn(\n \"flex flex-col gap-0.5\",\n collapsed ? \"px-2\" : \"px-density-2\",\n )}\n >\n {sections.map((section, index) => (\n <div\n key={section.label ?? `section-${index}`}\n className=\"flex flex-col\"\n >\n {section.label &&\n (collapsed ? (\n <div className=\"mx-2 mb-1 mt-3 border-t border-sidebar-border first:mt-1\" />\n ) : (\n <div className=\"mb-0.5 mt-3 px-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-sidebar-foreground/55 first:mt-1\">\n {section.label}\n </div>\n ))}\n {section.variant !== \"tree\" &&\n section.items?.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={collapsed}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {section.groups?.map((group) =>\n // A collapsed rail has no room for group headings, so the whole\n // subtree flattens into the icon strip rather than hiding behind\n // toggles the user cannot see.\n collapsed ? (\n flattenGroup(group).map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))\n ) : (\n <NavGroupRows\n key={group.key}\n group={group}\n variant={section.variant ?? \"list\"}\n renderLink={renderLink}\n groupState={groupState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ),\n )}\n {section.variant === \"tree\" &&\n section.items?.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={collapsed}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n </div>\n ))}\n </nav>\n );\n}\n\n// flattenGroup collects every destination in a group's subtree — its own row\n// (when it has one), its items, and everything under its nested groups.\nfunction flattenGroup(group: AppShellNavGroup): AppShellNavItem[] {\n return [\n ...(group.item ? [group.item] : []),\n ...group.items,\n ...(group.groups ?? []).flatMap(flattenGroup),\n ];\n}\n\nfunction NavGroupRows({\n group,\n variant,\n renderLink,\n groupState,\n onNavigate,\n}: {\n group: AppShellNavGroup;\n variant: \"list\" | \"tree\";\n renderLink: RenderLink;\n groupState: GroupState;\n onNavigate?: () => void;\n}) {\n const [contextTarget, setContextTarget] = useState<HTMLElement | null>(null);\n const hasChildren = group.items.length > 0 || (group.groups?.length ?? 0) > 0;\n const fallback = group.defaultCollapsed ?? false;\n const collapsed =\n !group.forceExpanded && groupState.isCollapsed(group.key, fallback);\n const toggle = () => groupState.toggle(group.key, fallback);\n const chevron = (\n <span aria-hidden className=\"text-[0.65rem] opacity-60\">\n {collapsed ? \"▸\" : \"▾\"}\n </span>\n );\n const groupIcon = group.icon && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center\">\n <Icon\n {...(typeof group.icon === \"string\"\n ? { name: group.icon }\n : { icon: group.icon })}\n />\n </span>\n );\n if (!hasChildren && !group.item) {\n return (\n <>\n <div\n ref={setContextTarget}\n className=\"flex items-center gap-2.5 rounded-md px-density-2 py-1.5 text-[13px] text-sidebar-foreground\"\n >\n {groupIcon}\n <span className=\"flex-1 truncate text-left\">{group.label}</span>\n {group.badge}\n </div>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={group.contextMenuLabel ?? `${group.label} actions`}\n menuItems={group.contextMenu}\n />\n )}\n </>\n );\n }\n if (!hasChildren && group.item) {\n return (\n <div className=\"flex items-center gap-1\">\n <div className=\"min-w-0 flex-1\">\n <NavItemRow\n item={group.item}\n collapsed={false}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n </div>\n {group.badge}\n </div>\n );\n }\n return (\n <div className=\"flex flex-col\">\n {group.item ? (\n // Folder AND leaf: the link and the disclosure are siblings. Nesting a\n // button inside the anchor would be invalid DOM and would make the\n // click target ambiguous.\n <div\n ref={setContextTarget}\n className=\"group/nav flex items-center gap-1\"\n >\n <div className=\"min-w-0 flex-1\">\n <NavItemRow\n item={group.item}\n collapsed={false}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n </div>\n {group.badge}\n <button\n type=\"button\"\n onClick={toggle}\n aria-expanded={!collapsed}\n aria-label={`${collapsed ? \"Expand\" : \"Collapse\"} ${group.label}`}\n className=\"shrink-0 rounded-md px-1.5 py-1.5 text-sidebar-foreground/55 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n >\n {chevron}\n </button>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={\n group.contextMenuLabel ?? `${group.label} folder actions`\n }\n menuItems={group.contextMenu}\n />\n )}\n </div>\n ) : (\n <>\n <button\n ref={setContextTarget}\n type=\"button\"\n onClick={toggle}\n aria-expanded={!collapsed}\n className={cn(\n \"flex items-center gap-2.5 rounded-md px-density-2 py-1.5 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n variant === \"tree\"\n ? \"text-[13px] text-sidebar-foreground\"\n : \"text-[11px] font-semibold uppercase tracking-[0.14em] text-sidebar-foreground/55\",\n )}\n >\n {groupIcon}\n <span className=\"flex-1 truncate text-left\">{group.label}</span>\n {group.badge}\n {chevron}\n </button>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={group.contextMenuLabel ?? `${group.label} actions`}\n menuItems={group.contextMenu}\n />\n )}\n </>\n )}\n {!collapsed && (\n <div className=\"ml-2 mt-0.5 flex flex-col gap-0.5 border-l border-sidebar-border pl-2\">\n {variant !== \"tree\" &&\n group.items.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={false}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {group.groups?.map((child) => (\n <NavGroupRows\n key={child.key}\n group={child}\n variant={variant}\n renderLink={renderLink}\n groupState={groupState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {variant === \"tree\" &&\n group.items.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={false}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nfunction NavItemRow({\n item,\n collapsed,\n renderLink,\n onNavigate,\n}: {\n item: AppShellNavItem;\n collapsed: boolean;\n renderLink: RenderLink;\n onNavigate?: () => void;\n}) {\n const [contextTarget, setContextTarget] = useState<HTMLElement | null>(null);\n const className = cn(\n \"flex w-full items-center gap-2.5 rounded-md px-density-2 py-1.5 text-left text-[13px] text-sidebar-foreground transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n collapsed && \"justify-center px-0\",\n item.active && \"bg-sidebar-accent font-medium text-sidebar-primary\",\n );\n const children: ReactNode = (\n <>\n {item.icon && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center\">\n <Icon\n {...(typeof item.icon === \"string\"\n ? { name: item.icon }\n : { icon: item.icon })}\n />\n </span>\n )}\n {!collapsed && <span className=\"flex-1 truncate\">{item.label}</span>}\n {!collapsed && item.badge}\n </>\n );\n const title =\n collapsed && typeof item.label === \"string\" ? item.label : undefined;\n\n if (item.external) {\n const externalLink = (\n <a\n href={item.to}\n className={className}\n title={title}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={onNavigate}\n >\n {children}\n </a>\n );\n if (!item.contextMenu) return externalLink;\n return (\n <div ref={setContextTarget} className=\"w-full\">\n {externalLink}\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={item.contextMenuLabel ?? `${String(item.label)} actions`}\n menuItems={item.contextMenu}\n />\n </div>\n );\n }\n const link = renderLink({\n key: item.key,\n to: item.to,\n className,\n children,\n ...(title ? { title } : {}),\n });\n\n if (!onNavigate && !item.contextMenu) return link;\n return (\n <div\n ref={item.contextMenu ? setContextTarget : undefined}\n className=\"w-full\"\n {...(onNavigate ? { onClick: onNavigate } : {})}\n >\n {link}\n {item.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={item.contextMenuLabel ?? `${String(item.label)} actions`}\n menuItems={item.contextMenu}\n />\n )}\n </div>\n );\n}\n"],"names":["useRouter","jsx","cn","jsxs","useState","Icon","Fragment","ContextMenu"],"mappings":"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"}
1
+ {"version":3,"file":"AppShell.nav.cjs","sources":["../../src/layout/AppShell.nav.tsx"],"sourcesContent":["import { useState, type ReactNode } from \"react\";\nimport { Icon } from \"../data/Icon\";\nimport { cn } from \"../lib/utils\";\nimport { ContextMenu } from \"../overlay/ContextMenu\";\nimport type { RenderLink } from \"../rpc/EndpointList\";\nimport { useRouter } from \"../rpc/router\";\nimport type {\n AppShellNavGroup,\n AppShellNavItem,\n AppShellNavSection,\n} from \"./AppShell\";\nimport {\n NAV_DRAG_ROW_CLASS,\n NAV_DRAG_ZONE_CLASS,\n useNavDrag,\n type NavDragState,\n} from \"./AppShell.nav.drag\";\n\n// Per-group collapsed state. Owned by AppShell (see `useGroupCollapsed` there)\n// and passed down, because AppShell renders NavSections twice — the desktop\n// rail and the mobile drawer — and per-render state behind one storage key\n// would desync: the rail stays mounted while the drawer is open, so a drawer\n// toggle would write localStorage the rail never reads back.\nexport interface GroupState {\n isCollapsed: (key: string, fallback: boolean) => boolean;\n toggle: (key: string, fallback: boolean) => void;\n}\n\nexport function NavSections({\n sections,\n collapsed,\n groupState,\n onNavigate,\n}: {\n sections: AppShellNavSection[];\n collapsed: boolean;\n groupState: GroupState;\n onNavigate?: () => void;\n}) {\n return (\n <nav\n className={cn(\n \"flex flex-col gap-0.5\",\n collapsed ? \"px-2\" : \"px-density-2\",\n )}\n >\n {sections.map((section, index) => (\n <NavSection\n key={section.label ?? `section-${index}`}\n section={section}\n collapsed={collapsed}\n groupState={groupState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n </nav>\n );\n}\n\nfunction NavSection({\n section,\n collapsed,\n groupState,\n onNavigate,\n}: {\n section: AppShellNavSection;\n collapsed: boolean;\n groupState: GroupState;\n onNavigate?: () => void;\n}) {\n const { renderLink } = useRouter();\n // A collapsed rail shows icons with no folder rows, so there is nothing\n // legible to aim a drop at — the rail must be expanded to rearrange it.\n const dragState = useNavDrag(collapsed ? undefined : section.drag);\n const rootDrop = dragState.props({\n drop: { key: section.drag?.rootKey ?? \"\", kind: \"section\" },\n });\n return (\n <div\n className={cn(\"flex flex-col\", rootDrop && NAV_DRAG_ZONE_CLASS)}\n {...rootDrop}\n >\n {section.label &&\n (collapsed ? (\n <div className=\"mx-2 mb-1 mt-3 border-t border-sidebar-border first:mt-1\" />\n ) : (\n <div className=\"mb-0.5 mt-3 px-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-sidebar-foreground/55 first:mt-1\">\n {section.label}\n </div>\n ))}\n {section.variant !== \"tree\" &&\n section.items?.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={collapsed}\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {section.groups?.map((group) =>\n // A collapsed rail has no room for group headings, so the whole\n // subtree flattens into the icon strip rather than hiding behind\n // toggles the user cannot see.\n collapsed ? (\n flattenGroup(group).map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))\n ) : (\n <NavGroupRows\n key={group.key}\n group={group}\n variant={section.variant ?? \"list\"}\n renderLink={renderLink}\n groupState={groupState}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ),\n )}\n {section.variant === \"tree\" &&\n section.items?.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={collapsed}\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n </div>\n );\n}\n\n// flattenGroup collects every destination in a group's subtree — its own row\n// (when it has one), its items, and everything under its nested groups.\nfunction flattenGroup(group: AppShellNavGroup): AppShellNavItem[] {\n return [\n ...(group.item ? [group.item] : []),\n ...group.items,\n ...(group.groups ?? []).flatMap(flattenGroup),\n ];\n}\n\nfunction NavGroupRows({\n group,\n variant,\n renderLink,\n groupState,\n dragState,\n onNavigate,\n}: {\n group: AppShellNavGroup;\n variant: \"list\" | \"tree\";\n renderLink: RenderLink;\n groupState: GroupState;\n dragState: NavDragState;\n onNavigate?: () => void;\n}) {\n const [contextTarget, setContextTarget] = useState<HTMLElement | null>(null);\n const hasChildren = group.items.length > 0 || (group.groups?.length ?? 0) > 0;\n const folder = { key: group.key, kind: \"group\" } as const;\n const folderDrag = dragState.props({ drag: folder, drop: folder });\n const leafFolderDrag = group.item\n ? dragState.props({\n drag: { key: group.item.key, kind: \"item\" },\n drop: folder,\n })\n : undefined;\n const fallback = group.defaultCollapsed ?? false;\n const collapsed =\n !group.forceExpanded && groupState.isCollapsed(group.key, fallback);\n const toggle = () => groupState.toggle(group.key, fallback);\n const chevron = (\n <span aria-hidden className=\"text-[0.65rem] opacity-60\">\n {collapsed ? \"▸\" : \"▾\"}\n </span>\n );\n const groupIcon = group.icon && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center\">\n <Icon\n {...(typeof group.icon === \"string\"\n ? { name: group.icon }\n : { icon: group.icon })}\n />\n </span>\n );\n if (!hasChildren && !group.item) {\n return (\n <>\n <div\n ref={setContextTarget}\n className={cn(\n \"flex items-center gap-2.5 rounded-md px-density-2 py-1.5 text-[13px] text-sidebar-foreground\",\n folderDrag && NAV_DRAG_ROW_CLASS,\n )}\n {...folderDrag}\n >\n {groupIcon}\n <span className=\"flex-1 truncate text-left\">{group.label}</span>\n {group.badge}\n </div>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={group.contextMenuLabel ?? `${group.label} actions`}\n menuItems={group.contextMenu}\n />\n )}\n </>\n );\n }\n if (!hasChildren && group.item) {\n return (\n <div className=\"flex items-center gap-1\">\n <div className=\"min-w-0 flex-1\">\n <NavItemRow\n item={group.item}\n collapsed={false}\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n </div>\n {group.badge}\n </div>\n );\n }\n return (\n <div className=\"flex flex-col\">\n {group.item ? (\n // Folder AND leaf: the link and the disclosure are siblings. Nesting a\n // button inside the anchor would be invalid DOM and would make the\n // click target ambiguous.\n <div\n ref={setContextTarget}\n className={cn(\n \"group/nav flex items-center gap-1\",\n leafFolderDrag && NAV_DRAG_ROW_CLASS,\n )}\n {...leafFolderDrag}\n >\n <div className=\"min-w-0 flex-1\">\n {/* The row's drag lives on this container, not the link: the same\n row is dragged as the leaf and dropped on as the folder. */}\n <NavItemRow\n item={group.item}\n collapsed={false}\n renderLink={renderLink}\n {...(onNavigate ? { onNavigate } : {})}\n />\n </div>\n {group.badge}\n <button\n type=\"button\"\n onClick={toggle}\n aria-expanded={!collapsed}\n aria-label={`${collapsed ? \"Expand\" : \"Collapse\"} ${group.label}`}\n className=\"shrink-0 rounded-md px-1.5 py-1.5 text-sidebar-foreground/55 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n >\n {chevron}\n </button>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={\n group.contextMenuLabel ?? `${group.label} folder actions`\n }\n menuItems={group.contextMenu}\n />\n )}\n </div>\n ) : (\n <>\n <button\n ref={setContextTarget}\n type=\"button\"\n onClick={toggle}\n aria-expanded={!collapsed}\n className={cn(\n \"flex items-center gap-2.5 rounded-md px-density-2 py-1.5 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n variant === \"tree\"\n ? \"text-[13px] text-sidebar-foreground\"\n : \"text-[11px] font-semibold uppercase tracking-[0.14em] text-sidebar-foreground/55\",\n folderDrag && NAV_DRAG_ROW_CLASS,\n )}\n {...folderDrag}\n >\n {groupIcon}\n <span className=\"flex-1 truncate text-left\">{group.label}</span>\n {group.badge}\n {chevron}\n </button>\n {group.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={group.contextMenuLabel ?? `${group.label} actions`}\n menuItems={group.contextMenu}\n />\n )}\n </>\n )}\n {!collapsed && (\n <div className=\"ml-2 mt-0.5 flex flex-col gap-0.5 border-l border-sidebar-border pl-2\">\n {variant !== \"tree\" &&\n group.items.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={false}\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {group.groups?.map((child) => (\n <NavGroupRows\n key={child.key}\n group={child}\n variant={variant}\n renderLink={renderLink}\n groupState={groupState}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n {variant === \"tree\" &&\n group.items.map((item) => (\n <NavItemRow\n key={item.key}\n item={item}\n collapsed={false}\n renderLink={renderLink}\n dragState={dragState}\n {...(onNavigate ? { onNavigate } : {})}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nfunction NavItemRow({\n item,\n collapsed,\n renderLink,\n dragState,\n onNavigate,\n}: {\n item: AppShellNavItem;\n collapsed: boolean;\n renderLink: RenderLink;\n /** Omitted where an ancestor row owns this item's drag (a folder-and-leaf). */\n dragState?: NavDragState;\n onNavigate?: () => void;\n}) {\n const [contextTarget, setContextTarget] = useState<HTMLElement | null>(null);\n const target = { key: item.key, kind: \"item\" } as const;\n const dragProps = dragState?.props({ drag: target, drop: target });\n const className = cn(\n \"flex w-full items-center gap-2.5 rounded-md px-density-2 py-1.5 text-left text-[13px] text-sidebar-foreground transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n collapsed && \"justify-center px-0\",\n item.active && \"bg-sidebar-accent font-medium text-sidebar-primary\",\n );\n const children: ReactNode = (\n <>\n {item.icon && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center\">\n <Icon\n {...(typeof item.icon === \"string\"\n ? { name: item.icon }\n : { icon: item.icon })}\n />\n </span>\n )}\n {!collapsed && <span className=\"flex-1 truncate\">{item.label}</span>}\n {!collapsed && item.badge}\n </>\n );\n const title =\n collapsed && typeof item.label === \"string\" ? item.label : undefined;\n\n if (item.external) {\n const externalLink = (\n <a\n href={item.to}\n className={className}\n title={title}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={onNavigate}\n >\n {children}\n </a>\n );\n if (!item.contextMenu && !dragProps) return externalLink;\n return (\n <div\n ref={setContextTarget}\n className={cn(\"w-full\", dragProps && NAV_DRAG_ROW_CLASS)}\n {...dragProps}\n >\n {externalLink}\n {item.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={item.contextMenuLabel ?? `${String(item.label)} actions`}\n menuItems={item.contextMenu}\n />\n )}\n </div>\n );\n }\n const link = renderLink({\n key: item.key,\n to: item.to,\n className,\n children,\n ...(title ? { title } : {}),\n });\n\n if (!onNavigate && !item.contextMenu && !dragProps) return link;\n return (\n <div\n ref={item.contextMenu ? setContextTarget : undefined}\n className={cn(\"w-full\", dragProps && NAV_DRAG_ROW_CLASS)}\n {...(onNavigate ? { onClick: onNavigate } : {})}\n {...dragProps}\n >\n {link}\n {item.contextMenu && (\n <ContextMenu\n contextTarget={contextTarget}\n menuLabel={item.contextMenuLabel ?? `${String(item.label)} actions`}\n menuItems={item.contextMenu}\n />\n )}\n </div>\n );\n}\n"],"names":["jsx","cn","useRouter","useNavDrag","jsxs","NAV_DRAG_ZONE_CLASS","useState","Icon","Fragment","NAV_DRAG_ROW_CLASS","ContextMenu"],"mappings":"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"}
@@ -8,5 +8,5 @@ export declare function NavSections({ sections, collapsed, groupState, onNavigat
8
8
  collapsed: boolean;
9
9
  groupState: GroupState;
10
10
  onNavigate?: () => void;
11
- }): import("react/jsx-runtime").JSX.Element;
11
+ }): import("react").JSX.Element;
12
12
  //# sourceMappingURL=AppShell.nav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.nav.d.ts","sourceRoot":"","sources":["../../src/layout/AppShell.nav.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,2CAuEA"}
1
+ {"version":3,"file":"AppShell.nav.d.ts","sourceRoot":"","sources":["../../src/layout/AppShell.nav.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,+BAmBA"}