@50arms/ui 0.0.0-stage → 35.2.0

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 (1256) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +193 -2
  3. package/dist/components/Accordion.js +68 -0
  4. package/dist/components/Accordion.js.map +1 -0
  5. package/dist/components/AgentWorkingSpinner.js +46 -0
  6. package/dist/components/AgentWorkingSpinner.js.map +1 -0
  7. package/dist/components/AppShell.js +228 -0
  8. package/dist/components/AppShell.js.map +1 -0
  9. package/dist/components/Attention.js +130 -0
  10. package/dist/components/Attention.js.map +1 -0
  11. package/dist/components/Avatar.js +99 -0
  12. package/dist/components/Avatar.js.map +1 -0
  13. package/dist/components/Badge.js +143 -0
  14. package/dist/components/Badge.js.map +1 -0
  15. package/dist/components/Board.js +292 -0
  16. package/dist/components/Board.js.map +1 -0
  17. package/dist/components/Button.js +327 -0
  18. package/dist/components/Button.js.map +1 -0
  19. package/dist/components/Callout.js +106 -0
  20. package/dist/components/Callout.js.map +1 -0
  21. package/dist/components/Card.js +140 -0
  22. package/dist/components/Card.js.map +1 -0
  23. package/dist/components/Choice.js +361 -0
  24. package/dist/components/Choice.js.map +1 -0
  25. package/dist/components/CodeEditor.js +384 -0
  26. package/dist/components/CodeEditor.js.map +1 -0
  27. package/dist/components/ColorPicker.js +174 -0
  28. package/dist/components/ColorPicker.js.map +1 -0
  29. package/dist/components/Combobox.js +212 -0
  30. package/dist/components/Combobox.js.map +1 -0
  31. package/dist/components/CommandPalette.js +163 -0
  32. package/dist/components/CommandPalette.js.map +1 -0
  33. package/dist/components/ConcentricRing.js +60 -0
  34. package/dist/components/ConcentricRing.js.map +1 -0
  35. package/dist/components/ConnectionCard.js +98 -0
  36. package/dist/components/ConnectionCard.js.map +1 -0
  37. package/dist/components/ContextItemRow.js +49 -0
  38. package/dist/components/ContextItemRow.js.map +1 -0
  39. package/dist/components/CopyValue.js +57 -0
  40. package/dist/components/CopyValue.js.map +1 -0
  41. package/dist/components/CountBadge.js +26 -0
  42. package/dist/components/CountBadge.js.map +1 -0
  43. package/dist/components/DateCalendar.js +156 -0
  44. package/dist/components/DateCalendar.js.map +1 -0
  45. package/dist/components/DateField.js +166 -0
  46. package/dist/components/DateField.js.map +1 -0
  47. package/dist/components/DatePicker.js +56 -0
  48. package/dist/components/DatePicker.js.map +1 -0
  49. package/dist/components/DateTimeText.js +19 -0
  50. package/dist/components/DateTimeText.js.map +1 -0
  51. package/dist/components/DescriptionList.js +25 -0
  52. package/dist/components/DescriptionList.js.map +1 -0
  53. package/dist/components/Dialog.js +332 -0
  54. package/dist/components/Dialog.js.map +1 -0
  55. package/dist/components/DragDrop.js +395 -0
  56. package/dist/components/DragDrop.js.map +1 -0
  57. package/dist/components/Drawer.js +100 -0
  58. package/dist/components/Drawer.js.map +1 -0
  59. package/dist/components/EditGutter.js +110 -0
  60. package/dist/components/EditGutter.js.map +1 -0
  61. package/dist/components/EmojiPicker.js +174 -0
  62. package/dist/components/EmojiPicker.js.map +1 -0
  63. package/dist/components/ErrorBoundary.js +47 -0
  64. package/dist/components/ErrorBoundary.js.map +1 -0
  65. package/dist/components/Field.js +115 -0
  66. package/dist/components/Field.js.map +1 -0
  67. package/dist/components/FileUpload.js +128 -0
  68. package/dist/components/FileUpload.js.map +1 -0
  69. package/dist/components/FilterMenu.js +256 -0
  70. package/dist/components/FilterMenu.js.map +1 -0
  71. package/dist/components/GatesSection.js +79 -0
  72. package/dist/components/GatesSection.js.map +1 -0
  73. package/dist/components/Icon.js +50 -0
  74. package/dist/components/Icon.js.map +1 -0
  75. package/dist/components/IconButton.js +59 -0
  76. package/dist/components/IconButton.js.map +1 -0
  77. package/dist/components/IconStack.js +69 -0
  78. package/dist/components/IconStack.js.map +1 -0
  79. package/dist/components/ImageUploadField.js +146 -0
  80. package/dist/components/ImageUploadField.js.map +1 -0
  81. package/dist/components/InlineEdit.js +432 -0
  82. package/dist/components/InlineEdit.js.map +1 -0
  83. package/dist/components/InlineMarkdownEdit.js +184 -0
  84. package/dist/components/InlineMarkdownEdit.js.map +1 -0
  85. package/dist/components/Input.js +156 -0
  86. package/dist/components/Input.js.map +1 -0
  87. package/dist/components/LegalDocument.js +155 -0
  88. package/dist/components/LegalDocument.js.map +1 -0
  89. package/dist/components/LineDiff.js +95 -0
  90. package/dist/components/LineDiff.js.map +1 -0
  91. package/dist/components/ListHeader.js +72 -0
  92. package/dist/components/ListHeader.js.map +1 -0
  93. package/dist/components/Loading.js +111 -0
  94. package/dist/components/Loading.js.map +1 -0
  95. package/dist/components/Markdown.js +28 -0
  96. package/dist/components/Markdown.js.map +1 -0
  97. package/dist/components/MarkdownEditor.js +467 -0
  98. package/dist/components/MarkdownEditor.js.map +1 -0
  99. package/dist/components/Menu.js +185 -0
  100. package/dist/components/Menu.js.map +1 -0
  101. package/dist/components/Navigation.js +87 -0
  102. package/dist/components/Navigation.js.map +1 -0
  103. package/dist/components/NumberInput.js +119 -0
  104. package/dist/components/NumberInput.js.map +1 -0
  105. package/dist/components/OTPInput.js +71 -0
  106. package/dist/components/OTPInput.js.map +1 -0
  107. package/dist/components/OrderedEntityManager.js +170 -0
  108. package/dist/components/OrderedEntityManager.js.map +1 -0
  109. package/dist/components/PagedWindowList.js +74 -0
  110. package/dist/components/PagedWindowList.js.map +1 -0
  111. package/dist/components/PaginationBar.js +95 -0
  112. package/dist/components/PaginationBar.js.map +1 -0
  113. package/dist/components/Panel.js +396 -0
  114. package/dist/components/Panel.js.map +1 -0
  115. package/dist/components/PasswordInput.js +32 -0
  116. package/dist/components/PasswordInput.js.map +1 -0
  117. package/dist/components/PasswordRequirements.js +25 -0
  118. package/dist/components/PasswordRequirements.js.map +1 -0
  119. package/dist/components/PatchDiff.js +96 -0
  120. package/dist/components/PatchDiff.js.map +1 -0
  121. package/dist/components/PendingVeil.js +18 -0
  122. package/dist/components/PendingVeil.js.map +1 -0
  123. package/dist/components/Popover.js +214 -0
  124. package/dist/components/Popover.js.map +1 -0
  125. package/dist/components/Progress.js +419 -0
  126. package/dist/components/Progress.js.map +1 -0
  127. package/dist/components/RatingScale.js +89 -0
  128. package/dist/components/RatingScale.js.map +1 -0
  129. package/dist/components/ReadMore.js +232 -0
  130. package/dist/components/ReadMore.js.map +1 -0
  131. package/dist/components/RecordCard.js +202 -0
  132. package/dist/components/RecordCard.js.map +1 -0
  133. package/dist/components/RelativeTime.js +29 -0
  134. package/dist/components/RelativeTime.js.map +1 -0
  135. package/dist/components/SandboxedFrame.js +135 -0
  136. package/dist/components/SandboxedFrame.js.map +1 -0
  137. package/dist/components/SearchInput.js +38 -0
  138. package/dist/components/SearchInput.js.map +1 -0
  139. package/dist/components/SecretField.js +228 -0
  140. package/dist/components/SecretField.js.map +1 -0
  141. package/dist/components/SectionNav.js +42 -0
  142. package/dist/components/SectionNav.js.map +1 -0
  143. package/dist/components/Select.js +172 -0
  144. package/dist/components/Select.js.map +1 -0
  145. package/dist/components/SequenceDiagram.js +109 -0
  146. package/dist/components/SequenceDiagram.js.map +1 -0
  147. package/dist/components/SettingRow.js +124 -0
  148. package/dist/components/SettingRow.js.map +1 -0
  149. package/dist/components/SignOffRings.js +36 -0
  150. package/dist/components/SignOffRings.js.map +1 -0
  151. package/dist/components/Slider.js +353 -0
  152. package/dist/components/Slider.js.map +1 -0
  153. package/dist/components/SolutionChoice.js +89 -0
  154. package/dist/components/SolutionChoice.js.map +1 -0
  155. package/dist/components/SortMenu.js +75 -0
  156. package/dist/components/SortMenu.js.map +1 -0
  157. package/dist/components/Spinner.js +42 -0
  158. package/dist/components/Spinner.js.map +1 -0
  159. package/dist/components/Stat.js +148 -0
  160. package/dist/components/Stat.js.map +1 -0
  161. package/dist/components/StatusSelect.js +119 -0
  162. package/dist/components/StatusSelect.js.map +1 -0
  163. package/dist/components/Surface.js +210 -0
  164. package/dist/components/Surface.js.map +1 -0
  165. package/dist/components/Table.js +300 -0
  166. package/dist/components/Table.js.map +1 -0
  167. package/dist/components/Tabs.js +288 -0
  168. package/dist/components/Tabs.js.map +1 -0
  169. package/dist/components/ThemeMenu.js +198 -0
  170. package/dist/components/ThemeMenu.js.map +1 -0
  171. package/dist/components/Toast.js +217 -0
  172. package/dist/components/Toast.js.map +1 -0
  173. package/dist/components/Toggle.js +147 -0
  174. package/dist/components/Toggle.js.map +1 -0
  175. package/dist/components/ToggleMatrix.js +157 -0
  176. package/dist/components/ToggleMatrix.js.map +1 -0
  177. package/dist/components/Tree.js +125 -0
  178. package/dist/components/Tree.js.map +1 -0
  179. package/dist/components/TriStateSwitch.js +111 -0
  180. package/dist/components/TriStateSwitch.js.map +1 -0
  181. package/dist/components/VideoPlayer.js +64 -0
  182. package/dist/components/VideoPlayer.js.map +1 -0
  183. package/dist/components/auth/AcceptInvitationCard.js +110 -0
  184. package/dist/components/auth/AcceptInvitationCard.js.map +1 -0
  185. package/dist/components/auth/AuthLayout.js +18 -0
  186. package/dist/components/auth/AuthLayout.js.map +1 -0
  187. package/dist/components/auth/ForgotPasswordForm.js +44 -0
  188. package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
  189. package/dist/components/auth/LoginForm.js +76 -0
  190. package/dist/components/auth/LoginForm.js.map +1 -0
  191. package/dist/components/auth/ResetPasswordForm.js +69 -0
  192. package/dist/components/auth/ResetPasswordForm.js.map +1 -0
  193. package/dist/components/auth/SignInProviders.js +45 -0
  194. package/dist/components/auth/SignInProviders.js.map +1 -0
  195. package/dist/components/auth/SignupCard.js +204 -0
  196. package/dist/components/auth/SignupCard.js.map +1 -0
  197. package/dist/components/auth/TermsAcceptance.js +43 -0
  198. package/dist/components/auth/TermsAcceptance.js.map +1 -0
  199. package/dist/components/board/context.js +32 -0
  200. package/dist/components/board/context.js.map +1 -0
  201. package/dist/components/board/recipe.js +94 -0
  202. package/dist/components/board/recipe.js.map +1 -0
  203. package/dist/components/calendar/CalendarMonth.js +299 -0
  204. package/dist/components/calendar/CalendarMonth.js.map +1 -0
  205. package/dist/components/calendar/CalendarTimeGrid.js +430 -0
  206. package/dist/components/calendar/CalendarTimeGrid.js.map +1 -0
  207. package/dist/components/calendar/EventActions.js +101 -0
  208. package/dist/components/calendar/EventActions.js.map +1 -0
  209. package/dist/components/calendar/format.js +73 -0
  210. package/dist/components/calendar/format.js.map +1 -0
  211. package/dist/components/calendar/palette.js +31 -0
  212. package/dist/components/calendar/palette.js.map +1 -0
  213. package/dist/components/calendar/use-calendar-drag.js +149 -0
  214. package/dist/components/calendar/use-calendar-drag.js.map +1 -0
  215. package/dist/components/calendar/use-event-keyboard.js +87 -0
  216. package/dist/components/calendar/use-event-keyboard.js.map +1 -0
  217. package/dist/components/calendar/use-grid-navigation.js +79 -0
  218. package/dist/components/calendar/use-grid-navigation.js.map +1 -0
  219. package/dist/components/calendar/use-now.js +27 -0
  220. package/dist/components/calendar/use-now.js.map +1 -0
  221. package/dist/components/card-face/AcRingGlyph.js +39 -0
  222. package/dist/components/card-face/AcRingGlyph.js.map +1 -0
  223. package/dist/components/card-face/BoardCardAgentSlot.js +17 -0
  224. package/dist/components/card-face/BoardCardAgentSlot.js.map +1 -0
  225. package/dist/components/card-face/CardFace.js +109 -0
  226. package/dist/components/card-face/CardFace.js.map +1 -0
  227. package/dist/components/card-face/CardTypeBadge.js +17 -0
  228. package/dist/components/card-face/CardTypeBadge.js.map +1 -0
  229. package/dist/components/card-face/EffortBadge.js +11 -0
  230. package/dist/components/card-face/EffortBadge.js.map +1 -0
  231. package/dist/components/card-face/GateRingGlyph.js +31 -0
  232. package/dist/components/card-face/GateRingGlyph.js.map +1 -0
  233. package/dist/components/card-face/OverflowRow.js +70 -0
  234. package/dist/components/card-face/OverflowRow.js.map +1 -0
  235. package/dist/components/card-face/TapTip.js +32 -0
  236. package/dist/components/card-face/TapTip.js.map +1 -0
  237. package/dist/components/card-face/hit-area.js +6 -0
  238. package/dist/components/card-face/hit-area.js.map +1 -0
  239. package/dist/components/card-face/vocabulary.js +102 -0
  240. package/dist/components/card-face/vocabulary.js.map +1 -0
  241. package/dist/components/chart/BarList.js +78 -0
  242. package/dist/components/chart/BarList.js.map +1 -0
  243. package/dist/components/chart/LineChart.js +310 -0
  244. package/dist/components/chart/LineChart.js.map +1 -0
  245. package/dist/components/chart/ShareBar.js +141 -0
  246. package/dist/components/chart/ShareBar.js.map +1 -0
  247. package/dist/components/chart/TimeSeriesChart.js +305 -0
  248. package/dist/components/chart/TimeSeriesChart.js.map +1 -0
  249. package/dist/components/chart/label-metrics.js +17 -0
  250. package/dist/components/chart/label-metrics.js.map +1 -0
  251. package/dist/components/chart/line-chart-axis.js +38 -0
  252. package/dist/components/chart/line-chart-axis.js.map +1 -0
  253. package/dist/components/chart/line-chart-scale.js +132 -0
  254. package/dist/components/chart/line-chart-scale.js.map +1 -0
  255. package/dist/components/chart/line-series-style.js +22 -0
  256. package/dist/components/chart/line-series-style.js.map +1 -0
  257. package/dist/components/chart/share-bar-labels.js +14 -0
  258. package/dist/components/chart/share-bar-labels.js.map +1 -0
  259. package/dist/components/chart/shared.js +157 -0
  260. package/dist/components/chart/shared.js.map +1 -0
  261. package/dist/components/chart/time-series-scale.js +51 -0
  262. package/dist/components/chart/time-series-scale.js.map +1 -0
  263. package/dist/components/chat/Attachment.js +316 -0
  264. package/dist/components/chat/Attachment.js.map +1 -0
  265. package/dist/components/chat/Chat.js +171 -0
  266. package/dist/components/chat/Chat.js.map +1 -0
  267. package/dist/components/chat/Composer.js +274 -0
  268. package/dist/components/chat/Composer.js.map +1 -0
  269. package/dist/components/chat/ContextMeter.js +202 -0
  270. package/dist/components/chat/ContextMeter.js.map +1 -0
  271. package/dist/components/chat/EffortControl.js +116 -0
  272. package/dist/components/chat/EffortControl.js.map +1 -0
  273. package/dist/components/chat/FileCover.js +78 -0
  274. package/dist/components/chat/FileCover.js.map +1 -0
  275. package/dist/components/chat/Message.js +356 -0
  276. package/dist/components/chat/Message.js.map +1 -0
  277. package/dist/components/chat/MessageScroller.js +104 -0
  278. package/dist/components/chat/MessageScroller.js.map +1 -0
  279. package/dist/components/chat/ModelSelector.js +156 -0
  280. package/dist/components/chat/ModelSelector.js.map +1 -0
  281. package/dist/components/chat/StreamingMarkdown.js +42 -0
  282. package/dist/components/chat/StreamingMarkdown.js.map +1 -0
  283. package/dist/components/chat/download-file.js +9 -0
  284. package/dist/components/chat/download-file.js.map +1 -0
  285. package/dist/components/chat/file-icon.js +39 -0
  286. package/dist/components/chat/file-icon.js.map +1 -0
  287. package/dist/components/checklist/StatusChecklist.js +103 -0
  288. package/dist/components/checklist/StatusChecklist.js.map +1 -0
  289. package/dist/components/checklist/tally.js +29 -0
  290. package/dist/components/checklist/tally.js.map +1 -0
  291. package/dist/components/code-editor/context.js +13 -0
  292. package/dist/components/code-editor/context.js.map +1 -0
  293. package/dist/components/code-editor/editing.js +93 -0
  294. package/dist/components/code-editor/editing.js.map +1 -0
  295. package/dist/components/code-editor/highlight.js +27 -0
  296. package/dist/components/code-editor/highlight.js.map +1 -0
  297. package/dist/components/code-editor/recipe.js +75 -0
  298. package/dist/components/code-editor/recipe.js.map +1 -0
  299. package/dist/components/date-timeline/DateTimeline.js +358 -0
  300. package/dist/components/date-timeline/DateTimeline.js.map +1 -0
  301. package/dist/components/date-timeline/TimelineRow.js +100 -0
  302. package/dist/components/date-timeline/TimelineRow.js.map +1 -0
  303. package/dist/components/date-timeline/useBarDrag.js +44 -0
  304. package/dist/components/date-timeline/useBarDrag.js.map +1 -0
  305. package/dist/components/date-timeline/useMarkerDrag.js +40 -0
  306. package/dist/components/date-timeline/useMarkerDrag.js.map +1 -0
  307. package/dist/components/date-timeline/useTimelineZoom.js +44 -0
  308. package/dist/components/date-timeline/useTimelineZoom.js.map +1 -0
  309. package/dist/components/drag-drop/context.js +37 -0
  310. package/dist/components/drag-drop/context.js.map +1 -0
  311. package/dist/components/drag-drop/recipe.js +270 -0
  312. package/dist/components/drag-drop/recipe.js.map +1 -0
  313. package/dist/components/drag-drop/shift.js +157 -0
  314. package/dist/components/drag-drop/shift.js.map +1 -0
  315. package/dist/components/edit/activation.js +10 -0
  316. package/dist/components/edit/activation.js.map +1 -0
  317. package/dist/components/edit/outcome.js +47 -0
  318. package/dist/components/edit/outcome.js.map +1 -0
  319. package/dist/components/edit/use-edit-session.js +146 -0
  320. package/dist/components/edit/use-edit-session.js.map +1 -0
  321. package/dist/components/file-viewer/FileViewer.js +97 -0
  322. package/dist/components/file-viewer/FileViewer.js.map +1 -0
  323. package/dist/components/file-viewer/PageNumberJumpField.js +47 -0
  324. package/dist/components/file-viewer/PageNumberJumpField.js.map +1 -0
  325. package/dist/components/file-viewer/ViewerControls.js +122 -0
  326. package/dist/components/file-viewer/ViewerControls.js.map +1 -0
  327. package/dist/components/file-viewer/ViewerRail.js +57 -0
  328. package/dist/components/file-viewer/ViewerRail.js.map +1 -0
  329. package/dist/components/file-viewer/ViewerStage.js +112 -0
  330. package/dist/components/file-viewer/ViewerStage.js.map +1 -0
  331. package/dist/components/file-viewer/frames.js +37 -0
  332. package/dist/components/file-viewer/frames.js.map +1 -0
  333. package/dist/components/file-viewer/use-frame-cursor.js +32 -0
  334. package/dist/components/file-viewer/use-frame-cursor.js.map +1 -0
  335. package/dist/components/file-viewer/use-viewer-keys.js +50 -0
  336. package/dist/components/file-viewer/use-viewer-keys.js.map +1 -0
  337. package/dist/components/file-viewer/use-viewer-zoom.js +68 -0
  338. package/dist/components/file-viewer/use-viewer-zoom.js.map +1 -0
  339. package/dist/components/focus-web/FocusWeb.js +322 -0
  340. package/dist/components/focus-web/FocusWeb.js.map +1 -0
  341. package/dist/components/focus-web/layout.js +34 -0
  342. package/dist/components/focus-web/layout.js.map +1 -0
  343. package/dist/components/graph-explorer/GraphExplorer.js +441 -0
  344. package/dist/components/graph-explorer/GraphExplorer.js.map +1 -0
  345. package/dist/components/graph-explorer/camera-math.js +102 -0
  346. package/dist/components/graph-explorer/camera-math.js.map +1 -0
  347. package/dist/components/graph-explorer/tree-layout.js +103 -0
  348. package/dist/components/graph-explorer/tree-layout.js.map +1 -0
  349. package/dist/components/graph-explorer/use-camera.js +82 -0
  350. package/dist/components/graph-explorer/use-camera.js.map +1 -0
  351. package/dist/components/graph-explorer/viewport-gesture.js +107 -0
  352. package/dist/components/graph-explorer/viewport-gesture.js.map +1 -0
  353. package/dist/components/kanban/KanbanBoard.js +219 -0
  354. package/dist/components/kanban/KanbanBoard.js.map +1 -0
  355. package/dist/components/kanban/recipe.js +144 -0
  356. package/dist/components/kanban/recipe.js.map +1 -0
  357. package/dist/components/markdown/Affordances.js +398 -0
  358. package/dist/components/markdown/Affordances.js.map +1 -0
  359. package/dist/components/markdown/AttachmentStrip.js +128 -0
  360. package/dist/components/markdown/AttachmentStrip.js.map +1 -0
  361. package/dist/components/markdown/ImageUpload.js +45 -0
  362. package/dist/components/markdown/ImageUpload.js.map +1 -0
  363. package/dist/components/media-error.js +7 -0
  364. package/dist/components/media-error.js.map +1 -0
  365. package/dist/components/nav-sections.js +61 -0
  366. package/dist/components/nav-sections.js.map +1 -0
  367. package/dist/components/node-canvas/NodeCanvas.js +384 -0
  368. package/dist/components/node-canvas/NodeCanvas.js.map +1 -0
  369. package/dist/components/node-canvas/layout.js +237 -0
  370. package/dist/components/node-canvas/layout.js.map +1 -0
  371. package/dist/components/node-canvas/use-canvas-gestures.js +143 -0
  372. package/dist/components/node-canvas/use-canvas-gestures.js.map +1 -0
  373. package/dist/components/openapi/OpenApiViewer.js +137 -0
  374. package/dist/components/openapi/OpenApiViewer.js.map +1 -0
  375. package/dist/components/openapi/OperationCard.js +145 -0
  376. package/dist/components/openapi/OperationCard.js.map +1 -0
  377. package/dist/components/openapi/SchemaView.js +68 -0
  378. package/dist/components/openapi/SchemaView.js.map +1 -0
  379. package/dist/components/openapi/resolve.js +102 -0
  380. package/dist/components/openapi/resolve.js.map +1 -0
  381. package/dist/components/openapi/types.js +5 -0
  382. package/dist/components/openapi/types.js.map +1 -0
  383. package/dist/components/overlay-shell.js +29 -0
  384. package/dist/components/overlay-shell.js.map +1 -0
  385. package/dist/components/overlay-stack.js +27 -0
  386. package/dist/components/overlay-stack.js.map +1 -0
  387. package/dist/components/paged-window/PageBlock.js +50 -0
  388. package/dist/components/paged-window/PageBlock.js.map +1 -0
  389. package/dist/components/provenance/ConfidenceBar.js +60 -0
  390. package/dist/components/provenance/ConfidenceBar.js.map +1 -0
  391. package/dist/components/provenance/ConfidenceMeter.js +36 -0
  392. package/dist/components/provenance/ConfidenceMeter.js.map +1 -0
  393. package/dist/components/provenance/ConfidenceReadout.js +31 -0
  394. package/dist/components/provenance/ConfidenceReadout.js.map +1 -0
  395. package/dist/components/provenance/ProvenanceBadge.js +44 -0
  396. package/dist/components/provenance/ProvenanceBadge.js.map +1 -0
  397. package/dist/components/provenance/ProvenanceDetail.js +114 -0
  398. package/dist/components/provenance/ProvenanceDetail.js.map +1 -0
  399. package/dist/components/provenance/ProvenanceDisclosure.js +111 -0
  400. package/dist/components/provenance/ProvenanceDisclosure.js.map +1 -0
  401. package/dist/components/provenance/absence.js +31 -0
  402. package/dist/components/provenance/absence.js.map +1 -0
  403. package/dist/components/provenance/types.js +30 -0
  404. package/dist/components/provenance/types.js.map +1 -0
  405. package/dist/components/rbac/AccessRequestPanel.js +153 -0
  406. package/dist/components/rbac/AccessRequestPanel.js.map +1 -0
  407. package/dist/components/rbac/AccountMenu.js +118 -0
  408. package/dist/components/rbac/AccountMenu.js.map +1 -0
  409. package/dist/components/rbac/AgentKeysList.js +20 -0
  410. package/dist/components/rbac/AgentKeysList.js.map +1 -0
  411. package/dist/components/rbac/ApiKeysPanel.js +172 -0
  412. package/dist/components/rbac/ApiKeysPanel.js.map +1 -0
  413. package/dist/components/rbac/ApiKeysTable.js +169 -0
  414. package/dist/components/rbac/ApiKeysTable.js.map +1 -0
  415. package/dist/components/rbac/Brand.js +13 -0
  416. package/dist/components/rbac/Brand.js.map +1 -0
  417. package/dist/components/rbac/Can.js +18 -0
  418. package/dist/components/rbac/Can.js.map +1 -0
  419. package/dist/components/rbac/ChangePasswordForm.js +73 -0
  420. package/dist/components/rbac/ChangePasswordForm.js.map +1 -0
  421. package/dist/components/rbac/DangerZone.js +27 -0
  422. package/dist/components/rbac/DangerZone.js.map +1 -0
  423. package/dist/components/rbac/DevToolsPopover.js +140 -0
  424. package/dist/components/rbac/DevToolsPopover.js.map +1 -0
  425. package/dist/components/rbac/EndedLine.js +24 -0
  426. package/dist/components/rbac/EndedLine.js.map +1 -0
  427. package/dist/components/rbac/InvitationsList.js +148 -0
  428. package/dist/components/rbac/InvitationsList.js.map +1 -0
  429. package/dist/components/rbac/InviteMembersDialog.js +97 -0
  430. package/dist/components/rbac/InviteMembersDialog.js.map +1 -0
  431. package/dist/components/rbac/MembersPanel.js +138 -0
  432. package/dist/components/rbac/MembersPanel.js.map +1 -0
  433. package/dist/components/rbac/PermissionRequestPanel.js +141 -0
  434. package/dist/components/rbac/PermissionRequestPanel.js.map +1 -0
  435. package/dist/components/rbac/ProfileForm.js +86 -0
  436. package/dist/components/rbac/ProfileForm.js.map +1 -0
  437. package/dist/components/rbac/ProfilePage.js +58 -0
  438. package/dist/components/rbac/ProfilePage.js.map +1 -0
  439. package/dist/components/rbac/RBACProvider.js +82 -0
  440. package/dist/components/rbac/RBACProvider.js.map +1 -0
  441. package/dist/components/rbac/RoleEditorDialog.js +90 -0
  442. package/dist/components/rbac/RoleEditorDialog.js.map +1 -0
  443. package/dist/components/rbac/RoleKeyPicker.js +77 -0
  444. package/dist/components/rbac/RoleKeyPicker.js.map +1 -0
  445. package/dist/components/rbac/RolePermissionMatrix.js +37 -0
  446. package/dist/components/rbac/RolePermissionMatrix.js.map +1 -0
  447. package/dist/components/rbac/RolesPermissionsPage.js +142 -0
  448. package/dist/components/rbac/RolesPermissionsPage.js.map +1 -0
  449. package/dist/components/rbac/SessionsList.js +146 -0
  450. package/dist/components/rbac/SessionsList.js.map +1 -0
  451. package/dist/components/rbac/TeamSettingsForm.js +69 -0
  452. package/dist/components/rbac/TeamSettingsForm.js.map +1 -0
  453. package/dist/components/rbac/TeamSwitcher.js +66 -0
  454. package/dist/components/rbac/TeamSwitcher.js.map +1 -0
  455. package/dist/components/rbac/approvalPanelParts.js +130 -0
  456. package/dist/components/rbac/approvalPanelParts.js.map +1 -0
  457. package/dist/components/rbac/permissionSections.js +8 -0
  458. package/dist/components/rbac/permissionSections.js.map +1 -0
  459. package/dist/components/rbac/stagedForm.js +42 -0
  460. package/dist/components/rbac/stagedForm.js.map +1 -0
  461. package/dist/components/rbac/useStagedImage.js +21 -0
  462. package/dist/components/rbac/useStagedImage.js.map +1 -0
  463. package/dist/components/roadmap/PhaseManager.js +48 -0
  464. package/dist/components/roadmap/PhaseManager.js.map +1 -0
  465. package/dist/components/roadmap/RoadmapItemCard.js +96 -0
  466. package/dist/components/roadmap/RoadmapItemCard.js.map +1 -0
  467. package/dist/components/roadmap/RoadmapPage.js +34 -0
  468. package/dist/components/roadmap/RoadmapPage.js.map +1 -0
  469. package/dist/components/roadmap/RoadmapSwimlaneBoard.js +91 -0
  470. package/dist/components/roadmap/RoadmapSwimlaneBoard.js.map +1 -0
  471. package/dist/components/roadmap/TrackManager.js +58 -0
  472. package/dist/components/roadmap/TrackManager.js.map +1 -0
  473. package/dist/components/roadmap/UseCaseCard.js +93 -0
  474. package/dist/components/roadmap/UseCaseCard.js.map +1 -0
  475. package/dist/components/roadmap/UseCaseLedgerPage.js +98 -0
  476. package/dist/components/roadmap/UseCaseLedgerPage.js.map +1 -0
  477. package/dist/components/roadmap/chip-tones.js +9 -0
  478. package/dist/components/roadmap/chip-tones.js.map +1 -0
  479. package/dist/components/roadmap/derive.js +28 -0
  480. package/dist/components/roadmap/derive.js.map +1 -0
  481. package/dist/components/stepper/Stepper.js +276 -0
  482. package/dist/components/stepper/Stepper.js.map +1 -0
  483. package/dist/components/stepper/derive.js +53 -0
  484. package/dist/components/stepper/derive.js.map +1 -0
  485. package/dist/confidence.css +222 -0
  486. package/dist/fonts/bricolage-grotesque-0.woff2 +0 -0
  487. package/dist/fonts/bricolage-grotesque-1.woff2 +0 -0
  488. package/dist/fonts/bricolage-grotesque-2.woff2 +0 -0
  489. package/dist/fonts/figtree-0.woff2 +0 -0
  490. package/dist/fonts/figtree-1.woff2 +0 -0
  491. package/dist/fonts/figtree-2.woff2 +0 -0
  492. package/dist/fonts/figtree-3.woff2 +0 -0
  493. package/dist/fonts/jetbrains-mono-0.woff2 +0 -0
  494. package/dist/fonts/jetbrains-mono-1.woff2 +0 -0
  495. package/dist/fonts/jetbrains-mono-10.woff2 +0 -0
  496. package/dist/fonts/jetbrains-mono-11.woff2 +0 -0
  497. package/dist/fonts/jetbrains-mono-2.woff2 +0 -0
  498. package/dist/fonts/jetbrains-mono-3.woff2 +0 -0
  499. package/dist/fonts/jetbrains-mono-4.woff2 +0 -0
  500. package/dist/fonts/jetbrains-mono-5.woff2 +0 -0
  501. package/dist/fonts/jetbrains-mono-6.woff2 +0 -0
  502. package/dist/fonts/jetbrains-mono-7.woff2 +0 -0
  503. package/dist/fonts/jetbrains-mono-8.woff2 +0 -0
  504. package/dist/fonts/jetbrains-mono-9.woff2 +0 -0
  505. package/dist/fonts.css +187 -0
  506. package/dist/icons/data.js +233 -0
  507. package/dist/icons/data.js.map +1 -0
  508. package/dist/index.js +942 -0
  509. package/dist/index.js.map +1 -0
  510. package/dist/lib/attention.js +75 -0
  511. package/dist/lib/attention.js.map +1 -0
  512. package/dist/lib/board/anchor.js +14 -0
  513. package/dist/lib/board/anchor.js.map +1 -0
  514. package/dist/lib/board/model.js +41 -0
  515. package/dist/lib/board/model.js.map +1 -0
  516. package/dist/lib/board/move.js +161 -0
  517. package/dist/lib/board/move.js.map +1 -0
  518. package/dist/lib/board/position.js +11 -0
  519. package/dist/lib/board/position.js.map +1 -0
  520. package/dist/lib/board/rejection.js +22 -0
  521. package/dist/lib/board/rejection.js.map +1 -0
  522. package/dist/lib/board/use-board.js +43 -0
  523. package/dist/lib/board/use-board.js.map +1 -0
  524. package/dist/lib/calendar/band-packer.js +44 -0
  525. package/dist/lib/calendar/band-packer.js.map +1 -0
  526. package/dist/lib/calendar/drag.js +74 -0
  527. package/dist/lib/calendar/drag.js.map +1 -0
  528. package/dist/lib/calendar/lane-packer.js +67 -0
  529. package/dist/lib/calendar/lane-packer.js.map +1 -0
  530. package/dist/lib/calendar/segments.js +82 -0
  531. package/dist/lib/calendar/segments.js.map +1 -0
  532. package/dist/lib/calendar/types.js +7 -0
  533. package/dist/lib/calendar/types.js.map +1 -0
  534. package/dist/lib/chart-palette.js +27 -0
  535. package/dist/lib/chart-palette.js.map +1 -0
  536. package/dist/lib/clipboard.js +30 -0
  537. package/dist/lib/clipboard.js.map +1 -0
  538. package/dist/lib/cn.js +9 -0
  539. package/dist/lib/cn.js.map +1 -0
  540. package/dist/lib/color.js +24 -0
  541. package/dist/lib/color.js.map +1 -0
  542. package/dist/lib/component-guidance.js +297 -0
  543. package/dist/lib/component-guidance.js.map +1 -0
  544. package/dist/lib/confidence.js +22 -0
  545. package/dist/lib/confidence.js.map +1 -0
  546. package/dist/lib/date-timeline/scale.js +197 -0
  547. package/dist/lib/date-timeline/scale.js.map +1 -0
  548. package/dist/lib/design-frame/document.js +44 -0
  549. package/dist/lib/design-frame/document.js.map +1 -0
  550. package/dist/lib/design-frame/mini-app-script.js +107 -0
  551. package/dist/lib/design-frame/mini-app-script.js.map +1 -0
  552. package/dist/lib/design-frame/mini-app.js +12 -0
  553. package/dist/lib/design-frame/mini-app.js.map +1 -0
  554. package/dist/lib/design-frame/protocol.js +46 -0
  555. package/dist/lib/design-frame/protocol.js.map +1 -0
  556. package/dist/lib/dev-warn.js +17 -0
  557. package/dist/lib/dev-warn.js.map +1 -0
  558. package/dist/lib/dnd/announce.js +120 -0
  559. package/dist/lib/dnd/announce.js.map +1 -0
  560. package/dist/lib/dnd/autoscroll.js +123 -0
  561. package/dist/lib/dnd/autoscroll.js.map +1 -0
  562. package/dist/lib/dnd/cross-drop.js +11 -0
  563. package/dist/lib/dnd/cross-drop.js.map +1 -0
  564. package/dist/lib/dnd/geometry.js +99 -0
  565. package/dist/lib/dnd/geometry.js.map +1 -0
  566. package/dist/lib/dnd/sensors/gesture.js +86 -0
  567. package/dist/lib/dnd/sensors/gesture.js.map +1 -0
  568. package/dist/lib/dnd/sensors/keyboard.js +47 -0
  569. package/dist/lib/dnd/sensors/keyboard.js.map +1 -0
  570. package/dist/lib/dnd/sensors/pointer.js +32 -0
  571. package/dist/lib/dnd/sensors/pointer.js.map +1 -0
  572. package/dist/lib/dnd/session.js +256 -0
  573. package/dist/lib/dnd/session.js.map +1 -0
  574. package/dist/lib/dnd/use-drag.js +90 -0
  575. package/dist/lib/dnd/use-drag.js.map +1 -0
  576. package/dist/lib/dom/scroll-ancestor.js +18 -0
  577. package/dist/lib/dom/scroll-ancestor.js.map +1 -0
  578. package/dist/lib/format.js +23 -0
  579. package/dist/lib/format.js.map +1 -0
  580. package/dist/lib/group-in-order.js +13 -0
  581. package/dist/lib/group-in-order.js.map +1 -0
  582. package/dist/lib/header-fold.js +11 -0
  583. package/dist/lib/header-fold.js.map +1 -0
  584. package/dist/lib/i18n/areas/auth-provenance-flows.js +156 -0
  585. package/dist/lib/i18n/areas/auth-provenance-flows.js.map +1 -0
  586. package/dist/lib/i18n/areas/board.js +35 -0
  587. package/dist/lib/i18n/areas/board.js.map +1 -0
  588. package/dist/lib/i18n/areas/card-face.js +10 -0
  589. package/dist/lib/i18n/areas/card-face.js.map +1 -0
  590. package/dist/lib/i18n/areas/chat-chart.js +118 -0
  591. package/dist/lib/i18n/areas/chat-chart.js.map +1 -0
  592. package/dist/lib/i18n/areas/code-editor.js +24 -0
  593. package/dist/lib/i18n/areas/code-editor.js.map +1 -0
  594. package/dist/lib/i18n/areas/date-timeline.js +21 -0
  595. package/dist/lib/i18n/areas/date-timeline.js.map +1 -0
  596. package/dist/lib/i18n/areas/dates.js +71 -0
  597. package/dist/lib/i18n/areas/dates.js.map +1 -0
  598. package/dist/lib/i18n/areas/docs-views.js +183 -0
  599. package/dist/lib/i18n/areas/docs-views.js.map +1 -0
  600. package/dist/lib/i18n/areas/feedback.js +75 -0
  601. package/dist/lib/i18n/areas/feedback.js.map +1 -0
  602. package/dist/lib/i18n/areas/formats.js +24 -0
  603. package/dist/lib/i18n/areas/formats.js.map +1 -0
  604. package/dist/lib/i18n/areas/forms.js +110 -0
  605. package/dist/lib/i18n/areas/forms.js.map +1 -0
  606. package/dist/lib/i18n/areas/keys.js +25 -0
  607. package/dist/lib/i18n/areas/keys.js.map +1 -0
  608. package/dist/lib/i18n/areas/markdown.js +136 -0
  609. package/dist/lib/i18n/areas/markdown.js.map +1 -0
  610. package/dist/lib/i18n/areas/move-rejected.js +14 -0
  611. package/dist/lib/i18n/areas/move-rejected.js.map +1 -0
  612. package/dist/lib/i18n/areas/navigation.js +104 -0
  613. package/dist/lib/i18n/areas/navigation.js.map +1 -0
  614. package/dist/lib/i18n/areas/rbac.js +332 -0
  615. package/dist/lib/i18n/areas/rbac.js.map +1 -0
  616. package/dist/lib/i18n/emphasis.js +6 -0
  617. package/dist/lib/i18n/emphasis.js.map +1 -0
  618. package/dist/lib/i18n/number-format.js +9 -0
  619. package/dist/lib/i18n/number-format.js.map +1 -0
  620. package/dist/lib/i18n/plural.js +9 -0
  621. package/dist/lib/i18n/plural.js.map +1 -0
  622. package/dist/lib/i18n/provider.js +27 -0
  623. package/dist/lib/i18n/provider.js.map +1 -0
  624. package/dist/lib/i18n/strings.js +38 -0
  625. package/dist/lib/i18n/strings.js.map +1 -0
  626. package/dist/lib/icons.js +17 -0
  627. package/dist/lib/icons.js.map +1 -0
  628. package/dist/lib/interactive-target.js +9 -0
  629. package/dist/lib/interactive-target.js.map +1 -0
  630. package/dist/lib/intl-cache.js +69 -0
  631. package/dist/lib/intl-cache.js.map +1 -0
  632. package/dist/lib/legal-document.js +37 -0
  633. package/dist/lib/legal-document.js.map +1 -0
  634. package/dist/lib/line-diff-model.js +51 -0
  635. package/dist/lib/line-diff-model.js.map +1 -0
  636. package/dist/lib/markdown/attachments.js +71 -0
  637. package/dist/lib/markdown/attachments.js.map +1 -0
  638. package/dist/lib/markdown/caret-map.js +153 -0
  639. package/dist/lib/markdown/caret-map.js.map +1 -0
  640. package/dist/lib/markdown/caret.js +35 -0
  641. package/dist/lib/markdown/caret.js.map +1 -0
  642. package/dist/lib/markdown/commands.js +443 -0
  643. package/dist/lib/markdown/commands.js.map +1 -0
  644. package/dist/lib/markdown/convert.js +153 -0
  645. package/dist/lib/markdown/convert.js.map +1 -0
  646. package/dist/lib/markdown/dom.js +89 -0
  647. package/dist/lib/markdown/dom.js.map +1 -0
  648. package/dist/lib/markdown/edit.js +92 -0
  649. package/dist/lib/markdown/edit.js.map +1 -0
  650. package/dist/lib/markdown/history.js +79 -0
  651. package/dist/lib/markdown/history.js.map +1 -0
  652. package/dist/lib/markdown/hotkeys.js +63 -0
  653. package/dist/lib/markdown/hotkeys.js.map +1 -0
  654. package/dist/lib/markdown/image-pipeline.js +236 -0
  655. package/dist/lib/markdown/image-pipeline.js.map +1 -0
  656. package/dist/lib/markdown/images.js +85 -0
  657. package/dist/lib/markdown/images.js.map +1 -0
  658. package/dist/lib/markdown/input.js +210 -0
  659. package/dist/lib/markdown/input.js.map +1 -0
  660. package/dist/lib/markdown/keys.js +37 -0
  661. package/dist/lib/markdown/keys.js.map +1 -0
  662. package/dist/lib/markdown/paste.js +180 -0
  663. package/dist/lib/markdown/paste.js.map +1 -0
  664. package/dist/lib/markdown/position.js +111 -0
  665. package/dist/lib/markdown/position.js.map +1 -0
  666. package/dist/lib/markdown/project.js +108 -0
  667. package/dist/lib/markdown/project.js.map +1 -0
  668. package/dist/lib/markdown/reconcile.js +127 -0
  669. package/dist/lib/markdown/reconcile.js.map +1 -0
  670. package/dist/lib/markdown/surface.js +373 -0
  671. package/dist/lib/markdown/surface.js.map +1 -0
  672. package/dist/lib/motion.js +22 -0
  673. package/dist/lib/motion.js.map +1 -0
  674. package/dist/lib/pad.js +7 -0
  675. package/dist/lib/pad.js.map +1 -0
  676. package/dist/lib/paged-window/layout.js +15 -0
  677. package/dist/lib/paged-window/layout.js.map +1 -0
  678. package/dist/lib/paged-window/list-owner.js +21 -0
  679. package/dist/lib/paged-window/list-owner.js.map +1 -0
  680. package/dist/lib/paged-window/records-binding.js +239 -0
  681. package/dist/lib/paged-window/records-binding.js.map +1 -0
  682. package/dist/lib/paged-window/store.js +562 -0
  683. package/dist/lib/paged-window/store.js.map +1 -0
  684. package/dist/lib/paged-window/use-measured-pitch.js +38 -0
  685. package/dist/lib/paged-window/use-measured-pitch.js.map +1 -0
  686. package/dist/lib/paged-window/use-page-visibility.js +36 -0
  687. package/dist/lib/paged-window/use-page-visibility.js.map +1 -0
  688. package/dist/lib/paged-window/use-paged-window.js +43 -0
  689. package/dist/lib/paged-window/use-paged-window.js.map +1 -0
  690. package/dist/lib/paged-window/use-scroll-root.js +12 -0
  691. package/dist/lib/paged-window/use-scroll-root.js.map +1 -0
  692. package/dist/lib/persist.js +84 -0
  693. package/dist/lib/persist.js.map +1 -0
  694. package/dist/lib/preference-values.js +13 -0
  695. package/dist/lib/preference-values.js.map +1 -0
  696. package/dist/lib/preferences.js +86 -0
  697. package/dist/lib/preferences.js.map +1 -0
  698. package/dist/lib/reads/hooks.js +156 -0
  699. package/dist/lib/reads/hooks.js.map +1 -0
  700. package/dist/lib/reads/optimistic.js +169 -0
  701. package/dist/lib/reads/optimistic.js.map +1 -0
  702. package/dist/lib/reads/refetch.js +108 -0
  703. package/dist/lib/reads/refetch.js.map +1 -0
  704. package/dist/lib/reads/slots.js +215 -0
  705. package/dist/lib/reads/slots.js.map +1 -0
  706. package/dist/lib/realtime/hooks.js +40 -0
  707. package/dist/lib/realtime/hooks.js.map +1 -0
  708. package/dist/lib/realtime/provider.js +25 -0
  709. package/dist/lib/realtime/provider.js.map +1 -0
  710. package/dist/lib/realtime/registry.js +472 -0
  711. package/dist/lib/realtime/registry.js.map +1 -0
  712. package/dist/lib/records/define-record-type.js +33 -0
  713. package/dist/lib/records/define-record-type.js.map +1 -0
  714. package/dist/lib/records/hooks.js +39 -0
  715. package/dist/lib/records/hooks.js.map +1 -0
  716. package/dist/lib/records/store.js +572 -0
  717. package/dist/lib/records/store.js.map +1 -0
  718. package/dist/lib/records/wire.js +58 -0
  719. package/dist/lib/records/wire.js.map +1 -0
  720. package/dist/lib/reduced-motion-help.js +19 -0
  721. package/dist/lib/reduced-motion-help.js.map +1 -0
  722. package/dist/lib/scroll-caret.js +18 -0
  723. package/dist/lib/scroll-caret.js.map +1 -0
  724. package/dist/lib/sim/createSimStore.js +54 -0
  725. package/dist/lib/sim/createSimStore.js.map +1 -0
  726. package/dist/lib/sim/latency.js +28 -0
  727. package/dist/lib/sim/latency.js.map +1 -0
  728. package/dist/lib/sim/registry.js +13 -0
  729. package/dist/lib/sim/registry.js.map +1 -0
  730. package/dist/lib/sim/settings.js +41 -0
  731. package/dist/lib/sim/settings.js.map +1 -0
  732. package/dist/lib/submit-shortcut.js +25 -0
  733. package/dist/lib/submit-shortcut.js.map +1 -0
  734. package/dist/lib/syntax/index.js +33 -0
  735. package/dist/lib/syntax/index.js.map +1 -0
  736. package/dist/lib/syntax/languages/bash.js +77 -0
  737. package/dist/lib/syntax/languages/bash.js.map +1 -0
  738. package/dist/lib/syntax/languages/css.js +81 -0
  739. package/dist/lib/syntax/languages/css.js.map +1 -0
  740. package/dist/lib/syntax/languages/html.js +91 -0
  741. package/dist/lib/syntax/languages/html.js.map +1 -0
  742. package/dist/lib/syntax/languages/index.js +49 -0
  743. package/dist/lib/syntax/languages/index.js.map +1 -0
  744. package/dist/lib/syntax/languages/javascript.js +133 -0
  745. package/dist/lib/syntax/languages/javascript.js.map +1 -0
  746. package/dist/lib/syntax/languages/json.js +45 -0
  747. package/dist/lib/syntax/languages/json.js.map +1 -0
  748. package/dist/lib/syntax/languages/mongodb.js +24 -0
  749. package/dist/lib/syntax/languages/mongodb.js.map +1 -0
  750. package/dist/lib/syntax/languages/plain.js +10 -0
  751. package/dist/lib/syntax/languages/plain.js.map +1 -0
  752. package/dist/lib/syntax/languages/sql.js +113 -0
  753. package/dist/lib/syntax/languages/sql.js.map +1 -0
  754. package/dist/lib/syntax/languages/vue.js +31 -0
  755. package/dist/lib/syntax/languages/vue.js.map +1 -0
  756. package/dist/lib/syntax/languages/yaml.js +55 -0
  757. package/dist/lib/syntax/languages/yaml.js.map +1 -0
  758. package/dist/lib/syntax/markdown/grammar.js +52 -0
  759. package/dist/lib/syntax/markdown/grammar.js.map +1 -0
  760. package/dist/lib/syntax/markdown/inline.js +477 -0
  761. package/dist/lib/syntax/markdown/inline.js.map +1 -0
  762. package/dist/lib/syntax/markdown/parse.js +464 -0
  763. package/dist/lib/syntax/markdown/parse.js.map +1 -0
  764. package/dist/lib/syntax/markdown/refs.js +94 -0
  765. package/dist/lib/syntax/markdown/refs.js.map +1 -0
  766. package/dist/lib/syntax/markdown/render.js +230 -0
  767. package/dist/lib/syntax/markdown/render.js.map +1 -0
  768. package/dist/lib/syntax/markdown/spans.js +40 -0
  769. package/dist/lib/syntax/markdown/spans.js.map +1 -0
  770. package/dist/lib/syntax/registry.js +55 -0
  771. package/dist/lib/syntax/registry.js.map +1 -0
  772. package/dist/lib/syntax/tokenize.js +96 -0
  773. package/dist/lib/syntax/tokenize.js.map +1 -0
  774. package/dist/lib/time/instant.js +7 -0
  775. package/dist/lib/time/instant.js.map +1 -0
  776. package/dist/lib/time/plain.js +83 -0
  777. package/dist/lib/time/plain.js.map +1 -0
  778. package/dist/lib/time/relativeAge.js +20 -0
  779. package/dist/lib/time/relativeAge.js.map +1 -0
  780. package/dist/lib/time/relativeClock.js +59 -0
  781. package/dist/lib/time/relativeClock.js.map +1 -0
  782. package/dist/lib/time/types.js +23 -0
  783. package/dist/lib/time/types.js.map +1 -0
  784. package/dist/lib/time/zone.js +148 -0
  785. package/dist/lib/time/zone.js.map +1 -0
  786. package/dist/lib/use-controllable.js +16 -0
  787. package/dist/lib/use-controllable.js.map +1 -0
  788. package/dist/lib/use-fill-height.js +49 -0
  789. package/dist/lib/use-fill-height.js.map +1 -0
  790. package/dist/lib/use-hydrated.js +14 -0
  791. package/dist/lib/use-hydrated.js.map +1 -0
  792. package/dist/lib/use-media-query.js +30 -0
  793. package/dist/lib/use-media-query.js.map +1 -0
  794. package/dist/lib/use-relabel-base-ui-dismiss.js +26 -0
  795. package/dist/lib/use-relabel-base-ui-dismiss.js.map +1 -0
  796. package/dist/lib/use-release-snap-drag.js +29 -0
  797. package/dist/lib/use-release-snap-drag.js.map +1 -0
  798. package/dist/lib/use-roving-options.js +18 -0
  799. package/dist/lib/use-roving-options.js.map +1 -0
  800. package/dist/lib/values/absent.js +5 -0
  801. package/dist/lib/values/absent.js.map +1 -0
  802. package/dist/lib/values/boolean.js +13 -0
  803. package/dist/lib/values/boolean.js.map +1 -0
  804. package/dist/lib/values/currency.js +23 -0
  805. package/dist/lib/values/currency.js.map +1 -0
  806. package/dist/lib/values/date.js +35 -0
  807. package/dist/lib/values/date.js.map +1 -0
  808. package/dist/lib/values/datetime.js +54 -0
  809. package/dist/lib/values/datetime.js.map +1 -0
  810. package/dist/lib/values/locale-date.js +60 -0
  811. package/dist/lib/values/locale-date.js.map +1 -0
  812. package/dist/lib/values/number.js +16 -0
  813. package/dist/lib/values/number.js.map +1 -0
  814. package/dist/pure.js +379 -0
  815. package/dist/pure.js.map +1 -0
  816. package/dist/styles.css +190 -0
  817. package/dist/theme.css +360 -0
  818. package/dist/types/components/Accordion.d.ts +15 -0
  819. package/dist/types/components/AgentWorkingSpinner.d.ts +23 -0
  820. package/dist/types/components/AppShell.d.ts +164 -0
  821. package/dist/types/components/Attention.d.ts +87 -0
  822. package/dist/types/components/Avatar.d.ts +154 -0
  823. package/dist/types/components/Badge.d.ts +131 -0
  824. package/dist/types/components/Board.d.ts +239 -0
  825. package/dist/types/components/Button.d.ts +208 -0
  826. package/dist/types/components/Callout.d.ts +163 -0
  827. package/dist/types/components/Card.d.ts +219 -0
  828. package/dist/types/components/Choice.d.ts +127 -0
  829. package/dist/types/components/CodeEditor.d.ts +86 -0
  830. package/dist/types/components/ColorPicker.d.ts +14 -0
  831. package/dist/types/components/Combobox.d.ts +43 -0
  832. package/dist/types/components/CommandPalette.d.ts +35 -0
  833. package/dist/types/components/ConcentricRing.d.ts +61 -0
  834. package/dist/types/components/ConnectionCard.d.ts +64 -0
  835. package/dist/types/components/ContextItemRow.d.ts +35 -0
  836. package/dist/types/components/CopyValue.d.ts +14 -0
  837. package/dist/types/components/CountBadge.d.ts +14 -0
  838. package/dist/types/components/DateCalendar.d.ts +30 -0
  839. package/dist/types/components/DateField.d.ts +29 -0
  840. package/dist/types/components/DatePicker.d.ts +20 -0
  841. package/dist/types/components/DateTimeText.d.ts +9 -0
  842. package/dist/types/components/DescriptionList.d.ts +40 -0
  843. package/dist/types/components/Dialog.d.ts +269 -0
  844. package/dist/types/components/DragDrop.d.ts +196 -0
  845. package/dist/types/components/Drawer.d.ts +163 -0
  846. package/dist/types/components/EditGutter.d.ts +44 -0
  847. package/dist/types/components/EmojiPicker.d.ts +30 -0
  848. package/dist/types/components/ErrorBoundary.d.ts +43 -0
  849. package/dist/types/components/Field.d.ts +37 -0
  850. package/dist/types/components/FileUpload.d.ts +22 -0
  851. package/dist/types/components/FilterMenu.d.ts +120 -0
  852. package/dist/types/components/GatesSection.d.ts +79 -0
  853. package/dist/types/components/Icon.d.ts +40 -0
  854. package/dist/types/components/IconButton.d.ts +69 -0
  855. package/dist/types/components/IconStack.d.ts +28 -0
  856. package/dist/types/components/ImageUploadField.d.ts +38 -0
  857. package/dist/types/components/InlineEdit.d.ts +183 -0
  858. package/dist/types/components/InlineMarkdownEdit.d.ts +100 -0
  859. package/dist/types/components/Input.d.ts +128 -0
  860. package/dist/types/components/LegalDocument.d.ts +23 -0
  861. package/dist/types/components/LineDiff.d.ts +53 -0
  862. package/dist/types/components/ListHeader.d.ts +45 -0
  863. package/dist/types/components/Loading.d.ts +131 -0
  864. package/dist/types/components/Markdown.d.ts +35 -0
  865. package/dist/types/components/MarkdownEditor.d.ts +129 -0
  866. package/dist/types/components/Menu.d.ts +157 -0
  867. package/dist/types/components/Navigation.d.ts +67 -0
  868. package/dist/types/components/NumberInput.d.ts +177 -0
  869. package/dist/types/components/OTPInput.d.ts +13 -0
  870. package/dist/types/components/OrderedEntityManager.d.ts +64 -0
  871. package/dist/types/components/PagedWindowList.d.ts +23 -0
  872. package/dist/types/components/PaginationBar.d.ts +31 -0
  873. package/dist/types/components/Panel.d.ts +94 -0
  874. package/dist/types/components/PasswordInput.d.ts +7 -0
  875. package/dist/types/components/PasswordRequirements.d.ts +11 -0
  876. package/dist/types/components/PatchDiff.d.ts +38 -0
  877. package/dist/types/components/PendingVeil.d.ts +8 -0
  878. package/dist/types/components/Popover.d.ts +231 -0
  879. package/dist/types/components/Progress.d.ts +580 -0
  880. package/dist/types/components/RatingScale.d.ts +30 -0
  881. package/dist/types/components/ReadMore.d.ts +26 -0
  882. package/dist/types/components/RecordCard.d.ts +413 -0
  883. package/dist/types/components/RelativeTime.d.ts +17 -0
  884. package/dist/types/components/SandboxedFrame.d.ts +37 -0
  885. package/dist/types/components/SearchInput.d.ts +6 -0
  886. package/dist/types/components/SecretField.d.ts +90 -0
  887. package/dist/types/components/SectionNav.d.ts +15 -0
  888. package/dist/types/components/Select.d.ts +53 -0
  889. package/dist/types/components/SequenceDiagram.d.ts +15 -0
  890. package/dist/types/components/SettingRow.d.ts +144 -0
  891. package/dist/types/components/SignOffRings.d.ts +29 -0
  892. package/dist/types/components/Slider.d.ts +255 -0
  893. package/dist/types/components/SolutionChoice.d.ts +49 -0
  894. package/dist/types/components/SortMenu.d.ts +45 -0
  895. package/dist/types/components/Spinner.d.ts +29 -0
  896. package/dist/types/components/Stat.d.ts +136 -0
  897. package/dist/types/components/StatusSelect.d.ts +93 -0
  898. package/dist/types/components/Surface.d.ts +145 -0
  899. package/dist/types/components/Table.d.ts +164 -0
  900. package/dist/types/components/Tabs.d.ts +142 -0
  901. package/dist/types/components/ThemeMenu.d.ts +56 -0
  902. package/dist/types/components/Toast.d.ts +63 -0
  903. package/dist/types/components/Toggle.d.ts +168 -0
  904. package/dist/types/components/ToggleMatrix.d.ts +51 -0
  905. package/dist/types/components/Tree.d.ts +20 -0
  906. package/dist/types/components/TriStateSwitch.d.ts +63 -0
  907. package/dist/types/components/VideoPlayer.d.ts +26 -0
  908. package/dist/types/components/auth/AcceptInvitationCard.d.ts +54 -0
  909. package/dist/types/components/auth/AuthLayout.d.ts +12 -0
  910. package/dist/types/components/auth/ForgotPasswordForm.d.ts +6 -0
  911. package/dist/types/components/auth/LoginForm.d.ts +13 -0
  912. package/dist/types/components/auth/ResetPasswordForm.d.ts +9 -0
  913. package/dist/types/components/auth/SignInProviders.d.ts +56 -0
  914. package/dist/types/components/auth/SignupCard.d.ts +62 -0
  915. package/dist/types/components/auth/TermsAcceptance.d.ts +14 -0
  916. package/dist/types/components/auth/index.d.ts +8 -0
  917. package/dist/types/components/board/context.d.ts +65 -0
  918. package/dist/types/components/board/recipe.d.ts +97 -0
  919. package/dist/types/components/calendar/CalendarMonth.d.ts +32 -0
  920. package/dist/types/components/calendar/CalendarTimeGrid.d.ts +74 -0
  921. package/dist/types/components/calendar/EventActions.d.ts +16 -0
  922. package/dist/types/components/calendar/format.d.ts +42 -0
  923. package/dist/types/components/calendar/palette.d.ts +17 -0
  924. package/dist/types/components/calendar/use-calendar-drag.d.ts +53 -0
  925. package/dist/types/components/calendar/use-event-keyboard.d.ts +23 -0
  926. package/dist/types/components/calendar/use-grid-navigation.d.ts +47 -0
  927. package/dist/types/components/calendar/use-now.d.ts +20 -0
  928. package/dist/types/components/card-face/AcRingGlyph.d.ts +20 -0
  929. package/dist/types/components/card-face/BoardCardAgentSlot.d.ts +19 -0
  930. package/dist/types/components/card-face/CardFace.d.ts +106 -0
  931. package/dist/types/components/card-face/CardTypeBadge.d.ts +21 -0
  932. package/dist/types/components/card-face/EffortBadge.d.ts +9 -0
  933. package/dist/types/components/card-face/GateRingGlyph.d.ts +22 -0
  934. package/dist/types/components/card-face/OverflowRow.d.ts +40 -0
  935. package/dist/types/components/card-face/TapTip.d.ts +15 -0
  936. package/dist/types/components/card-face/hit-area.d.ts +20 -0
  937. package/dist/types/components/card-face/vocabulary.d.ts +83 -0
  938. package/dist/types/components/chart/BarList.d.ts +27 -0
  939. package/dist/types/components/chart/LineChart.d.ts +64 -0
  940. package/dist/types/components/chart/ShareBar.d.ts +26 -0
  941. package/dist/types/components/chart/TimeSeriesChart.d.ts +60 -0
  942. package/dist/types/components/chart/label-metrics.d.ts +9 -0
  943. package/dist/types/components/chart/line-chart-axis.d.ts +14 -0
  944. package/dist/types/components/chart/line-chart-scale.d.ts +55 -0
  945. package/dist/types/components/chart/line-series-style.d.ts +14 -0
  946. package/dist/types/components/chart/share-bar-labels.d.ts +17 -0
  947. package/dist/types/components/chart/shared.d.ts +122 -0
  948. package/dist/types/components/chart/time-series-scale.d.ts +29 -0
  949. package/dist/types/components/chat/Attachment.d.ts +125 -0
  950. package/dist/types/components/chat/Chat.d.ts +60 -0
  951. package/dist/types/components/chat/Composer.d.ts +62 -0
  952. package/dist/types/components/chat/ContextMeter.d.ts +45 -0
  953. package/dist/types/components/chat/EffortControl.d.ts +23 -0
  954. package/dist/types/components/chat/FileCover.d.ts +14 -0
  955. package/dist/types/components/chat/Message.d.ts +66 -0
  956. package/dist/types/components/chat/MessageScroller.d.ts +18 -0
  957. package/dist/types/components/chat/ModelSelector.d.ts +44 -0
  958. package/dist/types/components/chat/StreamingMarkdown.d.ts +11 -0
  959. package/dist/types/components/chat/download-file.d.ts +7 -0
  960. package/dist/types/components/chat/file-icon.d.ts +29 -0
  961. package/dist/types/components/chat/types.d.ts +165 -0
  962. package/dist/types/components/checklist/StatusChecklist.d.ts +37 -0
  963. package/dist/types/components/checklist/index.d.ts +3 -0
  964. package/dist/types/components/checklist/tally.d.ts +19 -0
  965. package/dist/types/components/checklist/types.d.ts +28 -0
  966. package/dist/types/components/code-editor/context.d.ts +32 -0
  967. package/dist/types/components/code-editor/editing.d.ts +39 -0
  968. package/dist/types/components/code-editor/highlight.d.ts +20 -0
  969. package/dist/types/components/code-editor/recipe.d.ts +109 -0
  970. package/dist/types/components/date-timeline/DateTimeline.d.ts +99 -0
  971. package/dist/types/components/date-timeline/TimelineRow.d.ts +22 -0
  972. package/dist/types/components/date-timeline/useBarDrag.d.ts +15 -0
  973. package/dist/types/components/date-timeline/useMarkerDrag.d.ts +14 -0
  974. package/dist/types/components/date-timeline/useTimelineZoom.d.ts +23 -0
  975. package/dist/types/components/drag-drop/context.d.ts +85 -0
  976. package/dist/types/components/drag-drop/recipe.d.ts +163 -0
  977. package/dist/types/components/drag-drop/shift.d.ts +153 -0
  978. package/dist/types/components/edit/activation.d.ts +21 -0
  979. package/dist/types/components/edit/outcome.d.ts +29 -0
  980. package/dist/types/components/edit/use-edit-session.d.ts +77 -0
  981. package/dist/types/components/file-viewer/FileViewer.d.ts +2 -0
  982. package/dist/types/components/file-viewer/PageNumberJumpField.d.ts +9 -0
  983. package/dist/types/components/file-viewer/ViewerControls.d.ts +20 -0
  984. package/dist/types/components/file-viewer/ViewerRail.d.ts +10 -0
  985. package/dist/types/components/file-viewer/ViewerStage.d.ts +22 -0
  986. package/dist/types/components/file-viewer/frames.d.ts +28 -0
  987. package/dist/types/components/file-viewer/index.d.ts +3 -0
  988. package/dist/types/components/file-viewer/types.d.ts +70 -0
  989. package/dist/types/components/file-viewer/use-frame-cursor.d.ts +13 -0
  990. package/dist/types/components/file-viewer/use-viewer-keys.d.ts +24 -0
  991. package/dist/types/components/file-viewer/use-viewer-zoom.d.ts +29 -0
  992. package/dist/types/components/focus-web/FocusWeb.d.ts +3 -0
  993. package/dist/types/components/focus-web/index.d.ts +4 -0
  994. package/dist/types/components/focus-web/layout.d.ts +55 -0
  995. package/dist/types/components/focus-web/types.d.ts +131 -0
  996. package/dist/types/components/graph-explorer/GraphExplorer.d.ts +42 -0
  997. package/dist/types/components/graph-explorer/camera-math.d.ts +119 -0
  998. package/dist/types/components/graph-explorer/index.d.ts +5 -0
  999. package/dist/types/components/graph-explorer/tree-layout.d.ts +67 -0
  1000. package/dist/types/components/graph-explorer/types.d.ts +62 -0
  1001. package/dist/types/components/graph-explorer/use-camera.d.ts +81 -0
  1002. package/dist/types/components/graph-explorer/viewport-gesture.d.ts +32 -0
  1003. package/dist/types/components/kanban/KanbanBoard.d.ts +72 -0
  1004. package/dist/types/components/kanban/recipe.d.ts +73 -0
  1005. package/dist/types/components/kanban/types.d.ts +55 -0
  1006. package/dist/types/components/markdown/Affordances.d.ts +105 -0
  1007. package/dist/types/components/markdown/AttachmentStrip.d.ts +25 -0
  1008. package/dist/types/components/markdown/ImageUpload.d.ts +56 -0
  1009. package/dist/types/components/media-error.d.ts +11 -0
  1010. package/dist/types/components/nav-sections.d.ts +10 -0
  1011. package/dist/types/components/node-canvas/NodeCanvas.d.ts +66 -0
  1012. package/dist/types/components/node-canvas/index.d.ts +3 -0
  1013. package/dist/types/components/node-canvas/layout.d.ts +29 -0
  1014. package/dist/types/components/node-canvas/types.d.ts +207 -0
  1015. package/dist/types/components/node-canvas/use-canvas-gestures.d.ts +39 -0
  1016. package/dist/types/components/openapi/OpenApiViewer.d.ts +14 -0
  1017. package/dist/types/components/openapi/OperationCard.d.ts +33 -0
  1018. package/dist/types/components/openapi/SchemaView.d.ts +14 -0
  1019. package/dist/types/components/openapi/index.d.ts +6 -0
  1020. package/dist/types/components/openapi/resolve.d.ts +72 -0
  1021. package/dist/types/components/openapi/types.d.ts +128 -0
  1022. package/dist/types/components/overlay-shell.d.ts +48 -0
  1023. package/dist/types/components/overlay-stack.d.ts +18 -0
  1024. package/dist/types/components/paged-window/PageBlock.d.ts +31 -0
  1025. package/dist/types/components/provenance/ConfidenceBar.d.ts +118 -0
  1026. package/dist/types/components/provenance/ConfidenceMeter.d.ts +21 -0
  1027. package/dist/types/components/provenance/ConfidenceReadout.d.ts +17 -0
  1028. package/dist/types/components/provenance/ProvenanceBadge.d.ts +23 -0
  1029. package/dist/types/components/provenance/ProvenanceDetail.d.ts +109 -0
  1030. package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +107 -0
  1031. package/dist/types/components/provenance/absence.d.ts +37 -0
  1032. package/dist/types/components/provenance/index.d.ts +7 -0
  1033. package/dist/types/components/provenance/types.d.ts +137 -0
  1034. package/dist/types/components/rbac/AccessRequestPanel.d.ts +92 -0
  1035. package/dist/types/components/rbac/AccountMenu.d.ts +46 -0
  1036. package/dist/types/components/rbac/AgentKeysList.d.ts +22 -0
  1037. package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
  1038. package/dist/types/components/rbac/ApiKeysTable.d.ts +65 -0
  1039. package/dist/types/components/rbac/Brand.d.ts +8 -0
  1040. package/dist/types/components/rbac/Can.d.ts +19 -0
  1041. package/dist/types/components/rbac/ChangePasswordForm.d.ts +18 -0
  1042. package/dist/types/components/rbac/DangerZone.d.ts +8 -0
  1043. package/dist/types/components/rbac/DevToolsPopover.d.ts +36 -0
  1044. package/dist/types/components/rbac/EndedLine.d.ts +21 -0
  1045. package/dist/types/components/rbac/InvitationsList.d.ts +39 -0
  1046. package/dist/types/components/rbac/InviteMembersDialog.d.ts +21 -0
  1047. package/dist/types/components/rbac/MembersPanel.d.ts +31 -0
  1048. package/dist/types/components/rbac/PermissionRequestPanel.d.ts +36 -0
  1049. package/dist/types/components/rbac/ProfileForm.d.ts +27 -0
  1050. package/dist/types/components/rbac/ProfilePage.d.ts +16 -0
  1051. package/dist/types/components/rbac/RBACProvider.d.ts +69 -0
  1052. package/dist/types/components/rbac/RoleEditorDialog.d.ts +28 -0
  1053. package/dist/types/components/rbac/RoleKeyPicker.d.ts +24 -0
  1054. package/dist/types/components/rbac/RolePermissionMatrix.d.ts +21 -0
  1055. package/dist/types/components/rbac/RolesPermissionsPage.d.ts +24 -0
  1056. package/dist/types/components/rbac/SessionsList.d.ts +35 -0
  1057. package/dist/types/components/rbac/TeamSettingsForm.d.ts +22 -0
  1058. package/dist/types/components/rbac/TeamSwitcher.d.ts +5 -0
  1059. package/dist/types/components/rbac/approvalPanelParts.d.ts +69 -0
  1060. package/dist/types/components/rbac/index.d.ts +25 -0
  1061. package/dist/types/components/rbac/permissionSections.d.ts +8 -0
  1062. package/dist/types/components/rbac/stagedForm.d.ts +25 -0
  1063. package/dist/types/components/rbac/types.d.ts +65 -0
  1064. package/dist/types/components/rbac/useStagedImage.d.ts +15 -0
  1065. package/dist/types/components/roadmap/PhaseManager.d.ts +19 -0
  1066. package/dist/types/components/roadmap/RoadmapItemCard.d.ts +51 -0
  1067. package/dist/types/components/roadmap/RoadmapPage.d.ts +12 -0
  1068. package/dist/types/components/roadmap/RoadmapSwimlaneBoard.d.ts +15 -0
  1069. package/dist/types/components/roadmap/TrackManager.d.ts +19 -0
  1070. package/dist/types/components/roadmap/UseCaseCard.d.ts +30 -0
  1071. package/dist/types/components/roadmap/UseCaseLedgerPage.d.ts +29 -0
  1072. package/dist/types/components/roadmap/chip-tones.d.ts +2 -0
  1073. package/dist/types/components/roadmap/derive.d.ts +39 -0
  1074. package/dist/types/components/roadmap/index.d.ts +10 -0
  1075. package/dist/types/components/roadmap/types.d.ts +86 -0
  1076. package/dist/types/components/stepper/Stepper.d.ts +79 -0
  1077. package/dist/types/components/stepper/derive.d.ts +49 -0
  1078. package/dist/types/components/stepper/index.d.ts +3 -0
  1079. package/dist/types/components/stepper/types.d.ts +118 -0
  1080. package/dist/types/icons/data.d.ts +2054 -0
  1081. package/dist/types/index.d.ts +209 -0
  1082. package/dist/types/lib/attention.d.ts +62 -0
  1083. package/dist/types/lib/board/anchor.d.ts +69 -0
  1084. package/dist/types/lib/board/index.d.ts +17 -0
  1085. package/dist/types/lib/board/model.d.ts +43 -0
  1086. package/dist/types/lib/board/move.d.ts +181 -0
  1087. package/dist/types/lib/board/position.d.ts +22 -0
  1088. package/dist/types/lib/board/rejection.d.ts +8 -0
  1089. package/dist/types/lib/board/types.d.ts +294 -0
  1090. package/dist/types/lib/board/use-board.d.ts +47 -0
  1091. package/dist/types/lib/calendar/band-packer.d.ts +53 -0
  1092. package/dist/types/lib/calendar/drag.d.ts +125 -0
  1093. package/dist/types/lib/calendar/index.d.ts +4 -0
  1094. package/dist/types/lib/calendar/lane-packer.d.ts +88 -0
  1095. package/dist/types/lib/calendar/segments.d.ts +91 -0
  1096. package/dist/types/lib/calendar/types.d.ts +166 -0
  1097. package/dist/types/lib/chart-palette.d.ts +14 -0
  1098. package/dist/types/lib/clipboard.d.ts +12 -0
  1099. package/dist/types/lib/cn.d.ts +7 -0
  1100. package/dist/types/lib/color.d.ts +14 -0
  1101. package/dist/types/lib/component-guidance.d.ts +15 -0
  1102. package/dist/types/lib/confidence.d.ts +28 -0
  1103. package/dist/types/lib/date-timeline/scale.d.ts +143 -0
  1104. package/dist/types/lib/design-frame/document.d.ts +39 -0
  1105. package/dist/types/lib/design-frame/mini-app-script.d.ts +29 -0
  1106. package/dist/types/lib/design-frame/mini-app.d.ts +17 -0
  1107. package/dist/types/lib/design-frame/protocol.d.ts +78 -0
  1108. package/dist/types/lib/dev-warn.d.ts +10 -0
  1109. package/dist/types/lib/dnd/announce.d.ts +124 -0
  1110. package/dist/types/lib/dnd/autoscroll.d.ts +88 -0
  1111. package/dist/types/lib/dnd/cross-drop.d.ts +18 -0
  1112. package/dist/types/lib/dnd/geometry.d.ts +126 -0
  1113. package/dist/types/lib/dnd/index.d.ts +17 -0
  1114. package/dist/types/lib/dnd/sensors/gesture.d.ts +37 -0
  1115. package/dist/types/lib/dnd/sensors/keyboard.d.ts +54 -0
  1116. package/dist/types/lib/dnd/sensors/pointer.d.ts +59 -0
  1117. package/dist/types/lib/dnd/session.d.ts +124 -0
  1118. package/dist/types/lib/dnd/types.d.ts +226 -0
  1119. package/dist/types/lib/dnd/use-drag.d.ts +82 -0
  1120. package/dist/types/lib/dom/scroll-ancestor.d.ts +15 -0
  1121. package/dist/types/lib/format.d.ts +33 -0
  1122. package/dist/types/lib/group-in-order.d.ts +13 -0
  1123. package/dist/types/lib/header-fold.d.ts +10 -0
  1124. package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +287 -0
  1125. package/dist/types/lib/i18n/areas/board.d.ts +51 -0
  1126. package/dist/types/lib/i18n/areas/card-face.d.ts +8 -0
  1127. package/dist/types/lib/i18n/areas/chat-chart.d.ts +202 -0
  1128. package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
  1129. package/dist/types/lib/i18n/areas/date-timeline.d.ts +36 -0
  1130. package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
  1131. package/dist/types/lib/i18n/areas/docs-views.d.ts +297 -0
  1132. package/dist/types/lib/i18n/areas/feedback.d.ts +132 -0
  1133. package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
  1134. package/dist/types/lib/i18n/areas/forms.d.ts +182 -0
  1135. package/dist/types/lib/i18n/areas/keys.d.ts +15 -0
  1136. package/dist/types/lib/i18n/areas/markdown.d.ts +150 -0
  1137. package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
  1138. package/dist/types/lib/i18n/areas/navigation.d.ts +185 -0
  1139. package/dist/types/lib/i18n/areas/rbac.d.ts +635 -0
  1140. package/dist/types/lib/i18n/emphasis.d.ts +3 -0
  1141. package/dist/types/lib/i18n/index.d.ts +10 -0
  1142. package/dist/types/lib/i18n/number-format.d.ts +5 -0
  1143. package/dist/types/lib/i18n/plural.d.ts +7 -0
  1144. package/dist/types/lib/i18n/provider.d.ts +16 -0
  1145. package/dist/types/lib/i18n/strings.d.ts +18 -0
  1146. package/dist/types/lib/icons.d.ts +22 -0
  1147. package/dist/types/lib/interactive-target.d.ts +3 -0
  1148. package/dist/types/lib/intl-cache.d.ts +31 -0
  1149. package/dist/types/lib/legal-document.d.ts +82 -0
  1150. package/dist/types/lib/line-diff-model.d.ts +39 -0
  1151. package/dist/types/lib/markdown/attachments.d.ts +50 -0
  1152. package/dist/types/lib/markdown/caret-map.d.ts +69 -0
  1153. package/dist/types/lib/markdown/caret.d.ts +6 -0
  1154. package/dist/types/lib/markdown/commands.d.ts +186 -0
  1155. package/dist/types/lib/markdown/convert.d.ts +99 -0
  1156. package/dist/types/lib/markdown/dom.d.ts +30 -0
  1157. package/dist/types/lib/markdown/edit.d.ts +16 -0
  1158. package/dist/types/lib/markdown/history.d.ts +59 -0
  1159. package/dist/types/lib/markdown/hotkeys.d.ts +63 -0
  1160. package/dist/types/lib/markdown/image-pipeline.d.ts +173 -0
  1161. package/dist/types/lib/markdown/images.d.ts +138 -0
  1162. package/dist/types/lib/markdown/input.d.ts +38 -0
  1163. package/dist/types/lib/markdown/keys.d.ts +34 -0
  1164. package/dist/types/lib/markdown/paste.d.ts +9 -0
  1165. package/dist/types/lib/markdown/position.d.ts +43 -0
  1166. package/dist/types/lib/markdown/project.d.ts +88 -0
  1167. package/dist/types/lib/markdown/reconcile.d.ts +63 -0
  1168. package/dist/types/lib/markdown/surface.d.ts +236 -0
  1169. package/dist/types/lib/motion.d.ts +30 -0
  1170. package/dist/types/lib/pad.d.ts +6 -0
  1171. package/dist/types/lib/paged-window/index.d.ts +2 -0
  1172. package/dist/types/lib/paged-window/layout.d.ts +21 -0
  1173. package/dist/types/lib/paged-window/list-owner.d.ts +12 -0
  1174. package/dist/types/lib/paged-window/records-binding.d.ts +102 -0
  1175. package/dist/types/lib/paged-window/store.d.ts +307 -0
  1176. package/dist/types/lib/paged-window/use-measured-pitch.d.ts +34 -0
  1177. package/dist/types/lib/paged-window/use-page-visibility.d.ts +20 -0
  1178. package/dist/types/lib/paged-window/use-paged-window.d.ts +61 -0
  1179. package/dist/types/lib/paged-window/use-scroll-root.d.ts +18 -0
  1180. package/dist/types/lib/persist.d.ts +57 -0
  1181. package/dist/types/lib/preference-values.d.ts +72 -0
  1182. package/dist/types/lib/preferences.d.ts +26 -0
  1183. package/dist/types/lib/reads/hooks.d.ts +49 -0
  1184. package/dist/types/lib/reads/index.d.ts +5 -0
  1185. package/dist/types/lib/reads/optimistic.d.ts +119 -0
  1186. package/dist/types/lib/reads/refetch.d.ts +83 -0
  1187. package/dist/types/lib/reads/slots.d.ts +137 -0
  1188. package/dist/types/lib/reads/types.d.ts +155 -0
  1189. package/dist/types/lib/realtime/hooks.d.ts +38 -0
  1190. package/dist/types/lib/realtime/index.d.ts +4 -0
  1191. package/dist/types/lib/realtime/provider.d.ts +38 -0
  1192. package/dist/types/lib/realtime/registry.d.ts +225 -0
  1193. package/dist/types/lib/realtime/types.d.ts +242 -0
  1194. package/dist/types/lib/records/define-record-type.d.ts +29 -0
  1195. package/dist/types/lib/records/hooks.d.ts +46 -0
  1196. package/dist/types/lib/records/index.d.ts +5 -0
  1197. package/dist/types/lib/records/store.d.ts +289 -0
  1198. package/dist/types/lib/records/types.d.ts +195 -0
  1199. package/dist/types/lib/records/wire.d.ts +96 -0
  1200. package/dist/types/lib/reduced-motion-help.d.ts +23 -0
  1201. package/dist/types/lib/scroll-caret.d.ts +6 -0
  1202. package/dist/types/lib/sim/createSimStore.d.ts +18 -0
  1203. package/dist/types/lib/sim/index.d.ts +5 -0
  1204. package/dist/types/lib/sim/latency.d.ts +10 -0
  1205. package/dist/types/lib/sim/registry.d.ts +14 -0
  1206. package/dist/types/lib/sim/settings.d.ts +11 -0
  1207. package/dist/types/lib/sim/types.d.ts +3 -0
  1208. package/dist/types/lib/submit-shortcut.d.ts +24 -0
  1209. package/dist/types/lib/syntax/index.d.ts +16 -0
  1210. package/dist/types/lib/syntax/languages/bash.d.ts +1 -0
  1211. package/dist/types/lib/syntax/languages/css.d.ts +1 -0
  1212. package/dist/types/lib/syntax/languages/html.d.ts +17 -0
  1213. package/dist/types/lib/syntax/languages/index.d.ts +33 -0
  1214. package/dist/types/lib/syntax/languages/javascript.d.ts +22 -0
  1215. package/dist/types/lib/syntax/languages/json.d.ts +1 -0
  1216. package/dist/types/lib/syntax/languages/mongodb.d.ts +1 -0
  1217. package/dist/types/lib/syntax/languages/plain.d.ts +9 -0
  1218. package/dist/types/lib/syntax/languages/sql.d.ts +4 -0
  1219. package/dist/types/lib/syntax/languages/vue.d.ts +1 -0
  1220. package/dist/types/lib/syntax/languages/yaml.d.ts +1 -0
  1221. package/dist/types/lib/syntax/markdown/frames.d.ts +145 -0
  1222. package/dist/types/lib/syntax/markdown/grammar.d.ts +1 -0
  1223. package/dist/types/lib/syntax/markdown/index.d.ts +5 -0
  1224. package/dist/types/lib/syntax/markdown/inline.d.ts +21 -0
  1225. package/dist/types/lib/syntax/markdown/parse.d.ts +15 -0
  1226. package/dist/types/lib/syntax/markdown/refs.d.ts +47 -0
  1227. package/dist/types/lib/syntax/markdown/render.d.ts +25 -0
  1228. package/dist/types/lib/syntax/markdown/spans.d.ts +84 -0
  1229. package/dist/types/lib/syntax/markdown/types.d.ts +108 -0
  1230. package/dist/types/lib/syntax/registry.d.ts +37 -0
  1231. package/dist/types/lib/syntax/tokenize.d.ts +17 -0
  1232. package/dist/types/lib/syntax/types.d.ts +119 -0
  1233. package/dist/types/lib/time/index.d.ts +4 -0
  1234. package/dist/types/lib/time/instant.d.ts +2 -0
  1235. package/dist/types/lib/time/plain.d.ts +61 -0
  1236. package/dist/types/lib/time/relativeAge.d.ts +18 -0
  1237. package/dist/types/lib/time/relativeClock.d.ts +8 -0
  1238. package/dist/types/lib/time/types.d.ts +87 -0
  1239. package/dist/types/lib/time/zone.d.ts +106 -0
  1240. package/dist/types/lib/use-controllable.d.ts +14 -0
  1241. package/dist/types/lib/use-fill-height.d.ts +26 -0
  1242. package/dist/types/lib/use-hydrated.d.ts +8 -0
  1243. package/dist/types/lib/use-media-query.d.ts +29 -0
  1244. package/dist/types/lib/use-relabel-base-ui-dismiss.d.ts +6 -0
  1245. package/dist/types/lib/use-release-snap-drag.d.ts +25 -0
  1246. package/dist/types/lib/use-roving-options.d.ts +10 -0
  1247. package/dist/types/lib/values/absent.d.ts +7 -0
  1248. package/dist/types/lib/values/boolean.d.ts +29 -0
  1249. package/dist/types/lib/values/currency.d.ts +22 -0
  1250. package/dist/types/lib/values/date.d.ts +30 -0
  1251. package/dist/types/lib/values/datetime.d.ts +48 -0
  1252. package/dist/types/lib/values/index.d.ts +5 -0
  1253. package/dist/types/lib/values/locale-date.d.ts +34 -0
  1254. package/dist/types/lib/values/number.d.ts +27 -0
  1255. package/dist/types/pure.d.ts +48 -0
  1256. package/package.json +136 -4
