@diegopluna/narvi 0.0.0-stage → 0.0.1

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 (351) hide show
  1. package/README.md +82 -2
  2. package/dist/components/activity/ActivityContent.svelte +55 -0
  3. package/dist/components/activity/ActivityContent.svelte.d.ts +11 -0
  4. package/dist/components/activity/ActivityRoot.svelte +66 -0
  5. package/dist/components/activity/ActivityRoot.svelte.d.ts +17 -0
  6. package/dist/components/activity/ActivityStep.svelte +157 -0
  7. package/dist/components/activity/ActivityStep.svelte.d.ts +26 -0
  8. package/dist/components/activity/ActivityThought.svelte +60 -0
  9. package/dist/components/activity/ActivityThought.svelte.d.ts +10 -0
  10. package/dist/components/activity/ActivityTrigger.svelte +103 -0
  11. package/dist/components/activity/ActivityTrigger.svelte.d.ts +20 -0
  12. package/dist/components/activity/context.d.ts +7 -0
  13. package/dist/components/activity/context.js +11 -0
  14. package/dist/components/activity/index.d.ts +11 -0
  15. package/dist/components/activity/index.js +6 -0
  16. package/dist/components/announcer/Announcer.svelte +84 -0
  17. package/dist/components/announcer/Announcer.svelte.d.ts +13 -0
  18. package/dist/components/app-shell/AppShellHeader.svelte +54 -0
  19. package/dist/components/app-shell/AppShellHeader.svelte.d.ts +15 -0
  20. package/dist/components/app-shell/AppShellMain.svelte +49 -0
  21. package/dist/components/app-shell/AppShellMain.svelte.d.ts +11 -0
  22. package/dist/components/app-shell/AppShellPanel.svelte +107 -0
  23. package/dist/components/app-shell/AppShellPanel.svelte.d.ts +18 -0
  24. package/dist/components/app-shell/AppShellRoot.svelte +136 -0
  25. package/dist/components/app-shell/AppShellRoot.svelte.d.ts +28 -0
  26. package/dist/components/app-shell/AppShellSidebar.svelte +192 -0
  27. package/dist/components/app-shell/AppShellSidebar.svelte.d.ts +17 -0
  28. package/dist/components/app-shell/AppShellToggle.svelte +50 -0
  29. package/dist/components/app-shell/AppShellToggle.svelte.d.ts +10 -0
  30. package/dist/components/app-shell/context.d.ts +15 -0
  31. package/dist/components/app-shell/context.js +15 -0
  32. package/dist/components/app-shell/index.d.ts +15 -0
  33. package/dist/components/app-shell/index.js +8 -0
  34. package/dist/components/approval/Approval.svelte +213 -0
  35. package/dist/components/approval/Approval.svelte.d.ts +38 -0
  36. package/dist/components/avatar/AvatarFallback.svelte +73 -0
  37. package/dist/components/avatar/AvatarFallback.svelte.d.ts +11 -0
  38. package/dist/components/avatar/AvatarImage.svelte +75 -0
  39. package/dist/components/avatar/AvatarImage.svelte.d.ts +11 -0
  40. package/dist/components/avatar/AvatarRoot.svelte +108 -0
  41. package/dist/components/avatar/AvatarRoot.svelte.d.ts +19 -0
  42. package/dist/components/avatar/context.d.ts +11 -0
  43. package/dist/components/avatar/context.js +11 -0
  44. package/dist/components/avatar/index.d.ts +7 -0
  45. package/dist/components/avatar/index.js +6 -0
  46. package/dist/components/badge/Badge.svelte +78 -0
  47. package/dist/components/badge/Badge.svelte.d.ts +15 -0
  48. package/dist/components/button/Button.svelte +270 -0
  49. package/dist/components/button/Button.svelte.d.ts +22 -0
  50. package/dist/components/card/Card.svelte +65 -0
  51. package/dist/components/card/Card.svelte.d.ts +15 -0
  52. package/dist/components/change-stats/ChangeStats.svelte +52 -0
  53. package/dist/components/change-stats/ChangeStats.svelte.d.ts +14 -0
  54. package/dist/components/changes-summary/ChangesSummary.svelte +152 -0
  55. package/dist/components/changes-summary/ChangesSummary.svelte.d.ts +20 -0
  56. package/dist/components/checkbox/Checkbox.svelte +178 -0
  57. package/dist/components/checkbox/Checkbox.svelte.d.ts +19 -0
  58. package/dist/components/code/Code.svelte +33 -0
  59. package/dist/components/code/Code.svelte.d.ts +10 -0
  60. package/dist/components/command/CommandDialog.svelte +37 -0
  61. package/dist/components/command/CommandDialog.svelte.d.ts +12 -0
  62. package/dist/components/command/CommandEmpty.svelte +20 -0
  63. package/dist/components/command/CommandEmpty.svelte.d.ts +11 -0
  64. package/dist/components/command/CommandFooter.svelte +25 -0
  65. package/dist/components/command/CommandFooter.svelte.d.ts +11 -0
  66. package/dist/components/command/CommandGroup.svelte +25 -0
  67. package/dist/components/command/CommandGroup.svelte.d.ts +12 -0
  68. package/dist/components/command/CommandInput.svelte +33 -0
  69. package/dist/components/command/CommandInput.svelte.d.ts +8 -0
  70. package/dist/components/command/CommandItem.svelte +49 -0
  71. package/dist/components/command/CommandItem.svelte.d.ts +16 -0
  72. package/dist/components/command/CommandList.svelte +21 -0
  73. package/dist/components/command/CommandList.svelte.d.ts +10 -0
  74. package/dist/components/command/CommandRoot.svelte +20 -0
  75. package/dist/components/command/CommandRoot.svelte.d.ts +11 -0
  76. package/dist/components/command/index.d.ts +20 -0
  77. package/dist/components/command/index.js +12 -0
  78. package/dist/components/command/styles.d.ts +117 -0
  79. package/dist/components/command/styles.js +121 -0
  80. package/dist/components/composer/ComposerAttachButton.svelte +55 -0
  81. package/dist/components/composer/ComposerAttachButton.svelte.d.ts +14 -0
  82. package/dist/components/composer/ComposerAttachment.svelte +173 -0
  83. package/dist/components/composer/ComposerAttachment.svelte.d.ts +13 -0
  84. package/dist/components/composer/ComposerAttachments.svelte +63 -0
  85. package/dist/components/composer/ComposerAttachments.svelte.d.ts +13 -0
  86. package/dist/components/composer/ComposerModelPicker.svelte +475 -0
  87. package/dist/components/composer/ComposerModelPicker.svelte.d.ts +27 -0
  88. package/dist/components/composer/ComposerRoot.svelte +315 -0
  89. package/dist/components/composer/ComposerRoot.svelte.d.ts +42 -0
  90. package/dist/components/composer/ComposerSubmit.svelte +131 -0
  91. package/dist/components/composer/ComposerSubmit.svelte.d.ts +13 -0
  92. package/dist/components/composer/ComposerTextarea.svelte +109 -0
  93. package/dist/components/composer/ComposerTextarea.svelte.d.ts +9 -0
  94. package/dist/components/composer/ComposerToggle.svelte +106 -0
  95. package/dist/components/composer/ComposerToggle.svelte.d.ts +14 -0
  96. package/dist/components/composer/ComposerToolbar.svelte +29 -0
  97. package/dist/components/composer/ComposerToolbar.svelte.d.ts +11 -0
  98. package/dist/components/composer/context.d.ts +53 -0
  99. package/dist/components/composer/context.js +32 -0
  100. package/dist/components/composer/index.d.ts +21 -0
  101. package/dist/components/composer/index.js +13 -0
  102. package/dist/components/conversation/ConversationContent.svelte +94 -0
  103. package/dist/components/conversation/ConversationContent.svelte.d.ts +15 -0
  104. package/dist/components/conversation/ConversationEmpty.svelte +89 -0
  105. package/dist/components/conversation/ConversationEmpty.svelte.d.ts +16 -0
  106. package/dist/components/conversation/ConversationRoot.svelte +237 -0
  107. package/dist/components/conversation/ConversationRoot.svelte.d.ts +20 -0
  108. package/dist/components/conversation/ConversationScrollButton.svelte +114 -0
  109. package/dist/components/conversation/ConversationScrollButton.svelte.d.ts +14 -0
  110. package/dist/components/conversation/context.d.ts +28 -0
  111. package/dist/components/conversation/context.js +15 -0
  112. package/dist/components/conversation/index.d.ts +11 -0
  113. package/dist/components/conversation/index.js +8 -0
  114. package/dist/components/conversation/scrolling.d.ts +25 -0
  115. package/dist/components/conversation/scrolling.js +60 -0
  116. package/dist/components/dev-styles/DevStyles.svelte +21 -0
  117. package/dist/components/dev-styles/DevStyles.svelte.d.ts +3 -0
  118. package/dist/components/dialog/ConfirmDialog.svelte +157 -0
  119. package/dist/components/dialog/ConfirmDialog.svelte.d.ts +31 -0
  120. package/dist/components/dialog/DialogBody.svelte +19 -0
  121. package/dist/components/dialog/DialogBody.svelte.d.ts +10 -0
  122. package/dist/components/dialog/DialogContent.svelte +55 -0
  123. package/dist/components/dialog/DialogContent.svelte.d.ts +17 -0
  124. package/dist/components/dialog/DialogDescription.svelte +23 -0
  125. package/dist/components/dialog/DialogDescription.svelte.d.ts +10 -0
  126. package/dist/components/dialog/DialogFooter.svelte +19 -0
  127. package/dist/components/dialog/DialogFooter.svelte.d.ts +10 -0
  128. package/dist/components/dialog/DialogHeader.svelte +19 -0
  129. package/dist/components/dialog/DialogHeader.svelte.d.ts +10 -0
  130. package/dist/components/dialog/DialogTitle.svelte +20 -0
  131. package/dist/components/dialog/DialogTitle.svelte.d.ts +10 -0
  132. package/dist/components/dialog/index.d.ts +17 -0
  133. package/dist/components/dialog/index.js +12 -0
  134. package/dist/components/dialog/styles.d.ts +120 -0
  135. package/dist/components/dialog/styles.js +136 -0
  136. package/dist/components/divider/Divider.svelte +42 -0
  137. package/dist/components/divider/Divider.svelte.d.ts +11 -0
  138. package/dist/components/empty-state/EmptyState.svelte +82 -0
  139. package/dist/components/empty-state/EmptyState.svelte.d.ts +15 -0
  140. package/dist/components/field/Field.svelte +132 -0
  141. package/dist/components/field/Field.svelte.d.ts +23 -0
  142. package/dist/components/field/context.d.ts +12 -0
  143. package/dist/components/field/context.js +9 -0
  144. package/dist/components/frame/Frame.svelte +88 -0
  145. package/dist/components/frame/Frame.svelte.d.ts +19 -0
  146. package/dist/components/heading/Heading.svelte +82 -0
  147. package/dist/components/heading/Heading.svelte.d.ts +16 -0
  148. package/dist/components/input/Input.svelte +47 -0
  149. package/dist/components/input/Input.svelte.d.ts +14 -0
  150. package/dist/components/kbd/Kbd.svelte +40 -0
  151. package/dist/components/kbd/Kbd.svelte.d.ts +11 -0
  152. package/dist/components/link/Link.svelte +68 -0
  153. package/dist/components/link/Link.svelte.d.ts +16 -0
  154. package/dist/components/menu/ContextMenuContent.svelte +33 -0
  155. package/dist/components/menu/ContextMenuContent.svelte.d.ts +11 -0
  156. package/dist/components/menu/ContextMenuTrigger.svelte +44 -0
  157. package/dist/components/menu/ContextMenuTrigger.svelte.d.ts +11 -0
  158. package/dist/components/menu/MenuCheckboxItem.svelte +43 -0
  159. package/dist/components/menu/MenuCheckboxItem.svelte.d.ts +11 -0
  160. package/dist/components/menu/MenuContent.svelte +36 -0
  161. package/dist/components/menu/MenuContent.svelte.d.ts +10 -0
  162. package/dist/components/menu/MenuItem.svelte +41 -0
  163. package/dist/components/menu/MenuItem.svelte.d.ts +16 -0
  164. package/dist/components/menu/MenuLabel.svelte +24 -0
  165. package/dist/components/menu/MenuLabel.svelte.d.ts +10 -0
  166. package/dist/components/menu/MenuRadioItem.svelte +54 -0
  167. package/dist/components/menu/MenuRadioItem.svelte.d.ts +12 -0
  168. package/dist/components/menu/MenuSeparator.svelte +19 -0
  169. package/dist/components/menu/MenuSeparator.svelte.d.ts +8 -0
  170. package/dist/components/menu/MenuSubContent.svelte +34 -0
  171. package/dist/components/menu/MenuSubContent.svelte.d.ts +10 -0
  172. package/dist/components/menu/MenuSubTrigger.svelte +35 -0
  173. package/dist/components/menu/MenuSubTrigger.svelte.d.ts +11 -0
  174. package/dist/components/menu/context-menu.d.ts +11 -0
  175. package/dist/components/menu/context-menu.js +10 -0
  176. package/dist/components/menu/index.js +16 -0
  177. package/dist/components/message/MessageAction.svelte +62 -0
  178. package/dist/components/message/MessageAction.svelte.d.ts +16 -0
  179. package/dist/components/message/MessageActions.svelte +77 -0
  180. package/dist/components/message/MessageActions.svelte.d.ts +19 -0
  181. package/dist/components/message/MessageContent.svelte +68 -0
  182. package/dist/components/message/MessageContent.svelte.d.ts +12 -0
  183. package/dist/components/message/MessageCopy.svelte +106 -0
  184. package/dist/components/message/MessageCopy.svelte.d.ts +16 -0
  185. package/dist/components/message/MessageHeader.svelte +74 -0
  186. package/dist/components/message/MessageHeader.svelte.d.ts +15 -0
  187. package/dist/components/message/MessagePending.svelte +44 -0
  188. package/dist/components/message/MessagePending.svelte.d.ts +10 -0
  189. package/dist/components/message/MessageRoot.svelte +79 -0
  190. package/dist/components/message/MessageRoot.svelte.d.ts +20 -0
  191. package/dist/components/message/MessageTime.svelte +58 -0
  192. package/dist/components/message/MessageTime.svelte.d.ts +12 -0
  193. package/dist/components/message/context.d.ts +7 -0
  194. package/dist/components/message/context.js +11 -0
  195. package/dist/components/message/index.d.ts +18 -0
  196. package/dist/components/message/index.js +11 -0
  197. package/dist/components/notice/Notice.svelte +111 -0
  198. package/dist/components/notice/Notice.svelte.d.ts +26 -0
  199. package/dist/components/plan/Plan.svelte +198 -0
  200. package/dist/components/plan/Plan.svelte.d.ts +18 -0
  201. package/dist/components/popover/PopoverContent.svelte +42 -0
  202. package/dist/components/popover/PopoverContent.svelte.d.ts +10 -0
  203. package/dist/components/popover/index.d.ts +7 -0
  204. package/dist/components/popover/index.js +7 -0
  205. package/dist/components/progress/Progress.svelte +113 -0
  206. package/dist/components/progress/Progress.svelte.d.ts +11 -0
  207. package/dist/components/questionnaire/Questionnaire.svelte +315 -0
  208. package/dist/components/questionnaire/Questionnaire.svelte.d.ts +33 -0
  209. package/dist/components/queued-message/QueuedMessage.svelte +133 -0
  210. package/dist/components/queued-message/QueuedMessage.svelte.d.ts +23 -0
  211. package/dist/components/rail/RailItem.svelte +170 -0
  212. package/dist/components/rail/RailItem.svelte.d.ts +21 -0
  213. package/dist/components/rail/RailRoot.svelte +46 -0
  214. package/dist/components/rail/RailRoot.svelte.d.ts +13 -0
  215. package/dist/components/rail/RailSpacer.svelte +2 -0
  216. package/dist/components/rail/RailSpacer.svelte.d.ts +26 -0
  217. package/dist/components/rail/index.d.ts +6 -0
  218. package/dist/components/rail/index.js +4 -0
  219. package/dist/components/reasoning/ReasoningContent.svelte +56 -0
  220. package/dist/components/reasoning/ReasoningContent.svelte.d.ts +12 -0
  221. package/dist/components/reasoning/ReasoningRoot.svelte +102 -0
  222. package/dist/components/reasoning/ReasoningRoot.svelte.d.ts +25 -0
  223. package/dist/components/reasoning/ReasoningTrigger.svelte +106 -0
  224. package/dist/components/reasoning/ReasoningTrigger.svelte.d.ts +18 -0
  225. package/dist/components/reasoning/context.d.ts +8 -0
  226. package/dist/components/reasoning/context.js +11 -0
  227. package/dist/components/reasoning/index.d.ts +7 -0
  228. package/dist/components/reasoning/index.js +6 -0
  229. package/dist/components/resize-handle/ResizeHandle.svelte +177 -0
  230. package/dist/components/resize-handle/ResizeHandle.svelte.d.ts +29 -0
  231. package/dist/components/rolling-text/RollingText.svelte +51 -0
  232. package/dist/components/rolling-text/RollingText.svelte.d.ts +11 -0
  233. package/dist/components/segmented/SegmentedControl.svelte +171 -0
  234. package/dist/components/segmented/SegmentedControl.svelte.d.ts +20 -0
  235. package/dist/components/select/Select.svelte +146 -0
  236. package/dist/components/select/Select.svelte.d.ts +31 -0
  237. package/dist/components/separator/Separator.svelte +48 -0
  238. package/dist/components/separator/Separator.svelte.d.ts +11 -0
  239. package/dist/components/settings-row/SettingsRow.svelte +97 -0
  240. package/dist/components/settings-row/SettingsRow.svelte.d.ts +21 -0
  241. package/dist/components/shimmer/Shimmer.svelte +66 -0
  242. package/dist/components/shimmer/Shimmer.svelte.d.ts +12 -0
  243. package/dist/components/sidebar/SidebarContent.svelte +70 -0
  244. package/dist/components/sidebar/SidebarContent.svelte.d.ts +13 -0
  245. package/dist/components/sidebar/SidebarFooter.svelte +33 -0
  246. package/dist/components/sidebar/SidebarFooter.svelte.d.ts +10 -0
  247. package/dist/components/sidebar/SidebarGroup.svelte +123 -0
  248. package/dist/components/sidebar/SidebarGroup.svelte.d.ts +19 -0
  249. package/dist/components/sidebar/SidebarHeader.svelte +39 -0
  250. package/dist/components/sidebar/SidebarHeader.svelte.d.ts +12 -0
  251. package/dist/components/sidebar/SidebarItem.svelte +236 -0
  252. package/dist/components/sidebar/SidebarItem.svelte.d.ts +27 -0
  253. package/dist/components/sidebar/index.d.ts +11 -0
  254. package/dist/components/sidebar/index.js +6 -0
  255. package/dist/components/skeleton/Skeleton.svelte +61 -0
  256. package/dist/components/skeleton/Skeleton.svelte.d.ts +13 -0
  257. package/dist/components/spinner/Spinner.svelte +57 -0
  258. package/dist/components/spinner/Spinner.svelte.d.ts +12 -0
  259. package/dist/components/stack/Stack.svelte +99 -0
  260. package/dist/components/stack/Stack.svelte.d.ts +19 -0
  261. package/dist/components/status-indicator/StatusIndicator.svelte +97 -0
  262. package/dist/components/status-indicator/StatusIndicator.svelte.d.ts +14 -0
  263. package/dist/components/suggestions/SuggestionsItem.svelte +104 -0
  264. package/dist/components/suggestions/SuggestionsItem.svelte.d.ts +14 -0
  265. package/dist/components/suggestions/SuggestionsRoot.svelte +80 -0
  266. package/dist/components/suggestions/SuggestionsRoot.svelte.d.ts +20 -0
  267. package/dist/components/suggestions/context.d.ts +7 -0
  268. package/dist/components/suggestions/context.js +8 -0
  269. package/dist/components/suggestions/index.d.ts +5 -0
  270. package/dist/components/suggestions/index.js +5 -0
  271. package/dist/components/switch/Switch.svelte +175 -0
  272. package/dist/components/switch/Switch.svelte.d.ts +17 -0
  273. package/dist/components/tabs/Tabs.svelte +170 -0
  274. package/dist/components/tabs/Tabs.svelte.d.ts +22 -0
  275. package/dist/components/text/Text.svelte +88 -0
  276. package/dist/components/text/Text.svelte.d.ts +20 -0
  277. package/dist/components/textarea/Textarea.svelte +64 -0
  278. package/dist/components/textarea/Textarea.svelte.d.ts +13 -0
  279. package/dist/components/theme/Theme.svelte +49 -0
  280. package/dist/components/theme/Theme.svelte.d.ts +25 -0
  281. package/dist/components/toast/Toaster.svelte +223 -0
  282. package/dist/components/toast/Toaster.svelte.d.ts +9 -0
  283. package/dist/components/toast/toasts.svelte.d.ts +55 -0
  284. package/dist/components/toast/toasts.svelte.js +66 -0
  285. package/dist/components/tool/ToolContent.svelte +51 -0
  286. package/dist/components/tool/ToolContent.svelte.d.ts +11 -0
  287. package/dist/components/tool/ToolInput.svelte +21 -0
  288. package/dist/components/tool/ToolInput.svelte.d.ts +14 -0
  289. package/dist/components/tool/ToolOutput.svelte +33 -0
  290. package/dist/components/tool/ToolOutput.svelte.d.ts +16 -0
  291. package/dist/components/tool/ToolRoot.svelte +94 -0
  292. package/dist/components/tool/ToolRoot.svelte.d.ts +23 -0
  293. package/dist/components/tool/ToolSection.svelte +102 -0
  294. package/dist/components/tool/ToolSection.svelte.d.ts +16 -0
  295. package/dist/components/tool/ToolTrigger.svelte +191 -0
  296. package/dist/components/tool/ToolTrigger.svelte.d.ts +14 -0
  297. package/dist/components/tool/context.d.ts +18 -0
  298. package/dist/components/tool/context.js +11 -0
  299. package/dist/components/tool/index.d.ts +12 -0
  300. package/dist/components/tool/index.js +8 -0
  301. package/dist/components/tooltip/TooltipContent.svelte +76 -0
  302. package/dist/components/tooltip/TooltipContent.svelte.d.ts +12 -0
  303. package/dist/components/tooltip/TooltipRoot.svelte +37 -0
  304. package/dist/components/tooltip/TooltipRoot.svelte.d.ts +10 -0
  305. package/dist/components/tooltip/TooltipTrigger.svelte +25 -0
  306. package/dist/components/tooltip/TooltipTrigger.svelte.d.ts +5 -0
  307. package/dist/components/tooltip/index.d.ts +13 -0
  308. package/dist/components/tooltip/index.js +10 -0
  309. package/dist/components/tooltip/intent.d.ts +2 -0
  310. package/dist/components/tooltip/intent.js +29 -0
  311. package/dist/components/work-fold/WorkFold.svelte +100 -0
  312. package/dist/components/work-fold/WorkFold.svelte.d.ts +15 -0
  313. package/dist/index.d.ts +127 -0
  314. package/dist/index.js +93 -0
  315. package/dist/internal/Chevron.svelte +28 -0
  316. package/dist/internal/Chevron.svelte.d.ts +7 -0
  317. package/dist/internal/Code.svelte +70 -0
  318. package/dist/internal/Code.svelte.d.ts +10 -0
  319. package/dist/internal/Collapse.svelte +57 -0
  320. package/dist/internal/Collapse.svelte.d.ts +12 -0
  321. package/dist/internal/Glyph.svelte +89 -0
  322. package/dist/internal/Glyph.svelte.d.ts +37 -0
  323. package/dist/internal/Tile.svelte +86 -0
  324. package/dist/internal/Tile.svelte.d.ts +15 -0
  325. package/dist/internal/control.d.ts +58 -0
  326. package/dist/internal/control.js +74 -0
  327. package/dist/internal/disclosure.d.ts +7 -0
  328. package/dist/internal/disclosure.js +1 -0
  329. package/dist/internal/json.d.ts +13 -0
  330. package/dist/internal/json.js +51 -0
  331. package/dist/internal/kinds.d.ts +9 -0
  332. package/dist/internal/kinds.js +25 -0
  333. package/dist/internal/layer.d.ts +103 -0
  334. package/dist/internal/layer.js +129 -0
  335. package/dist/internal/loop.d.ts +35 -0
  336. package/dist/internal/loop.js +72 -0
  337. package/dist/internal/markers.stylex.d.ts +14 -0
  338. package/dist/internal/markers.stylex.js +10 -0
  339. package/dist/internal/roving.d.ts +17 -0
  340. package/dist/internal/roving.js +68 -0
  341. package/dist/internal/shared.d.ts +36 -0
  342. package/dist/internal/shared.js +44 -0
  343. package/dist/internal/sx.d.ts +14 -0
  344. package/dist/internal/sx.js +11 -0
  345. package/dist/preset.d.ts +102 -0
  346. package/dist/preset.js +334 -0
  347. package/dist/tokens.stylex.d.ts +104 -0
  348. package/dist/tokens.stylex.js +125 -0
  349. package/dist/vite.d.ts +16 -0
  350. package/dist/vite.js +58 -0
  351. package/package.json +123 -5
