dystopia-linear-lib 1.0.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 (496) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/components/accordion/Accordion.svelte +39 -0
  4. package/dist/components/accordion/Accordion.svelte.d.ts +4 -0
  5. package/dist/components/accordion/Accordion.types.d.ts +14 -0
  6. package/dist/components/accordion/Accordion.types.js +1 -0
  7. package/dist/components/accordion/AccordionItem.svelte +70 -0
  8. package/dist/components/accordion/AccordionItem.svelte.d.ts +4 -0
  9. package/dist/components/accordion/AccordionItem.types.d.ts +13 -0
  10. package/dist/components/accordion/AccordionItem.types.js +1 -0
  11. package/dist/components/accordion/accordion-context.d.ts +8 -0
  12. package/dist/components/accordion/accordion-context.js +12 -0
  13. package/dist/components/accordion/index.d.ts +4 -0
  14. package/dist/components/accordion/index.js +2 -0
  15. package/dist/components/alert/Alert.svelte +45 -0
  16. package/dist/components/alert/Alert.svelte.d.ts +4 -0
  17. package/dist/components/alert/Alert.types.d.ts +15 -0
  18. package/dist/components/alert/Alert.types.js +1 -0
  19. package/dist/components/alert/Alert.variants.d.ts +5 -0
  20. package/dist/components/alert/Alert.variants.js +14 -0
  21. package/dist/components/alert/index.d.ts +3 -0
  22. package/dist/components/alert/index.js +2 -0
  23. package/dist/components/avatar/Avatar.svelte +38 -0
  24. package/dist/components/avatar/Avatar.svelte.d.ts +4 -0
  25. package/dist/components/avatar/Avatar.types.d.ts +13 -0
  26. package/dist/components/avatar/Avatar.types.js +1 -0
  27. package/dist/components/avatar/index.d.ts +2 -0
  28. package/dist/components/avatar/index.js +1 -0
  29. package/dist/components/badge/Badge.svelte +11 -0
  30. package/dist/components/badge/Badge.svelte.d.ts +4 -0
  31. package/dist/components/badge/Badge.types.d.ts +7 -0
  32. package/dist/components/badge/Badge.types.js +1 -0
  33. package/dist/components/badge/Badge.variants.d.ts +5 -0
  34. package/dist/components/badge/Badge.variants.js +14 -0
  35. package/dist/components/badge/index.d.ts +3 -0
  36. package/dist/components/badge/index.js +2 -0
  37. package/dist/components/breadcrumb/Breadcrumb.svelte +9 -0
  38. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts +4 -0
  39. package/dist/components/breadcrumb/Breadcrumb.types.d.ts +6 -0
  40. package/dist/components/breadcrumb/Breadcrumb.types.js +1 -0
  41. package/dist/components/breadcrumb/BreadcrumbEllipsis.svelte +37 -0
  42. package/dist/components/breadcrumb/BreadcrumbEllipsis.svelte.d.ts +4 -0
  43. package/dist/components/breadcrumb/BreadcrumbEllipsis.types.d.ts +16 -0
  44. package/dist/components/breadcrumb/BreadcrumbEllipsis.types.js +1 -0
  45. package/dist/components/breadcrumb/BreadcrumbItem.svelte +10 -0
  46. package/dist/components/breadcrumb/BreadcrumbItem.svelte.d.ts +4 -0
  47. package/dist/components/breadcrumb/BreadcrumbItem.types.d.ts +6 -0
  48. package/dist/components/breadcrumb/BreadcrumbItem.types.js +1 -0
  49. package/dist/components/breadcrumb/BreadcrumbLink.svelte +22 -0
  50. package/dist/components/breadcrumb/BreadcrumbLink.svelte.d.ts +4 -0
  51. package/dist/components/breadcrumb/BreadcrumbLink.types.d.ts +10 -0
  52. package/dist/components/breadcrumb/BreadcrumbLink.types.js +1 -0
  53. package/dist/components/breadcrumb/BreadcrumbList.svelte +13 -0
  54. package/dist/components/breadcrumb/BreadcrumbList.svelte.d.ts +4 -0
  55. package/dist/components/breadcrumb/BreadcrumbList.types.d.ts +6 -0
  56. package/dist/components/breadcrumb/BreadcrumbList.types.js +1 -0
  57. package/dist/components/breadcrumb/BreadcrumbPage.svelte +15 -0
  58. package/dist/components/breadcrumb/BreadcrumbPage.svelte.d.ts +4 -0
  59. package/dist/components/breadcrumb/BreadcrumbPage.types.d.ts +6 -0
  60. package/dist/components/breadcrumb/BreadcrumbPage.types.js +1 -0
  61. package/dist/components/breadcrumb/BreadcrumbSeparator.svelte +28 -0
  62. package/dist/components/breadcrumb/BreadcrumbSeparator.svelte.d.ts +4 -0
  63. package/dist/components/breadcrumb/BreadcrumbSeparator.types.d.ts +7 -0
  64. package/dist/components/breadcrumb/BreadcrumbSeparator.types.js +1 -0
  65. package/dist/components/breadcrumb/index.d.ts +14 -0
  66. package/dist/components/breadcrumb/index.js +7 -0
  67. package/dist/components/button/Button.svelte +47 -0
  68. package/dist/components/button/Button.svelte.d.ts +4 -0
  69. package/dist/components/button/Button.types.d.ts +14 -0
  70. package/dist/components/button/Button.types.js +1 -0
  71. package/dist/components/button/Button.variants.d.ts +6 -0
  72. package/dist/components/button/Button.variants.js +19 -0
  73. package/dist/components/button/index.d.ts +3 -0
  74. package/dist/components/button/index.js +2 -0
  75. package/dist/components/button-group/ButtonGroup.svelte +11 -0
  76. package/dist/components/button-group/ButtonGroup.svelte.d.ts +4 -0
  77. package/dist/components/button-group/ButtonGroup.types.d.ts +7 -0
  78. package/dist/components/button-group/ButtonGroup.types.js +1 -0
  79. package/dist/components/button-group/ButtonGroup.variants.d.ts +5 -0
  80. package/dist/components/button-group/ButtonGroup.variants.js +12 -0
  81. package/dist/components/button-group/index.d.ts +3 -0
  82. package/dist/components/button-group/index.js +2 -0
  83. package/dist/components/calendar/Calendar.svelte +276 -0
  84. package/dist/components/calendar/Calendar.svelte.d.ts +4 -0
  85. package/dist/components/calendar/Calendar.types.d.ts +52 -0
  86. package/dist/components/calendar/Calendar.types.js +1 -0
  87. package/dist/components/calendar/CalendarDay.svelte +30 -0
  88. package/dist/components/calendar/CalendarDay.svelte.d.ts +4 -0
  89. package/dist/components/calendar/CalendarDay.types.d.ts +16 -0
  90. package/dist/components/calendar/CalendarDay.types.js +1 -0
  91. package/dist/components/calendar/CalendarDay.variants.d.ts +8 -0
  92. package/dist/components/calendar/CalendarDay.variants.js +31 -0
  93. package/dist/components/calendar/index.d.ts +5 -0
  94. package/dist/components/calendar/index.js +3 -0
  95. package/dist/components/card/Card.svelte +10 -0
  96. package/dist/components/card/Card.svelte.d.ts +4 -0
  97. package/dist/components/card/Card.types.d.ts +6 -0
  98. package/dist/components/card/Card.types.js +1 -0
  99. package/dist/components/card/CardContent.svelte +10 -0
  100. package/dist/components/card/CardContent.svelte.d.ts +4 -0
  101. package/dist/components/card/CardContent.types.d.ts +6 -0
  102. package/dist/components/card/CardContent.types.js +1 -0
  103. package/dist/components/card/CardDescription.svelte +10 -0
  104. package/dist/components/card/CardDescription.svelte.d.ts +4 -0
  105. package/dist/components/card/CardDescription.types.d.ts +6 -0
  106. package/dist/components/card/CardDescription.types.js +1 -0
  107. package/dist/components/card/CardFooter.svelte +10 -0
  108. package/dist/components/card/CardFooter.svelte.d.ts +4 -0
  109. package/dist/components/card/CardFooter.types.d.ts +6 -0
  110. package/dist/components/card/CardFooter.types.js +1 -0
  111. package/dist/components/card/CardHeader.svelte +10 -0
  112. package/dist/components/card/CardHeader.svelte.d.ts +4 -0
  113. package/dist/components/card/CardHeader.types.d.ts +6 -0
  114. package/dist/components/card/CardHeader.types.js +1 -0
  115. package/dist/components/card/CardTitle.svelte +10 -0
  116. package/dist/components/card/CardTitle.svelte.d.ts +4 -0
  117. package/dist/components/card/CardTitle.types.d.ts +6 -0
  118. package/dist/components/card/CardTitle.types.js +1 -0
  119. package/dist/components/card/index.d.ts +12 -0
  120. package/dist/components/card/index.js +6 -0
  121. package/dist/components/checkbox/Checkbox.svelte +74 -0
  122. package/dist/components/checkbox/Checkbox.svelte.d.ts +4 -0
  123. package/dist/components/checkbox/Checkbox.types.d.ts +15 -0
  124. package/dist/components/checkbox/Checkbox.types.js +1 -0
  125. package/dist/components/checkbox/Checkbox.variants.d.ts +5 -0
  126. package/dist/components/checkbox/Checkbox.variants.js +13 -0
  127. package/dist/components/checkbox/index.d.ts +3 -0
  128. package/dist/components/checkbox/index.js +2 -0
  129. package/dist/components/collapsible/Collapsible.svelte +64 -0
  130. package/dist/components/collapsible/Collapsible.svelte.d.ts +4 -0
  131. package/dist/components/collapsible/Collapsible.types.d.ts +13 -0
  132. package/dist/components/collapsible/Collapsible.types.js +1 -0
  133. package/dist/components/collapsible/index.d.ts +2 -0
  134. package/dist/components/collapsible/index.js +1 -0
  135. package/dist/components/combobox/Combobox.svelte +528 -0
  136. package/dist/components/combobox/Combobox.svelte.d.ts +25 -0
  137. package/dist/components/combobox/Combobox.types.d.ts +83 -0
  138. package/dist/components/combobox/Combobox.types.js +1 -0
  139. package/dist/components/combobox/Combobox.variants.d.ts +11 -0
  140. package/dist/components/combobox/Combobox.variants.js +35 -0
  141. package/dist/components/combobox/combobox-state.svelte.d.ts +69 -0
  142. package/dist/components/combobox/combobox-state.svelte.js +223 -0
  143. package/dist/components/combobox/index.d.ts +3 -0
  144. package/dist/components/combobox/index.js +2 -0
  145. package/dist/components/data-table/DataTable.svelte +113 -0
  146. package/dist/components/data-table/DataTable.svelte.d.ts +26 -0
  147. package/dist/components/data-table/DataTable.types.d.ts +32 -0
  148. package/dist/components/data-table/DataTable.types.js +1 -0
  149. package/dist/components/data-table/DataTableColumnHeader.svelte +63 -0
  150. package/dist/components/data-table/DataTableColumnHeader.svelte.d.ts +4 -0
  151. package/dist/components/data-table/DataTableColumnHeader.types.d.ts +17 -0
  152. package/dist/components/data-table/DataTableColumnHeader.types.js +1 -0
  153. package/dist/components/data-table/DataTablePagination.svelte +50 -0
  154. package/dist/components/data-table/DataTablePagination.svelte.d.ts +26 -0
  155. package/dist/components/data-table/DataTablePagination.types.d.ts +32 -0
  156. package/dist/components/data-table/DataTablePagination.types.js +1 -0
  157. package/dist/components/data-table/index.d.ts +6 -0
  158. package/dist/components/data-table/index.js +3 -0
  159. package/dist/components/date-picker/DatePicker.svelte +216 -0
  160. package/dist/components/date-picker/DatePicker.svelte.d.ts +4 -0
  161. package/dist/components/date-picker/DatePicker.types.d.ts +40 -0
  162. package/dist/components/date-picker/DatePicker.types.js +1 -0
  163. package/dist/components/date-picker/index.d.ts +2 -0
  164. package/dist/components/date-picker/index.js +1 -0
  165. package/dist/components/dialog/Dialog.svelte +179 -0
  166. package/dist/components/dialog/Dialog.svelte.d.ts +4 -0
  167. package/dist/components/dialog/Dialog.types.d.ts +21 -0
  168. package/dist/components/dialog/Dialog.types.js +1 -0
  169. package/dist/components/dialog/index.d.ts +2 -0
  170. package/dist/components/dialog/index.js +1 -0
  171. package/dist/components/drawer/Drawer.svelte +157 -0
  172. package/dist/components/drawer/Drawer.svelte.d.ts +4 -0
  173. package/dist/components/drawer/Drawer.types.d.ts +22 -0
  174. package/dist/components/drawer/Drawer.types.js +1 -0
  175. package/dist/components/drawer/Drawer.variants.d.ts +5 -0
  176. package/dist/components/drawer/Drawer.variants.js +14 -0
  177. package/dist/components/drawer/index.d.ts +3 -0
  178. package/dist/components/drawer/index.js +2 -0
  179. package/dist/components/dropdown/Dropdown.svelte +152 -0
  180. package/dist/components/dropdown/Dropdown.svelte.d.ts +4 -0
  181. package/dist/components/dropdown/Dropdown.types.d.ts +15 -0
  182. package/dist/components/dropdown/Dropdown.types.js +1 -0
  183. package/dist/components/dropdown/DropdownItem.svelte +31 -0
  184. package/dist/components/dropdown/DropdownItem.svelte.d.ts +4 -0
  185. package/dist/components/dropdown/DropdownItem.types.d.ts +8 -0
  186. package/dist/components/dropdown/DropdownItem.types.js +1 -0
  187. package/dist/components/dropdown/index.d.ts +4 -0
  188. package/dist/components/dropdown/index.js +2 -0
  189. package/dist/components/empty-state/EmptyState.svelte +37 -0
  190. package/dist/components/empty-state/EmptyState.svelte.d.ts +4 -0
  191. package/dist/components/empty-state/EmptyState.types.d.ts +16 -0
  192. package/dist/components/empty-state/EmptyState.types.js +1 -0
  193. package/dist/components/empty-state/index.d.ts +2 -0
  194. package/dist/components/empty-state/index.js +1 -0
  195. package/dist/components/helper-text/HelperText.svelte +15 -0
  196. package/dist/components/helper-text/HelperText.svelte.d.ts +4 -0
  197. package/dist/components/helper-text/HelperText.types.d.ts +8 -0
  198. package/dist/components/helper-text/HelperText.types.js +1 -0
  199. package/dist/components/helper-text/index.d.ts +2 -0
  200. package/dist/components/helper-text/index.js +1 -0
  201. package/dist/components/hover-card/HoverCard.svelte +138 -0
  202. package/dist/components/hover-card/HoverCard.svelte.d.ts +4 -0
  203. package/dist/components/hover-card/HoverCard.types.d.ts +20 -0
  204. package/dist/components/hover-card/HoverCard.types.js +1 -0
  205. package/dist/components/hover-card/index.d.ts +2 -0
  206. package/dist/components/hover-card/index.js +1 -0
  207. package/dist/components/label/Label.svelte +26 -0
  208. package/dist/components/label/Label.svelte.d.ts +4 -0
  209. package/dist/components/label/Label.types.d.ts +9 -0
  210. package/dist/components/label/Label.types.js +1 -0
  211. package/dist/components/label/index.d.ts +2 -0
  212. package/dist/components/label/index.js +1 -0
  213. package/dist/components/pagination/Pagination.svelte +85 -0
  214. package/dist/components/pagination/Pagination.svelte.d.ts +4 -0
  215. package/dist/components/pagination/Pagination.types.d.ts +41 -0
  216. package/dist/components/pagination/Pagination.types.js +1 -0
  217. package/dist/components/pagination/PaginationEllipsis.svelte +15 -0
  218. package/dist/components/pagination/PaginationEllipsis.svelte.d.ts +4 -0
  219. package/dist/components/pagination/PaginationEllipsis.types.d.ts +9 -0
  220. package/dist/components/pagination/PaginationEllipsis.types.js +1 -0
  221. package/dist/components/pagination/PaginationEllipsis.variants.d.ts +5 -0
  222. package/dist/components/pagination/PaginationEllipsis.variants.js +13 -0
  223. package/dist/components/pagination/PaginationItem.svelte +10 -0
  224. package/dist/components/pagination/PaginationItem.svelte.d.ts +4 -0
  225. package/dist/components/pagination/PaginationItem.types.d.ts +6 -0
  226. package/dist/components/pagination/PaginationItem.types.js +1 -0
  227. package/dist/components/pagination/PaginationLink.svelte +30 -0
  228. package/dist/components/pagination/PaginationLink.svelte.d.ts +4 -0
  229. package/dist/components/pagination/PaginationLink.types.d.ts +15 -0
  230. package/dist/components/pagination/PaginationLink.types.js +1 -0
  231. package/dist/components/pagination/PaginationLink.variants.d.ts +6 -0
  232. package/dist/components/pagination/PaginationLink.variants.js +18 -0
  233. package/dist/components/pagination/PaginationList.svelte +10 -0
  234. package/dist/components/pagination/PaginationList.svelte.d.ts +4 -0
  235. package/dist/components/pagination/PaginationList.types.d.ts +6 -0
  236. package/dist/components/pagination/PaginationList.types.js +1 -0
  237. package/dist/components/pagination/PaginationNext.svelte +25 -0
  238. package/dist/components/pagination/PaginationNext.svelte.d.ts +4 -0
  239. package/dist/components/pagination/PaginationNext.types.d.ts +9 -0
  240. package/dist/components/pagination/PaginationNext.types.js +1 -0
  241. package/dist/components/pagination/PaginationNext.variants.d.ts +5 -0
  242. package/dist/components/pagination/PaginationNext.variants.js +13 -0
  243. package/dist/components/pagination/PaginationPrevious.svelte +25 -0
  244. package/dist/components/pagination/PaginationPrevious.svelte.d.ts +4 -0
  245. package/dist/components/pagination/PaginationPrevious.types.d.ts +9 -0
  246. package/dist/components/pagination/PaginationPrevious.types.js +1 -0
  247. package/dist/components/pagination/PaginationPrevious.variants.d.ts +5 -0
  248. package/dist/components/pagination/PaginationPrevious.variants.js +13 -0
  249. package/dist/components/pagination/index.d.ts +18 -0
  250. package/dist/components/pagination/index.js +11 -0
  251. package/dist/components/password-field/PasswordField.svelte +69 -0
  252. package/dist/components/password-field/PasswordField.svelte.d.ts +4 -0
  253. package/dist/components/password-field/PasswordField.types.d.ts +10 -0
  254. package/dist/components/password-field/PasswordField.types.js +1 -0
  255. package/dist/components/password-field/index.d.ts +2 -0
  256. package/dist/components/password-field/index.js +1 -0
  257. package/dist/components/popover/Popover.svelte +84 -0
  258. package/dist/components/popover/Popover.svelte.d.ts +4 -0
  259. package/dist/components/popover/Popover.types.d.ts +15 -0
  260. package/dist/components/popover/Popover.types.js +1 -0
  261. package/dist/components/popover/index.d.ts +2 -0
  262. package/dist/components/popover/index.js +1 -0
  263. package/dist/components/progress/Progress.svelte +35 -0
  264. package/dist/components/progress/Progress.svelte.d.ts +4 -0
  265. package/dist/components/progress/Progress.types.d.ts +12 -0
  266. package/dist/components/progress/Progress.types.js +1 -0
  267. package/dist/components/progress/Progress.variants.d.ts +5 -0
  268. package/dist/components/progress/Progress.variants.js +13 -0
  269. package/dist/components/progress/index.d.ts +3 -0
  270. package/dist/components/progress/index.js +2 -0
  271. package/dist/components/radio/Radio.svelte +46 -0
  272. package/dist/components/radio/Radio.svelte.d.ts +4 -0
  273. package/dist/components/radio/Radio.types.d.ts +16 -0
  274. package/dist/components/radio/Radio.types.js +1 -0
  275. package/dist/components/radio/Radio.variants.d.ts +5 -0
  276. package/dist/components/radio/Radio.variants.js +13 -0
  277. package/dist/components/radio/index.d.ts +3 -0
  278. package/dist/components/radio/index.js +2 -0
  279. package/dist/components/select/Select.svelte +55 -0
  280. package/dist/components/select/Select.svelte.d.ts +4 -0
  281. package/dist/components/select/Select.types.d.ts +16 -0
  282. package/dist/components/select/Select.types.js +1 -0
  283. package/dist/components/select/Select.variants.d.ts +6 -0
  284. package/dist/components/select/Select.variants.js +18 -0
  285. package/dist/components/select/index.d.ts +3 -0
  286. package/dist/components/select/index.js +2 -0
  287. package/dist/components/separator/Separator.svelte +19 -0
  288. package/dist/components/separator/Separator.svelte.d.ts +4 -0
  289. package/dist/components/separator/Separator.types.d.ts +7 -0
  290. package/dist/components/separator/Separator.types.js +1 -0
  291. package/dist/components/separator/Separator.variants.d.ts +5 -0
  292. package/dist/components/separator/Separator.variants.js +12 -0
  293. package/dist/components/separator/index.d.ts +3 -0
  294. package/dist/components/separator/index.js +2 -0
  295. package/dist/components/sidebar/Sidebar.svelte +28 -0
  296. package/dist/components/sidebar/Sidebar.svelte.d.ts +4 -0
  297. package/dist/components/sidebar/Sidebar.types.d.ts +7 -0
  298. package/dist/components/sidebar/Sidebar.types.js +1 -0
  299. package/dist/components/sidebar/Sidebar.variants.d.ts +5 -0
  300. package/dist/components/sidebar/Sidebar.variants.js +12 -0
  301. package/dist/components/sidebar/SidebarCollapsibleItem.svelte +77 -0
  302. package/dist/components/sidebar/SidebarCollapsibleItem.svelte.d.ts +4 -0
  303. package/dist/components/sidebar/SidebarCollapsibleItem.types.d.ts +9 -0
  304. package/dist/components/sidebar/SidebarCollapsibleItem.types.js +1 -0
  305. package/dist/components/sidebar/SidebarContent.svelte +14 -0
  306. package/dist/components/sidebar/SidebarContent.svelte.d.ts +4 -0
  307. package/dist/components/sidebar/SidebarContent.types.d.ts +6 -0
  308. package/dist/components/sidebar/SidebarContent.types.js +1 -0
  309. package/dist/components/sidebar/SidebarFooter.svelte +14 -0
  310. package/dist/components/sidebar/SidebarFooter.svelte.d.ts +4 -0
  311. package/dist/components/sidebar/SidebarFooter.types.d.ts +6 -0
  312. package/dist/components/sidebar/SidebarFooter.types.js +1 -0
  313. package/dist/components/sidebar/SidebarGroup.svelte +10 -0
  314. package/dist/components/sidebar/SidebarGroup.svelte.d.ts +4 -0
  315. package/dist/components/sidebar/SidebarGroup.types.d.ts +6 -0
  316. package/dist/components/sidebar/SidebarGroup.types.js +1 -0
  317. package/dist/components/sidebar/SidebarGroupLabel.svelte +21 -0
  318. package/dist/components/sidebar/SidebarGroupLabel.svelte.d.ts +4 -0
  319. package/dist/components/sidebar/SidebarGroupLabel.types.d.ts +6 -0
  320. package/dist/components/sidebar/SidebarGroupLabel.types.js +1 -0
  321. package/dist/components/sidebar/SidebarHeader.svelte +14 -0
  322. package/dist/components/sidebar/SidebarHeader.svelte.d.ts +4 -0
  323. package/dist/components/sidebar/SidebarHeader.types.d.ts +6 -0
  324. package/dist/components/sidebar/SidebarHeader.types.js +1 -0
  325. package/dist/components/sidebar/SidebarItem.svelte +51 -0
  326. package/dist/components/sidebar/SidebarItem.svelte.d.ts +4 -0
  327. package/dist/components/sidebar/SidebarItem.types.d.ts +11 -0
  328. package/dist/components/sidebar/SidebarItem.types.js +1 -0
  329. package/dist/components/sidebar/SidebarItem.variants.d.ts +6 -0
  330. package/dist/components/sidebar/SidebarItem.variants.js +17 -0
  331. package/dist/components/sidebar/SidebarTrigger.svelte +39 -0
  332. package/dist/components/sidebar/SidebarTrigger.svelte.d.ts +4 -0
  333. package/dist/components/sidebar/SidebarTrigger.types.d.ts +8 -0
  334. package/dist/components/sidebar/SidebarTrigger.types.js +1 -0
  335. package/dist/components/sidebar/index.d.ts +20 -0
  336. package/dist/components/sidebar/index.js +11 -0
  337. package/dist/components/sidebar/sidebar-context.d.ts +8 -0
  338. package/dist/components/sidebar/sidebar-context.js +12 -0
  339. package/dist/components/skeleton/Skeleton.svelte +12 -0
  340. package/dist/components/skeleton/Skeleton.svelte.d.ts +4 -0
  341. package/dist/components/skeleton/Skeleton.types.d.ts +4 -0
  342. package/dist/components/skeleton/Skeleton.types.js +1 -0
  343. package/dist/components/skeleton/index.d.ts +2 -0
  344. package/dist/components/skeleton/index.js +1 -0
  345. package/dist/components/slider/Slider.svelte +30 -0
  346. package/dist/components/slider/Slider.svelte.d.ts +4 -0
  347. package/dist/components/slider/Slider.types.d.ts +9 -0
  348. package/dist/components/slider/Slider.types.js +1 -0
  349. package/dist/components/slider/Slider.variants.d.ts +5 -0
  350. package/dist/components/slider/Slider.variants.js +26 -0
  351. package/dist/components/slider/index.d.ts +3 -0
  352. package/dist/components/slider/index.js +2 -0
  353. package/dist/components/spinner/Spinner.svelte +24 -0
  354. package/dist/components/spinner/Spinner.svelte.d.ts +4 -0
  355. package/dist/components/spinner/Spinner.types.d.ts +10 -0
  356. package/dist/components/spinner/Spinner.types.js +1 -0
  357. package/dist/components/spinner/Spinner.variants.d.ts +5 -0
  358. package/dist/components/spinner/Spinner.variants.js +13 -0
  359. package/dist/components/spinner/index.d.ts +3 -0
  360. package/dist/components/spinner/index.js +2 -0
  361. package/dist/components/switch/Switch.svelte +37 -0
  362. package/dist/components/switch/Switch.svelte.d.ts +4 -0
  363. package/dist/components/switch/Switch.types.d.ts +13 -0
  364. package/dist/components/switch/Switch.types.js +1 -0
  365. package/dist/components/switch/Switch.variants.d.ts +8 -0
  366. package/dist/components/switch/Switch.variants.js +25 -0
  367. package/dist/components/switch/index.d.ts +3 -0
  368. package/dist/components/switch/index.js +2 -0
  369. package/dist/components/table/Table.svelte +14 -0
  370. package/dist/components/table/Table.svelte.d.ts +4 -0
  371. package/dist/components/table/Table.types.d.ts +10 -0
  372. package/dist/components/table/Table.types.js +1 -0
  373. package/dist/components/table/TableBody.svelte +10 -0
  374. package/dist/components/table/TableBody.svelte.d.ts +4 -0
  375. package/dist/components/table/TableBody.types.d.ts +6 -0
  376. package/dist/components/table/TableBody.types.js +1 -0
  377. package/dist/components/table/TableCaption.svelte +10 -0
  378. package/dist/components/table/TableCaption.svelte.d.ts +4 -0
  379. package/dist/components/table/TableCaption.types.d.ts +6 -0
  380. package/dist/components/table/TableCaption.types.js +1 -0
  381. package/dist/components/table/TableCell.svelte +13 -0
  382. package/dist/components/table/TableCell.svelte.d.ts +4 -0
  383. package/dist/components/table/TableCell.types.d.ts +6 -0
  384. package/dist/components/table/TableCell.types.js +1 -0
  385. package/dist/components/table/TableFooter.svelte +13 -0
  386. package/dist/components/table/TableFooter.svelte.d.ts +4 -0
  387. package/dist/components/table/TableFooter.types.d.ts +6 -0
  388. package/dist/components/table/TableFooter.types.js +1 -0
  389. package/dist/components/table/TableHead.svelte +17 -0
  390. package/dist/components/table/TableHead.svelte.d.ts +4 -0
  391. package/dist/components/table/TableHead.types.d.ts +6 -0
  392. package/dist/components/table/TableHead.types.js +1 -0
  393. package/dist/components/table/TableHeader.svelte +10 -0
  394. package/dist/components/table/TableHeader.svelte.d.ts +4 -0
  395. package/dist/components/table/TableHeader.types.d.ts +6 -0
  396. package/dist/components/table/TableHeader.types.js +1 -0
  397. package/dist/components/table/TableRow.svelte +17 -0
  398. package/dist/components/table/TableRow.svelte.d.ts +4 -0
  399. package/dist/components/table/TableRow.types.d.ts +11 -0
  400. package/dist/components/table/TableRow.types.js +1 -0
  401. package/dist/components/table/index.d.ts +16 -0
  402. package/dist/components/table/index.js +8 -0
  403. package/dist/components/tabs/Tabs.svelte +19 -0
  404. package/dist/components/tabs/Tabs.svelte.d.ts +4 -0
  405. package/dist/components/tabs/Tabs.types.d.ts +7 -0
  406. package/dist/components/tabs/Tabs.types.js +1 -0
  407. package/dist/components/tabs/TabsContent.svelte +24 -0
  408. package/dist/components/tabs/TabsContent.svelte.d.ts +4 -0
  409. package/dist/components/tabs/TabsContent.types.d.ts +7 -0
  410. package/dist/components/tabs/TabsContent.types.js +1 -0
  411. package/dist/components/tabs/TabsList.svelte +61 -0
  412. package/dist/components/tabs/TabsList.svelte.d.ts +4 -0
  413. package/dist/components/tabs/TabsList.types.d.ts +6 -0
  414. package/dist/components/tabs/TabsList.types.js +1 -0
  415. package/dist/components/tabs/TabsTrigger.svelte +37 -0
  416. package/dist/components/tabs/TabsTrigger.svelte.d.ts +4 -0
  417. package/dist/components/tabs/TabsTrigger.types.d.ts +8 -0
  418. package/dist/components/tabs/TabsTrigger.types.js +1 -0
  419. package/dist/components/tabs/index.d.ts +8 -0
  420. package/dist/components/tabs/index.js +4 -0
  421. package/dist/components/tabs/tabs-context.d.ts +8 -0
  422. package/dist/components/tabs/tabs-context.js +12 -0
  423. package/dist/components/text-field/TextField.svelte +53 -0
  424. package/dist/components/text-field/TextField.svelte.d.ts +4 -0
  425. package/dist/components/text-field/TextField.types.d.ts +17 -0
  426. package/dist/components/text-field/TextField.types.js +1 -0
  427. package/dist/components/text-field/TextField.variants.d.ts +6 -0
  428. package/dist/components/text-field/TextField.variants.js +18 -0
  429. package/dist/components/text-field/index.d.ts +3 -0
  430. package/dist/components/text-field/index.js +2 -0
  431. package/dist/components/textarea/Textarea.svelte +53 -0
  432. package/dist/components/textarea/Textarea.svelte.d.ts +4 -0
  433. package/dist/components/textarea/Textarea.types.d.ts +15 -0
  434. package/dist/components/textarea/Textarea.types.js +1 -0
  435. package/dist/components/textarea/Textarea.variants.d.ts +6 -0
  436. package/dist/components/textarea/Textarea.variants.js +18 -0
  437. package/dist/components/textarea/index.d.ts +3 -0
  438. package/dist/components/textarea/index.js +2 -0
  439. package/dist/components/toast/ToastItem.svelte +109 -0
  440. package/dist/components/toast/ToastItem.svelte.d.ts +17 -0
  441. package/dist/components/toast/Toaster.svelte +51 -0
  442. package/dist/components/toast/Toaster.svelte.d.ts +4 -0
  443. package/dist/components/toast/Toaster.types.d.ts +20 -0
  444. package/dist/components/toast/Toaster.types.js +1 -0
  445. package/dist/components/toast/Toaster.variants.d.ts +5 -0
  446. package/dist/components/toast/Toaster.variants.js +14 -0
  447. package/dist/components/toast/index.d.ts +4 -0
  448. package/dist/components/toast/index.js +3 -0
  449. package/dist/components/toast/toast-store.svelte.d.ts +28 -0
  450. package/dist/components/toast/toast-store.svelte.js +34 -0
  451. package/dist/components/toggle/Toggle.svelte +29 -0
  452. package/dist/components/toggle/Toggle.svelte.d.ts +4 -0
  453. package/dist/components/toggle/Toggle.types.d.ts +9 -0
  454. package/dist/components/toggle/Toggle.types.js +1 -0
  455. package/dist/components/toggle/Toggle.variants.d.ts +6 -0
  456. package/dist/components/toggle/Toggle.variants.js +18 -0
  457. package/dist/components/toggle/index.d.ts +3 -0
  458. package/dist/components/toggle/index.js +2 -0
  459. package/dist/components/tooltip/Tooltip.svelte +113 -0
  460. package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
  461. package/dist/components/tooltip/Tooltip.types.d.ts +19 -0
  462. package/dist/components/tooltip/Tooltip.types.js +1 -0
  463. package/dist/components/tooltip/index.d.ts +2 -0
  464. package/dist/components/tooltip/index.js +1 -0
  465. package/dist/components/typography/Typography.svelte +33 -0
  466. package/dist/components/typography/Typography.svelte.d.ts +4 -0
  467. package/dist/components/typography/Typography.types.d.ts +10 -0
  468. package/dist/components/typography/Typography.types.js +1 -0
  469. package/dist/components/typography/Typography.variants.d.ts +5 -0
  470. package/dist/components/typography/Typography.variants.js +17 -0
  471. package/dist/components/typography/index.d.ts +3 -0
  472. package/dist/components/typography/index.js +2 -0
  473. package/dist/index.css +399 -0
  474. package/dist/utils/calendar-grid.d.ts +20 -0
  475. package/dist/utils/calendar-grid.js +26 -0
  476. package/dist/utils/cn.d.ts +2 -0
  477. package/dist/utils/cn.js +5 -0
  478. package/dist/utils/dismissable-layer.d.ts +12 -0
  479. package/dist/utils/dismissable-layer.js +44 -0
  480. package/dist/utils/floating.d.ts +18 -0
  481. package/dist/utils/floating.js +61 -0
  482. package/dist/utils/focus-trap.d.ts +12 -0
  483. package/dist/utils/focus-trap.js +55 -0
  484. package/dist/utils/id.d.ts +11 -0
  485. package/dist/utils/id.js +17 -0
  486. package/dist/utils/pagination-range.d.ts +18 -0
  487. package/dist/utils/pagination-range.js +34 -0
  488. package/dist/utils/portal.d.ts +5 -0
  489. package/dist/utils/portal.js +23 -0
  490. package/dist/utils/presence.svelte.d.ts +9 -0
  491. package/dist/utils/presence.svelte.js +38 -0
  492. package/dist/utils/roving-focus.d.ts +20 -0
  493. package/dist/utils/roving-focus.js +44 -0
  494. package/dist/utils/scroll-lock.d.ts +7 -0
  495. package/dist/utils/scroll-lock.js +33 -0
  496. package/package.json +108 -0
