(globalThis.TURBOPACK = globalThis.TURBOPACK || []).push(["object" == typeof document ? document.currentScript : void 0, {
351696: e => {
"use strict";
e.s({
mergeClasses: () => t,
toKebabCase: () => r
});
let r = e => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(),
t = (...e) => e.filter((e, r, t) => !!e && "" !== e.trim() && t.indexOf(e) === r).join(" ").trim()
},
848074: e => {
"use strict";
e.s({
default: () => r
});
var r = {
xmlns: "http://www.w3.org/2000/svg",
width: 24,
height: 24,
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: 2,
strokeLinecap: "round",
strokeLinejoin: "round"
}
},
165867: e => {
"use strict";
e.s({
default: () => l
});
var r = e.i(378469),
t = e.i(848074),
o = e.i(351696);
let l = (0, r.forwardRef)(({
color: e = "currentColor",
size: l = 24,
strokeWidth: n = 2,
absoluteStrokeWidth: i,
className: a = "",
children: s,
iconNode: c,
...d
}, u) => (0, r.createElement)("svg", {
ref: u,
...t.default,
width: l,
height: l,
stroke: e,
strokeWidth: i ? 24 * Number(n) / Number(l) : n,
className: (0, o.mergeClasses)("lucide", a),
...d
}, [...c.map(([e, t]) => (0, r.createElement)(e, t)), ...Array.isArray(s) ? s : [s]]))
},
287319: e => {
"use strict";
e.s({
default: () => l
});
var r = e.i(378469),
t = e.i(351696),
o = e.i(165867);
let l = (e, l) => {
let n = (0, r.forwardRef)(({
className: n,
...i
}, a) => (0, r.createElement)(o.default, {
ref: a,
iconNode: l,
className: (0, t.mergeClasses)(`lucide-${(0,t.toKebabCase)(e)}`, n),
...i
}));
return n.displayName = `${e}`, n
}
},
968249: e => {
"use strict";
e.s({
__iconNode: () => t,
default: () => o
});
var r = e.i(287319);
let t = [
["path", {
d: "M20 6 9 17l-5-5",
key: "1gmf2c"
}]
],
o = (0, r.default)("Check", t)
},
103142: e => {
"use strict";
e.s({
Check: () => r.default
});
var r = e.i(968249)
},
264773: e => {
"use strict";
e.s({
__iconNode: () => t,
default: () => o
});
var r = e.i(287319);
let t = [
["rect", {
width: "14",
height: "14",
x: "8",
y: "8",
rx: "2",
ry: "2",
key: "17jyea"
}],
["path", {
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
key: "zix9uf"
}]
],
o = (0, r.default)("Copy", t)
},
295118: e => {
"use strict";
e.s({
Copy: () => r.default
});
var r = e.i(264773)
},
796473: e => {
"use strict";
e.s({
__iconNode: () => t,
default: () => o
});
var r = e.i(180981);
let t = [
["path", {
d: "M20 6 9 17l-5-5",
key: "1gmf2c"
}]
],
o = (0, r.default)("Check", t)
},
511148: e => {
"use strict";
e.s({
Check: () => r.default
});
var r = e.i(796473)
},
664703: e => {
"use strict";
e.s({
useCopyButton: () => t
});
var r = e.i(378469);
function t(e) {
let [t, o] = (0, r.useState)(!1), l = (0, r.useRef)(null), n = (0, r.useRef)(e);
n.current = e;
let i = (0, r.useCallback)(() => {
l.current && window.clearTimeout(l.current), l.current = window.setTimeout(() => {
o(!1)
}, 1500), n.current(), o(!0)
}, []);
return (0, r.useEffect)(() => () => {
l.current && window.clearTimeout(l.current)
}, []), [t, i]
}
},
918948: e => {
"use strict";
function r(e, [r, t]) {
return Math.min(t, Math.max(r, e))
}
e.s({
clamp: () => r
})
},
270: e => {
"use strict";
e.s({
Corner: () => K,
Root: () => Y,
ScrollAreaThumb: () => _,
Scrollbar: () => $,
Viewport: () => F
});
var r = e.i(378469),
t = e.i(645488),
o = e.i(656310),
l = e.i(150924),
n = e.i(199933),
i = e.i(82535),
a = e.i(226251),
s = e.i(823749),
c = e.i(918948),
d = e.i(987373),
u = e.i(892988),
f = "ScrollArea",
[p, h] = (0, l.createContextScope)(f),
[v, m] = p(f),
w = (0, r.forwardRef)((e, o) => {
let {
__scopeScrollArea: l,
type: i = "hover",
dir: s,
scrollHideDelay: c = 600,
...d
} = e, [f, p] = (0, r.useState)(null), [h, m] = (0, r.useState)(null), [w, b] = (0, r.useState)(null), [g, y] = (0, r.useState)(null), [x, C] = (0, r.useState)(null), [S, R] = (0, r.useState)(0), [E, j] = (0, r.useState)(0), [T, N] = (0, r.useState)(!1), [P, k] = (0, r.useState)(!1), L = (0, n.useComposedRefs)(o, e => p(e)), _ = (0, a.useDirection)(s);
return (0, u.jsx)(v, {
scope: l,
type: i,
dir: _,
scrollHideDelay: c,
scrollArea: f,
viewport: h,
onViewportChange: m,
content: w,
onContentChange: b,
scrollbarX: g,
onScrollbarXChange: y,
scrollbarXEnabled: T,
onScrollbarXEnabledChange: N,
scrollbarY: x,
onScrollbarYChange: C,
scrollbarYEnabled: P,
onScrollbarYEnabledChange: k,
onCornerWidthChange: R,
onCornerHeightChange: j,
children: (0, u.jsx)(t.Primitive.div, {
dir: _,
...d,
ref: L,
style: {
position: "relative",
"--radix-scroll-area-corner-width": S + "px",
"--radix-scroll-area-corner-height": E + "px",
...e.style
}
})
})
});
w.displayName = f;
var b = "ScrollAreaViewport",
g = (0, r.forwardRef)((e, o) => {
let {
__scopeScrollArea: l,
children: i,
nonce: a,
...s
} = e, c = m(b, l), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(o, d, c.onViewportChange);
return (0, u.jsxs)(u.Fragment, {
children: [(0, u.jsx)("style", {
dangerouslySetInnerHTML: {
__html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"
},
nonce: a
}), (0, u.jsx)(t.Primitive.div, {
"data-radix-scroll-area-viewport": "",
...s,
ref: f,
style: {
overflowX: c.scrollbarXEnabled ? "scroll" : "hidden",
overflowY: c.scrollbarYEnabled ? "scroll" : "hidden",
...e.style
},
children: (0, u.jsx)("div", {
ref: c.onContentChange,
style: {
minWidth: "100%",
display: "table"
},
children: i
})
})]
})
});
g.displayName = b;
var y = "ScrollAreaScrollbar",
x = (0, r.forwardRef)((e, t) => {
let {
forceMount: o,
...l
} = e, n = m(y, e.__scopeScrollArea), {
onScrollbarXEnabledChange: i,
onScrollbarYEnabledChange: a
} = n, s = "horizontal" === e.orientation;
return (0, r.useEffect)(() => (s ? i(!0) : a(!0), () => {
s ? i(!1) : a(!1)
}), [s, i, a]), "hover" === n.type ? (0, u.jsx)(C, {
...l,
ref: t,
forceMount: o
}) : "scroll" === n.type ? (0, u.jsx)(S, {
...l,
ref: t,
forceMount: o
}) : "auto" === n.type ? (0, u.jsx)(R, {
...l,
ref: t,
forceMount: o
}) : "always" === n.type ? (0, u.jsx)(E, {
...l,
ref: t
}) : null
});
x.displayName = y;
var C = (0, r.forwardRef)((e, t) => {
let {
forceMount: l,
...n
} = e, i = m(y, e.__scopeScrollArea), [a, s] = (0, r.useState)(!1);
return (0, r.useEffect)(() => {
let e = i.scrollArea,
r = 0;
if (e) {
let t = () => {
window.clearTimeout(r), s(!0)
},
o = () => {
r = window.setTimeout(() => s(!1), i.scrollHideDelay)
};
return e.addEventListener("pointerenter", t), e.addEventListener("pointerleave", o), () => {
window.clearTimeout(r), e.removeEventListener("pointerenter", t), e.removeEventListener("pointerleave", o)
}
}
}, [i.scrollArea, i.scrollHideDelay]), (0, u.jsx)(o.Presence, {
present: l || a,
children: (0, u.jsx)(R, {
"data-state": a ? "visible" : "hidden",
...n,
ref: t
})
})
}),
S = (0, r.forwardRef)((e, t) => {
var l, n;
let {
forceMount: i,
...a
} = e, s = m(y, e.__scopeScrollArea), c = "horizontal" === e.orientation, f = M(() => h("SCROLL_END"), 100), [p, h] = (l = "hidden", n = {
hidden: {
SCROLL: "scrolling"
},
scrolling: {
SCROLL_END: "idle",
POINTER_ENTER: "interacting"
},
interacting: {
SCROLL: "interacting",
POINTER_LEAVE: "idle"
},
idle: {
HIDE: "hidden",
SCROLL: "scrolling",
POINTER_ENTER: "interacting"
}
}, (0, r.useReducer)((e, r) => n[e][r] ?? e, l));
return (0, r.useEffect)(() => {
if ("idle" === p) {
let e = window.setTimeout(() => h("HIDE"), s.scrollHideDelay);
return () => window.clearTimeout(e)
}
}, [p, s.scrollHideDelay, h]), (0, r.useEffect)(() => {
let e = s.viewport,
r = c ? "scrollLeft" : "scrollTop";
if (e) {
let t = e[r],
o = () => {
let o = e[r];
t !== o && (h("SCROLL"), f()), t = o
};
return e.addEventListener("scroll", o), () => e.removeEventListener("scroll", o)
}
}, [s.viewport, c, h, f]), (0, u.jsx)(o.Presence, {
present: i || "hidden" !== p,
children: (0, u.jsx)(E, {
"data-state": "hidden" === p ? "hidden" : "visible",
...a,
ref: t,
onPointerEnter: (0, d.composeEventHandlers)(e.onPointerEnter, () => h("POINTER_ENTER")),
onPointerLeave: (0, d.composeEventHandlers)(e.onPointerLeave, () => h("POINTER_LEAVE"))
})
})
}),
R = (0, r.forwardRef)((e, t) => {
let l = m(y, e.__scopeScrollArea),
{
forceMount: n,
...i
} = e,
[a, s] = (0, r.useState)(!1),
c = "horizontal" === e.orientation,
d = M(() => {
if (l.viewport) {
let e = l.viewport.offsetWidth < l.viewport.scrollWidth,
r = l.viewport.offsetHeight < l.viewport.scrollHeight;
s(c ? e : r)
}
}, 10);
return X(l.viewport, d), X(l.content, d), (0, u.jsx)(o.Presence, {
present: n || a,
children: (0, u.jsx)(E, {
"data-state": a ? "visible" : "hidden",
...i,
ref: t
})
})
}),
E = (0, r.forwardRef)((e, t) => {
let {
orientation: o = "vertical",
...l
} = e, n = m(y, e.__scopeScrollArea), i = (0, r.useRef)(null), a = (0, r.useRef)(0), [s, c] = (0, r.useState)({
content: 0,
viewport: 0,
scrollbar: {
size: 0,
paddingStart: 0,
paddingEnd: 0
}
}), d = B(s.viewport, s.content), f = {
...l,
sizes: s,
onSizesChange: c,
hasThumb: !!(d > 0 && d < 1),
onThumbChange: e => i.current = e,
onThumbPointerUp: () => a.current = 0,
onThumbPointerDown: e => a.current = e
};
function p(e, r) {
return function(e, r, t, o = "ltr") {
let l = O(t),
n = r || l / 2,
i = t.scrollbar.paddingStart + n,
a = t.scrollbar.size - t.scrollbar.paddingEnd - (l - n),
s = t.content - t.viewport;
return V([i, a], "ltr" === o ? [0, s] : [-1 * s, 0])(e)
}(e, a.current, s, r)
}
return "horizontal" === o ? (0, u.jsx)(j, {
...f,
ref: t,
onThumbPositionChange: () => {
if (n.viewport && i.current) {
let e = I(n.viewport.scrollLeft, s, n.dir);
i.current.style.transform = `translate3d(${e}px, 0, 0)`
}
},
onWheelScroll: e => {
n.viewport && (n.viewport.scrollLeft = e)
},
onDragScroll: e => {
n.viewport && (n.viewport.scrollLeft = p(e, n.dir))
}
}) : "vertical" === o ? (0, u.jsx)(T, {
...f,
ref: t,
onThumbPositionChange: () => {
if (n.viewport && i.current) {
let e = I(n.viewport.scrollTop, s);
i.current.style.transform = `translate3d(0, ${e}px, 0)`
}
},
onWheelScroll: e => {
n.viewport && (n.viewport.scrollTop = e)
},
onDragScroll: e => {
n.viewport && (n.viewport.scrollTop = p(e))
}
}) : null
}),
j = (0, r.forwardRef)((e, t) => {
let {
sizes: o,
onSizesChange: l,
...i
} = e, a = m(y, e.__scopeScrollArea), [s, c] = (0, r.useState)(), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(t, d, a.onScrollbarXChange);
return (0, r.useEffect)(() => {
d.current && c(getComputedStyle(d.current))
}, [d]), (0, u.jsx)(k, {
"data-orientation": "horizontal",
...i,
ref: f,
sizes: o,
style: {
bottom: 0,
left: "rtl" === a.dir ? "var(--radix-scroll-area-corner-width)" : 0,
right: "ltr" === a.dir ? "var(--radix-scroll-area-corner-width)" : 0,
"--radix-scroll-area-thumb-width": O(o) + "px",
...e.style
},
onThumbPointerDown: r => e.onThumbPointerDown(r.x),
onDragScroll: r => e.onDragScroll(r.x),
onWheelScroll: (r, t) => {
if (a.viewport) {
let o = a.viewport.scrollLeft + r.deltaX;
e.onWheelScroll(o),
function(e, r) {
return e > 0 && e < r
}(o, t) && r.preventDefault()
}
},
onResize: () => {
d.current && a.viewport && s && l({
content: a.viewport.scrollWidth,
viewport: a.viewport.offsetWidth,
scrollbar: {
size: d.current.clientWidth,
paddingStart: W(s.paddingLeft),
paddingEnd: W(s.paddingRight)
}
})
}
})
}),
T = (0, r.forwardRef)((e, t) => {
let {
sizes: o,
onSizesChange: l,
...i
} = e, a = m(y, e.__scopeScrollArea), [s, c] = (0, r.useState)(), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(t, d, a.onScrollbarYChange);
return (0, r.useEffect)(() => {
d.current && c(getComputedStyle(d.current))
}, [d]), (0, u.jsx)(k, {
"data-orientation": "vertical",
...i,
ref: f,
sizes: o,
style: {
top: 0,
right: "ltr" === a.dir ? 0 : void 0,
left: "rtl" === a.dir ? 0 : void 0,
bottom: "var(--radix-scroll-area-corner-height)",
"--radix-scroll-area-thumb-height": O(o) + "px",
...e.style
},
onThumbPointerDown: r => e.onThumbPointerDown(r.y),
onDragScroll: r => e.onDragScroll(r.y),
onWheelScroll: (r, t) => {
if (a.viewport) {
let o = a.viewport.scrollTop + r.deltaY;
e.onWheelScroll(o),
function(e, r) {
return e > 0 && e < r
}(o, t) && r.preventDefault()
}
},
onResize: () => {
d.current && a.viewport && s && l({
content: a.viewport.scrollHeight,
viewport: a.viewport.offsetHeight,
scrollbar: {
size: d.current.clientHeight,
paddingStart: W(s.paddingTop),
paddingEnd: W(s.paddingBottom)
}
})
}
})
}),
[N, P] = p(y),
k = (0, r.forwardRef)((e, o) => {
let {
__scopeScrollArea: l,
sizes: a,
hasThumb: s,
onThumbChange: c,
onThumbPointerUp: f,
onThumbPointerDown: p,
onThumbPositionChange: h,
onDragScroll: v,
onWheelScroll: w,
onResize: b,
...g
} = e, x = m(y, l), [C, S] = (0, r.useState)(null), R = (0, n.useComposedRefs)(o, e => S(e)), E = (0, r.useRef)(null), j = (0, r.useRef)(""), T = x.viewport, P = a.content - a.viewport, k = (0, i.useCallbackRef)(w), L = (0, i.useCallbackRef)(h), _ = M(b, 10);
function A(e) {
E.current && v({
x: e.clientX - E.current.left,
y: e.clientY - E.current.top
})
}
return (0, r.useEffect)(() => {
let e = e => {
let r = e.target;
C?.contains(r) && k(e, P)
};
return document.addEventListener("wheel", e, {
passive: !1
}), () => document.removeEventListener("wheel", e, {
passive: !1
})
}, [T, C, P, k]), (0, r.useEffect)(L, [a, L]), X(C, _), X(x.content, _), (0, u.jsx)(N, {
scope: l,
scrollbar: C,
hasThumb: s,
onThumbChange: (0, i.useCallbackRef)(c),
onThumbPointerUp: (0, i.useCallbackRef)(f),
onThumbPositionChange: L,
onThumbPointerDown: (0, i.useCallbackRef)(p),
children: (0, u.jsx)(t.Primitive.div, {
...g,
ref: R,
style: {
position: "absolute",
...g.style
},
onPointerDown: (0, d.composeEventHandlers)(e.onPointerDown, e => {
0 === e.button && (e.target.setPointerCapture(e.pointerId), E.current = C.getBoundingClientRect(), j.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", x.viewport && (x.viewport.style.scrollBehavior = "auto"), A(e))
}),
onPointerMove: (0, d.composeEventHandlers)(e.onPointerMove, A),
onPointerUp: (0, d.composeEventHandlers)(e.onPointerUp, e => {
let r = e.target;
r.hasPointerCapture(e.pointerId) && r.releasePointerCapture(e.pointerId), document.body.style.webkitUserSelect = j.current, x.viewport && (x.viewport.style.scrollBehavior = ""), E.current = null
})
})
})
}),
L = "ScrollAreaThumb",
_ = (0, r.forwardRef)((e, r) => {
let {
forceMount: t,
...l
} = e, n = P(L, e.__scopeScrollArea);
return (0, u.jsx)(o.Presence, {
present: t || n.hasThumb,
children: (0, u.jsx)(A, {
ref: r,
...l
})
})
}),
A = (0, r.forwardRef)((e, o) => {
let {
__scopeScrollArea: l,
style: i,
...a
} = e, s = m(L, l), c = P(L, l), {
onThumbPositionChange: f
} = c, p = (0, n.useComposedRefs)(o, e => c.onThumbChange(e)), h = (0, r.useRef)(void 0), v = M(() => {
h.current && (h.current(), h.current = void 0)
}, 100);
return (0, r.useEffect)(() => {
let e = s.viewport;
if (e) {
let r = () => {
v(), h.current || (h.current = U(e, f), f())
};
return f(), e.addEventListener("scroll", r), () => e.removeEventListener("scroll", r)
}
}, [s.viewport, v, f]), (0, u.jsx)(t.Primitive.div, {
"data-state": c.hasThumb ? "visible" : "hidden",
...a,
ref: p,
style: {
width: "var(--radix-scroll-area-thumb-width)",
height: "var(--radix-scroll-area-thumb-height)",
...i
},
onPointerDownCapture: (0, d.composeEventHandlers)(e.onPointerDownCapture, e => {
let r = e.target.getBoundingClientRect(),
t = e.clientX - r.left,
o = e.clientY - r.top;
c.onThumbPointerDown({
x: t,
y: o
})
}),
onPointerUp: (0, d.composeEventHandlers)(e.onPointerUp, c.onThumbPointerUp)
})
});
_.displayName = L;
var D = "ScrollAreaCorner",
z = (0, r.forwardRef)((e, r) => {
let t = m(D, e.__scopeScrollArea),
o = !!(t.scrollbarX && t.scrollbarY);
return "scroll" !== t.type && o ? (0, u.jsx)(H, {
...e,
ref: r
}) : null
});
z.displayName = D;
var H = (0, r.forwardRef)((e, o) => {
let {
__scopeScrollArea: l,
...n
} = e, i = m(D, l), [a, s] = (0, r.useState)(0), [c, d] = (0, r.useState)(0), f = !!(a && c);
return X(i.scrollbarX, () => {
let e = i.scrollbarX?.offsetHeight || 0;
i.onCornerHeightChange(e), d(e)
}), X(i.scrollbarY, () => {
let e = i.scrollbarY?.offsetWidth || 0;
i.onCornerWidthChange(e), s(e)
}), f ? (0, u.jsx)(t.Primitive.div, {
...n,
ref: o,
style: {
width: a,
height: c,
position: "absolute",
right: "ltr" === i.dir ? 0 : void 0,
left: "rtl" === i.dir ? 0 : void 0,
bottom: 0,
...e.style
}
}) : null
});
function W(e) {
return e ? parseInt(e, 10) : 0
}
function B(e, r) {
let t = e / r;
return isNaN(t) ? 0 : t
}
function O(e) {
let r = B(e.viewport, e.content),
t = e.scrollbar.paddingStart + e.scrollbar.paddingEnd;
return Math.max((e.scrollbar.size - t) * r, 18)
}
function I(e, r, t = "ltr") {
let o = O(r),
l = r.scrollbar.paddingStart + r.scrollbar.paddingEnd,
n = r.scrollbar.size - l,
i = r.content - r.viewport,
a = (0, c.clamp)(e, "ltr" === t ? [0, i] : [-1 * i, 0]);
return V([0, i], [0, n - o])(a)
}
function V(e, r) {
return t => {
if (e[0] === e[1] || r[0] === r[1]) return r[0];
let o = (r[1] - r[0]) / (e[1] - e[0]);
return r[0] + o * (t - e[0])
}
}
var U = (e, r = () => {}) => {
let t = {
left: e.scrollLeft,
top: e.scrollTop
},
o = 0;
return ! function l() {
let n = {
left: e.scrollLeft,
top: e.scrollTop
},
i = t.left !== n.left,
a = t.top !== n.top;
(i || a) && r(), t = n, o = window.requestAnimationFrame(l)
}(), () => window.cancelAnimationFrame(o)
};
function M(e, t) {
let o = (0, i.useCallbackRef)(e),
l = (0, r.useRef)(0);
return (0, r.useEffect)(() => () => window.clearTimeout(l.current), []), (0, r.useCallback)(() => {
window.clearTimeout(l.current), l.current = window.setTimeout(o, t)
}, [o, t])
}
function X(e, r) {
let t = (0, i.useCallbackRef)(r);
(0, s.useLayoutEffect)(() => {
let r = 0;
if (e) {
let o = new ResizeObserver(() => {
cancelAnimationFrame(r), r = window.requestAnimationFrame(t)
});
return o.observe(e), () => {
window.cancelAnimationFrame(r), o.unobserve(e)
}
}
}, [e, t])
}
var Y = w,
F = g,
$ = x,
K = z
},
745814: e => {
"use strict";
e.s({
ScrollArea: () => n,
ScrollBar: () => a,
ScrollViewport: () => i
});
var r = e.i(892988),
t = e.i(270),
o = e.i(378469);
e.i(806681);
var l = e.i(81805);
let n = (0, o.forwardRef)(({
className: e,
children: o,
...n
}, i) => (0, r.jsxs)(t.Root, {
ref: i,
className: (0, l.cn)("overflow-hidden", e),
...n,
children: [o, (0, r.jsx)(t.Corner, {}), (0, r.jsx)(a, {
orientation: "vertical"
})]
}));
n.displayName = t.Root.displayName;
let i = (0, o.forwardRef)(({
className: e,
children: o,
...n
}, i) => (0, r.jsx)(t.Viewport, {
ref: i,
className: (0, l.cn)("size-full rounded-[inherit]", e),
...n,
children: o
}));
i.displayName = t.Viewport.displayName;
let a = (0, o.forwardRef)(({
className: e,
orientation: o = "vertical",
...n
}, i) => (0, r.jsx)(t.Scrollbar, {
ref: i,
orientation: o,
className: (0, l.cn)("flex select-none data-[state=hidden]:animate-fd-fade-out", "vertical" === o && "h-full w-1.5", "horizontal" === o && "h-1.5 flex-col", e),
...n,
children: (0, r.jsx)(t.ScrollAreaThumb, {
className: "relative flex-1 rounded-full bg-fd-border"
})
}));
a.displayName = t.Scrollbar.displayName
},
849238: e => {
"use strict";
e.s({
__iconNode: () => t,
default: () => o
});
var r = e.i(180981);
let t = [
["rect", {
width: "14",
height: "14",
x: "8",
y: "8",
rx: "2",
ry: "2",
key: "17jyea"
}],
["path", {
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
key: "zix9uf"
}]
],
o = (0, r.default)("Copy", t)
},
812280: e => {
"use strict";
e.s({
Copy: () => r.default
});
var r = e.i(849238)
},
885718: e => {
"use strict";
e.s({
CodeBlock: () => d,
Pre: () => c
});
var r = e.i(892988),
t = e.i(511148),
o = e.i(812280),
l = e.i(378469);
e.i(806681);
var n = e.i(81805),
i = e.i(745814),
a = e.i(664703),
s = e.i(388398);
let c = (0, l.forwardRef)(({
className: e,
...t
}, o) => (0, r.jsx)("pre", {
ref: o,
className: (0, n.cn)("p-4 focus-visible:outline-none", e),
...t,
children: t.children
}));
c.displayName = "Pre";
let d = (0, l.forwardRef)(({
title: e,
allowCopy: t = !0,
keepBackground: o = !1,
icon: a,
viewportProps: s,
...c
}, d) => {
let f = (0, l.useRef)(null),
p = (0, l.useCallback)(() => {
let e = f.current?.getElementsByTagName("pre").item(0);
if (!e) return;
let r = e.cloneNode(!0);
r.querySelectorAll(".nd-copy-ignore").forEach(e => {
e.remove()
}), navigator.clipboard.writeText(r.textContent ?? "")
}, []);
return (0, r.jsxs)("figure", {
ref: d,
...c,
className: (0, n.cn)("not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm", o && "bg-[var(--shiki-light-bg)] dark:bg-[var(--shiki-dark-bg)]", c.className),
children: [e ? (0, r.jsxs)("div", {
className: "flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5",
children: [a ? (0, r.jsx)("div", {
className: "text-fd-muted-foreground [&_svg]:size-3.5",
dangerouslySetInnerHTML: "string" == typeof a ? {
__html: a
} : void 0,
children: "string" != typeof a ? a : null
}) : null, (0, r.jsx)("figcaption", {
className: "flex-1 truncate text-fd-muted-foreground",
children: e
}), t ? (0, r.jsx)(u, {
className: "-me-2",
onCopy: p
}) : null]
}) : t && (0, r.jsx)(u, {
className: "absolute right-2 top-2 z-[2] backdrop-blur-md",
onCopy: p
}), (0, r.jsxs)(i.ScrollArea, {
ref: f,
dir: "ltr",
children: [(0, r.jsx)(i.ScrollViewport, {
...s,
className: (0, n.cn)("max-h-[600px]", s?.className),
children: c.children
}), (0, r.jsx)(i.ScrollBar, {
orientation: "horizontal"
})]
})]
})
});
function u({
className: e,
onCopy: l,
...i
}) {
let [c, d] = (0, a.useCopyButton)(l);
return (0, r.jsxs)("button", {
type: "button",
className: (0, n.cn)((0, s.buttonVariants)({
color: "ghost"
}), "transition-opacity group-hover:opacity-100", !c && "opacity-0", e),
"aria-label": "Copy Text",
onClick: d,
...i,
children: [(0, r.jsx)(t.Check, {
className: (0, n.cn)("size-3.5 transition-transform", !c && "scale-0")
}), (0, r.jsx)(o.Copy, {
className: (0, n.cn)("absolute size-3.5 transition-transform", c && "scale-0")
})]
})
}
d.displayName = "CodeBlock"
},
837119: e => {
e.v(r => Promise.all(["static/chunks/04eb764e93f8985d.js", "static/chunks/6287bba3f3d23471.js", "static/chunks/17edb7ecbfcf3b25.js", "static/chunks/55aabdc15011497c.js", "static/chunks/8d2d386cba341659.js"].map(r => e.l(r))).then(() => r(294739)))
},
358797: e => {
e.v(r => Promise.all(["static/chunks/a0b97575a3b068d9.js"].map(r => e.l(r))).then(() => r(582758)))
},
733720: e => {
e.v(r => Promise.all(["static/chunks/842664a841409f1c.js"].map(r => e.l(r))).then(() => r(950026)))
},
230882: e => {
e.v(r => Promise.all(["static/chunks/7ee02ea74ed188b6.js", "static/chunks/17edb7ecbfcf3b25.js"].map(r => e.l(r))).then(() => r(932436)))
}
}]);