@alfadocs/ui-kit-debug 0.16.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/_chunks/benefit-card-DXmrAyfn.js +219 -0
  2. package/dist/_chunks/benefit-card-DXmrAyfn.js.map +1 -0
  3. package/dist/_chunks/{carousel.agent-OTn-kMQg.js → carousel.agent-Xuw9LPZN.js} +14 -7
  4. package/dist/_chunks/{carousel.agent-OTn-kMQg.js.map → carousel.agent-Xuw9LPZN.js.map} +1 -1
  5. package/dist/_chunks/copy-field-BCHAZ8QV.js +298 -0
  6. package/dist/_chunks/copy-field-BCHAZ8QV.js.map +1 -0
  7. package/dist/_chunks/{navigation-menu-Bav1d_wA.js → navigation-menu-DdufF-_4.js} +18 -18
  8. package/dist/_chunks/{navigation-menu-Bav1d_wA.js.map → navigation-menu-DdufF-_4.js.map} +1 -1
  9. package/dist/_chunks/{pagination-OQBlnb1H.js → pagination-F1ei4khE.js} +180 -158
  10. package/dist/_chunks/pagination-F1ei4khE.js.map +1 -0
  11. package/dist/_chunks/public-header.agent-BIBQzkeV.js +557 -0
  12. package/dist/_chunks/public-header.agent-BIBQzkeV.js.map +1 -0
  13. package/dist/agent-catalog.json +37 -1
  14. package/dist/components/benefit-card/benefit-card.d.ts.map +1 -1
  15. package/dist/components/benefit-card/index.js +1 -1
  16. package/dist/components/carousel/carousel.d.ts.map +1 -1
  17. package/dist/components/carousel/index.js +1 -1
  18. package/dist/components/copy-field/copy-field.agent.d.ts +16 -0
  19. package/dist/components/copy-field/copy-field.agent.d.ts.map +1 -0
  20. package/dist/components/copy-field/copy-field.d.ts +50 -0
  21. package/dist/components/copy-field/copy-field.d.ts.map +1 -0
  22. package/dist/components/copy-field/index.d.ts +5 -0
  23. package/dist/components/copy-field/index.d.ts.map +1 -0
  24. package/dist/components/copy-field/index.js +6 -0
  25. package/dist/components/copy-field/index.js.map +1 -0
  26. package/dist/components/index.d.ts +1 -0
  27. package/dist/components/index.d.ts.map +1 -1
  28. package/dist/components/navigation-menu/index.js +1 -1
  29. package/dist/components/pagination/index.js +1 -1
  30. package/dist/components/pagination/pagination.d.ts.map +1 -1
  31. package/dist/components/public-header/index.d.ts +1 -1
  32. package/dist/components/public-header/index.d.ts.map +1 -1
  33. package/dist/components/public-header/index.js +1 -1
  34. package/dist/components/public-header/public-header.d.ts +36 -1
  35. package/dist/components/public-header/public-header.d.ts.map +1 -1
  36. package/dist/hooks/use-controllable-state.d.ts +10 -0
  37. package/dist/hooks/use-controllable-state.d.ts.map +1 -0
  38. package/dist/hooks/use-copy-to-clipboard.d.ts +45 -0
  39. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  40. package/dist/i18n/config.js +21 -0
  41. package/dist/i18n/config.js.map +1 -1
  42. package/dist/i18n/resources.d.ts +21 -0
  43. package/dist/i18n/resources.d.ts.map +1 -1
  44. package/dist/index.js +458 -455
  45. package/dist/index.js.map +1 -1
  46. package/dist/locales/de.json +7 -0
  47. package/dist/locales/en.json +7 -0
  48. package/dist/locales/it.json +7 -0
  49. package/dist/tokens.css +1 -1
  50. package/package.json +5 -1
  51. package/dist/_chunks/benefit-card-Czs0oXdi.js +0 -161
  52. package/dist/_chunks/benefit-card-Czs0oXdi.js.map +0 -1
  53. package/dist/_chunks/pagination-OQBlnb1H.js.map +0 -1
  54. package/dist/_chunks/public-header.agent-ZLBAQ30j.js +0 -242
  55. package/dist/_chunks/public-header.agent-ZLBAQ30j.js.map +0 -1
@@ -1,14 +1,32 @@
1
- import { jsxs as f, jsx as i } from "react/jsx-runtime";
2
- import { forwardRef as g, useState as D, useEffect as z, useCallback as A, useMemo as C, useRef as _, useId as ee } from "react";
1
+ import { jsxs as h, jsx as t } from "react/jsx-runtime";
2
+ import { useState as Z, useRef as z, useEffect as y, useCallback as k, forwardRef as u, useMemo as _, useId as D } from "react";
3
3
  import * as m from "@radix-ui/react-select";
4
- import { c as se } from "./index-D2ZczOXr.js";
4
+ import { c as ee } from "./index-D2ZczOXr.js";
5
5
  import { useTranslation as x } from "react-i18next";
6
- import { u as ae } from "./registry-C9nwlNyL.js";
7
- import { E as ie } from "./ellipsis-rgGdiK_9.js";
6
+ import { u as se } from "./registry-C9nwlNyL.js";
7
+ import { E as ae } from "./ellipsis-rgGdiK_9.js";
8
8
  import { C as F } from "./chevron-right-BrpYejk0.js";
