@cloudvoyant/helical-svelte 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. package/dist/Badge.svelte +24 -0
  2. package/dist/Badge.svelte.d.ts +12 -0
  3. package/dist/Button.svelte +35 -0
  4. package/dist/Button.svelte.d.ts +14 -0
  5. package/dist/Center.svelte +21 -0
  6. package/dist/Center.svelte.d.ts +9 -0
  7. package/dist/Chart.svelte +52 -0
  8. package/dist/Chart.svelte.d.ts +22 -0
  9. package/dist/Col.svelte +21 -0
  10. package/dist/Col.svelte.d.ts +9 -0
  11. package/dist/Container.svelte +21 -0
  12. package/dist/Container.svelte.d.ts +9 -0
  13. package/dist/CopyButton.svelte +58 -0
  14. package/dist/CopyButton.svelte.d.ts +12 -0
  15. package/dist/Figure.svelte +32 -0
  16. package/dist/Figure.svelte.d.ts +14 -0
  17. package/dist/HStack.svelte +21 -0
  18. package/dist/HStack.svelte.d.ts +9 -0
  19. package/dist/InlineLaTeX.svelte +34 -0
  20. package/dist/InlineLaTeX.svelte.d.ts +9 -0
  21. package/dist/Input.svelte +17 -0
  22. package/dist/Input.svelte.d.ts +8 -0
  23. package/dist/Item.svelte +22 -0
  24. package/dist/Item.svelte.d.ts +10 -0
  25. package/dist/LaTeX.svelte +34 -0
  26. package/dist/LaTeX.svelte.d.ts +9 -0
  27. package/dist/Manim.svelte +119 -0
  28. package/dist/Manim.svelte.d.ts +12 -0
  29. package/dist/Mermaid.svelte +92 -0
  30. package/dist/Mermaid.svelte.d.ts +14 -0
  31. package/dist/Notice.svelte +87 -0
  32. package/dist/Notice.svelte.d.ts +12 -0
  33. package/dist/Page.svelte +27 -0
  34. package/dist/Page.svelte.d.ts +10 -0
  35. package/dist/PageContent.svelte +21 -0
  36. package/dist/PageContent.svelte.d.ts +9 -0
  37. package/dist/PageFooter.svelte +21 -0
  38. package/dist/PageFooter.svelte.d.ts +9 -0
  39. package/dist/PageGutter.svelte +37 -0
  40. package/dist/PageGutter.svelte.d.ts +12 -0
  41. package/dist/PageSection.svelte +21 -0
  42. package/dist/PageSection.svelte.d.ts +9 -0
  43. package/dist/Portal.svelte +11 -0
  44. package/dist/Portal.svelte.d.ts +4 -0
  45. package/dist/PrevNext.svelte +47 -0
  46. package/dist/PrevNext.svelte.d.ts +15 -0
  47. package/dist/Reveal.svelte +40 -0
  48. package/dist/Reveal.svelte.d.ts +9 -0
  49. package/dist/Row.svelte +21 -0
  50. package/dist/Row.svelte.d.ts +9 -0
  51. package/dist/Scroll.svelte +72 -0
  52. package/dist/Scroll.svelte.d.ts +14 -0
  53. package/dist/Splitter.svelte +12 -0
  54. package/dist/Splitter.svelte.d.ts +4 -0
  55. package/dist/SplitterPanel.svelte +12 -0
  56. package/dist/SplitterPanel.svelte.d.ts +4 -0
  57. package/dist/SplitterResizeTrigger.svelte +15 -0
  58. package/dist/SplitterResizeTrigger.svelte.d.ts +4 -0
  59. package/dist/SplitterResizeTriggerIndicator.svelte +15 -0
  60. package/dist/SplitterResizeTriggerIndicator.svelte.d.ts +4 -0
  61. package/dist/Stack.svelte +21 -0
  62. package/dist/Stack.svelte.d.ts +9 -0
  63. package/dist/Textarea.svelte +14 -0
  64. package/dist/Textarea.svelte.d.ts +4 -0
  65. package/dist/ToggleButton.svelte +18 -0
  66. package/dist/ToggleButton.svelte.d.ts +9 -0
  67. package/dist/ToggleButtonIndicator.svelte +9 -0
  68. package/dist/ToggleButtonIndicator.svelte.d.ts +4 -0
  69. package/dist/VStack.svelte +21 -0
  70. package/dist/VStack.svelte.d.ts +9 -0
  71. package/dist/YouTube.svelte +81 -0
  72. package/dist/YouTube.svelte.d.ts +13 -0
  73. package/dist/YoutubeTimestampAt.svelte +20 -0
  74. package/dist/YoutubeTimestampAt.svelte.d.ts +10 -0
  75. package/dist/YoutubeTimestamps.svelte +100 -0
  76. package/dist/YoutubeTimestamps.svelte.d.ts +11 -0
  77. package/dist/card/Card.svelte +34 -0
  78. package/dist/card/Card.svelte.d.ts +12 -0
  79. package/dist/card/CardBody.svelte +21 -0
  80. package/dist/card/CardBody.svelte.d.ts +9 -0
  81. package/dist/card/CardCover.svelte +26 -0
  82. package/dist/card/CardCover.svelte.d.ts +11 -0
  83. package/dist/card/CardDescription.svelte +21 -0
  84. package/dist/card/CardDescription.svelte.d.ts +9 -0
  85. package/dist/card/CardFooter.svelte +21 -0
  86. package/dist/card/CardFooter.svelte.d.ts +9 -0
  87. package/dist/card/CardHeader.svelte +21 -0
  88. package/dist/card/CardHeader.svelte.d.ts +9 -0
  89. package/dist/card/CardTitle.svelte +22 -0
  90. package/dist/card/CardTitle.svelte.d.ts +10 -0
  91. package/dist/card/index.d.ts +7 -0
  92. package/dist/card/index.js +8 -0
  93. package/dist/checkbox/Checkbox.svelte +23 -0
  94. package/dist/checkbox/Checkbox.svelte.d.ts +8 -0
  95. package/dist/checkbox/CheckboxContext.svelte.d.ts +1 -0
  96. package/dist/checkbox/CheckboxContext.svelte.js +3 -0
  97. package/dist/checkbox/CheckboxControl.svelte +17 -0
  98. package/dist/checkbox/CheckboxControl.svelte.d.ts +4 -0
  99. package/dist/checkbox/CheckboxGroup.svelte +14 -0
  100. package/dist/checkbox/CheckboxGroup.svelte.d.ts +4 -0
  101. package/dist/checkbox/CheckboxIndicator.svelte +14 -0
  102. package/dist/checkbox/CheckboxIndicator.svelte.d.ts +4 -0
  103. package/dist/checkbox/CheckboxLabel.svelte +14 -0
  104. package/dist/checkbox/CheckboxLabel.svelte.d.ts +4 -0
  105. package/dist/checkbox/index.d.ts +6 -0
  106. package/dist/checkbox/index.js +7 -0
  107. package/dist/code-block/CodeBlock.svelte +67 -0
  108. package/dist/code-block/CodeBlock.svelte.d.ts +17 -0
  109. package/dist/code-block/CodeBlockContent.svelte +19 -0
  110. package/dist/code-block/CodeBlockContent.svelte.d.ts +8 -0
  111. package/dist/code-block/CodeBlockContext.svelte.d.ts +11 -0
  112. package/dist/code-block/CodeBlockContext.svelte.js +7 -0
  113. package/dist/code-block/CodeBlockCopyButton.svelte +19 -0
  114. package/dist/code-block/CodeBlockCopyButton.svelte.d.ts +8 -0
  115. package/dist/code-block/CodeBlockHeader.svelte +15 -0
  116. package/dist/code-block/CodeBlockHeader.svelte.d.ts +9 -0
  117. package/dist/code-block/CodeBlockTitle.svelte +15 -0
  118. package/dist/code-block/CodeBlockTitle.svelte.d.ts +9 -0
  119. package/dist/code-block/CodeRenderer.svelte +78 -0
  120. package/dist/code-block/CodeRenderer.svelte.d.ts +12 -0
  121. package/dist/code-block/LanguageTabsCodeBlock.svelte +119 -0
  122. package/dist/code-block/LanguageTabsCodeBlock.svelte.d.ts +12 -0
  123. package/dist/code-block/MultiFileCodeBlock.svelte +75 -0
  124. package/dist/code-block/MultiFileCodeBlock.svelte.d.ts +12 -0
  125. package/dist/code-block/index.d.ts +7 -0
  126. package/dist/code-block/index.js +8 -0
  127. package/dist/combobox/Combobox.svelte +25 -0
  128. package/dist/combobox/Combobox.svelte.d.ts +9 -0
  129. package/dist/combobox/ComboboxClear.svelte +14 -0
  130. package/dist/combobox/ComboboxClear.svelte.d.ts +4 -0
  131. package/dist/combobox/ComboboxContent.svelte +19 -0
  132. package/dist/combobox/ComboboxContent.svelte.d.ts +4 -0
  133. package/dist/combobox/ComboboxContext.svelte.d.ts +1 -0
  134. package/dist/combobox/ComboboxContext.svelte.js +3 -0
  135. package/dist/combobox/ComboboxControl.svelte +14 -0
  136. package/dist/combobox/ComboboxControl.svelte.d.ts +4 -0
  137. package/dist/combobox/ComboboxEmpty.svelte +18 -0
  138. package/dist/combobox/ComboboxEmpty.svelte.d.ts +4 -0
  139. package/dist/combobox/ComboboxInput.svelte +17 -0
  140. package/dist/combobox/ComboboxInput.svelte.d.ts +8 -0
  141. package/dist/combobox/ComboboxItem.svelte +22 -0
  142. package/dist/combobox/ComboboxItem.svelte.d.ts +10 -0
  143. package/dist/combobox/ComboboxItemGroup.svelte +11 -0
  144. package/dist/combobox/ComboboxItemGroup.svelte.d.ts +4 -0
  145. package/dist/combobox/ComboboxItemGroupLabel.svelte +14 -0
  146. package/dist/combobox/ComboboxItemGroupLabel.svelte.d.ts +4 -0
  147. package/dist/combobox/ComboboxItemIndicator.svelte +14 -0
  148. package/dist/combobox/ComboboxItemIndicator.svelte.d.ts +4 -0
  149. package/dist/combobox/ComboboxItemText.svelte +11 -0
  150. package/dist/combobox/ComboboxItemText.svelte.d.ts +4 -0
  151. package/dist/combobox/ComboboxList.svelte +14 -0
  152. package/dist/combobox/ComboboxList.svelte.d.ts +4 -0
  153. package/dist/combobox/ComboboxTrigger.svelte +14 -0
  154. package/dist/combobox/ComboboxTrigger.svelte.d.ts +4 -0
  155. package/dist/combobox/index.d.ts +14 -0
  156. package/dist/combobox/index.js +15 -0
  157. package/dist/dialog/Dialog.svelte +11 -0
  158. package/dist/dialog/Dialog.svelte.d.ts +4 -0
  159. package/dist/dialog/DialogBackdrop.svelte +17 -0
  160. package/dist/dialog/DialogBackdrop.svelte.d.ts +7 -0
  161. package/dist/dialog/DialogContent.svelte +22 -0
  162. package/dist/dialog/DialogContent.svelte.d.ts +9 -0
  163. package/dist/dialog/DialogContext.svelte.d.ts +1 -0
  164. package/dist/dialog/DialogContext.svelte.js +3 -0
  165. package/dist/dialog/DialogDescription.svelte +16 -0
  166. package/dist/dialog/DialogDescription.svelte.d.ts +7 -0
  167. package/dist/dialog/DialogDismiss.svelte +16 -0
  168. package/dist/dialog/DialogDismiss.svelte.d.ts +7 -0
  169. package/dist/dialog/DialogFooter.svelte +20 -0
  170. package/dist/dialog/DialogFooter.svelte.d.ts +9 -0
  171. package/dist/dialog/DialogHeader.svelte +20 -0
  172. package/dist/dialog/DialogHeader.svelte.d.ts +9 -0
  173. package/dist/dialog/DialogProvider.svelte +11 -0
  174. package/dist/dialog/DialogProvider.svelte.d.ts +4 -0
  175. package/dist/dialog/DialogRender.svelte +9 -0
  176. package/dist/dialog/DialogRender.svelte.d.ts +4 -0
  177. package/dist/dialog/DialogTitle.svelte +16 -0
  178. package/dist/dialog/DialogTitle.svelte.d.ts +7 -0
  179. package/dist/dialog/DialogTrigger.svelte +13 -0
  180. package/dist/dialog/DialogTrigger.svelte.d.ts +7 -0
  181. package/dist/dialog/index.d.ts +12 -0
  182. package/dist/dialog/index.js +13 -0
  183. package/dist/editor/BookmarkInput.svelte +107 -0
  184. package/dist/editor/BookmarkInput.svelte.d.ts +13 -0
  185. package/dist/editor/BubbleMenu.svelte +412 -0
  186. package/dist/editor/BubbleMenu.svelte.d.ts +7 -0
  187. package/dist/editor/CodeBlockComponent.svelte +307 -0
  188. package/dist/editor/CodeBlockComponent.svelte.d.ts +4 -0
  189. package/dist/editor/CursorOverlay.svelte +99 -0
  190. package/dist/editor/CursorOverlay.svelte.d.ts +15 -0
  191. package/dist/editor/Editor.svelte +646 -0
  192. package/dist/editor/Editor.svelte.d.ts +27 -0
  193. package/dist/editor/FontColorPicker.svelte +102 -0
  194. package/dist/editor/FontColorPicker.svelte.d.ts +9 -0
  195. package/dist/editor/ImageFileUpload.svelte +70 -0
  196. package/dist/editor/ImageFileUpload.svelte.d.ts +8 -0
  197. package/dist/editor/ImageInput.svelte +189 -0
  198. package/dist/editor/ImageInput.svelte.d.ts +11 -0
  199. package/dist/editor/ImageNodeView.svelte +116 -0
  200. package/dist/editor/ImageNodeView.svelte.d.ts +4 -0
  201. package/dist/editor/LinkEditPopover.svelte +95 -0
  202. package/dist/editor/LinkEditPopover.svelte.d.ts +9 -0
  203. package/dist/editor/LinkPreviewCard.svelte +83 -0
  204. package/dist/editor/LinkPreviewCard.svelte.d.ts +4 -0
  205. package/dist/editor/MentionList.svelte +184 -0
  206. package/dist/editor/MentionList.svelte.d.ts +13 -0
  207. package/dist/editor/NoticeNodeView.svelte +57 -0
  208. package/dist/editor/NoticeNodeView.svelte.d.ts +4 -0
  209. package/dist/editor/Reader.svelte +284 -0
  210. package/dist/editor/Reader.svelte.d.ts +7 -0
  211. package/dist/editor/SlashMenu.svelte +124 -0
  212. package/dist/editor/SlashMenu.svelte.d.ts +9 -0
  213. package/dist/editor/UrlMentionPill.svelte +29 -0
  214. package/dist/editor/UrlMentionPill.svelte.d.ts +4 -0
  215. package/dist/editor/YouTubeInput.svelte +81 -0
  216. package/dist/editor/YouTubeInput.svelte.d.ts +9 -0
  217. package/dist/editor/index.d.ts +4 -0
  218. package/dist/editor/index.js +4 -0
  219. package/dist/field/Field.svelte +14 -0
  220. package/dist/field/Field.svelte.d.ts +4 -0
  221. package/dist/field/FieldContext.svelte.d.ts +1 -0
  222. package/dist/field/FieldContext.svelte.js +3 -0
  223. package/dist/field/FieldError.svelte +14 -0
  224. package/dist/field/FieldError.svelte.d.ts +4 -0
  225. package/dist/field/FieldHelper.svelte +14 -0
  226. package/dist/field/FieldHelper.svelte.d.ts +4 -0
  227. package/dist/field/FieldLabel.svelte +14 -0
  228. package/dist/field/FieldLabel.svelte.d.ts +4 -0
  229. package/dist/field/FieldRequiredIndicator.svelte +14 -0
  230. package/dist/field/FieldRequiredIndicator.svelte.d.ts +4 -0
  231. package/dist/field/FieldSet.svelte +14 -0
  232. package/dist/field/FieldSet.svelte.d.ts +4 -0
  233. package/dist/field/FieldSetError.svelte +14 -0
  234. package/dist/field/FieldSetError.svelte.d.ts +4 -0
  235. package/dist/field/FieldSetHelper.svelte +14 -0
  236. package/dist/field/FieldSetHelper.svelte.d.ts +4 -0
  237. package/dist/field/FieldSetLegend.svelte +14 -0
  238. package/dist/field/FieldSetLegend.svelte.d.ts +4 -0
  239. package/dist/field/index.d.ts +10 -0
  240. package/dist/field/index.js +11 -0
  241. package/dist/index.d.ts +61 -0
  242. package/dist/index.js +62 -0
  243. package/dist/listbox/Listbox.svelte +33 -0
  244. package/dist/listbox/Listbox.svelte.d.ts +12 -0
  245. package/dist/listbox/ListboxContent.svelte +18 -0
  246. package/dist/listbox/ListboxContent.svelte.d.ts +9 -0
  247. package/dist/listbox/ListboxContext.svelte.d.ts +1 -0
  248. package/dist/listbox/ListboxContext.svelte.js +3 -0
  249. package/dist/listbox/ListboxEmpty.svelte +14 -0
  250. package/dist/listbox/ListboxEmpty.svelte.d.ts +9 -0
  251. package/dist/listbox/ListboxInput.svelte +14 -0
  252. package/dist/listbox/ListboxInput.svelte.d.ts +7 -0
  253. package/dist/listbox/ListboxItem.svelte +20 -0
  254. package/dist/listbox/ListboxItem.svelte.d.ts +10 -0
  255. package/dist/listbox/ListboxItemIndicator.svelte +14 -0
  256. package/dist/listbox/ListboxItemIndicator.svelte.d.ts +9 -0
  257. package/dist/listbox/ListboxItemText.svelte +14 -0
  258. package/dist/listbox/ListboxItemText.svelte.d.ts +9 -0
  259. package/dist/listbox/ListboxLabel.svelte +14 -0
  260. package/dist/listbox/ListboxLabel.svelte.d.ts +9 -0
  261. package/dist/listbox/index.d.ts +9 -0
  262. package/dist/listbox/index.js +10 -0
  263. package/dist/navbar/NavbarActions.svelte +25 -0
  264. package/dist/navbar/NavbarActions.svelte.d.ts +9 -0
  265. package/dist/navbar/NavbarActivationArea.svelte +30 -0
  266. package/dist/navbar/NavbarActivationArea.svelte.d.ts +9 -0
  267. package/dist/navbar/NavbarBrand.svelte +25 -0
  268. package/dist/navbar/NavbarBrand.svelte.d.ts +9 -0
  269. package/dist/navbar/NavbarContext.svelte.d.ts +25 -0
  270. package/dist/navbar/NavbarContext.svelte.js +14 -0
  271. package/dist/navbar/NavbarMenu.svelte +61 -0
  272. package/dist/navbar/NavbarMenu.svelte.d.ts +10 -0
  273. package/dist/navbar/NavbarMenuContent.svelte +16 -0
  274. package/dist/navbar/NavbarMenuContent.svelte.d.ts +4 -0
  275. package/dist/navbar/NavbarMenuContext.svelte.d.ts +8 -0
  276. package/dist/navbar/NavbarMenuContext.svelte.js +14 -0
  277. package/dist/navbar/NavbarMenuIndicator.svelte +12 -0
  278. package/dist/navbar/NavbarMenuIndicator.svelte.d.ts +4 -0
  279. package/dist/navbar/NavbarMenuItem.svelte +34 -0
  280. package/dist/navbar/NavbarMenuItem.svelte.d.ts +8 -0
  281. package/dist/navbar/NavbarMenuLink.svelte +18 -0
  282. package/dist/navbar/NavbarMenuLink.svelte.d.ts +4 -0
  283. package/dist/navbar/NavbarMenuList.svelte +14 -0
  284. package/dist/navbar/NavbarMenuList.svelte.d.ts +4 -0
  285. package/dist/navbar/NavbarMenuTrigger.svelte +30 -0
  286. package/dist/navbar/NavbarMenuTrigger.svelte.d.ts +4 -0
  287. package/dist/navbar/NavbarMenuViewport.svelte +12 -0
  288. package/dist/navbar/NavbarMenuViewport.svelte.d.ts +4 -0
  289. package/dist/navbar/NavbarMenuViewportPositioner.svelte +17 -0
  290. package/dist/navbar/NavbarMenuViewportPositioner.svelte.d.ts +4 -0
  291. package/dist/navbar/NavbarMobileMenu.svelte +14 -0
  292. package/dist/navbar/NavbarMobileMenu.svelte.d.ts +4 -0
  293. package/dist/navbar/NavbarMobileMenuContent.svelte +23 -0
  294. package/dist/navbar/NavbarMobileMenuContent.svelte.d.ts +9 -0
  295. package/dist/navbar/NavbarMobileMenuTrigger.svelte +26 -0
  296. package/dist/navbar/NavbarMobileMenuTrigger.svelte.d.ts +4 -0
  297. package/dist/navbar/NavbarMobileOverlay.svelte +85 -0
  298. package/dist/navbar/NavbarMobileOverlay.svelte.d.ts +9 -0
  299. package/dist/navbar/NavbarProvider.svelte +83 -0
  300. package/dist/navbar/NavbarProvider.svelte.d.ts +8 -0
  301. package/dist/navbar/NavbarRoot.svelte +142 -0
  302. package/dist/navbar/NavbarRoot.svelte.d.ts +13 -0
  303. package/dist/navbar/NavbarTrigger.svelte +60 -0
  304. package/dist/navbar/NavbarTrigger.svelte.d.ts +10 -0
  305. package/dist/navbar/index.d.ts +22 -0
  306. package/dist/navbar/index.js +28 -0
  307. package/dist/number-input/NumberInput.svelte +14 -0
  308. package/dist/number-input/NumberInput.svelte.d.ts +4 -0
  309. package/dist/number-input/NumberInputContext.svelte.d.ts +1 -0
  310. package/dist/number-input/NumberInputContext.svelte.js +3 -0
  311. package/dist/number-input/NumberInputControl.svelte +14 -0
  312. package/dist/number-input/NumberInputControl.svelte.d.ts +4 -0
  313. package/dist/number-input/NumberInputDecrement.svelte +14 -0
  314. package/dist/number-input/NumberInputDecrement.svelte.d.ts +4 -0
  315. package/dist/number-input/NumberInputIncrement.svelte +14 -0
  316. package/dist/number-input/NumberInputIncrement.svelte.d.ts +4 -0
  317. package/dist/number-input/NumberInputInput.svelte +12 -0
  318. package/dist/number-input/NumberInputInput.svelte.d.ts +4 -0
  319. package/dist/number-input/index.d.ts +6 -0
  320. package/dist/number-input/index.js +7 -0
  321. package/dist/pagination/Pagination.svelte +35 -0
  322. package/dist/pagination/Pagination.svelte.d.ts +4 -0
  323. package/dist/pagination/PaginationEllipsis.svelte +26 -0
  324. package/dist/pagination/PaginationEllipsis.svelte.d.ts +4 -0
  325. package/dist/pagination/PaginationItem.svelte +14 -0
  326. package/dist/pagination/PaginationItem.svelte.d.ts +4 -0
  327. package/dist/pagination/PaginationItems.svelte +21 -0
  328. package/dist/pagination/PaginationItems.svelte.d.ts +18 -0
  329. package/dist/pagination/PaginationNext.svelte +29 -0
  330. package/dist/pagination/PaginationNext.svelte.d.ts +4 -0
  331. package/dist/pagination/PaginationPrevious.svelte +29 -0
  332. package/dist/pagination/PaginationPrevious.svelte.d.ts +4 -0
  333. package/dist/pagination/index.d.ts +6 -0
  334. package/dist/pagination/index.js +7 -0
  335. package/dist/popover/Popover.svelte +11 -0
  336. package/dist/popover/Popover.svelte.d.ts +4 -0
  337. package/dist/popover/PopoverAnchor.svelte +13 -0
  338. package/dist/popover/PopoverAnchor.svelte.d.ts +7 -0
  339. package/dist/popover/PopoverContent.svelte +35 -0
  340. package/dist/popover/PopoverContent.svelte.d.ts +8 -0
  341. package/dist/popover/PopoverContext.svelte.d.ts +1 -0
  342. package/dist/popover/PopoverContext.svelte.js +3 -0
  343. package/dist/popover/PopoverDescription.svelte +16 -0
  344. package/dist/popover/PopoverDescription.svelte.d.ts +7 -0
  345. package/dist/popover/PopoverDismiss.svelte +16 -0
  346. package/dist/popover/PopoverDismiss.svelte.d.ts +7 -0
  347. package/dist/popover/PopoverIndicator.svelte +16 -0
  348. package/dist/popover/PopoverIndicator.svelte.d.ts +7 -0
  349. package/dist/popover/PopoverProvider.svelte +11 -0
  350. package/dist/popover/PopoverProvider.svelte.d.ts +4 -0
  351. package/dist/popover/PopoverTitle.svelte +16 -0
  352. package/dist/popover/PopoverTitle.svelte.d.ts +7 -0
  353. package/dist/popover/PopoverTrigger.svelte +13 -0
  354. package/dist/popover/PopoverTrigger.svelte.d.ts +7 -0
  355. package/dist/popover/index.d.ts +10 -0
  356. package/dist/popover/index.js +11 -0
  357. package/dist/prose/Prose.svelte +23 -0
  358. package/dist/prose/Prose.svelte.d.ts +11 -0
  359. package/dist/prose/index.d.ts +1 -0
  360. package/dist/prose/index.js +2 -0
  361. package/dist/questions/MultipleChoiceQuestion.svelte +167 -0
  362. package/dist/questions/MultipleChoiceQuestion.svelte.d.ts +19 -0
  363. package/dist/questions/NumericQuestion.svelte +139 -0
  364. package/dist/questions/NumericQuestion.svelte.d.ts +20 -0
  365. package/dist/questions/Quiz.svelte +119 -0
  366. package/dist/questions/Quiz.svelte.d.ts +11 -0
  367. package/dist/questions/SingleChoiceQuestion.svelte +141 -0
  368. package/dist/questions/SingleChoiceQuestion.svelte.d.ts +19 -0
  369. package/dist/questions/index.d.ts +4 -0
  370. package/dist/questions/index.js +5 -0
  371. package/dist/radio-group/RadioGroup.svelte +16 -0
  372. package/dist/radio-group/RadioGroup.svelte.d.ts +7 -0
  373. package/dist/radio-group/RadioGroupItem.svelte +26 -0
  374. package/dist/radio-group/RadioGroupItem.svelte.d.ts +7 -0
  375. package/dist/radio-group/index.d.ts +2 -0
  376. package/dist/radio-group/index.js +3 -0
  377. package/dist/select/Select.svelte +70 -0
  378. package/dist/select/Select.svelte.d.ts +11 -0
  379. package/dist/select/SelectClearTrigger.svelte +14 -0
  380. package/dist/select/SelectClearTrigger.svelte.d.ts +4 -0
  381. package/dist/select/SelectContent.svelte +19 -0
  382. package/dist/select/SelectContent.svelte.d.ts +4 -0
  383. package/dist/select/SelectContext.svelte.d.ts +1 -0
  384. package/dist/select/SelectContext.svelte.js +3 -0
  385. package/dist/select/SelectIndicator.svelte +14 -0
  386. package/dist/select/SelectIndicator.svelte.d.ts +4 -0
  387. package/dist/select/SelectItem.svelte +21 -0
  388. package/dist/select/SelectItem.svelte.d.ts +9 -0
  389. package/dist/select/SelectItemGroup.svelte +11 -0
  390. package/dist/select/SelectItemGroup.svelte.d.ts +4 -0
  391. package/dist/select/SelectItemGroupLabel.svelte +14 -0
  392. package/dist/select/SelectItemGroupLabel.svelte.d.ts +4 -0
  393. package/dist/select/SelectItemIndicator.svelte +14 -0
  394. package/dist/select/SelectItemIndicator.svelte.d.ts +4 -0
  395. package/dist/select/SelectItemText.svelte +14 -0
  396. package/dist/select/SelectItemText.svelte.d.ts +4 -0
  397. package/dist/select/SelectNative.svelte +73 -0
  398. package/dist/select/SelectNative.svelte.d.ts +16 -0
  399. package/dist/select/SelectTrigger.svelte +19 -0
  400. package/dist/select/SelectTrigger.svelte.d.ts +8 -0
  401. package/dist/select/SelectValue.svelte +18 -0
  402. package/dist/select/SelectValue.svelte.d.ts +4 -0
  403. package/dist/select/index.d.ts +13 -0
  404. package/dist/select/index.js +14 -0
  405. package/dist/sidebar/Content.svelte +19 -0
  406. package/dist/sidebar/Content.svelte.d.ts +9 -0
  407. package/dist/sidebar/Footer.svelte +19 -0
  408. package/dist/sidebar/Footer.svelte.d.ts +9 -0
  409. package/dist/sidebar/Group.svelte +27 -0
  410. package/dist/sidebar/Group.svelte.d.ts +10 -0
  411. package/dist/sidebar/GroupAction.svelte +28 -0
  412. package/dist/sidebar/GroupAction.svelte.d.ts +10 -0
  413. package/dist/sidebar/Header.svelte +19 -0
  414. package/dist/sidebar/Header.svelte.d.ts +9 -0
  415. package/dist/sidebar/Input.svelte +21 -0
  416. package/dist/sidebar/Input.svelte.d.ts +7 -0
  417. package/dist/sidebar/Inset.svelte +19 -0
  418. package/dist/sidebar/Inset.svelte.d.ts +9 -0
  419. package/dist/sidebar/Menu.svelte +19 -0
  420. package/dist/sidebar/Menu.svelte.d.ts +9 -0
  421. package/dist/sidebar/MenuAction.svelte +34 -0
  422. package/dist/sidebar/MenuAction.svelte.d.ts +11 -0
  423. package/dist/sidebar/MenuBadge.svelte +25 -0
  424. package/dist/sidebar/MenuBadge.svelte.d.ts +9 -0
  425. package/dist/sidebar/MenuButton.svelte +80 -0
  426. package/dist/sidebar/MenuButton.svelte.d.ts +18 -0
  427. package/dist/sidebar/MenuItem.svelte +25 -0
  428. package/dist/sidebar/MenuItem.svelte.d.ts +9 -0
  429. package/dist/sidebar/MenuLink.svelte +66 -0
  430. package/dist/sidebar/MenuLink.svelte.d.ts +21 -0
  431. package/dist/sidebar/MenuSkeleton.svelte +38 -0
  432. package/dist/sidebar/MenuSkeleton.svelte.d.ts +8 -0
  433. package/dist/sidebar/MenuSub.svelte +25 -0
  434. package/dist/sidebar/MenuSub.svelte.d.ts +9 -0
  435. package/dist/sidebar/MenuSubButton.svelte +31 -0
  436. package/dist/sidebar/MenuSubButton.svelte.d.ts +12 -0
  437. package/dist/sidebar/MenuSubItem.svelte +25 -0
  438. package/dist/sidebar/MenuSubItem.svelte.d.ts +9 -0
  439. package/dist/sidebar/Provider.svelte +103 -0
  440. package/dist/sidebar/Provider.svelte.d.ts +12 -0
  441. package/dist/sidebar/Rail.svelte +32 -0
  442. package/dist/sidebar/Rail.svelte.d.ts +7 -0
  443. package/dist/sidebar/Root.svelte +109 -0
  444. package/dist/sidebar/Root.svelte.d.ts +15 -0
  445. package/dist/sidebar/Separator.svelte +22 -0
  446. package/dist/sidebar/Separator.svelte.d.ts +7 -0
  447. package/dist/sidebar/Trigger.svelte +34 -0
  448. package/dist/sidebar/Trigger.svelte.d.ts +9 -0
  449. package/dist/sidebar/context.svelte.d.ts +4 -0
  450. package/dist/sidebar/context.svelte.js +14 -0
  451. package/dist/sidebar/index.d.ts +24 -0
  452. package/dist/sidebar/index.js +28 -0
  453. package/dist/switch/Switch.svelte +23 -0
  454. package/dist/switch/Switch.svelte.d.ts +8 -0
  455. package/dist/switch/SwitchContext.svelte.d.ts +1 -0
  456. package/dist/switch/SwitchContext.svelte.js +3 -0
  457. package/dist/switch/SwitchControl.svelte +17 -0
  458. package/dist/switch/SwitchControl.svelte.d.ts +4 -0
  459. package/dist/switch/SwitchLabel.svelte +14 -0
  460. package/dist/switch/SwitchLabel.svelte.d.ts +4 -0
  461. package/dist/switch/SwitchThumb.svelte +12 -0
  462. package/dist/switch/SwitchThumb.svelte.d.ts +4 -0
  463. package/dist/switch/index.d.ts +5 -0
  464. package/dist/switch/index.js +6 -0
  465. package/dist/tabs/Tabs.svelte +24 -0
  466. package/dist/tabs/Tabs.svelte.d.ts +4 -0
  467. package/dist/tabs/TabsContent.svelte +14 -0
  468. package/dist/tabs/TabsContent.svelte.d.ts +4 -0
  469. package/dist/tabs/TabsContext.svelte.d.ts +1 -0
  470. package/dist/tabs/TabsContext.svelte.js +3 -0
  471. package/dist/tabs/TabsList.svelte +20 -0
  472. package/dist/tabs/TabsList.svelte.d.ts +7 -0
  473. package/dist/tabs/TabsTrigger.svelte +14 -0
  474. package/dist/tabs/TabsTrigger.svelte.d.ts +4 -0
  475. package/dist/tabs/index.d.ts +5 -0
  476. package/dist/tabs/index.js +6 -0
  477. package/dist/tags-input/TagInput.svelte +19 -0
  478. package/dist/tags-input/TagInput.svelte.d.ts +4 -0
  479. package/dist/tags-input/TagInputClearTrigger.svelte +14 -0
  480. package/dist/tags-input/TagInputClearTrigger.svelte.d.ts +4 -0
  481. package/dist/tags-input/TagInputContext.svelte.d.ts +1 -0
  482. package/dist/tags-input/TagInputContext.svelte.js +3 -0
  483. package/dist/tags-input/TagInputControl.svelte +14 -0
  484. package/dist/tags-input/TagInputControl.svelte.d.ts +4 -0
  485. package/dist/tags-input/TagInputInput.svelte +12 -0
  486. package/dist/tags-input/TagInputInput.svelte.d.ts +4 -0
  487. package/dist/tags-input/TagInputItem.svelte +14 -0
  488. package/dist/tags-input/TagInputItem.svelte.d.ts +4 -0
  489. package/dist/tags-input/TagInputItemDeleteTrigger.svelte +14 -0
  490. package/dist/tags-input/TagInputItemDeleteTrigger.svelte.d.ts +4 -0
  491. package/dist/tags-input/TagInputItemInput.svelte +12 -0
  492. package/dist/tags-input/TagInputItemInput.svelte.d.ts +4 -0
  493. package/dist/tags-input/TagInputItemPreview.svelte +11 -0
  494. package/dist/tags-input/TagInputItemPreview.svelte.d.ts +4 -0
  495. package/dist/tags-input/TagInputItemText.svelte +14 -0
  496. package/dist/tags-input/TagInputItemText.svelte.d.ts +4 -0
  497. package/dist/tags-input/index.d.ts +11 -0
  498. package/dist/tags-input/index.js +12 -0
  499. package/dist/toggle-group/ToggleGroup.svelte +28 -0
  500. package/dist/toggle-group/ToggleGroup.svelte.d.ts +11 -0
  501. package/dist/toggle-group/ToggleGroupItem.svelte +28 -0
  502. package/dist/toggle-group/ToggleGroupItem.svelte.d.ts +11 -0
  503. package/dist/toggle-group/index.d.ts +2 -0
  504. package/dist/toggle-group/index.js +3 -0
  505. package/dist/tooltip/Tooltip.svelte +11 -0
  506. package/dist/tooltip/Tooltip.svelte.d.ts +4 -0
  507. package/dist/tooltip/TooltipContent.svelte +35 -0
  508. package/dist/tooltip/TooltipContent.svelte.d.ts +8 -0
  509. package/dist/tooltip/TooltipContext.svelte.d.ts +1 -0
  510. package/dist/tooltip/TooltipContext.svelte.js +3 -0
  511. package/dist/tooltip/TooltipProvider.svelte +11 -0
  512. package/dist/tooltip/TooltipProvider.svelte.d.ts +4 -0
  513. package/dist/tooltip/TooltipRender.svelte +9 -0
  514. package/dist/tooltip/TooltipRender.svelte.d.ts +3 -0
  515. package/dist/tooltip/TooltipTrigger.svelte +13 -0
  516. package/dist/tooltip/TooltipTrigger.svelte.d.ts +7 -0
  517. package/dist/tooltip/index.d.ts +6 -0
  518. package/dist/tooltip/index.js +7 -0
  519. package/dist/window/Window.svelte +34 -0
  520. package/dist/window/Window.svelte.d.ts +10 -0
  521. package/dist/window/WindowBody.svelte +16 -0
  522. package/dist/window/WindowBody.svelte.d.ts +7 -0
  523. package/dist/window/WindowContext.svelte.d.ts +1 -0
  524. package/dist/window/WindowContext.svelte.js +3 -0
  525. package/dist/window/WindowControl.svelte +16 -0
  526. package/dist/window/WindowControl.svelte.d.ts +7 -0
  527. package/dist/window/WindowDismiss.svelte +16 -0
  528. package/dist/window/WindowDismiss.svelte.d.ts +7 -0
  529. package/dist/window/WindowDragTrigger.svelte +16 -0
  530. package/dist/window/WindowDragTrigger.svelte.d.ts +7 -0
  531. package/dist/window/WindowHeader.svelte +16 -0
  532. package/dist/window/WindowHeader.svelte.d.ts +7 -0
  533. package/dist/window/WindowProvider.svelte +11 -0
  534. package/dist/window/WindowProvider.svelte.d.ts +4 -0
  535. package/dist/window/WindowRender.svelte +9 -0
  536. package/dist/window/WindowRender.svelte.d.ts +4 -0
  537. package/dist/window/WindowResizeTrigger.svelte +16 -0
  538. package/dist/window/WindowResizeTrigger.svelte.d.ts +7 -0
  539. package/dist/window/WindowStageTrigger.svelte +16 -0
  540. package/dist/window/WindowStageTrigger.svelte.d.ts +7 -0
  541. package/dist/window/WindowTitle.svelte +16 -0
  542. package/dist/window/WindowTitle.svelte.d.ts +7 -0
  543. package/dist/window/index.d.ts +12 -0
  544. package/dist/window/index.js +13 -0
  545. package/package.json +68 -0
