@alfadocs/ui-kit-debug 0.55.0 → 0.57.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 (29) hide show
  1. package/dist/_chunks/{pdf-viewer-4odMFuFW.js → pdf-viewer-XxWdtKfD.js} +63 -58
  2. package/dist/_chunks/pdf-viewer-XxWdtKfD.js.map +1 -0
  3. package/dist/_chunks/{public-header.agent-DyVpPwmv.js → public-header.agent-CYQK6T6F.js} +130 -115
  4. package/dist/_chunks/public-header.agent-CYQK6T6F.js.map +1 -0
  5. package/dist/_chunks/{sign-document-BzHTjMVC.js → sign-document-BmAT0kKD.js} +3 -3
  6. package/dist/_chunks/{sign-document-BzHTjMVC.js.map → sign-document-BmAT0kKD.js.map} +1 -1
  7. package/dist/_chunks/{signature-capture-CHbrKoA_.js → signature-capture-COi0Uiqu.js} +22 -7
  8. package/dist/_chunks/signature-capture-COi0Uiqu.js.map +1 -0
  9. package/dist/_chunks/use-signing-session-CyOZWinp.js +147 -0
  10. package/dist/_chunks/{use-signing-session-C5evzYmo.js.map → use-signing-session-CyOZWinp.js.map} +1 -1
  11. package/dist/agent-catalog.json +1 -1
  12. package/dist/components/pdf-viewer/index.js +1 -1
  13. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  14. package/dist/components/public-header/index.js +1 -1
  15. package/dist/components/public-header/public-header.d.ts +8 -0
  16. package/dist/components/public-header/public-header.d.ts.map +1 -1
  17. package/dist/components/sign-document/index.js +1 -1
  18. package/dist/components/signature-capture/index.js +1 -1
  19. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  20. package/dist/hooks/index.js +1 -1
  21. package/dist/hooks/use-signing-session.d.ts +8 -0
  22. package/dist/hooks/use-signing-session.d.ts.map +1 -1
  23. package/dist/index.js +5 -5
  24. package/dist/tokens.css +1 -1
  25. package/package.json +1 -1
  26. package/dist/_chunks/pdf-viewer-4odMFuFW.js.map +0 -1
  27. package/dist/_chunks/public-header.agent-DyVpPwmv.js.map +0 -1
  28. package/dist/_chunks/signature-capture-CHbrKoA_.js.map +0 -1
  29. package/dist/_chunks/use-signing-session-C5evzYmo.js +0 -108
@@ -1,14 +1,14 @@
1
- import { jsx as s, jsxs as t, Fragment as _ } from "react/jsx-runtime";
2
- import { forwardRef as h, useId as Q, useState as y, useCallback as M, useImperativeHandle as U, useContext as N, useEffect as B, useRef as D, createContext as Z } from "react";
1
+ import { jsx as s, jsxs as t, Fragment as R } from "react/jsx-runtime";
2
+ import { forwardRef as h, useId as U, useState as y, useCallback as P, useImperativeHandle as Z, useContext as N, useEffect as _, useRef as D, createContext as ss } from "react";
3
3
  import { c as C } from "./index-D2ZczOXr.js";
4
- import { useTranslation as ss } from "react-i18next";
5
- import * as m from "@radix-ui/react-navigation-menu";
6
- import { I as es } from "./icon-button-CKEOrN37.js";
4
+ import { useTranslation as es } from "react-i18next";
5
+ import * as p from "@radix-ui/react-navigation-menu";
6
+ import { I as ds } from "./icon-button-CKEOrN37.js";
7
7
  import { S as f } from "./sheet-xbzu4YiY.js";
8
8
  import { C as I } from "./chevron-down-BX_NP2Yh.js";