9
- import { C as te } from "./chevron-left-CX1jqD2M.js";
10
- import { C as ne, a as re } from "./chevrons-right-d9MwesPG.js";
11
- import { C as de } from "./check-DPdL_Sm7.js";
9
+ import { C as ie } from "./chevron-left-CX1jqD2M.js";
10
+ import { C as te, a as ne } from "./chevrons-right-d9MwesPG.js";
11
+ import { C as re } from "./check-DPdL_Sm7.js";
12
+ function de({
13
+ value: e,
14
+ defaultValue: a,
15
+ onChange: i
16
+ }) {
17
+ const s = e !== void 0, [d, r] = Z(a), n = z(i);
18
+ y(() => {
19
+ n.current = i;
20
+ }, [i]);
21
+ const p = s ? e : d, v = k(
22
+ (o) => {
23
+ var b;
24
+ s || r(o), (b = n.current) == null || b.call(n, o);
25
+ },
26
+ [s]
27
+ );
28
+ return [p, v];
29
+ }
12
30
  const oe = {
13
31
  id: "pagination",
14
32
  capabilities: ["paginate", "range_navigate"],
@@ -69,7 +87,7 @@ const oe = {
69
87
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
70
88
  "ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
71
89
  "ds:aria-disabled:cursor-not-allowed ds:aria-disabled:opacity-50"
72
- ].join(" "), j = se(le, {
90
+ ].join(" "), P = ee(le, {
73
91
  variants: {
74
92
  size: {
75
93
  sm: "ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)] ds:text-[length:var(--font-size-sm)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -83,160 +101,164 @@ const oe = {
83
101
  },
84
102
  defaultVariants: { size: "md", active: !1 }
85
103
  });
86
- function y(e, a) {
87
- const t = [];
88
- for (let s = e; s <= a; s++) t.push(s);
89
- return t;
104
+ function w(e, a) {
105
+ const i = [];
106
+ for (let s = e; s <= a; s++) i.push(s);
107
+ return i;
90
108
  }
91
- function ce(e, a, t = 1, s = 1) {
109
+ function ce(e, a, i = 1, s = 1) {
92
110
  if (a <= 0) return [];
93
- if (t = Math.max(0, t), s = Math.max(1, s), s * 2 + t * 2 + 3 >= a) return y(1, a);
94
- const r = y(1, s), n = y(a - s + 1, a), u = Math.max(
111
+ if (i = Math.max(0, i), s = Math.max(1, s), s * 2 + i * 2 + 3 >= a) return w(1, a);
112
+ const r = w(1, s), n = w(a - s + 1, a), p = Math.max(
95
113
  Math.min(
96
- e - t,
97
- a - s - t * 2 - 1
114
+ e - i,
115
+ a - s - i * 2 - 1
98
116
  ),
99
117
  s + 2
100
- ), h = Math.min(
101
- Math.max(e + t, s + t * 2 + 2),
118
+ ), v = Math.min(
119
+ Math.max(e + i, s + i * 2 + 2),
102
120
  n[0] - 2
103
- ), l = [...r];
104
- return u > s + 2 ? l.push("ellipsis-start") : s + 1 < a - s && l.push(s + 1), l.push(...y(u, h)), h < a - s - 1 ? l.push("ellipsis-end") : a - s > s && l.push(a - s), l.push(...n), l;
121
+ ), o = [...r];
122
+ return p > s + 2 ? o.push("ellipsis-start") : s + 1 < a - s && o.push(s + 1), o.push(...w(p, v)), v < a - s - 1 ? o.push("ellipsis-end") : a - s > s && o.push(a - s), o.push(...n), o;
105
123
  }
106
- const me = g(
124
+ const me = u(
107
125
  ({
108
126
  totalPages: e,
109
127
  page: a,
110
- defaultPage: t = 1,
128
+ defaultPage: i = 1,
111
129
  onPageChange: s,
112
- siblingCount: o = 1,
130
+ siblingCount: d = 1,
113
131
  boundaryCount: r = 1,
114
132
  size: n = "md",
115
- showEndpoints: u = !1,
116
- align: h = "center",
117
- pageSize: l,
118
- useLocaleDigits: T = !1,
119
- locale: M,
120
- className: J,
121
- id: P,
122
- ...K
123
- }, O) => {
124
- const { t: R, i18n: S } = x(), b = a !== void 0, [Q, W] = D(t), c = b ? a : Q;
125
- z(() => {
126
- b && t !== 1 && console.warn(
133
+ showEndpoints: p = !1,
134
+ align: v = "center",
135
+ pageSize: o,
136
+ useLocaleDigits: b = !1,
137
+ locale: R,
138
+ className: K,
139
+ id: j,
140
+ ...O
141
+ }, Q) => {
142
+ const { t: S, i18n: C } = x(), [U, E] = de({
143
+ value: a,
144
+ defaultValue: i,
145
+ onChange: s
146
+ }), c = U ?? i;
147
+ y(() => {
148
+ a !== void 0 && i !== 1 && console.warn(
127
149
  "[Pagination] Both `page` and `defaultPage` were supplied. The `page` prop wins; remove `defaultPage` for controlled usage."
128
150
  );
129
- }, [b, t]);
130
- const p = A(
131
- (d) => {
132
- const w = Math.min(Math.max(d, 1), Math.max(1, e));
133
- b || W(w), s == null || s(w);
151
+ }, [a, i]);
152
+ const g = k(
153
+ (l) => {
154
+ const I = Math.min(Math.max(l, 1), Math.max(1, e));
155
+ E(I);
134
156
  },
135
- [b, s, e]
136
- ), E = A(
137
- (d) => {
138
- if (!T) return String(d);
157
+ [E, e]
158
+ ), V = k(
159
+ (l) => {
160
+ if (!b) return String(l);
139
161
  try {
140
- return new Intl.NumberFormat(M ?? S.language).format(d);
162
+ return new Intl.NumberFormat(R ?? C.language).format(l);
141
163
  } catch {
142
- return String(d);
164
+ return String(l);
143
165
  }
144
166
  },
145
- [S.language, M, T]
146
- ), X = C(
147
- () => ce(c, e, o, r),
148
- [c, e, o, r]
149
- ), B = c <= 1, L = c >= e, N = _(c);
150
- z(() => {
167
+ [C.language, R, b]
168
+ ), W = _(
169
+ () => ce(c, e, d, r),
170
+ [c, e, d, r]
171
+ ), B = c <= 1, L = c >= e, N = z(c);
172
+ y(() => {
151
173
  N.current = c;
152
174
  }, [c]);
153
- const V = _(e);
154
- z(() => {
155
- V.current = e;
175
+ const A = z(e);
176
+ y(() => {
177
+ A.current = e;
156
178
  }, [e]);
157
- const Y = C(
179
+ const X = _(
158
180
  () => ({
159
181
  getCurrentPage: () => N.current,
160
- getTotalPages: () => V.current,
161
- goToPage: (d) => p(d),
162
- next: () => p(N.current + 1),
163
- previous: () => p(N.current - 1)
182
+ getTotalPages: () => A.current,
183
+ goToPage: (l) => g(l),
184
+ next: () => g(N.current + 1),
185
+ previous: () => g(N.current - 1)
164
186
  }),
165
- [p]
187
+ [g]
166
188
  );
167
- ae(oe, Y, P);
168
- const Z = h === "start" ? "ds:justify-start" : h === "end" ? "ds:justify-end" : "ds:justify-center";
169
- return /* @__PURE__ */ f(
189
+ se(oe, X, j);
190
+ const Y = v === "start" ? "ds:justify-start" : v === "end" ? "ds:justify-end" : "ds:justify-center";
191
+ return /* @__PURE__ */ h(
170
192
  "nav",
171
193
  {
172
- ref: O,
173
- "aria-label": R("navigation.pagination.label"),
174
- id: P,
194
+ ref: Q,
195
+ "aria-label": S("navigation.pagination.label"),
196
+ id: j,
175
197
  "data-component": "pagination",
176
- "data-component-id": P,
198
+ "data-component-id": j,
177
199
  className: [
178
200
  "ds:flex ds:items-center",
179
- Z,
201
+ Y,
180
202
  "ds:gap-[var(--spacing-sm)]",
181
203
  "ds:flex-wrap",
182
- J ?? ""
204
+ K ?? ""
183
205
  ].filter(Boolean).join(" "),
184
- ...K,
206
+ ...O,
185
207
  children: [
186
- /* @__PURE__ */ f(H, { size: n, children: [
187
- u ? /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(
188
- I,
208
+ /* @__PURE__ */ h(H, { size: n, children: [
209
+ p ? /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
210
+ T,
189
211
  {
190
212
  type: "first",
191
213
  size: n,
192
214
  disabled: B,
193
- onClick: () => p(1)
215
+ onClick: () => g(1)
194
216
  }
195
217
  ) }) : null,
196
- /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(
197
- U,
218
+ /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
219
+ q,
198
220
  {
199
221
  size: n,
200
222
  disabled: B,
201
- onClick: () => p(c - 1)
223
+ onClick: () => g(c - 1)
202
224
  }
203
225
  ) }),
204
- X.map((d, w) => d === "ellipsis-start" || d === "ellipsis-end" ? /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(G, {}) }, `e-${w}`) : /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(
226
+ W.map((l, I) => l === "ellipsis-start" || l === "ellipsis-end" ? /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(J, {}) }, `e-${I}`) : /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
205
227
  $,
206
228
  {
207
229
  size: n,
208
- isActive: d === c,
209
- "aria-label": R("navigation.pagination.pageN", { n: d }),
210
- onClick: () => p(d),
211
- children: E(d)
230
+ isActive: l === c,
231
+ "aria-label": S("navigation.pagination.pageN", { n: l }),
232
+ onClick: () => g(l),
233
+ children: V(l)
212
234
  }
213
- ) }, `p-${d}`)),
214
- /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(
215
- q,
235
+ ) }, `p-${l}`)),
236
+ /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
237
+ G,
216
238
  {
217
239
  size: n,
218
240
  disabled: L,
219
- onClick: () => p(c + 1)
241
+ onClick: () => g(c + 1)
220
242
  }
221
243
  ) }),
222
- u ? /* @__PURE__ */ i(v, { children: /* @__PURE__ */ i(
223
- I,
244
+ p ? /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
245
+ T,
224
246
  {
225
247
  type: "last",
226
248
  size: n,
227
249
  disabled: L,
228
- onClick: () => p(e)
250
+ onClick: () => g(e)
229
251
  }
230
252
  ) }) : null
231
253
  ] }),
232
- l ? /* @__PURE__ */ i(
254
+ o ? /* @__PURE__ */ t(
233
255
  ve,
234
256
  {
235
257
  size: n,
236
- value: l.value,
237
- options: l.options ?? [10, 25, 50, 100],
238
- onChange: l.onChange,
239
- formatNumber: E
258
+ value: o.value,
259
+ options: o.options ?? [10, 25, 50, 100],
260
+ onChange: o.onChange,
261
+ formatNumber: V
240
262
  }
241
263
  ) : null
242
264
  ]
@@ -245,8 +267,8 @@ const me = g(
245
267
  }
246
268
  );
247
269
  me.displayName = "Pagination";
248
- const H = g(
249
- ({ children: e, className: a, ...t }, s) => /* @__PURE__ */ i(
270
+ const H = u(
271
+ ({ children: e, className: a, ...i }, s) => /* @__PURE__ */ t(
250
272
  "ul",
251
273
  {
252
274
  ref: s,
@@ -257,38 +279,38 @@ const H = g(
257
279
  "ds:list-none",
258
280
  a ?? ""
259
281
  ].filter(Boolean).join(" "),
260
- ...t,
282
+ ...i,
261
283
  children: e
262
284
  }
263
285
  )
264
286
  );
265
287
  H.displayName = "PaginationList";
266
- const v = g(
267
- ({ children: e, className: a, ...t }, s) => /* @__PURE__ */ i("li", { ref: s, className: a, ...t, children: e })
288
+ const f = u(
289
+ ({ children: e, className: a, ...i }, s) => /* @__PURE__ */ t("li", { ref: s, className: a, ...i, children: e })
268
290
  );
269
- v.displayName = "PaginationItem";
270
- const $ = g(
271
- ({ isActive: e = !1, size: a = "md", className: t, children: s, ...o }, r) => /* @__PURE__ */ i(
291
+ f.displayName = "PaginationItem";
292
+ const $ = u(
293
+ ({ isActive: e = !1, size: a = "md", className: i, children: s, ...d }, r) => /* @__PURE__ */ t(
272
294
  "button",
273
295
  {
274
296
  ref: r,
275
297
  type: "button",
276
298
  "aria-current": e ? "page" : void 0,
277
- className: j({
299
+ className: P({
278
300
  size: a,
279
301
  active: e,
280
- className: t
302
+ className: i
281
303
  }),
282
- ...o,
304
+ ...d,
283
305
  children: s
284
306
  }
285
307
  )
286
308
  );
287
309
  $.displayName = "PaginationLink";
288
- const k = "ds:size-4 ds:rtl:-scale-x-100", U = g(
289
- ({ size: e = "md", disabled: a, onClick: t }, s) => {
290
- const { t: o } = x(), r = o("navigation.pagination.previous");
291
- return /* @__PURE__ */ i(
310
+ const M = "ds:size-4 ds:rtl:-scale-x-100", q = u(
311
+ ({ size: e = "md", disabled: a, onClick: i }, s) => {
312
+ const { t: d } = x(), r = d("navigation.pagination.previous");
313
+ return /* @__PURE__ */ t(
292
314
  "button",
293
315
  {
294
316
  ref: s,
@@ -296,18 +318,18 @@ const k = "ds:size-4 ds:rtl:-scale-x-100", U = g(
296
318
  "aria-label": r,
297
319
  "aria-disabled": a || void 0,
298
320
  disabled: a,
299
- onClick: t,
300
- className: j({ size: e }),
301
- children: /* @__PURE__ */ i(te, { "aria-hidden": "true", className: k })
321
+ onClick: i,
322
+ className: P({ size: e }),
323
+ children: /* @__PURE__ */ t(ie, { "aria-hidden": "true", className: M })
302
324
  }
303
325
  );
304
326
  }
305
327
  );
306
- U.displayName = "PaginationPrevious";
307
- const q = g(
308
- ({ size: e = "md", disabled: a, onClick: t }, s) => {
309
- const { t: o } = x(), r = o("navigation.pagination.next");
310
- return /* @__PURE__ */ i(
328
+ q.displayName = "PaginationPrevious";
329
+ const G = u(
330
+ ({ size: e = "md", disabled: a, onClick: i }, s) => {
331
+ const { t: d } = x(), r = d("navigation.pagination.next");
332
+ return /* @__PURE__ */ t(
311
333
  "button",
312
334
  {
313
335
  ref: s,
@@ -315,38 +337,38 @@ const q = g(
315
337
  "aria-label": r,
316
338
  "aria-disabled": a || void 0,
317
339
  disabled: a,
318
- onClick: t,
319
- className: j({ size: e }),
320
- children: /* @__PURE__ */ i(F, { "aria-hidden": "true", className: k })
340
+ onClick: i,
341
+ className: P({ size: e }),
342
+ children: /* @__PURE__ */ t(F, { "aria-hidden": "true", className: M })
321
343
  }
322
344
  );
323
345
  }
324
346
  );
325
- q.displayName = "PaginationNext";
326
- const I = g(
327
- ({ type: e, size: a = "md", disabled: t, onClick: s }, o) => {
328
- const { t: r } = x(), n = r(e === "first" ? "navigation.pagination.first" : "navigation.pagination.last"), u = e === "first" ? ne : re;
329
- return /* @__PURE__ */ i(
347
+ G.displayName = "PaginationNext";
348
+ const T = u(
349
+ ({ type: e, size: a = "md", disabled: i, onClick: s }, d) => {
350
+ const { t: r } = x(), n = r(e === "first" ? "navigation.pagination.first" : "navigation.pagination.last"), p = e === "first" ? te : ne;
351
+ return /* @__PURE__ */ t(
330
352
  "button",
331
353
  {
332
- ref: o,
354
+ ref: d,
333
355
  type: "button",
334
356
  "aria-label": n,
335
- "aria-disabled": t || void 0,
336
- disabled: t,
357
+ "aria-disabled": i || void 0,
358
+ disabled: i,
337
359
  onClick: s,
338
- className: j({ size: a }),
339
- children: /* @__PURE__ */ i(u, { "aria-hidden": "true", className: k })
360
+ className: P({ size: a }),
361
+ children: /* @__PURE__ */ t(p, { "aria-hidden": "true", className: M })
340
362
  }
341
363
  );
342
364
  }
343
365
  );
344
- I.displayName = "PaginationEndpoint";
345
- const G = g(
346
- ({ className: e, ...a }, t) => /* @__PURE__ */ i(
366
+ T.displayName = "PaginationEndpoint";
367
+ const J = u(
368
+ ({ className: e, ...a }, i) => /* @__PURE__ */ t(
347
369
  "span",
348
370
  {
349
- ref: t,
371
+ ref: i,
350
372
  "aria-hidden": "true",
351
373
  role: "presentation",
352
374
  className: [
@@ -356,11 +378,11 @@ const G = g(
356
378
  e ?? ""
357
379
  ].filter(Boolean).join(" "),
358
380
  ...a,
359
- children: /* @__PURE__ */ i(ie, { "aria-hidden": "true", className: "ds:size-4" })
381
+ children: /* @__PURE__ */ t(ae, { "aria-hidden": "true", className: "ds:size-4" })
360
382
  }
361
383
  )
362
384
  );
363
- G.displayName = "PaginationEllipsis";
385
+ J.displayName = "PaginationEllipsis";
364
386
  const pe = [
365
387
  "ds:inline-flex ds:items-center ds:justify-between ds:gap-[var(--spacing-xs)]",
366
388
  "ds:rounded-[var(--radius-sm)] ds:border ds:border-[var(--border)] ds:bg-[var(--background)]",
@@ -388,33 +410,33 @@ const pe = [
388
410
  function ve({
389
411
  value: e,
390
412
  options: a,
391
- onChange: t,
413
+ onChange: i,
392
414
  formatNumber: s
393
415
  }) {
394
- const { t: o } = x(), r = ee();
395
- return /* @__PURE__ */ f("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
396
- /* @__PURE__ */ i(
416
+ const { t: d } = x(), r = D();
417
+ return /* @__PURE__ */ h("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
418
+ /* @__PURE__ */ t(
397
419
  "span",
398
420
  {
399
421
  id: r,
400
422
  className: "type-label ds:text-[var(--muted-foreground)]",
401
- children: o("navigation.pagination.rowsPerPage")
423
+ children: d("navigation.pagination.rowsPerPage")
402
424
  }
403
425
  ),
404
- /* @__PURE__ */ f(
426
+ /* @__PURE__ */ h(
405
427
  m.Root,
406
428
  {
407
429
  value: String(e),
408
- onValueChange: (n) => t(Number(n)),
430
+ onValueChange: (n) => i(Number(n)),
409
431
  children: [
410
- /* @__PURE__ */ f(
432
+ /* @__PURE__ */ h(
411
433
  m.Trigger,
412
434
  {
413
435
  "aria-labelledby": r,
414
436
  className: pe,
415
437
  children: [
416
- /* @__PURE__ */ i(m.Value, {}),
417
- /* @__PURE__ */ i(m.Icon, { asChild: !0, children: /* @__PURE__ */ i(
438
+ /* @__PURE__ */ t(m.Value, {}),
439
+ /* @__PURE__ */ t(m.Icon, { asChild: !0, children: /* @__PURE__ */ t(
418
440
  F,
419
441
  {
420
442
  "aria-hidden": "true",
@@ -424,19 +446,19 @@ function ve({
424
446
  ]
425
447
  }
426
448
  ),
427
- /* @__PURE__ */ i(m.Portal, { children: /* @__PURE__ */ i(
449
+ /* @__PURE__ */ t(m.Portal, { children: /* @__PURE__ */ t(
428
450
  m.Content,
429
451
  {
430
452
  className: ge,
431
453
  position: "popper",
432
- children: /* @__PURE__ */ i(m.Viewport, { className: "ds:p-[var(--spacing-xs)]", children: a.map((n) => /* @__PURE__ */ f(
454
+ children: /* @__PURE__ */ t(m.Viewport, { className: "ds:p-[var(--spacing-xs)]", children: a.map((n) => /* @__PURE__ */ h(
433
455
  m.Item,
434
456
  {
435
457
  value: String(n),
436
458
  className: ue,
437
459
  children: [
438
- /* @__PURE__ */ i(m.ItemIndicator, { className: "ds:absolute ds:inline-flex ds:items-center ds:justify-center ds:start-[var(--spacing-sm)]", children: /* @__PURE__ */ i(de, { "aria-hidden": "true", className: "ds:size-3.5" }) }),
439
- /* @__PURE__ */ i(m.ItemText, { children: s(n) })
460
+ /* @__PURE__ */ t(m.ItemIndicator, { className: "ds:absolute ds:inline-flex ds:items-center ds:justify-center ds:start-[var(--spacing-sm)]", children: /* @__PURE__ */ t(re, { "aria-hidden": "true", className: "ds:size-3.5" }) }),
461
+ /* @__PURE__ */ t(m.ItemText, { children: s(n) })
440
462
  ]
441
463
  },
442
464
  n
@@ -450,13 +472,13 @@ function ve({
450
472
  }
451
473
  export {
452
474
  me as P,
453
- G as a,
454
- v as b,
475
+ J as a,
476
+ f as b,
455
477
  $ as c,
456
478
  H as d,
457
- q as e,
458
- U as f,
479
+ G as e,
480
+ q as f,
459
481
  ce as g,
460
482
  oe as p
461
483
  };
462
- //# sourceMappingURL=pagination-OQBlnb1H.js.map
484
+ //# sourceMappingURL=pagination-F1ei4khE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination-F1ei4khE.js","sources":["../../src/hooks/use-controllable-state.ts","../../src/components/pagination/pagination.agent.ts","../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\n/* ------------------------------------------------------------------ */\n/* useControllableState — controlled/uncontrolled state bridge. */\n/* */\n/* Returns a `[value, setValue]` tuple that: */\n/* - reads from the controlled `value` prop when defined */\n/* - falls back to internal state seeded from `defaultValue` */\n/* when `value` is undefined */\n/* - calls `onChange` on every write (controlled OR uncontrolled) */\n/* */\n/* Lets primitives present a uniform setter regardless of how the */\n/* consumer wires the prop, mirroring Radix's same-named helper. */\n/* ------------------------------------------------------------------ */\n\nexport interface UseControllableStateOptions<T> {\n /** Controlled value. When defined, the hook is in controlled mode. */\n value?: T;\n /** Initial state when uncontrolled. Ignored once `value` is set. */\n defaultValue?: T;\n /** Fires on every write — controlled callers must apply it. */\n onChange?: (next: T) => void;\n}\n\nexport function useControllableState<T>({\n value,\n defaultValue,\n onChange,\n}: UseControllableStateOptions<T>): [T | undefined, (next: T) => void] {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<T | undefined>(defaultValue);\n\n // Keep the latest `onChange` in a ref so the returned setter has a\n // stable identity across renders (avoids forcing callers to memoise).\n const onChangeRef = useRef(onChange);\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const current = isControlled ? value : internal;\n\n const setValue = useCallback(\n (next: T) => {\n if (!isControlled) setInternal(next);\n onChangeRef.current?.(next);\n },\n [isControlled],\n );\n\n return [current, setValue];\n}\n","import type { AgentAdapter } from '../../agent/types';\nimport type { PaginationHandle } from './pagination';\n\nexport const paginationAgent: AgentAdapter<PaginationHandle> = {\n id: 'pagination',\n capabilities: ['paginate', 'range_navigate'],\n state: {\n currentPage: {\n type: 'number',\n description: 'Current page index (1-based).',\n read: (handle) => handle.getCurrentPage(),\n },\n totalPages: {\n type: 'number',\n description: 'Total number of pages.',\n read: (handle) => handle.getTotalPages(),\n },\n },\n actions: {\n go_to_page: {\n safety: 'read',\n argsType: '{ page: number }',\n description: 'Navigate to a specific 1-indexed page.',\n invoke: (handle, args: { page: number }) => {\n handle.goToPage(args.page);\n },\n },\n next: {\n safety: 'read',\n description: 'Advance to the next page.',\n invoke: (handle) => {\n handle.next();\n },\n },\n previous: {\n safety: 'read',\n description: 'Step back to the previous page.',\n invoke: (handle) => {\n handle.previous();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'pagination' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { paginationAgent } from './pagination.agent';\nimport * as RadixSelect from '@radix-ui/react-select';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n MoreHorizontal,\n Check,\n} from 'lucide-react';\n\n/* -------------------------------------------------------------------- */\n/* Sizes */\n/* -------------------------------------------------------------------- */\n\ntype PaginationSize = 'sm' | 'md' | 'lg';\n\nconst buttonBase = [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:border ds:border-transparent',\n 'ds:font-[var(--font-weight-medium)]',\n 'ds:text-[var(--foreground)]',\n 'ds:select-none',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:hover:bg-[var(--muted)]/20',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n 'ds:aria-disabled:cursor-not-allowed ds:aria-disabled:opacity-50',\n].join(' ');\n\nconst paginationButtonVariants = cva(buttonBase, {\n variants: {\n size: {\n sm: 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)] ds:text-[length:var(--font-size-sm)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n md: 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)] ds:text-[length:var(--font-size-base)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n lg: 'ds:min-w-[3rem] ds:min-h-[3rem] ds:text-[length:var(--font-size-lg)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n },\n active: {\n true: 'ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)] ds:font-[var(--font-weight-bold)] ds:outline ds:outline-1 ds:outline-[var(--primary)] ds:hover:bg-[var(--primary-hover)]',\n false: '',\n },\n },\n defaultVariants: { size: 'md', active: false },\n});\n\n/* -------------------------------------------------------------------- */\n/* Range helper */\n/* -------------------------------------------------------------------- */\n\ntype PageToken = number | 'ellipsis-start' | 'ellipsis-end';\n\nfunction range(start: number, end: number): number[] {\n const out: number[] = [];\n for (let i = start; i <= end; i++) out.push(i);\n return out;\n}\n\nexport function buildPageRange(\n current: number,\n totalPages: number,\n siblingCount = 1,\n boundaryCount = 1,\n): PageToken[] {\n if (totalPages <= 0) return [];\n // Clamp to sensible minima so extreme consumer inputs don't surface\n // ranges like `[1, 3, 5]` with no ellipsis between boundaries.\n siblingCount = Math.max(0, siblingCount);\n boundaryCount = Math.max(1, boundaryCount);\n const totalNumbers = boundaryCount * 2 + siblingCount * 2 + 3;\n if (totalNumbers >= totalPages) return range(1, totalPages);\n\n const startPages = range(1, boundaryCount);\n const endPages = range(totalPages - boundaryCount + 1, totalPages);\n\n const siblingStart = Math.max(\n Math.min(\n current - siblingCount,\n totalPages - boundaryCount - siblingCount * 2 - 1,\n ),\n boundaryCount + 2,\n );\n const siblingEnd = Math.min(\n Math.max(current + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages[0] - 2,\n );\n\n const tokens: PageToken[] = [...startPages];\n\n if (siblingStart > boundaryCount + 2) tokens.push('ellipsis-start');\n else if (boundaryCount + 1 < totalPages - boundaryCount)\n tokens.push(boundaryCount + 1);\n\n tokens.push(...range(siblingStart, siblingEnd));\n\n if (siblingEnd < totalPages - boundaryCount - 1) tokens.push('ellipsis-end');\n else if (totalPages - boundaryCount > boundaryCount)\n tokens.push(totalPages - boundaryCount);\n\n tokens.push(...endPages);\n return tokens;\n}\n\n/* -------------------------------------------------------------------- */\n/* Root */\n/* -------------------------------------------------------------------- */\n\n// Curated agent-readiness handle — see pagination.agent.ts.\nexport interface PaginationHandle {\n getCurrentPage: () => number;\n getTotalPages: () => number;\n goToPage: (page: number) => void;\n next: () => void;\n previous: () => void;\n}\n\nexport interface PaginationProps extends ComponentPropsWithoutRef<'nav'> {\n /** Total number of pages. */\n totalPages: number;\n /** Controlled current page (1-indexed). */\n page?: number;\n /** Default current page for uncontrolled use. */\n defaultPage?: number;\n /** Fires when the current page changes. */\n onPageChange?: (page: number) => void;\n /** Siblings shown on either side of the active page. @default 1 */\n siblingCount?: number;\n /** Boundary pages kept at each end. @default 1 */\n boundaryCount?: number;\n /** Visual size. @default 'md' */\n size?: PaginationSize;\n /** Show \"first\"/\"last\" chevrons alongside prev/next. @default false */\n showEndpoints?: boolean;\n /** Horizontal alignment of the pagination within its container. @default 'center' */\n align?: 'start' | 'center' | 'end';\n /** Optional page-size select config. */\n pageSize?: {\n value: number;\n options?: number[];\n onChange: (size: number) => void;\n };\n /** Use `Intl.NumberFormat` for page numbers (Arabic-Indic digits, etc.). */\n useLocaleDigits?: boolean;\n /** Locale override for digit formatting. */\n locale?: string;\n}\n\nconst Pagination = forwardRef<HTMLElement, PaginationProps>(\n (\n {\n totalPages,\n page: controlledPage,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n size = 'md',\n showEndpoints = false,\n align = 'center',\n pageSize,\n useLocaleDigits = false,\n locale,\n className,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [currentPageRaw, setCurrentPage] = useControllableState<number>({\n value: controlledPage,\n defaultValue: defaultPage,\n onChange: onPageChange,\n });\n const currentPage = currentPageRaw ?? defaultPage;\n\n useEffect(() => {\n if (controlledPage !== undefined && defaultPage !== 1) {\n console.warn(\n '[Pagination] Both `page` and `defaultPage` were supplied. The `page` prop wins; remove `defaultPage` for controlled usage.',\n );\n }\n }, [controlledPage, defaultPage]);\n\n const handleChange = useCallback(\n (next: number) => {\n const clamped = Math.min(Math.max(next, 1), Math.max(1, totalPages));\n setCurrentPage(clamped);\n },\n [setCurrentPage, totalPages],\n );\n\n const formatNumber = useCallback(\n (n: number) => {\n if (!useLocaleDigits) return String(n);\n try {\n return new Intl.NumberFormat(locale ?? i18n.language).format(n);\n } catch {\n return String(n);\n }\n },\n [i18n.language, locale, useLocaleDigits],\n );\n\n const tokens = useMemo(\n () =>\n buildPageRange(currentPage, totalPages, siblingCount, boundaryCount),\n [currentPage, totalPages, siblingCount, boundaryCount],\n );\n\n const atFirst = currentPage <= 1;\n const atLast = currentPage >= totalPages;\n\n // Agent handle — refs for fresh reads.\n const pageRef = useRef(currentPage);\n useEffect(() => {\n pageRef.current = currentPage;\n }, [currentPage]);\n const totalRef = useRef(totalPages);\n useEffect(() => {\n totalRef.current = totalPages;\n }, [totalPages]);\n\n const agentHandle = useMemo<PaginationHandle>(\n () => ({\n getCurrentPage: () => pageRef.current,\n getTotalPages: () => totalRef.current,\n goToPage: (next) => handleChange(next),\n next: () => handleChange(pageRef.current + 1),\n previous: () => handleChange(pageRef.current - 1),\n }),\n [handleChange],\n );\n useAgentRegistration(paginationAgent, agentHandle, id);\n\n const justifyClass =\n align === 'start'\n ? 'ds:justify-start'\n : align === 'end'\n ? 'ds:justify-end'\n : 'ds:justify-center';\n\n return (\n <nav\n ref={ref}\n aria-label={t('navigation.pagination.label')}\n id={id}\n data-component=\"pagination\"\n data-component-id={id}\n className={[\n 'ds:flex ds:items-center',\n justifyClass,\n 'ds:gap-[var(--spacing-sm)]',\n 'ds:flex-wrap',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <PaginationList size={size}>\n {showEndpoints ? (\n <PaginationItem>\n <PaginationEndpoint\n type=\"first\"\n size={size}\n disabled={atFirst}\n onClick={() => handleChange(1)}\n />\n </PaginationItem>\n ) : null}\n <PaginationItem>\n <PaginationPrevious\n size={size}\n disabled={atFirst}\n onClick={() => handleChange(currentPage - 1)}\n />\n </PaginationItem>\n {tokens.map((token, i) => {\n if (token === 'ellipsis-start' || token === 'ellipsis-end') {\n return (\n <PaginationItem key={`e-${i}`}>\n <PaginationEllipsis />\n </PaginationItem>\n );\n }\n return (\n <PaginationItem key={`p-${token}`}>\n <PaginationLink\n size={size}\n isActive={token === currentPage}\n aria-label={t('navigation.pagination.pageN', { n: token })}\n onClick={() => handleChange(token)}\n >\n {formatNumber(token)}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n <PaginationItem>\n <PaginationNext\n size={size}\n disabled={atLast}\n onClick={() => handleChange(currentPage + 1)}\n />\n </PaginationItem>\n {showEndpoints ? (\n <PaginationItem>\n <PaginationEndpoint\n type=\"last\"\n size={size}\n disabled={atLast}\n onClick={() => handleChange(totalPages)}\n />\n </PaginationItem>\n ) : null}\n </PaginationList>\n {pageSize ? (\n <PageSizeSelect\n size={size}\n value={pageSize.value}\n options={pageSize.options ?? [10, 25, 50, 100]}\n onChange={pageSize.onChange}\n formatNumber={formatNumber}\n />\n ) : null}\n </nav>\n );\n },\n);\nPagination.displayName = 'Pagination';\n\n/* -------------------------------------------------------------------- */\n/* List + item */\n/* -------------------------------------------------------------------- */\n\nexport interface PaginationListProps extends ComponentPropsWithoutRef<'ul'> {\n size?: PaginationSize;\n}\n\nconst PaginationList = forwardRef<HTMLUListElement, PaginationListProps>(\n ({ children, className, ...rest }, ref) => (\n <ul\n ref={ref}\n className={[\n 'ds:flex ds:items-center',\n 'ds:gap-[var(--spacing-xs)]',\n 'ds:m-0 ds:ps-0',\n 'ds:list-none',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </ul>\n ),\n);\nPaginationList.displayName = 'PaginationList';\n\nexport type PaginationItemProps = ComponentPropsWithoutRef<'li'>;\n\nconst PaginationItem = forwardRef<HTMLLIElement, PaginationItemProps>(\n ({ children, className, ...rest }, ref) => (\n <li ref={ref} className={className} {...rest}>\n {children}\n </li>\n ),\n);\nPaginationItem.displayName = 'PaginationItem';\n\n/* -------------------------------------------------------------------- */\n/* Link */\n/* -------------------------------------------------------------------- */\n\nexport interface PaginationLinkProps\n extends\n Omit<ComponentPropsWithoutRef<'button'>, 'size'>,\n VariantProps<typeof paginationButtonVariants> {\n isActive?: boolean;\n size?: PaginationSize;\n}\n\nconst PaginationLink = forwardRef<HTMLButtonElement, PaginationLinkProps>(\n ({ isActive = false, size = 'md', className, children, ...rest }, ref) => (\n <button\n ref={ref}\n type=\"button\"\n aria-current={isActive ? 'page' : undefined}\n className={paginationButtonVariants({\n size,\n active: isActive,\n className,\n })}\n {...rest}\n >\n {children}\n </button>\n ),\n);\nPaginationLink.displayName = 'PaginationLink';\n\n/* -------------------------------------------------------------------- */\n/* Previous / Next / Endpoint buttons */\n/* -------------------------------------------------------------------- */\n\ninterface NavButtonProps {\n size?: PaginationSize;\n disabled?: boolean;\n onClick?: () => void;\n}\n\nconst chevronClasses = 'ds:size-4 ds:rtl:-scale-x-100';\n\nconst PaginationPrevious = forwardRef<HTMLButtonElement, NavButtonProps>(\n ({ size = 'md', disabled, onClick }, ref) => {\n const { t } = useTranslation();\n const label = t('navigation.pagination.previous');\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={label}\n aria-disabled={disabled || undefined}\n disabled={disabled}\n onClick={onClick}\n className={paginationButtonVariants({ size })}\n >\n <ChevronLeft aria-hidden=\"true\" className={chevronClasses} />\n </button>\n );\n },\n);\nPaginationPrevious.displayName = 'PaginationPrevious';\n\nconst PaginationNext = forwardRef<HTMLButtonElement, NavButtonProps>(\n ({ size = 'md', disabled, onClick }, ref) => {\n const { t } = useTranslation();\n const label = t('navigation.pagination.next');\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={label}\n aria-disabled={disabled || undefined}\n disabled={disabled}\n onClick={onClick}\n className={paginationButtonVariants({ size })}\n >\n <ChevronRight aria-hidden=\"true\" className={chevronClasses} />\n </button>\n );\n },\n);\nPaginationNext.displayName = 'PaginationNext';\n\ninterface EndpointProps extends NavButtonProps {\n type: 'first' | 'last';\n}\n\nconst PaginationEndpoint = forwardRef<HTMLButtonElement, EndpointProps>(\n ({ type, size = 'md', disabled, onClick }, ref) => {\n const { t } = useTranslation();\n const label =\n type === 'first'\n ? t('navigation.pagination.first')\n : t('navigation.pagination.last');\n const Icon = type === 'first' ? ChevronsLeft : ChevronsRight;\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={label}\n aria-disabled={disabled || undefined}\n disabled={disabled}\n onClick={onClick}\n className={paginationButtonVariants({ size })}\n >\n <Icon aria-hidden=\"true\" className={chevronClasses} />\n </button>\n );\n },\n);\nPaginationEndpoint.displayName = 'PaginationEndpoint';\n\n/* -------------------------------------------------------------------- */\n/* Ellipsis */\n/* -------------------------------------------------------------------- */\n\nexport type PaginationEllipsisProps = ComponentPropsWithoutRef<'span'>;\n\nconst PaginationEllipsis = forwardRef<HTMLSpanElement, PaginationEllipsisProps>(\n ({ className, ...rest }, ref) => (\n <span\n ref={ref}\n aria-hidden=\"true\"\n role=\"presentation\"\n className={[\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]',\n 'ds:text-[var(--muted-foreground)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <MoreHorizontal aria-hidden=\"true\" className=\"ds:size-4\" />\n </span>\n ),\n);\nPaginationEllipsis.displayName = 'PaginationEllipsis';\n\n/* -------------------------------------------------------------------- */\n/* Page-size select */\n/* -------------------------------------------------------------------- */\n\ninterface PageSizeSelectProps {\n size: PaginationSize;\n value: number;\n options: number[];\n onChange: (size: number) => void;\n formatNumber: (n: number) => string;\n}\n\nconst selectTriggerClasses = [\n 'ds:inline-flex ds:items-center ds:justify-between ds:gap-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-sm)] ds:border ds:border-[var(--border)] ds:bg-[var(--background)]',\n 'ds:text-[var(--foreground)]',\n 'ds:min-h-[var(--min-target-size)] ds:min-w-[6rem]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:text-[var(--font-size-sm)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n].join(' ');\n\nconst selectContentClasses = [\n 'ds:z-[var(--z-dropdown)] ds:overflow-hidden',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)]',\n 'ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none',\n].join(' ');\n\nconst selectItemClasses = [\n 'ds:relative ds:flex ds:cursor-pointer ds:items-center',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:ps-[var(--spacing-xl)] ds:pe-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-[var(--foreground)] ds:outline-none ds:select-none',\n 'ds:data-[highlighted]:bg-[var(--muted)]/20',\n 'ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50',\n].join(' ');\n\nfunction PageSizeSelect({\n value,\n options,\n onChange,\n formatNumber,\n}: PageSizeSelectProps) {\n const { t } = useTranslation();\n const labelId = useId();\n return (\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span\n id={labelId}\n className=\"type-label ds:text-[var(--muted-foreground)]\"\n >\n {t('navigation.pagination.rowsPerPage')}\n </span>\n <RadixSelect.Root\n value={String(value)}\n onValueChange={(v) => onChange(Number(v))}\n >\n <RadixSelect.Trigger\n aria-labelledby={labelId}\n className={selectTriggerClasses}\n >\n <RadixSelect.Value />\n <RadixSelect.Icon asChild>\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:size-3 ds:rotate-90\"\n />\n </RadixSelect.Icon>\n </RadixSelect.Trigger>\n <RadixSelect.Portal>\n <RadixSelect.Content\n className={selectContentClasses}\n position=\"popper\"\n >\n <RadixSelect.Viewport className=\"ds:p-[var(--spacing-xs)]\">\n {options.map((o) => (\n <RadixSelect.Item\n key={o}\n value={String(o)}\n className={selectItemClasses}\n >\n <RadixSelect.ItemIndicator className=\"ds:absolute ds:inline-flex ds:items-center ds:justify-center ds:start-[var(--spacing-sm)]\">\n <Check aria-hidden=\"true\" className=\"ds:size-3.5\" />\n </RadixSelect.ItemIndicator>\n <RadixSelect.ItemText>{formatNumber(o)}</RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------- */\n/* Exports */\n/* -------------------------------------------------------------------- */\n\nexport {\n Pagination,\n PaginationList,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"names":["useControllableState","value","defaultValue","onChange","isControlled","internal","setInternal","useState","onChangeRef","useRef","useEffect","current","setValue","useCallback","next","_a","paginationAgent","handle","args","buttonBase","paginationButtonVariants","cva","range","start","end","out","i","buildPageRange","totalPages","siblingCount","boundaryCount","startPages","endPages","siblingStart","siblingEnd","tokens","Pagination","forwardRef","controlledPage","defaultPage","onPageChange","size","showEndpoints","align","pageSize","useLocaleDigits","locale","className","id","rest","ref","t","i18n","useTranslation","currentPageRaw","setCurrentPage","currentPage","handleChange","clamped","formatNumber","n","useMemo","atFirst","atLast","pageRef","totalRef","agentHandle","useAgentRegistration","justifyClass","jsxs","PaginationList","PaginationItem","jsx","PaginationEndpoint","PaginationPrevious","token","PaginationEllipsis","PaginationLink","PaginationNext","PageSizeSelect","children","isActive","chevronClasses","disabled","onClick","label","ChevronLeft","ChevronRight","type","Icon","ChevronsLeft","ChevronsRight","MoreHorizontal","selectTriggerClasses","selectContentClasses","selectItemClasses","options","labelId","useId","RadixSelect","v","o","Check"],"mappings":"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"}