@@ -0,0 +1,137 @@
1
+ import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
+ import { useState as L, useId as V, useMemo as p, useEffect as D } from "react";
3
+ import { cn as F } from "../../lib/cn.js";
4
+ import { Accordion as I, AccordionItem as z } from "../Accordion.js";
5
+ import { Badge as d } from "../Badge.js";
6
+ import { Button as M } from "../Button.js";
7
+ import { DescriptionList as q, DescriptionListItem as v } from "../DescriptionList.js";
8
+ import { Input as E } from "../Input.js";
9
+ import { Markdown as S } from "../Markdown.js";
10
+ import { EmptyState as U } from "../Surface.js";
11
+ import { OperationHeader as B, OperationDetail as Q } from "./OperationCard.js";
12
+ import { groupOperations as W, resolveWebhooks as P, resolvedAnchorId as C } from "./resolve.js";
13
+ import { useUiStrings as A, useUiLocale as T } from "../../lib/i18n/provider.js";
14
+ import { useNumberFormat as G } from "../../lib/i18n/number-format.js";
15
+ function J(e, i) {
16
+ return [
17
+ e.method,
18
+ e.path,
19
+ e.operation.operationId,
20
+ e.operation.summary,
21
+ e.operation.description,
22
+ ...e.operation.tags ?? []
23
+ ].filter((t) => typeof t == "string").join(" ").toLowerCase().includes(i);
24
+ }
25
+ function j(e, i) {
26
+ const s = i.trim().toLowerCase();
27
+ return s ? e.filter((t) => J(t, s)) : [...e];
28
+ }
29
+ function K(e, i) {
30
+ const s = i.trim().toLowerCase();
31
+ return s ? e.map((t) => ({ ...t, operations: j(t.operations, s) })).filter((t) => t.operations.length > 0) : [...e];
32
+ }
33
+ function O() {
34
+ if (typeof window > "u") return;
35
+ const e = window.location.hash.replace(/^#/, "");
36
+ return e.length > 0 ? e : void 0;
37
+ }
38
+ function R(e) {
39
+ const [i, s] = L(() => {
40
+ const t = O();
41
+ return t && e.has(t) ? /* @__PURE__ */ new Set([t]) : /* @__PURE__ */ new Set();
42
+ });
43
+ return D(() => {
44
+ if (typeof window > "u") return;
45
+ function t() {
46
+ const l = O();
47
+ l && e.has(l) && s((a) => a.has(l) ? a : /* @__PURE__ */ new Set([...a, l]));
48
+ }
49
+ return window.addEventListener("hashchange", t), () => window.removeEventListener("hashchange", t);
50
+ }, [e]), [i, s];
51
+ }
52
+ function k({ doc: e, operations: i }) {
53
+ const s = A().openApiViewer, t = p(
54
+ () => new Set(i.map((o) => C(o))),
55
+ [i]
56
+ ), [l, a] = R(t);
57
+ return /* @__PURE__ */ n(
58
+ I,
59
+ {
60
+ value: [...l],
61
+ onValueChange: (o) => a(new Set(o)),
62
+ className: "flex flex-col gap-3 pb-2",
63
+ children: i.map((o) => {
64
+ const m = C(o);
65
+ return /* @__PURE__ */ c("div", { id: m, className: "scroll-mt-20 rounded-lg border border-border bg-surface p-4", children: [
66
+ /* @__PURE__ */ n(B, { resolved: o }),
67
+ /* @__PURE__ */ n(z, { value: m, title: s.details, className: "mt-3 border-b-0 border-t border-border-subtle pt-1", children: /* @__PURE__ */ n(Q, { doc: e, resolved: o }) })
68
+ ] }, m);
69
+ })
70
+ }
71
+ );
72
+ }
73
+ function ce({ spec: e, defaultExpandedGroups: i, className: s }) {
74
+ const t = A().openApiViewer, l = T(), a = G(), [o, m] = L(""), y = V(), g = p(() => W(e, t, l), [e, t, l]), w = p(() => K(g, o), [g, o]), h = p(() => P(e), [e]), u = p(
75
+ () => j(h, o),
76
+ [h, o]
77
+ ), H = o.trim().length > 0, b = g.reduce((r, x) => r + x.operations.length, 0), f = w.reduce((r, x) => r + x.operations.length, 0) + u.length, N = b + h.length;
78
+ return /* @__PURE__ */ c("div", { className: F("flex min-w-0 flex-col gap-4", s), children: [
79
+ /* @__PURE__ */ c("header", { className: "flex flex-col gap-2", children: [
80
+ /* @__PURE__ */ c("div", { className: "flex flex-wrap items-baseline gap-2", children: [
81
+ /* @__PURE__ */ n("h1", { className: "text-xl font-semibold text-primary", children: e.info.title }),
82
+ /* @__PURE__ */ n(d, { tone: "neutral", size: "sm", children: t.version(e.info.version) }),
83
+ /* @__PURE__ */ n(d, { tone: "neutral", size: "sm", children: t.operationCount(b, a(b)) }),
84
+ h.length > 0 && /* @__PURE__ */ n(d, { tone: "neutral", size: "sm", children: t.webhookCount(h.length, a(h.length)) })
85
+ ] }),
86
+ e.info.description && /* @__PURE__ */ n(S, { children: e.info.description }),
87
+ (e.servers?.length || e.components?.securitySchemes) && /* @__PURE__ */ c(q, { className: "mt-1 gap-1", children: [
88
+ e.servers?.length ? /* @__PURE__ */ n(v, { term: t.servers, mono: !0, children: e.servers.map((r) => r.url).join(", ") }) : null,
89
+ e.components?.securitySchemes ? /* @__PURE__ */ n(v, { term: t.securitySchemes, children: /* @__PURE__ */ n("div", { className: "flex flex-wrap gap-1", children: Object.keys(e.components.securitySchemes).map((r) => /* @__PURE__ */ n(d, { size: "sm", tone: "accent", children: r }, r)) }) }) : null
90
+ ] })
91
+ ] }),
92
+ /* @__PURE__ */ n(
93
+ E,
94
+ {
95
+ type: "search",
96
+ placeholder: t.filterPlaceholder,
97
+ value: o,
98
+ onChange: (r) => m(r.target.value),
99
+ "aria-label": t.filterLabel
100
+ }
101
+ ),
102
+ f === 0 && /* @__PURE__ */ n(
103
+ U,
104
+ {
105
+ title: t.noMatchTitle,
106
+ description: t.noMatchDescription(o),
107
+ secondaryAction: /* @__PURE__ */ n(M, { variant: "ghost", size: "sm", onClick: () => m(""), children: t.clearFilter })
108
+ }
109
+ ),
110
+ w.length > 0 && /* @__PURE__ */ n(I, { hiddenUntilFound: !0, defaultValue: i ? [...i] : [], children: w.map((r) => /* @__PURE__ */ c(
111
+ z,
112
+ {
113
+ value: r.name,
114
+ title: r.name,
115
+ meta: /* @__PURE__ */ n(d, { size: "sm", tone: "neutral", children: r.operations.length }),
116
+ children: [
117
+ r.description && /* @__PURE__ */ n(S, { className: "pb-2", children: r.description }),
118
+ /* @__PURE__ */ n(k, { doc: e, operations: r.operations })
119
+ ]
120
+ },
121
+ r.name
122
+ )) }),
123
+ u.length > 0 && /* @__PURE__ */ c("section", { "aria-labelledby": y, className: "flex min-w-0 flex-col gap-2", children: [
124
+ /* @__PURE__ */ c("div", { className: "flex flex-wrap items-baseline gap-2", children: [
125
+ /* @__PURE__ */ n("h2", { id: y, className: "text-lg font-semibold text-primary", children: t.webhooks }),
126
+ /* @__PURE__ */ n(d, { size: "sm", tone: "neutral", children: u.length })
127
+ ] }),
128
+ /* @__PURE__ */ n("p", { className: "text-sm text-secondary", children: t.webhooksIntro }),
129
+ /* @__PURE__ */ n(k, { doc: e, operations: u })
130
+ ] }),
131
+ H && f > 0 && /* @__PURE__ */ n("p", { className: "text-2xs text-tertiary", children: t.matchSummary(f, a(f), N, a(N)) })
132
+ ] });
133
+ }
134
+ export {
135
+ ce as OpenApiViewer
136
+ };
137
+ //# sourceMappingURL=OpenApiViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiViewer.js","sources":["../../../src/components/openapi/OpenApiViewer.tsx"],"sourcesContent":["import { useEffect, useId, useMemo, useState } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { Accordion, AccordionItem } from \"../Accordion\";\nimport { Badge } from \"../Badge\";\nimport { Button } from \"../Button\";\nimport { DescriptionList, DescriptionListItem } from \"../DescriptionList\";\nimport { Input } from \"../Input\";\nimport { useNumberFormat, useUiLocale, useUiStrings } from \"../../lib/i18n\";\nimport { Markdown } from \"../Markdown\";\nimport { EmptyState } from \"../Surface\";\nimport { OperationDetail, OperationHeader } from \"./OperationCard\";\nimport { groupOperations, resolveWebhooks, resolvedAnchorId } from \"./resolve\";\nimport type { OpenApiDocument, OperationGroup, ResolvedOperation } from \"./types\";\n\n/* ============================================================================\n OPENAPI VIEWER — a full OpenAPI 3.1 document, rendered (DX-3668).\n\n UI-LIBRARY-CHECK: considered `Accordion`/`AccordionItem` (one per tag/path\n group, and — round 2 — one per operation's own lazy \"Details\" disclosure),\n `Input` (the filter box), `Badge` (per-group operation count), `Description\n List`/`DescriptionListItem` (servers + global security), `Markdown` (the\n document's own `info.description`, which is prose) and `EmptyState` (a\n filter with zero matches). Per-operation composition is `OperationCard`'s\n own concern (see that file's UI-LIBRARY-CHECK).\n\n ROUND 2 (DX-3668 code-architecture review) — LAZY-MOUNT OPERATION BODIES.\n Danxbot's own generated spec (measured: 425 operations, ALL sharing one\n ungrouped \"api\" bucket — it emits no `tags`, so path-segment fallback\n grouping collapses almost everything into one group) made the round-1\n shape — `hiddenUntilFound` on the GROUP accordion, each group holding full\n `OperationCard`s — mount all 425 operations' complete detail (every\n `SchemaView` tree, every Tabs instance) on first paint: measured 7.3s to\n first paint against the real spec (`src/demo/pages/OpenApiViewerPage.tsx`'s\n own hand-written fixture is far too small to have caught this). The GROUP\n accordion still uses `hiddenUntilFound` (cheap now — it only forces\n `OperationHeader` rows, not `OperationDetail`, to mount), but each\n operation's own expensive `OperationDetail` sits behind its OWN disclosure,\n `keepMounted` left at its Base UI default (`false`): collapsed means\n genuinely absent from the DOM, not merely hidden.\n\n WEBHOOKS (DX-4178). A document's top-level `webhooks` render as their own\n \"Webhooks\" section after the groups, through the SAME `OperationList` /\n `OperationHeader` / `OperationDetail` the paths use (a webhook is a named\n Path Item, so `resolveWebhooks` yields `ResolvedOperation`s carrying\n `webhook: true`, with the webhook's name as `path`). The filter box reaches\n them too. UI-LIBRARY-CHECK for the section: a plain heading + `Badge` + the\n existing operation list; no new primitive.\n\n DEEP LINKS STILL WORK, via `useHashOpenOperation` below rather than a\n second `hiddenUntilFound` (which would re-force every operation's detail\n to mount, undoing the fix): on mount AND on `hashchange`, if the fragment\n names an operation this document has, that operation's own disclosure\n opens (and the browser's native anchor scroll — the `id` lives on the\n operation's own always-mounted wrapper `div`, never inside the lazy panel\n — takes it the rest of the way). Verified against a document Firefox/Safari\n users reach identically, since nothing here depends on `beforematch`.\n ========================================================================= */\n\nexport interface OpenApiViewerProps {\n /** A complete OpenAPI 3.1 (or 3.0) document. This component never fetches\n * or merges partial specs itself — a caller combining several discovery\n * responses (e.g. danxbot's own permission-scoped `GET /api/routes` +\n * `GET /api/openapi?endpoints=`) does that before handing the result here. */\n spec: OpenApiDocument;\n /** Group names to start expanded. Defaults to none — the filter box is the\n * primary way to find one operation in a large spec, and starting every\n * group closed keeps the first paint short regardless of spec size. */\n defaultExpandedGroups?: readonly string[];\n className?: string;\n}\n\nfunction matchesQuery(resolved: ResolvedOperation, query: string): boolean {\n const haystack = [\n resolved.method,\n resolved.path,\n resolved.operation.operationId,\n resolved.operation.summary,\n resolved.operation.description,\n ...(resolved.operation.tags ?? []),\n ]\n .filter((v): v is string => typeof v === \"string\")\n .join(\" \")\n .toLowerCase();\n return haystack.includes(query);\n}\n\nfunction filterOperations(operations: readonly ResolvedOperation[], query: string): ResolvedOperation[] {\n const q = query.trim().toLowerCase();\n return q ? operations.filter((op) => matchesQuery(op, q)) : [...operations];\n}\n\nfunction filterGroups(groups: readonly OperationGroup[], query: string): OperationGroup[] {\n const q = query.trim().toLowerCase();\n if (!q) return [...groups];\n return groups\n .map((group) => ({ ...group, operations: filterOperations(group.operations, q) }))\n .filter((group) => group.operations.length > 0);\n}\n\n/** The current URL fragment, minus its leading `#` — `undefined` outside a\n * browser (SSR/tests with no `window`) or when there is none. */\nfunction currentHashId(): string | undefined {\n if (typeof window === \"undefined\") return undefined;\n const hash = window.location.hash.replace(/^#/, \"\");\n return hash.length > 0 ? hash : undefined;\n}\n\n/**\n * Keeps exactly the operation named by the URL fragment open, without ever\n * forcing every OTHER operation open too. Pure id bookkeeping — `open` is a\n * `Set` a caller passes straight to each operation's own `Accordion`\n * `value`/`onValueChange`, so a reader's own clicks (opening several at once,\n * `multiple`) are never overridden by a later hash check.\n */\nfunction useHashOpenOperation(knownIds: ReadonlySet<string>): [ReadonlySet<string>, (next: ReadonlySet<string>) => void] {\n const [open, setOpen] = useState<ReadonlySet<string>>(() => {\n const id = currentHashId();\n return id && knownIds.has(id) ? new Set([id]) : new Set();\n });\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n function onHashChange() {\n const id = currentHashId();\n if (id && knownIds.has(id)) setOpen((prev) => (prev.has(id) ? prev : new Set([...prev, id])));\n }\n window.addEventListener(\"hashchange\", onHashChange);\n return () => window.removeEventListener(\"hashchange\", onHashChange);\n }, [knownIds]);\n\n return [open, setOpen];\n}\n\n/**\n * ONE shared `Accordion` root for every operation in a group, not one root\n * per operation. Measured against danxbot's real 425-operation spec: a\n * separate `<Accordion>` instance per operation (each just a single-item\n * wrapper around its own \"Details\" disclosure) cost ~7s on its own — Base\n * UI's per-root setup (id generation, the height-animation plumbing) is not\n * free, and 425 of them dominated the whole render. One shared root holding\n * 425 `AccordionItem`s (exactly the pattern the GROUP-level accordion above\n * already uses at this same scale) does the identical job for ~1s. The\n * `OperationHeader` — cheap, no schema, no tabs — sits OUTSIDE each\n * `AccordionItem` as a plain sibling `<div>`, both wrapped in the operation's\n * own bordered card; the copy-link button lives there rather than inside the\n * item's `title`, which Base UI renders INSIDE its own `<button>` trigger —\n * a nested `<button>` would be invalid HTML (see `OperationCard.tsx`'s own\n * header comment for the identical constraint on `meta`).\n */\nfunction OperationList({ doc, operations }: { doc: OpenApiDocument; operations: readonly ResolvedOperation[] }) {\n const strings = useUiStrings().openApiViewer;\n const ids = useMemo(\n () => new Set(operations.map((op) => resolvedAnchorId(op))),\n [operations],\n );\n const [openIds, setOpenIds] = useHashOpenOperation(ids);\n\n return (\n <Accordion\n value={[...openIds]}\n onValueChange={(next) => setOpenIds(new Set(next as string[]))}\n className=\"flex flex-col gap-3 pb-2\"\n >\n {operations.map((resolved) => {\n const id = resolvedAnchorId(resolved);\n return (\n <div key={id} id={id} className=\"scroll-mt-20 rounded-lg border border-border bg-surface p-4\">\n <OperationHeader resolved={resolved} />\n <AccordionItem value={id} title={strings.details} className=\"mt-3 border-b-0 border-t border-border-subtle pt-1\">\n <OperationDetail doc={doc} resolved={resolved} />\n </AccordionItem>\n </div>\n );\n })}\n </Accordion>\n );\n}\n\nexport function OpenApiViewer({ spec, defaultExpandedGroups, className }: OpenApiViewerProps) {\n const strings = useUiStrings().openApiViewer;\n const locale = useUiLocale();\n const fmt = useNumberFormat();\n const [query, setQuery] = useState(\"\");\n const webhooksHeadingId = useId();\n const groups = useMemo(() => groupOperations(spec, strings, locale), [spec, strings, locale]);\n const filtered = useMemo(() => filterGroups(groups, query), [groups, query]);\n const webhooks = useMemo(() => resolveWebhooks(spec), [spec]);\n const filteredWebhooks = useMemo(\n () => filterOperations(webhooks, query),\n [webhooks, query],\n );\n const isFiltering = query.trim().length > 0;\n const operationCount = groups.reduce((sum, g) => sum + g.operations.length, 0);\n const matchCount = filtered.reduce((sum, g) => sum + g.operations.length, 0) + filteredWebhooks.length;\n const totalCount = operationCount + webhooks.length;\n\n return (\n <div className={cn(\"flex min-w-0 flex-col gap-4\", className)}>\n <header className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-baseline gap-2\">\n <h1 className=\"text-xl font-semibold text-primary\">{spec.info.title}</h1>\n <Badge tone=\"neutral\" size=\"sm\">\n {strings.version(spec.info.version)}\n </Badge>\n <Badge tone=\"neutral\" size=\"sm\">\n {strings.operationCount(operationCount, fmt(operationCount))}\n </Badge>\n {webhooks.length > 0 && (\n <Badge tone=\"neutral\" size=\"sm\">\n {strings.webhookCount(webhooks.length, fmt(webhooks.length))}\n </Badge>\n )}\n </div>\n {spec.info.description && <Markdown>{spec.info.description}</Markdown>}\n {(spec.servers?.length || spec.components?.securitySchemes) && (\n <DescriptionList className=\"mt-1 gap-1\">\n {spec.servers?.length ? (\n <DescriptionListItem term={strings.servers} mono>\n {spec.servers.map((s) => s.url).join(\", \")}\n </DescriptionListItem>\n ) : null}\n {spec.components?.securitySchemes ? (\n <DescriptionListItem term={strings.securitySchemes}>\n <div className=\"flex flex-wrap gap-1\">\n {Object.keys(spec.components.securitySchemes).map((name) => (\n <Badge key={name} size=\"sm\" tone=\"accent\">\n {name}\n </Badge>\n ))}\n </div>\n </DescriptionListItem>\n ) : null}\n </DescriptionList>\n )}\n </header>\n\n <Input\n type=\"search\"\n placeholder={strings.filterPlaceholder}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n aria-label={strings.filterLabel}\n />\n\n {matchCount === 0 && (\n <EmptyState\n title={strings.noMatchTitle}\n description={strings.noMatchDescription(query)}\n secondaryAction={\n <Button variant=\"ghost\" size=\"sm\" onClick={() => setQuery(\"\")}>\n {strings.clearFilter}\n </Button>\n }\n />\n )}\n {filtered.length > 0 && (\n <Accordion hiddenUntilFound defaultValue={defaultExpandedGroups ? [...defaultExpandedGroups] : []}>\n {filtered.map((group) => (\n <AccordionItem\n key={group.name}\n value={group.name}\n title={group.name}\n meta={\n <Badge size=\"sm\" tone=\"neutral\">\n {group.operations.length}\n </Badge>\n }\n >\n {group.description && <Markdown className=\"pb-2\">{group.description}</Markdown>}\n <OperationList doc={spec} operations={group.operations} />\n </AccordionItem>\n ))}\n </Accordion>\n )}\n {filteredWebhooks.length > 0 && (\n <section aria-labelledby={webhooksHeadingId} className=\"flex min-w-0 flex-col gap-2\">\n <div className=\"flex flex-wrap items-baseline gap-2\">\n <h2 id={webhooksHeadingId} className=\"text-lg font-semibold text-primary\">\n {strings.webhooks}\n </h2>\n <Badge size=\"sm\" tone=\"neutral\">\n {filteredWebhooks.length}\n </Badge>\n </div>\n <p className=\"text-sm text-secondary\">\n {strings.webhooksIntro}\n </p>\n <OperationList doc={spec} operations={filteredWebhooks} />\n </section>\n )}\n {isFiltering && matchCount > 0 && (\n <p className=\"text-2xs text-tertiary\">\n {strings.matchSummary(matchCount, fmt(matchCount), totalCount, fmt(totalCount))}\n </p>\n )}\n </div>\n );\n}\n"],"names":["matchesQuery","resolved","query","v","filterOperations","operations","q","op","filterGroups","groups","group","currentHashId","hash","useHashOpenOperation","knownIds","open","setOpen","useState","id","useEffect","onHashChange","prev","OperationList","doc","strings","useUiStrings","ids","useMemo","resolvedAnchorId","openIds","setOpenIds","jsx","Accordion","next","jsxs","OperationHeader","AccordionItem","OperationDetail","OpenApiViewer","spec","defaultExpandedGroups","className","locale","useUiLocale","fmt","useNumberFormat","setQuery","webhooksHeadingId","useId","groupOperations","filtered","webhooks","resolveWebhooks","filteredWebhooks","isFiltering","operationCount","sum","g","matchCount","totalCount","cn","Badge","Markdown","DescriptionList","DescriptionListItem","s","name","Input","e","EmptyState","Button"],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { jsxs as c, jsx as e, Fragment as L } from "react/jsx-runtime";
2
+ import { useState as O } from "react";
3
+ import { cn as w } from "../../lib/cn.js";
4
+ import { copyText as T } from "../../lib/clipboard.js";
5
+ import { Accordion as M, AccordionItem as j } from "../Accordion.js";
6
+ import { Badge as h } from "../Badge.js";
7
+ import { Markdown as k, CodeBlock as I } from "../Markdown.js";
8
+ import { DescriptionList as B, DescriptionListItem as S } from "../DescriptionList.js";
9
+ import { IconButton as $ } from "../IconButton.js";
10
+ import { Tabs as z, TabList as D, Tab as y, TabPanel as g } from "../Tabs.js";
11
+ import { SchemaView as C } from "./SchemaView.js";
12
+ import { resolvedAnchorId as q, mergedParameters as P, resolveSchema as R, schemaToExample as W } from "./resolve.js";
13
+ import { useUiStrings as f } from "../../lib/i18n/provider.js";
14
+ const A = {
15
+ get: "info",
16
+ post: "success",
17
+ put: "warning",
18
+ patch: "warning",
19
+ delete: "danger",
20
+ options: "neutral",
21
+ head: "neutral",
22
+ trace: "neutral"
23
+ };
24
+ function E({ resolved: t, showCopyLink: a = !0, className: o }) {
25
+ const n = f().operationCard, { method: r, path: l, operation: s } = t, i = q(t);
26
+ return /* @__PURE__ */ c("div", { className: w("min-w-0", o), children: [
27
+ /* @__PURE__ */ c("div", { className: "flex flex-wrap items-start justify-between gap-2", children: [
28
+ /* @__PURE__ */ c("div", { className: "flex min-w-0 flex-wrap items-center gap-2", children: [
29
+ /* @__PURE__ */ e(h, { tone: A[r], size: "md", className: "font-mono uppercase", children: r }),
30
+ /* @__PURE__ */ e("code", { className: "break-all text-sm font-medium text-primary", children: l }),
31
+ s.deprecated && /* @__PURE__ */ e(h, { tone: "warning", size: "sm", children: n.deprecated })
32
+ ] }),
33
+ a && /* @__PURE__ */ e(J, { id: i })
34
+ ] }),
35
+ s.summary && /* @__PURE__ */ e("p", { className: "mt-2 text-sm font-medium text-primary", children: s.summary }),
36
+ s.description && /* @__PURE__ */ e("div", { className: "mt-1 text-sm text-secondary", children: /* @__PURE__ */ e(k, { children: s.description }) }),
37
+ s.operationId && /* @__PURE__ */ e("p", { className: "mt-1 font-mono text-2xs text-tertiary", children: n.operationId(s.operationId) })
38
+ ] });
39
+ }
40
+ function V({ doc: t, resolved: a, className: o }) {
41
+ const n = f().operationCard, { operation: r, pathParameters: l } = a, s = P(l, r.parameters), i = /* @__PURE__ */ new Map();
42
+ for (const d of s) {
43
+ const m = i.get(d.in);
44
+ m ? m.push(d) : i.set(d.in, [d]);
45
+ }
46
+ const p = s.length > 0, u = r.requestBody !== void 0, N = a.webhook ? r.security : r.security ?? t.security, v = (N?.length ?? 0) > 0;
47
+ return /* @__PURE__ */ c(z, { defaultValue: p ? "parameters" : u ? "body" : v ? "security" : "responses", className: o, children: [
48
+ /* @__PURE__ */ c(D, { children: [
49
+ p && /* @__PURE__ */ e(y, { value: "parameters", children: n.parameters }),
50
+ u && /* @__PURE__ */ e(y, { value: "body", children: n.requestBody }),
51
+ /* @__PURE__ */ e(y, { value: "responses", children: n.responses }),
52
+ v && /* @__PURE__ */ e(y, { value: "security", children: n.security })
53
+ ] }),
54
+ p && /* @__PURE__ */ e(g, { value: "parameters", keepMounted: !0, children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-4 pt-3", children: ["path", "query", "header", "cookie"].map((d) => {
55
+ const m = i.get(d);
56
+ return m?.length ? /* @__PURE__ */ c("div", { children: [
57
+ /* @__PURE__ */ e("h4", { className: "mb-1.5 text-xs font-semibold text-tertiary", children: n.locationLabel[d] }),
58
+ /* @__PURE__ */ e(B, { className: "flex flex-col gap-3", children: m.map((x) => /* @__PURE__ */ e(C, { doc: t, schema: x.schema, name: x.name, required: x.required }, x.name)) })
59
+ ] }, d) : null;
60
+ }) }) }),
61
+ u && r.requestBody && /* @__PURE__ */ e(g, { value: "body", keepMounted: !0, children: /* @__PURE__ */ c("div", { className: "pt-3", children: [
62
+ r.requestBody.description && /* @__PURE__ */ e("div", { className: "mb-2 text-sm text-secondary", children: /* @__PURE__ */ e(k, { children: r.requestBody.description }) }),
63
+ r.requestBody.required && /* @__PURE__ */ e(h, { tone: "danger", size: "sm", className: "mb-2", children: n.required }),
64
+ /* @__PURE__ */ e(b, { doc: t, content: r.requestBody.content })
65
+ ] }) }),
66
+ /* @__PURE__ */ e(g, { value: "responses", keepMounted: !0, children: /* @__PURE__ */ e(M, { className: "pt-3", defaultValue: Object.keys(r.responses), children: Object.entries(r.responses).map(([d, m]) => /* @__PURE__ */ e(j, { value: d, title: /* @__PURE__ */ e(H, { status: d, description: m.description }), children: m.content ? /* @__PURE__ */ e(b, { doc: t, content: m.content }) : /* @__PURE__ */ e("p", { className: "py-2 text-sm text-tertiary", children: n.noResponseBody }) }, d)) }) }),
67
+ v && N && /* @__PURE__ */ e(g, { value: "security", keepMounted: !0, children: /* @__PURE__ */ e("div", { className: "pt-3", children: /* @__PURE__ */ e(F, { doc: t, security: N }) }) })
68
+ ] });
69
+ }
70
+ function oe({ doc: t, resolved: a, className: o }) {
71
+ const n = q(a);
72
+ return /* @__PURE__ */ c("div", { id: n, className: w("scroll-mt-20 rounded-lg border border-border bg-surface p-4", o), children: [
73
+ /* @__PURE__ */ e(E, { resolved: a }),
74
+ /* @__PURE__ */ e(V, { doc: t, resolved: a, className: "mt-3" })
75
+ ] });
76
+ }
77
+ function H({ status: t, description: a }) {
78
+ const o = t.startsWith("2") ? "success" : t.startsWith("4") ? "warning" : t.startsWith("5") ? "danger" : "neutral";
79
+ return /* @__PURE__ */ c("span", { className: "flex min-w-0 flex-wrap items-center gap-2", children: [
80
+ /* @__PURE__ */ e(h, { tone: o, size: "sm", className: "font-mono", children: t }),
81
+ /* @__PURE__ */ e("span", { className: "truncate text-sm text-secondary", children: a })
82
+ ] });
83
+ }
84
+ function b({ doc: t, content: a }) {
85
+ const o = f().operationCard, n = Object.entries(a);
86
+ return n.length === 0 ? null : /* @__PURE__ */ e("div", { className: "flex flex-col gap-4", children: n.map(([r, l]) => {
87
+ const s = R(t, l.schema), i = l.example ?? Object.values(l.examples ?? {})[0]?.value ?? W(t, l.schema);
88
+ return /* @__PURE__ */ c("div", { className: "min-w-0", children: [
89
+ /* @__PURE__ */ e("p", { className: "mb-1.5 font-mono text-2xs text-tertiary", children: r }),
90
+ l.schema && /* @__PURE__ */ e("div", { className: "mb-3", children: /* @__PURE__ */ e(C, { doc: t, schema: l.schema }) }),
91
+ i !== void 0 && /* I18N-ALLOW: CodeBlock language id naming the JSON grammar */
92
+ /* @__PURE__ */ e(I, { code: JSON.stringify(i, null, 2), language: "json", filename: o.example }),
93
+ s?.unresolved && s.ref && /* @__PURE__ */ e("p", { className: "mt-1 text-2xs text-tertiary", children: o.couldNotResolve(s.ref) })
94
+ ] }, r);
95
+ }) });
96
+ }
97
+ function F({ doc: t, security: a }) {
98
+ const o = f().operationCard;
99
+ return /* @__PURE__ */ e("div", { className: "flex flex-col gap-3", children: a.map((n, r) => {
100
+ const l = Object.keys(n);
101
+ return l.length === 0 ? null : /* @__PURE__ */ c("div", { children: [
102
+ r > 0 && /* @__PURE__ */ e("p", { className: "mb-1.5 text-2xs font-medium uppercase text-tertiary", children: o.securityOr }),
103
+ /* @__PURE__ */ e(B, { className: "flex flex-col gap-2", children: l.map((s) => {
104
+ const i = t.components?.securitySchemes?.[s], p = n[s];
105
+ return /* @__PURE__ */ e(S, { term: s, children: /* @__PURE__ */ c("div", { className: "flex flex-col gap-1", children: [
106
+ i && /* @__PURE__ */ c("span", { className: "text-sm text-secondary", children: [
107
+ i.type === "http" ? `${i.type} (${i.scheme ?? "bearer"})` : i.type,
108
+ i.description ? ` — ${i.description}` : ""
109
+ ] }),
110
+ p.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1", children: p.map((u) => /* @__PURE__ */ e(h, { size: "sm", tone: "accent", children: u }, u)) })
111
+ ] }) }, s);
112
+ }) })
113
+ ] }, r);
114
+ }) });
115
+ }
116
+ function J({ id: t }) {
117
+ const a = f().operationCard, [o, n] = O(!1);
118
+ return /* @__PURE__ */ e(
119
+ $,
120
+ {
121
+ icon: /* @__PURE__ */ e(U, { copied: o }),
122
+ label: o ? a.linkCopied : a.copyLink,
123
+ variant: "ghost",
124
+ onClick: () => {
125
+ if (typeof window > "u") return;
126
+ const r = `${window.location.origin}${window.location.pathname}${window.location.search}#${t}`;
127
+ T(r).then(() => {
128
+ n(!0), window.setTimeout(() => n(!1), 1500);
129
+ });
130
+ }
131
+ }
132
+ );
133
+ }
134
+ function U({ copied: t }) {
135
+ return /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: t ? /* @__PURE__ */ e("path", { d: "M20 6 9 17l-5-5" }) : /* @__PURE__ */ c(L, { children: [
136
+ /* @__PURE__ */ e("path", { d: "M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.5 1.5" }),
137
+ /* @__PURE__ */ e("path", { d: "M14 11a5 5 0 0 0-7.07 0L4.1 13.83a5 5 0 0 0 7.07 7.07l1.5-1.5" })
138
+ ] }) });
139
+ }
140
+ export {
141
+ oe as OperationCard,
142
+ V as OperationDetail,
143
+ E as OperationHeader
144
+ };
145
+ //# sourceMappingURL=OperationCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationCard.js","sources":["../../../src/components/openapi/OperationCard.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { copyText } from \"../../lib/clipboard\";\nimport { useUiStrings } from \"../../lib/i18n\";\nimport { Accordion, AccordionItem } from \"../Accordion\";\nimport { Badge, type BadgeProps } from \"../Badge\";\nimport { CodeBlock, Markdown } from \"../Markdown\";\nimport { DescriptionList, DescriptionListItem } from \"../DescriptionList\";\nimport { IconButton } from \"../IconButton\";\nimport { Tab, TabList, TabPanel, Tabs } from \"../Tabs\";\nimport { SchemaView } from \"./SchemaView\";\nimport { mergedParameters, resolveSchema, resolvedAnchorId, schemaToExample } from \"./resolve\";\nimport type {\n HttpMethod,\n OpenApiDocument,\n OpenApiMediaType,\n OpenApiParameterLocation,\n OpenApiSecurityRequirement,\n ResolvedOperation,\n} from \"./types\";\n\n/* ============================================================================\n OPERATION CARD — one method+path (DX-3668, internal).\n\n SPLIT IN TWO, round 2 (DX-3668 code-architecture review): `OperationHeader`\n (method badge, path, summary, deprecated flag, copy-link — cheap, always\n rendered) and `OperationDetail` (the Tabs: parameters/body/responses/\n security, with every `SchemaView` tree underneath — expensive). A document\n the size danxbot's own generates (425 operations, measured) made mounting\n every operation's FULL card up front — the round-1 shape, `OperationCard`\n as one always-fully-mounted unit — a measured 7.3s first paint, because\n `OpenApiViewer`'s group accordion used `hiddenUntilFound`, which forces\n `keepMounted` on every panel it governs (Base UI: hiddenUntilFound\n \"Overrides the keepMounted prop\"). `OpenApiViewer` now lazy-mounts\n `OperationDetail` per operation, behind its own disclosure, default\n collapsed; `OperationCard` (below) stays the always-both, single-operation\n shape for a consumer embedding ONE operation's full detail on its own page\n — nothing to lazy-mount when there is only one.\n\n UI-LIBRARY-CHECK: considered `Tabs`/`TabList`/`Tab`/`TabPanel` (parameters\n vs. request body vs. responses vs. security), `Accordion`/`AccordionItem`\n (one response per status code, and — round 2 — the operation's own\n collapsed-by-default \"Details\" disclosure in `OpenApiViewer`'s list),\n `Badge` (method, required, deprecated, security scheme), `DescriptionList`/\n `DescriptionListItem` (security requirements), `CodeBlock` (raw schema +\n synthesised example JSON), `Markdown` (operation/parameter descriptions,\n which danxbot's own generator writes as prose, some of it with inline code\n spans) and `IconButton` (the deep-link \"copy link\" control) — no primitive\n covers a parameter's own name+in+schema row, which is `SchemaView`, this\n package's own recursive schema renderer.\n\n THE COPY-LINK BUTTON NEVER SITS INSIDE AN ACCORDION TRIGGER. `AccordionItem`\n renders `meta` INSIDE its own `<button>` trigger (see `Accordion.tsx`) — a\n `<button>` inside a `<button>` is invalid HTML and unreachable by keyboard,\n the exact defect `IconButton`'s own doc comment warns a dismissible `Badge`\n away from. `OperationHeader` (always outside any trigger) is where it\n lives; `OpenApiViewer`'s per-operation \"Details\" toggle names only the\n word \"Details\", nothing that would want a nested control.\n ========================================================================= */\n\nconst METHOD_TONE: Record<HttpMethod, BadgeProps[\"tone\"]> = {\n get: \"info\",\n post: \"success\",\n put: \"warning\",\n patch: \"warning\",\n delete: \"danger\",\n options: \"neutral\",\n head: \"neutral\",\n trace: \"neutral\",\n};\n\nexport interface OperationHeaderProps {\n resolved: ResolvedOperation;\n /** Renders the deep-link \"copy link\" control. Off for a caller (like\n * `OpenApiViewer`'s list row) that renders its own, positioned relative to\n * a wrapper this component doesn't own. */\n showCopyLink?: boolean;\n className?: string;\n}\n\n/** The cheap, always-rendered part of one operation: method, path, summary,\n * deprecated flag, description, operationId. No schema, no tabs — safe to\n * mount for every operation in a large document at once. */\nexport function OperationHeader({ resolved, showCopyLink = true, className }: OperationHeaderProps) {\n const strings = useUiStrings().operationCard;\n const { method, path, operation } = resolved;\n const id = resolvedAnchorId(resolved);\n return (\n <div className={cn(\"min-w-0\", className)}>\n <div className=\"flex flex-wrap items-start justify-between gap-2\">\n <div className=\"flex min-w-0 flex-wrap items-center gap-2\">\n <Badge tone={METHOD_TONE[method]} size=\"md\" className=\"font-mono uppercase\">\n {method}\n </Badge>\n <code className=\"break-all text-sm font-medium text-primary\">{path}</code>\n {operation.deprecated && (\n <Badge tone=\"warning\" size=\"sm\">\n {strings.deprecated}\n </Badge>\n )}\n </div>\n {showCopyLink && <CopyLinkButton id={id} />}\n </div>\n\n {operation.summary && <p className=\"mt-2 text-sm font-medium text-primary\">{operation.summary}</p>}\n {operation.description && (\n <div className=\"mt-1 text-sm text-secondary\">\n <Markdown>{operation.description}</Markdown>\n </div>\n )}\n {operation.operationId && (\n <p className=\"mt-1 font-mono text-2xs text-tertiary\">{strings.operationId(operation.operationId)}</p>\n )}\n </div>\n );\n}\n\nexport interface OperationDetailProps {\n doc: OpenApiDocument;\n resolved: ResolvedOperation;\n className?: string;\n}\n\n/** The expensive part: parameters, request body, responses (each with a\n * `SchemaView` tree and a synthesised example) and security — everything\n * `OpenApiViewer` lazy-mounts per operation. */\nexport function OperationDetail({ doc, resolved, className }: OperationDetailProps) {\n const strings = useUiStrings().operationCard;\n const { operation, pathParameters } = resolved;\n const params = mergedParameters(pathParameters, operation.parameters);\n const byLocation = new Map<OpenApiParameterLocation, typeof params>();\n for (const p of params) {\n const list = byLocation.get(p.in);\n if (list) list.push(p);\n else byLocation.set(p.in, [p]);\n }\n\n const hasParams = params.length > 0;\n const hasBody = operation.requestBody !== undefined;\n // DX-4178: `doc.security` is what a caller presents TO the API; a webhook's\n // receiver is sent only the credential its own operation declares.\n const security = resolved.webhook ? operation.security : (operation.security ?? doc.security);\n const hasSecurity = (security?.length ?? 0) > 0;\n\n // I18N-ALLOW: tab ids compared against the Tabs value\n const defaultTab = hasParams ? \"parameters\" : hasBody ? \"body\" : hasSecurity ? \"security\" : \"responses\";\n\n return (\n <Tabs defaultValue={defaultTab} className={className}>\n <TabList>\n {hasParams && <Tab value=\"parameters\">{strings.parameters}</Tab>}\n {hasBody && <Tab value=\"body\">{strings.requestBody}</Tab>}\n <Tab value=\"responses\">{strings.responses}</Tab>\n {hasSecurity && <Tab value=\"security\">{strings.security}</Tab>}\n </TabList>\n\n {hasParams && (\n <TabPanel value=\"parameters\" keepMounted>\n <div className=\"flex flex-col gap-4 pt-3\">\n {([\"path\", \"query\", \"header\", \"cookie\"] as const).map((location) => {\n const list = byLocation.get(location);\n if (!list?.length) return null;\n return (\n <div key={location}>\n <h4 className=\"mb-1.5 text-xs font-semibold text-tertiary\">{strings.locationLabel[location]}</h4>\n <DescriptionList className=\"flex flex-col gap-3\">\n {list.map((p) => (\n <SchemaView key={p.name} doc={doc} schema={p.schema} name={p.name} required={p.required} />\n ))}\n </DescriptionList>\n </div>\n );\n })}\n </div>\n </TabPanel>\n )}\n\n {hasBody && operation.requestBody && (\n <TabPanel value=\"body\" keepMounted>\n <div className=\"pt-3\">\n {operation.requestBody.description && (\n <div className=\"mb-2 text-sm text-secondary\">\n <Markdown>{operation.requestBody.description}</Markdown>\n </div>\n )}\n {operation.requestBody.required && (\n <Badge tone=\"danger\" size=\"sm\" className=\"mb-2\">\n {strings.required}\n </Badge>\n )}\n <MediaTypeList doc={doc} content={operation.requestBody.content} />\n </div>\n </TabPanel>\n )}\n\n <TabPanel value=\"responses\" keepMounted>\n {/* Every status starts EXPANDED — an operation rarely declares more\n than a handful, and a reader scanning \"what can this answer\"\n should never have to click each one open first. */}\n <Accordion className=\"pt-3\" defaultValue={Object.keys(operation.responses)}>\n {Object.entries(operation.responses).map(([status, response]) => (\n <AccordionItem key={status} value={status} title={<ResponseTitle status={status} description={response.description} />}>\n {response.content ? (\n <MediaTypeList doc={doc} content={response.content} />\n ) : (\n <p className=\"py-2 text-sm text-tertiary\">{strings.noResponseBody}</p>\n )}\n </AccordionItem>\n ))}\n </Accordion>\n </TabPanel>\n\n {hasSecurity && security && (\n <TabPanel value=\"security\" keepMounted>\n <div className=\"pt-3\">\n <SecurityRequirements doc={doc} security={security} />\n </div>\n </TabPanel>\n )}\n </Tabs>\n );\n}\n\nexport interface OperationCardProps {\n doc: OpenApiDocument;\n resolved: ResolvedOperation;\n className?: string;\n}\n\n/** One operation, header AND detail both always mounted — for a consumer\n * embedding a single operation's full detail on its own page (nothing to\n * lazy-mount when there's only one). `OpenApiViewer`'s own list uses\n * `OperationHeader`/`OperationDetail` directly instead, so it can lazy-mount\n * the detail per row — see this file's own header comment. */\nexport function OperationCard({ doc, resolved, className }: OperationCardProps) {\n const id = resolvedAnchorId(resolved);\n return (\n <div id={id} className={cn(\"scroll-mt-20 rounded-lg border border-border bg-surface p-4\", className)}>\n <OperationHeader resolved={resolved} />\n <OperationDetail doc={doc} resolved={resolved} className=\"mt-3\" />\n </div>\n );\n}\n\nfunction ResponseTitle({ status, description }: { status: string; description: string }) {\n const tone: BadgeProps[\"tone\"] = status.startsWith(\"2\") ? \"success\" : status.startsWith(\"4\") ? \"warning\" : status.startsWith(\"5\") ? \"danger\" : \"neutral\";\n return (\n <span className=\"flex min-w-0 flex-wrap items-center gap-2\">\n <Badge tone={tone} size=\"sm\" className=\"font-mono\">\n {status}\n </Badge>\n <span className=\"truncate text-sm text-secondary\">{description}</span>\n </span>\n );\n}\n\nfunction MediaTypeList({ doc, content }: { doc: OpenApiDocument; content: Record<string, OpenApiMediaType> }) {\n const strings = useUiStrings().operationCard;\n const entries = Object.entries(content);\n if (entries.length === 0) return null;\n return (\n <div className=\"flex flex-col gap-4\">\n {entries.map(([mediaType, media]) => {\n const resolution = resolveSchema(doc, media.schema);\n const example = media.example ?? Object.values(media.examples ?? {})[0]?.value ?? schemaToExample(doc, media.schema);\n return (\n <div key={mediaType} className=\"min-w-0\">\n <p className=\"mb-1.5 font-mono text-2xs text-tertiary\">{mediaType}</p>\n {media.schema && (\n <div className=\"mb-3\">\n <SchemaView doc={doc} schema={media.schema} />\n </div>\n )}\n {example !== undefined && (\n /* I18N-ALLOW: CodeBlock language id naming the JSON grammar */\n <CodeBlock code={JSON.stringify(example, null, 2)} language=\"json\" filename={strings.example} />\n )}\n {resolution?.unresolved && resolution.ref && (\n <p className=\"mt-1 text-2xs text-tertiary\">{strings.couldNotResolve(resolution.ref)}</p>\n )}\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction SecurityRequirements({ doc, security }: { doc: OpenApiDocument; security: readonly OpenApiSecurityRequirement[] }) {\n const strings = useUiStrings().operationCard;\n return (\n <div className=\"flex flex-col gap-3\">\n {security.map((requirement, index) => {\n const names = Object.keys(requirement);\n if (names.length === 0) return null;\n return (\n <div key={index}>\n {index > 0 && <p className=\"mb-1.5 text-2xs font-medium uppercase text-tertiary\">{strings.securityOr}</p>}\n <DescriptionList className=\"flex flex-col gap-2\">\n {names.map((name) => {\n const scheme = doc.components?.securitySchemes?.[name];\n const scopes = requirement[name];\n return (\n <DescriptionListItem key={name} term={name}>\n <div className=\"flex flex-col gap-1\">\n {scheme && (\n <span className=\"text-sm text-secondary\">\n {/* I18N-ALLOW: OpenAPI security scheme type and scheme names, copied from the document as written */}\n {scheme.type === \"http\" ? `${scheme.type} (${scheme.scheme ?? \"bearer\"})` : scheme.type}\n {scheme.description ? ` — ${scheme.description}` : \"\"}\n </span>\n )}\n {scopes.length > 0 && (\n <div className=\"flex flex-wrap gap-1\">\n {scopes.map((scope) => (\n <Badge key={scope} size=\"sm\" tone=\"accent\">\n {scope}\n </Badge>\n ))}\n </div>\n )}\n </div>\n </DescriptionListItem>\n );\n })}\n </DescriptionList>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction CopyLinkButton({ id }: { id: string }) {\n const strings = useUiStrings().operationCard;\n const [copied, setCopied] = useState(false);\n\n return (\n <IconButton\n icon={<CopyLinkIcon copied={copied} />}\n label={copied ? strings.linkCopied : strings.copyLink}\n variant=\"ghost\"\n onClick={() => {\n if (typeof window === \"undefined\") return;\n const url = `${window.location.origin}${window.location.pathname}${window.location.search}#${id}`;\n void copyText(url).then(() => {\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1500);\n });\n }}\n />\n );\n}\n\nfunction CopyLinkIcon({ copied }: { copied: boolean }) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n {copied ? (\n <path d=\"M20 6 9 17l-5-5\" />\n ) : (\n <>\n <path d=\"M10 13a5 5 0 0 0 7.07 0l2.83-2.83a5 5 0 0 0-7.07-7.07l-1.5 1.5\" />\n <path d=\"M14 11a5 5 0 0 0-7.07 0L4.1 13.83a5 5 0 0 0 7.07 7.07l1.5-1.5\" />\n </>\n )}\n </svg>\n );\n}\n"],"names":["METHOD_TONE","OperationHeader","resolved","showCopyLink","className","strings","useUiStrings","method","path","operation","id","resolvedAnchorId","cn","jsxs","jsx","Badge","CopyLinkButton","Markdown","OperationDetail","doc","pathParameters","params","mergedParameters","byLocation","p","list","hasParams","hasBody","security","hasSecurity","Tabs","TabList","Tab","TabPanel","location","DescriptionList","SchemaView","MediaTypeList","Accordion","status","response","AccordionItem","ResponseTitle","SecurityRequirements","OperationCard","description","tone","content","entries","mediaType","media","resolution","resolveSchema","example","schemaToExample","CodeBlock","requirement","index","names","name","scheme","scopes","DescriptionListItem","scope","copied","setCopied","useState","IconButton","CopyLinkIcon","url","copyText","Fragment"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { jsxs as y, jsx as e } from "react/jsx-runtime";
2
+ import { cn as N } from "../../lib/cn.js";
3
+ import { Badge as x } from "../Badge.js";
4
+ import { resolveSchema as D } from "./resolve.js";
5
+ import { useUiStrings as z } from "../../lib/i18n/provider.js";
6
+ const L = 8;
7
+ function R(r, n) {
8
+ const s = r.type;
9
+ return typeof s == "string" ? s : Array.isArray(s) ? s.join(" | ") : r.allOf ? n.allOf : r.oneOf ? n.oneOf : r.anyOf ? n.anyOf : r.properties ? n.object : r.enum ? n.enum : n.any;
10
+ }
11
+ function u({ doc: r, schema: n, name: s, required: l, depth: i = 0, seen: d = /* @__PURE__ */ new Set(), className: h }) {
12
+ const c = z().schemaView;
13
+ if (!n) return null;
14
+ const a = D(r, n, d), t = a?.schema ?? n, b = a?.ref?.split("/").pop(), p = a?.ref ? /* @__PURE__ */ new Set([...d, a.ref]) : d;
15
+ if (a?.unresolved && a.ref)
16
+ return /* @__PURE__ */ y(g, { name: s, required: l, depth: i, className: h, children: [
17
+ /* @__PURE__ */ e(x, { size: "sm", tone: "neutral", children: b ?? a.ref }),
18
+ /* @__PURE__ */ e("span", { className: "text-2xs text-tertiary", children: c.circularReference })
19
+ ] });
20
+ if (i > L)
21
+ return /* @__PURE__ */ e(g, { name: s, required: l, depth: i, className: h, children: /* @__PURE__ */ e("span", { className: "text-2xs text-tertiary", children: c.nestedFurther }) });
22
+ const w = typeof t.description == "string" ? t.description : void 0, A = R(t, c), V = t.deprecated === !0, O = ["allOf", "oneOf", "anyOf"].find(
23
+ (o) => Array.isArray(t[o]) && t[o].length > 0
24
+ ), v = t.properties, q = new Set(Array.isArray(t.required) ? t.required : []), S = t.items, j = Array.isArray(t.enum) ? t.enum : void 0, m = t.additionalProperties, P = m && typeof m == "object" && !Array.isArray(m) ? m : void 0;
25
+ return /* @__PURE__ */ y(g, { name: s, required: l, depth: i, className: h, children: [
26
+ /* @__PURE__ */ e("span", { className: "font-mono text-2xs text-tertiary", children: b ? `${A} · ${b}` : A }),
27
+ V && /* @__PURE__ */ e(x, { size: "sm", tone: "warning", children: c.deprecated }),
28
+ typeof t.format == "string" && /* @__PURE__ */ e("span", { className: "text-2xs text-tertiary", children: c.format(t.format) }),
29
+ w && /* @__PURE__ */ e("p", { className: "mt-1 text-sm text-secondary", children: w }),
30
+ j && /* @__PURE__ */ e("div", { className: "mt-1 flex flex-wrap gap-1", children: j.map((o, f) => /* @__PURE__ */ e(x, { size: "sm", tone: "accent", children: String(o) }, f)) }),
31
+ O && /* @__PURE__ */ e("div", { className: "mt-1.5 flex flex-col gap-2 border-l border-border-subtle pl-3", children: t[O].map((o, f) => /* @__PURE__ */ e(u, { doc: r, schema: o, depth: i + 1, seen: p }, f)) }),
32
+ v && Object.keys(v).length > 0 && /* @__PURE__ */ e("dl", { className: "mt-1.5 flex flex-col gap-2 border-l border-border-subtle pl-3", children: Object.entries(v).map(([o, f]) => /* @__PURE__ */ e(
33
+ u,
34
+ {
35
+ doc: r,
36
+ schema: f,
37
+ name: o,
38
+ required: q.has(o),
39
+ depth: i + 1,
40
+ seen: p
41
+ },
42
+ o
43
+ )) }),
44
+ S && /* @__PURE__ */ e("div", { className: "mt-1.5 border-l border-border-subtle pl-3", children: /* @__PURE__ */ e(u, { doc: r, schema: S, name: "[]", depth: i + 1, seen: p }) }),
45
+ m === !0 && /* @__PURE__ */ e("p", { className: "mt-1.5 text-2xs text-tertiary", children: c.additionalProperties }),
46
+ P && /* @__PURE__ */ e("div", { className: "mt-1.5 border-l border-border-subtle pl-3", children: /* @__PURE__ */ e(u, { doc: r, schema: P, name: "[key: string]", depth: i + 1, seen: p }) })
47
+ ] });
48
+ }
49
+ function g({
50
+ name: r,
51
+ required: n,
52
+ depth: s,
53
+ className: l,
54
+ children: i
55
+ }) {
56
+ const d = z().schemaView;
57
+ return r === void 0 && s === 0 ? /* @__PURE__ */ e("div", { className: N("min-w-0", l), children: i }) : /* @__PURE__ */ y("div", { className: N("min-w-0", l), children: [
58
+ r !== void 0 && /* @__PURE__ */ y("dt", { className: "flex flex-wrap items-baseline gap-1.5", children: [
59
+ /* @__PURE__ */ e("span", { className: "font-mono text-sm font-medium text-primary", children: r }),
60
+ n && /* @__PURE__ */ e(x, { size: "sm", tone: "danger", children: d.required })
61
+ ] }),
62
+ /* @__PURE__ */ e("dd", { className: N(r !== void 0 && "mt-0.5"), children: i })
63
+ ] });
64
+ }
65
+ export {
66
+ u as SchemaView
67
+ };
68
+ //# sourceMappingURL=SchemaView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaView.js","sources":["../../../src/components/openapi/SchemaView.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { useUiStrings, type UiStrings } from \"../../lib/i18n\";\nimport { Badge } from \"../Badge\";\nimport { resolveSchema } from \"./resolve\";\nimport type { OpenApiDocument, OpenApiSchema } from \"./types\";\n\n/* ============================================================================\n SCHEMA VIEW — a recursive JSON Schema property tree (DX-3668, internal).\n\n NOT `Tree`. `@50arms/ui`'s `Tree` is a SELECTION widget (`selectedId`,\n `onSelect`) over an already-known node list — schema nesting is neither: a\n property has no identity to select, and the same schema (`components.\n schemas.Foo`) can appear at a dozen unrelated paths in one document. This\n renders as nested `<dl>`s instead (matching `DescriptionList`'s own\n semantics one level down), indentation carrying depth the way it already\n does in `EditGutter`.\n\n A `$ref` LOOP RENDERS ONE LEVEL DEEP AND STOPS, never recurses forever —\n `seen` tracks refs on the current branch (not globally: the same `$ref`\n legitimately appears at unrelated properties, e.g. two fields both typed\n `Actor`) and a repeat prints its name as a closed, unexpandable badge\n instead of re-walking the schema.\n\n `additionalProperties: true` AND A SCHEMA VALUE BOTH RENDER (DX-3668 round\n 2) — `false` and \"absent\" do NOT, deliberately: JSON Schema's own default\n when the keyword is omitted is permissive (`true`), so an object with no\n `additionalProperties` and no `properties` reads correctly as \"any object\n shape\" with nothing extra to say, and `false` is already implied by a\n `properties` list shown with no further annotation (\"just these fields\").\n `true` and a schema value are the two shapes that would otherwise be\n silently invisible: `true` on an object that ALSO declares named\n `properties` (open bag PLUS some guaranteed fields — danxbot's own\n `overlay`/`ErrorEnvelope` schemas are exactly this), and a schema value\n (danxbot has none today, but any dictionary/map-shaped body — `Record<string,\n T>` — is written this way) needs its OWN nested `SchemaView`, not a badge,\n since a reader needs to see what the map's values themselves look like.\n ========================================================================= */\n\nexport interface SchemaViewProps {\n doc: Pick<OpenApiDocument, \"components\">;\n schema: OpenApiSchema | undefined;\n /** Rendered as `<dt>` at depth 0 — a parameter name, `requestBody`, a\n * response status. Omit at depth 0 for an anonymous root (an array's item\n * schema, a combinator branch). */\n name?: string;\n required?: boolean;\n depth?: number;\n seen?: ReadonlySet<string>;\n className?: string;\n}\n\nconst MAX_DISPLAY_DEPTH = 8;\n\nfunction typeLabel(schema: OpenApiSchema, strings: UiStrings[\"schemaView\"]): string {\n const type = schema.type;\n if (typeof type === \"string\") return type;\n if (Array.isArray(type)) return type.join(\" | \");\n if (schema.allOf) return strings.allOf;\n if (schema.oneOf) return strings.oneOf;\n if (schema.anyOf) return strings.anyOf;\n if (schema.properties) return strings.object;\n if (schema.enum) return strings.enum;\n return strings.any;\n}\n\nexport function SchemaView({ doc, schema, name, required, depth = 0, seen = new Set(), className }: SchemaViewProps) {\n const strings = useUiStrings().schemaView;\n if (!schema) return null;\n\n const resolution = resolveSchema(doc, schema, seen);\n const resolved = resolution?.schema ?? schema;\n const refName = resolution?.ref?.split(\"/\").pop();\n const nextSeen = resolution?.ref ? new Set([...seen, resolution.ref]) : seen;\n\n if (resolution?.unresolved && resolution.ref) {\n return (\n <SchemaRow name={name} required={required} depth={depth} className={className}>\n <Badge size=\"sm\" tone=\"neutral\">\n {refName ?? resolution.ref}\n </Badge>\n <span className=\"text-2xs text-tertiary\">{strings.circularReference}</span>\n </SchemaRow>\n );\n }\n\n if (depth > MAX_DISPLAY_DEPTH) {\n return (\n <SchemaRow name={name} required={required} depth={depth} className={className}>\n <span className=\"text-2xs text-tertiary\">{strings.nestedFurther}</span>\n </SchemaRow>\n );\n }\n\n const description = typeof resolved.description === \"string\" ? resolved.description : undefined;\n const type = typeLabel(resolved, strings);\n const deprecated = resolved.deprecated === true;\n\n const combined = ([\"allOf\", \"oneOf\", \"anyOf\"] as const).find(\n (key) => Array.isArray(resolved[key]) && (resolved[key] as unknown[]).length > 0,\n );\n const properties = resolved.properties as Record<string, OpenApiSchema> | undefined;\n const requiredNames = new Set(Array.isArray(resolved.required) ? (resolved.required as string[]) : []);\n const items = resolved.items as OpenApiSchema | undefined;\n const enumValues = Array.isArray(resolved.enum) ? (resolved.enum as unknown[]) : undefined;\n const additionalProperties = resolved.additionalProperties;\n const additionalPropertiesSchema =\n additionalProperties && typeof additionalProperties === \"object\" && !Array.isArray(additionalProperties)\n ? (additionalProperties as OpenApiSchema)\n : undefined;\n\n return (\n <SchemaRow name={name} required={required} depth={depth} className={className}>\n <span className=\"font-mono text-2xs text-tertiary\">{refName ? `${type} · ${refName}` : type}</span>\n {deprecated && (\n <Badge size=\"sm\" tone=\"warning\">\n {strings.deprecated}\n </Badge>\n )}\n {typeof resolved.format === \"string\" && <span className=\"text-2xs text-tertiary\">{strings.format(resolved.format)}</span>}\n {description && <p className=\"mt-1 text-sm text-secondary\">{description}</p>}\n\n {enumValues && (\n <div className=\"mt-1 flex flex-wrap gap-1\">\n {enumValues.map((value, index) => (\n <Badge key={index} size=\"sm\" tone=\"accent\">\n {String(value)}\n </Badge>\n ))}\n </div>\n )}\n\n {combined && (\n <div className=\"mt-1.5 flex flex-col gap-2 border-l border-border-subtle pl-3\">\n {(resolved[combined] as OpenApiSchema[]).map((branch, index) => (\n <SchemaView key={index} doc={doc} schema={branch} depth={depth + 1} seen={nextSeen} />\n ))}\n </div>\n )}\n\n {properties && Object.keys(properties).length > 0 && (\n <dl className=\"mt-1.5 flex flex-col gap-2 border-l border-border-subtle pl-3\">\n {Object.entries(properties).map(([propName, propSchema]) => (\n <SchemaView\n key={propName}\n doc={doc}\n schema={propSchema}\n name={propName}\n required={requiredNames.has(propName)}\n depth={depth + 1}\n seen={nextSeen}\n />\n ))}\n </dl>\n )}\n\n {items && (\n <div className=\"mt-1.5 border-l border-border-subtle pl-3\">\n <SchemaView doc={doc} schema={items} name=\"[]\" depth={depth + 1} seen={nextSeen} />\n </div>\n )}\n\n {additionalProperties === true && (\n <p className=\"mt-1.5 text-2xs text-tertiary\">{strings.additionalProperties}</p>\n )}\n {additionalPropertiesSchema && (\n <div className=\"mt-1.5 border-l border-border-subtle pl-3\">\n <SchemaView doc={doc} schema={additionalPropertiesSchema} name=\"[key: string]\" depth={depth + 1} seen={nextSeen} />\n </div>\n )}\n </SchemaRow>\n );\n}\n\nfunction SchemaRow({\n name,\n required,\n depth,\n className,\n children,\n}: {\n name?: string;\n required?: boolean;\n depth: number;\n className?: string;\n children: ReactNode;\n}) {\n const strings = useUiStrings().schemaView;\n if (name === undefined && depth === 0) {\n return <div className={cn(\"min-w-0\", className)}>{children}</div>;\n }\n return (\n <div className={cn(\"min-w-0\", className)}>\n {name !== undefined && (\n <dt className=\"flex flex-wrap items-baseline gap-1.5\">\n <span className=\"font-mono text-sm font-medium text-primary\">{name}</span>\n {required && (\n <Badge size=\"sm\" tone=\"danger\">\n {strings.required}\n </Badge>\n )}\n </dt>\n )}\n <dd className={cn(name !== undefined && \"mt-0.5\")}>{children}</dd>\n </div>\n );\n}\n"],"names":["MAX_DISPLAY_DEPTH","typeLabel","schema","strings","type","SchemaView","doc","name","required","depth","seen","className","useUiStrings","resolution","resolveSchema","resolved","refName","nextSeen","jsxs","SchemaRow","jsx","Badge","description","deprecated","combined","key","properties","requiredNames","items","enumValues","additionalProperties","additionalPropertiesSchema","value","index","branch","propName","propSchema","children","cn"],"mappings":";;;;;AAoDA,MAAMA,IAAoB;AAE1B,SAASC,EAAUC,GAAuBC,GAA0C;AAClF,QAAMC,IAAOF,EAAO;AACpB,SAAI,OAAOE,KAAS,WAAiBA,IACjC,MAAM,QAAQA,CAAI,IAAUA,EAAK,KAAK,KAAK,IAC3CF,EAAO,QAAcC,EAAQ,QAC7BD,EAAO,QAAcC,EAAQ,QAC7BD,EAAO,QAAcC,EAAQ,QAC7BD,EAAO,aAAmBC,EAAQ,SAClCD,EAAO,OAAaC,EAAQ,OACzBA,EAAQ;AACjB;AAEO,SAASE,EAAW,EAAE,KAAAC,GAAK,QAAAJ,GAAQ,MAAAK,GAAM,UAAAC,GAAU,OAAAC,IAAQ,GAAG,MAAAC,IAAO,oBAAI,IAAA,GAAO,WAAAC,KAA8B;AACnH,QAAMR,IAAUS,IAAe;AAC/B,MAAI,CAACV,EAAQ,QAAO;AAEpB,QAAMW,IAAaC,EAAcR,GAAKJ,GAAQQ,CAAI,GAC5CK,IAAWF,GAAY,UAAUX,GACjCc,IAAUH,GAAY,KAAK,MAAM,GAAG,EAAE,IAAA,GACtCI,IAAWJ,GAAY,MAAM,oBAAI,IAAI,CAAC,GAAGH,GAAMG,EAAW,GAAG,CAAC,IAAIH;AAExE,MAAIG,GAAY,cAAcA,EAAW;AACvC,WACE,gBAAAK,EAACC,GAAA,EAAU,MAAAZ,GAAY,UAAAC,GAAoB,OAAAC,GAAc,WAAAE,GACvD,UAAA;AAAA,MAAA,gBAAAS,EAACC,KAAM,MAAK,MAAK,MAAK,WACnB,UAAAL,KAAWH,EAAW,IAAA,CACzB;AAAA,MACA,gBAAAO,EAAC,QAAA,EAAK,WAAU,0BAA0B,YAAQ,kBAAA,CAAkB;AAAA,IAAA,GACtE;AAIJ,MAAIX,IAAQT;AACV,WACE,gBAAAoB,EAACD,GAAA,EAAU,MAAAZ,GAAY,UAAAC,GAAoB,OAAAC,GAAc,WAAAE,GACvD,UAAA,gBAAAS,EAAC,QAAA,EAAK,WAAU,0BAA0B,UAAAjB,EAAQ,cAAA,CAAc,GAClE;AAIJ,QAAMmB,IAAc,OAAOP,EAAS,eAAgB,WAAWA,EAAS,cAAc,QAChFX,IAAOH,EAAUc,GAAUZ,CAAO,GAClCoB,IAAaR,EAAS,eAAe,IAErCS,IAAY,CAAC,SAAS,SAAS,OAAO,EAAY;AAAA,IACtD,CAACC,MAAQ,MAAM,QAAQV,EAASU,CAAG,CAAC,KAAMV,EAASU,CAAG,EAAgB,SAAS;AAAA,EAAA,GAE3EC,IAAaX,EAAS,YACtBY,IAAgB,IAAI,IAAI,MAAM,QAAQZ,EAAS,QAAQ,IAAKA,EAAS,WAAwB,EAAE,GAC/Fa,IAAQb,EAAS,OACjBc,IAAa,MAAM,QAAQd,EAAS,IAAI,IAAKA,EAAS,OAAqB,QAC3Ee,IAAuBf,EAAS,sBAChCgB,IACJD,KAAwB,OAAOA,KAAyB,YAAY,CAAC,MAAM,QAAQA,CAAoB,IAClGA,IACD;AAEN,SACE,gBAAAZ,EAACC,GAAA,EAAU,MAAAZ,GAAY,UAAAC,GAAoB,OAAAC,GAAc,WAAAE,GACvD,UAAA;AAAA,IAAA,gBAAAS,EAAC,QAAA,EAAK,WAAU,oCAAoC,UAAAJ,IAAU,GAAGZ,CAAI,MAAMY,CAAO,KAAKZ,EAAA,CAAK;AAAA,IAC3FmB,uBACEF,GAAA,EAAM,MAAK,MAAK,MAAK,WACnB,YAAQ,WAAA,CACX;AAAA,IAED,OAAON,EAAS,UAAW,YAAY,gBAAAK,EAAC,QAAA,EAAK,WAAU,0BAA0B,UAAAjB,EAAQ,OAAOY,EAAS,MAAM,EAAA,CAAE;AAAA,IACjHO,KAAe,gBAAAF,EAAC,KAAA,EAAE,WAAU,+BAA+B,UAAAE,GAAY;AAAA,IAEvEO,uBACE,OAAA,EAAI,WAAU,6BACZ,UAAAA,EAAW,IAAI,CAACG,GAAOC,wBACrBZ,GAAA,EAAkB,MAAK,MAAK,MAAK,UAC/B,iBAAOW,CAAK,EAAA,GADHC,CAEZ,CACD,EAAA,CACH;AAAA,IAGDT,KACC,gBAAAJ,EAAC,OAAA,EAAI,WAAU,iEACX,YAASI,CAAQ,EAAsB,IAAI,CAACU,GAAQD,wBACnD5B,GAAA,EAAuB,KAAAC,GAAU,QAAQ4B,GAAQ,OAAOzB,IAAQ,GAAG,MAAMQ,EAAA,GAAzDgB,CAAmE,CACrF,EAAA,CACH;AAAA,IAGDP,KAAc,OAAO,KAAKA,CAAU,EAAE,SAAS,uBAC7C,MAAA,EAAG,WAAU,iEACX,UAAA,OAAO,QAAQA,CAAU,EAAE,IAAI,CAAC,CAACS,GAAUC,CAAU,MACpD,gBAAAhB;AAAA,MAACf;AAAA,MAAA;AAAA,QAEC,KAAAC;AAAA,QACA,QAAQ8B;AAAA,QACR,MAAMD;AAAA,QACN,UAAUR,EAAc,IAAIQ,CAAQ;AAAA,QACpC,OAAO1B,IAAQ;AAAA,QACf,MAAMQ;AAAA,MAAA;AAAA,MANDkB;AAAA,IAAA,CAQR,GACH;AAAA,IAGDP,KACC,gBAAAR,EAAC,OAAA,EAAI,WAAU,6CACb,4BAACf,GAAA,EAAW,KAAAC,GAAU,QAAQsB,GAAO,MAAK,MAAK,OAAOnB,IAAQ,GAAG,MAAMQ,GAAU,GACnF;AAAA,IAGDa,MAAyB,MACxB,gBAAAV,EAAC,OAAE,WAAU,iCAAiC,YAAQ,sBAAqB;AAAA,IAE5EW,KACC,gBAAAX,EAAC,OAAA,EAAI,WAAU,6CACb,4BAACf,GAAA,EAAW,KAAAC,GAAU,QAAQyB,GAA4B,MAAK,iBAAgB,OAAOtB,IAAQ,GAAG,MAAMQ,GAAU,EAAA,CACnH;AAAA,EAAA,GAEJ;AAEJ;AAEA,SAASE,EAAU;AAAA,EACjB,MAAAZ;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAE;AAAA,EACA,UAAA0B;AACF,GAMG;AACD,QAAMlC,IAAUS,IAAe;AAC/B,SAAIL,MAAS,UAAaE,MAAU,sBAC1B,OAAA,EAAI,WAAW6B,EAAG,WAAW3B,CAAS,GAAI,UAAA0B,GAAS,sBAG1D,OAAA,EAAI,WAAWC,EAAG,WAAW3B,CAAS,GACpC,UAAA;AAAA,IAAAJ,MAAS,UACR,gBAAAW,EAAC,MAAA,EAAG,WAAU,yCACZ,UAAA;AAAA,MAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,8CAA8C,UAAAb,GAAK;AAAA,MAClEC,uBACEa,GAAA,EAAM,MAAK,MAAK,MAAK,UACnB,YAAQ,SAAA,CACX;AAAA,IAAA,GAEJ;AAAA,IAEF,gBAAAD,EAAC,QAAG,WAAWkB,EAAG/B,MAAS,UAAa,QAAQ,GAAI,UAAA8B,EAAA,CAAS;AAAA,EAAA,GAC/D;AAEJ;"}
@@ -0,0 +1,102 @@
1
+ import { collator as m } from "../../lib/intl-cache.js";
2
+ import { HTTP_METHODS as y } from "./types.js";
3
+ const d = new Set(y);
4
+ function v(e) {
5
+ return d.has(e);
6
+ }
7
+ const b = /^#\/components\/schemas\/([^/]+)$/;
8
+ function c(e, t, r = /* @__PURE__ */ new Set()) {
9
+ if (!t) return;
10
+ const o = t.$ref;
11
+ if (typeof o != "string") return { schema: t };
12
+ const s = b.exec(o);
13
+ if (!s) return { schema: t, ref: o, unresolved: !0 };
14
+ if (r.has(o)) return { schema: t, ref: o, unresolved: !0 };
15
+ const i = e.components?.schemas?.[s[1]];
16
+ if (!i) return { schema: t, ref: o, unresolved: !0 };
17
+ const u = c(e, i, /* @__PURE__ */ new Set([...r, o]));
18
+ return u ? { ...u, ref: o } : { schema: i, ref: o };
19
+ }
20
+ function w(e, t) {
21
+ const r = new Set((t ?? []).map((s) => `${s.in}:${s.name}`));
22
+ return [...e.filter((s) => !r.has(`${s.in}:${s.name}`)), ...t ?? []];
23
+ }
24
+ function x(e, t, r) {
25
+ const o = Object.entries(e.paths).flatMap(([n, f]) => g(n, f)), s = o.some((n) => (n.operation.tags?.length ?? 0) > 0), i = new Map((e.tags ?? []).map((n) => [n.name, n.description])), u = /* @__PURE__ */ new Map();
26
+ for (const n of o) {
27
+ const f = s ? n.operation.tags?.length ? n.operation.tags : [t.untaggedGroup] : [O(n.path)];
28
+ for (const a of f) {
29
+ const p = u.get(a);
30
+ p ? p.push(n) : u.set(a, [n]);
31
+ }
32
+ }
33
+ return [...u.entries()].sort(([n], [f]) => m(r).compare(n, f)).map(([n, f]) => ({ name: n, description: i.get(n), operations: f }));
34
+ }
35
+ function g(e, t, r) {
36
+ const o = t.parameters ?? [], s = [];
37
+ for (const i of Object.keys(t)) {
38
+ if (!v(i)) continue;
39
+ const u = t[i];
40
+ u && s.push({ method: i, path: e, operation: u, pathParameters: o, ...r && { webhook: r } });
41
+ }
42
+ return s;
43
+ }
44
+ function M(e) {
45
+ return Object.entries(e.webhooks ?? {}).flatMap(([t, r]) => g(t, r, !0));
46
+ }
47
+ function O(e) {
48
+ return e.split("/").find((r) => r.length > 0 && !r.startsWith("{")) ?? "/";
49
+ }
50
+ function $(e, t, r) {
51
+ const o = t.toLowerCase().replace(/[{}]/g, "").replace(/[^a-z0-9/]+/g, "-").replace(/\/+/g, "-").replace(/^-+|-+$/g, "");
52
+ return `${r ? "webhook" : "operation"}-${e}-${o}`;
53
+ }
54
+ function E(e) {
55
+ return $(e.method, e.path, e.webhook);
56
+ }
57
+ const A = 6;
58
+ function l(e, t, r = 0) {
59
+ if (!t || r > A) return;
60
+ if ("example" in t) return t.example;
61
+ if (Array.isArray(t.examples) && t.examples.length > 0) return t.examples[0];
62
+ if ("default" in t) return t.default;
63
+ if ("const" in t) return t.const;
64
+ if (Array.isArray(t.enum) && t.enum.length > 0) return t.enum[0];
65
+ const o = c(e, t), s = o?.unresolved ? t : o?.schema ?? t;
66
+ if (s !== t && s.$ref === void 0)
67
+ return l(e, s, r);
68
+ for (const u of ["allOf", "oneOf", "anyOf"]) {
69
+ const n = t[u];
70
+ if (Array.isArray(n) && n.length > 0)
71
+ return u === "allOf" ? n.reduce((f, a) => {
72
+ const p = l(e, a, r + 1);
73
+ return p && typeof p == "object" ? { ...f, ...p } : f;
74
+ }, {}) : l(e, n[0], r + 1);
75
+ }
76
+ const i = t.type;
77
+ if (i === "object" || t.properties && i === void 0) {
78
+ const u = t.properties ?? {}, n = {};
79
+ for (const [f, a] of Object.entries(u))
80
+ n[f] = l(e, a, r + 1);
81
+ return n;
82
+ }
83
+ if (i === "array") {
84
+ const u = t.items;
85
+ return u ? [l(e, u, r + 1)] : [];
86
+ }
87
+ if (i === "string") return typeof t.format == "string" ? `<${t.format}>` : "string";
88
+ if (i === "integer" || i === "number") return 0;
89
+ if (i === "boolean") return !0;
90
+ if (i === "null") return null;
91
+ }
92
+ export {
93
+ x as groupOperations,
94
+ v as isHttpMethod,
95
+ w as mergedParameters,
96
+ $ as operationAnchorId,
97
+ c as resolveSchema,
98
+ M as resolveWebhooks,
99
+ E as resolvedAnchorId,
100
+ l as schemaToExample
101
+ };
102
+ //# sourceMappingURL=resolve.js.map