@@ -0,0 +1,37 @@
1
+ <script lang="ts" module>
2
+ import { Tooltip } from 'bits-ui';
3
+ import { setContext } from 'svelte';
4
+ import { arrivedByKeyboard, listenForNavigation } from './intent.js';
5
+
6
+ import type { Snippet } from 'svelte';
7
+
8
+ export type TooltipRootProps = Omit<Tooltip.RootProps, 'children'> & {
9
+ /** A Tooltip.Trigger and a Tooltip.Content. */
10
+ children?: Snippet;
11
+ };
12
+ export const HOVER_KEY = Symbol('narvi.tooltip.hover');
13
+ </script>
14
+
15
+ <script lang="ts">
16
+ let { open = $bindable(false), children, ...rest }: TooltipRootProps = $props();
17
+
18
+ listenForNavigation();
19
+
20
+ // The trigger says when the pointer is over it; anything else that opens the
21
+ // tooltip is focus, which only counts when it came from the keyboard
22
+ let hovering = false;
23
+ setContext(HOVER_KEY, (value: boolean) => (hovering = value));
24
+ </script>
25
+
26
+ <Tooltip.Root
27
+ bind:open={
28
+ () => open,
29
+ (next) => {
30
+ if (next && !hovering && !arrivedByKeyboard()) return;
31
+ open = next;
32
+ }
33
+ }
34
+ {...rest}
35
+ >
36
+ {@render children?.()}
37
+ </Tooltip.Root>
@@ -0,0 +1,10 @@
1
+ import { Tooltip } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ export type TooltipRootProps = Omit<Tooltip.RootProps, 'children'> & {
4
+ /** A Tooltip.Trigger and a Tooltip.Content. */
5
+ children?: Snippet;
6
+ };
7
+ export declare const HOVER_KEY: unique symbol;
8
+ declare const TooltipRoot: import("svelte").Component<TooltipRootProps, {}, "open">;
9
+ type TooltipRoot = ReturnType<typeof TooltipRoot>;
10
+ export default TooltipRoot;
@@ -0,0 +1,25 @@
1
+ <script lang="ts" module>
2
+ import { Tooltip } from 'bits-ui';
3
+ import { getContext } from 'svelte';
4
+ import { HOVER_KEY } from './TooltipRoot.svelte';
5
+
6
+ export type TooltipTriggerProps = Tooltip.TriggerProps;
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ let { onpointerenter, onpointerleave, ...rest }: TooltipTriggerProps = $props();
11
+
12
+ const hover = getContext<((value: boolean) => void) | undefined>(HOVER_KEY);
13
+ </script>
14
+
15
+ <Tooltip.Trigger
16
+ {...rest}
17
+ onpointerenter={(event) => {
18
+ hover?.(true);
19
+ onpointerenter?.(event);
20
+ }}
21
+ onpointerleave={(event) => {
22
+ hover?.(false);
23
+ onpointerleave?.(event);
24
+ }}
25
+ />
@@ -0,0 +1,5 @@
1
+ import { Tooltip } from 'bits-ui';
2
+ export type TooltipTriggerProps = Tooltip.TriggerProps;
3
+ declare const TooltipTrigger: import("svelte").Component<TooltipTriggerProps, {}, "">;
4
+ type TooltipTrigger = ReturnType<typeof TooltipTrigger>;
5
+ export default TooltipTrigger;
@@ -0,0 +1,13 @@
1
+ import { Tooltip } from 'bits-ui';
2
+ import Content from './TooltipContent.svelte';
3
+ import Root from './TooltipRoot.svelte';
4
+ import Trigger from './TooltipTrigger.svelte';
5
+ /**
6
+ * Place one Provider near the root of the app. Its delay applies to every
7
+ * tooltip inside, and once one is open the next opens without waiting.
8
+ */
9
+ declare const Provider: import("svelte").Component<Tooltip.ProviderProps, {}, "">;
10
+ export { Provider, Root, Trigger, Content };
11
+ export type { TooltipContentProps } from './TooltipContent.svelte';
12
+ export type { TooltipRootProps } from './TooltipRoot.svelte';
13
+ export type { TooltipTriggerProps } from './TooltipTrigger.svelte';
@@ -0,0 +1,10 @@
1
+ import { Tooltip } from 'bits-ui';
2
+ import Content from './TooltipContent.svelte';
3
+ import Root from './TooltipRoot.svelte';
4
+ import Trigger from './TooltipTrigger.svelte';
5
+ /**
6
+ * Place one Provider near the root of the app. Its delay applies to every
7
+ * tooltip inside, and once one is open the next opens without waiting.
8
+ */
9
+ const Provider = Tooltip.Provider;
10
+ export { Provider, Root, Trigger, Content };
@@ -0,0 +1,2 @@
1
+ export declare function listenForNavigation(): void;
2
+ export declare const arrivedByKeyboard: () => boolean;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Whether focus arrived from the keyboard just now. A tooltip should open on
3
+ * focus only then: when focus is handed back by a closing menu or dialog, or
4
+ * returns with the window, its tooltip popping open is noise. (Eregion, 9a4b4ecc.)
5
+ */
6
+ const NAVIGATION_KEYS = new Set([
7
+ 'Tab',
8
+ 'ArrowUp',
9
+ 'ArrowDown',
10
+ 'ArrowLeft',
11
+ 'ArrowRight',
12
+ 'Home',
13
+ 'End',
14
+ 'F6'
15
+ ]);
16
+ let lastNavigation = -Infinity;
17
+ let listening = false;
18
+ export function listenForNavigation() {
19
+ if (listening || typeof window === 'undefined')
20
+ return;
21
+ listening = true;
22
+ window.addEventListener('keydown', (event) => {
23
+ if (NAVIGATION_KEYS.has(event.key))
24
+ lastNavigation = performance.now();
25
+ }, { capture: true });
26
+ // A press of the pointer since then means the person is not navigating by keyboard
27
+ window.addEventListener('pointerdown', () => (lastNavigation = -Infinity), { capture: true });
28
+ }
29
+ export const arrivedByKeyboard = () => performance.now() - lastNavigation < 600;
@@ -0,0 +1,100 @@
1
+ <!--
2
+ Folds a finished turn's working away behind one line, "Worked for 2m 5s",
3
+ so the answer is what shows. Opened, the work hangs from a rule beneath it.
4
+ -->
5
+ <script lang="ts" module>
6
+ import * as stylex from '@stylexjs/stylex';
7
+ import type { Snippet } from 'svelte';
8
+ import Chevron from '../../internal/Chevron.svelte';
9
+ import Collapse from '../../internal/Collapse.svelte';
10
+ import { attrs, type Sx } from '../../internal/sx.js';
11
+ import Tile from '../../internal/Tile.svelte';
12
+ import { colors, font, motion, radius } from '../../tokens.stylex.js';
13
+
14
+ export type WorkFoldProps = {
15
+ /** What the fold holds, in words: "Worked for 2m 5s". */
16
+ label: string;
17
+ /** Whether the work shows. Bindable. */
18
+ open?: boolean;
19
+ sx?: Sx;
20
+ class?: string;
21
+ /** The turn's working: Reasoning, Activity rows, notes. */
22
+ children?: Snippet;
23
+ };
24
+
25
+ const HOVER = '@media (hover: hover) and (pointer: fine)';
26
+
27
+ const styles = stylex.create({
28
+ root: { display: 'flex', flexDirection: 'column', minWidth: 0 },
29
+ trigger: {
30
+ display: 'inline-flex',
31
+ alignItems: 'center',
32
+ alignSelf: 'flex-start',
33
+ gap: '0.625rem',
34
+ minHeight: '1.75rem',
35
+ margin: 0,
36
+ padding: 0,
37
+ borderWidth: 0,
38
+ borderRadius: radius.xs,
39
+ backgroundColor: 'transparent',
40
+ color: { default: colors.textMuted, ':hover': { default: null, [HOVER]: colors.text } },
41
+ fontFamily: 'inherit',
42
+ fontSize: font.sizeMd,
43
+ cursor: 'pointer',
44
+ outlineStyle: 'solid',
45
+ outlineWidth: { default: 0, ':focus-visible': '2px' },
46
+ outlineColor: colors.focusRing,
47
+ outlineOffset: '2px',
48
+ transitionProperty: 'color',
49
+ transitionDuration: motion.fast,
50
+ transitionTimingFunction: 'ease'
51
+ },
52
+ label: { display: 'inline-flex', alignItems: 'center', gap: '0.25rem' },
53
+ chevron: { display: 'grid', color: colors.textSubtle },
54
+ // The work hangs from a rail under the tile, its rows in line with the label
55
+ work: {
56
+ display: 'flex',
57
+ flexDirection: 'column',
58
+ gap: '0.75rem',
59
+ marginTop: '0.5rem',
60
+ marginBottom: '0.25rem',
61
+ marginInlineStart: 'calc(0.75rem - 0.5px)',
62
+ paddingInlineStart: 'calc(1.375rem - 0.5px)',
63
+ paddingBlock: '0.25rem',
64
+ borderInlineStartWidth: '1px',
65
+ borderInlineStartStyle: 'solid',
66
+ borderInlineStartColor: colors.line
67
+ }
68
+ });
69
+ </script>
70
+
71
+ <script lang="ts">
72
+ let { label, open = $bindable(false), sx, class: className, children }: WorkFoldProps = $props();
73
+
74
+ const uid = $props.id();
75
+ </script>
76
+
77
+ <div data-slot="work-fold" {...attrs([styles.root, sx], className)}>
78
+ <button
79
+ type="button"
80
+ id="{uid}-trigger"
81
+ aria-expanded={open}
82
+ aria-controls="{uid}-work"
83
+ {...stylex.attrs(styles.trigger)}
84
+ onclick={() => (open = !open)}
85
+ >
86
+ <Tile glyph="layers" />
87
+ <span {...stylex.attrs(styles.label)}
88
+ >{label}<span {...stylex.attrs(styles.chevron)}><Chevron {open} size={12} /></span></span
89
+ >
90
+ </button>
91
+ <Collapse
92
+ {open}
93
+ id="{uid}-work"
94
+ role="region"
95
+ aria-labelledby="{uid}-trigger"
96
+ innerSx={styles.work}
97
+ >
98
+ {@render children?.()}
99
+ </Collapse>
100
+ </div>
@@ -0,0 +1,15 @@
1
+ import type { Snippet } from 'svelte';
2
+ import { type Sx } from '../../internal/sx.js';
3
+ export type WorkFoldProps = {
4
+ /** What the fold holds, in words: "Worked for 2m 5s". */
5
+ label: string;
6
+ /** Whether the work shows. Bindable. */
7
+ open?: boolean;
8
+ sx?: Sx;
9
+ class?: string;
10
+ /** The turn's working: Reasoning, Activity rows, notes. */
11
+ children?: Snippet;
12
+ };
13
+ declare const WorkFold: import("svelte").Component<WorkFoldProps, {}, "open">;
14
+ type WorkFold = ReturnType<typeof WorkFold>;
15
+ export default WorkFold;
@@ -0,0 +1,127 @@
1
+ export { default as Approval } from './components/approval/Approval.svelte';
2
+ export type { ApprovalAnswer, ApprovalChoice, ApprovalProps } from './components/approval/Approval.svelte';
3
+ export * as AppShell from './components/app-shell/index.js';
4
+ export { getAppShellContext } from './components/app-shell/index.js';
5
+ export type { AppShellContext, AppShellHeaderProps, AppShellMainProps, AppShellPanelProps, AppShellRootProps, AppShellSidebarProps, AppShellToggleProps } from './components/app-shell/index.js';
6
+ export * as Activity from './components/activity/index.js';
7
+ export type { ActivityContentProps, ActivityRootProps, ActivityStepKind, ActivityStepProps, ActivityStepStatus, ActivityThoughtProps, ActivityTriggerProps } from './components/activity/index.js';
8
+ export { default as Announcer } from './components/announcer/Announcer.svelte';
9
+ export type { AnnouncerProps } from './components/announcer/Announcer.svelte';
10
+ export * as Avatar from './components/avatar/index.js';
11
+ export type { AvatarFallbackProps, AvatarImageProps, AvatarRootProps, AvatarSize } from './components/avatar/index.js';
12
+ export { default as Badge } from './components/badge/Badge.svelte';
13
+ export type { BadgeProps, BadgeTone } from './components/badge/Badge.svelte';
14
+ export { default as Button } from './components/button/Button.svelte';
15
+ export type { ButtonProps, ButtonSize, ButtonVariant } from './components/button/Button.svelte';
16
+ export { default as Card } from './components/card/Card.svelte';
17
+ export type { CardPadding, CardProps, CardVariant } from './components/card/Card.svelte';
18
+ export { default as ChangeStats } from './components/change-stats/ChangeStats.svelte';
19
+ export type { ChangeStatsProps } from './components/change-stats/ChangeStats.svelte';
20
+ export { default as ChangesSummary } from './components/changes-summary/ChangesSummary.svelte';
21
+ export type { ChangedFile, ChangesSummaryProps } from './components/changes-summary/ChangesSummary.svelte';
22
+ export { default as Checkbox } from './components/checkbox/Checkbox.svelte';
23
+ export type { CheckboxProps } from './components/checkbox/Checkbox.svelte';
24
+ export { default as Code } from './components/code/Code.svelte';
25
+ export type { CodeProps } from './components/code/Code.svelte';
26
+ export * as Command from './components/command/index.js';
27
+ export type { CommandDialogProps, CommandEmptyProps, CommandFooterProps, CommandGroupProps, CommandInputProps, CommandItemProps, CommandListProps, CommandRootProps } from './components/command/index.js';
28
+ export * as Composer from './components/composer/index.js';
29
+ export { getComposerContext } from './components/composer/index.js';
30
+ export type { ComposerAttachButtonProps, ComposerAttachmentProps, ComposerAttachmentsProps, ComposerContext, ComposerMessage, ComposerModel, ComposerModelPickerProps, ComposerRejection, ComposerRootProps, ComposerStatus, ComposerSubmitProps, ComposerTextareaProps, ComposerToggleProps, ComposerToolbarProps } from './components/composer/index.js';
31
+ export * as ContextMenu from './components/menu/context-menu.js';
32
+ export type { ContextMenuContentProps, ContextMenuTriggerProps } from './components/menu/context-menu.js';
33
+ export * as Conversation from './components/conversation/index.js';
34
+ export { getConversationContext } from './components/conversation/index.js';
35
+ export type { ConversationContentProps, ConversationContext, ConversationMode, ConversationEmptyProps, ConversationRootProps, ConversationScrollButtonProps } from './components/conversation/index.js';
36
+ export { default as ConfirmDialog } from './components/dialog/ConfirmDialog.svelte';
37
+ export type { ConfirmDialogProps } from './components/dialog/ConfirmDialog.svelte';
38
+ export * as Dialog from './components/dialog/index.js';
39
+ export type { DialogBodyProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogTitleProps } from './components/dialog/index.js';
40
+ export { default as Divider } from './components/divider/Divider.svelte';
41
+ export type { DividerProps } from './components/divider/Divider.svelte';
42
+ export { default as DevStyles } from './components/dev-styles/DevStyles.svelte';
43
+ export { default as EmptyState } from './components/empty-state/EmptyState.svelte';
44
+ export type { EmptyStateProps } from './components/empty-state/EmptyState.svelte';
45
+ export { default as Field } from './components/field/Field.svelte';
46
+ export type { FieldProps } from './components/field/Field.svelte';
47
+ export { getFieldContext } from './components/field/context.js';
48
+ export type { FieldContext } from './components/field/context.js';
49
+ export { default as Frame } from './components/frame/Frame.svelte';
50
+ export type { FrameProps } from './components/frame/Frame.svelte';
51
+ export { default as Heading } from './components/heading/Heading.svelte';
52
+ export type { HeadingLevel, HeadingProps, HeadingSize } from './components/heading/Heading.svelte';
53
+ export { default as Input } from './components/input/Input.svelte';
54
+ export type { InputProps, InputSize } from './components/input/Input.svelte';
55
+ export { default as Kbd } from './components/kbd/Kbd.svelte';
56
+ export type { KbdProps } from './components/kbd/Kbd.svelte';
57
+ export { default as Link } from './components/link/Link.svelte';
58
+ export type { LinkProps } from './components/link/Link.svelte';
59
+ export * as Menu from './components/menu/index.js';
60
+ export type { MenuCheckboxItemProps, MenuContentProps, MenuItemProps, MenuLabelProps, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentProps, MenuSubTriggerProps } from './components/menu/index.js';
61
+ export * as Message from './components/message/index.js';
62
+ export type { MessageActionProps, MessageActionsProps, MessageContentProps, MessageCopyProps, MessageFrom, MessageHeaderProps, MessagePendingProps, MessageRootProps, MessageTimeProps } from './components/message/index.js';
63
+ export { default as Notice } from './components/notice/Notice.svelte';
64
+ export type { NoticeProps, NoticeTone } from './components/notice/Notice.svelte';
65
+ export { default as Plan } from './components/plan/Plan.svelte';
66
+ export type { PlanProps, PlanStep, PlanStepStatus } from './components/plan/Plan.svelte';
67
+ export { default as Progress } from './components/progress/Progress.svelte';
68
+ export type { ProgressProps } from './components/progress/Progress.svelte';
69
+ export * as Popover from './components/popover/index.js';
70
+ export type { PopoverContentProps } from './components/popover/index.js';
71
+ export { default as Questionnaire } from './components/questionnaire/Questionnaire.svelte';
72
+ export type { Question, QuestionAnswer, QuestionnaireAnswers, QuestionnaireProps } from './components/questionnaire/Questionnaire.svelte';
73
+ export { default as QueuedMessage } from './components/queued-message/QueuedMessage.svelte';
74
+ export type { QueuedMessageProps, QueuedMessageStatus } from './components/queued-message/QueuedMessage.svelte';
75
+ export * as Rail from './components/rail/index.js';
76
+ export type { RailItemProps, RailRootProps } from './components/rail/index.js';
77
+ export * as Reasoning from './components/reasoning/index.js';
78
+ export type { ReasoningContentProps, ReasoningRootProps, ReasoningTriggerProps } from './components/reasoning/index.js';
79
+ export { default as ResizeHandle } from './components/resize-handle/ResizeHandle.svelte';
80
+ export type { ResizeHandleProps } from './components/resize-handle/ResizeHandle.svelte';
81
+ export { default as RollingText } from './components/rolling-text/RollingText.svelte';
82
+ export type { RollingTextProps } from './components/rolling-text/RollingText.svelte';
83
+ export { default as SegmentedControl } from './components/segmented/SegmentedControl.svelte';
84
+ export type { SegmentedControlProps, SegmentedOption } from './components/segmented/SegmentedControl.svelte';
85
+ export { default as Select } from './components/select/Select.svelte';
86
+ export type { SelectOption, SelectProps } from './components/select/Select.svelte';
87
+ export { default as Separator } from './components/separator/Separator.svelte';
88
+ export type { SeparatorProps } from './components/separator/Separator.svelte';
89
+ export { default as SettingsRow } from './components/settings-row/SettingsRow.svelte';
90
+ export type { SettingsRowProps } from './components/settings-row/SettingsRow.svelte';
91
+ export { default as Shimmer } from './components/shimmer/Shimmer.svelte';
92
+ export type { ShimmerProps } from './components/shimmer/Shimmer.svelte';
93
+ export * as Sidebar from './components/sidebar/index.js';
94
+ export type { SidebarContentProps, SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemProps } from './components/sidebar/index.js';
95
+ export { default as Skeleton } from './components/skeleton/Skeleton.svelte';
96
+ export type { SkeletonProps } from './components/skeleton/Skeleton.svelte';
97
+ export { default as Spinner } from './components/spinner/Spinner.svelte';
98
+ export type { SpinnerProps } from './components/spinner/Spinner.svelte';
99
+ export { default as Stack } from './components/stack/Stack.svelte';
100
+ export type { StackGap, StackProps } from './components/stack/Stack.svelte';
101
+ export * as Suggestions from './components/suggestions/index.js';
102
+ export type { SuggestionsItemProps, SuggestionsRootProps } from './components/suggestions/index.js';
103
+ export { default as StatusIndicator } from './components/status-indicator/StatusIndicator.svelte';
104
+ export type { Status, StatusIndicatorProps } from './components/status-indicator/StatusIndicator.svelte';
105
+ export { default as Switch } from './components/switch/Switch.svelte';
106
+ export type { SwitchProps } from './components/switch/Switch.svelte';
107
+ export { default as Tabs } from './components/tabs/Tabs.svelte';
108
+ export type { TabItem, TabsProps } from './components/tabs/Tabs.svelte';
109
+ export { default as Text } from './components/text/Text.svelte';
110
+ export type { TextProps, TextSize, TextTone, TextWeight } from './components/text/Text.svelte';
111
+ export { default as Textarea } from './components/textarea/Textarea.svelte';
112
+ export type { TextareaProps } from './components/textarea/Textarea.svelte';
113
+ export * as Tool from './components/tool/index.js';
114
+ export type { ToolContentProps, ToolInputProps, ToolOutputProps, ToolRootProps, ToolState, ToolTriggerProps } from './components/tool/index.js';
115
+ export { default as Toaster } from './components/toast/Toaster.svelte';
116
+ export type { ToasterProps } from './components/toast/Toaster.svelte';
117
+ export { toast } from './components/toast/toasts.svelte.js';
118
+ export type { ToastAction, ToastOptions, ToastTone } from './components/toast/toasts.svelte.js';
119
+ export * as Tooltip from './components/tooltip/index.js';
120
+ export type { TooltipContentProps, TooltipRootProps, TooltipTriggerProps } from './components/tooltip/index.js';
121
+ export { default as Theme } from './components/theme/Theme.svelte';
122
+ export type { ThemeOverrides, ThemeProps, ThemeScheme } from './components/theme/Theme.svelte';
123
+ export { default as WorkFold } from './components/work-fold/WorkFold.svelte';
124
+ export type { WorkFoldProps } from './components/work-fold/WorkFold.svelte';
125
+ export { loop, onLoop } from './internal/loop.js';
126
+ export type { LoopFrame } from './internal/loop.js';
127
+ export type { Sx } from './internal/sx.js';
package/dist/index.js ADDED
@@ -0,0 +1,93 @@
1
+ // Components
2
+ export { default as Approval } from './components/approval/Approval.svelte';
3
+ // Compound: <AppShell.Root>, <AppShell.Sidebar>, <AppShell.Main>, <AppShell.Header>,
4
+ // <AppShell.Panel>, <AppShell.Toggle>
5
+ export * as AppShell from './components/app-shell/index.js';
6
+ export { getAppShellContext } from './components/app-shell/index.js';
7
+ // Compound: <Activity.Root>, <Activity.Trigger>, <Activity.Content>, <Activity.Step>, <Activity.Thought>
8
+ export * as Activity from './components/activity/index.js';
9
+ export { default as Announcer } from './components/announcer/Announcer.svelte';
10
+ // Compound: <Avatar.Root>, <Avatar.Image>, <Avatar.Fallback>
11
+ export * as Avatar from './components/avatar/index.js';
12
+ export { default as Badge } from './components/badge/Badge.svelte';
13
+ export { default as Button } from './components/button/Button.svelte';
14
+ export { default as Card } from './components/card/Card.svelte';
15
+ export { default as ChangeStats } from './components/change-stats/ChangeStats.svelte';
16
+ export { default as ChangesSummary } from './components/changes-summary/ChangesSummary.svelte';
17
+ export { default as Checkbox } from './components/checkbox/Checkbox.svelte';
18
+ export { default as Code } from './components/code/Code.svelte';
19
+ // Compound: <Command.Dialog>, <Command.Root>, <Command.Input>, <Command.List>, <Command.Group>,
20
+ // <Command.Item>, <Command.Empty>, <Command.Separator>, <Command.Footer>
21
+ export * as Command from './components/command/index.js';
22
+ // Compound: <Composer.Root>, <Composer.Attachments>, <Composer.Textarea>, <Composer.Toolbar>,
23
+ // <Composer.AttachButton>, <Composer.Toggle>, <Composer.ModelPicker>, <Composer.Submit>
24
+ export * as Composer from './components/composer/index.js';
25
+ export { getComposerContext } from './components/composer/index.js';
26
+ // Compound: <ContextMenu.Root>, <ContextMenu.Trigger>, <ContextMenu.Content>, filled with Menu's parts
27
+ export * as ContextMenu from './components/menu/context-menu.js';
28
+ // Compound: <Conversation.Root>, <Conversation.Content>, <Conversation.ScrollButton>, <Conversation.Empty>
29
+ export * as Conversation from './components/conversation/index.js';
30
+ export { getConversationContext } from './components/conversation/index.js';
31
+ export { default as ConfirmDialog } from './components/dialog/ConfirmDialog.svelte';
32
+ // Compound: <Dialog.Root>, <Dialog.Trigger>, <Dialog.Content>, <Dialog.Header>, <Dialog.Title>,
33
+ // <Dialog.Description>, <Dialog.Body>, <Dialog.Footer>, <Dialog.Close>
34
+ export * as Dialog from './components/dialog/index.js';
35
+ export { default as Divider } from './components/divider/Divider.svelte';
36
+ export { default as DevStyles } from './components/dev-styles/DevStyles.svelte';
37
+ export { default as EmptyState } from './components/empty-state/EmptyState.svelte';
38
+ export { default as Field } from './components/field/Field.svelte';
39
+ export { getFieldContext } from './components/field/context.js';
40
+ export { default as Frame } from './components/frame/Frame.svelte';
41
+ export { default as Heading } from './components/heading/Heading.svelte';
42
+ export { default as Input } from './components/input/Input.svelte';
43
+ export { default as Kbd } from './components/kbd/Kbd.svelte';
44
+ export { default as Link } from './components/link/Link.svelte';
45
+ // Compound: <Menu.Root>, <Menu.Trigger>, <Menu.Content>, <Menu.Item>, <Menu.CheckboxItem>,
46
+ // <Menu.RadioGroup>, <Menu.RadioItem>, <Menu.Group>, <Menu.Label>, <Menu.Separator>, <Menu.Sub>…
47
+ export * as Menu from './components/menu/index.js';
48
+ // Compound: <Message.Root>, <Message.Header>, <Message.Pending>, <Message.Content>, <Message.Actions>, <Message.Action>, <Message.Copy>
49
+ export * as Message from './components/message/index.js';
50
+ export { default as Notice } from './components/notice/Notice.svelte';
51
+ export { default as Plan } from './components/plan/Plan.svelte';
52
+ export { default as Progress } from './components/progress/Progress.svelte';
53
+ // Compound: <Popover.Root>, <Popover.Trigger>, <Popover.Content>, <Popover.Close>
54
+ export * as Popover from './components/popover/index.js';
55
+ export { default as Questionnaire } from './components/questionnaire/Questionnaire.svelte';
56
+ export { default as QueuedMessage } from './components/queued-message/QueuedMessage.svelte';
57
+ // Compound: <Rail.Root>, <Rail.Item>, <Rail.Spacer>
58
+ export * as Rail from './components/rail/index.js';
59
+ // Compound: <Reasoning.Root>, <Reasoning.Trigger>, <Reasoning.Content>
60
+ export * as Reasoning from './components/reasoning/index.js';
61
+ export { default as ResizeHandle } from './components/resize-handle/ResizeHandle.svelte';
62
+ export { default as RollingText } from './components/rolling-text/RollingText.svelte';
63
+ export { default as SegmentedControl } from './components/segmented/SegmentedControl.svelte';
64
+ export { default as Select } from './components/select/Select.svelte';
65
+ export { default as Separator } from './components/separator/Separator.svelte';
66
+ export { default as SettingsRow } from './components/settings-row/SettingsRow.svelte';
67
+ export { default as Shimmer } from './components/shimmer/Shimmer.svelte';
68
+ // Compound: <Sidebar.Header>, <Sidebar.Content>, <Sidebar.Group>, <Sidebar.Item>, <Sidebar.Footer>
69
+ export * as Sidebar from './components/sidebar/index.js';
70
+ export { default as Skeleton } from './components/skeleton/Skeleton.svelte';
71
+ export { default as Spinner } from './components/spinner/Spinner.svelte';
72
+ export { default as Stack } from './components/stack/Stack.svelte';
73
+ // Compound: <Suggestions.Root>, <Suggestions.Item>
74
+ export * as Suggestions from './components/suggestions/index.js';
75
+ export { default as StatusIndicator } from './components/status-indicator/StatusIndicator.svelte';
76
+ export { default as Switch } from './components/switch/Switch.svelte';
77
+ export { default as Tabs } from './components/tabs/Tabs.svelte';
78
+ export { default as Text } from './components/text/Text.svelte';
79
+ export { default as Textarea } from './components/textarea/Textarea.svelte';
80
+ // Compound: <Tool.Root>, <Tool.Trigger>, <Tool.Content>, <Tool.Input>, <Tool.Output>
81
+ export * as Tool from './components/tool/index.js';
82
+ export { default as Toaster } from './components/toast/Toaster.svelte';
83
+ export { toast } from './components/toast/toasts.svelte.js';
84
+ // Compound: <Tooltip.Provider>, <Tooltip.Root>, <Tooltip.Trigger>, <Tooltip.Content>
85
+ export * as Tooltip from './components/tooltip/index.js';
86
+ export { default as Theme } from './components/theme/Theme.svelte';
87
+ export { default as WorkFold } from './components/work-fold/WorkFold.svelte';
88
+ // Utilities
89
+ // One shared, low-rate clock for anything that moves for as long as it is on
90
+ // screen. Spinner, Shimmer and Progress run on it; so can an app's own loops.
91
+ export { loop, onLoop } from './internal/loop.js';
92
+ // Design tokens live in `@diegopluna/narvi/tokens.stylex.js`. StyleX can only resolve them
93
+ // at build time when they are imported straight from that file.
@@ -0,0 +1,28 @@
1
+ <!-- The chevron of a folding part: points along the line when shut, down when open. -->
2
+ <script lang="ts" module>
3
+ import * as stylex from '@stylexjs/stylex';
4
+ import Glyph from './Glyph.svelte';
5
+ import { motion } from '../tokens.stylex.js';
6
+
7
+ const MOTION = '@media (prefers-reduced-motion: no-preference)';
8
+
9
+ const styles = stylex.create({
10
+ chevron: {
11
+ display: 'grid',
12
+ flexShrink: 0,
13
+ rotate: { default: '-90deg', ':dir(rtl)': '90deg' },
14
+ transitionProperty: { default: 'none', [MOTION]: 'rotate' },
15
+ transitionDuration: motion.slow,
16
+ transitionTimingFunction: motion.easeOut
17
+ },
18
+ open: { rotate: '0deg' }
19
+ });
20
+ </script>
21
+
22
+ <script lang="ts">
23
+ let { open, size = 14 }: { open: boolean; size?: number } = $props();
24
+ </script>
25
+
26
+ <span data-slot="chevron" {...stylex.attrs(styles.chevron, open && styles.open)}>
27
+ <Glyph name="chevron" {size} />
28
+ </span>
@@ -0,0 +1,7 @@
1
+ type $$ComponentProps = {
2
+ open: boolean;
3
+ size?: number;
4
+ };
5
+ declare const Chevron: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type Chevron = ReturnType<typeof Chevron>;
7
+ export default Chevron;
@@ -0,0 +1,70 @@
1
+ <!--
2
+ A value shown as code. Strings as they are; anything else as indented JSON,
3
+ coloured: keys in slate, strings in moss, numbers in copper, literals in heather.
4
+ -->
5
+ <script lang="ts" module>
6
+ import * as stylex from '@stylexjs/stylex';
7
+ import { tokenize } from './json.js';
8
+ import type { Sx } from './sx.js';
9
+ import { colors, font, radius } from '../tokens.stylex.js';
10
+
11
+ const styles = stylex.create({
12
+ pre: {
13
+ boxSizing: 'border-box',
14
+ maxHeight: '16rem',
15
+ margin: 0,
16
+ paddingBlock: '0.625rem',
17
+ paddingInline: '0.75rem',
18
+ overflow: 'auto',
19
+ borderRadius: radius.md,
20
+ backgroundColor: colors.well,
21
+ boxShadow: `inset 0 0 0 1px ${colors.line}`,
22
+ color: colors.text,
23
+ fontFamily: font.mono,
24
+ fontSize: font.sizeXs,
25
+ lineHeight: font.leadingNormal,
26
+ tabSize: 2,
27
+ whiteSpace: 'pre',
28
+ scrollbarWidth: 'thin',
29
+ outlineStyle: 'solid',
30
+ outlineWidth: { default: 0, ':focus-visible': '2px' },
31
+ outlineColor: colors.focusRing,
32
+ outlineOffset: '-2px'
33
+ },
34
+ // Browsers give <code> a monospace of their own; this keeps Narvi's
35
+ code: { fontFamily: 'inherit' },
36
+ wrap: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' },
37
+ danger: { color: colors.danger },
38
+ key: { color: colors.codeKey },
39
+ string: { color: colors.codeString },
40
+ number: { color: colors.codeNumber, fontVariantNumeric: 'tabular-nums' },
41
+ literal: { color: colors.codeLiteral },
42
+ punct: { color: colors.codePunct }
43
+ });
44
+ </script>
45
+
46
+ <script lang="ts">
47
+ let {
48
+ value,
49
+ tone = 'default',
50
+ wrap = false,
51
+ sx
52
+ }: { value: unknown; tone?: 'default' | 'danger'; wrap?: boolean; sx?: Sx } = $props();
53
+
54
+ const tokens = $derived(tokenize(value));
55
+ </script>
56
+
57
+ <!-- Long output scrolls; the region is focusable so it can be scrolled from the keyboard -->
58
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
59
+ <pre
60
+ tabindex="0"
61
+ {...stylex.attrs(
62
+ styles.pre,
63
+ (wrap || tone === 'danger') && styles.wrap,
64
+ tone === 'danger' && styles.danger,
65
+ sx
66
+ )}><code {...stylex.attrs(styles.code)}
67
+ >{#each tokens as token, i (i)}{#if token.kind}<span {...stylex.attrs(styles[token.kind])}
68
+ >{token.text}</span
69
+ >{:else}{token.text}{/if}{/each}</code
70
+ ></pre>
@@ -0,0 +1,10 @@
1
+ import type { Sx } from './sx.js';
2
+ type $$ComponentProps = {
3
+ value: unknown;
4
+ tone?: 'default' | 'danger';
5
+ wrap?: boolean;
6
+ sx?: Sx;
7
+ };
8
+ declare const Code: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type Code = ReturnType<typeof Code>;
10
+ export default Code;