@@ -0,0 +1,141 @@
1
+ <!-- libs/helical-svelte/src/questions/SingleChoiceQuestion.svelte -->
2
+ <!-- Closely based on: diffbook Quiz, mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { Ark } from '@ark-ui/svelte/factory';
5
+ import RadioGroup from '../radio-group/RadioGroup.svelte';
6
+ import RadioGroupItem from '../radio-group/RadioGroupItem.svelte';
7
+ import {
8
+ questionCardBase,
9
+ questionPromptBase,
10
+ questionGroupBase,
11
+ questionOptionBase,
12
+ questionOptionCorrectBase,
13
+ questionOptionIncorrectBase,
14
+ questionCheckButtonBase,
15
+ feedbackCorrectBase,
16
+ feedbackIncorrectBase,
17
+ feedbackExplanationBase,
18
+ cn,
19
+ } from '@cloudvoyant/helical-ui';
20
+ import type { HTMLAttributes } from 'svelte/elements';
21
+
22
+ type Props = {
23
+ id: string;
24
+ prompt: string;
25
+ choices: string[];
26
+ correct: number;
27
+ explanation?: string;
28
+ quiz?: boolean;
29
+ submitted?: boolean;
30
+ onAnswerChange?: (state: { answered: boolean; correct: boolean }) => void;
31
+ onGraded?: (correct: boolean) => void;
32
+ class?: string;
33
+ } & HTMLAttributes<HTMLDivElement>;
34
+
35
+ let {
36
+ prompt,
37
+ choices,
38
+ correct,
39
+ explanation = undefined,
40
+ quiz = false,
41
+ submitted = false,
42
+ onAnswerChange,
43
+ onGraded,
44
+ class: className = '',
45
+ ...rest
46
+ }: Props = $props();
47
+
48
+ let selected = $state<number | null>(null);
49
+ let result = $state<boolean | null>(null);
50
+
51
+ const displayResult = $derived(quiz ? (submitted ? selected === correct : null) : result);
52
+
53
+ function handleCheck() {
54
+ if (selected === null) return;
55
+ const isCorrect = selected === correct;
56
+ result = isCorrect;
57
+ onGraded?.(isCorrect);
58
+ }
59
+ </script>
60
+
61
+ <div class={cn(questionCardBase, className)} {...rest}>
62
+ <p class={questionPromptBase}>{prompt}</p>
63
+ <RadioGroup
64
+ orientation="vertical"
65
+ value={selected !== null ? String(selected) : null}
66
+ onValueChange={(details) => {
67
+ if (quiz ? submitted : result !== null) return;
68
+ selected = details.value != null ? Number(details.value) : null;
69
+ if (quiz) {
70
+ const has = selected !== null;
71
+ onAnswerChange?.({ answered: has, correct: has && selected === correct });
72
+ }
73
+ }}
74
+ disabled={quiz ? submitted : result !== null}
75
+ class={questionGroupBase}
76
+ >
77
+ {#each choices as choice, i (i)}
78
+ <RadioGroupItem
79
+ value={String(i)}
80
+ class={cn(
81
+ questionOptionBase,
82
+ displayResult !== null && i === correct && questionOptionCorrectBase,
83
+ displayResult !== null && i === selected && i !== correct && questionOptionIncorrectBase,
84
+ )}
85
+ >
86
+ {choice}
87
+ </RadioGroupItem>
88
+ {/each}
89
+ </RadioGroup>
90
+ {#if !quiz && result === null}
91
+ <Ark as="button" type="button" onclick={handleCheck} disabled={selected === null} class={questionCheckButtonBase}>
92
+ Check
93
+ </Ark>
94
+ {/if}
95
+ {#if displayResult !== null}
96
+ <div aria-live="polite" role="status" class="mt-3">
97
+ <div
98
+ class={cn(
99
+ 'flex items-center gap-2 text-sm font-medium',
100
+ displayResult ? feedbackCorrectBase : feedbackIncorrectBase,
101
+ )}
102
+ >
103
+ {#if displayResult}
104
+ <svg
105
+ xmlns="http://www.w3.org/2000/svg"
106
+ viewBox="0 0 24 24"
107
+ fill="none"
108
+ stroke="currentColor"
109
+ stroke-width="2"
110
+ stroke-linecap="round"
111
+ stroke-linejoin="round"
112
+ aria-hidden="true"
113
+ class="size-4 shrink-0"
114
+ >
115
+ <circle cx="12" cy="12" r="10"></circle>
116
+ <path d="m9 12 2 2 4-4"></path>
117
+ </svg>
118
+ <span>Correct</span>
119
+ {:else}
120
+ <svg
121
+ xmlns="http://www.w3.org/2000/svg"
122
+ viewBox="0 0 24 24"
123
+ fill="none"
124
+ stroke="currentColor"
125
+ stroke-width="2"
126
+ stroke-linecap="round"
127
+ stroke-linejoin="round"
128
+ aria-hidden="true"
129
+ class="size-4 shrink-0"
130
+ >
131
+ <circle cx="12" cy="12" r="10"></circle>
132
+ <path d="m15 9-6 6"></path>
133
+ <path d="m9 9 6 6"></path>
134
+ </svg>
135
+ <span>Incorrect</span>
136
+ {/if}
137
+ </div>
138
+ {#if explanation}<p class={feedbackExplanationBase}>{explanation}</p>{/if}
139
+ </div>
140
+ {/if}
141
+ </div>
@@ -0,0 +1,19 @@
1
+ import type { HTMLAttributes } from 'svelte/elements';
2
+ type Props = {
3
+ id: string;
4
+ prompt: string;
5
+ choices: string[];
6
+ correct: number;
7
+ explanation?: string;
8
+ quiz?: boolean;
9
+ submitted?: boolean;
10
+ onAnswerChange?: (state: {
11
+ answered: boolean;
12
+ correct: boolean;
13
+ }) => void;
14
+ onGraded?: (correct: boolean) => void;
15
+ class?: string;
16
+ } & HTMLAttributes<HTMLDivElement>;
17
+ declare const SingleChoiceQuestion: import("svelte").Component<Props, {}, "">;
18
+ type SingleChoiceQuestion = ReturnType<typeof SingleChoiceQuestion>;
19
+ export default SingleChoiceQuestion;
@@ -0,0 +1,4 @@
1
+ export { default as SingleChoiceQuestion } from './SingleChoiceQuestion.svelte';
2
+ export { default as MultipleChoiceQuestion } from './MultipleChoiceQuestion.svelte';
3
+ export { default as NumericQuestion } from './NumericQuestion.svelte';
4
+ export { default as Quiz } from './Quiz.svelte';
@@ -0,0 +1,5 @@
1
+ // libs/helical-svelte/src/questions/index.ts
2
+ export { default as SingleChoiceQuestion } from './SingleChoiceQuestion.svelte';
3
+ export { default as MultipleChoiceQuestion } from './MultipleChoiceQuestion.svelte';
4
+ export { default as NumericQuestion } from './NumericQuestion.svelte';
5
+ export { default as Quiz } from './Quiz.svelte';
@@ -0,0 +1,16 @@
1
+ <!-- libs/helical-svelte/src/radio-group/RadioGroup.svelte -->
2
+ <!-- Closely based on: Shark UI radio group (@ark-ui/svelte/radio-group), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { RadioGroupRoot, type RadioGroupRootProps } from '@ark-ui/svelte/radio-group';
5
+ import { radioGroupRootBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ type Props = RadioGroupRootProps & { class?: string };
8
+
9
+ let { class: className = '', children, ...rest }: Props = $props();
10
+
11
+ const classes = $derived(cn(radioGroupRootBase, className));
12
+ </script>
13
+
14
+ <RadioGroupRoot class={classes} {...rest}>
15
+ {@render children?.()}
16
+ </RadioGroupRoot>
@@ -0,0 +1,7 @@
1
+ import { type RadioGroupRootProps } from '@ark-ui/svelte/radio-group';
2
+ type Props = RadioGroupRootProps & {
3
+ class?: string;
4
+ };
5
+ declare const RadioGroup: import("svelte").Component<Props, {}, "">;
6
+ type RadioGroup = ReturnType<typeof RadioGroup>;
7
+ export default RadioGroup;
@@ -0,0 +1,26 @@
1
+ <!-- libs/helical-svelte/src/radio-group/RadioGroupItem.svelte -->
2
+ <!-- Closely based on: Shark UI radio group (@ark-ui/svelte/radio-group), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import {
5
+ RadioGroupItem as ArkRadioGroupItem,
6
+ RadioGroupItemControl,
7
+ RadioGroupItemText,
8
+ RadioGroupItemHiddenInput,
9
+ type RadioGroupItemProps,
10
+ } from '@ark-ui/svelte/radio-group';
11
+ import { radioGroupItemControlBase, radioGroupItemTextBase, cn } from '@cloudvoyant/helical-ui';
12
+
13
+ type Props = RadioGroupItemProps & { class?: string };
14
+
15
+ let { class: className = '', children, ...rest }: Props = $props();
16
+
17
+ const classes = $derived(cn('flex cursor-pointer items-center gap-2.5', className));
18
+ </script>
19
+
20
+ <ArkRadioGroupItem class={classes} {...rest}>
21
+ <RadioGroupItemControl class={radioGroupItemControlBase}>
22
+ <span class="size-1.5 rounded-full bg-current hidden [[data-state=checked]>&]:block"></span>
23
+ </RadioGroupItemControl>
24
+ <RadioGroupItemText class={radioGroupItemTextBase}>{@render children?.()}</RadioGroupItemText>
25
+ <RadioGroupItemHiddenInput />
26
+ </ArkRadioGroupItem>
@@ -0,0 +1,7 @@
1
+ import { type RadioGroupItemProps } from '@ark-ui/svelte/radio-group';
2
+ type Props = RadioGroupItemProps & {
3
+ class?: string;
4
+ };
5
+ declare const RadioGroupItem: import("svelte").Component<Props, {}, "">;
6
+ type RadioGroupItem = ReturnType<typeof RadioGroupItem>;
7
+ export default RadioGroupItem;
@@ -0,0 +1,2 @@
1
+ export { default as RadioGroup } from './RadioGroup.svelte';
2
+ export { default as RadioGroupItem } from './RadioGroupItem.svelte';
@@ -0,0 +1,3 @@
1
+ // libs/helical-svelte/src/radio-group/index.ts
2
+ export { default as RadioGroup } from './RadioGroup.svelte';
3
+ export { default as RadioGroupItem } from './RadioGroupItem.svelte';
@@ -0,0 +1,70 @@
1
+ <!-- libs/helical-svelte/src/select/Select.svelte -->
2
+ <!-- Closely based on: Shark UI select + native-select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <!-- Note: adapted to Ark UI v5 collection-based API (SelectRoot `collection` + SelectItem `item`). -->
4
+ <script lang="ts">
5
+ import {
6
+ SelectRoot,
7
+ SelectHiddenSelect,
8
+ createListCollection,
9
+ type SelectRootProps,
10
+ type ListCollection,
11
+ } from '@ark-ui/svelte/select';
12
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
13
+ import SelectNative from './SelectNative.svelte';
14
+
15
+ type Props = Omit<SelectRootProps<SelectItemData>, 'collection'> & {
16
+ items?: SelectItemData[];
17
+ collection?: ListCollection<SelectItemData>;
18
+ size?: 'sm' | 'md' | 'lg';
19
+ class?: string;
20
+ };
21
+
22
+ let {
23
+ items,
24
+ collection,
25
+ size = 'md',
26
+ class: className = '',
27
+ children,
28
+ value,
29
+ defaultValue,
30
+ onValueChange,
31
+ invalid,
32
+ disabled,
33
+ name,
34
+ form,
35
+ required,
36
+ ...rest
37
+ }: Props = $props();
38
+
39
+ const resolvedCollection = $derived(collection ?? createListCollection({ items: items ?? [] }));
40
+
41
+ let isCoarse = $state(false);
42
+
43
+ $effect(() => {
44
+ const mql = window.matchMedia('(pointer: coarse)');
45
+ isCoarse = mql.matches;
46
+ const onChange = () => (isCoarse = mql.matches);
47
+ mql.addEventListener('change', onChange);
48
+ return () => mql.removeEventListener('change', onChange);
49
+ });
50
+ </script>
51
+
52
+ {#if isCoarse && items}
53
+ <SelectNative
54
+ {items}
55
+ {size}
56
+ value={value?.[0]}
57
+ defaultValue={defaultValue?.[0]}
58
+ onValueChange={(v) => onValueChange?.({ value: [v], items: [] })}
59
+ {invalid}
60
+ {disabled}
61
+ {name}
62
+ {form}
63
+ {required}
64
+ />
65
+ {:else}
66
+ <SelectRoot collection={resolvedCollection} {value} {defaultValue} {onValueChange} {invalid} {disabled} {name} {form} {required} class={className} {...rest}>
67
+ {@render children?.()}
68
+ <SelectHiddenSelect />
69
+ </SelectRoot>
70
+ {/if}
@@ -0,0 +1,11 @@
1
+ import { type SelectRootProps, type ListCollection } from '@ark-ui/svelte/select';
2
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
3
+ type Props = Omit<SelectRootProps<SelectItemData>, 'collection'> & {
4
+ items?: SelectItemData[];
5
+ collection?: ListCollection<SelectItemData>;
6
+ size?: 'sm' | 'md' | 'lg';
7
+ class?: string;
8
+ };
9
+ declare const Select: import("svelte").Component<Props, {}, "">;
10
+ type Select = ReturnType<typeof Select>;
11
+ export default Select;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helical-svelte/src/select/SelectClearTrigger.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectClearTrigger, type SelectClearTriggerProps } from '@ark-ui/svelte/select';
5
+ import { selectClearTriggerBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ let { class: className = '', children, ...rest }: SelectClearTriggerProps = $props();
8
+
9
+ const classes = $derived(cn(selectClearTriggerBase, className));
10
+ </script>
11
+
12
+ <SelectClearTrigger aria-label="Clear selection" class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SelectClearTrigger>
@@ -0,0 +1,4 @@
1
+ import { SelectClearTrigger, type SelectClearTriggerProps } from '@ark-ui/svelte/select';
2
+ declare const SelectClearTrigger: import("svelte").Component<SelectClearTriggerProps, {}, "">;
3
+ type SelectClearTrigger = ReturnType<typeof SelectClearTrigger>;
4
+ export default SelectClearTrigger;
@@ -0,0 +1,19 @@
1
+ <!-- libs/helical-svelte/src/select/SelectContent.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { Portal } from '@ark-ui/svelte/portal';
5
+ import { SelectPositioner, SelectContent, type SelectContentProps } from '@ark-ui/svelte/select';
6
+ import { selectContentBase, selectPositionerBase, cn } from '@cloudvoyant/helical-ui';
7
+
8
+ let { class: className = '', children, ...rest }: SelectContentProps = $props();
9
+
10
+ const classes = $derived(cn(selectContentBase, className));
11
+ </script>
12
+
13
+ <Portal>
14
+ <SelectPositioner class={selectPositionerBase}>
15
+ <SelectContent class={classes} {...rest}>
16
+ {@render children?.()}
17
+ </SelectContent>
18
+ </SelectPositioner>
19
+ </Portal>
@@ -0,0 +1,4 @@
1
+ import { SelectContent, type SelectContentProps } from '@ark-ui/svelte/select';
2
+ declare const SelectContent: import("svelte").Component<SelectContentProps, {}, "">;
3
+ type SelectContent = ReturnType<typeof SelectContent>;
4
+ export default SelectContent;
@@ -0,0 +1 @@
1
+ export { useSelectContext as useSelect } from '@ark-ui/svelte/select';
@@ -0,0 +1,3 @@
1
+ // libs/helical-svelte/src/select/SelectContext.svelte.ts
2
+ // Closely based on: @ark-ui/svelte/select useSelectContext, mirrored from @cloudvoyant/helical-react useSelect
3
+ export { useSelectContext as useSelect } from '@ark-ui/svelte/select';
@@ -0,0 +1,14 @@
1
+ <!-- libs/helical-svelte/src/select/SelectIndicator.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectIndicator, type SelectIndicatorProps } from '@ark-ui/svelte/select';
5
+ import { selectIndicatorBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ let { class: className = '', children, ...rest }: SelectIndicatorProps = $props();
8
+
9
+ const classes = $derived(cn(selectIndicatorBase, className));
10
+ </script>
11
+
12
+ <SelectIndicator class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SelectIndicator>
@@ -0,0 +1,4 @@
1
+ import { SelectIndicator, type SelectIndicatorProps } from '@ark-ui/svelte/select';
2
+ declare const SelectIndicator: import("svelte").Component<SelectIndicatorProps, {}, "">;
3
+ type SelectIndicator = ReturnType<typeof SelectIndicator>;
4
+ export default SelectIndicator;
@@ -0,0 +1,21 @@
1
+ <!-- libs/helical-svelte/src/select/SelectItem.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <!-- Note: adapted to Ark UI v5 — SelectItem takes `item` (the collection item). -->
4
+ <script lang="ts">
5
+ import { SelectItem, type SelectItemProps } from '@ark-ui/svelte/select';
6
+ import { selectItemBase, cn } from '@cloudvoyant/helical-ui';
7
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
8
+
9
+ type Props = Omit<SelectItemProps, 'item'> & {
10
+ item: SelectItemData;
11
+ class?: string;
12
+ };
13
+
14
+ let { item, class: className = '', children, ...rest }: Props = $props();
15
+
16
+ const classes = $derived(cn(selectItemBase, className));
17
+ </script>
18
+
19
+ <SelectItem {item} class={classes} {...rest}>
20
+ {@render children?.()}
21
+ </SelectItem>
@@ -0,0 +1,9 @@
1
+ import { SelectItem, type SelectItemProps } from '@ark-ui/svelte/select';
2
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
3
+ type Props = Omit<SelectItemProps, 'item'> & {
4
+ item: SelectItemData;
5
+ class?: string;
6
+ };
7
+ declare const SelectItem: import("svelte").Component<Props, {}, "">;
8
+ type SelectItem = ReturnType<typeof SelectItem>;
9
+ export default SelectItem;
@@ -0,0 +1,11 @@
1
+ <!-- libs/helical-svelte/src/select/SelectItemGroup.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectItemGroup, type SelectItemGroupProps } from '@ark-ui/svelte/select';
5
+
6
+ let { class: className = '', children, ...rest }: SelectItemGroupProps = $props();
7
+ </script>
8
+
9
+ <SelectItemGroup class={className} {...rest}>
10
+ {@render children?.()}
11
+ </SelectItemGroup>
@@ -0,0 +1,4 @@
1
+ import { SelectItemGroup, type SelectItemGroupProps } from '@ark-ui/svelte/select';
2
+ declare const SelectItemGroup: import("svelte").Component<SelectItemGroupProps, {}, "">;
3
+ type SelectItemGroup = ReturnType<typeof SelectItemGroup>;
4
+ export default SelectItemGroup;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helical-svelte/src/select/SelectItemGroupLabel.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectItemGroupLabel, type SelectItemGroupLabelProps } from '@ark-ui/svelte/select';
5
+ import { selectItemGroupLabelBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ let { class: className = '', children, ...rest }: SelectItemGroupLabelProps = $props();
8
+
9
+ const classes = $derived(cn(selectItemGroupLabelBase, className));
10
+ </script>
11
+
12
+ <SelectItemGroupLabel class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SelectItemGroupLabel>
@@ -0,0 +1,4 @@
1
+ import { SelectItemGroupLabel, type SelectItemGroupLabelProps } from '@ark-ui/svelte/select';
2
+ declare const SelectItemGroupLabel: import("svelte").Component<SelectItemGroupLabelProps, {}, "">;
3
+ type SelectItemGroupLabel = ReturnType<typeof SelectItemGroupLabel>;
4
+ export default SelectItemGroupLabel;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helical-svelte/src/select/SelectItemIndicator.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectItemIndicator, type SelectItemIndicatorProps } from '@ark-ui/svelte/select';
5
+ import { selectItemIndicatorBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ let { class: className = '', children, ...rest }: SelectItemIndicatorProps = $props();
8
+
9
+ const classes = $derived(cn(selectItemIndicatorBase, className));
10
+ </script>
11
+
12
+ <SelectItemIndicator class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SelectItemIndicator>
@@ -0,0 +1,4 @@
1
+ import { SelectItemIndicator, type SelectItemIndicatorProps } from '@ark-ui/svelte/select';
2
+ declare const SelectItemIndicator: import("svelte").Component<SelectItemIndicatorProps, {}, "">;
3
+ type SelectItemIndicator = ReturnType<typeof SelectItemIndicator>;
4
+ export default SelectItemIndicator;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helical-svelte/src/select/SelectItemText.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectItemText, type SelectItemTextProps } from '@ark-ui/svelte/select';
5
+ import { selectItemTextBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ let { class: className = '', children, ...rest }: SelectItemTextProps = $props();
8
+
9
+ const classes = $derived(cn(selectItemTextBase, className));
10
+ </script>
11
+
12
+ <SelectItemText class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SelectItemText>
@@ -0,0 +1,4 @@
1
+ import { SelectItemText, type SelectItemTextProps } from '@ark-ui/svelte/select';
2
+ declare const SelectItemText: import("svelte").Component<SelectItemTextProps, {}, "">;
3
+ type SelectItemText = ReturnType<typeof SelectItemText>;
4
+ export default SelectItemText;
@@ -0,0 +1,73 @@
1
+ <!-- libs/helical-svelte/src/select/SelectNative.svelte -->
2
+ <!-- Closely based on: Shark UI native-select (@ark-ui/svelte/factory), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { Ark } from '@ark-ui/svelte/factory';
5
+ import { nativeSelectVariants, nativeSelectWrapperBase, nativeSelectIconBase, cn } from '@cloudvoyant/helical-ui';
6
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
7
+ import type { Snippet } from 'svelte';
8
+ import type { HTMLSelectAttributes } from 'svelte/elements';
9
+
10
+ type Props = Omit<HTMLSelectAttributes, 'value' | 'children' | 'size'> & {
11
+ items: SelectItemData[];
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onValueChange?: (value: string) => void;
15
+ size?: 'sm' | 'md' | 'lg';
16
+ invalid?: boolean;
17
+ icon?: Snippet;
18
+ class?: string;
19
+ };
20
+
21
+ let {
22
+ items = [],
23
+ value,
24
+ defaultValue,
25
+ onValueChange,
26
+ size = 'md',
27
+ invalid,
28
+ icon,
29
+ class: className = '',
30
+ ...rest
31
+ }: Props = $props();
32
+
33
+ const classes = $derived(nativeSelectVariants({ size }));
34
+ const wrapperClasses = $derived(cn(nativeSelectWrapperBase, className));
35
+
36
+ let current = $state(value ?? defaultValue ?? '');
37
+
38
+ $effect(() => {
39
+ if (value !== undefined) current = value;
40
+ });
41
+
42
+ function handleChange(event: Event) {
43
+ const next = (event.currentTarget as HTMLSelectElement).value;
44
+ current = next;
45
+ onValueChange?.(next);
46
+ }
47
+ </script>
48
+
49
+ <Ark as="div" class={wrapperClasses}>
50
+ <Ark
51
+ as="select"
52
+ class={classes}
53
+ value={current}
54
+ aria-invalid={invalid}
55
+ onchange={handleChange}
56
+ {...rest}
57
+ >
58
+ {#each items as item (item.value)}
59
+ <option value={item.value} disabled={item.disabled}>
60
+ {item.label}
61
+ </option>
62
+ {/each}
63
+ </Ark>
64
+ <Ark as="span" class={nativeSelectIconBase} aria-hidden>
65
+ {#if icon}
66
+ {@render icon()}
67
+ {:else}
68
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
69
+ <path d="m6 9 6 6 6-6" />
70
+ </svg>
71
+ {/if}
72
+ </Ark>
73
+ </Ark>
@@ -0,0 +1,16 @@
1
+ import type { SelectItemData } from '@cloudvoyant/helical-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import type { HTMLSelectAttributes } from 'svelte/elements';
4
+ type Props = Omit<HTMLSelectAttributes, 'value' | 'children' | 'size'> & {
5
+ items: SelectItemData[];
6
+ value?: string;
7
+ defaultValue?: string;
8
+ onValueChange?: (value: string) => void;
9
+ size?: 'sm' | 'md' | 'lg';
10
+ invalid?: boolean;
11
+ icon?: Snippet;
12
+ class?: string;
13
+ };
14
+ declare const SelectNative: import("svelte").Component<Props, {}, "">;
15
+ type SelectNative = ReturnType<typeof SelectNative>;
16
+ export default SelectNative;
@@ -0,0 +1,19 @@
1
+ <!-- libs/helical-svelte/src/select/SelectTrigger.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helical-react -->
3
+ <script lang="ts">
4
+ import { SelectTrigger, type SelectTriggerProps } from '@ark-ui/svelte/select';
5
+ import { inputVariants, selectTriggerBase, cn } from '@cloudvoyant/helical-ui';
6
+
7
+ type Props = SelectTriggerProps & {
8
+ size?: 'sm' | 'md' | 'lg';
9
+ class?: string;
10
+ };
11
+
12
+ let { size = 'md', class: className = '', children, ...rest }: Props = $props();
13
+
14
+ const classes = $derived(cn(inputVariants({ size }), selectTriggerBase, className));
15
+ </script>
16
+
17
+ <SelectTrigger class={classes} {...rest}>
18
+ {@render children?.()}
19
+ </SelectTrigger>
@@ -0,0 +1,8 @@
1
+ import { SelectTrigger, type SelectTriggerProps } from '@ark-ui/svelte/select';
2
+ type Props = SelectTriggerProps & {
3
+ size?: 'sm' | 'md' | 'lg';
4
+ class?: string;
5
+ };
6
+ declare const SelectTrigger: import("svelte").Component<Props, {}, "">;
7
+ type SelectTrigger = ReturnType<typeof SelectTrigger>;
8
+ export default SelectTrigger;