@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,47 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLInputAttributes } from 'svelte/elements';
3
+ import { control, type ControlSize } from '../../internal/control.js';
4
+ import { attrs, type Sx } from '../../internal/sx.js';
5
+ import { getFieldContext } from '../field/context.js';
6
+
7
+ export type InputSize = ControlSize;
8
+
9
+ export type InputProps = Omit<HTMLInputAttributes, 'size'> & {
10
+ size?: InputSize;
11
+ /** Marks the input as invalid. Inherited from a surrounding Field with an `error`. */
12
+ invalid?: boolean;
13
+ sx?: Sx;
14
+ ref?: HTMLInputElement | null;
15
+ };
16
+ </script>
17
+
18
+ <script lang="ts">
19
+ let {
20
+ value = $bindable(),
21
+ size = 'md',
22
+ invalid,
23
+ disabled,
24
+ required,
25
+ id,
26
+ 'aria-describedby': describedBy,
27
+ sx,
28
+ class: className,
29
+ ref = $bindable(null),
30
+ ...rest
31
+ }: InputProps = $props();
32
+
33
+ const field = getFieldContext();
34
+ const isInvalid = $derived(invalid ?? field?.invalid ?? false);
35
+ </script>
36
+
37
+ <input
38
+ bind:this={ref}
39
+ bind:value
40
+ id={id ?? field?.id}
41
+ disabled={disabled ?? field?.disabled}
42
+ required={required ?? field?.required}
43
+ aria-invalid={isInvalid ? true : undefined}
44
+ aria-describedby={describedBy ?? field?.describedBy}
45
+ {...rest}
46
+ {...attrs([control.base, control[size], isInvalid && control.invalid, sx], className)}
47
+ />
@@ -0,0 +1,14 @@
1
+ import type { HTMLInputAttributes } from 'svelte/elements';
2
+ import { type ControlSize } from '../../internal/control.js';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type InputSize = ControlSize;
5
+ export type InputProps = Omit<HTMLInputAttributes, 'size'> & {
6
+ size?: InputSize;
7
+ /** Marks the input as invalid. Inherited from a surrounding Field with an `error`. */
8
+ invalid?: boolean;
9
+ sx?: Sx;
10
+ ref?: HTMLInputElement | null;
11
+ };
12
+ declare const Input: import("svelte").Component<InputProps, {}, "value" | "ref">;
13
+ type Input = ReturnType<typeof Input>;
14
+ export default Input;
@@ -0,0 +1,40 @@
1
+ <script lang="ts" module>
2
+ import * as stylex from '@stylexjs/stylex';
3
+ import type { Snippet } from 'svelte';
4
+ import type { HTMLAttributes } from 'svelte/elements';
5
+ import { shared } from '../../internal/shared.js';
6
+ import { attrs, type Sx } from '../../internal/sx.js';
7
+ import { colors, font, radius } from '../../tokens.stylex.js';
8
+
9
+ export type KbdProps = Omit<HTMLAttributes<HTMLElement>, 'children'> & {
10
+ sx?: Sx;
11
+ /** The key, such as `⌘` or `K`. */
12
+ children?: Snippet;
13
+ };
14
+
15
+ const styles = stylex.create({
16
+ base: {
17
+ display: 'inline-grid',
18
+ placeItems: 'center',
19
+ boxSizing: 'border-box',
20
+ minWidth: '1.25rem',
21
+ minHeight: '1.25rem',
22
+ paddingInline: '0.3125rem',
23
+ borderRadius: radius.xs,
24
+ backgroundColor: colors.surfaceRaised,
25
+ boxShadow: `inset 0 0 0 1px ${colors.line}, inset 0 1px 0 ${colors.highlight}`,
26
+ color: colors.textMuted,
27
+ fontFamily: font.mono,
28
+ fontSize: font.sizeXs,
29
+ fontWeight: font.weightMedium,
30
+ lineHeight: 1,
31
+ verticalAlign: 'middle'
32
+ }
33
+ });
34
+ </script>
35
+
36
+ <script lang="ts">
37
+ let { sx, class: className, children, ...rest }: KbdProps = $props();
38
+ </script>
39
+
40
+ <kbd {...rest} {...attrs([styles.base, shared.edged, sx], className)}>{@render children?.()}</kbd>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type KbdProps = Omit<HTMLAttributes<HTMLElement>, 'children'> & {
5
+ sx?: Sx;
6
+ /** The key, such as `⌘` or `K`. */
7
+ children?: Snippet;
8
+ };
9
+ declare const Kbd: import("svelte").Component<KbdProps, {}, "">;
10
+ type Kbd = ReturnType<typeof Kbd>;
11
+ export default Kbd;
@@ -0,0 +1,68 @@
1
+ <script lang="ts" module>
2
+ import * as stylex from '@stylexjs/stylex';
3
+ import type { Snippet } from 'svelte';
4
+ import type { HTMLAnchorAttributes } from 'svelte/elements';
5
+ import { attrs, type Sx } from '../../internal/sx.js';
6
+ import { colors, motion } from '../../tokens.stylex.js';
7
+
8
+ export type LinkProps = Omit<HTMLAnchorAttributes, 'children'> & {
9
+ href: string;
10
+ /** `accent` stands out in running text. `inherit` takes the surrounding text colour. */
11
+ tone?: 'accent' | 'inherit';
12
+ /** Opens in a new tab, with `rel="noopener noreferrer"`. */
13
+ external?: boolean;
14
+ sx?: Sx;
15
+ ref?: HTMLAnchorElement | null;
16
+ children?: Snippet;
17
+ };
18
+
19
+ // StyleX needs this in the same file to evaluate it at build time
20
+ const HOVER = '@media (hover: hover) and (pointer: fine)';
21
+
22
+ const styles = stylex.create({
23
+ base: {
24
+ borderRadius: '0.1875rem',
25
+ fontWeight: 'inherit',
26
+ textDecorationLine: 'underline',
27
+ textDecorationThickness: 'from-font',
28
+ textUnderlineOffset: '0.2em',
29
+ textDecorationColor: {
30
+ default: 'color-mix(in oklch, currentColor 35%, transparent)',
31
+ ':hover': { default: null, [HOVER]: 'currentColor' }
32
+ },
33
+ outlineWidth: '2px',
34
+ outlineStyle: { default: 'none', ':focus-visible': 'solid' },
35
+ outlineColor: colors.focusRing,
36
+ outlineOffset: '2px',
37
+ transitionProperty: 'text-decoration-color',
38
+ transitionDuration: motion.base,
39
+ transitionTimingFunction: 'ease'
40
+ },
41
+ accent: { color: colors.ithil },
42
+ inherit: { color: 'inherit' }
43
+ });
44
+ </script>
45
+
46
+ <script lang="ts">
47
+ let {
48
+ href,
49
+ tone = 'accent',
50
+ external = false,
51
+ sx,
52
+ class: className,
53
+ ref = $bindable(null),
54
+ children,
55
+ ...rest
56
+ }: LinkProps = $props();
57
+ </script>
58
+
59
+ <a
60
+ bind:this={ref}
61
+ {href}
62
+ target={external ? '_blank' : undefined}
63
+ rel={external ? 'noopener noreferrer' : undefined}
64
+ {...rest}
65
+ {...attrs([styles.base, styles[tone], sx], className)}
66
+ >
67
+ {@render children?.()}
68
+ </a>
@@ -0,0 +1,16 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAnchorAttributes } from 'svelte/elements';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type LinkProps = Omit<HTMLAnchorAttributes, 'children'> & {
5
+ href: string;
6
+ /** `accent` stands out in running text. `inherit` takes the surrounding text colour. */
7
+ tone?: 'accent' | 'inherit';
8
+ /** Opens in a new tab, with `rel="noopener noreferrer"`. */
9
+ external?: boolean;
10
+ sx?: Sx;
11
+ ref?: HTMLAnchorElement | null;
12
+ children?: Snippet;
13
+ };
14
+ declare const Link: import("svelte").Component<LinkProps, {}, "ref">;
15
+ type Link = ReturnType<typeof Link>;
16
+ export default Link;
@@ -0,0 +1,33 @@
1
+ <script lang="ts" module>
2
+ import { ContextMenu } from 'bits-ui';
3
+ import type { Snippet } from 'svelte';
4
+ import { layer } from '../../internal/layer.js';
5
+ import { attrs, type Sx } from '../../internal/sx.js';
6
+
7
+ export type ContextMenuContentProps = Omit<ContextMenu.ContentProps, 'children' | 'child'> & {
8
+ sx?: Sx;
9
+ /** Menu.Item, Menu.Group and the other parts of Menu. */
10
+ children?: Snippet;
11
+ };
12
+ </script>
13
+
14
+ <script lang="ts">
15
+ let {
16
+ collisionPadding = 8,
17
+ sx,
18
+ class: className,
19
+ children,
20
+ ...rest
21
+ }: ContextMenuContentProps = $props();
22
+ </script>
23
+
24
+ <ContextMenu.Portal>
25
+ <ContextMenu.Content
26
+ {collisionPadding}
27
+ data-slot="context-menu-content"
28
+ {...rest}
29
+ {...attrs([layer.surface, sx], className)}
30
+ >
31
+ {@render children?.()}
32
+ </ContextMenu.Content>
33
+ </ContextMenu.Portal>
@@ -0,0 +1,11 @@
1
+ import { ContextMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type ContextMenuContentProps = Omit<ContextMenu.ContentProps, 'children' | 'child'> & {
5
+ sx?: Sx;
6
+ /** Menu.Item, Menu.Group and the other parts of Menu. */
7
+ children?: Snippet;
8
+ };
9
+ declare const ContextMenuContent: import("svelte").Component<ContextMenuContentProps, {}, "">;
10
+ type ContextMenuContent = ReturnType<typeof ContextMenuContent>;
11
+ export default ContextMenuContent;
@@ -0,0 +1,44 @@
1
+ <script lang="ts" module>
2
+ import { ContextMenu } from 'bits-ui';
3
+ import type { Snippet } from 'svelte';
4
+ import { attrs, type Sx } from '../../internal/sx.js';
5
+
6
+ export type ContextMenuTriggerProps = Omit<ContextMenu.TriggerProps, 'children'> & {
7
+ sx?: Sx;
8
+ /** The region a right-click opens the menu over. */
9
+ children?: Snippet;
10
+ };
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ let { sx, class: className, children, onkeydown, ...rest }: ContextMenuTriggerProps = $props();
15
+
16
+ // bits-ui opens a context menu only on the `contextmenu` event. Shift+F10 and
17
+ // the Menu key send one on Windows and Linux, but a Mac has neither, so the
18
+ // event is sent here, at the focused element, from the keyboard.
19
+ function openFromKeyboard(event: KeyboardEvent & { currentTarget: HTMLDivElement }) {
20
+ onkeydown?.(event);
21
+ if (event.defaultPrevented) return;
22
+ if (!(event.key === 'ContextMenu' || (event.key === 'F10' && event.shiftKey))) return;
23
+ event.preventDefault();
24
+ const target = (document.activeElement as HTMLElement | null) ?? event.currentTarget;
25
+ const box = target.getBoundingClientRect();
26
+ target.dispatchEvent(
27
+ new MouseEvent('contextmenu', {
28
+ bubbles: true,
29
+ cancelable: true,
30
+ clientX: box.left + Math.min(16, box.width / 2),
31
+ clientY: box.top + box.height / 2
32
+ })
33
+ );
34
+ }
35
+ </script>
36
+
37
+ <ContextMenu.Trigger
38
+ data-slot="context-menu-trigger"
39
+ {...rest}
40
+ {...attrs([sx], className)}
41
+ onkeydown={openFromKeyboard}
42
+ >
43
+ {@render children?.()}
44
+ </ContextMenu.Trigger>
@@ -0,0 +1,11 @@
1
+ import { ContextMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type ContextMenuTriggerProps = Omit<ContextMenu.TriggerProps, 'children'> & {
5
+ sx?: Sx;
6
+ /** The region a right-click opens the menu over. */
7
+ children?: Snippet;
8
+ };
9
+ declare const ContextMenuTrigger: import("svelte").Component<ContextMenuTriggerProps, {}, "">;
10
+ type ContextMenuTrigger = ReturnType<typeof ContextMenuTrigger>;
11
+ export default ContextMenuTrigger;
@@ -0,0 +1,43 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import * as stylex from '@stylexjs/stylex';
4
+ import type { Snippet } from 'svelte';
5
+ import Glyph from '../../internal/Glyph.svelte';
6
+ import { layer } from '../../internal/layer.js';
7
+ import { attrs, type Sx } from '../../internal/sx.js';
8
+
9
+ export type MenuCheckboxItemProps = Omit<DropdownMenu.CheckboxItemProps, 'children' | 'child'> & {
10
+ shortcut?: string;
11
+ sx?: Sx;
12
+ children?: Snippet;
13
+ };
14
+ </script>
15
+
16
+ <script lang="ts">
17
+ let {
18
+ checked = $bindable(false),
19
+ shortcut,
20
+ closeOnSelect = false,
21
+ sx,
22
+ class: className,
23
+ children: label,
24
+ ...rest
25
+ }: MenuCheckboxItemProps = $props();
26
+ </script>
27
+
28
+ <!-- Stays open by default, so several can be set in one visit -->
29
+ <DropdownMenu.CheckboxItem
30
+ bind:checked
31
+ {closeOnSelect}
32
+ data-slot="menu-checkbox-item"
33
+ {...rest}
34
+ {...attrs([layer.item, sx], className)}
35
+ >
36
+ {#snippet children({ checked })}
37
+ <span {...stylex.attrs(layer.icon)}>
38
+ {#if checked}<Glyph name="check" stroke={1.75} />{/if}
39
+ </span>
40
+ <span {...stylex.attrs(layer.label)}>{@render label?.()}</span>
41
+ {#if shortcut}<span {...stylex.attrs(layer.trailing)}>{shortcut}</span>{/if}
42
+ {/snippet}
43
+ </DropdownMenu.CheckboxItem>
@@ -0,0 +1,11 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuCheckboxItemProps = Omit<DropdownMenu.CheckboxItemProps, 'children' | 'child'> & {
5
+ shortcut?: string;
6
+ sx?: Sx;
7
+ children?: Snippet;
8
+ };
9
+ declare const MenuCheckboxItem: import("svelte").Component<MenuCheckboxItemProps, {}, "checked">;
10
+ type MenuCheckboxItem = ReturnType<typeof MenuCheckboxItem>;
11
+ export default MenuCheckboxItem;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import type { Snippet } from 'svelte';
4
+ import { layer } from '../../internal/layer.js';
5
+ import { attrs, type Sx } from '../../internal/sx.js';
6
+
7
+ export type MenuContentProps = Omit<DropdownMenu.ContentProps, 'children' | 'child'> & {
8
+ sx?: Sx;
9
+ children?: Snippet;
10
+ };
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ let {
15
+ sideOffset = 6,
16
+ collisionPadding = 8,
17
+ align = 'start',
18
+ sx,
19
+ class: className,
20
+ children,
21
+ ...rest
22
+ }: MenuContentProps = $props();
23
+ </script>
24
+
25
+ <DropdownMenu.Portal>
26
+ <DropdownMenu.Content
27
+ {sideOffset}
28
+ {collisionPadding}
29
+ {align}
30
+ data-slot="menu-content"
31
+ {...rest}
32
+ {...attrs([layer.surface, sx], className)}
33
+ >
34
+ {@render children?.()}
35
+ </DropdownMenu.Content>
36
+ </DropdownMenu.Portal>
@@ -0,0 +1,10 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuContentProps = Omit<DropdownMenu.ContentProps, 'children' | 'child'> & {
5
+ sx?: Sx;
6
+ children?: Snippet;
7
+ };
8
+ declare const MenuContent: import("svelte").Component<MenuContentProps, {}, "">;
9
+ type MenuContent = ReturnType<typeof MenuContent>;
10
+ export default MenuContent;
@@ -0,0 +1,41 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import * as stylex from '@stylexjs/stylex';
4
+ import type { Snippet } from 'svelte';
5
+ import { layer } from '../../internal/layer.js';
6
+ import { attrs, type Sx } from '../../internal/sx.js';
7
+
8
+ export type MenuItemProps = Omit<DropdownMenu.ItemProps, 'children' | 'child'> & {
9
+ /** `danger` for an action that destroys or cannot be undone. */
10
+ tone?: 'default' | 'danger';
11
+ /** The keys that do the same, shown at the end, such as "⌘D". */
12
+ shortcut?: string;
13
+ /** A 16px icon before the label. */
14
+ icon?: Snippet;
15
+ sx?: Sx;
16
+ children?: Snippet;
17
+ };
18
+ </script>
19
+
20
+ <script lang="ts">
21
+ let {
22
+ tone = 'default',
23
+ shortcut,
24
+ icon,
25
+ sx,
26
+ class: className,
27
+ children,
28
+ ...rest
29
+ }: MenuItemProps = $props();
30
+ </script>
31
+
32
+ <!-- Works in a Menu and in a ContextMenu alike: bits-ui shares its items -->
33
+ <DropdownMenu.Item
34
+ data-slot="menu-item"
35
+ {...rest}
36
+ {...attrs([layer.item, tone === 'danger' && layer.danger, sx], className)}
37
+ >
38
+ {#if icon}<span {...stylex.attrs(layer.icon)}>{@render icon()}</span>{/if}
39
+ <span {...stylex.attrs(layer.label)}>{@render children?.()}</span>
40
+ {#if shortcut}<span {...stylex.attrs(layer.trailing)}>{shortcut}</span>{/if}
41
+ </DropdownMenu.Item>
@@ -0,0 +1,16 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuItemProps = Omit<DropdownMenu.ItemProps, 'children' | 'child'> & {
5
+ /** `danger` for an action that destroys or cannot be undone. */
6
+ tone?: 'default' | 'danger';
7
+ /** The keys that do the same, shown at the end, such as "⌘D". */
8
+ shortcut?: string;
9
+ /** A 16px icon before the label. */
10
+ icon?: Snippet;
11
+ sx?: Sx;
12
+ children?: Snippet;
13
+ };
14
+ declare const MenuItem: import("svelte").Component<MenuItemProps, {}, "">;
15
+ type MenuItem = ReturnType<typeof MenuItem>;
16
+ export default MenuItem;
@@ -0,0 +1,24 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import type { Snippet } from 'svelte';
4
+ import { layer } from '../../internal/layer.js';
5
+ import { attrs, type Sx } from '../../internal/sx.js';
6
+
7
+ export type MenuLabelProps = Omit<DropdownMenu.GroupHeadingProps, 'children' | 'child'> & {
8
+ sx?: Sx;
9
+ children?: Snippet;
10
+ };
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ let { sx, class: className, children, ...rest }: MenuLabelProps = $props();
15
+ </script>
16
+
17
+ <!-- Names the Menu.Group it is placed in -->
18
+ <DropdownMenu.GroupHeading
19
+ data-slot="menu-label"
20
+ {...rest}
21
+ {...attrs([layer.heading, sx], className)}
22
+ >
23
+ {@render children?.()}
24
+ </DropdownMenu.GroupHeading>
@@ -0,0 +1,10 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuLabelProps = Omit<DropdownMenu.GroupHeadingProps, 'children' | 'child'> & {
5
+ sx?: Sx;
6
+ children?: Snippet;
7
+ };
8
+ declare const MenuLabel: import("svelte").Component<MenuLabelProps, {}, "">;
9
+ type MenuLabel = ReturnType<typeof MenuLabel>;
10
+ export default MenuLabel;
@@ -0,0 +1,54 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import * as stylex from '@stylexjs/stylex';
4
+ import type { Snippet } from 'svelte';
5
+ import { layer } from '../../internal/layer.js';
6
+ import { attrs, type Sx } from '../../internal/sx.js';
7
+ import { colors } from '../../tokens.stylex.js';
8
+
9
+ export type MenuRadioItemProps = Omit<DropdownMenu.RadioItemProps, 'children' | 'child'> & {
10
+ /** A line under the label, such as what the choice means. */
11
+ description?: string;
12
+ sx?: Sx;
13
+ children?: Snippet;
14
+ };
15
+
16
+ const styles = stylex.create({
17
+ dot: {
18
+ width: '0.375rem',
19
+ height: '0.375rem',
20
+ borderRadius: '9999px',
21
+ backgroundColor: colors.ithil
22
+ },
23
+ text: { display: 'flex', flexDirection: 'column', gap: '0.125rem', minWidth: 0, flexGrow: 1 },
24
+ description: { color: colors.textMuted, fontSize: '0.75rem' }
25
+ });
26
+ </script>
27
+
28
+ <script lang="ts">
29
+ let {
30
+ closeOnSelect = false,
31
+ description,
32
+ sx,
33
+ class: className,
34
+ children: label,
35
+ ...rest
36
+ }: MenuRadioItemProps = $props();
37
+ </script>
38
+
39
+ <DropdownMenu.RadioItem
40
+ {closeOnSelect}
41
+ data-slot="menu-radio-item"
42
+ {...rest}
43
+ {...attrs([layer.item, sx], className)}
44
+ >
45
+ {#snippet children({ checked })}
46
+ <span {...stylex.attrs(layer.icon)}>
47
+ {#if checked}<span {...stylex.attrs(styles.dot)}></span>{/if}
48
+ </span>
49
+ <span {...stylex.attrs(styles.text)}>
50
+ <span {...stylex.attrs(layer.label)}>{@render label?.()}</span>
51
+ {#if description}<span {...stylex.attrs(styles.description)}>{description}</span>{/if}
52
+ </span>
53
+ {/snippet}
54
+ </DropdownMenu.RadioItem>
@@ -0,0 +1,12 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuRadioItemProps = Omit<DropdownMenu.RadioItemProps, 'children' | 'child'> & {
5
+ /** A line under the label, such as what the choice means. */
6
+ description?: string;
7
+ sx?: Sx;
8
+ children?: Snippet;
9
+ };
10
+ declare const MenuRadioItem: import("svelte").Component<MenuRadioItemProps, {}, "">;
11
+ type MenuRadioItem = ReturnType<typeof MenuRadioItem>;
12
+ export default MenuRadioItem;
@@ -0,0 +1,19 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import { layer } from '../../internal/layer.js';
4
+ import { attrs, type Sx } from '../../internal/sx.js';
5
+
6
+ export type MenuSeparatorProps = Omit<DropdownMenu.SeparatorProps, 'children' | 'child'> & {
7
+ sx?: Sx;
8
+ };
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ let { sx, class: className, ...rest }: MenuSeparatorProps = $props();
13
+ </script>
14
+
15
+ <DropdownMenu.Separator
16
+ data-slot="menu-separator"
17
+ {...rest}
18
+ {...attrs([layer.separator, sx], className)}
19
+ />
@@ -0,0 +1,8 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import { type Sx } from '../../internal/sx.js';
3
+ export type MenuSeparatorProps = Omit<DropdownMenu.SeparatorProps, 'children' | 'child'> & {
4
+ sx?: Sx;
5
+ };
6
+ declare const MenuSeparator: import("svelte").Component<MenuSeparatorProps, {}, "">;
7
+ type MenuSeparator = ReturnType<typeof MenuSeparator>;
8
+ export default MenuSeparator;
@@ -0,0 +1,34 @@
1
+ <script lang="ts" module>
2
+ import { DropdownMenu } from 'bits-ui';
3
+ import type { Snippet } from 'svelte';
4
+ import { layer } from '../../internal/layer.js';
5
+ import { attrs, type Sx } from '../../internal/sx.js';
6
+
7
+ export type MenuSubContentProps = Omit<DropdownMenu.SubContentProps, 'children' | 'child'> & {
8
+ sx?: Sx;
9
+ children?: Snippet;
10
+ };
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ let {
15
+ sideOffset = 2,
16
+ collisionPadding = 8,
17
+ sx,
18
+ class: className,
19
+ children,
20
+ ...rest
21
+ }: MenuSubContentProps = $props();
22
+ </script>
23
+
24
+ <DropdownMenu.Portal>
25
+ <DropdownMenu.SubContent
26
+ {sideOffset}
27
+ {collisionPadding}
28
+ data-slot="menu-sub-content"
29
+ {...rest}
30
+ {...attrs([layer.surface, sx], className)}
31
+ >
32
+ {@render children?.()}
33
+ </DropdownMenu.SubContent>
34
+ </DropdownMenu.Portal>
@@ -0,0 +1,10 @@
1
+ import { DropdownMenu } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import { type Sx } from '../../internal/sx.js';
4
+ export type MenuSubContentProps = Omit<DropdownMenu.SubContentProps, 'children' | 'child'> & {
5
+ sx?: Sx;
6
+ children?: Snippet;
7
+ };
8
+ declare const MenuSubContent: import("svelte").Component<MenuSubContentProps, {}, "">;
9
+ type MenuSubContent = ReturnType<typeof MenuSubContent>;
10
+ export default MenuSubContent;