@flanksource/clicky-ui 0.3.28 → 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 (852) hide show
  1. package/dist/comments/CommentAuthor.d.ts +1 -1
  2. package/dist/comments/CommentAuthor.d.ts.map +1 -1
  3. package/dist/comments/CommentCard.d.ts +2 -2
  4. package/dist/comments/CommentCard.d.ts.map +1 -1
  5. package/dist/comments/CommentComposer.d.ts +1 -1
  6. package/dist/comments/CommentComposer.d.ts.map +1 -1
  7. package/dist/comments/CommentFilterBar.d.ts +1 -1
  8. package/dist/comments/CommentFilterBar.d.ts.map +1 -1
  9. package/dist/comments/CommentMarkdown.d.ts +1 -1
  10. package/dist/comments/CommentMarkdown.d.ts.map +1 -1
  11. package/dist/comments/CommentProgress.d.ts +1 -1
  12. package/dist/comments/CommentProgress.d.ts.map +1 -1
  13. package/dist/comments/CommentProvider.d.ts +2 -2
  14. package/dist/comments/CommentProvider.d.ts.map +1 -1
  15. package/dist/comments/CommentSidePanel.d.ts +1 -1
  16. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  17. package/dist/comments/CommentThread.d.ts +2 -2
  18. package/dist/comments/CommentThread.d.ts.map +1 -1
  19. package/dist/comments/CommentThreadList.d.ts +2 -2
  20. package/dist/comments/CommentThreadList.d.ts.map +1 -1
  21. package/dist/comments/GroupedComments.d.ts +1 -1
  22. package/dist/comments/GroupedComments.d.ts.map +1 -1
  23. package/dist/comments/MentionTextarea.d.ts +1 -1
  24. package/dist/comments/comment-context.d.ts +4 -4
  25. package/dist/comments/comment-fixtures.d.ts +1 -1
  26. package/dist/comments/comment-types.d.ts +1 -1
  27. package/dist/components/AccordionList.d.ts +2 -2
  28. package/dist/components/AccordionList.d.ts.map +1 -1
  29. package/dist/components/Combobox.cjs +6 -6
  30. package/dist/components/Combobox.cjs.map +1 -1
  31. package/dist/components/Combobox.d.ts +1 -1
  32. package/dist/components/Combobox.d.ts.map +1 -1
  33. package/dist/components/Combobox.js +2 -2
  34. package/dist/components/Combobox.js.map +1 -1
  35. package/dist/components/ComboboxActions.d.ts +1 -1
  36. package/dist/components/ComboboxActions.d.ts.map +1 -1
  37. package/dist/components/ComboboxControl.cjs +3 -2
  38. package/dist/components/ComboboxControl.cjs.map +1 -1
  39. package/dist/components/ComboboxControl.d.ts +5 -5
  40. package/dist/components/ComboboxControl.d.ts.map +1 -1
  41. package/dist/components/ComboboxControl.js +2 -1
  42. package/dist/components/ComboboxControl.js.map +1 -1
  43. package/dist/components/ComboboxMenu.cjs +154 -134
  44. package/dist/components/ComboboxMenu.cjs.map +1 -1
  45. package/dist/components/ComboboxMenu.d.ts +4 -4
  46. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  47. package/dist/components/ComboboxMenu.js +154 -134
  48. package/dist/components/ComboboxMenu.js.map +1 -1
  49. package/dist/components/ComboboxTags.d.ts +1 -1
  50. package/dist/components/ComboboxTags.d.ts.map +1 -1
  51. package/dist/components/ConnectionLoggingPolicy.d.ts +1 -1
  52. package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -1
  53. package/dist/components/CopyButton.d.ts +1 -1
  54. package/dist/components/CopyButton.d.ts.map +1 -1
  55. package/dist/components/CountryFlag.d.ts +1 -1
  56. package/dist/components/CountryFlag.d.ts.map +1 -1
  57. package/dist/components/CountryPicker.d.ts +1 -1
  58. package/dist/components/CountryPicker.d.ts.map +1 -1
  59. package/dist/components/DaemonSetIcon.d.ts +1 -1
  60. package/dist/components/DaemonSetIcon.d.ts.map +1 -1
  61. package/dist/components/DateField.d.ts +3 -3
  62. package/dist/components/DatePicker.d.ts +3 -3
  63. package/dist/components/DateTimePicker.d.ts +3 -3
  64. package/dist/components/DimensionField.d.ts +1 -1
  65. package/dist/components/DimensionField.d.ts.map +1 -1
  66. package/dist/components/EndpointSelector.d.ts +1 -1
  67. package/dist/components/EndpointSelector.d.ts.map +1 -1
  68. package/dist/components/ErrorWrapper.d.ts +2 -2
  69. package/dist/components/Field.d.ts +2 -2
  70. package/dist/components/Field.d.ts.map +1 -1
  71. package/dist/components/FilterBar.cjs +100 -85
  72. package/dist/components/FilterBar.cjs.map +1 -1
  73. package/dist/components/FilterBar.d.ts +4 -4
  74. package/dist/components/FilterBar.d.ts.map +1 -1
  75. package/dist/components/FilterBar.js +101 -86
  76. package/dist/components/FilterBar.js.map +1 -1
  77. package/dist/components/FormLookupProvider.d.ts +2 -2
  78. package/dist/components/FormLookupProvider.d.ts.map +1 -1
  79. package/dist/components/FormatOptionsDropdown.d.ts +2 -2
  80. package/dist/components/FormatOptionsDropdown.d.ts.map +1 -1
  81. package/dist/components/IconButton.d.ts +3 -3
  82. package/dist/components/InputField.d.ts +2 -2
  83. package/dist/components/ItemActions.d.ts +2 -2
  84. package/dist/components/ItemActions.d.ts.map +1 -1
  85. package/dist/components/JSONPathField.d.ts +1 -1
  86. package/dist/components/JSONPathField.d.ts.map +1 -1
  87. package/dist/components/JSONPathPlayground.d.ts +1 -1
  88. package/dist/components/JSONPathPlayground.d.ts.map +1 -1
  89. package/dist/components/JsonSchemaForm.d.ts +1 -1
  90. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  91. package/dist/components/ListMenu.d.ts +6 -6
  92. package/dist/components/ListMenu.d.ts.map +1 -1
  93. package/dist/components/MdxEditorCallout.d.ts +2 -2
  94. package/dist/components/MdxEditorCallout.d.ts.map +1 -1
  95. package/dist/components/MdxEditorField.d.ts +1 -1
  96. package/dist/components/MdxEditorField.d.ts.map +1 -1
  97. package/dist/components/MdxEditorToolbar.d.ts +1 -1
  98. package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
  99. package/dist/components/MultiSelect.d.ts +2 -2
  100. package/dist/components/MultiSelect.d.ts.map +1 -1
  101. package/dist/components/NamespacePicker.d.ts +1 -1
  102. package/dist/components/NamespacePicker.d.ts.map +1 -1
  103. package/dist/components/OnePasswordSelector.d.ts +1 -1
  104. package/dist/components/OnePasswordSelector.d.ts.map +1 -1
  105. package/dist/components/RangeSlider.d.ts +1 -1
  106. package/dist/components/RangeSlider.d.ts.map +1 -1
  107. package/dist/components/SearchInput.d.ts +2 -2
  108. package/dist/components/SearchInput.d.ts.map +1 -1
  109. package/dist/components/SecretFormField.d.ts +1 -1
  110. package/dist/components/SecretFormField.d.ts.map +1 -1
  111. package/dist/components/SecretKeySelector.d.ts +1 -1
  112. package/dist/components/SecretKeySelector.d.ts.map +1 -1
  113. package/dist/components/SegmentedControl.d.ts +2 -2
  114. package/dist/components/SegmentedControl.d.ts.map +1 -1
  115. package/dist/components/SplitButton.d.ts +2 -2
  116. package/dist/components/SplitButton.d.ts.map +1 -1
  117. package/dist/components/Switch.d.ts +2 -2
  118. package/dist/components/Switch.d.ts.map +1 -1
  119. package/dist/components/TimeRange.d.ts +1 -1
  120. package/dist/components/TimeRange.d.ts.map +1 -1
  121. package/dist/components/TreePickerField.d.ts +2 -2
  122. package/dist/components/TreePickerField.d.ts.map +1 -1
  123. package/dist/components/TriStateToggle.d.ts +1 -1
  124. package/dist/components/TriStateToggle.d.ts.map +1 -1
  125. package/dist/components/UnitStepControls.d.ts +2 -2
  126. package/dist/components/UnitStepControls.d.ts.map +1 -1
  127. package/dist/components/WorkloadPicker.d.ts +1 -1
  128. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  129. package/dist/components/button.d.ts +3 -3
  130. package/dist/components/combobox-types.d.ts +1 -1
  131. package/dist/components/density-switcher.d.ts +1 -1
  132. package/dist/components/filter-bar-context.d.ts +1 -1
  133. package/dist/components/filter-bar-field-utils.d.ts +2 -2
  134. package/dist/components/filter-bar-field-utils.js +1 -1
  135. package/dist/components/filter-bar-multi.d.ts +3 -3
  136. package/dist/components/filter-bar-multi.d.ts.map +1 -1
  137. package/dist/components/form-lookup-context.d.ts +1 -1
  138. package/dist/components/icon-menu-picker.cjs.map +1 -1
  139. package/dist/components/icon-menu-picker.d.ts +2 -2
  140. package/dist/components/icon-menu-picker.d.ts.map +1 -1
  141. package/dist/components/icon-menu-picker.js.map +1 -1
  142. package/dist/components/jotai-bindings.d.ts +2 -2
  143. package/dist/components/jotai-bindings.d.ts.map +1 -1
  144. package/dist/components/json-schema-form-accordion-array.d.ts +1 -1
  145. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  146. package/dist/components/json-schema-form-array.d.ts +1 -1
  147. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  148. package/dist/components/json-schema-form-cards-array.d.ts +1 -1
  149. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  150. package/dist/components/json-schema-form-discriminator.d.ts +1 -1
  151. package/dist/components/json-schema-form-error-display.d.ts +3 -3
  152. package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
  153. package/dist/components/json-schema-form-extensions.d.ts +1 -1
  154. package/dist/components/json-schema-form-fields.d.ts +12 -12
  155. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  156. package/dist/components/json-schema-form-grid.d.ts +1 -1
  157. package/dist/components/json-schema-form-grid.d.ts.map +1 -1
  158. package/dist/components/json-schema-form-item-row.d.ts +4 -4
  159. package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
  160. package/dist/components/json-schema-form-layout.d.ts +6 -6
  161. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  162. package/dist/components/json-schema-form-list-array.d.ts +1 -1
  163. package/dist/components/json-schema-form-list-array.d.ts.map +1 -1
  164. package/dist/components/json-schema-form-lookup-tree.d.ts +1 -1
  165. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
  166. package/dist/components/json-schema-form-object.d.ts +2 -2
  167. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  168. package/dist/components/json-schema-form-render.d.ts +1 -1
  169. package/dist/components/json-schema-form-table-array.d.ts +1 -1
  170. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  171. package/dist/components/json-schema-form-tags-combobox.cjs +2 -2
  172. package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -1
  173. package/dist/components/json-schema-form-tags-combobox.d.ts +1 -1
  174. package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -1
  175. package/dist/components/json-schema-form-tags-combobox.js +1 -1
  176. package/dist/components/json-schema-form-tags-combobox.js.map +1 -1
  177. package/dist/components/json-schema-form-template-menu.d.ts +2 -2
  178. package/dist/components/json-schema-form-template-menu.d.ts.map +1 -1
  179. package/dist/components/json-schema-form-template.d.ts +1 -1
  180. package/dist/components/json-schema-form-types.d.ts +1 -1
  181. package/dist/components/loading.d.ts +4 -4
  182. package/dist/components/mdx-editor-callout.d.ts +1 -1
  183. package/dist/components/mdx-editor-options.d.ts +1 -1
  184. package/dist/components/select.d.ts +3 -3
  185. package/dist/components/theme-switcher.d.ts +1 -1
  186. package/dist/components/use-list-menu-selection.d.ts +1 -1
  187. package/dist/components/useComboboxLayout.cjs +37 -27
  188. package/dist/components/useComboboxLayout.cjs.map +1 -1
  189. package/dist/components/useComboboxLayout.d.ts +4 -4
  190. package/dist/components/useComboboxLayout.d.ts.map +1 -1
  191. package/dist/components/useComboboxLayout.js +38 -28
  192. package/dist/components/useComboboxLayout.js.map +1 -1
  193. package/dist/components/workload-picker-utils.d.ts +1 -1
  194. package/dist/components.d.ts +1 -0
  195. package/dist/components.d.ts.map +1 -1
  196. package/dist/data/AnsiHtml.d.ts +1 -1
  197. package/dist/data/AnsiHtml.d.ts.map +1 -1
  198. package/dist/data/Avatar.d.ts +2 -2
  199. package/dist/data/Avatar.d.ts.map +1 -1
  200. package/dist/data/AvatarBadge.d.ts +2 -2
  201. package/dist/data/AvatarBadge.d.ts.map +1 -1
  202. package/dist/data/Badge.d.ts +2 -2
  203. package/dist/data/Badge.d.ts.map +1 -1
  204. package/dist/data/Callout.d.ts +2 -2
  205. package/dist/data/Callout.d.ts.map +1 -1
  206. package/dist/data/Clicky.d.ts +3 -3
  207. package/dist/data/Clicky.d.ts.map +1 -1
  208. package/dist/data/CodeBlock.cjs +1 -1
  209. package/dist/data/CodeBlock.cjs.map +1 -1
  210. package/dist/data/CodeBlock.d.ts +1 -1
  211. package/dist/data/CodeBlock.d.ts.map +1 -1
  212. package/dist/data/CodeBlock.js +1 -1
  213. package/dist/data/CodeBlock.js.map +1 -1
  214. package/dist/data/CodeDiff.d.ts +1 -1
  215. package/dist/data/CodeDiff.d.ts.map +1 -1
  216. package/dist/data/DataTable.cjs +63 -27
  217. package/dist/data/DataTable.cjs.map +1 -1
  218. package/dist/data/DataTable.d.ts +11 -2
  219. package/dist/data/DataTable.d.ts.map +1 -1
  220. package/dist/data/DataTable.grouping.d.ts +1 -1
  221. package/dist/data/DataTable.js +63 -27
  222. package/dist/data/DataTable.js.map +1 -1
  223. package/dist/data/DataTableGroupingControls.d.ts +1 -1
  224. package/dist/data/DataTableGroupingControls.d.ts.map +1 -1
  225. package/dist/data/ExecutionTree.d.ts +2 -2
  226. package/dist/data/ExecutionTree.d.ts.map +1 -1
  227. package/dist/data/FilterPill.d.ts +4 -4
  228. package/dist/data/FilterPill.d.ts.map +1 -1
  229. package/dist/data/FixtureEditor/FenceForm.d.ts +1 -1
  230. package/dist/data/FixtureEditor/FenceForm.d.ts.map +1 -1
  231. package/dist/data/FixtureEditor/FixtureEditor.d.ts +1 -1
  232. package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
  233. package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts +1 -1
  234. package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts.map +1 -1
  235. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts +1 -1
  236. package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts.map +1 -1
  237. package/dist/data/FixtureEditor/RawFenceEditor.d.ts +2 -2
  238. package/dist/data/FixtureEditor/RawFenceEditor.d.ts.map +1 -1
  239. package/dist/data/FixtureEditor/types.d.ts +1 -1
  240. package/dist/data/Gauge.d.ts +2 -2
  241. package/dist/data/Gauge.d.ts.map +1 -1
  242. package/dist/data/GaugeHoverCard.d.ts +2 -2
  243. package/dist/data/GaugeHoverCard.d.ts.map +1 -1
  244. package/dist/data/HighlightedTokens.d.ts +1 -1
  245. package/dist/data/HighlightedTokens.d.ts.map +1 -1
  246. package/dist/data/Icon.cjs.map +1 -1
  247. package/dist/data/Icon.d.ts +3 -3
  248. package/dist/data/Icon.d.ts.map +1 -1
  249. package/dist/data/Icon.js.map +1 -1
  250. package/dist/data/JsonView.d.ts +1 -1
  251. package/dist/data/JsonView.d.ts.map +1 -1
  252. package/dist/data/KeyValueList.d.ts +2 -2
  253. package/dist/data/KeyValueList.d.ts.map +1 -1
  254. package/dist/data/LogDetails.d.ts +1 -1
  255. package/dist/data/LogDetails.d.ts.map +1 -1
  256. package/dist/data/LogViewer.d.ts +1 -1
  257. package/dist/data/LogViewer.d.ts.map +1 -1
  258. package/dist/data/LogsTable.d.ts +1 -1
  259. package/dist/data/LogsTable.d.ts.map +1 -1
  260. package/dist/data/Markdown.d.ts +1 -1
  261. package/dist/data/Markdown.d.ts.map +1 -1
  262. package/dist/data/MarkdownEditor.d.ts +2 -2
  263. package/dist/data/MarkdownEditor.d.ts.map +1 -1
  264. package/dist/data/MatrixTable.d.ts +2 -2
  265. package/dist/data/MatrixTable.d.ts.map +1 -1
  266. package/dist/data/MethodBadge.d.ts +1 -1
  267. package/dist/data/MethodBadge.d.ts.map +1 -1
  268. package/dist/data/ObjectGraph.d.ts +2 -2
  269. package/dist/data/ObjectGraph.d.ts.map +1 -1
  270. package/dist/data/ProgressBar.d.ts +1 -1
  271. package/dist/data/ProgressBar.d.ts.map +1 -1
  272. package/dist/data/ProgressBars.d.ts +2 -2
  273. package/dist/data/ProgressBars.d.ts.map +1 -1
  274. package/dist/data/PromptBanner.d.ts +1 -1
  275. package/dist/data/PromptBanner.d.ts.map +1 -1
  276. package/dist/data/PromptDialog.d.ts +1 -1
  277. package/dist/data/PromptDialog.d.ts.map +1 -1
  278. package/dist/data/Properties.d.ts +2 -2
  279. package/dist/data/Properties.d.ts.map +1 -1
  280. package/dist/data/RadialGauge.d.ts +2 -2
  281. package/dist/data/RadialGauge.d.ts.map +1 -1
  282. package/dist/data/SchemaViewer.d.ts +4 -4
  283. package/dist/data/SchemaViewer.d.ts.map +1 -1
  284. package/dist/data/SelectionActionBar.cjs +7 -7
  285. package/dist/data/SelectionActionBar.cjs.map +1 -1
  286. package/dist/data/SelectionActionBar.d.ts +1 -1
  287. package/dist/data/SelectionActionBar.d.ts.map +1 -1
  288. package/dist/data/SelectionActionBar.js +7 -7
  289. package/dist/data/SelectionActionBar.js.map +1 -1
  290. package/dist/data/ServerTimingBadge.d.ts +1 -1
  291. package/dist/data/ServerTimingBadge.d.ts.map +1 -1
  292. package/dist/data/SignedDeltaBar.d.ts +1 -1
  293. package/dist/data/SignedDeltaBar.d.ts.map +1 -1
  294. package/dist/data/SortableHeader.d.ts +2 -2
  295. package/dist/data/SortableHeader.d.ts.map +1 -1
  296. package/dist/data/StatStrip.d.ts +2 -2
  297. package/dist/data/StatStrip.d.ts.map +1 -1
  298. package/dist/data/StatusBreakdown.d.ts +3 -3
  299. package/dist/data/StatusBreakdown.d.ts.map +1 -1
  300. package/dist/data/TabButton.d.ts +2 -2
  301. package/dist/data/TabButton.d.ts.map +1 -1
  302. package/dist/data/TaskExecDetails.d.ts +2 -2
  303. package/dist/data/TaskExecDetails.d.ts.map +1 -1
  304. package/dist/data/TaskManager.d.ts +1 -1
  305. package/dist/data/TaskManager.d.ts.map +1 -1
  306. package/dist/data/TaskManagerButton.d.ts +1 -1
  307. package/dist/data/TaskManagerButton.d.ts.map +1 -1
  308. package/dist/data/TaskProcessDetails.d.ts +1 -1
  309. package/dist/data/TaskProcessDetails.d.ts.map +1 -1
  310. package/dist/data/TaskProgress.d.ts +1 -1
  311. package/dist/data/TaskProgress.d.ts.map +1 -1
  312. package/dist/data/Timeline.d.ts +2 -2
  313. package/dist/data/Timeline.d.ts.map +1 -1
  314. package/dist/data/TimeseriesCoreBars.d.ts +1 -1
  315. package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
  316. package/dist/data/TimeseriesGauge.d.ts +1 -1
  317. package/dist/data/TimeseriesGauge.d.ts.map +1 -1
  318. package/dist/data/TimeseriesPanel.d.ts +1 -1
  319. package/dist/data/TimeseriesPanel.d.ts.map +1 -1
  320. package/dist/data/Tree.d.ts +2 -2
  321. package/dist/data/Tree.d.ts.map +1 -1
  322. package/dist/data/TreeGroupHeader.d.ts +2 -2
  323. package/dist/data/TreeGroupHeader.d.ts.map +1 -1
  324. package/dist/data/TreeNode.d.ts +2 -2
  325. package/dist/data/TreeNode.d.ts.map +1 -1
  326. package/dist/data/Version.d.ts +3 -3
  327. package/dist/data/WorkloadCard.d.ts +1 -1
  328. package/dist/data/WorkloadCard.d.ts.map +1 -1
  329. package/dist/data/ai/AdvancedChatConfig.d.ts +1 -1
  330. package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -1
  331. package/dist/data/ai/AdvancedCostsPanel.d.ts +1 -1
  332. package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -1
  333. package/dist/data/ai/ChatButton.d.ts +1 -1
  334. package/dist/data/ai/ChatButton.d.ts.map +1 -1
  335. package/dist/data/ai/ChatFab.d.ts +1 -1
  336. package/dist/data/ai/ChatFab.d.ts.map +1 -1
  337. package/dist/data/ai/ChatWindow.d.ts +2 -2
  338. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  339. package/dist/data/ai/ChatWindow.test-utils.d.ts +1 -1
  340. package/dist/data/ai/ChatWindow.thread-status.d.ts +1 -1
  341. package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -1
  342. package/dist/data/ai/ChatWindow.types.d.ts +1 -1
  343. package/dist/data/ai/ChatWindowManager.d.ts +2 -2
  344. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  345. package/dist/data/ai/ContextBadges.d.ts +2 -2
  346. package/dist/data/ai/ContextBadges.d.ts.map +1 -1
  347. package/dist/data/ai/PolicyTree.d.ts +2 -2
  348. package/dist/data/ai/PolicyTree.d.ts.map +1 -1
  349. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +1 -1
  350. package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -1
  351. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +1 -1
  352. package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -1
  353. package/dist/data/ai/PromptCatalog/PromptPage.d.ts +1 -1
  354. package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -1
  355. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +1 -1
  356. package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -1
  357. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +2 -2
  358. package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -1
  359. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +1 -1
  360. package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -1
  361. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +1 -1
  362. package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -1
  363. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +1 -1
  364. package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -1
  365. package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
  366. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +2 -2
  367. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  368. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +1 -1
  369. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -1
  370. package/dist/data/ai/PromptRunEditor/index.d.ts +2 -2
  371. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  372. package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
  373. package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
  374. package/dist/data/ai/SandboxConnectionsSection.d.ts +1 -1
  375. package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -1
  376. package/dist/data/ai/SandboxCreateWizard.d.ts +1 -1
  377. package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -1
  378. package/dist/data/ai/SessionChatComposer.d.ts +2 -2
  379. package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
  380. package/dist/data/ai/SessionInspector.d.ts +2 -2
  381. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  382. package/dist/data/ai/SessionInspector.files.d.ts +1 -1
  383. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
  384. package/dist/data/ai/SessionInspector.hierarchy.d.ts +2 -2
  385. package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -1
  386. package/dist/data/ai/SessionInspector.panels.d.ts +1 -1
  387. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  388. package/dist/data/ai/SessionInspector.plan.d.ts +1 -1
  389. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
  390. package/dist/data/ai/SessionInspector.summary.d.ts +2 -2
  391. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  392. package/dist/data/ai/SessionInspector.transcript.d.ts +1 -1
  393. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
  394. package/dist/data/ai/SessionInspector.turns.d.ts +2 -2
  395. package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -1
  396. package/dist/data/ai/SessionViewer.d.ts +2 -2
  397. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  398. package/dist/data/ai/SessionViewer.header.d.ts +2 -2
  399. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
  400. package/dist/data/ai/SessionViewer.row-metadata.d.ts +3 -3
  401. package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -1
  402. package/dist/data/ai/SessionViewer.rows.d.ts +3 -3
  403. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  404. package/dist/data/ai/SessionViewer.tool-details.d.ts +5 -5
  405. package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -1
  406. package/dist/data/ai/SessionViewer.tool-row.d.ts +1 -1
  407. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
  408. package/dist/data/ai/SessionViewerMenu.d.ts +1 -1
  409. package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
  410. package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts +1 -1
  411. package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts.map +1 -1
  412. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +1 -1
  413. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  414. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts +2 -2
  415. package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -1
  416. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +2 -2
  417. package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts.map +1 -1
  418. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +1 -1
  419. package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts.map +1 -1
  420. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +2 -2
  421. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  422. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +1 -1
  423. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -1
  424. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +1 -1
  425. package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts.map +1 -1
  426. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +2 -2
  427. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
  428. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +1 -1
  429. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +1 -1
  430. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +2 -2
  431. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  432. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +2 -2
  433. package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts.map +1 -1
  434. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +1 -1
  435. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
  436. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +2 -2
  437. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
  438. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
  439. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  440. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +1 -1
  441. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
  442. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +12 -12
  443. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
  444. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
  445. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  446. package/dist/data/ai/ThreadPicker.d.ts +1 -1
  447. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  448. package/dist/data/ai/ToolPreferences.d.ts +1 -1
  449. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  450. package/dist/data/ai/ToolPreferencesList.d.ts +2 -2
  451. package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -1
  452. package/dist/data/ai/ToolSchemaBrowser.d.ts +1 -1
  453. package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -1
  454. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +1 -1
  455. package/dist/data/ai/ToolSchemaBrowser.detail.d.ts.map +1 -1
  456. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts +1 -1
  457. package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts.map +1 -1
  458. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +1 -1
  459. package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts.map +1 -1
  460. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +1 -1
  461. package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts.map +1 -1
  462. package/dist/data/ai/chat-window-context.d.ts +1 -1
  463. package/dist/data/ai/use-session-scroll.d.ts +1 -1
  464. package/dist/data/cache-browser/CacheBrowser.d.ts +1 -1
  465. package/dist/data/cache-browser/CacheBrowser.d.ts.map +1 -1
  466. package/dist/data/cache-browser/CacheDetailPanel.d.ts +1 -1
  467. package/dist/data/cache-browser/CacheDetailPanel.d.ts.map +1 -1
  468. package/dist/data/cache-browser/CacheStatsOverview.d.ts +1 -1
  469. package/dist/data/cache-browser/CacheStatsOverview.d.ts.map +1 -1
  470. package/dist/data/cache-browser/CacheTree.d.ts +2 -2
  471. package/dist/data/cache-browser/CacheTree.d.ts.map +1 -1
  472. package/dist/data/cache-browser/CacheValue.d.ts +1 -1
  473. package/dist/data/cache-browser/CacheValue.d.ts.map +1 -1
  474. package/dist/data/cache-browser/adapter.d.ts +1 -1
  475. package/dist/data/cells/CellFilterActions.d.ts +2 -2
  476. package/dist/data/cells/CellFilterActions.d.ts.map +1 -1
  477. package/dist/data/cells/EntityCell.d.ts +2 -2
  478. package/dist/data/cells/EntityCell.d.ts.map +1 -1
  479. package/dist/data/cells/StatusDot.d.ts +1 -1
  480. package/dist/data/cells/StatusDot.d.ts.map +1 -1
  481. package/dist/data/cells/TagList.d.ts +3 -3
  482. package/dist/data/cells/TagList.d.ts.map +1 -1
  483. package/dist/data/cells/Timestamp.d.ts +1 -1
  484. package/dist/data/cells/Timestamp.d.ts.map +1 -1
  485. package/dist/data/cells/tag-utils.d.ts +1 -1
  486. package/dist/data/chat/Attachment.d.ts +2 -2
  487. package/dist/data/chat/Attachment.d.ts.map +1 -1
  488. package/dist/data/chat/Chat.d.ts +1 -1
  489. package/dist/data/chat/Chat.d.ts.map +1 -1
  490. package/dist/data/chat/ChatRuntimeToolbar.d.ts +1 -1
  491. package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
  492. package/dist/data/chat/ContextMeter.d.ts +1 -1
  493. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  494. package/dist/data/chat/Conversation.d.ts +1 -1
  495. package/dist/data/chat/Conversation.d.ts.map +1 -1
  496. package/dist/data/chat/Message.d.ts +1 -1
  497. package/dist/data/chat/Message.d.ts.map +1 -1
  498. package/dist/data/chat/MessageActions.d.ts +1 -1
  499. package/dist/data/chat/MessageActions.d.ts.map +1 -1
  500. package/dist/data/chat/ModelSelector.d.ts +5 -5
  501. package/dist/data/chat/ModelSelector.d.ts.map +1 -1
  502. package/dist/data/chat/PromptInput.d.ts +2 -2
  503. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  504. package/dist/data/chat/Reasoning.d.ts +1 -1
  505. package/dist/data/chat/Reasoning.d.ts.map +1 -1
  506. package/dist/data/chat/Suggestion.d.ts +1 -1
  507. package/dist/data/chat/Suggestion.d.ts.map +1 -1
  508. package/dist/data/chat/ToolCall.d.ts +1 -1
  509. package/dist/data/chat/ToolCall.d.ts.map +1 -1
  510. package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
  511. package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
  512. package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
  513. package/dist/data/chat/tool-render/adapter.d.ts +1 -1
  514. package/dist/data/chat/tool-render/context.d.ts +1 -1
  515. package/dist/data/chat/tool-render/defaults.d.ts +1 -1
  516. package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
  517. package/dist/data/chat/tool-render/summary.d.ts +1 -1
  518. package/dist/data/chat/types.d.ts +1 -1
  519. package/dist/data/clicky-export/ClickyExportDialog.d.ts +1 -1
  520. package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -1
  521. package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
  522. package/dist/data/code-block-actions.d.ts +1 -1
  523. package/dist/data/code-block-actions.d.ts.map +1 -1
  524. package/dist/data/data-table-server-filters.d.ts +1 -1
  525. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +2 -2
  526. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -1
  527. package/dist/data/diagnostics/DiagnosticsTree.d.ts +1 -1
  528. package/dist/data/diagnostics/DiagnosticsTree.d.ts.map +1 -1
  529. package/dist/data/diagnostics/ErrorDetails.d.ts +4 -4
  530. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
  531. package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
  532. package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
  533. package/dist/data/diagnostics/GoroutineCard.d.ts +1 -1
  534. package/dist/data/diagnostics/GoroutineCard.d.ts.map +1 -1
  535. package/dist/data/diagnostics/JvmStackTrace.d.ts +1 -1
  536. package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -1
  537. package/dist/data/diagnostics/RenderedStackTrace.d.ts +1 -1
  538. package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
  539. package/dist/data/diagnostics/StackFrameRow.d.ts +2 -2
  540. package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -1
  541. package/dist/data/diagnostics/ThreadCard.d.ts +1 -1
  542. package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -1
  543. package/dist/data/git/GitChangeList.d.ts +5 -5
  544. package/dist/data/git/GitChangeList.d.ts.map +1 -1
  545. package/dist/data/har/HarPanel.d.ts +1 -1
  546. package/dist/data/har/HarPanel.d.ts.map +1 -1
  547. package/dist/data/icon-fallback.d.ts +1 -1
  548. package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
  549. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  550. package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
  551. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +1 -1
  552. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
  553. package/dist/data/query-browser/QueryBrowserResults.d.ts +1 -1
  554. package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
  555. package/dist/data/runtime/ProviderStatusPanel.d.ts +1 -1
  556. package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -1
  557. package/dist/data/runtime/RuntimeBar.d.ts +1 -1
  558. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  559. package/dist/data/runtime/RuntimeBarCombo.d.ts +1 -1
  560. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
  561. package/dist/data/runtime/RuntimeBarSegments.d.ts +1 -1
  562. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
  563. package/dist/data/test-runner/TestDetailPanel.d.ts +1 -1
  564. package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
  565. package/dist/data/test-runner/TestFailureDetail.d.ts +3 -3
  566. package/dist/data/test-runner/TestFailureDetail.d.ts.map +1 -1
  567. package/dist/data/test-runner/TestFilterBar.d.ts +1 -1
  568. package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
  569. package/dist/data/test-runner/TestRunSummary.d.ts +1 -1
  570. package/dist/data/test-runner/TestRunSummary.d.ts.map +1 -1
  571. package/dist/data/test-runner/TestRunner.d.ts +2 -2
  572. package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
  573. package/dist/data/test-runner/TestTree.d.ts +1 -1
  574. package/dist/data/test-runner/TestTree.d.ts.map +1 -1
  575. package/dist/data/test-runner/TestTreeNode.cjs +16 -11
  576. package/dist/data/test-runner/TestTreeNode.cjs.map +1 -1
  577. package/dist/data/test-runner/TestTreeNode.d.ts +1 -1
  578. package/dist/data/test-runner/TestTreeNode.d.ts.map +1 -1
  579. package/dist/data/test-runner/TestTreeNode.js +16 -11
  580. package/dist/data/test-runner/TestTreeNode.js.map +1 -1
  581. package/dist/data/test-runner/adapter.d.ts +1 -1
  582. package/dist/data/test-runner/context.d.ts +1 -1
  583. package/dist/data/version-info.cjs +3 -3
  584. package/dist/data/version-info.js +3 -3
  585. package/dist/devtools/DebugConsole.d.ts +1 -1
  586. package/dist/devtools/DebugConsole.d.ts.map +1 -1
  587. package/dist/devtools/DebugConsoleButton.d.ts +1 -1
  588. package/dist/devtools/DebugConsoleButton.d.ts.map +1 -1
  589. package/dist/devtools/DebugConsoleDock.d.ts +1 -1
  590. package/dist/devtools/DebugConsoleDock.d.ts.map +1 -1
  591. package/dist/devtools/ExecutionDetail.d.ts +1 -1
  592. package/dist/devtools/ExecutionDetail.d.ts.map +1 -1
  593. package/dist/devtools/tabs/ConsoleTab.d.ts +1 -1
  594. package/dist/devtools/tabs/ConsoleTab.d.ts.map +1 -1
  595. package/dist/devtools/tabs/InspectionCaches.d.ts +1 -1
  596. package/dist/devtools/tabs/InspectionCaches.d.ts.map +1 -1
  597. package/dist/devtools/tabs/InspectionTab.d.ts +1 -1
  598. package/dist/devtools/tabs/InspectionTab.d.ts.map +1 -1
  599. package/dist/devtools/tabs/NetworkTab.d.ts +1 -1
  600. package/dist/devtools/tabs/NetworkTab.d.ts.map +1 -1
  601. package/dist/devtools/tabs/QueriesTab.d.ts +1 -1
  602. package/dist/devtools/tabs/QueriesTab.d.ts.map +1 -1
  603. package/dist/hooks/density-provider.d.ts +3 -3
  604. package/dist/hooks/density-provider.d.ts.map +1 -1
  605. package/dist/hooks/theme-provider.d.ts +2 -2
  606. package/dist/hooks/theme-provider.d.ts.map +1 -1
  607. package/dist/hooks/use-density.d.ts +1 -1
  608. package/dist/hooks/use-theme.d.ts +1 -1
  609. package/dist/icons/registry.d.ts +1 -1
  610. package/dist/icons/types.d.ts +1 -1
  611. package/dist/layout/AppShell.cjs.map +1 -1
  612. package/dist/layout/AppShell.d.ts +10 -2
  613. package/dist/layout/AppShell.d.ts.map +1 -1
  614. package/dist/layout/AppShell.debug.d.ts +1 -1
  615. package/dist/layout/AppShell.debug.d.ts.map +1 -1
  616. package/dist/layout/AppShell.js.map +1 -1
  617. package/dist/layout/AppShell.nav.cjs +133 -76
  618. package/dist/layout/AppShell.nav.cjs.map +1 -1
  619. package/dist/layout/AppShell.nav.d.ts +1 -1
  620. package/dist/layout/AppShell.nav.d.ts.map +1 -1
  621. package/dist/layout/AppShell.nav.drag.cjs +86 -0
  622. package/dist/layout/AppShell.nav.drag.cjs.map +1 -0
  623. package/dist/layout/AppShell.nav.drag.d.ts +52 -0
  624. package/dist/layout/AppShell.nav.drag.d.ts.map +1 -0
  625. package/dist/layout/AppShell.nav.drag.js +86 -0
  626. package/dist/layout/AppShell.nav.drag.js.map +1 -0
  627. package/dist/layout/AppShell.nav.js +133 -76
  628. package/dist/layout/AppShell.nav.js.map +1 -1
  629. package/dist/layout/AppSidebar.d.ts +3 -3
  630. package/dist/layout/AppSidebar.d.ts.map +1 -1
  631. package/dist/layout/Panel.d.ts +2 -2
  632. package/dist/layout/Panel.d.ts.map +1 -1
  633. package/dist/layout/PanelFrame.d.ts +2 -2
  634. package/dist/layout/PanelFrame.d.ts.map +1 -1
  635. package/dist/layout/Section.d.ts +3 -3
  636. package/dist/layout/Section.d.ts.map +1 -1
  637. package/dist/layout/SplitPane.d.ts +2 -2
  638. package/dist/layout/SplitPane.d.ts.map +1 -1
  639. package/dist/layout/Tabs.d.ts +2 -2
  640. package/dist/layout/Tabs.d.ts.map +1 -1
  641. package/dist/layout/Workspace.d.ts +2 -2
  642. package/dist/layout/Workspace.d.ts.map +1 -1
  643. package/dist/layout/Workspace.model.d.ts +1 -1
  644. package/dist/layout/Workspace.regions.d.ts +2 -2
  645. package/dist/layout/Workspace.regions.d.ts.map +1 -1
  646. package/dist/{components/combobox-utils.cjs → lib/combobox-values.cjs} +1 -5
  647. package/dist/lib/combobox-values.cjs.map +1 -0
  648. package/dist/{components/combobox-utils.d.ts → lib/combobox-values.d.ts} +3 -13
  649. package/dist/lib/combobox-values.d.ts.map +1 -0
  650. package/dist/{components/combobox-utils.js → lib/combobox-values.js} +1 -5
  651. package/dist/lib/combobox-values.js.map +1 -0
  652. package/dist/lib/combobox.cjs +93 -0
  653. package/dist/lib/combobox.cjs.map +1 -0
  654. package/dist/lib/combobox.d.ts +20 -0
  655. package/dist/lib/combobox.d.ts.map +1 -0
  656. package/dist/lib/combobox.js +93 -0
  657. package/dist/lib/combobox.js.map +1 -0
  658. package/dist/monaco/MonacoEditor.d.ts +1 -1
  659. package/dist/monaco/MonacoEditor.d.ts.map +1 -1
  660. package/dist/monaco/MonacoProvider.d.ts +1 -1
  661. package/dist/monaco/MonacoProvider.d.ts.map +1 -1
  662. package/dist/monaco/MonacoSchemaEditor.cjs +4 -4
  663. package/dist/monaco/MonacoSchemaEditor.cjs.map +1 -1
  664. package/dist/monaco/MonacoSchemaEditor.d.ts +1 -1
  665. package/dist/monaco/MonacoSchemaEditor.d.ts.map +1 -1
  666. package/dist/monaco/MonacoSchemaEditor.js +4 -4
  667. package/dist/monaco/MonacoSchemaEditor.js.map +1 -1
  668. package/dist/monaco/types.d.ts +1 -1
  669. package/dist/monaco/use-monaco-worker.d.ts +1 -1
  670. package/dist/overlay/CellActions.d.ts +3 -3
  671. package/dist/overlay/CellActions.d.ts.map +1 -1
  672. package/dist/overlay/CommandPalette.d.ts +2 -2
  673. package/dist/overlay/CommandPalette.model.d.ts +1 -1
  674. package/dist/overlay/CommandPaletteList.cjs.map +1 -1
  675. package/dist/overlay/CommandPaletteList.d.ts +3 -3
  676. package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
  677. package/dist/overlay/CommandPaletteList.js.map +1 -1
  678. package/dist/overlay/CommandPaletteTrigger.d.ts +1 -1
  679. package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -1
  680. package/dist/overlay/ContextMenu.d.ts +1 -1
  681. package/dist/overlay/ContextMenu.d.ts.map +1 -1
  682. package/dist/overlay/DropdownMenu.d.ts +2 -2
  683. package/dist/overlay/DropdownMenu.d.ts.map +1 -1
  684. package/dist/overlay/DropdownMenuSubmenu.d.ts +1 -1
  685. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  686. package/dist/overlay/HoverCard.d.ts +2 -2
  687. package/dist/overlay/HoverCard.d.ts.map +1 -1
  688. package/dist/overlay/Modal.cjs +105 -18
  689. package/dist/overlay/Modal.cjs.map +1 -1
  690. package/dist/overlay/Modal.d.ts +2 -2
  691. package/dist/overlay/Modal.d.ts.map +1 -1
  692. package/dist/overlay/Modal.js +105 -18
  693. package/dist/overlay/Modal.js.map +1 -1
  694. package/dist/overlay/Toast.d.ts +2 -2
  695. package/dist/overlay/Toast.d.ts.map +1 -1
  696. package/dist/overlay/Tour.d.ts +1 -1
  697. package/dist/overlay/Tour.d.ts.map +1 -1
  698. package/dist/overlay/TourCard.d.ts +2 -2
  699. package/dist/overlay/TourCard.d.ts.map +1 -1
  700. package/dist/overlay/TourProvider.d.ts +2 -2
  701. package/dist/overlay/TourProvider.d.ts.map +1 -1
  702. package/dist/overlay/TourSpotlight.d.ts +1 -1
  703. package/dist/overlay/TourSpotlight.d.ts.map +1 -1
  704. package/dist/overlay/dropdownMenuContext.d.ts +1 -1
  705. package/dist/overlay/toast-context.d.ts +2 -2
  706. package/dist/overlay/tour-context.d.ts +1 -1
  707. package/dist/overlay/tour-types.d.ts +1 -1
  708. package/dist/profiles/cel/celEditor.d.ts +4 -4
  709. package/dist/profiles/cel/celEditor.d.ts.map +1 -1
  710. package/dist/profiles/connections/catalogTree.d.ts +1 -1
  711. package/dist/profiles/connections/catalogTree.d.ts.map +1 -1
  712. package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
  713. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +2 -2
  714. package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -1
  715. package/dist/profiles/connections/inspectionStatus.d.ts +1 -1
  716. package/dist/profiles/connections/inspectionStatus.d.ts.map +1 -1
  717. package/dist/profiles/editor/profileBuilder.d.ts +3 -3
  718. package/dist/profiles/editor/profileBuilder.d.ts.map +1 -1
  719. package/dist/profiles/editor/profileBuilderWorkspace.d.ts +1 -1
  720. package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -1
  721. package/dist/profiles/editor/profileEditor.d.ts +1 -1
  722. package/dist/profiles/editor/profileEditor.d.ts.map +1 -1
  723. package/dist/profiles/editor/profileEditorPreview.d.ts +1 -1
  724. package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -1
  725. package/dist/profiles/editor/profileEditorRail.d.ts +1 -1
  726. package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -1
  727. package/dist/profiles/editor/profileEditorRaw.d.ts +1 -1
  728. package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -1
  729. package/dist/profiles/editor/profileEditorSections.d.ts +3 -3
  730. package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -1
  731. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts +1 -1
  732. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -1
  733. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
  734. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +2 -2
  735. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -1
  736. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts +1 -1
  737. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -1
  738. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +1 -1
  739. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -1
  740. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +2 -2
  741. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -1
  742. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +1 -1
  743. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -1
  744. package/dist/profiles/elasticsearch/esQueryPreview.d.ts +1 -1
  745. package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -1
  746. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts +1 -1
  747. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -1
  748. package/dist/profiles/elasticsearch/esValueCombobox.d.ts +2 -2
  749. package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -1
  750. package/dist/profiles/fields/profileColumnPicker.d.ts +1 -1
  751. package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -1
  752. package/dist/profiles/fields/profileFieldControls.d.ts +3 -3
  753. package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -1
  754. package/dist/profiles/fields/profileFieldEditor.d.ts +3 -3
  755. package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
  756. package/dist/profiles/fields/profileFieldFilterEditor.d.ts +1 -1
  757. package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -1
  758. package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
  759. package/dist/profiles/fields/profileFieldList.d.ts +2 -2
  760. package/dist/profiles/fields/profileFieldList.d.ts.map +1 -1
  761. package/dist/profiles/fields/profileFieldManager.d.ts +1 -1
  762. package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -1
  763. package/dist/profiles/fields/profileFieldState.d.ts +1 -1
  764. package/dist/profiles/processor/processorPipeline.d.ts +1 -1
  765. package/dist/profiles/processor/processorPipeline.d.ts.map +1 -1
  766. package/dist/profiles/processor/processorPipelineEditor.d.ts +1 -1
  767. package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -1
  768. package/dist/profiles/processor/processorPreviewTable.d.ts +1 -1
  769. package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -1
  770. package/dist/profiles/query/jsonPathSample.d.ts +1 -1
  771. package/dist/profiles/query/jsonPathSampleRow.d.ts +2 -2
  772. package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -1
  773. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +1 -1
  774. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -1
  775. package/dist/profiles/query/prometheusResults.d.ts +2 -2
  776. package/dist/profiles/query/prometheusResults.d.ts.map +1 -1
  777. package/dist/profiles/query/queryRowLimits.d.ts +1 -1
  778. package/dist/profiles/query/queryRowLimits.d.ts.map +1 -1
  779. package/dist/profiles/query/queryTargetPicker.d.ts +1 -1
  780. package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -1
  781. package/dist/profiles/wizard/profileWizard.d.ts +1 -1
  782. package/dist/profiles/wizard/profileWizard.d.ts.map +1 -1
  783. package/dist/profiles/wizard/profileWizardQueryStep.d.ts +1 -1
  784. package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -1
  785. package/dist/profiles/wizard/profileWizardSteps.d.ts +4 -4
  786. package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -1
  787. package/dist/rpc/ChatLayer.d.ts +1 -1
  788. package/dist/rpc/ChatLayer.d.ts.map +1 -1
  789. package/dist/rpc/CommandForm.d.ts +1 -1
  790. package/dist/rpc/CommandForm.d.ts.map +1 -1
  791. package/dist/rpc/CommandOutput.d.ts +1 -1
  792. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  793. package/dist/rpc/EndpointList.d.ts +2 -2
  794. package/dist/rpc/EndpointList.d.ts.map +1 -1
  795. package/dist/rpc/EntityExplorerApp.d.ts +2 -2
  796. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  797. package/dist/rpc/ExecutionResult.d.ts +1 -1
  798. package/dist/rpc/ExecutionResult.d.ts.map +1 -1
  799. package/dist/rpc/FilterForm.d.ts +1 -1
  800. package/dist/rpc/FilterForm.d.ts.map +1 -1
  801. package/dist/rpc/FilterFormFields.d.ts +1 -1
  802. package/dist/rpc/FilterFormFields.d.ts.map +1 -1
  803. package/dist/rpc/InlineError.d.ts +1 -1
  804. package/dist/rpc/InlineError.d.ts.map +1 -1
  805. package/dist/rpc/OperationActionBar.cjs +17 -5
  806. package/dist/rpc/OperationActionBar.cjs.map +1 -1
  807. package/dist/rpc/OperationActionBar.d.ts +3 -6
  808. package/dist/rpc/OperationActionBar.d.ts.map +1 -1
  809. package/dist/rpc/OperationActionBar.js +17 -5
  810. package/dist/rpc/OperationActionBar.js.map +1 -1
  811. package/dist/rpc/OperationActionDialog.d.ts +1 -1
  812. package/dist/rpc/OperationActionDialog.d.ts.map +1 -1
  813. package/dist/rpc/OperationCatalog.cjs +65 -5
  814. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  815. package/dist/rpc/OperationCatalog.d.ts +4 -2
  816. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  817. package/dist/rpc/OperationCatalog.js +66 -6
  818. package/dist/rpc/OperationCatalog.js.map +1 -1
  819. package/dist/rpc/OperationCatalogActions.cjs +38 -7
  820. package/dist/rpc/OperationCatalogActions.cjs.map +1 -1
  821. package/dist/rpc/OperationCatalogActions.d.ts +6 -1
  822. package/dist/rpc/OperationCatalogActions.d.ts.map +1 -1
  823. package/dist/rpc/OperationCatalogActions.js +38 -7
  824. package/dist/rpc/OperationCatalogActions.js.map +1 -1
  825. package/dist/rpc/OperationCommandPage.d.ts +1 -1
  826. package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
  827. package/dist/rpc/OperationEntityContextPicker.d.ts +2 -2
  828. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  829. package/dist/rpc/OperationEntityPage.d.ts +2 -2
  830. package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
  831. package/dist/rpc/OperationResultView.d.ts +2 -2
  832. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  833. package/dist/rpc/RouterProvider.d.ts +2 -2
  834. package/dist/rpc/RouterProvider.d.ts.map +1 -1
  835. package/dist/rpc/SchemaActionForm.d.ts +2 -2
  836. package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
  837. package/dist/rpc/actionIconMap.cjs +11 -0
  838. package/dist/rpc/actionIconMap.cjs.map +1 -0
  839. package/dist/rpc/actionIconMap.d.ts +3 -0
  840. package/dist/rpc/actionIconMap.d.ts.map +1 -0
  841. package/dist/rpc/actionIconMap.js +11 -0
  842. package/dist/rpc/actionIconMap.js.map +1 -0
  843. package/dist/rpc/formMetadata.d.ts +1 -1
  844. package/dist/rpc/operationErrorDiagnostics.d.ts +1 -1
  845. package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -1
  846. package/dist/rpc/router.d.ts +1 -1
  847. package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
  848. package/dist/styles.css +1 -1
  849. package/package.json +3 -3
  850. package/dist/components/combobox-utils.cjs.map +0 -1
  851. package/dist/components/combobox-utils.d.ts.map +0 -1
  852. package/dist/components/combobox-utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.nav.js","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":[],"mappings":"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"}
