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,138 @@
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 type { HoverCardProps } from './HoverCard.types.js';
7
+
8
+ let {
9
+ classes,
10
+ open = $bindable(false),
11
+ placement = 'bottom',
12
+ offset = 8,
13
+ openDelay = 700,
14
+ closeDelay = 300,
15
+ portalTarget,
16
+ content,
17
+ children,
18
+ ...restProps
19
+ }: HoverCardProps = $props();
20
+
21
+ const contentId = $props.id();
22
+
23
+ // Content is portalled to the end of <body>, so a real page with more
24
+ // focusable content after the trigger will not put the card next in Tab
25
+ // order — the same tradeoff Popover/Dropdown/Tooltip accept for the same
26
+ // reason. Unlike those, this component deliberately never steals focus
27
+ // into the card programmatically (hovering shouldn't move keyboard
28
+ // focus), so reaching it by keyboard means tabbing from the trigger.
29
+ let triggerEl = $state<HTMLSpanElement | null>(null);
30
+ let contentEl = $state<HTMLDivElement | null>(null);
31
+ const presence = createPresence(
32
+ () => open,
33
+ () => contentEl
34
+ );
35
+
36
+ let openTimer: ReturnType<typeof setTimeout> | undefined;
37
+ let closeTimer: ReturnType<typeof setTimeout> | undefined;
38
+
39
+ function clearTimers() {
40
+ clearTimeout(openTimer);
41
+ clearTimeout(closeTimer);
42
+ }
43
+
44
+ function scheduleOpen() {
45
+ clearTimers();
46
+ if (open) return;
47
+ openTimer = setTimeout(() => (open = true), openDelay);
48
+ }
49
+
50
+ function openNow() {
51
+ clearTimers();
52
+ open = true;
53
+ }
54
+
55
+ function scheduleClose() {
56
+ clearTimers();
57
+ closeTimer = setTimeout(() => (open = false), closeDelay);
58
+ }
59
+
60
+ function close() {
61
+ clearTimers();
62
+ open = false;
63
+ }
64
+
65
+ // Keeps the card open while focus moves between the trigger and the card
66
+ // (Tab forward into it, Shift+Tab back) — unlike Tooltip, this content is
67
+ // meant to be interactive, so losing focus to it must not count as
68
+ // leaving.
69
+ function handleFocusOut(event: FocusEvent) {
70
+ const next = event.relatedTarget as Node | null;
71
+ if (next && (triggerEl?.contains(next) || contentEl?.contains(next))) return;
72
+ scheduleClose();
73
+ }
74
+
75
+ function handlePointerDown(event: PointerEvent) {
76
+ const target = event.target as Node;
77
+ if (triggerEl?.contains(target) || contentEl?.contains(target)) return;
78
+ close();
79
+ }
80
+
81
+ function handleKeydown(event: KeyboardEvent) {
82
+ if (event.key !== 'Escape') return;
83
+ event.preventDefault();
84
+ close();
85
+ triggerEl?.focus();
86
+ }
87
+
88
+ $effect(() => {
89
+ if (!open) return;
90
+
91
+ document.addEventListener('pointerdown', handlePointerDown);
92
+ document.addEventListener('keydown', handleKeydown);
93
+
94
+ return () => {
95
+ document.removeEventListener('pointerdown', handlePointerDown);
96
+ document.removeEventListener('keydown', handleKeydown);
97
+ };
98
+ });
99
+
100
+ const triggerProps = $derived({
101
+ ...restProps,
102
+ 'data-state': open ? 'open' : 'closed',
103
+ class: cn('inline-flex', classes?.trigger),
104
+ onmouseenter: scheduleOpen,
105
+ onmouseleave: scheduleClose,
106
+ onfocusin: openNow,
107
+ onfocusout: handleFocusOut
108
+ });
109
+ </script>
110
+
111
+ <span bind:this={triggerEl} {...triggerProps}>
112
+ {@render children()}
113
+ </span>
114
+
115
+ {#if presence.current}
116
+ <!--
117
+ mouseenter/mouseleave here only extend the hover grace period; this is a
118
+ positioning container, not an interactive control, so it takes no role.
119
+ Its actual interactive content (links, buttons) carries its own semantics.
120
+ -->
121
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
122
+ <div
123
+ bind:this={contentEl}
124
+ id={contentId}
125
+ data-state={open ? 'open' : 'closed'}
126
+ onmouseenter={() => clearTimeout(closeTimer)}
127
+ onmouseleave={scheduleClose}
128
+ onfocusout={handleFocusOut}
129
+ use:portal={{ target: portalTarget }}
130
+ use:floating={{ reference: triggerEl, placement, offset }}
131
+ class={cn(
132
+ 'z-50 rounded-lg border border-border bg-surface p-4 text-sm text-foreground-muted shadow-sm',
133
+ classes?.content
134
+ )}
135
+ >
136
+ {@render content()}
137
+ </div>
138
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { HoverCardProps } from './HoverCard.types.js';
2
+ declare const HoverCard: import("svelte").Component<HoverCardProps, {}, "open">;
3
+ type HoverCard = ReturnType<typeof HoverCard>;
4
+ export default HoverCard;
@@ -0,0 +1,20 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { Placement } from '@floating-ui/dom';
4
+ export interface HoverCardProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children' | 'class'> {
5
+ classes?: {
6
+ trigger?: string;
7
+ content?: string;
8
+ };
9
+ open?: boolean;
10
+ placement?: Placement;
11
+ offset?: number;
12
+ /** Hover delay in ms before the card shows. Focus shows it instantly. */
13
+ openDelay?: number;
14
+ /** Grace period in ms before hiding once the pointer leaves the trigger or
15
+ * the card — lets it travel between the two without closing. */
16
+ closeDelay?: number;
17
+ portalTarget?: HTMLElement | string;
18
+ content: Snippet;
19
+ children: Snippet;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as HoverCard } from './HoverCard.svelte';
2
+ export type { HoverCardProps } from './HoverCard.types.js';
@@ -0,0 +1 @@
1
+ export { default as HoverCard } from './HoverCard.svelte';
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import type { LabelProps } from './Label.types.js';
4
+
5
+ let {
6
+ required = false,
7
+ disabled = false,
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: LabelProps = $props();
12
+ </script>
13
+
14
+ <label
15
+ class={cn(
16
+ 'inline-flex items-center gap-tight text-sm leading-snug font-medium text-foreground-soft select-none data-disabled:cursor-not-allowed data-disabled:opacity-50',
17
+ className
18
+ )}
19
+ data-disabled={disabled ? '' : undefined}
20
+ {...restProps}
21
+ >
22
+ {@render children()}
23
+ {#if required}
24
+ <span aria-hidden="true" class="text-danger">*</span>
25
+ {/if}
26
+ </label>
@@ -0,0 +1,4 @@
1
+ import type { LabelProps } from './Label.types.js';
2
+ declare const Label: import("svelte").Component<LabelProps, {}, "">;
3
+ type Label = ReturnType<typeof Label>;
4
+ export default Label;
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLLabelAttributes } from 'svelte/elements';
3
+ export interface LabelProps extends HTMLLabelAttributes {
4
+ class?: string;
5
+ /** Renders a required marker, hidden from assistive tech — the input's own `required` announces it. */
6
+ required?: boolean;
7
+ disabled?: boolean;
8
+ children: Snippet;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as Label } from './Label.svelte';
2
+ export type { LabelProps } from './Label.types.js';
@@ -0,0 +1 @@
1
+ export { default as Label } from './Label.svelte';
@@ -0,0 +1,85 @@
1
+ <script lang="ts">
2
+ import { getPaginationRange } from '../../utils/pagination-range.js';
3
+ import PaginationList from './PaginationList.svelte';
4
+ import PaginationItem from './PaginationItem.svelte';
5
+ import PaginationLink from './PaginationLink.svelte';
6
+ import PaginationEllipsis from './PaginationEllipsis.svelte';
7
+ import PaginationPrevious from './PaginationPrevious.svelte';
8
+ import PaginationNext from './PaginationNext.svelte';
9
+ import type { PaginationProps } from './Pagination.types.js';
10
+
11
+ let {
12
+ currentPage = $bindable(1),
13
+ totalPages,
14
+ siblingCount = 1,
15
+ boundaryCount = 1,
16
+ showPreviousNext = true,
17
+ disabled = false,
18
+ size = 'md',
19
+ class: className,
20
+ classes,
21
+ labels,
22
+ onPageChange,
23
+ item,
24
+ ...restProps
25
+ }: PaginationProps = $props();
26
+
27
+ const pages = $derived(
28
+ getPaginationRange({ currentPage, totalPages, siblingCount, boundaryCount })
29
+ );
30
+
31
+ function goTo(page: number): void {
32
+ if (disabled || page < 1 || page > totalPages || page === currentPage) return;
33
+ currentPage = page;
34
+ onPageChange?.(page);
35
+ }
36
+ </script>
37
+
38
+ <nav aria-label={labels?.nav ?? 'pagination'} class={className} {...restProps}>
39
+ <PaginationList class={classes?.list}>
40
+ {#if showPreviousNext}
41
+ <PaginationItem>
42
+ <PaginationPrevious
43
+ class={classes?.previous}
44
+ disabled={disabled || currentPage <= 1}
45
+ label={labels?.previous}
46
+ {size}
47
+ onclick={() => goTo(currentPage - 1)}
48
+ />
49
+ </PaginationItem>
50
+ {/if}
51
+
52
+ {#each pages as pageItem, index (index)}
53
+ <PaginationItem class={classes?.item}>
54
+ {#if pageItem === 'ellipsis'}
55
+ <PaginationEllipsis class={classes?.ellipsis} {size} />
56
+ {:else if item}
57
+ {@render item({ page: pageItem, active: pageItem === currentPage })}
58
+ {:else}
59
+ <PaginationLink
60
+ class={classes?.link}
61
+ active={pageItem === currentPage}
62
+ {disabled}
63
+ {size}
64
+ aria-label={labels?.page?.(pageItem)}
65
+ onclick={() => goTo(pageItem)}
66
+ >
67
+ {pageItem}
68
+ </PaginationLink>
69
+ {/if}
70
+ </PaginationItem>
71
+ {/each}
72
+
73
+ {#if showPreviousNext}
74
+ <PaginationItem>
75
+ <PaginationNext
76
+ class={classes?.next}
77
+ disabled={disabled || currentPage >= totalPages}
78
+ label={labels?.next}
79
+ {size}
80
+ onclick={() => goTo(currentPage + 1)}
81
+ />
82
+ </PaginationItem>
83
+ {/if}
84
+ </PaginationList>
85
+ </nav>
@@ -0,0 +1,4 @@
1
+ import type { PaginationProps } from './Pagination.types.js';
2
+ declare const Pagination: import("svelte").Component<PaginationProps, {}, "currentPage">;
3
+ type Pagination = ReturnType<typeof Pagination>;
4
+ export default Pagination;
@@ -0,0 +1,41 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { PaginationLinkVariantProps } from './PaginationLink.variants.js';
4
+ export interface PaginationLabels {
5
+ /** Accessible name for the root `<nav>`. Defaults to "pagination". */
6
+ nav?: string;
7
+ previous?: string;
8
+ next?: string;
9
+ /** Accessible name for a page button beyond its visible number, e.g. `(page) => `Go to page ${page}`` */
10
+ page?: (page: number) => string;
11
+ }
12
+ export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
13
+ /** 1-indexed. */
14
+ currentPage?: number;
15
+ totalPages: number;
16
+ /** Pages kept on each side of the current page. Default 1. */
17
+ siblingCount?: number;
18
+ /** Pages kept at the very start and very end. Default 1. */
19
+ boundaryCount?: number;
20
+ /** Default true. */
21
+ showPreviousNext?: boolean;
22
+ disabled?: boolean;
23
+ /** Density variant, applied to every auto-rendered part (link, previous, next, ellipsis). Default 'md'. */
24
+ size?: PaginationLinkVariantProps['size'];
25
+ class?: string;
26
+ classes?: {
27
+ list?: string;
28
+ item?: string;
29
+ link?: string;
30
+ ellipsis?: string;
31
+ previous?: string;
32
+ next?: string;
33
+ };
34
+ labels?: PaginationLabels;
35
+ onPageChange?: (page: number) => void;
36
+ /** Overrides the default rendering of a page-number item. Doesn't apply to the ellipsis, previous, or next controls. */
37
+ item?: Snippet<[{
38
+ page: number;
39
+ active: boolean;
40
+ }]>;
41
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { paginationEllipsisVariants } from './PaginationEllipsis.variants.js';
4
+ import type { PaginationEllipsisProps } from './PaginationEllipsis.types.js';
5
+
6
+ let { class: className, size = 'md', children, ...restProps }: PaginationEllipsisProps = $props();
7
+ </script>
8
+
9
+ <span aria-hidden="true" class={cn(paginationEllipsisVariants({ size }), className)} {...restProps}>
10
+ {#if children}
11
+ {@render children()}
12
+ {:else}
13
+ &hellip;
14
+ {/if}
15
+ </span>
@@ -0,0 +1,4 @@
1
+ import type { PaginationEllipsisProps } from './PaginationEllipsis.types.js';
2
+ declare const PaginationEllipsis: import("svelte").Component<PaginationEllipsisProps, {}, "">;
3
+ type PaginationEllipsis = ReturnType<typeof PaginationEllipsis>;
4
+ export default PaginationEllipsis;
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { PaginationEllipsisVariantProps } from './PaginationEllipsis.variants.js';
4
+ export interface PaginationEllipsisProps extends HTMLAttributes<HTMLSpanElement> {
5
+ class?: string;
6
+ children?: Snippet;
7
+ /** Density variant. Default 'md'. */
8
+ size?: PaginationEllipsisVariantProps['size'];
9
+ }
@@ -0,0 +1,5 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const paginationEllipsisVariants: (props?: ({
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type PaginationEllipsisVariantProps = VariantProps<typeof paginationEllipsisVariants>;
@@ -0,0 +1,13 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const paginationEllipsisVariants = cva('flex items-center justify-center text-foreground-faint', {
3
+ variants: {
4
+ size: {
5
+ sm: 'h-8 min-w-8',
6
+ md: 'h-9 min-w-9',
7
+ lg: 'h-10 min-w-10'
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ size: 'md'
12
+ }
13
+ });
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import type { PaginationItemProps } from './PaginationItem.types.js';
4
+
5
+ let { class: className, children, ...restProps }: PaginationItemProps = $props();
6
+ </script>
7
+
8
+ <li class={cn('inline-flex items-center', className)} {...restProps}>
9
+ {@render children()}
10
+ </li>
@@ -0,0 +1,4 @@
1
+ import type { PaginationItemProps } from './PaginationItem.types.js';
2
+ declare const PaginationItem: import("svelte").Component<PaginationItemProps, {}, "">;
3
+ type PaginationItem = ReturnType<typeof PaginationItem>;
4
+ export default PaginationItem;
@@ -0,0 +1,6 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ export interface PaginationItemProps extends HTMLAttributes<HTMLLIElement> {
4
+ class?: string;
5
+ children: Snippet;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { paginationLinkVariants } from './PaginationLink.variants.js';
4
+ import type { PaginationLinkProps } from './PaginationLink.types.js';
5
+
6
+ let {
7
+ class: className,
8
+ active = false,
9
+ size = 'md',
10
+ child,
11
+ children,
12
+ ...restProps
13
+ }: PaginationLinkProps = $props();
14
+
15
+ const mergedProps = $derived({
16
+ ...restProps,
17
+ type: 'button' as const,
18
+ 'aria-current': active ? ('page' as const) : undefined,
19
+ 'data-active': active ? '' : undefined,
20
+ class: cn(paginationLinkVariants({ active, size }), className)
21
+ });
22
+ </script>
23
+
24
+ {#if child}
25
+ {@render child({ props: mergedProps })}
26
+ {:else}
27
+ <button {...mergedProps}>
28
+ {@render children()}
29
+ </button>
30
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { PaginationLinkProps } from './PaginationLink.types.js';
2
+ declare const PaginationLink: import("svelte").Component<PaginationLinkProps, {}, "">;
3
+ type PaginationLink = ReturnType<typeof PaginationLink>;
4
+ export default PaginationLink;
@@ -0,0 +1,15 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLButtonAttributes } from 'svelte/elements';
3
+ import type { PaginationLinkVariantProps } from './PaginationLink.variants.js';
4
+ export interface PaginationLinkProps extends Omit<HTMLButtonAttributes, 'children' | 'class'> {
5
+ class?: string;
6
+ /** Marks this as the current page — sets `aria-current="page"` and the active style. */
7
+ active?: boolean;
8
+ /** Density variant. Default 'md'. */
9
+ size?: PaginationLinkVariantProps['size'];
10
+ children: Snippet;
11
+ /** Renders a consumer-supplied element (e.g. a router `Link`) instead of a plain `<button>`. */
12
+ child?: Snippet<[{
13
+ props: Record<string, unknown>;
14
+ }]>;
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const paginationLinkVariants: (props?: ({
3
+ active?: boolean | null | undefined;
4
+ size?: "sm" | "md" | "lg" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export type PaginationLinkVariantProps = VariantProps<typeof paginationLinkVariants>;
@@ -0,0 +1,18 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const paginationLinkVariants = cva('inline-flex cursor-pointer items-center justify-center rounded-md leading-snug transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', {
3
+ variants: {
4
+ active: {
5
+ true: 'bg-primary text-primary-foreground',
6
+ false: 'text-foreground-soft hover:bg-surface-subtle'
7
+ },
8
+ size: {
9
+ sm: 'h-8 min-w-8 px-1.5 text-sm',
10
+ md: 'h-9 min-w-9 px-2 text-sm',
11
+ lg: 'h-10 min-w-10 px-2.5 text-sm'
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ active: false,
16
+ size: 'md'
17
+ }
18
+ });
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import type { PaginationListProps } from './PaginationList.types.js';
4
+
5
+ let { class: className, children, ...restProps }: PaginationListProps = $props();
6
+ </script>
7
+
8
+ <ul class={cn('flex items-center gap-tight', className)} {...restProps}>
9
+ {@render children()}
10
+ </ul>
@@ -0,0 +1,4 @@
1
+ import type { PaginationListProps } from './PaginationList.types.js';
2
+ declare const PaginationList: import("svelte").Component<PaginationListProps, {}, "">;
3
+ type PaginationList = ReturnType<typeof PaginationList>;
4
+ export default PaginationList;
@@ -0,0 +1,6 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ export interface PaginationListProps extends HTMLAttributes<HTMLUListElement> {
4
+ class?: string;
5
+ children: Snippet;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils/cn.js';
3
+ import { paginationNextVariants } from './PaginationNext.variants.js';
4
+ import type { PaginationNextProps } from './PaginationNext.types.js';
5
+
6
+ let { class: className, label, size = 'md', ...restProps }: PaginationNextProps = $props();
7
+
8
+ const iconSize = $derived(size === 'sm' ? 'size-3.5' : 'size-4');
9
+ </script>
10
+
11
+ <button type="button" class={cn(paginationNextVariants({ size }), className)} {...restProps}>
12
+ {label ?? 'Next'}
13
+ <svg
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ stroke="currentColor"
17
+ stroke-width="2"
18
+ stroke-linecap="round"
19
+ stroke-linejoin="round"
20
+ aria-hidden="true"
21
+ class={iconSize}
22
+ >
23
+ <path d="m9 18 6-6-6-6" />
24
+ </svg>
25
+ </button>
@@ -0,0 +1,4 @@
1
+ import type { PaginationNextProps } from './PaginationNext.types.js';
2
+ declare const PaginationNext: import("svelte").Component<PaginationNextProps, {}, "">;
3
+ type PaginationNext = ReturnType<typeof PaginationNext>;
4
+ export default PaginationNext;
@@ -0,0 +1,9 @@
1
+ import type { HTMLButtonAttributes } from 'svelte/elements';
2
+ import type { PaginationNextVariantProps } from './PaginationNext.variants.js';
3
+ export interface PaginationNextProps extends Omit<HTMLButtonAttributes, 'children' | 'class'> {
4
+ class?: string;
5
+ /** Accessible + visible label. Defaults to "Next" — override for localization. */
6
+ label?: string;
7
+ /** Density variant. Default 'md'. */
8
+ size?: PaginationNextVariantProps['size'];
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const paginationNextVariants: (props?: ({
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type PaginationNextVariantProps = VariantProps<typeof paginationNextVariants>;
@@ -0,0 +1,13 @@
1
+ import { cva } from 'class-variance-authority';
2
+ export const paginationNextVariants = 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
+ });