@@ -0,0 +1,25 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { paginationPreviousVariants } from './PaginationPrevious.variants.js';
4
+ import type { PaginationPreviousProps } from './PaginationPrevious.types.js';
5
+
6
+ let { class: className, label, size = 'md', ...restProps }: PaginationPreviousProps = $props();
7
+
8
+ const iconSize = $derived(size === 'sm' ? 'size-3.5' : 'size-4');
9
+ </script>
10
+
11
+ <button type="button" class={cn(paginationPreviousVariants({ size }), className)} {...restProps}>
12
+ <svg
13
+ viewBox="0 0 24 24"
14
+ fill="none"
15
+ stroke="currentColor"
16
+ stroke-width="2"
17
+ stroke-linecap="round"
18
+ stroke-linejoin="round"
19
+ aria-hidden="true"
20
+ class={iconSize}
21
+ >
22
+ <path d="m15 18-6-6 6-6" />
23
+ </svg>
24
+ {label ?? 'Previous'}
25
+ </button>
@@ -0,0 +1,4 @@
1
+ import type { PaginationPreviousProps } from './PaginationPrevious.types.js';
2
+ declare const PaginationPrevious: import("svelte").Component<PaginationPreviousProps, {}, "">;
3
+ type PaginationPrevious = ReturnType<typeof PaginationPrevious>;
4
+ export default PaginationPrevious;
@@ -0,0 +1,9 @@
1
+ import type { HTMLButtonAttributes } from 'svelte/elements';
2
+ import type { PaginationPreviousVariantProps } from './PaginationPrevious.variants.js';
3
+ export interface PaginationPreviousProps extends Omit<HTMLButtonAttributes, 'children' | 'class'> {
4
+ class?: string;
5
+ /** Accessible + visible label. Defaults to "Previous" — override for localization. */
6
+ label?: string;
7
+ /** Density variant. Default 'md'. */
8
+ size?: PaginationPreviousVariantProps['size'];
9
+ }
@@ -0,0 +1,5 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const paginationPreviousVariants: (props?: ({
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type PaginationPreviousVariantProps = VariantProps<typeof paginationPreviousVariants>;
@@ -0,0 +1,13 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const paginationPreviousVariants = cva('inline-flex cursor-pointer items-center gap-tight rounded-md leading-snug text-foreground-soft transition-colors duration-150 hover:bg-surface-subtle focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50', {
3
+ variants: {
4
+ size: {
5
+ sm: 'h-8 px-2 text-sm',
6
+ md: 'h-9 px-3 text-sm',
7
+ lg: 'h-10 px-3.5 text-sm'
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ size: 'md'
12
+ }
13
+ });
@@ -0,0 +1,18 @@
1
+ export { default as Pagination } from './Pagination.svelte';
2
+ export type { PaginationProps, PaginationLabels } from './Pagination.types.js';
3
+ export { default as PaginationList } from './PaginationList.svelte';
4
+ export type { PaginationListProps } from './PaginationList.types.js';
5
+ export { default as PaginationItem } from './PaginationItem.svelte';
6
+ export type { PaginationItemProps } from './PaginationItem.types.js';
7
+ export { default as PaginationLink } from './PaginationLink.svelte';
8
+ export type { PaginationLinkProps } from './PaginationLink.types.js';
9
+ export { paginationLinkVariants, type PaginationLinkVariantProps } from './PaginationLink.variants.js';
10
+ export { default as PaginationEllipsis } from './PaginationEllipsis.svelte';
11
+ export type { PaginationEllipsisProps } from './PaginationEllipsis.types.js';
12
+ export { paginationEllipsisVariants, type PaginationEllipsisVariantProps } from './PaginationEllipsis.variants.js';
13
+ export { default as PaginationPrevious } from './PaginationPrevious.svelte';
14
+ export type { PaginationPreviousProps } from './PaginationPrevious.types.js';
15
+ export { paginationPreviousVariants, type PaginationPreviousVariantProps } from './PaginationPrevious.variants.js';
16
+ export { default as PaginationNext } from './PaginationNext.svelte';
17
+ export type { PaginationNextProps } from './PaginationNext.types.js';
18
+ export { paginationNextVariants, type PaginationNextVariantProps } from './PaginationNext.variants.js';
@@ -0,0 +1,11 @@
1
+ export { default as Pagination } from './Pagination.svelte';
2
+ export { default as PaginationList } from './PaginationList.svelte';
3
+ export { default as PaginationItem } from './PaginationItem.svelte';
4
+ export { default as PaginationLink } from './PaginationLink.svelte';
5
+ export { paginationLinkVariants } from './PaginationLink.variants.js';
6
+ export { default as PaginationEllipsis } from './PaginationEllipsis.svelte';
7
+ export { paginationEllipsisVariants } from './PaginationEllipsis.variants.js';
8
+ export { default as PaginationPrevious } from './PaginationPrevious.svelte';
9
+ export { paginationPreviousVariants } from './PaginationPrevious.variants.js';
10
+ export { default as PaginationNext } from './PaginationNext.svelte';
11
+ export { paginationNextVariants } from './PaginationNext.variants.js';
@@ -0,0 +1,69 @@
1
+ <script lang="ts">
2
+ import TextField from '../text-field/TextField.svelte';
3
+ import type { PasswordFieldProps } from './PasswordField.types.js';
4
+
5
+ let {
6
+ visible = $bindable(false),
7
+ value = $bindable(''),
8
+ ref = $bindable(null),
9
+ labels,
10
+ disabled = false,
11
+ autocomplete = 'current-password',
12
+ ...restProps
13
+ }: PasswordFieldProps = $props();
14
+
15
+ // The label names the action and flips with state, so the button deliberately
16
+ // carries no `aria-pressed`. Doing both makes a screen reader announce
17
+ // "Hide password … pressed", where the name and the state contradict.
18
+ const toggleLabel = $derived(
19
+ visible ? (labels?.hide ?? 'Hide password') : (labels?.show ?? 'Show password')
20
+ );
21
+ </script>
22
+
23
+ <TextField
24
+ {...restProps}
25
+ bind:value
26
+ bind:ref
27
+ {disabled}
28
+ {autocomplete}
29
+ type={visible ? 'text' : 'password'}
30
+ >
31
+ {#snippet suffix()}
32
+ <button
33
+ type="button"
34
+ {disabled}
35
+ onclick={() => (visible = !visible)}
36
+ aria-label={toggleLabel}
37
+ data-state={visible ? 'visible' : 'hidden'}
38
+ class="flex cursor-pointer appearance-none items-center rounded-md text-foreground-faint transition-colors duration-150 hover:text-foreground-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed"
39
+ >
40
+ {#if visible}
41
+ <svg
42
+ viewBox="0 0 24 24"
43
+ fill="none"
44
+ stroke="currentColor"
45
+ stroke-width="2"
46
+ stroke-linecap="round"
47
+ aria-hidden="true"
48
+ >
49
+ <path d="M3 3l18 18" />
50
+ <path d="M10.6 10.6a2 2 0 0 0 2.8 2.8" />
51
+ <path d="M9.4 5.2A9.5 9.5 0 0 1 12 5c5 0 9 4.5 9 7a11 11 0 0 1-2.4 3.5" />
52
+ <path d="M6.3 6.9C3.9 8.4 3 10.7 3 12c0 2.5 4 7 9 7a9.7 9.7 0 0 0 3.5-.7" />
53
+ </svg>
54
+ {:else}
55
+ <svg
56
+ viewBox="0 0 24 24"
57
+ fill="none"
58
+ stroke="currentColor"
59
+ stroke-width="2"
60
+ stroke-linecap="round"
61
+ aria-hidden="true"
62
+ >
63
+ <path d="M3 12c0-2.5 4-7 9-7s9 4.5 9 7c0 2.5-4 7-9 7s-9-4.5-9-7Z" />
64
+ <circle cx="12" cy="12" r="2.5" />
65
+ </svg>
66
+ {/if}
67
+ </button>
68
+ {/snippet}
69
+ </TextField>
@@ -0,0 +1,4 @@
1
+ import type { PasswordFieldProps } from './PasswordField.types.js';
2
+ declare const PasswordField: import("svelte").Component<PasswordFieldProps, {}, "value" | "ref" | "visible">;
3
+ type PasswordField = ReturnType<typeof PasswordField>;
4
+ export default PasswordField;
@@ -0,0 +1,10 @@
1
+ import type { TextFieldProps } from '../text-field/TextField.types.js';
2
+ export interface PasswordFieldProps extends Omit<TextFieldProps, 'type' | 'suffix'> {
3
+ /** Whether the password is currently revealed. Bindable. */
4
+ visible?: boolean;
5
+ /** Accessible names for the toggle button, for apps that aren't in English. */
6
+ labels?: {
7
+ show?: string;
8
+ hide?: string;
9
+ };
10
+ }
@@ -0,0 +1,2 @@
1
+ export { default as PasswordField } from './PasswordField.svelte';
2
+ export type { PasswordFieldProps } from './PasswordField.types.js';
@@ -0,0 +1 @@
1
+ export { default as PasswordField } from './PasswordField.svelte';
@@ -0,0 +1,84 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { floating } from '../../utils/floating.js';
4
+ import { portal } from '../../utils/portal.js';
5
+ import { createPresence } from '../../utils/presence.svelte.js';
6
+ import { createDismissableLayer } from '../../utils/dismissable-layer.js';
7
+ import type { PopoverProps } from './Popover.types.js';
8
+
9
+ let {
10
+ classes,
11
+ open = $bindable(false),
12
+ placement = 'bottom-start',
13
+ offset = 8,
14
+ portalTarget,
15
+ trigger,
16
+ children,
17
+ ...restProps
18
+ }: PopoverProps = $props();
19
+
20
+ const contentId = $props.id();
21
+
22
+ let triggerEl = $state<HTMLButtonElement | null>(null);
23
+ let contentEl = $state<HTMLDivElement | null>(null);
24
+ const presence = createPresence(
25
+ () => open,
26
+ () => contentEl
27
+ );
28
+
29
+ function close() {
30
+ open = false;
31
+ }
32
+
33
+ $effect(() => {
34
+ if (!open) return;
35
+
36
+ contentEl?.focus({ preventScroll: true });
37
+
38
+ return createDismissableLayer(() => [triggerEl, contentEl], {
39
+ onPointerDownOutside: close,
40
+ onEscapeKeydown: (event) => {
41
+ event.preventDefault();
42
+ close();
43
+ triggerEl?.focus();
44
+ }
45
+ });
46
+ });
47
+
48
+ const triggerProps = $derived({
49
+ ...restProps,
50
+ type: 'button' as const,
51
+ 'aria-haspopup': 'dialog' as const,
52
+ 'aria-expanded': open,
53
+ 'aria-controls': contentId,
54
+ 'data-state': open ? 'open' : 'closed',
55
+ class: cn(
56
+ 'inline-flex h-10 cursor-pointer items-center justify-center gap-tight rounded-md border border-border px-control-x text-sm leading-snug font-medium text-foreground-soft transition-colors duration-150 hover:bg-surface-subtle focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50',
57
+ classes?.trigger
58
+ ),
59
+ onclick: () => (open = !open)
60
+ });
61
+ </script>
62
+
63
+ <button bind:this={triggerEl} {...triggerProps}>
64
+ {@render trigger()}
65
+ </button>
66
+
67
+ {#if presence.current}
68
+ <div
69
+ bind:this={contentEl}
70
+ id={contentId}
71
+ role="dialog"
72
+ tabindex="-1"
73
+ data-state={open ? 'open' : 'closed'}
74
+ inert={!open}
75
+ use:portal={{ target: portalTarget }}
76
+ use:floating={{ reference: triggerEl, placement, offset }}
77
+ class={cn(
78
+ 'z-50 rounded-lg border border-border bg-surface p-4 text-sm text-foreground-muted shadow-sm focus-visible:outline-none',
79
+ classes?.content
80
+ )}
81
+ >
82
+ {@render children()}
83
+ </div>
84
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { PopoverProps } from './Popover.types.js';
2
+ declare const Popover: import("svelte").Component<PopoverProps, {}, "open">;
3
+ type Popover = ReturnType<typeof Popover>;
4
+ export default Popover;
@@ -0,0 +1,15 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLButtonAttributes } from 'svelte/elements';
3
+ import type { Placement } from '@floating-ui/dom';
4
+ export interface PopoverProps extends Omit<HTMLButtonAttributes, 'children' | 'class'> {
5
+ classes?: {
6
+ trigger?: string;
7
+ content?: string;
8
+ };
9
+ open?: boolean;
10
+ placement?: Placement;
11
+ offset?: number;
12
+ portalTarget?: HTMLElement | string;
13
+ trigger: Snippet;
14
+ children: Snippet;
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as Popover } from './Popover.svelte';
2
+ export type { PopoverProps } from './Popover.types.js';
@@ -0,0 +1 @@
1
+ export { default as Popover } from './Popover.svelte';
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { progressVariants } from './Progress.variants.js';
4
+ import type { ProgressProps } from './Progress.types.js';
5
+
6
+ let {
7
+ size,
8
+ class: className,
9
+ classes,
10
+ value = 0,
11
+ max = 100,
12
+ indeterminate = false,
13
+ ...restProps
14
+ }: ProgressProps = $props();
15
+
16
+ const percentage = $derived(Math.min(100, Math.max(0, (value / max) * 100)));
17
+ </script>
18
+
19
+ <div
20
+ role="progressbar"
21
+ aria-valuenow={indeterminate ? undefined : value}
22
+ aria-valuemin={0}
23
+ aria-valuemax={max}
24
+ class={cn(progressVariants({ size }), className)}
25
+ {...restProps}
26
+ >
27
+ <div
28
+ class={cn(
29
+ 'h-full rounded-full bg-primary transition-[width] duration-300 ease-out',
30
+ indeterminate && 'w-1/3 animate-progress-indeterminate',
31
+ classes?.fill
32
+ )}
33
+ style={indeterminate ? undefined : `width: ${percentage}%`}
34
+ ></div>
35
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { ProgressProps } from './Progress.types.js';
2
+ declare const Progress: import("svelte").Component<ProgressProps, {}, "">;
3
+ type Progress = ReturnType<typeof Progress>;
4
+ export default Progress;
@@ -0,0 +1,12 @@
1
+ import type { HTMLAttributes } from 'svelte/elements';
2
+ import type { ProgressVariantProps } from './Progress.variants.js';
3
+ export interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, ProgressVariantProps {
4
+ class?: string;
5
+ classes?: {
6
+ fill?: string;
7
+ };
8
+ value?: number;
9
+ max?: number;
10
+ /** Shows a sweeping animation instead of a fixed fill, for a duration that isn't known upfront. */
11
+ indeterminate?: boolean;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const progressVariants: (props?: ({
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type ProgressVariantProps = VariantProps<typeof progressVariants>;
@@ -0,0 +1,13 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const progressVariants = cva('relative w-full overflow-hidden rounded-full bg-border', {
3
+ variants: {
4
+ size: {
5
+ sm: 'h-1.5',
6
+ md: 'h-2',
7
+ lg: 'h-3'
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ size: 'md'
12
+ }
13
+ });
@@ -0,0 +1,3 @@
1
+ export { default as Progress } from './Progress.svelte';
2
+ export type { ProgressProps } from './Progress.types.js';
3
+ export { progressVariants, type ProgressVariantProps } from './Progress.variants.js';
@@ -0,0 +1,2 @@
1
+ export { default as Progress } from './Progress.svelte';
2
+ export { progressVariants } from './Progress.variants.js';
@@ -0,0 +1,46 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { radioVariants } from './Radio.variants.js';
4
+ import type { RadioProps } from './Radio.types.js';
5
+
6
+ let {
7
+ size,
8
+ class: className,
9
+ classes,
10
+ ref = $bindable(null),
11
+ group = $bindable(),
12
+ value,
13
+ disabled = false,
14
+ invalid = false,
15
+ ...restProps
16
+ }: RadioProps = $props();
17
+ </script>
18
+
19
+ <span
20
+ class={cn(radioVariants({ size }), className)}
21
+ data-disabled={disabled ? '' : undefined}
22
+ data-invalid={invalid ? '' : undefined}
23
+ >
24
+ <input
25
+ type="radio"
26
+ bind:this={ref}
27
+ bind:group
28
+ {value}
29
+ {disabled}
30
+ class={cn(
31
+ 'peer absolute inset-0 size-full cursor-pointer appearance-none rounded-full border border-border bg-surface transition-colors duration-150 group-data-invalid:border-danger-border checked:border-primary hover:border-border-hover checked:hover:border-primary-hover focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none group-data-invalid:focus-visible:ring-danger disabled:cursor-not-allowed',
32
+ classes?.input
33
+ )}
34
+ {...restProps}
35
+ />
36
+
37
+ <span
38
+ aria-hidden="true"
39
+ class={cn(
40
+ 'pointer-events-none absolute inset-0 flex items-center justify-center opacity-0 peer-checked:opacity-100',
41
+ classes?.indicator
42
+ )}
43
+ >
44
+ <span class="size-[45%] rounded-full bg-primary"></span>
45
+ </span>
46
+ </span>
@@ -0,0 +1,4 @@
1
+ import type { RadioProps } from './Radio.types.js';
2
+ declare const Radio: import("svelte").Component<RadioProps, {}, "group" | "ref">;
3
+ type Radio = ReturnType<typeof Radio>;
4
+ export default Radio;
@@ -0,0 +1,16 @@
1
+ import type { HTMLInputAttributes } from 'svelte/elements';
2
+ import type { RadioVariantProps } from './Radio.variants.js';
3
+ export interface RadioProps extends Omit<HTMLInputAttributes, 'size' | 'type' | 'value'>, RadioVariantProps {
4
+ /** Applied to the container element; `classes` targets the inner parts. */
5
+ class?: string;
6
+ classes?: {
7
+ input?: string;
8
+ indicator?: string;
9
+ };
10
+ ref?: HTMLInputElement | null;
11
+ /** This radio's own value — compared against `group` to determine checked state. */
12
+ value: string;
13
+ /** The selected value shared across all radios with the same `name`. */
14
+ group?: string;
15
+ invalid?: boolean;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const radioVariants: (props?: ({
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type RadioVariantProps = VariantProps<typeof radioVariants>;
@@ -0,0 +1,13 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const radioVariants = cva('group relative inline-flex shrink-0 align-middle data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50', {
3
+ variants: {
4
+ size: {
5
+ sm: 'size-4',
6
+ md: 'size-5',
7
+ lg: 'size-6'
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ size: 'md'
12
+ }
13
+ });
@@ -0,0 +1,3 @@
1
+ export { default as Radio } from './Radio.svelte';
2
+ export type { RadioProps } from './Radio.types.js';
3
+ export { radioVariants, type RadioVariantProps } from './Radio.variants.js';
@@ -0,0 +1,2 @@
1
+ export { default as Radio } from './Radio.svelte';
2
+ export { radioVariants } from './Radio.variants.js';
@@ -0,0 +1,55 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { selectVariants } from './Select.variants.js';
4
+ import type { SelectProps } from './Select.types.js';
5
+
6
+ let {
7
+ variant,
8
+ size,
9
+ class: className,
10
+ classes,
11
+ ref = $bindable(null),
12
+ value = $bindable(''),
13
+ disabled = false,
14
+ invalid = false,
15
+ children,
16
+ ...restProps
17
+ }: SelectProps = $props();
18
+ </script>
19
+
20
+ <div
21
+ class={cn('group relative inline-block w-full', className)}
22
+ data-disabled={disabled ? '' : undefined}
23
+ >
24
+ <select
25
+ bind:this={ref}
26
+ bind:value
27
+ {disabled}
28
+ aria-invalid={invalid || undefined}
29
+ data-invalid={invalid ? '' : undefined}
30
+ class={cn(selectVariants({ variant, size }), classes?.select)}
31
+ {...restProps}
32
+ >
33
+ {@render children()}
34
+ </select>
35
+
36
+ <span
37
+ class={cn(
38
+ 'pointer-events-none absolute inset-y-0 right-3 flex items-center text-foreground-faint group-data-disabled:opacity-50 [&_svg]:size-4',
39
+ classes?.icon
40
+ )}
41
+ >
42
+ <svg
43
+ viewBox="0 0 24 24"
44
+ fill="none"
45
+ stroke="currentColor"
46
+ stroke-width="2"
47
+ stroke-linecap="round"
48
+ stroke-linejoin="round"
49
+ aria-hidden="true"
50
+ >
51
+ <path d="m7 15 5 5 5-5" />
52
+ <path d="m7 9 5-5 5 5" />
53
+ </svg>
54
+ </span>
55
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { SelectProps } from './Select.types.js';
2
+ declare const Select: import("svelte").Component<SelectProps, {}, "value" | "ref">;
3
+ type Select = ReturnType<typeof Select>;
4
+ export default Select;
@@ -0,0 +1,16 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLSelectAttributes } from 'svelte/elements';
3
+ import type { SelectVariantProps } from './Select.variants.js';
4
+ export interface SelectProps extends Omit<HTMLSelectAttributes, 'size'>, SelectVariantProps {
5
+ /** Applied to the outermost wrapper. */
6
+ class?: string;
7
+ classes?: {
8
+ select?: string;
9
+ icon?: string;
10
+ };
11
+ ref?: HTMLSelectElement | null;
12
+ value?: string;
13
+ invalid?: boolean;
14
+ /** `<option>`/`<optgroup>` elements. */
15
+ children: Snippet;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const selectVariants: (props?: ({
3
+ variant?: "default" | "ghost" | null | undefined;
4
+ size?: "sm" | "md" | "lg" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export type SelectVariantProps = VariantProps<typeof selectVariants>;
@@ -0,0 +1,18 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const selectVariants = cva('w-full cursor-pointer appearance-none rounded-md bg-surface pr-8 text-foreground-soft transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[invalid]:border-danger-border data-[invalid]:focus-visible:ring-danger', {
3
+ variants: {
4
+ variant: {
5
+ default: 'border border-border hover:border-border-hover',
6
+ ghost: 'border border-transparent bg-surface-subtle hover:bg-surface-hover'
7
+ },
8
+ size: {
9
+ sm: 'h-8 pl-3 text-sm',
10
+ md: 'h-10 pl-3 text-sm',
11
+ lg: 'h-12 pl-control-x text-base'
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: 'default',
16
+ size: 'md'
17
+ }
18
+ });
@@ -0,0 +1,3 @@
1
+ export { default as Select } from './Select.svelte';
2
+ export type { SelectProps } from './Select.types.js';
3
+ export { selectVariants, type SelectVariantProps } from './Select.variants.js';
@@ -0,0 +1,2 @@
1
+ export { default as Select } from './Select.svelte';
2
+ export { selectVariants } from './Select.variants.js';