@spark-ui/components 10.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 (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +19 -0
  4. package/dist/DialogTrigger-5SI4dvpK.d.mts +142 -0
  5. package/dist/DialogTrigger-5SI4dvpK.d.ts +142 -0
  6. package/dist/Input-g0LpWuv0.d.mts +17 -0
  7. package/dist/Input-g0LpWuv0.d.ts +17 -0
  8. package/dist/InputGroup-aoaZxCLk.d.mts +28 -0
  9. package/dist/InputGroup-aoaZxCLk.d.ts +28 -0
  10. package/dist/InputTrailingIcon-BBp7sE6D.d.mts +20 -0
  11. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
  12. package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +19 -0
  13. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
  14. package/dist/accordion/index.d.mts +85 -0
  15. package/dist/accordion/index.d.ts +85 -0
  16. package/dist/accordion/index.js +461 -0
  17. package/dist/accordion/index.js.map +1 -0
  18. package/dist/accordion/index.mjs +249 -0
  19. package/dist/accordion/index.mjs.map +1 -0
  20. package/dist/alert-dialog/index.d.mts +119 -0
  21. package/dist/alert-dialog/index.d.ts +119 -0
  22. package/dist/alert-dialog/index.js +1451 -0
  23. package/dist/alert-dialog/index.js.map +1 -0
  24. package/dist/alert-dialog/index.mjs +177 -0
  25. package/dist/alert-dialog/index.mjs.map +1 -0
  26. package/dist/badge/index.d.mts +47 -0
  27. package/dist/badge/index.d.ts +47 -0
  28. package/dist/badge/index.js +122 -0
  29. package/dist/badge/index.js.map +1 -0
  30. package/dist/badge/index.mjs +95 -0
  31. package/dist/badge/index.mjs.map +1 -0
  32. package/dist/breadcrumb/index.d.mts +64 -0
  33. package/dist/breadcrumb/index.d.ts +64 -0
  34. package/dist/breadcrumb/index.js +326 -0
  35. package/dist/breadcrumb/index.js.map +1 -0
  36. package/dist/breadcrumb/index.mjs +149 -0
  37. package/dist/breadcrumb/index.mjs.map +1 -0
  38. package/dist/button/index.d.mts +40 -0
  39. package/dist/button/index.d.ts +40 -0
  40. package/dist/button/index.js +877 -0
  41. package/dist/button/index.js.map +1 -0
  42. package/dist/button/index.mjs +10 -0
  43. package/dist/button/index.mjs.map +1 -0
  44. package/dist/carousel/index.d.mts +253 -0
  45. package/dist/carousel/index.d.ts +253 -0
  46. package/dist/carousel/index.js +1678 -0
  47. package/dist/carousel/index.js.map +1 -0
  48. package/dist/carousel/index.mjs +716 -0
  49. package/dist/carousel/index.mjs.map +1 -0
  50. package/dist/checkbox/index.d.mts +120 -0
  51. package/dist/checkbox/index.d.ts +120 -0
  52. package/dist/checkbox/index.js +873 -0
  53. package/dist/checkbox/index.js.map +1 -0
  54. package/dist/checkbox/index.mjs +349 -0
  55. package/dist/checkbox/index.mjs.map +1 -0
  56. package/dist/chip/index.d.mts +97 -0
  57. package/dist/chip/index.d.ts +97 -0
  58. package/dist/chip/index.js +905 -0
  59. package/dist/chip/index.js.map +1 -0
  60. package/dist/chip/index.mjs +793 -0
  61. package/dist/chip/index.mjs.map +1 -0
  62. package/dist/chunk-2KPFQEAA.mjs +52 -0
  63. package/dist/chunk-2KPFQEAA.mjs.map +1 -0
  64. package/dist/chunk-4F5DOL57.mjs +26 -0
  65. package/dist/chunk-4F5DOL57.mjs.map +1 -0
  66. package/dist/chunk-6JOA37TZ.mjs +742 -0
  67. package/dist/chunk-6JOA37TZ.mjs.map +1 -0
  68. package/dist/chunk-7PMPYEHJ.mjs +379 -0
  69. package/dist/chunk-7PMPYEHJ.mjs.map +1 -0
  70. package/dist/chunk-AESXFMCC.mjs +68 -0
  71. package/dist/chunk-AESXFMCC.mjs.map +1 -0
  72. package/dist/chunk-B42LOFIZ.mjs +308 -0
  73. package/dist/chunk-B42LOFIZ.mjs.map +1 -0
  74. package/dist/chunk-FGOZHKBT.mjs +97 -0
  75. package/dist/chunk-FGOZHKBT.mjs.map +1 -0
  76. package/dist/chunk-HLXYG643.mjs +52 -0
  77. package/dist/chunk-HLXYG643.mjs.map +1 -0
  78. package/dist/chunk-JKNBJHD5.mjs +601 -0
  79. package/dist/chunk-JKNBJHD5.mjs.map +1 -0
  80. package/dist/chunk-K7VP7DH3.mjs +66 -0
  81. package/dist/chunk-K7VP7DH3.mjs.map +1 -0
  82. package/dist/chunk-MUNDKRAE.mjs +80 -0
  83. package/dist/chunk-MUNDKRAE.mjs.map +1 -0
  84. package/dist/chunk-NBZKMCHF.mjs +36 -0
  85. package/dist/chunk-NBZKMCHF.mjs.map +1 -0
  86. package/dist/chunk-PZWESKAR.mjs +314 -0
  87. package/dist/chunk-PZWESKAR.mjs.map +1 -0
  88. package/dist/collapsible/index.d.mts +60 -0
  89. package/dist/collapsible/index.d.ts +60 -0
  90. package/dist/collapsible/index.js +140 -0
  91. package/dist/collapsible/index.js.map +1 -0
  92. package/dist/collapsible/index.mjs +8 -0
  93. package/dist/collapsible/index.mjs.map +1 -0
  94. package/dist/combobox/index.d.mts +285 -0
  95. package/dist/combobox/index.d.ts +285 -0
  96. package/dist/combobox/index.js +2920 -0
  97. package/dist/combobox/index.js.map +1 -0
  98. package/dist/combobox/index.mjs +1267 -0
  99. package/dist/combobox/index.mjs.map +1 -0
  100. package/dist/dialog/index.d.mts +33 -0
  101. package/dist/dialog/index.d.ts +33 -0
  102. package/dist/dialog/index.js +1286 -0
  103. package/dist/dialog/index.js.map +1 -0
  104. package/dist/dialog/index.mjs +13 -0
  105. package/dist/dialog/index.mjs.map +1 -0
  106. package/dist/divider/index.d.mts +61 -0
  107. package/dist/divider/index.d.ts +61 -0
  108. package/dist/divider/index.js +223 -0
  109. package/dist/divider/index.js.map +1 -0
  110. package/dist/divider/index.mjs +196 -0
  111. package/dist/divider/index.mjs.map +1 -0
  112. package/dist/drawer/index.d.mts +148 -0
  113. package/dist/drawer/index.d.ts +148 -0
  114. package/dist/drawer/index.js +1266 -0
  115. package/dist/drawer/index.js.map +1 -0
  116. package/dist/drawer/index.mjs +299 -0
  117. package/dist/drawer/index.mjs.map +1 -0
  118. package/dist/dropdown/index.d.mts +233 -0
  119. package/dist/dropdown/index.d.ts +233 -0
  120. package/dist/dropdown/index.js +2402 -0
  121. package/dist/dropdown/index.js.map +1 -0
  122. package/dist/dropdown/index.mjs +741 -0
  123. package/dist/dropdown/index.mjs.map +1 -0
  124. package/dist/form-field/index.d.mts +176 -0
  125. package/dist/form-field/index.d.ts +176 -0
  126. package/dist/form-field/index.js +540 -0
  127. package/dist/form-field/index.js.map +1 -0
  128. package/dist/form-field/index.mjs +13 -0
  129. package/dist/form-field/index.mjs.map +1 -0
  130. package/dist/icon/index.d.mts +28 -0
  131. package/dist/icon/index.d.ts +28 -0
  132. package/dist/icon/index.js +127 -0
  133. package/dist/icon/index.js.map +1 -0
  134. package/dist/icon/index.mjs +9 -0
  135. package/dist/icon/index.mjs.map +1 -0
  136. package/dist/icon-button/index.d.mts +16 -0
  137. package/dist/icon-button/index.d.ts +16 -0
  138. package/dist/icon-button/index.js +921 -0
  139. package/dist/icon-button/index.js.map +1 -0
  140. package/dist/icon-button/index.mjs +11 -0
  141. package/dist/icon-button/index.mjs.map +1 -0
  142. package/dist/input/index.d.mts +78 -0
  143. package/dist/input/index.d.ts +78 -0
  144. package/dist/input/index.js +1119 -0
  145. package/dist/input/index.js.map +1 -0
  146. package/dist/input/index.mjs +16 -0
  147. package/dist/input/index.mjs.map +1 -0
  148. package/dist/kbd/index.d.mts +9 -0
  149. package/dist/kbd/index.d.ts +9 -0
  150. package/dist/kbd/index.js +46 -0
  151. package/dist/kbd/index.js.map +1 -0
  152. package/dist/kbd/index.mjs +19 -0
  153. package/dist/kbd/index.mjs.map +1 -0
  154. package/dist/label/index.d.mts +11 -0
  155. package/dist/label/index.d.ts +11 -0
  156. package/dist/label/index.js +78 -0
  157. package/dist/label/index.js.map +1 -0
  158. package/dist/label/index.mjs +7 -0
  159. package/dist/label/index.mjs.map +1 -0
  160. package/dist/link-box/index.d.mts +34 -0
  161. package/dist/link-box/index.d.ts +34 -0
  162. package/dist/link-box/index.js +92 -0
  163. package/dist/link-box/index.js.map +1 -0
  164. package/dist/link-box/index.mjs +58 -0
  165. package/dist/link-box/index.mjs.map +1 -0
  166. package/dist/pagination/index.d.mts +143 -0
  167. package/dist/pagination/index.d.ts +143 -0
  168. package/dist/pagination/index.js +1303 -0
  169. package/dist/pagination/index.js.map +1 -0
  170. package/dist/pagination/index.mjs +326 -0
  171. package/dist/pagination/index.mjs.map +1 -0
  172. package/dist/popover/index.d.mts +93 -0
  173. package/dist/popover/index.d.ts +93 -0
  174. package/dist/popover/index.js +1280 -0
  175. package/dist/popover/index.js.map +1 -0
  176. package/dist/popover/index.mjs +13 -0
  177. package/dist/popover/index.mjs.map +1 -0
  178. package/dist/portal/index.d.mts +13 -0
  179. package/dist/portal/index.d.ts +13 -0
  180. package/dist/portal/index.js +37 -0
  181. package/dist/portal/index.js.map +1 -0
  182. package/dist/portal/index.mjs +10 -0
  183. package/dist/portal/index.mjs.map +1 -0
  184. package/dist/progress/index.d.mts +48 -0
  185. package/dist/progress/index.d.ts +48 -0
  186. package/dist/progress/index.js +201 -0
  187. package/dist/progress/index.js.map +1 -0
  188. package/dist/progress/index.mjs +174 -0
  189. package/dist/progress/index.mjs.map +1 -0
  190. package/dist/progress-tracker/index.d.mts +81 -0
  191. package/dist/progress-tracker/index.d.ts +81 -0
  192. package/dist/progress-tracker/index.js +834 -0
  193. package/dist/progress-tracker/index.js.map +1 -0
  194. package/dist/progress-tracker/index.mjs +716 -0
  195. package/dist/progress-tracker/index.mjs.map +1 -0
  196. package/dist/radio-group/index.d.mts +100 -0
  197. package/dist/radio-group/index.d.ts +100 -0
  198. package/dist/radio-group/index.js +824 -0
  199. package/dist/radio-group/index.js.map +1 -0
  200. package/dist/radio-group/index.mjs +297 -0
  201. package/dist/radio-group/index.mjs.map +1 -0
  202. package/dist/rating/index.d.mts +78 -0
  203. package/dist/rating/index.d.ts +78 -0
  204. package/dist/rating/index.js +362 -0
  205. package/dist/rating/index.js.map +1 -0
  206. package/dist/rating/index.mjs +247 -0
  207. package/dist/rating/index.mjs.map +1 -0
  208. package/dist/scrolling-list/index.d.mts +105 -0
  209. package/dist/scrolling-list/index.d.ts +105 -0
  210. package/dist/scrolling-list/index.js +1367 -0
  211. package/dist/scrolling-list/index.js.map +1 -0
  212. package/dist/scrolling-list/index.mjs +407 -0
  213. package/dist/scrolling-list/index.mjs.map +1 -0
  214. package/dist/select/index.d.mts +167 -0
  215. package/dist/select/index.d.ts +167 -0
  216. package/dist/select/index.js +991 -0
  217. package/dist/select/index.js.map +1 -0
  218. package/dist/select/index.mjs +470 -0
  219. package/dist/select/index.mjs.map +1 -0
  220. package/dist/skeleton/index.d.mts +67 -0
  221. package/dist/skeleton/index.d.ts +67 -0
  222. package/dist/skeleton/index.js +206 -0
  223. package/dist/skeleton/index.js.map +1 -0
  224. package/dist/skeleton/index.mjs +147 -0
  225. package/dist/skeleton/index.mjs.map +1 -0
  226. package/dist/slider/index.d.mts +97 -0
  227. package/dist/slider/index.d.ts +97 -0
  228. package/dist/slider/index.js +209 -0
  229. package/dist/slider/index.js.map +1 -0
  230. package/dist/slider/index.mjs +182 -0
  231. package/dist/slider/index.mjs.map +1 -0
  232. package/dist/slot/index.d.mts +17 -0
  233. package/dist/slot/index.d.ts +17 -0
  234. package/dist/slot/index.js +51 -0
  235. package/dist/slot/index.js.map +1 -0
  236. package/dist/slot/index.mjs +11 -0
  237. package/dist/slot/index.mjs.map +1 -0
  238. package/dist/snackbar/index.d.mts +158 -0
  239. package/dist/snackbar/index.d.ts +158 -0
  240. package/dist/snackbar/index.js +1693 -0
  241. package/dist/snackbar/index.js.map +1 -0
  242. package/dist/snackbar/index.mjs +733 -0
  243. package/dist/snackbar/index.mjs.map +1 -0
  244. package/dist/spinner/index.d.mts +21 -0
  245. package/dist/spinner/index.d.ts +21 -0
  246. package/dist/spinner/index.js +139 -0
  247. package/dist/spinner/index.js.map +1 -0
  248. package/dist/spinner/index.mjs +9 -0
  249. package/dist/spinner/index.mjs.map +1 -0
  250. package/dist/stepper/index.d.mts +82 -0
  251. package/dist/stepper/index.d.ts +82 -0
  252. package/dist/stepper/index.js +2178 -0
  253. package/dist/stepper/index.js.map +1 -0
  254. package/dist/stepper/index.mjs +229 -0
  255. package/dist/stepper/index.mjs.map +1 -0
  256. package/dist/switch/index.d.mts +64 -0
  257. package/dist/switch/index.d.ts +64 -0
  258. package/dist/switch/index.js +768 -0
  259. package/dist/switch/index.js.map +1 -0
  260. package/dist/switch/index.mjs +245 -0
  261. package/dist/switch/index.mjs.map +1 -0
  262. package/dist/tabs/index.d.mts +103 -0
  263. package/dist/tabs/index.d.ts +103 -0
  264. package/dist/tabs/index.js +1315 -0
  265. package/dist/tabs/index.js.map +1 -0
  266. package/dist/tabs/index.mjs +391 -0
  267. package/dist/tabs/index.mjs.map +1 -0
  268. package/dist/tag/index.d.mts +27 -0
  269. package/dist/tag/index.d.ts +27 -0
  270. package/dist/tag/index.js +269 -0
  271. package/dist/tag/index.js.map +1 -0
  272. package/dist/tag/index.mjs +237 -0
  273. package/dist/tag/index.mjs.map +1 -0
  274. package/dist/text-link/index.d.mts +20 -0
  275. package/dist/text-link/index.d.ts +20 -0
  276. package/dist/text-link/index.js +99 -0
  277. package/dist/text-link/index.js.map +1 -0
  278. package/dist/text-link/index.mjs +8 -0
  279. package/dist/text-link/index.mjs.map +1 -0
  280. package/dist/textarea/index.d.mts +47 -0
  281. package/dist/textarea/index.d.ts +47 -0
  282. package/dist/textarea/index.js +1180 -0
  283. package/dist/textarea/index.js.map +1 -0
  284. package/dist/textarea/index.mjs +77 -0
  285. package/dist/textarea/index.mjs.map +1 -0
  286. package/dist/visually-hidden/index.d.mts +16 -0
  287. package/dist/visually-hidden/index.d.ts +16 -0
  288. package/dist/visually-hidden/index.js +67 -0
  289. package/dist/visually-hidden/index.js.map +1 -0
  290. package/dist/visually-hidden/index.mjs +8 -0
  291. package/dist/visually-hidden/index.mjs.map +1 -0
  292. package/global.d.ts +12 -0
  293. package/package.json +75 -0
  294. package/tsconfig.build.json +9 -0
  295. package/tsconfig.json +9 -0
  296. package/tsup.config.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/link-box/LinkBox.tsx","../../src/link-box/LinkBoxLink.tsx","../../src/link-box/LinkBoxRaised.tsx","../../src/link-box/index.ts"],"sourcesContent":["import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithRef } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface LinkBoxProps extends ComponentPropsWithRef<'div'> {\n asChild?: boolean\n}\n\nexport const LinkBox = ({ className, asChild, ref, ...props }: LinkBoxProps) => {\n const Component = asChild ? Slot : 'div'\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"link-box\"\n className={cx('relative', className)}\n {...props}\n />\n )\n}\n\nLinkBox.displayName = 'LinkBox'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithRef } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface LinkBoxLinkProps extends ComponentPropsWithRef<'a'> {\n asChild?: boolean\n}\n\nexport const LinkBoxLink = ({ className, asChild, ref, ...props }: LinkBoxLinkProps) => {\n const Component = asChild ? Slot : 'a'\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"link-box-link\"\n className={cx(\n \"before:z-base static before:absolute before:top-0 before:left-0 before:block before:size-full before:content-['']\",\n className\n )}\n {...props}\n />\n )\n}\n\nLinkBoxLink.displayName = 'LinkBox.Link'\n","import { cx } from 'class-variance-authority'\nimport { ReactNode } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface LinkBoxRaisedProps {\n className?: string\n children: ReactNode\n}\n\nexport const LinkBoxRaised = ({ className, ...props }: LinkBoxRaisedProps) => {\n return <Slot className={cx('z-raised relative', className)} {...props} />\n}\n\nLinkBoxRaised.displayName = 'LinkBox.Raised'\n","import { LinkBox as Root } from './LinkBox'\nimport { LinkBoxLink } from './LinkBoxLink'\nimport { LinkBoxRaised } from './LinkBoxRaised'\n\nexport const LinkBox: typeof Root & {\n Link: typeof LinkBoxLink\n Raised: typeof LinkBoxRaised\n} = Object.assign(Root, { Link: LinkBoxLink, Raised: LinkBoxRaised })\n\nLinkBox.displayName = 'LinkBox'\nLinkBox.Link.displayName = 'LinkBox.Link'\nLinkBox.Raised.displayName = 'LinkBox.Raised'\n\nexport { type LinkBoxProps } from './LinkBox'\nexport { type LinkBoxLinkProps } from './LinkBoxLink'\n"],"mappings":";;;;;AAAA,SAAS,UAAU;AAaf;AAJG,IAAM,UAAU,CAAC,EAAE,WAAW,SAAS,KAAK,GAAG,MAAM,MAAoB;AAC9E,QAAM,YAAY,UAAU,OAAO;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,wBAAqB;AAAA,MACrB,WAAW,GAAG,YAAY,SAAS;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,QAAQ,cAAc;;;ACtBtB,SAAS,MAAAA,WAAU;AAaf,gBAAAC,YAAA;AAJG,IAAM,cAAc,CAAC,EAAE,WAAW,SAAS,KAAK,GAAG,MAAM,MAAwB;AACtF,QAAM,YAAY,UAAU,OAAO;AAEnC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,wBAAqB;AAAA,MACrB,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,YAAY,cAAc;;;ACzB1B,SAAS,MAAAC,WAAU;AAWV,gBAAAC,YAAA;AADF,IAAM,gBAAgB,CAAC,EAAE,WAAW,GAAG,MAAM,MAA0B;AAC5E,SAAO,gBAAAA,KAAC,QAAK,WAAWC,IAAG,qBAAqB,SAAS,GAAI,GAAG,OAAO;AACzE;AAEA,cAAc,cAAc;;;ACVrB,IAAMC,WAGT,OAAO,OAAO,SAAM,EAAE,MAAM,aAAa,QAAQ,cAAc,CAAC;AAEpEA,SAAQ,cAAc;AACtBA,SAAQ,KAAK,cAAc;AAC3BA,SAAQ,OAAO,cAAc;","names":["cx","jsx","cx","cx","jsx","cx","LinkBox"]}