1
+ {"version":3,"file":"AppShell.nav.js","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":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  import { RenderLink } from '../rpc/EndpointList';
3
3
  import { ContentWidth } from './content-width';
4
4
  export interface AppNavItem {
@@ -50,7 +50,7 @@ export interface AppSidebarProps {
50
50
  isActive?: (pathname: string, to: string) => boolean;
51
51
  className?: string;
52
52
  }
53
- export declare function AppSidebar({ sections, pathname: pathnameProp, renderLink: renderLinkProp, header, footer, collapsedStorageKey, groupCollapsedStorageKey, isActive, className, }: AppSidebarProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function AppSidebar({ sections, pathname: pathnameProp, renderLink: renderLinkProp, header, footer, collapsedStorageKey, groupCollapsedStorageKey, isActive, className, }: AppSidebarProps): import("react").JSX.Element;
54
54
  export interface AppLayoutProps {
55
55
  sidebar: ReactNode;
56
56
  header?: ReactNode;
@@ -61,5 +61,5 @@ export interface AppLayoutProps {
61
61
  }
62
62
  /** Flex shell pairing the sidebar rail with an optional header and the routed
63
63
  * content area. The content area scrolls independently of the rail. */
64
- export declare function AppLayout({ sidebar, header, children, contentWidth, className, }: AppLayoutProps): import("react/jsx-runtime").JSX.Element;
64
+ export declare function AppLayout({ sidebar, header, children, contentWidth, className, }: AppLayoutProps): import("react").JSX.Element;
65
65
  //# sourceMappingURL=AppSidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppSidebar.d.ts","sourceRoot":"","sources":["../../src/layout/AppSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAczB,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;yEACqE;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,EAC1B,MAAM,EACN,MAAM,EACN,mBAA0C,EAC1C,wBAAqD,EACrD,QAA0B,EAC1B,SAAS,GACV,EAAE,eAAe,2CA0EjB;AAwGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;uEACuE;AACvE,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAA0B,EAC1B,SAAS,GACV,EAAE,cAAc,2CA6BhB"}
1
+ {"version":3,"file":"AppSidebar.d.ts","sourceRoot":"","sources":["../../src/layout/AppSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAczB,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;yEACqE;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,EAC1B,MAAM,EACN,MAAM,EACN,mBAA0C,EAC1C,wBAAqD,EACrD,QAA0B,EAC1B,SAAS,GACV,EAAE,eAAe,+BA0EjB;AAwGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;uEACuE;AACvE,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAA0B,EAC1B,SAAS,GACV,EAAE,cAAc,+BA6BhB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { PanelTone } from './PanelFrame';
4
4
  export type { PanelTone } from './PanelFrame';
@@ -31,5 +31,5 @@ export type PanelProps = {
31
31
  * panels (checks, results, comments) where {@link Section}'s disclosure
32
32
  * behaviour isn't wanted. Sits on `bg-card` with a border and rounded corners.
33
33
  */
34
- export declare function Panel({ title, icon, count, actions, footer, tone, padded, className, headerClassName, bodyClassName, children, }: PanelProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function Panel({ title, icon, count, actions, footer, tone, padded, className, headerClassName, bodyClassName, children, }: PanelProps): import("react").JSX.Element;
35
35
  //# sourceMappingURL=Panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/layout/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG;IACvB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAgB,EAChB,MAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,UAAU,2CAgDZ"}
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/layout/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG;IACvB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAgB,EAChB,MAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,UAAU,+BAgDZ"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  export type PanelTone = "default" | "danger" | "warning" | "success" | "info";
3
3
  export type PanelFrameProps = {
4
4
  header?: ReactNode;
@@ -11,5 +11,5 @@ export type PanelFrameProps = {
11
11
  bodyClassName?: string;
12
12
  children: ReactNode;
13
13
  };
14
- export declare function PanelFrame({ header, footer, tone, padded, bodyVisible, className, headerClassName, bodyClassName, children, }: PanelFrameProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function PanelFrame({ header, footer, tone, padded, bodyVisible, className, headerClassName, bodyClassName, children, }: PanelFrameProps): import("react").JSX.Element;
15
15
  //# sourceMappingURL=PanelFrame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelFrame.d.ts","sourceRoot":"","sources":["../../src/layout/PanelFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAUF,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,MAAM,EACN,IAAgB,EAChB,MAAa,EACb,WAAkB,EAClB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,eAAe,2CAkCjB"}
1
+ {"version":3,"file":"PanelFrame.d.ts","sourceRoot":"","sources":["../../src/layout/PanelFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAUF,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,MAAM,EACN,IAAgB,EAChB,MAAa,EACb,WAAkB,EAClB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,eAAe,+BAkCjB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  import { StaticIconComponent } from '../data/Icon';
3
3
  import { PanelTone } from './PanelFrame';
4
4
  export type SectionProps = {
@@ -37,7 +37,7 @@ export type SectionProps = {
37
37
  /** Collapsible content. */
38
38
  children: ReactNode;
39
39
  };
40
- export declare function Section({ title, summary, collapsible, defaultOpen, open: openProp, onToggle, icon, tone, className, headerClassName, bodyClassName, children, }: SectionProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function Section({ title, summary, collapsible, defaultOpen, open: openProp, onToggle, icon, tone, className, headerClassName, bodyClassName, children, }: SectionProps): import("react").JSX.Element;
41
41
  export type DetailEmptyStateProps = {
42
42
  /** Optional icon shown above the label. */
43
43
  icon?: string | StaticIconComponent;
@@ -48,5 +48,5 @@ export type DetailEmptyStateProps = {
48
48
  /** Classes applied to the empty-state root. */
49
49
  className?: string;
50
50
  };
51
- export declare function DetailEmptyState({ icon, label, description, className, }: DetailEmptyStateProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function DetailEmptyState({ icon, label, description, className, }: DetailEmptyStateProps): import("react").JSX.Element;
52
52
  //# sourceMappingURL=Section.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/layout/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,OAAO,EACP,WAAkB,EAClB,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAI,EACJ,IAAgB,EAChB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,YAAY,2CAgEd;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,gCAAgC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,qBAAqB,2CAiBvB"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/layout/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,OAAO,EACP,WAAkB,EAClB,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAI,EACJ,IAAgB,EAChB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,YAAY,+BAgEd;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,gCAAgC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,qBAAqB,+BAiBvB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  export type SplitPaneProps = {
3
3
  /** Content rendered in the left pane. */
4
4
  left: ReactNode;
@@ -19,5 +19,5 @@ export type SplitPaneProps = {
19
19
  /** Stack the panes and hide the resize handle below the `md` breakpoint. */
20
20
  stackOnMobile?: boolean;
21
21
  };
22
- export declare function SplitPane({ left, right, defaultSplit, minLeft, minRight, leftClass, rightClass, className, stackOnMobile, }: SplitPaneProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function SplitPane({ left, right, defaultSplit, minLeft, minRight, leftClass, rightClass, className, stackOnMobile, }: SplitPaneProps): import("react").JSX.Element;
23
23
  //# sourceMappingURL=SplitPane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../src/layout/SplitPane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,cAAc,GAAG;IAC3B,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,YAAiB,EACjB,OAAY,EACZ,QAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAqB,GACtB,EAAE,cAAc,2CAiFhB"}
1
+ {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../src/layout/SplitPane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,cAAc,GAAG;IAC3B,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,YAAiB,EACjB,OAAY,EACZ,QAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAqB,GACtB,EAAE,cAAc,+BAiFhB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  import { TabButtonVariant } from '../data/TabButton';
3
3
  import { StaticIconComponent } from '../data/Icon';
4
4
  export type TabItem = {
@@ -32,5 +32,5 @@ export type TabsProps = {
32
32
  * `underline` variant — the row carries a bottom border and the active tab's
33
33
  * underline overlaps it. Render the matching panel yourself based on `value`.
34
34
  */
35
- export declare function Tabs({ tabs, value, onChange, variant, className }: TabsProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function Tabs({ tabs, value, onChange, variant, className }: TabsProps): import("react").JSX.Element;
36
36
  //# sourceMappingURL=Tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/layout/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,OAAO,GAAG;IACpB,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,gCAAgC;IAChC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAqB,EAAE,SAAS,EAAE,EAAE,SAAS,2CA2B1F"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/layout/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,OAAO,GAAG;IACpB,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,gCAAgC;IAChC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAqB,EAAE,SAAS,EAAE,EAAE,SAAS,+BA2B1F"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  import { WorkspaceLayoutDefaults, WorkspaceLayoutState, WorkspacePaneSpec } from './Workspace.model';
3
3
  export type { WorkspaceLayoutDefaults, WorkspaceLayoutState, WorkspacePaneLocation, WorkspacePaneSlots, WorkspacePaneSpec, WorkspaceSideLocation, } from './Workspace.model';
4
4
  export type WorkspaceSlots = {
@@ -13,5 +13,5 @@ export type WorkspaceProps = {
13
13
  slots?: WorkspaceSlots;
14
14
  className?: string;
15
15
  };
16
- export declare function Workspace({ panes, value, defaultValue, onValueChange, storageKey, slots, className, }: WorkspaceProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function Workspace({ panes, value, defaultValue, onValueChange, storageKey, slots, className, }: WorkspaceProps): import("react").JSX.Element;
17
17
  //# sourceMappingURL=Workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../src/layout/Workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAO3B,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA0DF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,UAAU,EACV,KAAK,EACL,SAAS,GACV,EAAE,cAAc,2CA4HhB"}
1
+ {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../src/layout/Workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAO3B,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA0DF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,UAAU,EACV,KAAK,EACL,SAAS,GACV,EAAE,cAAc,+BA4HhB"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
2
  export type WorkspacePaneLocation = "left" | "center" | "right" | "bottom";
3
3
  export type WorkspaceSideLocation = "left" | "right";
4
4
  export type WorkspacePaneSlots = {
@@ -6,12 +6,12 @@ type SideRegionProps = {
6
6
  state: WorkspaceLayoutState;
7
7
  update: WorkspaceUpdate;
8
8
  };
9
- export declare function WorkspaceSideRegion({ location, panes, state, update, }: SideRegionProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function WorkspaceSideRegion({ location, panes, state, update, }: SideRegionProps): import("react").JSX.Element | null;
10
10
  type SingleRegionProps = {
11
11
  pane: WorkspacePaneSpec;
12
12
  state: WorkspaceLayoutState;
13
13
  update: WorkspaceUpdate;
14
14
  };
15
- export declare function WorkspaceSingleRegion({ pane, state, update, }: SingleRegionProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function WorkspaceSingleRegion({ pane, state, update, }: SingleRegionProps): import("react").JSX.Element;
16
16
  export {};
17
17
  //# sourceMappingURL=Workspace.regions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workspace.regions.d.ts","sourceRoot":"","sources":["../../src/layout/Workspace.regions.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,oBAAoB,KAC5D,IAAI,CAAC;AAuLV,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,eAAe,kDAoHjB;AAED,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,KAAK,EACL,MAAM,GACP,EAAE,iBAAiB,2CAgDnB"}
1
+ {"version":3,"file":"Workspace.regions.d.ts","sourceRoot":"","sources":["../../src/layout/Workspace.regions.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,oBAAoB,KAC5D,IAAI,CAAC;AAuLV,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,eAAe,sCAoHjB;AAED,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,KAAK,EACL,MAAM,GACP,EAAE,iBAAiB,+BAgDnB"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const COMBOBOX_MENU_MAX_WIDTH_PX = 400;
4
- const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;
5
3
  function comboboxLabelPadding(label, measuredWidth) {
6
4
  if (measuredWidth > 0) {
7
5
  return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };
@@ -53,11 +51,9 @@ function createComboboxCustomEntry(options) {
53
51
  if (onNew) return onNew(query);
54
52
  return { value: query, label: `Add "${query}"` };
55
53
  }
56
- exports.COMBOBOX_MENU_MAX_HEIGHT_PX = COMBOBOX_MENU_MAX_HEIGHT_PX;
57
- exports.COMBOBOX_MENU_MAX_WIDTH_PX = COMBOBOX_MENU_MAX_WIDTH_PX;
58
54
  exports.comboboxLabelPadding = comboboxLabelPadding;
59
55
  exports.createComboboxCustomEntry = createComboboxCustomEntry;
60
56
  exports.multipleComboboxLabel = multipleComboboxLabel;
61
57
  exports.splitOnComboboxSeparators = splitOnComboboxSeparators;
62
58
  exports.withSelectedComboboxOptions = withSelectedComboboxOptions;
63
- //# sourceMappingURL=combobox-utils.cjs.map
59
+ //# sourceMappingURL=combobox-values.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-values.cjs","sources":["../../src/lib/combobox-values.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"../components/combobox-types\";\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\n// Splits pasted text into one entry per value. Newlines always separate — a\n// list copied out of a file or a column of cells arrives that way — plus\n// whichever characters the consumer declared. Empty entries are the caller's to\n// drop, so \"a,,b\" and a trailing comma stay visible here.\nexport function splitOnComboboxSeparators(\n text: string,\n separators: string[],\n): string[] {\n const marks = new Set([...separators, \"\\n\", \"\\r\"]);\n const parts: string[] = [];\n let current = \"\";\n for (const char of text) {\n if (marks.has(char)) {\n parts.push(current);\n current = \"\";\n continue;\n }\n current += char;\n }\n parts.push(current);\n return parts;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":";;AAGO,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAMO,SAAS,0BACd,MACA,YACU;AACV,QAAM,4BAAY,IAAI,CAAC,GAAG,YAAY,MAAM,IAAI,CAAC;AACjD,QAAM,QAAkB,CAAA;AACxB,MAAI,UAAU;AACd,aAAW,QAAQ,MAAM;AACvB,QAAI,MAAM,IAAI,IAAI,GAAG;AACnB,YAAM,KAAK,OAAO;AAClB,gBAAU;AACV;AAAA,IACF;AACA,eAAW;AAAA,EACb;AACA,QAAM,KAAK,OAAO;AAClB,SAAO;AACT;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;;;;;;"}
@@ -1,15 +1,5 @@
1
- import { CSSProperties, ReactNode } from 'react';
2
- import { ComboboxOption } from './combobox-types';
3
- export declare const COMBOBOX_MENU_MAX_WIDTH_PX = 400;
4
- export declare const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;
5
- export type ComboboxMenuPosition = {
6
- top?: number;
7
- bottom?: number;
8
- left: number;
9
- width: number;
10
- maxWidth: number;
11
- maxHeight: number;
12
- };
1
+ import { CSSProperties, ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
2
+ import { ComboboxOption } from '../components/combobox-types';
13
3
  export declare function comboboxLabelPadding(label: ReactNode, measuredWidth: number): CSSProperties;
14
4
  export declare function withSelectedComboboxOptions(options: ComboboxOption[], selectedValues: string[]): ComboboxOption[];
15
5
  export declare function multipleComboboxLabel(options: ComboboxOption[], selectedValues: string[]): string;
@@ -23,4 +13,4 @@ export declare function createComboboxCustomEntry(options: {
23
13
  choices: ComboboxOption[];
24
14
  selectedValues: string[];
25
15
  }): ComboboxOption | null;
26
- //# sourceMappingURL=combobox-utils.d.ts.map
16
+ //# sourceMappingURL=combobox-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-values.d.ts","sourceRoot":"","sources":["../../src/lib/combobox-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,GACpB,aAAa,CAMf;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,cAAc,EAAE,CAMlB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,MAAM,CAOR;AAMD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,EAAE,CAcV;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,GAAG,cAAc,GAAG,IAAI,CAqBxB"}
@@ -1,5 +1,3 @@
1
- const COMBOBOX_MENU_MAX_WIDTH_PX = 400;
2
- const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;
3
1
  function comboboxLabelPadding(label, measuredWidth) {
4
2
  if (measuredWidth > 0) {
5
3
  return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };
@@ -52,12 +50,10 @@ function createComboboxCustomEntry(options) {
52
50
  return { value: query, label: `Add "${query}"` };
53
51
  }
54
52
  export {
55
- COMBOBOX_MENU_MAX_HEIGHT_PX,
56
- COMBOBOX_MENU_MAX_WIDTH_PX,
57
53
  comboboxLabelPadding,
58
54
  createComboboxCustomEntry,
59
55
  multipleComboboxLabel,
60
56
  splitOnComboboxSeparators,
61
57
  withSelectedComboboxOptions
62
58
  };
63
- //# sourceMappingURL=combobox-utils.js.map
59
+ //# sourceMappingURL=combobox-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-values.js","sources":["../../src/lib/combobox-values.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"../components/combobox-types\";\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\n// Splits pasted text into one entry per value. Newlines always separate — a\n// list copied out of a file or a column of cells arrives that way — plus\n// whichever characters the consumer declared. Empty entries are the caller's to\n// drop, so \"a,,b\" and a trailing comma stay visible here.\nexport function splitOnComboboxSeparators(\n text: string,\n separators: string[],\n): string[] {\n const marks = new Set([...separators, \"\\n\", \"\\r\"]);\n const parts: string[] = [];\n let current = \"\";\n for (const char of text) {\n if (marks.has(char)) {\n parts.push(current);\n current = \"\";\n continue;\n }\n current += char;\n }\n parts.push(current);\n return parts;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":"AAGO,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAMO,SAAS,0BACd,MACA,YACU;AACV,QAAM,4BAAY,IAAI,CAAC,GAAG,YAAY,MAAM,IAAI,CAAC;AACjD,QAAM,QAAkB,CAAA;AACxB,MAAI,UAAU;AACd,aAAW,QAAQ,MAAM;AACvB,QAAI,MAAM,IAAI,IAAI,GAAG;AACnB,YAAM,KAAK,OAAO;AAClB,gBAAU;AACV;AAAA,IACF;AACA,eAAW;AAAA,EACb;AACA,QAAM,KAAK,OAAO;AAClB,SAAO;AACT;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const COMBOBOX_MENU_MAX_WIDTH_PX = 400;
4
+ const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;
5
+ const COMBOBOX_MOBILE_QUERY = "(max-width: 639px)";
6
+ const COMBOBOX_MENU_EDGE_INSET_PX = 8;
7
+ const COMBOBOX_MENU_ANCHOR_GAP_PX = 4;
8
+ const COMBOBOX_MOBILE_HORIZONTAL_INSET_PX = 16;
9
+ function calculateComboboxMenuPosition({
10
+ anchor,
11
+ viewportWidth,
12
+ viewportHeight,
13
+ mobile,
14
+ naturalHeight
15
+ }) {
16
+ if (mobile) {
17
+ const spaceBelow2 = Math.max(
18
+ 0,
19
+ viewportHeight - anchor.bottom - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX
20
+ );
21
+ const spaceAbove2 = Math.max(
22
+ 0,
23
+ anchor.top - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX
24
+ );
25
+ const openUp2 = naturalHeight != null && naturalHeight > spaceBelow2 && spaceAbove2 > spaceBelow2;
26
+ const width = Math.max(
27
+ 0,
28
+ viewportWidth - COMBOBOX_MOBILE_HORIZONTAL_INSET_PX * 2
29
+ );
30
+ return menuPosition({
31
+ strategy: "mobile",
32
+ anchor,
33
+ viewportHeight,
34
+ openUp: openUp2,
35
+ left: COMBOBOX_MOBILE_HORIZONTAL_INSET_PX,
36
+ width,
37
+ maxWidth: width,
38
+ maxHeight: openUp2 ? spaceAbove2 : spaceBelow2
39
+ });
40
+ }
41
+ const spaceBelow = Math.max(
42
+ 0,
43
+ viewportHeight - anchor.bottom - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX
44
+ );
45
+ const spaceAbove = Math.max(
46
+ 0,
47
+ anchor.top - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX
48
+ );
49
+ const openUp = spaceBelow < COMBOBOX_MENU_MAX_HEIGHT_PX && spaceAbove > spaceBelow;
50
+ return menuPosition({
51
+ strategy: "desktop",
52
+ anchor,
53
+ viewportHeight,
54
+ openUp,
55
+ left: anchor.left,
56
+ width: anchor.width,
57
+ maxWidth: Math.max(
58
+ anchor.width,
59
+ Math.min(
60
+ COMBOBOX_MENU_MAX_WIDTH_PX,
61
+ viewportWidth - anchor.left - COMBOBOX_MENU_EDGE_INSET_PX
62
+ )
63
+ ),
64
+ maxHeight: Math.min(
65
+ COMBOBOX_MENU_MAX_HEIGHT_PX,
66
+ openUp ? spaceAbove : spaceBelow
67
+ )
68
+ });
69
+ }
70
+ function menuPosition({
71
+ strategy,
72
+ anchor,
73
+ viewportHeight,
74
+ openUp,
75
+ left,
76
+ width,
77
+ maxWidth,
78
+ maxHeight
79
+ }) {
80
+ return {
81
+ strategy,
82
+ ...openUp ? { bottom: viewportHeight - anchor.top + COMBOBOX_MENU_ANCHOR_GAP_PX } : { top: anchor.bottom + COMBOBOX_MENU_ANCHOR_GAP_PX },
83
+ left,
84
+ width,
85
+ maxWidth,
86
+ maxHeight
87
+ };
88
+ }
89
+ exports.COMBOBOX_MENU_MAX_HEIGHT_PX = COMBOBOX_MENU_MAX_HEIGHT_PX;
90
+ exports.COMBOBOX_MENU_MAX_WIDTH_PX = COMBOBOX_MENU_MAX_WIDTH_PX;
91
+ exports.COMBOBOX_MOBILE_QUERY = COMBOBOX_MOBILE_QUERY;
92
+ exports.calculateComboboxMenuPosition = calculateComboboxMenuPosition;
93
+ //# sourceMappingURL=combobox.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.cjs","sources":["../../src/lib/combobox.ts"],"sourcesContent":["export const COMBOBOX_MENU_MAX_WIDTH_PX = 400;\nexport const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;\nexport const COMBOBOX_MOBILE_QUERY = \"(max-width: 639px)\";\n\nconst COMBOBOX_MENU_EDGE_INSET_PX = 8;\nconst COMBOBOX_MENU_ANCHOR_GAP_PX = 4;\nconst COMBOBOX_MOBILE_HORIZONTAL_INSET_PX = 16;\n\nexport type ComboboxMenuPosition = {\n strategy: \"desktop\" | \"mobile\";\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n maxWidth: number;\n maxHeight: number;\n};\n\nexport function calculateComboboxMenuPosition({\n anchor,\n viewportWidth,\n viewportHeight,\n mobile,\n naturalHeight,\n}: {\n anchor: Pick<DOMRect, \"top\" | \"bottom\" | \"left\" | \"width\">;\n viewportWidth: number;\n viewportHeight: number;\n mobile: boolean;\n naturalHeight?: number;\n}): ComboboxMenuPosition {\n if (mobile) {\n const spaceBelow = Math.max(\n 0,\n viewportHeight -\n anchor.bottom -\n COMBOBOX_MENU_ANCHOR_GAP_PX -\n COMBOBOX_MENU_EDGE_INSET_PX,\n );\n const spaceAbove = Math.max(\n 0,\n anchor.top - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX,\n );\n const openUp =\n naturalHeight != null &&\n naturalHeight > spaceBelow &&\n spaceAbove > spaceBelow;\n const width = Math.max(\n 0,\n viewportWidth - COMBOBOX_MOBILE_HORIZONTAL_INSET_PX * 2,\n );\n return menuPosition({\n strategy: \"mobile\",\n anchor,\n viewportHeight,\n openUp,\n left: COMBOBOX_MOBILE_HORIZONTAL_INSET_PX,\n width,\n maxWidth: width,\n maxHeight: openUp ? spaceAbove : spaceBelow,\n });\n }\n\n const spaceBelow = Math.max(\n 0,\n viewportHeight -\n anchor.bottom -\n COMBOBOX_MENU_ANCHOR_GAP_PX -\n COMBOBOX_MENU_EDGE_INSET_PX,\n );\n const spaceAbove = Math.max(\n 0,\n anchor.top - COMBOBOX_MENU_ANCHOR_GAP_PX - COMBOBOX_MENU_EDGE_INSET_PX,\n );\n const openUp =\n spaceBelow < COMBOBOX_MENU_MAX_HEIGHT_PX && spaceAbove > spaceBelow;\n return menuPosition({\n strategy: \"desktop\",\n anchor,\n viewportHeight,\n openUp,\n left: anchor.left,\n width: anchor.width,\n maxWidth: Math.max(\n anchor.width,\n Math.min(\n COMBOBOX_MENU_MAX_WIDTH_PX,\n viewportWidth - anchor.left - COMBOBOX_MENU_EDGE_INSET_PX,\n ),\n ),\n maxHeight: Math.min(\n COMBOBOX_MENU_MAX_HEIGHT_PX,\n openUp ? spaceAbove : spaceBelow,\n ),\n });\n}\n\nfunction menuPosition({\n strategy,\n anchor,\n viewportHeight,\n openUp,\n left,\n width,\n maxWidth,\n maxHeight,\n}: Omit<ComboboxMenuPosition, \"top\" | \"bottom\"> & {\n anchor: Pick<DOMRect, \"top\" | \"bottom\">;\n viewportHeight: number;\n openUp: boolean;\n}): ComboboxMenuPosition {\n return {\n strategy,\n ...(openUp\n ? { bottom: viewportHeight - anchor.top + COMBOBOX_MENU_ANCHOR_GAP_PX }\n : { top: anchor.bottom + COMBOBOX_MENU_ANCHOR_GAP_PX }),\n left,\n width,\n maxWidth,\n maxHeight,\n };\n}\n"],"names":["spaceBelow","spaceAbove","openUp"],"mappings":";;AAAO,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,wBAAwB;AAErC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,sCAAsC;AAYrC,SAAS,8BAA8B;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMyB;AACvB,MAAI,QAAQ;AACV,UAAMA,cAAa,KAAK;AAAA,MACtB;AAAA,MACA,iBACE,OAAO,SACP,8BACA;AAAA,IAAA;AAEJ,UAAMC,cAAa,KAAK;AAAA,MACtB;AAAA,MACA,OAAO,MAAM,8BAA8B;AAAA,IAAA;AAE7C,UAAMC,UACJ,iBAAiB,QACjB,gBAAgBF,eAChBC,cAAaD;AACf,UAAM,QAAQ,KAAK;AAAA,MACjB;AAAA,MACA,gBAAgB,sCAAsC;AAAA,IAAA;AAExD,WAAO,aAAa;AAAA,MAClB,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,QAAAE;AAAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA,UAAU;AAAA,MACV,WAAWA,UAASD,cAAaD;AAAAA,IAAA,CAClC;AAAA,EACH;AAEA,QAAM,aAAa,KAAK;AAAA,IACtB;AAAA,IACA,iBACE,OAAO,SACP,8BACA;AAAA,EAAA;AAEJ,QAAM,aAAa,KAAK;AAAA,IACtB;AAAA,IACA,OAAO,MAAM,8BAA8B;AAAA,EAAA;AAE7C,QAAM,SACJ,aAAa,+BAA+B,aAAa;AAC3D,SAAO,aAAa;AAAA,IAClB,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,OAAO;AAAA,IACb,OAAO,OAAO;AAAA,IACd,UAAU,KAAK;AAAA,MACb,OAAO;AAAA,MACP,KAAK;AAAA,QACH;AAAA,QACA,gBAAgB,OAAO,OAAO;AAAA,MAAA;AAAA,IAChC;AAAA,IAEF,WAAW,KAAK;AAAA,MACd;AAAA,MACA,SAAS,aAAa;AAAA,IAAA;AAAA,EACxB,CACD;AACH;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIyB;AACvB,SAAO;AAAA,IACL;AAAA,IACA,GAAI,SACA,EAAE,QAAQ,iBAAiB,OAAO,MAAM,4BAAA,IACxC,EAAE,KAAK,OAAO,SAAS,4BAAA;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;;;;"}
@@ -0,0 +1,20 @@
1
+ export declare const COMBOBOX_MENU_MAX_WIDTH_PX = 400;
2
+ export declare const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;
3
+ export declare const COMBOBOX_MOBILE_QUERY = "(max-width: 639px)";
4
+ export type ComboboxMenuPosition = {
5
+ strategy: "desktop" | "mobile";
6
+ top?: number;
7
+ bottom?: number;
8
+ left: number;
9
+ width: number;
10
+ maxWidth: number;
11
+ maxHeight: number;
12
+ };
13
+ export declare function calculateComboboxMenuPosition({ anchor, viewportWidth, viewportHeight, mobile, naturalHeight, }: {
14
+ anchor: Pick<DOMRect, "top" | "bottom" | "left" | "width">;
15
+ viewportWidth: number;
16
+ viewportHeight: number;
17
+ mobile: boolean;
18
+ naturalHeight?: number;
19
+ }): ComboboxMenuPosition;
20
+ //# sourceMappingURL=combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../src/lib/combobox.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAM1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,EAC5C,MAAM,EACN,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,GACd,EAAE;IACD,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,oBAAoB,CAiEvB"}