9
- import { X as ds } from "./x-CCcI3eJp.js";
10
- import { M as as } from "./menu-XRhW3_99.js";
11
- const g = Z("desktop"), rs = C(
9
+ import { X as as } from "./x-CCcI3eJp.js";
10
+ import { M as ns } from "./menu-XRhW3_99.js";
11
+ const g = ss("desktop"), rs = C(
12
12
  [
13
13
  "ds:w-full ds:z-[var(--z-sticky)]",
14
14
  "ds:transition-[background-color,box-shadow,transform] ds:duration-[var(--animation-duration)]",
@@ -83,7 +83,7 @@ const g = Z("desktop"), rs = C(
83
83
  },
84
84
  defaultVariants: { variant: "pill", sticky: "none" }
85
85
  }
86
- ), ns = [
86
+ ), os = [
87
87
  "ds:flex ds:items-center ds:gap-[var(--spacing-md)]",
88
88
  "ds:w-full ds:max-w-[1400px] ds:mx-auto",
89
89
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)]",
@@ -101,7 +101,7 @@ const g = Z("desktop"), rs = C(
101
101
  "ds:border ds:border-[color:var(--card-border)]",
102
102
  "ds:transition-colors ds:duration-[var(--animation-duration)]",
103
103
  "ds:motion-reduce:transition-none"
104
- ].join(" "), os = C(
104
+ ].join(" "), is = C(
105
105
  [
106
106
  "ds:inline-flex ds:items-center",
107
107
  "type-body-sm ds:font-medium",
@@ -118,7 +118,7 @@ const g = Z("desktop"), rs = C(
118
118
  "ds:data-[active=true]:text-[var(--primary)]",
119
119
  "ds:data-[active=true]:[box-shadow:inset_0_-2px_0_var(--primary)]"
120
120
  ].join(" ")
121
- ), is = [
121
+ ), ts = [
122
122
  "ds:group ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
123
123
  "type-body-sm ds:font-medium",
124
124
  // Mirror the navLinkVariants colour + inline padding so triggers and
@@ -132,12 +132,12 @@ const g = Z("desktop"), rs = C(
132
132
  "ds:hover:text-[var(--primary)]",
133
133
  "ds:data-[state=open]:text-[var(--primary)]",
134
134
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
135
- ].join(" "), ts = [
135
+ ].join(" "), cs = [
136
136
  "ds:size-3 ds:shrink-0",
137
137
  "ds:transition-transform ds:duration-[var(--animation-duration)]",
138
138
  "ds:group-data-[state=open]:rotate-180",
139
139
  "ds:motion-reduce:transition-none"
140
- ].join(" "), cs = C(
140
+ ].join(" "), ls = C(
141
141
  [
142
142
  // Radix portals Content into the Viewport; sizing + position is
143
143
  // governed by the Viewport — keep Content's own paint to padding
@@ -163,7 +163,7 @@ const g = Z("desktop"), rs = C(
163
163
  },
164
164
  defaultVariants: { wide: !1 }
165
165
  }
166
- ), ls = [
166
+ ), us = [
167
167
  // Position the Viewport flush below the pill / nav row. Radix sets
168
168
  // `--radix-navigation-menu-viewport-width` and `…-height` so the
169
169
  // panel sizes itself to whichever Content is currently active.
@@ -194,10 +194,10 @@ const g = Z("desktop"), rs = C(
194
194
  "ds:hover:[&_[data-card-arrow]]:text-[var(--primary)]",
195
195
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
196
196
  "ds:group/cardlink"
197
- ].join(" "), us = [
197
+ ].join(" "), ms = [
198
198
  "ds:pb-[var(--spacing-sm)]"
199
199
  // Match the linked-card variant: no separator rule under the title.
200
- ].join(" "), ms = [
200
+ ].join(" "), ps = [
201
201
  "ds:block ds:no-underline",
202
202
  "type-body-sm ds:font-medium ds:text-[var(--muted-foreground)]",
203
203
  "ds:rounded-[var(--radius-sm)]",
@@ -208,83 +208,96 @@ const g = Z("desktop"), rs = C(
208
208
  "ds:data-[active=true]:text-[var(--primary)]",
209
209
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
210
210
  ].join(" ");
211
- function ps() {
212
- const [e, r] = y(() => typeof window > "u" || !window.matchMedia ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
213
- return B(() => {
211
+ function vs() {
212
+ const [e, o] = y(() => typeof window > "u" || !window.matchMedia ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
213
+ return _(() => {
214
214
  if (typeof window > "u" || !window.matchMedia) return;
215
- const d = window.matchMedia("(prefers-reduced-motion: reduce)"), a = () => r(d.matches);
215
+ const d = window.matchMedia("(prefers-reduced-motion: reduce)"), a = () => o(d.matches);
216
216
  return d.addEventListener("change", a), () => d.removeEventListener("change", a);
217
217
  }, []), e;
218
218
  }
219
- function vs(e, r, d) {
220
- const [a, i] = y(!1), [n, o] = y(!1), c = D(0), p = D(!1);
221
- return B(() => {
219
+ function fs(e, o, d) {
220
+ const [a, i] = y(!1), [n, r] = y(!1), l = D(0), u = D(!1);
221
+ return _(() => {
222
222
  if (!e || typeof window > "u") return;
223
- c.current = window.scrollY;
224
- const l = () => {
225
- const v = window.scrollY;
226
- if (i(v > d), r === "scroll-up") {
227
- const b = v - c.current;
228
- b > 4 && v > d ? o(!0) : (b < -4 || v <= d) && o(!1);
223
+ l.current = window.scrollY;
224
+ const v = () => {
225
+ const m = window.scrollY;
226
+ if (i(m > d), o === "scroll-up") {
227
+ const b = m - l.current;
228
+ b > 4 && m > d ? r(!0) : (b < -4 || m <= d) && r(!1);
229
229
  }
230
- c.current = v, p.current = !1;
231
- }, u = () => {
232
- p.current || (p.current = !0, window.requestAnimationFrame(l));
230
+ l.current = m, u.current = !1;
231
+ }, c = () => {
232
+ u.current || (u.current = !0, window.requestAnimationFrame(v));
233
233
  };
234
- return window.addEventListener("scroll", u, { passive: !0 }), l(), () => {
235
- window.removeEventListener("scroll", u);
234
+ return window.addEventListener("scroll", c, { passive: !0 }), v(), () => {
235
+ window.removeEventListener("scroll", c);
236
236
  };
237
- }, [e, r, d]), { stuck: a, hidden: n };
237
+ }, [e, o, d]), { stuck: a, hidden: n };
238
238
  }
239
- function R({
239
+ function B({
240
240
  logo: e,
241
- homeHref: r,
241
+ homeHref: o,
242
242
  resolvedHomeLabel: d,
243
243
  resolvedNavLabel: a,
244
244
  resolvedMenuLabel: i,
245
245
  navSlot: n,
246
- actionsSlot: o,
247
- menuOpen: c,
248
- setMenuOpen: p,
249
- sheetId: l
246
+ actionsSlot: r,
247
+ persistActions: l,
248
+ menuOpen: u,
249
+ setMenuOpen: v,
250
+ sheetId: c
250
251
  }) {
251
- return /* @__PURE__ */ t(_, { children: [
252
+ const m = !!n || !!r && !l;
253
+ return /* @__PURE__ */ t(R, { children: [
252
254
  /* @__PURE__ */ s(
253
255
  "a",
254
256
  {
255
- href: r,
257
+ href: o,
256
258
  "aria-label": d,
257
259
  className: "ds:inline-flex ds:items-center ds:rounded-[var(--radius-sm)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
258
260
  children: e
259
261
  }
260
262
  ),
261
263
  n ? /* @__PURE__ */ s(g.Provider, { value: "desktop", children: /* @__PURE__ */ t(
262
- m.Root,
264
+ p.Root,
263
265
  {
264
266
  "aria-label": a,
265
267
  className: "ds:hidden ds:md:flex ds:relative ds:items-center ds:ms-[var(--spacing-lg)] ds:flex-1 ds:[&>div:first-of-type]:flex ds:[&>div:first-of-type]:flex-1",
266
268
  delayDuration: 150,
267
269
  children: [
268
- /* @__PURE__ */ s(m.List, { className: "ds:flex ds:flex-1 ds:items-center ds:justify-center ds:gap-[var(--spacing-md)] ds:list-none ds:m-0 ds:ps-0", children: n }),
269
- /* @__PURE__ */ s("div", { className: "ds:absolute ds:top-full ds:start-0 ds:end-0 ds:flex ds:justify-center ds:pointer-events-none", children: /* @__PURE__ */ s("div", { className: "ds:pointer-events-auto", children: /* @__PURE__ */ s(m.Viewport, { className: ls }) }) })
270
+ /* @__PURE__ */ s(p.List, { className: "ds:flex ds:flex-1 ds:items-center ds:justify-center ds:gap-[var(--spacing-md)] ds:list-none ds:m-0 ds:ps-0", children: n }),
271
+ /* @__PURE__ */ s("div", { className: "ds:absolute ds:top-full ds:start-0 ds:end-0 ds:flex ds:justify-center ds:pointer-events-none", children: /* @__PURE__ */ s("div", { className: "ds:pointer-events-auto", children: /* @__PURE__ */ s(p.Viewport, { className: us }) }) })
270
272
  ]
271
273
  }
272
274
  ) }) : null,
273
- o ? /* @__PURE__ */ s("div", { className: "ds:hidden ds:md:flex ds:items-center ds:gap-[var(--spacing-sm)] ds:ms-auto", children: o }) : null,
274
- /* @__PURE__ */ t(f, { open: c, onOpenChange: p, children: [
275
+ r ? /* @__PURE__ */ s(
276
+ "div",
277
+ {
278
+ className: [
279
+ // Pinned actions stay inline at every breakpoint; otherwise they
280
+ // are hidden < md and collapse into the mobile menu below.
281
+ l ? "ds:flex" : "ds:hidden ds:md:flex",
282
+ "ds:items-center ds:gap-[var(--spacing-sm)] ds:ms-auto"
283
+ ].join(" "),
284
+ children: r
285
+ }
286
+ ) : null,
287
+ m ? /* @__PURE__ */ t(f, { open: u, onOpenChange: v, children: [
275
288
  /* @__PURE__ */ s(f.Trigger, { asChild: !0, children: /* @__PURE__ */ s(
276
- es,
289
+ ds,
277
290
  {
278
291
  size: "md",
279
292
  intent: "ghost",
280
293
  className: "ds:ms-auto ds:md:hidden",
281
- icon: c ? /* @__PURE__ */ s(ds, { "aria-hidden": "true" }) : /* @__PURE__ */ s(as, { "aria-hidden": "true" }),
282
- "aria-controls": l,
283
- "aria-expanded": c,
294
+ icon: u ? /* @__PURE__ */ s(as, { "aria-hidden": "true" }) : /* @__PURE__ */ s(ns, { "aria-hidden": "true" }),
295
+ "aria-controls": c,
296
+ "aria-expanded": u,
284
297
  "aria-label": i
285
298
  }
286
299
  ) }),
287
- /* @__PURE__ */ t(f.Content, { side: "end", size: "md", id: l, children: [
300
+ /* @__PURE__ */ t(f.Content, { side: "end", size: "md", id: c, children: [
288
301
  /* @__PURE__ */ s(f.Header, { children: /* @__PURE__ */ s(f.Title, { children: a }) }),
289
302
  /* @__PURE__ */ s(f.Body, { children: /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
290
303
  n ? /* @__PURE__ */ s(g.Provider, { value: "mobile", children: /* @__PURE__ */ s(
@@ -296,35 +309,36 @@ function R({
296
309
  children: n
297
310
  }
298
311
  ) }) : null,
299
- o ? /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:mt-[var(--spacing-md)]", children: o }) : null
312
+ r && !l ? /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:mt-[var(--spacing-md)]", children: r }) : null
300
313
  ] }) })
301
314
  ] })
302
- ] })
315
+ ] }) : null
303
316
  ] });
304
317
  }
305
318
  const E = h(
306
319
  ({
307
320
  logo: e,
308
- homeHref: r = "/",
321
+ homeHref: o = "/",
309
322
  homeLabel: d,
310
323
  navSlot: a,
311
324
  actionsSlot: i,
312
325
  variant: n = "pill",
313
- sticky: o = "none",
314
- stickyOffset: c = 80,
315
- menuLabel: p,
316
- navLabel: l,
317
- id: u,
318
- className: v,
319
- ...b
320
- }, A) => {
321
- const { t: x } = ss(), j = ps(), Y = Q(), q = `${u ?? Y}-sheet`, [w, k] = y(!1), F = n === "transparent" || o === "scroll-up", { stuck: W, hidden: X } = vs(
322
- F,
323
- o,
324
- c
325
- ), $ = j ? !1 : X, H = M(() => k(!0), []), L = M(() => k(!1), []);
326
- U(
326
+ sticky: r = "none",
327
+ stickyOffset: l = 80,
328
+ menuLabel: u,
329
+ navLabel: v,
330
+ persistActions: c = !1,
331
+ id: m,
332
+ className: b,
333
+ ...q
334
+ }, F) => {
335
+ const { t: x } = es(), j = vs(), S = U(), W = `${m ?? S}-sheet`, [w, k] = y(!1), A = n === "transparent" || r === "scroll-up", { stuck: X, hidden: $ } = fs(
327
336
  A,
337
+ r,
338
+ l
339
+ ), G = j ? !1 : $, H = P(() => k(!0), []), L = P(() => k(!1), []);
340
+ Z(
341
+ F,
328
342
  () => ({
329
343
  openMenu: H,
330
344
  closeMenu: L,
@@ -332,43 +346,44 @@ const E = h(
332
346
  }),
333
347
  [H, L, w]
334
348
  );
335
- const G = d ?? x("publicHeader.homeLabel", "AlfaDocs — home"), J = l ?? x("publicHeader.primaryNavLabel", "Primary"), K = p ?? (w ? x("publicHeader.closeMenu", "Close menu") : x("publicHeader.openMenu", "Open menu")), P = {
349
+ const J = d ?? x("publicHeader.homeLabel", "AlfaDocs — home"), K = v ?? x("publicHeader.primaryNavLabel", "Primary"), Q = u ?? (w ? x("publicHeader.closeMenu", "Close menu") : x("publicHeader.openMenu", "Open menu")), M = {
336
350
  logo: e,
337
- homeHref: r,
338
- resolvedHomeLabel: G,
339
- resolvedNavLabel: J,
340
- resolvedMenuLabel: K,
351
+ homeHref: o,
352
+ resolvedHomeLabel: J,
353
+ resolvedNavLabel: K,
354
+ resolvedMenuLabel: Q,
341
355
  navSlot: a,
342
356
  actionsSlot: i,
357
+ persistActions: c,
343
358
  menuOpen: w,
344
359
  setMenuOpen: k,
345
- sheetId: q
360
+ sheetId: W
346
361
  };
347
362
  return /* @__PURE__ */ s(
348
363
  "header",
349
364
  {
350
- ...b,
365
+ ...q,
351
366
  "data-component": "public-header",
352
- "data-component-id": u,
367
+ "data-component-id": m,
353
368
  "data-variant": n,
354
- "data-stuck": W ? "true" : void 0,
355
- "data-hidden": $ ? "true" : void 0,
369
+ "data-stuck": X ? "true" : void 0,
370
+ "data-hidden": G ? "true" : void 0,
356
371
  "data-state": j ? "reduced-motion" : void 0,
357
- className: rs({ variant: n, sticky: o, className: v }),
372
+ className: rs({ variant: n, sticky: r, className: b }),
358
373
  children: n === "pill" ? /* @__PURE__ */ s(
359
374
  "div",
360
375
  {
361
376
  "data-component": "public-header-container",
362
- className: ns,
363
- children: /* @__PURE__ */ s(R, { ...P })
377
+ className: os,
378
+ children: /* @__PURE__ */ s(B, { ...M })
364
379
  }
365
- ) : /* @__PURE__ */ s(R, { ...P })
380
+ ) : /* @__PURE__ */ s(B, { ...M })
366
381
  }
367
382
  );
368
383
  }
369
384
  );
370
385
  E.displayName = "PublicHeader";
371
- const T = h(({ active: e, className: r, children: d, ...a }, i) => N(g) === "mobile" ? /* @__PURE__ */ s(
386
+ const T = h(({ active: e, className: o, children: d, ...a }, i) => N(g) === "mobile" ? /* @__PURE__ */ s(
372
387
  "a",
373
388
  {
374
389
  ref: i,
@@ -386,23 +401,23 @@ const T = h(({ active: e, className: r, children: d, ...a }, i) => N(g) === "mob
386
401
  "ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
387
402
  "ds:data-[active=true]:text-[var(--primary)]",
388
403
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
389
- r
404
+ o
390
405
  ].filter(Boolean).join(" "),
391
406
  children: d
392
407
  }
393
- ) : /* @__PURE__ */ s(m.Item, { children: /* @__PURE__ */ s(m.Link, { asChild: !0, active: e, children: /* @__PURE__ */ s(
408
+ ) : /* @__PURE__ */ s(p.Item, { children: /* @__PURE__ */ s(p.Link, { asChild: !0, active: e, children: /* @__PURE__ */ s(
394
409
  "a",
395
410
  {
396
411
  ref: i,
397
412
  ...a,
398
413
  "data-active": e ? "true" : void 0,
399
414
  "aria-current": e ? "page" : void 0,
400
- className: [os(), r].filter(Boolean).join(" "),
415
+ className: [is(), o].filter(Boolean).join(" "),
401
416
  children: d
402
417
  }
403
418
  ) }) }));
404
419
  T.displayName = "PublicHeader.NavLink";
405
- const V = h(({ label: e, wide: r = !1, children: d, id: a }, i) => N(g) === "mobile" ? /* @__PURE__ */ t(
420
+ const V = h(({ label: e, wide: o = !1, children: d, id: a }, i) => N(g) === "mobile" ? /* @__PURE__ */ t(
406
421
  "details",
407
422
  {
408
423
  id: a,
@@ -435,39 +450,39 @@ const V = h(({ label: e, wide: r = !1, children: d, id: a }, i) => N(g) === "mob
435
450
  /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:py-[var(--spacing-sm)]", children: d })
436
451
  ]
437
452
  }
438
- ) : /* @__PURE__ */ t(m.Item, { "data-component": "public-header-nav-dropdown", children: [
453
+ ) : /* @__PURE__ */ t(p.Item, { "data-component": "public-header-nav-dropdown", children: [
439
454
  /* @__PURE__ */ t(
440
- m.Trigger,
455
+ p.Trigger,
441
456
  {
442
457
  ref: i,
443
458
  id: a,
444
- className: is,
459
+ className: ts,
445
460
  children: [
446
461
  e,
447
- /* @__PURE__ */ s(I, { "aria-hidden": "true", className: ts })
462
+ /* @__PURE__ */ s(I, { "aria-hidden": "true", className: cs })
448
463
  ]
449
464
  }
450
465
  ),
451
466
  /* @__PURE__ */ s(
452
- m.Content,
467
+ p.Content,
453
468
  {
454
- className: cs({ wide: r }),
469
+ className: ls({ wide: o }),
455
470
  children: d
456
471
  }
457
472
  )
458
473
  ] }));
459
474
  V.displayName = "PublicHeader.NavDropdown";
460
- const O = h(({ href: e, title: r, subtitle: d, children: a }, i) => {
461
- const n = N(g), o = /* @__PURE__ */ s(
475
+ const O = h(({ href: e, title: o, subtitle: d, children: a }, i) => {
476
+ const n = N(g), r = /* @__PURE__ */ s(
462
477
  "span",
463
478
  {
464
479
  "data-card-title": !0,
465
480
  className: "type-title-card ds:text-[var(--foreground)] ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
466
- children: r
481
+ children: o
467
482
  }
468
- ), l = /* @__PURE__ */ t(_, { children: [
483
+ ), v = /* @__PURE__ */ t(R, { children: [
469
484
  /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
470
- o,
485
+ r,
471
486
  d ? /* @__PURE__ */ s("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: d }) : null
472
487
  ] }),
473
488
  /* @__PURE__ */ s(
@@ -497,9 +512,9 @@ const O = h(({ href: e, title: r, subtitle: d, children: a }, i) => {
497
512
  }
498
513
  )
499
514
  ] });
500
- let u;
501
- return e ? n === "mobile" ? u = /* @__PURE__ */ s("a", { href: e, className: z, children: l }) : u = /* @__PURE__ */ s(m.Link, { asChild: !0, children: /* @__PURE__ */ s("a", { href: e, className: z, children: l }) }) : u = /* @__PURE__ */ t("div", { className: us, children: [
502
- o,
515
+ let c;
516
+ return e ? n === "mobile" ? c = /* @__PURE__ */ s("a", { href: e, className: z, children: v }) : c = /* @__PURE__ */ s(p.Link, { asChild: !0, children: /* @__PURE__ */ s("a", { href: e, className: z, children: v }) }) : c = /* @__PURE__ */ t("div", { className: ms, children: [
517
+ r,
503
518
  d ? /* @__PURE__ */ s("span", { className: "ds:block type-body-sm ds:text-[var(--muted-foreground)] ds:mt-[var(--spacing-xs)]", children: d }) : null
504
519
  ] }), /* @__PURE__ */ t(
505
520
  "div",
@@ -508,34 +523,34 @@ const O = h(({ href: e, title: r, subtitle: d, children: a }, i) => {
508
523
  "data-component": "public-header-dropdown-card",
509
524
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
510
525
  children: [
511
- u,
526
+ c,
512
527
  a ? /* @__PURE__ */ s("ul", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:list-none ds:m-0 ds:ps-0", children: a }) : null
513
528
  ]
514
529
  }
515
530
  );
516
531
  });
517
532
  O.displayName = "PublicHeader.DropdownCard";
518
- const S = h(({ active: e, className: r, children: d, ...a }, i) => {
519
- const n = N(g), o = /* @__PURE__ */ s(
533
+ const Y = h(({ active: e, className: o, children: d, ...a }, i) => {
534
+ const n = N(g), r = /* @__PURE__ */ s(
520
535
  "a",
521
536
  {
522
537
  ref: i,
523
538
  ...a,
524
539
  "data-active": e ? "true" : void 0,
525
540
  "aria-current": e ? "page" : void 0,
526
- className: [ms, r].filter(Boolean).join(" "),
541
+ className: [ps, o].filter(Boolean).join(" "),
527
542
  children: d
528
543
  }
529
544
  );
530
- return /* @__PURE__ */ s("li", { "data-component": "public-header-dropdown-link", children: n === "mobile" ? o : /* @__PURE__ */ s(m.Link, { asChild: !0, active: e, children: o }) });
545
+ return /* @__PURE__ */ s("li", { "data-component": "public-header-dropdown-link", children: n === "mobile" ? r : /* @__PURE__ */ s(p.Link, { asChild: !0, active: e, children: r }) });
531
546
  });
532
- S.displayName = "PublicHeader.DropdownLink";
533
- const Cs = Object.assign(E, {
547
+ Y.displayName = "PublicHeader.DropdownLink";
548
+ const js = Object.assign(E, {
534
549
  NavLink: T,
535
550
  NavDropdown: V,
536
551
  DropdownCard: O,
537
- DropdownLink: S
538
- }), js = {
552
+ DropdownLink: Y
553
+ }), Hs = {
539
554
  id: "public-header",
540
555
  capabilities: ["open", "close"],
541
556
  state: {
@@ -571,7 +586,7 @@ const Cs = Object.assign(E, {
571
586
  }
572
587
  };
573
588
  export {
574
- Cs as P,
575
- js as p
589
+ js as P,
590
+ Hs as p
576
591
  };
577
- //# sourceMappingURL=public-header.agent-DyVpPwmv.js.map
592
+ //# sourceMappingURL=public-header.agent-CYQK6T6F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-header.agent-CYQK6T6F.js","sources":["../../src/components/public-header/public-header.tsx","../../src/components/public-header/public-header.agent.ts"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* PublicHeader — anonymous / pre-auth site header. */\n/* */\n/* Distinct from the kit's `<Header>` (authenticated app shell): this */\n/* one is for booking-website, signature-website, marketing surfaces — */\n/* anywhere the chrome should read as continuous with `alfadocs.com`, */\n/* not as the logged-in app. */\n/* */\n/* DOM (default / transparent / dark / brand variants): */\n/* <header role=banner data-component=public-header data-stuck=…> */\n/* <a aria-label=homeLabel>{logo}</a> */\n/* <Radix.NavigationMenu>…{navSlot}</Radix.NavigationMenu> ≥ md */\n/* <div class=actions>{actionsSlot}</div> ≥ md only */\n/* <IconButton menu trigger /> ↔ Sheet (partial drawer) < md only */\n/* </header> */\n/* */\n/* DOM (pill variant — matches alfadocs.com floating-pill header): */\n/* <header role=banner data-component=public-header> transparent */\n/* <div data-component=public-header-container> rounded */\n/* …same children as flat variants… */\n/* </div> */\n/* </header> */\n/* ------------------------------------------------------------------ */\n\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useImperativeHandle,\n useRef,\n useState,\n type AnchorHTMLAttributes,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ChevronDown, Menu, X } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { IconButton } from '../button/icon-button';\nimport { Sheet } from '../sheet';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface PublicHeaderHandle {\n openMenu: () => void;\n closeMenu: () => void;\n getMenuOpen: () => boolean;\n}\n\nexport interface PublicHeaderProps\n extends\n Omit<ComponentPropsWithoutRef<'header'>, 'children'>,\n VariantProps<typeof rootVariants> {\n /** Logo lockup, typically `<Logo variant=\"wordmark\" tone=\"primary\" size=\"md\" />`. */\n logo: ReactNode;\n /** Optional href for the logo link. Defaults to `/`. */\n homeHref?: string;\n /** Accessible label for the logo link (falls back to `t('publicHeader.homeLabel')`). */\n homeLabel?: string;\n /** Primary nav links rendered inline ≥ md, collapsed into the mobile sheet below md. */\n navSlot?: ReactNode;\n /** Right-side actions (sign-in / register / role-switch CTAs). */\n actionsSlot?: ReactNode;\n /** Sticky behaviour. Default `none`. */\n sticky?: 'none' | 'top' | 'scroll-up';\n /** Pixel offset above which `sticky=\"scroll-up\"` engages and `transparent` fades to default. */\n stickyOffset?: number;\n /** Override the mobile menu trigger's accessible label (`t('publicHeader.openMenu')`). */\n menuLabel?: string;\n /** Override the navigation landmark label (`t('publicHeader.primaryNavLabel')`). */\n navLabel?: string;\n /**\n * Keep `actionsSlot` visible inline at every breakpoint instead of\n * collapsing it into the mobile menu. When there is no `navSlot`, the\n * mobile menu trigger is omitted entirely (nothing left to collapse) — use\n * this for a header whose only action is a single always-relevant control,\n * e.g. a public signer's \"Sign out\". Default `false`.\n */\n persistActions?: boolean;\n /** Consumer-supplied instance id, surfaced as `data-component-id`. */\n id?: string;\n}\n\nexport interface PublicHeaderNavLinkProps extends Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'children'\n> {\n href: string;\n active?: boolean;\n children: ReactNode;\n}\n\nexport interface PublicHeaderNavDropdownProps {\n /** Trigger label (the visible nav item text). */\n label: ReactNode;\n /**\n * `false` (default) renders a single-card dropdown anchored near the trigger\n * (Settori-style). `true` renders a wide multi-card mega-menu spanning the\n * pill's full inline width (Soluzioni-style).\n */\n wide?: boolean;\n /** Cards / content inside the dropdown panel. */\n children: ReactNode;\n /** Optional id; not required — used only for analytics / test selectors. */\n id?: string;\n}\n\nexport interface PublicHeaderDropdownCardProps {\n /**\n * Optional href — when provided the card title becomes a clickable\n * anchor with a `→` arrow indicator. Without href, the title is\n * a static heading (Settori-style).\n */\n href?: string;\n title: ReactNode;\n /** Optional subtitle / muted helper text under the title. */\n subtitle?: ReactNode;\n /** Sub-list contents (typically PublicHeader.DropdownLink children). */\n children?: ReactNode;\n}\n\nexport interface PublicHeaderDropdownLinkProps extends Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'children'\n> {\n href: string;\n active?: boolean;\n children: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* Context — drives the rendering surface for nav subcomponents. */\n/* */\n/* The same navSlot is rendered twice: once inside the desktop Radix */\n/* NavigationMenu (≥ md, flyout mode) and once inside the mobile Sheet */\n/* drawer (< md, disclosure mode). NavLink / NavDropdown / DropdownCard */\n/* / DropdownLink switch their rendering off this flag so the mobile */\n/* tree doesn't depend on the Radix Root being present. */\n/* ------------------------------------------------------------------ */\n\ntype PublicHeaderSurface = 'desktop' | 'mobile';\n\nconst PublicHeaderSurfaceContext =\n createContext<PublicHeaderSurface>('desktop');\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n 'ds:w-full ds:z-[var(--z-sticky)]',\n 'ds:transition-[background-color,box-shadow,transform] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n variant: {\n // Transparent fades to a solid pill chrome once data-stuck=\"true\"\n // (set by the rAF scroll listener). The fade is handled via the\n // same background utility so `data-stuck` swaps cleanly between\n // states.\n transparent: [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-md)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)]',\n 'ds:h-14 ds:md:h-16',\n 'ds:bg-transparent ds:text-[var(--foreground)]',\n 'ds:data-[stuck=true]:bg-[var(--card)]',\n 'ds:data-[stuck=true]:shadow-[var(--shadow-md)]',\n // Once stuck, pair the elevation shadow with a tokenized\n // block-end border so the header has a clear edge against the\n // page below it — shadow alone fades to a faint halo on dark\n // surfaces, leaving the bar reading as unbounded.\n 'ds:data-[stuck=true]:border-block-end ds:data-[stuck=true]:border-[color:var(--border)]',\n 'ds:forced-colors:border-b ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n // `dark` flips its own scope into the dark token set so nav\n // links + buttons inside read off-white text on the dark\n // surface. Without the `theme-dark` scope the children inherit\n // the light-theme `--foreground` and fail color-contrast at\n // ~1.3:1. `--background` already resolves to a dark step under\n // `theme-dark`, so we compose the surface from the standard\n // theme token rather than locking to a raw ramp step.\n dark: [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-md)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)]',\n 'ds:h-14 ds:md:h-16',\n 'theme-dark ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n ].join(' '),\n // brand: on-primary bar for public signer/marketing surfaces —\n // e.g. sign.alfadocs.com signing nav. Tokens only; logo should be\n // <Logo variant=\"monochrome\" tone=\"inherit\" /> to read on the\n // primary fill.\n brand: [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-md)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)]',\n 'ds:h-14 ds:md:h-16',\n 'ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)]',\n ].join(' '),\n // `pill` matches alfadocs.com's floating rounded-pill header.\n // The outer header is fully transparent (no border, no bg) and\n // simply provides a top-side gutter so the inner container reads\n // as floating. The inner `data-component=\"public-header-container\"`\n // div is the visible chrome — border, rounded, card background.\n pill: [\n 'ds:bg-transparent',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-md)]',\n 'ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)] ds:sm:pt-[var(--spacing-md)]',\n ].join(' '),\n },\n sticky: {\n none: '',\n top: 'ds:sticky ds:top-0',\n // `scroll-up` is sticky but translates off-screen when scrolling\n // down past `stickyOffset` (handled by data-hidden=\"true\") and\n // slides back in when scrolling up.\n 'scroll-up': [\n 'ds:sticky ds:top-0',\n 'ds:data-[hidden=true]:-translate-y-full',\n ].join(' '),\n },\n },\n defaultVariants: { variant: 'pill', sticky: 'none' },\n },\n);\n\n// Inner pill chrome — only rendered when variant === 'pill'. The actual\n// \"header look\" (rounded, border, card surface) lives here so the outer\n// <header> can stay transparent and provide just the floating offset.\nconst pillContainerClasses = [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-md)]',\n 'ds:w-full ds:max-w-[1400px] ds:mx-auto',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:sm:ps-[var(--spacing-lg)] ds:sm:pe-[var(--spacing-lg)]',\n // 76px isn't a kit token; the closest is h-16 (64px) which reads tight\n // against alfadocs.com's chrome — keep an explicit min-block-size so\n // the pill reads as substantial without bloating beyond live reference.\n 'ds:min-h-16 ds:md:min-h-[76px]',\n 'ds:bg-[var(--card)] ds:text-[var(--foreground)]',\n 'ds:rounded-[var(--radius-lg)]',\n // Surface-border hairline shared with `Card`. Tuned to ~14% black\n // (light) / 16% white (dark) at the token level so the edge stays\n // visible against tinted page backgrounds — see `--card-border` in\n // `src/tokens/index.css`. Matches alfadocs.com's slate-200 reference\n // pill border without introducing a pill-specific token.\n 'ds:border ds:border-[color:var(--card-border)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n].join(' ');\n\nconst navLinkVariants = cva(\n [\n 'ds:inline-flex ds:items-center',\n 'type-body-sm ds:font-medium',\n // Muted-foreground reads as secondary text and matches alfadocs.com's\n // nav-link colour (the reference's slate-grey). `--foreground` was too\n // dark vs the ref.\n 'ds:text-[var(--muted-foreground)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:py-[var(--spacing-xs)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:hover:text-[var(--primary)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:data-[active=true]:text-[var(--primary)]',\n 'ds:data-[active=true]:[box-shadow:inset_0_-2px_0_var(--primary)]',\n ].join(' '),\n);\n\n// Trigger styling shares the link look + adds the chevron rotation hook.\nconst dropdownTriggerClasses = [\n 'ds:group ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-body-sm ds:font-medium',\n // Mirror the navLinkVariants colour + inline padding so triggers and\n // plain links share weight, colour and target size.\n 'ds:text-[var(--muted-foreground)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:bg-transparent ds:border-0 ds:cursor-pointer',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:py-[var(--spacing-xs)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:hover:text-[var(--primary)]',\n 'ds:data-[state=open]:text-[var(--primary)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst dropdownChevronClasses = [\n 'ds:size-3 ds:shrink-0',\n 'ds:transition-transform ds:duration-[var(--animation-duration)]',\n 'ds:group-data-[state=open]:rotate-180',\n 'ds:motion-reduce:transition-none',\n].join(' ');\n\nconst dropdownContentVariants = cva(\n [\n // Radix portals Content into the Viewport; sizing + position is\n // governed by the Viewport — keep Content's own paint to padding\n // + inner layout so motion / position stay consistent across\n // trigger placements.\n 'ds:data-[motion=from-start]:animate-in ds:data-[motion=from-start]:fade-in-0',\n 'ds:data-[motion=from-end]:animate-in ds:data-[motion=from-end]:fade-in-0',\n 'ds:data-[motion=to-start]:animate-out ds:data-[motion=to-start]:fade-out-0',\n 'ds:data-[motion=to-end]:animate-out ds:data-[motion=to-end]:fade-out-0',\n 'ds:motion-reduce:animate-none',\n ].join(' '),\n {\n variants: {\n wide: {\n true: [\n 'ds:grid ds:grid-cols-2 ds:lg:grid-cols-4',\n 'ds:gap-[var(--spacing-lg)]',\n 'ds:p-[var(--spacing-lg)]',\n 'ds:w-screen ds:max-w-[1400px]',\n ].join(' '),\n false: ['ds:p-[var(--spacing-md)]', 'ds:min-w-[280px]'].join(' '),\n },\n },\n defaultVariants: { wide: false },\n },\n);\n\nconst viewportClasses = [\n // Position the Viewport flush below the pill / nav row. Radix sets\n // `--radix-navigation-menu-viewport-width` and `…-height` so the\n // panel sizes itself to whichever Content is currently active.\n 'ds:absolute ds:top-full ds:start-1/2 ds:-translate-x-1/2',\n 'ds:mt-[var(--spacing-sm)]',\n 'ds:w-[var(--radix-navigation-menu-viewport-width)]',\n 'ds:h-[var(--radix-navigation-menu-viewport-height)]',\n 'ds:overflow-hidden',\n 'ds:bg-[var(--card)] ds:text-[var(--foreground)]',\n 'ds:rounded-[var(--radius-lg)] ds:border ds:border-[color:var(--border)]',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:fade-out-0',\n 'ds:data-[state=open]:zoom-in-95 ds:data-[state=closed]:zoom-out-95',\n 'ds:origin-top ds:transition-[width,height] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:animate-none ds:motion-reduce:transition-none',\n].join(' ');\n\nconst cardLinkClasses = [\n 'ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)]',\n 'ds:no-underline ds:text-[var(--foreground)]',\n 'ds:pb-[var(--spacing-sm)]',\n // alfadocs.com renders the card header flush against the sub-list with\n // no separator rule — match that by dropping the border-b that earlier\n // versions of this component carried.\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:hover:[&_[data-card-title]]:text-[var(--primary)]',\n 'ds:hover:[&_[data-card-arrow]]:text-[var(--primary)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:group/cardlink',\n].join(' ');\n\nconst cardHeaderStaticClasses = [\n 'ds:pb-[var(--spacing-sm)]',\n // Match the linked-card variant: no separator rule under the title.\n].join(' ');\n\nconst subLinkClasses = [\n 'ds:block ds:no-underline',\n 'type-body-sm ds:font-medium ds:text-[var(--muted-foreground)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]',\n 'ds:hover:bg-[var(--muted)]/30 ds:hover:text-[var(--primary)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:data-[active=true]:text-[var(--primary)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\n/* ------------------------------------------------------------------ */\n/* Reduced motion */\n/* ------------------------------------------------------------------ */\n\nfunction usePrefersReducedMotion(): boolean {\n const [reduced, setReduced] = useState(() => {\n if (typeof window === 'undefined' || !window.matchMedia) return false;\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n });\n useEffect(() => {\n if (typeof window === 'undefined' || !window.matchMedia) return;\n const mq = window.matchMedia('(prefers-reduced-motion: reduce)');\n const onChange = (): void => setReduced(mq.matches);\n mq.addEventListener('change', onChange);\n return () => mq.removeEventListener('change', onChange);\n }, []);\n return reduced;\n}\n\n/* ------------------------------------------------------------------ */\n/* Scroll listener */\n/* */\n/* rAF-throttled tracker for two flags on the header root: */\n/* - `data-stuck`: scrollY > stickyOffset (drives the transparent → */\n/* solid fade + the scroll-up shadow lift). */\n/* - `data-hidden`: scrolling DOWN past stickyOffset hides the header */\n/* via transform; scrolling UP slides it back. Only emitted when */\n/* `sticky === 'scroll-up'`. */\n/* ------------------------------------------------------------------ */\n\nfunction useHeaderScrollState(\n enabled: boolean,\n sticky: NonNullable<PublicHeaderProps['sticky']>,\n stickyOffset: number,\n): {\n stuck: boolean;\n hidden: boolean;\n} {\n const [stuck, setStuck] = useState(false);\n const [hidden, setHidden] = useState(false);\n const lastYRef = useRef(0);\n const tickingRef = useRef(false);\n\n useEffect(() => {\n if (!enabled || typeof window === 'undefined') return;\n lastYRef.current = window.scrollY;\n\n const update = (): void => {\n const y = window.scrollY;\n setStuck(y > stickyOffset);\n if (sticky === 'scroll-up') {\n const delta = y - lastYRef.current;\n // Hide on a meaningful downward delta past the offset; show on\n // any upward delta. 4px deadband keeps minor wheel inertia from\n // flapping the bar.\n if (delta > 4 && y > stickyOffset) setHidden(true);\n else if (delta < -4 || y <= stickyOffset) setHidden(false);\n }\n lastYRef.current = y;\n tickingRef.current = false;\n };\n const onScroll = (): void => {\n if (tickingRef.current) return;\n tickingRef.current = true;\n window.requestAnimationFrame(update);\n };\n window.addEventListener('scroll', onScroll, { passive: true });\n // Initial sync so we don't miss state when mounted past the offset.\n update();\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [enabled, sticky, stickyOffset]);\n\n return { stuck, hidden };\n}\n\n/* ------------------------------------------------------------------ */\n/* Inner content (shared between flat + pill variants) */\n/* ------------------------------------------------------------------ */\n\ninterface InnerContentProps {\n logo: ReactNode;\n homeHref: string;\n resolvedHomeLabel: string;\n resolvedNavLabel: string;\n resolvedMenuLabel: string;\n navSlot?: ReactNode;\n actionsSlot?: ReactNode;\n persistActions: boolean;\n menuOpen: boolean;\n setMenuOpen: (open: boolean) => void;\n sheetId: string;\n}\n\nfunction InnerContent({\n logo,\n homeHref,\n resolvedHomeLabel,\n resolvedNavLabel,\n resolvedMenuLabel,\n navSlot,\n actionsSlot,\n persistActions,\n menuOpen,\n setMenuOpen,\n sheetId,\n}: InnerContentProps): React.JSX.Element {\n // The mobile menu only needs to exist when something would otherwise be\n // hidden on small screens: the nav (always collapses) or — unless the\n // consumer pins them — the actions. With persisted actions and no nav there\n // is nothing to collapse, so no hamburger renders at all.\n const showMobileMenu =\n Boolean(navSlot) || (Boolean(actionsSlot) && !persistActions);\n return (\n <>\n <a\n href={homeHref}\n aria-label={resolvedHomeLabel}\n className=\"ds:inline-flex ds:items-center ds:rounded-[var(--radius-sm)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]\"\n >\n {logo}\n </a>\n\n {navSlot ? (\n <PublicHeaderSurfaceContext.Provider value=\"desktop\">\n <NavigationMenuPrimitive.Root\n aria-label={resolvedNavLabel}\n // Radix wraps the List in an unstyled `<div>` between Root and\n // <ul>. The `[&>div:first-of-type]:flex` arbitrary selector\n // forces that wrapper into flex so the List's flex-1 actually\n // stretches it across the available width.\n className=\"ds:hidden ds:md:flex ds:relative ds:items-center ds:ms-[var(--spacing-lg)] ds:flex-1 ds:[&>div:first-of-type]:flex ds:[&>div:first-of-type]:flex-1\"\n delayDuration={150}\n >\n <NavigationMenuPrimitive.List className=\"ds:flex ds:flex-1 ds:items-center ds:justify-center ds:gap-[var(--spacing-md)] ds:list-none ds:m-0 ds:ps-0\">\n {navSlot}\n </NavigationMenuPrimitive.List>\n {/* Viewport renders the active panel below the nav row. The\n wrapper centres it horizontally relative to the trigger row;\n Radix sets viewport-width/-height vars so the panel sizes\n to whichever Content is open. */}\n <div className=\"ds:absolute ds:top-full ds:start-0 ds:end-0 ds:flex ds:justify-center ds:pointer-events-none\">\n <div className=\"ds:pointer-events-auto\">\n <NavigationMenuPrimitive.Viewport className={viewportClasses} />\n </div>\n </div>\n </NavigationMenuPrimitive.Root>\n </PublicHeaderSurfaceContext.Provider>\n ) : null}\n\n {actionsSlot ? (\n <div\n className={[\n // Pinned actions stay inline at every breakpoint; otherwise they\n // are hidden < md and collapse into the mobile menu below.\n persistActions ? 'ds:flex' : 'ds:hidden ds:md:flex',\n 'ds:items-center ds:gap-[var(--spacing-sm)] ds:ms-auto',\n ].join(' ')}\n >\n {actionsSlot}\n </div>\n ) : null}\n\n {/* Mobile menu trigger (< md). Wired to a Sheet (partial drawer\n from inline-end) so navSlot + actionsSlot collapse there. Omitted\n entirely when there is nothing left to collapse (persisted actions,\n no nav). */}\n {showMobileMenu ? (\n <Sheet open={menuOpen} onOpenChange={setMenuOpen}>\n <Sheet.Trigger asChild>\n <IconButton\n size=\"md\"\n intent=\"ghost\"\n className=\"ds:ms-auto ds:md:hidden\"\n icon={\n menuOpen ? (\n <X aria-hidden=\"true\" />\n ) : (\n <Menu aria-hidden=\"true\" />\n )\n }\n aria-controls={sheetId}\n aria-expanded={menuOpen}\n aria-label={resolvedMenuLabel}\n />\n </Sheet.Trigger>\n <Sheet.Content side=\"end\" size=\"md\" id={sheetId}>\n <Sheet.Header>\n <Sheet.Title>{resolvedNavLabel}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {navSlot ? (\n <PublicHeaderSurfaceContext.Provider value=\"mobile\">\n <nav\n aria-label={resolvedNavLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n data-mobile-nav=\"true\"\n >\n {navSlot}\n </nav>\n </PublicHeaderSurfaceContext.Provider>\n ) : null}\n {actionsSlot && !persistActions ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:mt-[var(--spacing-md)]\">\n {actionsSlot}\n </div>\n ) : null}\n </div>\n </Sheet.Body>\n </Sheet.Content>\n </Sheet>\n ) : null}\n </>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nconst PublicHeaderRoot = forwardRef<HTMLElement, PublicHeaderProps>(\n (\n {\n logo,\n homeHref = '/',\n homeLabel,\n navSlot,\n actionsSlot,\n variant = 'pill',\n sticky = 'none',\n stickyOffset = 80,\n menuLabel,\n navLabel,\n persistActions = false,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const reduced = usePrefersReducedMotion();\n const autoId = useId();\n const sheetId = `${id ?? autoId}-sheet`;\n const [menuOpen, setMenuOpen] = useState(false);\n\n // Scroll listener is only active when `transparent` or `scroll-up`\n // need it. Hidden state is disabled under reduced motion (the bar\n // stays visible — translating off-screen is precisely the motion\n // class of user the preference targets).\n const scrollEnabled = variant === 'transparent' || sticky === 'scroll-up';\n const { stuck, hidden } = useHeaderScrollState(\n scrollEnabled,\n sticky,\n stickyOffset,\n );\n const effectiveHidden = reduced ? false : hidden;\n\n const openMenu = useCallback((): void => setMenuOpen(true), []);\n const closeMenu = useCallback((): void => setMenuOpen(false), []);\n\n useImperativeHandle(\n ref as React.Ref<PublicHeaderHandle> | null | undefined,\n () => ({\n openMenu,\n closeMenu,\n getMenuOpen: () => menuOpen,\n }),\n [openMenu, closeMenu, menuOpen],\n );\n\n const resolvedHomeLabel =\n homeLabel ?? t('publicHeader.homeLabel', 'AlfaDocs — home');\n const resolvedNavLabel =\n navLabel ?? t('publicHeader.primaryNavLabel', 'Primary');\n const resolvedMenuLabel =\n menuLabel ??\n (menuOpen\n ? t('publicHeader.closeMenu', 'Close menu')\n : t('publicHeader.openMenu', 'Open menu'));\n\n const innerProps: InnerContentProps = {\n logo,\n homeHref,\n resolvedHomeLabel,\n resolvedNavLabel,\n resolvedMenuLabel,\n navSlot,\n actionsSlot,\n persistActions,\n menuOpen,\n setMenuOpen,\n sheetId,\n };\n\n return (\n <header\n {...rest}\n data-component=\"public-header\"\n data-component-id={id}\n data-variant={variant}\n data-stuck={stuck ? 'true' : undefined}\n data-hidden={effectiveHidden ? 'true' : undefined}\n data-state={reduced ? 'reduced-motion' : undefined}\n className={rootVariants({ variant, sticky, className })}\n >\n {variant === 'pill' ? (\n <div\n data-component=\"public-header-container\"\n className={pillContainerClasses}\n >\n <InnerContent {...innerProps} />\n </div>\n ) : (\n <InnerContent {...innerProps} />\n )}\n </header>\n );\n },\n);\nPublicHeaderRoot.displayName = 'PublicHeader';\n\n/* ------------------------------------------------------------------ */\n/* NavLink */\n/* ------------------------------------------------------------------ */\n\nconst PublicHeaderNavLink = forwardRef<\n HTMLAnchorElement,\n PublicHeaderNavLinkProps\n>(({ active, className, children, ...rest }, ref) => {\n const surface = useContext(PublicHeaderSurfaceContext);\n // Desktop: NavigationMenu.Item + .Link give Radix the keyboard / focus\n // semantics across the trigger row. We render the actual <a> via\n // asChild so consumers can swap in router links transparently.\n // Mobile: plain <a> inside the Sheet's <nav> — no Radix Root in scope,\n // so we render outside the NavigationMenu primitive.\n if (surface === 'mobile') {\n return (\n <a\n ref={ref}\n {...rest}\n data-active={active ? 'true' : undefined}\n aria-current={active ? 'page' : undefined}\n className={[\n 'ds:block ds:no-underline',\n 'type-body-sm ds:font-medium',\n 'ds:text-[var(--foreground)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-sm)]',\n 'ds:hover:bg-[var(--muted)]/30 ds:hover:text-[var(--primary)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:data-[active=true]:text-[var(--primary)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </a>\n );\n }\n return (\n <NavigationMenuPrimitive.Item>\n <NavigationMenuPrimitive.Link asChild active={active}>\n <a\n ref={ref}\n {...rest}\n data-active={active ? 'true' : undefined}\n aria-current={active ? 'page' : undefined}\n className={[navLinkVariants(), className].filter(Boolean).join(' ')}\n >\n {children}\n </a>\n </NavigationMenuPrimitive.Link>\n </NavigationMenuPrimitive.Item>\n );\n});\nPublicHeaderNavLink.displayName = 'PublicHeader.NavLink';\n\n/* ------------------------------------------------------------------ */\n/* NavDropdown */\n/* ------------------------------------------------------------------ */\n\nconst PublicHeaderNavDropdown = forwardRef<\n ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n PublicHeaderNavDropdownProps\n>(({ label, wide = false, children, id }, ref) => {\n const surface = useContext(PublicHeaderSurfaceContext);\n if (surface === 'mobile') {\n // <details>/<summary> gives semantic disclosure for free —\n // Enter/Space toggles, summary is focusable, content collapses\n // when not open. No JS needed.\n return (\n <details\n id={id}\n data-component=\"public-header-nav-dropdown\"\n className=\"ds:group ds:border-b ds:border-[color:var(--border)]\"\n >\n <summary\n className={[\n 'ds:flex ds:items-center ds:justify-between ds:cursor-pointer',\n 'type-body-sm ds:font-medium ds:text-[var(--foreground)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-sm)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:list-none ds:[&::-webkit-details-marker]:hidden',\n ].join(' ')}\n >\n <span>{label}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className=\"ds:size-3 ds:shrink-0 ds:transition-transform ds:duration-[var(--animation-duration)] ds:group-[[open]]:rotate-180 ds:motion-reduce:transition-none\"\n />\n </summary>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:py-[var(--spacing-sm)]\">\n {children}\n </div>\n </details>\n );\n }\n return (\n <NavigationMenuPrimitive.Item data-component=\"public-header-nav-dropdown\">\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n id={id}\n className={dropdownTriggerClasses}\n // Radix already wires aria-expanded + aria-controls. The\n // group / data-state hooks let the chevron rotate via Tailwind.\n >\n {label}\n <ChevronDown aria-hidden=\"true\" className={dropdownChevronClasses} />\n </NavigationMenuPrimitive.Trigger>\n <NavigationMenuPrimitive.Content\n className={dropdownContentVariants({ wide })}\n >\n {children}\n </NavigationMenuPrimitive.Content>\n </NavigationMenuPrimitive.Item>\n );\n});\nPublicHeaderNavDropdown.displayName = 'PublicHeader.NavDropdown';\n\n/* ------------------------------------------------------------------ */\n/* DropdownCard */\n/* ------------------------------------------------------------------ */\n\nconst PublicHeaderDropdownCard = forwardRef<\n HTMLDivElement,\n PublicHeaderDropdownCardProps\n>(({ href, title, subtitle, children }, ref) => {\n const surface = useContext(PublicHeaderSurfaceContext);\n // The Card header. In mobile we render a plain <a> when href is set —\n // no Radix Link wrapper because the NavigationMenu root isn't in scope\n // inside the Sheet.\n const titleNode = (\n <span\n data-card-title\n className=\"type-title-card ds:text-[var(--foreground)] ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none\"\n >\n {title}\n </span>\n );\n const subtitleNode = subtitle ? (\n <span className=\"type-body-sm ds:text-[var(--muted-foreground)]\">\n {subtitle}\n </span>\n ) : null;\n\n const arrow = (\n <span\n data-card-arrow\n aria-hidden=\"true\"\n className=\"ds:flex-none ds:text-[var(--muted-foreground)] ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none ds:rtl:-scale-x-100\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M5 12h14\" />\n <path d=\"m12 5 7 7-7 7\" />\n </svg>\n </span>\n );\n\n const linkInner = (\n <>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {titleNode}\n {subtitleNode}\n </div>\n {arrow}\n </>\n );\n\n let header: React.JSX.Element;\n if (href) {\n if (surface === 'mobile') {\n header = (\n <a href={href} className={cardLinkClasses}>\n {linkInner}\n </a>\n );\n } else {\n header = (\n <NavigationMenuPrimitive.Link asChild>\n <a href={href} className={cardLinkClasses}>\n {linkInner}\n </a>\n </NavigationMenuPrimitive.Link>\n );\n }\n } else {\n header = (\n <div className={cardHeaderStaticClasses}>\n {titleNode}\n {subtitle ? (\n <span className=\"ds:block type-body-sm ds:text-[var(--muted-foreground)] ds:mt-[var(--spacing-xs)]\">\n {subtitle}\n </span>\n ) : null}\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n data-component=\"public-header-dropdown-card\"\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\"\n >\n {header}\n {children ? (\n <ul className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:list-none ds:m-0 ds:ps-0\">\n {children}\n </ul>\n ) : null}\n </div>\n );\n});\nPublicHeaderDropdownCard.displayName = 'PublicHeader.DropdownCard';\n\n/* ------------------------------------------------------------------ */\n/* DropdownLink */\n/* ------------------------------------------------------------------ */\n\nconst PublicHeaderDropdownLink = forwardRef<\n HTMLAnchorElement,\n PublicHeaderDropdownLinkProps\n>(({ active, className, children, ...rest }, ref) => {\n const surface = useContext(PublicHeaderSurfaceContext);\n const anchor = (\n <a\n ref={ref}\n {...rest}\n data-active={active ? 'true' : undefined}\n aria-current={active ? 'page' : undefined}\n className={[subLinkClasses, className].filter(Boolean).join(' ')}\n >\n {children}\n </a>\n );\n return (\n <li data-component=\"public-header-dropdown-link\">\n {surface === 'mobile' ? (\n anchor\n ) : (\n <NavigationMenuPrimitive.Link asChild active={active}>\n {anchor}\n </NavigationMenuPrimitive.Link>\n )}\n </li>\n );\n});\nPublicHeaderDropdownLink.displayName = 'PublicHeader.DropdownLink';\n\n/* ------------------------------------------------------------------ */\n/* Public surface */\n/* ------------------------------------------------------------------ */\n\nexport const PublicHeader = Object.assign(PublicHeaderRoot, {\n NavLink: PublicHeaderNavLink,\n NavDropdown: PublicHeaderNavDropdown,\n DropdownCard: PublicHeaderDropdownCard,\n DropdownLink: PublicHeaderDropdownLink,\n});\n","import type { AgentAdapter } from '../../agent/types';\nimport type { PublicHeaderHandle } from './public-header';\n\nexport const publicHeaderAgent: AgentAdapter<PublicHeaderHandle> = {\n id: 'public-header',\n capabilities: ['open', 'close'],\n state: {\n menuOpen: {\n type: 'boolean',\n description: 'Whether the mobile drawer is currently open.',\n read: (handle) => handle.getMenuOpen(),\n },\n },\n actions: {\n open_menu: {\n safety: 'read',\n description: 'Open the mobile drawer.',\n invoke: (handle) => {\n handle.openMenu();\n },\n },\n close_menu: {\n safety: 'read',\n description: 'Close the mobile drawer.',\n invoke: (handle) => {\n handle.closeMenu();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'public-header' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on PublicHeader.',\n },\n },\n};\n"],"names":["PublicHeaderSurfaceContext","createContext","rootVariants","cva","pillContainerClasses","navLinkVariants","dropdownTriggerClasses","dropdownChevronClasses","dropdownContentVariants","viewportClasses","cardLinkClasses","cardHeaderStaticClasses","subLinkClasses","usePrefersReducedMotion","reduced","setReduced","useState","useEffect","mq","onChange","useHeaderScrollState","enabled","sticky","stickyOffset","stuck","setStuck","hidden","setHidden","lastYRef","useRef","tickingRef","update","y","delta","onScroll","InnerContent","logo","homeHref","resolvedHomeLabel","resolvedNavLabel","resolvedMenuLabel","navSlot","actionsSlot","persistActions","menuOpen","setMenuOpen","sheetId","showMobileMenu","jsxs","Fragment","jsx","NavigationMenuPrimitive","Sheet","IconButton","X","Menu","PublicHeaderRoot","forwardRef","homeLabel","variant","menuLabel","navLabel","id","className","rest","ref","t","useTranslation","autoId","useId","scrollEnabled","effectiveHidden","openMenu","useCallback","closeMenu","useImperativeHandle","innerProps","PublicHeaderNavLink","active","children","useContext","PublicHeaderNavDropdown","label","wide","ChevronDown","PublicHeaderDropdownCard","href","title","subtitle","surface","titleNode","linkInner","header","PublicHeaderDropdownLink","anchor","PublicHeader","publicHeaderAgent","handle"],"mappings":";;;;;;;;;;AAqJA,MAAMA,IACJC,GAAmC,SAAS,GAMxCC,KAAeC;AAAA,EACnB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,QAKP,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA;AAAA;AAAA;AAAA,UAKA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQV,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,QAKV,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMV,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,MAAA;AAAA,MAEZ,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA;AAAA;AAAA;AAAA,QAIL,aAAa;AAAA,UACX;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,iBAAiB,EAAE,SAAS,QAAQ,QAAQ,OAAA;AAAA,EAAO;AAEvD,GAKMC,KAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,KAAkBF;AAAA,EACtB;AAAA,IACE;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GAGMG,KAAyB;AAAA,EAC7B;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,KAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,KAA0BL;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,QACV,OAAO,CAAC,4BAA4B,kBAAkB,EAAE,KAAK,GAAG;AAAA,MAAA;AAAA,IAClE;AAAA,IAEF,iBAAiB,EAAE,MAAM,GAAA;AAAA,EAAM;AAEnC,GAEMM,KAAkB;AAAA;AAAA;AAAA;AAAA,EAItB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,IAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,KAA0B;AAAA,EAC9B;AAAA;AAEF,EAAE,KAAK,GAAG,GAEJC,KAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAMV,SAASC,KAAmC;AAC1C,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,MACjC,OAAO,SAAW,OAAe,CAAC,OAAO,aAAmB,KACzD,OAAO,WAAW,kCAAkC,EAAE,OAC9D;AACD,SAAAC,EAAU,MAAM;AACd,QAAI,OAAO,SAAW,OAAe,CAAC,OAAO,WAAY;AACzD,UAAMC,IAAK,OAAO,WAAW,kCAAkC,GACzDC,IAAW,MAAYJ,EAAWG,EAAG,OAAO;AAClD,WAAAA,EAAG,iBAAiB,UAAUC,CAAQ,GAC/B,MAAMD,EAAG,oBAAoB,UAAUC,CAAQ;AAAA,EACxD,GAAG,CAAA,CAAE,GACEL;AACT;AAaA,SAASM,GACPC,GACAC,GACAC,GAIA;AACA,QAAM,CAACC,GAAOC,CAAQ,IAAIT,EAAS,EAAK,GAClC,CAACU,GAAQC,CAAS,IAAIX,EAAS,EAAK,GACpCY,IAAWC,EAAO,CAAC,GACnBC,IAAaD,EAAO,EAAK;AAE/B,SAAAZ,EAAU,MAAM;AACd,QAAI,CAACI,KAAW,OAAO,SAAW,IAAa;AAC/C,IAAAO,EAAS,UAAU,OAAO;AAE1B,UAAMG,IAAS,MAAY;AACzB,YAAMC,IAAI,OAAO;AAEjB,UADAP,EAASO,IAAIT,CAAY,GACrBD,MAAW,aAAa;AAC1B,cAAMW,IAAQD,IAAIJ,EAAS;AAI3B,QAAIK,IAAQ,KAAKD,IAAIT,MAAwB,EAAI,KACxCU,IAAQ,MAAMD,KAAKT,QAAwB,EAAK;AAAA,MAC3D;AACA,MAAAK,EAAS,UAAUI,GACnBF,EAAW,UAAU;AAAA,IACvB,GACMI,IAAW,MAAY;AAC3B,MAAIJ,EAAW,YACfA,EAAW,UAAU,IACrB,OAAO,sBAAsBC,CAAM;AAAA,IACrC;AACA,kBAAO,iBAAiB,UAAUG,GAAU,EAAE,SAAS,IAAM,GAE7DH,EAAA,GACO,MAAM;AACX,aAAO,oBAAoB,UAAUG,CAAQ;AAAA,IAC/C;AAAA,EACF,GAAG,CAACb,GAASC,GAAQC,CAAY,CAAC,GAE3B,EAAE,OAAAC,GAAO,QAAAE,EAAA;AAClB;AAoBA,SAASS,EAAa;AAAA,EACpB,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AACF,GAAyC;AAKvC,QAAMC,IACJ,EAAQN,KAAa,EAAQC,KAAgB,CAACC;AAChD,SACE,gBAAAK,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMb;AAAA,QACN,cAAYC;AAAA,QACZ,WAAU;AAAA,QAET,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,IAGFK,IACC,gBAAAS,EAAClD,EAA2B,UAA3B,EAAoC,OAAM,WACzC,UAAA,gBAAAgD;AAAA,MAACG,EAAwB;AAAA,MAAxB;AAAA,QACC,cAAYZ;AAAA,QAKZ,WAAU;AAAA,QACV,eAAe;AAAA,QAEf,UAAA;AAAA,UAAA,gBAAAW,EAACC,EAAwB,MAAxB,EAA6B,WAAU,8GACrC,UAAAV,GACH;AAAA,UAKA,gBAAAS,EAAC,OAAA,EAAI,WAAU,gGACb,4BAAC,OAAA,EAAI,WAAU,0BACb,UAAA,gBAAAA,EAACC,EAAwB,UAAxB,EAAiC,WAAW1C,GAAA,CAAiB,GAChE,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAEJ,IACE;AAAA,IAEHiC,IACC,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA;AAAA;AAAA,UAGTP,IAAiB,YAAY;AAAA,UAC7B;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,QAET,UAAAD;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IAMHK,IACC,gBAAAC,EAACI,GAAA,EAAM,MAAMR,GAAU,cAAcC,GACnC,UAAA;AAAA,MAAA,gBAAAK,EAACE,EAAM,SAAN,EAAc,SAAO,IACpB,UAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,QAAO;AAAA,UACP,WAAU;AAAA,UACV,MACET,IACE,gBAAAM,EAACI,IAAA,EAAE,eAAY,QAAO,IAEtB,gBAAAJ,EAACK,IAAA,EAAK,eAAY,OAAA,CAAO;AAAA,UAG7B,iBAAeT;AAAA,UACf,iBAAeF;AAAA,UACf,cAAYJ;AAAA,QAAA;AAAA,MAAA,GAEhB;AAAA,MACA,gBAAAQ,EAACI,EAAM,SAAN,EAAc,MAAK,OAAM,MAAK,MAAK,IAAIN,GACtC,UAAA;AAAA,QAAA,gBAAAI,EAACE,EAAM,QAAN,EACC,UAAA,gBAAAF,EAACE,EAAM,OAAN,EAAa,aAAiB,EAAA,CACjC;AAAA,0BACCA,EAAM,MAAN,EACC,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,kDACZ,UAAA;AAAA,UAAAP,IACC,gBAAAS,EAAClD,EAA2B,UAA3B,EAAoC,OAAM,UACzC,UAAA,gBAAAkD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,cAAYX;AAAA,cACZ,WAAU;AAAA,cACV,mBAAgB;AAAA,cAEf,UAAAE;AAAA,YAAA;AAAA,UAAA,GAEL,IACE;AAAA,UACHC,KAAe,CAACC,IACf,gBAAAO,EAAC,SAAI,WAAU,4EACZ,aACH,IACE;AAAA,QAAA,EAAA,CACN,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,IACE;AAAA,EAAA,GACN;AAEJ;AAMA,MAAMM,IAAmBC;AAAA,EACvB,CACE;AAAA,IACE,MAAArB;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,WAAAqB;AAAA,IACA,SAAAjB;AAAA,IACA,aAAAC;AAAA,IACA,SAAAiB,IAAU;AAAA,IACV,QAAArC,IAAS;AAAA,IACT,cAAAC,IAAe;AAAA,IACf,WAAAqC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAlB,IAAiB;AAAA,IACjB,IAAAmB;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAA,IAAMC,GAAA,GACRrD,IAAUD,GAAA,GACVuD,IAASC,EAAA,GACTvB,IAAU,GAAGgB,KAAMM,CAAM,UACzB,CAACxB,GAAUC,CAAW,IAAI7B,EAAS,EAAK,GAMxCsD,IAAgBX,MAAY,iBAAiBrC,MAAW,aACxD,EAAE,OAAAE,GAAO,QAAAE,EAAA,IAAWN;AAAA,MACxBkD;AAAA,MACAhD;AAAA,MACAC;AAAA,IAAA,GAEIgD,IAAkBzD,IAAU,KAAQY,GAEpC8C,IAAWC,EAAY,MAAY5B,EAAY,EAAI,GAAG,CAAA,CAAE,GACxD6B,IAAYD,EAAY,MAAY5B,EAAY,EAAK,GAAG,CAAA,CAAE;AAEhE,IAAA8B;AAAA,MACEV;AAAA,MACA,OAAO;AAAA,QACL,UAAAO;AAAA,QACA,WAAAE;AAAA,QACA,aAAa,MAAM9B;AAAA,MAAA;AAAA,MAErB,CAAC4B,GAAUE,GAAW9B,CAAQ;AAAA,IAAA;AAGhC,UAAMN,IACJoB,KAAaQ,EAAE,0BAA0B,iBAAiB,GACtD3B,IACJsB,KAAYK,EAAE,gCAAgC,SAAS,GACnD1B,IACJoB,MACChB,IACGsB,EAAE,0BAA0B,YAAY,IACxCA,EAAE,yBAAyB,WAAW,IAEtCU,IAAgC;AAAA,MACpC,MAAAxC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,SAAAC;AAAA,MACA,aAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,IAAA;AAGF,WACE,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGc;AAAA,QACJ,kBAAe;AAAA,QACf,qBAAmBF;AAAA,QACnB,gBAAcH;AAAA,QACd,cAAYnC,IAAQ,SAAS;AAAA,QAC7B,eAAa+C,IAAkB,SAAS;AAAA,QACxC,cAAYzD,IAAU,mBAAmB;AAAA,QACzC,WAAWZ,GAAa,EAAE,SAAAyD,GAAS,QAAArC,GAAQ,WAAAyC,GAAW;AAAA,QAErD,gBAAY,SACX,gBAAAb;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,kBAAe;AAAA,YACf,WAAW9C;AAAA,YAEX,UAAA,gBAAA8C,EAACf,GAAA,EAAc,GAAGyC,EAAA,CAAY;AAAA,UAAA;AAAA,QAAA,IAGhC,gBAAA1B,EAACf,GAAA,EAAc,GAAGyC,EAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAItC;AACF;AACApB,EAAiB,cAAc;AAM/B,MAAMqB,IAAsBpB,EAG1B,CAAC,EAAE,QAAAqB,GAAQ,WAAAf,GAAW,UAAAgB,GAAU,GAAGf,EAAA,GAAQC,MAC3Be,EAAWhF,CAA0B,MAMrC,WAEZ,gBAAAkD;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAe;AAAA,IACC,GAAGD;AAAA,IACJ,eAAac,IAAS,SAAS;AAAA,IAC/B,gBAAcA,IAAS,SAAS;AAAA,IAChC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAf;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IAEV,UAAAgB;AAAA,EAAA;AAAA,IAKL,gBAAA7B,EAACC,EAAwB,MAAxB,EACC,UAAA,gBAAAD,EAACC,EAAwB,MAAxB,EAA6B,SAAO,IAAC,QAAA2B,GACpC,UAAA,gBAAA5B;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAe;AAAA,IACC,GAAGD;AAAA,IACJ,eAAac,IAAS,SAAS;AAAA,IAC/B,gBAAcA,IAAS,SAAS;AAAA,IAChC,WAAW,CAACzE,GAAA,GAAmB0D,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,IAEjE,UAAAgB;AAAA,EAAA;AAAA,GAEL,EAAA,CACF,CAEH;AACDF,EAAoB,cAAc;AAMlC,MAAMI,IAA0BxB,EAG9B,CAAC,EAAE,OAAAyB,GAAO,MAAAC,IAAO,IAAO,UAAAJ,GAAU,IAAAjB,EAAA,GAAMG,MACxBe,EAAWhF,CAA0B,MACrC,WAKZ,gBAAAgD;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAAc;AAAA,IACA,kBAAe;AAAA,IACf,WAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAd;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA,KAAK,GAAG;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAE,EAAC,UAAM,UAAAgC,EAAA,CAAM;AAAA,YACb,gBAAAhC;AAAA,cAACkC;AAAA,cAAA;AAAA,gBACC,eAAY;AAAA,gBACZ,WAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,gBAAAlC,EAAC,OAAA,EAAI,WAAU,4EACZ,UAAA6B,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAAA,IAKJ,gBAAA/B,EAACG,EAAwB,MAAxB,EAA6B,kBAAe,8BAC3C,UAAA;AAAA,EAAA,gBAAAH;AAAA,IAACG,EAAwB;AAAA,IAAxB;AAAA,MACC,KAAAc;AAAA,MACA,IAAAH;AAAA,MACA,WAAWxD;AAAA,MAIV,UAAA;AAAA,QAAA4E;AAAA,QACD,gBAAAhC,EAACkC,GAAA,EAAY,eAAY,QAAO,WAAW7E,GAAA,CAAwB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAAA,EAErE,gBAAA2C;AAAA,IAACC,EAAwB;AAAA,IAAxB;AAAA,MACC,WAAW3C,GAAwB,EAAE,MAAA2E,GAAM;AAAA,MAE1C,UAAAJ;AAAA,IAAA;AAAA,EAAA;AACH,GACF,CAEH;AACDE,EAAwB,cAAc;AAMtC,MAAMI,IAA2B5B,EAG/B,CAAC,EAAE,MAAA6B,GAAM,OAAAC,GAAO,UAAAC,GAAU,UAAAT,EAAA,GAAYd,MAAQ;AAC9C,QAAMwB,IAAUT,EAAWhF,CAA0B,GAI/C0F,IACJ,gBAAAxC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,mBAAe;AAAA,MACf,WAAU;AAAA,MAET,UAAAqC;AAAA,IAAA;AAAA,EAAA,GAgCCI,IACJ,gBAAA3C,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,kDACZ,UAAA;AAAA,MAAA0C;AAAA,MAhCcF,IACnB,gBAAAtC,EAAC,UAAK,WAAU,kDACb,aACH,IACE;AAAA,IA6BG,GACH;AAAA,IA3BF,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,mBAAe;AAAA,QACf,eAAY;AAAA,QACZ,WAAU;AAAA,QAEV,UAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,QAAO;AAAA,YACP,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA,YAEf,UAAA;AAAA,cAAA,gBAAAE,EAAC,QAAA,EAAK,GAAE,WAAA,CAAW;AAAA,cACnB,gBAAAA,EAAC,QAAA,EAAK,GAAE,gBAAA,CAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EAUC,GACH;AAGF,MAAI0C;AACJ,SAAIN,IACEG,MAAY,WACdG,IACE,gBAAA1C,EAAC,KAAA,EAAE,MAAAoC,GAAY,WAAW5E,GACvB,UAAAiF,GACH,IAGFC,IACE,gBAAA1C,EAACC,EAAwB,MAAxB,EAA6B,SAAO,IACnC,UAAA,gBAAAD,EAAC,KAAA,EAAE,MAAAoC,GAAY,WAAW5E,GACvB,UAAAiF,EAAA,CACH,GACF,IAIJC,IACE,gBAAA5C,EAAC,OAAA,EAAI,WAAWrC,IACb,UAAA;AAAA,IAAA+E;AAAA,IACAF,IACC,gBAAAtC,EAAC,QAAA,EAAK,WAAU,qFACb,aACH,IACE;AAAA,EAAA,GACN,GAKF,gBAAAF;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAiB;AAAA,MACA,kBAAe;AAAA,MACf,WAAU;AAAA,MAET,UAAA;AAAA,QAAA2B;AAAA,QACAb,IACC,gBAAA7B,EAAC,MAAA,EAAG,WAAU,8EACX,UAAA6B,GACH,IACE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACDM,EAAyB,cAAc;AAMvC,MAAMQ,IAA2BpC,EAG/B,CAAC,EAAE,QAAAqB,GAAQ,WAAAf,GAAW,UAAAgB,GAAU,GAAGf,EAAA,GAAQC,MAAQ;AACnD,QAAMwB,IAAUT,EAAWhF,CAA0B,GAC/C8F,IACJ,gBAAA5C;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAe;AAAA,MACC,GAAGD;AAAA,MACJ,eAAac,IAAS,SAAS;AAAA,MAC/B,gBAAcA,IAAS,SAAS;AAAA,MAChC,WAAW,CAAClE,IAAgBmD,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAE9D,UAAAgB;AAAA,IAAA;AAAA,EAAA;AAGL,SACE,gBAAA7B,EAAC,MAAA,EAAG,kBAAe,+BAChB,gBAAY,WACX4C,IAEA,gBAAA5C,EAACC,EAAwB,MAAxB,EAA6B,SAAO,IAAC,QAAA2B,GACnC,aACH,GAEJ;AAEJ,CAAC;AACDe,EAAyB,cAAc;AAMhC,MAAME,KAAe,OAAO,OAAOvC,GAAkB;AAAA,EAC1D,SAASqB;AAAA,EACT,aAAaI;AAAA,EACb,cAAcI;AAAA,EACd,cAAcQ;AAChB,CAAC,GC38BYG,KAAsD;AAAA,EACjE,IAAI;AAAA,EACJ,cAAc,CAAC,QAAQ,OAAO;AAAA,EAC9B,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,YAAA;AAAA,IAAY;AAAA,EACvC;AAAA,EAEF,SAAS;AAAA,IACP,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,SAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,UAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,gBAAA;AAAA,IACvC,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;"}
@@ -2,8 +2,8 @@ import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
2
  import { forwardRef as ce, useId as le, useMemo as G, useRef as L, useState as x, useEffect as _, useCallback as l, useImperativeHandle as ue } from "react";
3
3
  import { c as i } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as me } from "react-i18next";
5
- import { P as ge } from "./pdf-viewer-4odMFuFW.js";
6
- import { S as pe } from "./signature-capture-CHbrKoA_.js";
5
+ import { P as ge } from "./pdf-viewer-XxWdtKfD.js";
6
+ import { S as pe } from "./signature-capture-COi0Uiqu.js";
7
7
  import { u as fe } from "./registry-nPAVE19X.js";
8
8
  import { C as J } from "./circle-check-9AeSgJD_.js";
9
9
  const ve = {
@@ -341,4 +341,4 @@ export {
341
341
  je as S,
342
342
  ve as s
343
343
  };
344
- //# sourceMappingURL=sign-document-BzHTjMVC.js.map
344
+ //# sourceMappingURL=sign-document-BmAT0kKD.js.map