@@ -0,0 +1,143 @@
1
+ import { ReactNode, ComponentPropsWithRef, ComponentPropsWithoutRef, Ref, FC } from 'react';
2
+ import * as pagination from '@zag-js/pagination';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+
5
+ interface PaginationProviderProps {
6
+ children: ReactNode;
7
+ /**
8
+ * Total number of data items available across all pages.
9
+ */
10
+ count: number;
11
+ /**
12
+ * Maximum amount of items displayed on a single page.
13
+ */
14
+ pageSize: number;
15
+ /**
16
+ * Number of visible pages (or ellipsis) between previous and next page triggers.
17
+ */
18
+ visiblePageItems?: number;
19
+ /**
20
+ * The current page (active page)
21
+ */
22
+ page?: pagination.Props['page'];
23
+ /**
24
+ * If your pagination contains buttons instead of links, set `type` to `button`, extra attributes will be applied on page items for a11y.
25
+ */
26
+ type?: pagination.Props['type'];
27
+ onPageChange?: pagination.Props['onPageChange'];
28
+ noEllipsis?: boolean;
29
+ }
30
+
31
+ type PaginationProps = PaginationProviderProps & {
32
+ className?: string;
33
+ };
34
+
35
+ interface EllipsisProps extends ComponentPropsWithRef<'span'> {
36
+ index: number;
37
+ }
38
+ declare const Ellipsis: {
39
+ ({ children, index, className, ref, ...rest }: EllipsisProps): react_jsx_runtime.JSX.Element;
40
+ displayName: string;
41
+ };
42
+
43
+ interface AnchorProps$4 extends ComponentPropsWithoutRef<'a'> {
44
+ href: string;
45
+ }
46
+ interface ButtonProps$4 extends ComponentPropsWithoutRef<'button'> {
47
+ href?: undefined;
48
+ }
49
+ type FirstPageTriggerProps = Omit<AnchorProps$4 | ButtonProps$4, 'aria-label'> & {
50
+ 'aria-label': string;
51
+ ref?: Ref<HTMLButtonElement>;
52
+ };
53
+ declare const FirstPageTrigger: {
54
+ ({ children, className, href, ref, ...props }: FirstPageTriggerProps): react_jsx_runtime.JSX.Element;
55
+ displayName: string;
56
+ };
57
+
58
+ interface AnchorProps$3 extends ComponentPropsWithoutRef<'a'> {
59
+ href: string;
60
+ }
61
+ interface ButtonProps$3 extends ComponentPropsWithoutRef<'button'> {
62
+ href?: undefined;
63
+ }
64
+ type ItemProps = Omit<AnchorProps$3 | ButtonProps$3, 'aria-label'> & {
65
+ 'aria-label': string;
66
+ value: number;
67
+ ref?: Ref<HTMLButtonElement>;
68
+ };
69
+ declare const Item: {
70
+ ({ children, value, className, href, ref, ...props }: ItemProps): react_jsx_runtime.JSX.Element;
71
+ displayName: string;
72
+ };
73
+
74
+ interface AnchorProps$2 extends ComponentPropsWithoutRef<'a'> {
75
+ href: string;
76
+ }
77
+ interface ButtonProps$2 extends ComponentPropsWithoutRef<'button'> {
78
+ href?: undefined;
79
+ }
80
+ type LastPageTriggerProps = Omit<AnchorProps$2 | ButtonProps$2, 'aria-label'> & {
81
+ 'aria-label': string;
82
+ ref?: Ref<HTMLButtonElement>;
83
+ };
84
+ declare const LastPageTrigger: {
85
+ ({ children, className, href, ref, ...props }: LastPageTriggerProps): react_jsx_runtime.JSX.Element;
86
+ displayName: string;
87
+ };
88
+
89
+ interface AnchorProps$1 extends ComponentPropsWithoutRef<'a'> {
90
+ href: string;
91
+ }
92
+ interface ButtonProps$1 extends ComponentPropsWithoutRef<'button'> {
93
+ href?: undefined;
94
+ }
95
+ type NextTriggerProps = Omit<AnchorProps$1 | ButtonProps$1, 'aria-label'> & {
96
+ 'aria-label': string;
97
+ ref?: Ref<HTMLButtonElement>;
98
+ };
99
+ declare const NextTrigger: {
100
+ ({ children, className, href, ref, ...props }: NextTriggerProps): react_jsx_runtime.JSX.Element;
101
+ displayName: string;
102
+ };
103
+
104
+ type PageItem = Extract<pagination.Api['pages'][number], {
105
+ type: 'page';
106
+ }>;
107
+ type TweakedPaginationApi<T extends 'noEllipsis' | ''> = Omit<pagination.Api, 'pages'> & {
108
+ pages: T extends 'noEllipsis' ? PageItem[] : pagination.Api['pages'];
109
+ };
110
+ interface PagesProps<T extends 'noEllipsis' | ''> {
111
+ children: (pagination: TweakedPaginationApi<T>) => ReactNode;
112
+ }
113
+ declare const Pages: {
114
+ <T extends "noEllipsis" | "" = "">({ children }: PagesProps<T>): ReactNode;
115
+ displayName: string;
116
+ };
117
+
118
+ interface AnchorProps extends ComponentPropsWithoutRef<'a'> {
119
+ href: string;
120
+ }
121
+ interface ButtonProps extends ComponentPropsWithoutRef<'button'> {
122
+ href?: undefined;
123
+ }
124
+ type PrevTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {
125
+ 'aria-label': string;
126
+ ref?: Ref<HTMLButtonElement>;
127
+ };
128
+ declare const PrevTrigger: {
129
+ ({ children, className, href, ref, ...props }: PrevTriggerProps): react_jsx_runtime.JSX.Element;
130
+ displayName: string;
131
+ };
132
+
133
+ declare const Pagination: FC<PaginationProps> & {
134
+ PrevTrigger: typeof PrevTrigger;
135
+ NextTrigger: typeof NextTrigger;
136
+ Pages: typeof Pages;
137
+ Item: typeof Item;
138
+ Ellipsis: typeof Ellipsis;
139
+ FirstPageTrigger: typeof FirstPageTrigger;
140
+ LastPageTrigger: typeof LastPageTrigger;
141
+ };
142
+
143
+ export { Pagination };
@@ -0,0 +1,143 @@
1
+ import { ReactNode, ComponentPropsWithRef, ComponentPropsWithoutRef, Ref, FC } from 'react';
2
+ import * as pagination from '@zag-js/pagination';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+
5
+ interface PaginationProviderProps {
6
+ children: ReactNode;
7
+ /**
8
+ * Total number of data items available across all pages.
9
+ */
10
+ count: number;
11
+ /**
12
+ * Maximum amount of items displayed on a single page.
13
+ */
14
+ pageSize: number;
15
+ /**
16
+ * Number of visible pages (or ellipsis) between previous and next page triggers.
17
+ */
18
+ visiblePageItems?: number;
19
+ /**
20
+ * The current page (active page)
21
+ */
22
+ page?: pagination.Props['page'];
23
+ /**
24
+ * If your pagination contains buttons instead of links, set `type` to `button`, extra attributes will be applied on page items for a11y.
25
+ */
26
+ type?: pagination.Props['type'];
27
+ onPageChange?: pagination.Props['onPageChange'];
28
+ noEllipsis?: boolean;
29
+ }
30
+
31
+ type PaginationProps = PaginationProviderProps & {
32
+ className?: string;
33
+ };
34
+
35
+ interface EllipsisProps extends ComponentPropsWithRef<'span'> {
36
+ index: number;
37
+ }
38
+ declare const Ellipsis: {
39
+ ({ children, index, className, ref, ...rest }: EllipsisProps): react_jsx_runtime.JSX.Element;
40
+ displayName: string;
41
+ };
42
+
43
+ interface AnchorProps$4 extends ComponentPropsWithoutRef<'a'> {
44
+ href: string;
45
+ }
46
+ interface ButtonProps$4 extends ComponentPropsWithoutRef<'button'> {
47
+ href?: undefined;
48
+ }
49
+ type FirstPageTriggerProps = Omit<AnchorProps$4 | ButtonProps$4, 'aria-label'> & {
50
+ 'aria-label': string;
51
+ ref?: Ref<HTMLButtonElement>;
52
+ };
53
+ declare const FirstPageTrigger: {
54
+ ({ children, className, href, ref, ...props }: FirstPageTriggerProps): react_jsx_runtime.JSX.Element;
55
+ displayName: string;
56
+ };
57
+
58
+ interface AnchorProps$3 extends ComponentPropsWithoutRef<'a'> {
59
+ href: string;
60
+ }
61
+ interface ButtonProps$3 extends ComponentPropsWithoutRef<'button'> {
62
+ href?: undefined;
63
+ }
64
+ type ItemProps = Omit<AnchorProps$3 | ButtonProps$3, 'aria-label'> & {
65
+ 'aria-label': string;
66
+ value: number;
67
+ ref?: Ref<HTMLButtonElement>;
68
+ };
69
+ declare const Item: {
70
+ ({ children, value, className, href, ref, ...props }: ItemProps): react_jsx_runtime.JSX.Element;
71
+ displayName: string;
72
+ };
73
+
74
+ interface AnchorProps$2 extends ComponentPropsWithoutRef<'a'> {
75
+ href: string;
76
+ }
77
+ interface ButtonProps$2 extends ComponentPropsWithoutRef<'button'> {
78
+ href?: undefined;
79
+ }
80
+ type LastPageTriggerProps = Omit<AnchorProps$2 | ButtonProps$2, 'aria-label'> & {
81
+ 'aria-label': string;
82
+ ref?: Ref<HTMLButtonElement>;
83
+ };
84
+ declare const LastPageTrigger: {
85
+ ({ children, className, href, ref, ...props }: LastPageTriggerProps): react_jsx_runtime.JSX.Element;
86
+ displayName: string;
87
+ };
88
+
89
+ interface AnchorProps$1 extends ComponentPropsWithoutRef<'a'> {
90
+ href: string;
91
+ }
92
+ interface ButtonProps$1 extends ComponentPropsWithoutRef<'button'> {
93
+ href?: undefined;
94
+ }
95
+ type NextTriggerProps = Omit<AnchorProps$1 | ButtonProps$1, 'aria-label'> & {
96
+ 'aria-label': string;
97
+ ref?: Ref<HTMLButtonElement>;
98
+ };
99
+ declare const NextTrigger: {
100
+ ({ children, className, href, ref, ...props }: NextTriggerProps): react_jsx_runtime.JSX.Element;
101
+ displayName: string;
102
+ };
103
+
104
+ type PageItem = Extract<pagination.Api['pages'][number], {
105
+ type: 'page';
106
+ }>;
107
+ type TweakedPaginationApi<T extends 'noEllipsis' | ''> = Omit<pagination.Api, 'pages'> & {
108
+ pages: T extends 'noEllipsis' ? PageItem[] : pagination.Api['pages'];
109
+ };
110
+ interface PagesProps<T extends 'noEllipsis' | ''> {
111
+ children: (pagination: TweakedPaginationApi<T>) => ReactNode;
112
+ }
113
+ declare const Pages: {
114
+ <T extends "noEllipsis" | "" = "">({ children }: PagesProps<T>): ReactNode;
115
+ displayName: string;
116
+ };
117
+
118
+ interface AnchorProps extends ComponentPropsWithoutRef<'a'> {
119
+ href: string;
120
+ }
121
+ interface ButtonProps extends ComponentPropsWithoutRef<'button'> {
122
+ href?: undefined;
123
+ }
124
+ type PrevTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {
125
+ 'aria-label': string;
126
+ ref?: Ref<HTMLButtonElement>;
127
+ };
128
+ declare const PrevTrigger: {
129
+ ({ children, className, href, ref, ...props }: PrevTriggerProps): react_jsx_runtime.JSX.Element;
130
+ displayName: string;
131
+ };
132
+
133
+ declare const Pagination: FC<PaginationProps> & {
134
+ PrevTrigger: typeof PrevTrigger;
135
+ NextTrigger: typeof NextTrigger;
136
+ Pages: typeof Pages;
137
+ Item: typeof Item;
138
+ Ellipsis: typeof Ellipsis;
139
+ FirstPageTrigger: typeof FirstPageTrigger;
140
+ LastPageTrigger: typeof LastPageTrigger;
141
+ };
142
+
143
+ export { Pagination };