UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

1,383 lines (1,382 loc) 47.5 kB
(function() { try { var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {}; e.SENTRY_RELEASE = { id: "3.7.8" }; var t = new e.Error().stack; t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "64230fce-2958-4ba7-bb9d-ccbd237b6d3c", e._sentryDebugIdIdentifier = "sentry-dbid-64230fce-2958-4ba7-bb9d-ccbd237b6d3c"); } catch {} })(); import { r as e } from "./rolldown-runtime-YBAZwyzS.js"; import { t } from "./react-Di3Pmpio.js"; import { t as n } from "./jsx-runtime-C8yjdFgZ.js"; import { t as r } from "./react-dom-xeogvqlp.js"; import { O as i, T as a, g as o, l as s, s as c, u as l, y as u } from "./flex-CegveOzn.js"; import { i as d, n as f, o as p, r as m, s as h } from "./dist-CVz2SjQb.js"; import { _ as g, a as _, b as v, c as y, d as b, f as x, g as S, h as C, i as w, l as T, m as E, n as D, o as O, p as k, r as A, s as j, t as ee, u as te, v as ne } from "./theme-Du1VS-C5.js"; import { t as M } from "./dist-BeI1dlr0.js"; import { t as re } from "./classnames-BRCgwycl.js"; import { t as ie } from "./settings-item-Ie1tNhGr.js"; //#region ../../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs function N(e, [t, n]) { return Math.min(n, Math.max(t, e)); } //#endregion //#region ../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types_e0729a9f5f9e9eb4a8e3fe721aeb1224/node_modules/@radix-ui/react-scroll-area/dist/index.mjs var P = /* @__PURE__ */ e(t(), 1), F = n(); function ae(e, t) { return P.useReducer((e, n) => { let r = t[e][n]; return r == null ? e : r; }, e); } var I = "ScrollArea", [L, R] = p(I), [oe, z] = L(I), se = P.forwardRef((e, t) => { let { __scopeScrollArea: n, type: r = "hover", dir: a, scrollHideDelay: o = 600, ...s } = e, [c, l] = P.useState(null), [u, d] = P.useState(null), [f, p] = P.useState(null), [m, g] = P.useState(null), [_, v] = P.useState(null), [y, b] = P.useState(0), [x, S] = P.useState(0), [w, T] = P.useState(!1), [E, D] = P.useState(!1), O = i(t, (e) => l(e)), k = C(a); return /* @__PURE__ */ (0, F.jsx)(oe, { scope: n, type: r, dir: k, scrollHideDelay: o, scrollArea: c, viewport: u, onViewportChange: d, content: f, onContentChange: p, scrollbarX: m, onScrollbarXChange: g, scrollbarXEnabled: w, onScrollbarXEnabledChange: T, scrollbarY: _, onScrollbarYChange: v, scrollbarYEnabled: E, onScrollbarYEnabledChange: D, onCornerWidthChange: b, onCornerHeightChange: S, children: /* @__PURE__ */ (0, F.jsx)(h.div, { dir: k, ...s, ref: O, style: { position: "relative", "--radix-scroll-area-corner-width": y + "px", "--radix-scroll-area-corner-height": x + "px", ...e.style } }) }); }); se.displayName = I; var ce = "ScrollAreaViewport", le = P.forwardRef((e, t) => { let { __scopeScrollArea: n, children: r, nonce: a, ...o } = e, s = z(ce, n), c = i(t, P.useRef(null), s.onViewportChange); return /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.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 }), /* @__PURE__ */ (0, F.jsx)(h.div, { "data-radix-scroll-area-viewport": "", ...o, ref: c, style: { overflowX: s.scrollbarXEnabled ? "scroll" : "hidden", overflowY: s.scrollbarYEnabled ? "scroll" : "hidden", ...e.style }, children: /* @__PURE__ */ (0, F.jsx)("div", { ref: s.onContentChange, style: { minWidth: "100%", display: "table" }, children: r }) })] }); }); le.displayName = ce; var B = "ScrollAreaScrollbar", ue = P.forwardRef((e, t) => { let { forceMount: n, ...r } = e, i = z(B, e.__scopeScrollArea), { onScrollbarXEnabledChange: a, onScrollbarYEnabledChange: o } = i, s = e.orientation === "horizontal"; return P.useEffect(() => (s ? a(!0) : o(!0), () => { s ? a(!1) : o(!1); }), [ s, a, o ]), i.type === "hover" ? /* @__PURE__ */ (0, F.jsx)(de, { ...r, ref: t, forceMount: n }) : i.type === "scroll" ? /* @__PURE__ */ (0, F.jsx)(fe, { ...r, ref: t, forceMount: n }) : i.type === "auto" ? /* @__PURE__ */ (0, F.jsx)(pe, { ...r, ref: t, forceMount: n }) : i.type === "always" ? /* @__PURE__ */ (0, F.jsx)(me, { ...r, ref: t }) : null; }); ue.displayName = B; var de = P.forwardRef((e, t) => { let { forceMount: n, ...r } = e, i = z(B, e.__scopeScrollArea), [a, o] = P.useState(!1); return P.useEffect(() => { let e = i.scrollArea, t = 0; if (e) { let n = () => { window.clearTimeout(t), o(!0); }, r = () => { t = window.setTimeout(() => o(!1), i.scrollHideDelay); }; return e.addEventListener("pointerenter", n), e.addEventListener("pointerleave", r), () => { window.clearTimeout(t), e.removeEventListener("pointerenter", n), e.removeEventListener("pointerleave", r); }; } }, [i.scrollArea, i.scrollHideDelay]), /* @__PURE__ */ (0, F.jsx)(g, { present: n || a, children: /* @__PURE__ */ (0, F.jsx)(pe, { "data-state": a ? "visible" : "hidden", ...r, ref: t }) }); }), fe = P.forwardRef((e, t) => { let { forceMount: n, ...r } = e, i = z(B, e.__scopeScrollArea), a = e.orientation === "horizontal", o = U(() => c("SCROLL_END"), 100), [s, c] = ae("hidden", { hidden: { SCROLL: "scrolling" }, scrolling: { SCROLL_END: "idle", POINTER_ENTER: "interacting" }, interacting: { SCROLL: "interacting", POINTER_LEAVE: "idle" }, idle: { HIDE: "hidden", SCROLL: "scrolling", POINTER_ENTER: "interacting" } }); return P.useEffect(() => { if (s === "idle") { let e = window.setTimeout(() => c("HIDE"), i.scrollHideDelay); return () => window.clearTimeout(e); } }, [ s, i.scrollHideDelay, c ]), P.useEffect(() => { let e = i.viewport, t = a ? "scrollLeft" : "scrollTop"; if (e) { let n = e[t], r = () => { let r = e[t]; n !== r && (c("SCROLL"), o()), n = r; }; return e.addEventListener("scroll", r), () => e.removeEventListener("scroll", r); } }, [ i.viewport, a, c, o ]), /* @__PURE__ */ (0, F.jsx)(g, { present: n || s !== "hidden", children: /* @__PURE__ */ (0, F.jsx)(me, { "data-state": s === "hidden" ? "hidden" : "visible", ...r, ref: t, onPointerEnter: d(e.onPointerEnter, () => c("POINTER_ENTER")), onPointerLeave: d(e.onPointerLeave, () => c("POINTER_LEAVE")) }) }); }), pe = P.forwardRef((e, t) => { let n = z(B, e.__scopeScrollArea), { forceMount: r, ...i } = e, [a, o] = P.useState(!1), s = e.orientation === "horizontal", c = U(() => { if (n.viewport) { let e = n.viewport.offsetWidth < n.viewport.scrollWidth, t = n.viewport.offsetHeight < n.viewport.scrollHeight; o(s ? e : t); } }, 10); return W(n.viewport, c), W(n.content, c), /* @__PURE__ */ (0, F.jsx)(g, { present: r || a, children: /* @__PURE__ */ (0, F.jsx)(me, { "data-state": a ? "visible" : "hidden", ...i, ref: t }) }); }), me = P.forwardRef((e, t) => { let { orientation: n = "vertical", ...r } = e, i = z(B, e.__scopeScrollArea), a = P.useRef(null), o = P.useRef(0), [s, c] = P.useState({ content: 0, viewport: 0, scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 } }), l = Ee(s.viewport, s.content), u = { ...r, sizes: s, onSizesChange: c, hasThumb: l > 0 && l < 1, onThumbChange: (e) => a.current = e, onThumbPointerUp: () => o.current = 0, onThumbPointerDown: (e) => o.current = e }; function d(e, t) { return De(e, o.current, s, t); } return n === "horizontal" ? /* @__PURE__ */ (0, F.jsx)(he, { ...u, ref: t, onThumbPositionChange: () => { if (i.viewport && a.current) { let e = i.viewport.scrollLeft, t = Oe(e, s, i.dir); a.current.style.transform = `translate3d(${t}px, 0, 0)`; } }, onWheelScroll: (e) => { i.viewport && (i.viewport.scrollLeft = e); }, onDragScroll: (e) => { i.viewport && (i.viewport.scrollLeft = d(e, i.dir)); } }) : n === "vertical" ? /* @__PURE__ */ (0, F.jsx)(ge, { ...u, ref: t, onThumbPositionChange: () => { if (i.viewport && a.current) { let e = i.viewport.scrollTop, t = Oe(e, s); a.current.style.transform = `translate3d(0, ${t}px, 0)`; } }, onWheelScroll: (e) => { i.viewport && (i.viewport.scrollTop = e); }, onDragScroll: (e) => { i.viewport && (i.viewport.scrollTop = d(e)); } }) : null; }), he = P.forwardRef((e, t) => { let { sizes: n, onSizesChange: r, ...a } = e, o = z(B, e.__scopeScrollArea), [s, c] = P.useState(), l = P.useRef(null), u = i(t, l, o.onScrollbarXChange); return P.useEffect(() => { l.current && c(getComputedStyle(l.current)); }, [l]), /* @__PURE__ */ (0, F.jsx)(ye, { "data-orientation": "horizontal", ...a, ref: u, sizes: n, style: { bottom: 0, left: o.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0, right: o.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0, "--radix-scroll-area-thumb-width": H(n) + "px", ...e.style }, onThumbPointerDown: (t) => e.onThumbPointerDown(t.x), onDragScroll: (t) => e.onDragScroll(t.x), onWheelScroll: (t, n) => { if (o.viewport) { let r = o.viewport.scrollLeft + t.deltaX; e.onWheelScroll(r), Ae(r, n) && t.preventDefault(); } }, onResize: () => { l.current && o.viewport && s && r({ content: o.viewport.scrollWidth, viewport: o.viewport.offsetWidth, scrollbar: { size: l.current.clientWidth, paddingStart: V(s.paddingLeft), paddingEnd: V(s.paddingRight) } }); } }); }), ge = P.forwardRef((e, t) => { let { sizes: n, onSizesChange: r, ...a } = e, o = z(B, e.__scopeScrollArea), [s, c] = P.useState(), l = P.useRef(null), u = i(t, l, o.onScrollbarYChange); return P.useEffect(() => { l.current && c(getComputedStyle(l.current)); }, [l]), /* @__PURE__ */ (0, F.jsx)(ye, { "data-orientation": "vertical", ...a, ref: u, sizes: n, style: { top: 0, right: o.dir === "ltr" ? 0 : void 0, left: o.dir === "rtl" ? 0 : void 0, bottom: "var(--radix-scroll-area-corner-height)", "--radix-scroll-area-thumb-height": H(n) + "px", ...e.style }, onThumbPointerDown: (t) => e.onThumbPointerDown(t.y), onDragScroll: (t) => e.onDragScroll(t.y), onWheelScroll: (t, n) => { if (o.viewport) { let r = o.viewport.scrollTop + t.deltaY; e.onWheelScroll(r), Ae(r, n) && t.preventDefault(); } }, onResize: () => { l.current && o.viewport && s && r({ content: o.viewport.scrollHeight, viewport: o.viewport.offsetHeight, scrollbar: { size: l.current.clientHeight, paddingStart: V(s.paddingTop), paddingEnd: V(s.paddingBottom) } }); } }); }), [_e, ve] = L(B), ye = P.forwardRef((e, t) => { let { __scopeScrollArea: n, sizes: r, hasThumb: a, onThumbChange: o, onThumbPointerUp: s, onThumbPointerDown: c, onThumbPositionChange: l, onDragScroll: u, onWheelScroll: f, onResize: p, ...m } = e, g = z(B, n), [_, v] = P.useState(null), y = i(t, (e) => v(e)), b = P.useRef(null), x = P.useRef(""), S = g.viewport, C = r.content - r.viewport, w = E(f), T = E(l), D = U(p, 10); function O(e) { b.current && u({ x: e.clientX - b.current.left, y: e.clientY - b.current.top }); } return P.useEffect(() => { let e = (e) => { let t = e.target; _ != null && _.contains(t) && w(e, C); }; return document.addEventListener("wheel", e, { passive: !1 }), () => document.removeEventListener("wheel", e, { passive: !1 }); }, [ S, _, C, w ]), P.useEffect(T, [r, T]), W(_, D), W(g.content, D), /* @__PURE__ */ (0, F.jsx)(_e, { scope: n, scrollbar: _, hasThumb: a, onThumbChange: E(o), onThumbPointerUp: E(s), onThumbPositionChange: T, onThumbPointerDown: E(c), children: /* @__PURE__ */ (0, F.jsx)(h.div, { ...m, ref: y, style: { position: "absolute", ...m.style }, onPointerDown: d(e.onPointerDown, (e) => { e.button === 0 && (e.target.setPointerCapture(e.pointerId), b.current = _.getBoundingClientRect(), x.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", g.viewport && (g.viewport.style.scrollBehavior = "auto"), O(e)); }), onPointerMove: d(e.onPointerMove, O), onPointerUp: d(e.onPointerUp, (e) => { let t = e.target; t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), document.body.style.webkitUserSelect = x.current, g.viewport && (g.viewport.style.scrollBehavior = ""), b.current = null; }) }) }); }), be = "ScrollAreaThumb", xe = P.forwardRef((e, t) => { let { forceMount: n, ...r } = e, i = ve(be, e.__scopeScrollArea); return /* @__PURE__ */ (0, F.jsx)(g, { present: n || i.hasThumb, children: /* @__PURE__ */ (0, F.jsx)(Se, { ref: t, ...r }) }); }), Se = P.forwardRef((e, t) => { let { __scopeScrollArea: n, style: r, ...a } = e, o = z(be, n), s = ve(be, n), { onThumbPositionChange: c } = s, l = i(t, (e) => s.onThumbChange(e)), u = P.useRef(void 0), f = U(() => { u.current && (u.current(), u.current = void 0); }, 100); return P.useEffect(() => { let e = o.viewport; if (e) { let t = () => { f(), u.current || (u.current = je(e, c), c()); }; return c(), e.addEventListener("scroll", t), () => e.removeEventListener("scroll", t); } }, [ o.viewport, f, c ]), /* @__PURE__ */ (0, F.jsx)(h.div, { "data-state": s.hasThumb ? "visible" : "hidden", ...a, ref: l, style: { width: "var(--radix-scroll-area-thumb-width)", height: "var(--radix-scroll-area-thumb-height)", ...r }, onPointerDownCapture: d(e.onPointerDownCapture, (e) => { let t = e.target.getBoundingClientRect(), n = e.clientX - t.left, r = e.clientY - t.top; s.onThumbPointerDown({ x: n, y: r }); }), onPointerUp: d(e.onPointerUp, s.onThumbPointerUp) }); }); xe.displayName = be; var Ce = "ScrollAreaCorner", we = P.forwardRef((e, t) => { let n = z(Ce, e.__scopeScrollArea), r = !!(n.scrollbarX && n.scrollbarY); return n.type !== "scroll" && r ? /* @__PURE__ */ (0, F.jsx)(Te, { ...e, ref: t }) : null; }); we.displayName = Ce; var Te = P.forwardRef((e, t) => { let { __scopeScrollArea: n, ...r } = e, i = z(Ce, n), [a, o] = P.useState(0), [s, c] = P.useState(0), l = !!(a && s); return W(i.scrollbarX, () => { var e; let t = ((e = i.scrollbarX) == null ? void 0 : e.offsetHeight) || 0; i.onCornerHeightChange(t), c(t); }), W(i.scrollbarY, () => { var e; let t = ((e = i.scrollbarY) == null ? void 0 : e.offsetWidth) || 0; i.onCornerWidthChange(t), o(t); }), l ? /* @__PURE__ */ (0, F.jsx)(h.div, { ...r, ref: t, style: { width: a, height: s, position: "absolute", right: i.dir === "ltr" ? 0 : void 0, left: i.dir === "rtl" ? 0 : void 0, bottom: 0, ...e.style } }) : null; }); function V(e) { return e ? parseInt(e, 10) : 0; } function Ee(e, t) { let n = e / t; return isNaN(n) ? 0 : n; } function H(e) { let t = Ee(e.viewport, e.content), n = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, r = (e.scrollbar.size - n) * t; return Math.max(r, 18); } function De(e, t, n, r = "ltr") { let i = H(n), a = i / 2, o = t || a, s = i - o, c = n.scrollbar.paddingStart + o, l = n.scrollbar.size - n.scrollbar.paddingEnd - s, u = n.content - n.viewport, d = r === "ltr" ? [0, u] : [u * -1, 0]; return ke([c, l], d)(e); } function Oe(e, t, n = "ltr") { let r = H(t), i = t.scrollbar.paddingStart + t.scrollbar.paddingEnd, a = t.scrollbar.size - i, o = t.content - t.viewport, s = a - r, c = N(e, n === "ltr" ? [0, o] : [o * -1, 0]); return ke([0, o], [0, s])(c); } function ke(e, t) { return (n) => { if (e[0] === e[1] || t[0] === t[1]) return t[0]; let r = (t[1] - t[0]) / (e[1] - e[0]); return t[0] + r * (n - e[0]); }; } function Ae(e, t) { return e > 0 && e < t; } var je = (e, t = () => {}) => { let n = { left: e.scrollLeft, top: e.scrollTop }, r = 0; return (function i() { let a = { left: e.scrollLeft, top: e.scrollTop }, o = n.left !== a.left, s = n.top !== a.top; (o || s) && t(), n = a, r = window.requestAnimationFrame(i); })(), () => window.cancelAnimationFrame(r); }; function U(e, t) { let n = E(e), r = P.useRef(0); return P.useEffect(() => () => window.clearTimeout(r.current), []), P.useCallback(() => { window.clearTimeout(r.current), r.current = window.setTimeout(n, t); }, [n, t]); } function W(e, t) { let n = E(t); m(() => { let t = 0; if (e) { let r = new ResizeObserver(() => { cancelAnimationFrame(t), t = window.requestAnimationFrame(n); }); return r.observe(e), () => { window.cancelAnimationFrame(t), r.unobserve(e); }; } }, [e, n]); } var Me = se, Ne = le, Pe = ue, Fe = xe, Ie = /* @__PURE__ */ e(r(), 1), Le = [ " ", "Enter", "ArrowUp", "ArrowDown" ], Re = [" ", "Enter"], G = "Select", [ze, Be, Ve] = ne(G), [K, He] = p(G, [Ve, j]), Ue = j(), [We, q] = K(G), [Ge, Ke] = K(G), qe = (e) => { let { __scopeSelect: t, children: n, open: r, defaultOpen: i, onOpenChange: a, value: o, defaultValue: s, onValueChange: c, dir: l, name: u, autoComplete: d, disabled: p, required: m, form: h } = e, g = Ue(t), [_, v] = P.useState(null), [y, b] = P.useState(null), [x, w] = P.useState(!1), T = C(l), [E, D] = f({ prop: r, defaultProp: i == null ? !1 : i, onChange: a, caller: G }), [k, A] = f({ prop: o, defaultProp: s, onChange: c, caller: G }), j = P.useRef(null), ee = _ ? h || !!_.closest("form") : !0, [te, ne] = P.useState(/* @__PURE__ */ new Set()), M = Array.from(te).map((e) => e.props.value).join(";"); return /* @__PURE__ */ (0, F.jsx)(O, { ...g, children: /* @__PURE__ */ (0, F.jsxs)(We, { required: m, scope: t, trigger: _, onTriggerChange: v, valueNode: y, onValueNodeChange: b, valueNodeHasChildren: x, onValueNodeHasChildrenChange: w, contentId: S(), value: k, onValueChange: A, open: E, onOpenChange: D, dir: T, triggerPointerDownPosRef: j, disabled: p, children: [/* @__PURE__ */ (0, F.jsx)(ze.Provider, { scope: t, children: /* @__PURE__ */ (0, F.jsx)(Ge, { scope: e.__scopeSelect, onNativeOptionAdd: P.useCallback((e) => { ne((t) => new Set(t).add(e)); }, []), onNativeOptionRemove: P.useCallback((e) => { ne((t) => { let n = new Set(t); return n.delete(e), n; }); }, []), children: n }) }), ee ? /* @__PURE__ */ (0, F.jsxs)(Lt, { "aria-hidden": !0, required: m, tabIndex: -1, name: u, autoComplete: d, value: k, onChange: (e) => A(e.target.value), disabled: p, form: h, children: [k === void 0 ? /* @__PURE__ */ (0, F.jsx)("option", { value: "" }) : null, Array.from(te)] }, M) : null] }) }); }; qe.displayName = G; var Je = "SelectTrigger", Ye = P.forwardRef((e, t) => { let { __scopeSelect: n, disabled: r = !1, ...a } = e, o = Ue(n), s = q(Je, n), c = s.disabled || r, l = i(t, s.onTriggerChange), u = Be(n), f = P.useRef("touch"), [p, m, g] = zt((e) => { let t = u().filter((e) => !e.disabled), n = Bt(t, e, t.find((e) => e.value === s.value)); n !== void 0 && s.onValueChange(n.value); }), _ = (e) => { c || (s.onOpenChange(!0), g()), e && (s.triggerPointerDownPosRef.current = { x: Math.round(e.pageX), y: Math.round(e.pageY) }); }; return /* @__PURE__ */ (0, F.jsx)(A, { asChild: !0, ...o, children: /* @__PURE__ */ (0, F.jsx)(h.button, { type: "button", role: "combobox", "aria-controls": s.contentId, "aria-expanded": s.open, "aria-required": s.required, "aria-autocomplete": "none", dir: s.dir, "data-state": s.open ? "open" : "closed", disabled: c, "data-disabled": c ? "" : void 0, "data-placeholder": Rt(s.value) ? "" : void 0, ...a, ref: l, onClick: d(a.onClick, (e) => { e.currentTarget.focus(), f.current !== "mouse" && _(e); }), onPointerDown: d(a.onPointerDown, (e) => { f.current = e.pointerType; let t = e.target; t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), e.button === 0 && e.ctrlKey === !1 && e.pointerType === "mouse" && (_(e), e.preventDefault()); }), onKeyDown: d(a.onKeyDown, (e) => { let t = p.current !== ""; !(e.ctrlKey || e.altKey || e.metaKey) && e.key.length === 1 && m(e.key), !(t && e.key === " ") && Le.includes(e.key) && (_(), e.preventDefault()); }) }) }); }); Ye.displayName = Je; var Xe = "SelectValue", Ze = P.forwardRef((e, t) => { let { __scopeSelect: n, className: r, style: a, children: o, placeholder: s = "", ...c } = e, l = q(Xe, n), { onValueNodeHasChildrenChange: u } = l, d = o !== void 0, f = i(t, l.onValueNodeChange); return m(() => { u(d); }, [u, d]), /* @__PURE__ */ (0, F.jsx)(h.span, { ...c, ref: f, style: { pointerEvents: "none" }, children: Rt(l.value) ? /* @__PURE__ */ (0, F.jsx)(F.Fragment, { children: s }) : o }); }); Ze.displayName = Xe; var Qe = "SelectIcon", $e = P.forwardRef((e, t) => { let { __scopeSelect: n, children: r, ...i } = e; return /* @__PURE__ */ (0, F.jsx)(h.span, { "aria-hidden": !0, ...i, ref: t, children: r || "▼" }); }); $e.displayName = Qe; var et = "SelectPortal", tt = (e) => /* @__PURE__ */ (0, F.jsx)(b, { asChild: !0, ...e }); tt.displayName = et; var J = "SelectContent", nt = P.forwardRef((e, t) => { let n = q(J, e.__scopeSelect), [r, i] = P.useState(); if (m(() => { i(new DocumentFragment()); }, []), !n.open) { let t = r; return t ? Ie.createPortal(/* @__PURE__ */ (0, F.jsx)(rt, { scope: e.__scopeSelect, children: /* @__PURE__ */ (0, F.jsx)(ze.Slot, { scope: e.__scopeSelect, children: /* @__PURE__ */ (0, F.jsx)("div", { children: e.children }) }) }), t) : null; } return /* @__PURE__ */ (0, F.jsx)(ot, { ...e, ref: t }); }); nt.displayName = J; var Y = 10, [rt, X] = K(J), it = "SelectContentImpl", at = a("SelectContent.RemoveScroll"), ot = P.forwardRef((e, t) => { let { __scopeSelect: n, position: r = "item-aligned", onCloseAutoFocus: a, onEscapeKeyDown: o, onPointerDownOutside: s, side: c, sideOffset: l, align: u, alignOffset: f, arrowPadding: p, collisionBoundary: m, collisionPadding: h, sticky: g, hideWhenDetached: _, avoidCollisions: v, ...b } = e, S = q(J, n), [C, w] = P.useState(null), [E, D] = P.useState(null), O = i(t, (e) => w(e)), [A, j] = P.useState(null), [ee, ne] = P.useState(null), M = Be(n), [re, ie] = P.useState(!1), N = P.useRef(!1); P.useEffect(() => { if (C) return y(C); }, [C]), te(); let ae = P.useCallback((e) => { let [t, ...n] = M().map((e) => e.ref.current), [r] = n.slice(-1), i = document.activeElement; for (let n of e) if (n === i || (n == null || n.scrollIntoView({ block: "nearest" }), n === t && E && (E.scrollTop = 0), n === r && E && (E.scrollTop = E.scrollHeight), n == null || n.focus(), document.activeElement !== i)) return; }, [M, E]), I = P.useCallback(() => ae([A, C]), [ ae, A, C ]); P.useEffect(() => { re && I(); }, [re, I]); let { onOpenChange: L, triggerPointerDownPosRef: R } = S; P.useEffect(() => { if (C) { let e = { x: 0, y: 0 }, t = (t) => { var n, r, i, a; e = { x: Math.abs(Math.round(t.pageX) - ((n = (r = R.current) == null ? void 0 : r.x) == null ? 0 : n)), y: Math.abs(Math.round(t.pageY) - ((i = (a = R.current) == null ? void 0 : a.y) == null ? 0 : i)) }; }, n = (n) => { e.x <= 10 && e.y <= 10 ? n.preventDefault() : C.contains(n.target) || L(!1), document.removeEventListener("pointermove", t), R.current = null; }; return R.current !== null && (document.addEventListener("pointermove", t), document.addEventListener("pointerup", n, { capture: !0, once: !0 })), () => { document.removeEventListener("pointermove", t), document.removeEventListener("pointerup", n, { capture: !0 }); }; } }, [ C, L, R ]), P.useEffect(() => { let e = () => L(!1); return window.addEventListener("blur", e), window.addEventListener("resize", e), () => { window.removeEventListener("blur", e), window.removeEventListener("resize", e); }; }, [L]); let [oe, z] = zt((e) => { let t = M().filter((e) => !e.disabled), n = Bt(t, e, t.find((e) => e.ref.current === document.activeElement)); n && setTimeout(() => n.ref.current.focus()); }), se = P.useCallback((e, t, n) => { let r = !N.current && !n; (S.value !== void 0 && S.value === t || r) && (j(e), r && (N.current = !0)); }, [S.value]), ce = P.useCallback(() => C == null ? void 0 : C.focus(), [C]), le = P.useCallback((e, t, n) => { let r = !N.current && !n; (S.value !== void 0 && S.value === t || r) && ne(e); }, [S.value]), B = r === "popper" ? ut : ct, ue = B === ut ? { side: c, sideOffset: l, align: u, alignOffset: f, arrowPadding: p, collisionBoundary: m, collisionPadding: h, sticky: g, hideWhenDetached: _, avoidCollisions: v } : {}; return /* @__PURE__ */ (0, F.jsx)(rt, { scope: n, content: C, viewport: E, onViewportChange: D, itemRefCallback: se, selectedItem: A, onItemLeave: ce, itemTextRefCallback: le, focusSelectedItem: I, selectedItemText: ee, position: r, isPositioned: re, searchRef: oe, children: /* @__PURE__ */ (0, F.jsx)(T, { as: at, allowPinchZoom: !0, children: /* @__PURE__ */ (0, F.jsx)(x, { asChild: !0, trapped: S.open, onMountAutoFocus: (e) => { e.preventDefault(); }, onUnmountAutoFocus: d(a, (e) => { var t; (t = S.trigger) == null || t.focus({ preventScroll: !0 }), e.preventDefault(); }), children: /* @__PURE__ */ (0, F.jsx)(k, { asChild: !0, disableOutsidePointerEvents: !0, onEscapeKeyDown: o, onPointerDownOutside: s, onFocusOutside: (e) => e.preventDefault(), onDismiss: () => S.onOpenChange(!1), children: /* @__PURE__ */ (0, F.jsx)(B, { role: "listbox", id: S.contentId, "data-state": S.open ? "open" : "closed", dir: S.dir, onContextMenu: (e) => e.preventDefault(), ...b, ...ue, onPlaced: () => ie(!0), ref: O, style: { display: "flex", flexDirection: "column", outline: "none", ...b.style }, onKeyDown: d(b.onKeyDown, (e) => { let t = e.ctrlKey || e.altKey || e.metaKey; if (e.key === "Tab" && e.preventDefault(), !t && e.key.length === 1 && z(e.key), [ "ArrowUp", "ArrowDown", "Home", "End" ].includes(e.key)) { let t = M().filter((e) => !e.disabled).map((e) => e.ref.current); if (["ArrowUp", "End"].includes(e.key) && (t = t.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(e.key)) { let n = e.target, r = t.indexOf(n); t = t.slice(r + 1); } setTimeout(() => ae(t)), e.preventDefault(); } }) }) }) }) }) }); }); ot.displayName = it; var st = "SelectItemAlignedPosition", ct = P.forwardRef((e, t) => { let { __scopeSelect: n, onPlaced: r, ...a } = e, o = q(J, n), s = X(J, n), [c, l] = P.useState(null), [u, d] = P.useState(null), f = i(t, (e) => d(e)), p = Be(n), g = P.useRef(!1), _ = P.useRef(!0), { viewport: v, selectedItem: y, selectedItemText: b, focusSelectedItem: x } = s, S = P.useCallback(() => { if (o.trigger && o.valueNode && c && u && v && y && b) { let e = o.trigger.getBoundingClientRect(), t = u.getBoundingClientRect(), n = o.valueNode.getBoundingClientRect(), i = b.getBoundingClientRect(); if (o.dir !== "rtl") { let r = i.left - t.left, a = n.left - r, o = e.left - a, s = e.width + o, l = Math.max(s, t.width), u = window.innerWidth - Y, d = N(a, [Y, Math.max(Y, u - l)]); c.style.minWidth = s + "px", c.style.left = d + "px"; } else { let r = t.right - i.right, a = window.innerWidth - n.right - r, o = window.innerWidth - e.right - a, s = e.width + o, l = Math.max(s, t.width), u = window.innerWidth - Y, d = N(a, [Y, Math.max(Y, u - l)]); c.style.minWidth = s + "px", c.style.right = d + "px"; } let a = p(), s = window.innerHeight - Y * 2, l = v.scrollHeight, d = window.getComputedStyle(u), f = parseInt(d.borderTopWidth, 10), m = parseInt(d.paddingTop, 10), h = parseInt(d.borderBottomWidth, 10), _ = parseInt(d.paddingBottom, 10), x = f + m + l + _ + h, S = Math.min(y.offsetHeight * 5, x), C = window.getComputedStyle(v), w = parseInt(C.paddingTop, 10), T = parseInt(C.paddingBottom, 10), E = e.top + e.height / 2 - Y, D = s - E, O = y.offsetHeight / 2, k = y.offsetTop + O, A = f + m + k, j = x - A; if (A <= E) { let e = a.length > 0 && y === a[a.length - 1].ref.current; c.style.bottom = "0px"; let t = u.clientHeight - v.offsetTop - v.offsetHeight, n = A + Math.max(D, O + (e ? T : 0) + t + h); c.style.height = n + "px"; } else { let e = a.length > 0 && y === a[0].ref.current; c.style.top = "0px"; let t = Math.max(E, f + v.offsetTop + (e ? w : 0) + O) + j; c.style.height = t + "px", v.scrollTop = A - E + v.offsetTop; } c.style.margin = `${Y}px 0`, c.style.minHeight = S + "px", c.style.maxHeight = s + "px", r == null || r(), requestAnimationFrame(() => g.current = !0); } }, [ p, o.trigger, o.valueNode, c, u, v, y, b, o.dir, r ]); m(() => S(), [S]); let [C, w] = P.useState(); return m(() => { u && w(window.getComputedStyle(u).zIndex); }, [u]), /* @__PURE__ */ (0, F.jsx)(dt, { scope: n, contentWrapper: c, shouldExpandOnScrollRef: g, onScrollButtonChange: P.useCallback((e) => { e && _.current === !0 && (S(), x == null || x(), _.current = !1); }, [S, x]), children: /* @__PURE__ */ (0, F.jsx)("div", { ref: l, style: { display: "flex", flexDirection: "column", position: "fixed", zIndex: C }, children: /* @__PURE__ */ (0, F.jsx)(h.div, { ...a, ref: f, style: { boxSizing: "border-box", maxHeight: "100%", ...a.style } }) }) }); }); ct.displayName = st; var lt = "SelectPopperPosition", ut = P.forwardRef((e, t) => { let { __scopeSelect: n, align: r = "start", collisionPadding: i = Y, ...a } = e, o = Ue(n); return /* @__PURE__ */ (0, F.jsx)(_, { ...o, ...a, ref: t, align: r, collisionPadding: i, style: { boxSizing: "border-box", ...a.style, "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)", "--radix-select-content-available-width": "var(--radix-popper-available-width)", "--radix-select-content-available-height": "var(--radix-popper-available-height)", "--radix-select-trigger-width": "var(--radix-popper-anchor-width)", "--radix-select-trigger-height": "var(--radix-popper-anchor-height)" } }); }); ut.displayName = lt; var [dt, ft] = K(J, {}), pt = "SelectViewport", mt = P.forwardRef((e, t) => { let { __scopeSelect: n, nonce: r, ...a } = e, o = X(pt, n), s = ft(pt, n), c = i(t, o.onViewportChange), l = P.useRef(0); return /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("style", { dangerouslySetInnerHTML: { __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}" }, nonce: r }), /* @__PURE__ */ (0, F.jsx)(ze.Slot, { scope: n, children: /* @__PURE__ */ (0, F.jsx)(h.div, { "data-radix-select-viewport": "", role: "presentation", ...a, ref: c, style: { position: "relative", flex: 1, overflow: "hidden auto", ...a.style }, onScroll: d(a.onScroll, (e) => { let t = e.currentTarget, { contentWrapper: n, shouldExpandOnScrollRef: r } = s; if (r != null && r.current && n) { let e = Math.abs(l.current - t.scrollTop); if (e > 0) { let r = window.innerHeight - Y * 2, i = parseFloat(n.style.minHeight), a = parseFloat(n.style.height), o = Math.max(i, a); if (o < r) { let i = o + e, a = Math.min(r, i), s = i - a; n.style.height = a + "px", n.style.bottom === "0px" && (t.scrollTop = s > 0 ? s : 0, n.style.justifyContent = "flex-end"); } } } l.current = t.scrollTop; }) }) })] }); }); mt.displayName = pt; var ht = "SelectGroup", [gt, _t] = K(ht), vt = P.forwardRef((e, t) => { let { __scopeSelect: n, ...r } = e, i = S(); return /* @__PURE__ */ (0, F.jsx)(gt, { scope: n, id: i, children: /* @__PURE__ */ (0, F.jsx)(h.div, { role: "group", "aria-labelledby": i, ...r, ref: t }) }); }); vt.displayName = ht; var yt = "SelectLabel", bt = P.forwardRef((e, t) => { let { __scopeSelect: n, ...r } = e, i = _t(yt, n); return /* @__PURE__ */ (0, F.jsx)(h.div, { id: i.id, ...r, ref: t }); }); bt.displayName = yt; var Z = "SelectItem", [xt, St] = K(Z), Ct = P.forwardRef((e, t) => { let { __scopeSelect: n, value: r, disabled: a = !1, textValue: o, ...s } = e, c = q(Z, n), l = X(Z, n), u = c.value === r, [f, p] = P.useState(o == null ? "" : o), [m, g] = P.useState(!1), _ = i(t, (e) => { var t; return (t = l.itemRefCallback) == null ? void 0 : t.call(l, e, r, a); }), v = S(), y = P.useRef("touch"), b = () => { a || (c.onValueChange(r), c.onOpenChange(!1)); }; if (r === "") throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."); return /* @__PURE__ */ (0, F.jsx)(xt, { scope: n, value: r, disabled: a, textId: v, isSelected: u, onItemTextChange: P.useCallback((e) => { p((t) => { var n; return t || ((n = e == null ? void 0 : e.textContent) == null ? "" : n).trim(); }); }, []), children: /* @__PURE__ */ (0, F.jsx)(ze.ItemSlot, { scope: n, value: r, disabled: a, textValue: f, children: /* @__PURE__ */ (0, F.jsx)(h.div, { role: "option", "aria-labelledby": v, "data-highlighted": m ? "" : void 0, "aria-selected": u && m, "data-state": u ? "checked" : "unchecked", "aria-disabled": a || void 0, "data-disabled": a ? "" : void 0, tabIndex: a ? void 0 : -1, ...s, ref: _, onFocus: d(s.onFocus, () => g(!0)), onBlur: d(s.onBlur, () => g(!1)), onClick: d(s.onClick, () => { y.current !== "mouse" && b(); }), onPointerUp: d(s.onPointerUp, () => { y.current === "mouse" && b(); }), onPointerDown: d(s.onPointerDown, (e) => { y.current = e.pointerType; }), onPointerMove: d(s.onPointerMove, (e) => { if (y.current = e.pointerType, a) { var t; (t = l.onItemLeave) == null || t.call(l); } else y.current === "mouse" && e.currentTarget.focus({ preventScroll: !0 }); }), onPointerLeave: d(s.onPointerLeave, (e) => { if (e.currentTarget === document.activeElement) { var t; (t = l.onItemLeave) == null || t.call(l); } }), onKeyDown: d(s.onKeyDown, (e) => { var t; ((t = l.searchRef) == null ? void 0 : t.current) !== "" && e.key === " " || (Re.includes(e.key) && b(), e.key === " " && e.preventDefault()); }) }) }) }); }); Ct.displayName = Z; var Q = "SelectItemText", wt = P.forwardRef((e, t) => { let { __scopeSelect: n, className: r, style: a, ...o } = e, s = q(Q, n), c = X(Q, n), l = St(Q, n), u = Ke(Q, n), [d, f] = P.useState(null), p = i(t, (e) => f(e), l.onItemTextChange, (e) => { var t; return (t = c.itemTextRefCallback) == null ? void 0 : t.call(c, e, l.value, l.disabled); }), g = d == null ? void 0 : d.textContent, _ = P.useMemo(() => /* @__PURE__ */ (0, F.jsx)("option", { value: l.value, disabled: l.disabled, children: g }, l.value), [ l.disabled, l.value, g ]), { onNativeOptionAdd: v, onNativeOptionRemove: y } = u; return m(() => (v(_), () => y(_)), [ v, y, _ ]), /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)(h.span, { id: l.textId, ...o, ref: p }), l.isSelected && s.valueNode && !s.valueNodeHasChildren ? Ie.createPortal(o.children, s.valueNode) : null] }); }); wt.displayName = Q; var Tt = "SelectItemIndicator", Et = P.forwardRef((e, t) => { let { __scopeSelect: n, ...r } = e; return St(Tt, n).isSelected ? /* @__PURE__ */ (0, F.jsx)(h.span, { "aria-hidden": !0, ...r, ref: t }) : null; }); Et.displayName = Tt; var Dt = "SelectScrollUpButton", Ot = P.forwardRef((e, t) => { let n = X(Dt, e.__scopeSelect), r = ft(Dt, e.__scopeSelect), [a, o] = P.useState(!1), s = i(t, r.onScrollButtonChange); return m(() => { if (n.viewport && n.isPositioned) { let e = function() { o(t.scrollTop > 0); }, t = n.viewport; return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e); } }, [n.viewport, n.isPositioned]), a ? /* @__PURE__ */ (0, F.jsx)(jt, { ...e, ref: s, onAutoScroll: () => { let { viewport: e, selectedItem: t } = n; e && t && (e.scrollTop -= t.offsetHeight); } }) : null; }); Ot.displayName = Dt; var kt = "SelectScrollDownButton", At = P.forwardRef((e, t) => { let n = X(kt, e.__scopeSelect), r = ft(kt, e.__scopeSelect), [a, o] = P.useState(!1), s = i(t, r.onScrollButtonChange); return m(() => { if (n.viewport && n.isPositioned) { let e = function() { let e = t.scrollHeight - t.clientHeight; o(Math.ceil(t.scrollTop) < e); }, t = n.viewport; return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e); } }, [n.viewport, n.isPositioned]), a ? /* @__PURE__ */ (0, F.jsx)(jt, { ...e, ref: s, onAutoScroll: () => { let { viewport: e, selectedItem: t } = n; e && t && (e.scrollTop += t.offsetHeight); } }) : null; }); At.displayName = kt; var jt = P.forwardRef((e, t) => { let { __scopeSelect: n, onAutoScroll: r, ...i } = e, a = X("SelectScrollButton", n), o = P.useRef(null), s = Be(n), c = P.useCallback(() => { o.current !== null && (window.clearInterval(o.current), o.current = null); }, []); return P.useEffect(() => () => c(), [c]), m(() => { var e; let t = s().find((e) => e.ref.current === document.activeElement); t == null || (e = t.ref.current) == null || e.scrollIntoView({ block: "nearest" }); }, [s]), /* @__PURE__ */ (0, F.jsx)(h.div, { "aria-hidden": !0, ...i, ref: t, style: { flexShrink: 0, ...i.style }, onPointerDown: d(i.onPointerDown, () => { o.current === null && (o.current = window.setInterval(r, 50)); }), onPointerMove: d(i.onPointerMove, () => { var e; (e = a.onItemLeave) == null || e.call(a), o.current === null && (o.current = window.setInterval(r, 50)); }), onPointerLeave: d(i.onPointerLeave, () => { c(); }) }); }), Mt = "SelectSeparator", Nt = P.forwardRef((e, t) => { let { __scopeSelect: n, ...r } = e; return /* @__PURE__ */ (0, F.jsx)(h.div, { "aria-hidden": !0, ...r, ref: t }); }); Nt.displayName = Mt; var Pt = "SelectArrow", Ft = P.forwardRef((e, t) => { let { __scopeSelect: n, ...r } = e, i = Ue(n), a = q(Pt, n), o = X(Pt, n); return a.open && o.position === "popper" ? /* @__PURE__ */ (0, F.jsx)(w, { ...i, ...r, ref: t }) : null; }); Ft.displayName = Pt; var It = "SelectBubbleInput", Lt = P.forwardRef(({ __scopeSelect: e, value: t, ...n }, r) => { let a = P.useRef(null), o = i(r, a), s = M(t); return P.useEffect(() => { let e = a.current; if (!e) return; let n = window.HTMLSelectElement.prototype, r = Object.getOwnPropertyDescriptor(n, "value").set; if (s !== t && r) { let n = new Event("change", { bubbles: !0 }); r.call(e, t), e.dispatchEvent(n); } }, [s, t]), /* @__PURE__ */ (0, F.jsx)(h.select, { ...n, style: { ...v, ...n.style }, ref: o, defaultValue: t }); }); Lt.displayName = It; function Rt(e) { return e === "" || e === void 0; } function zt(e) { let t = E(e), n = P.useRef(""), r = P.useRef(0), i = P.useCallback((e) => { let i = n.current + e; t(i), (function e(t) { n.current = t, window.clearTimeout(r.current), t !== "" && (r.current = window.setTimeout(() => e(""), 1e3)); })(i); }, [t]), a = P.useCallback(() => { n.current = "", window.clearTimeout(r.current); }, []); return P.useEffect(() => () => window.clearTimeout(r.current), []), [ n, i, a ]; } function Bt(e, t, n) { let r = t.length > 1 && Array.from(t).every((e) => e === t[0]) ? t[0] : t, i = n ? e.indexOf(n) : -1, a = Vt(e, Math.max(i, 0)); r.length === 1 && (a = a.filter((e) => e !== n)); let o = a.find((e) => e.textValue.toLowerCase().startsWith(r.toLowerCase())); return o === n ? void 0 : o; } function Vt(e, t) { return e.map((n, r) => e[(t + r) % e.length]); } var Ht = qe, Ut = Ye, Wt = Ze, Gt = $e, Kt = tt, qt = nt, Jt = mt, Yt = vt, Xt = bt, Zt = Ct, Qt = wt, $t = Et, en = Nt, tn = P.forwardRef((e, t) => P.createElement("svg", { width: "9", height: "9", viewBox: "0 0 9 9", fill: "currentcolor", xmlns: "http://www.w3.org/2000/svg", ...e, ref: t }, P.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z" }))); tn.displayName = "ThickDividerHorizontalIcon"; var nn = P.forwardRef((e, t) => P.createElement("svg", { width: "9", height: "9", viewBox: "0 0 9 9", fill: "currentcolor", xmlns: "http://www.w3.org/2000/svg", ...e, ref: t }, P.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z" }))); nn.displayName = "ThickCheckIcon"; var rn = P.forwardRef((e, t) => P.createElement("svg", { width: "9", height: "9", viewBox: "0 0 9 9", fill: "currentcolor", xmlns: "http://www.w3.org/2000/svg", ...e, ref: t }, P.createElement("path", { d: "M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z" }))); rn.displayName = "ChevronDownIcon"; var an = P.forwardRef((e, t) => P.createElement("svg", { width: "9", height: "9", viewBox: "0 0 9 9", fill: "currentcolor", xmlns: "http://www.w3.org/2000/svg", ...e, ref: t }, P.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z" }))); an.displayName = "ThickChevronRightIcon"; //#endregion //#region ../../node_modules/.pnpm/@radix-ui+themes@3.3.0_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react@19.2._925f851475345a9e5e368d312bb98178/node_modules/@radix-ui/themes/dist/esm/components/select.props.js var on = { size: { type: "enum", className: "rt-r-size", values: [ "1", "2", "3" ], default: "2", responsive: !0 } }, sn = { variant: { type: "enum", className: "rt-variant", values: [ "classic", "surface", "soft", "ghost" ], default: "surface" }, ...u, ...c, placeholder: { type: "string" } }, cn = { variant: { type: "enum", className: "rt-variant", values: ["solid", "soft"], default: "solid" }, ...u, ...o }, $ = /* @__PURE__ */ e(re()), ln = P.createContext({}), un = (e) => { let { children: t, size: n = on.size.default, ...r } = e; return P.createElement(Ht, { ...r }, P.createElement(ln.Provider, { value: P.useMemo(() => ({ size: n }), [n]) }, t)); }; un.displayName = "Select.Root"; var dn = P.forwardRef((e, t) => { let n = P.useContext(ln), { children: r, className: i, color: a, radius: o, placeholder: c, ...u } = l({ size: n == null ? void 0 : n.size, ...e }, { size: on.size }, sn, s); return P.createElement(Ut, { asChild: !0 }, P.createElement("button", { "data-accent-color": a, "data-radius": o, ...u, ref: t, className: (0, $.default)("rt-reset", "rt-SelectTrigger", i) }, P.createElement("span", { className: "rt-SelectTriggerInner" }, P.createElement(Wt, { placeholder: c }, r)), P.createElement(Gt, { asChild: !0 }, P.createElement(rn, { className: "rt-SelectIcon" })))); }); dn.displayName = "Select.Trigger"; var fn = P.forwardRef((e, t) => { let n = P.useContext(ln), { className: r, children: i, color: a, container: o, ...s } = l({ size: n == null ? void 0 : n.size, ...e }, { size: on.size }, cn), c = ee(), u = a || c.accentColor; return P.createElement(Kt, { container: o }, P.createElement(D, { asChild: !0 }, P.createElement(qt, { "data-accent-color": u, sideOffset: 4, ...s, asChild: !1, ref: t, className: (0, $.default)({ "rt-PopperContent": s.position === "popper" }, "rt-SelectContent", r) }, P.createElement(Me, { type: "auto", className: "rt-ScrollAreaRoot" }, P.createElement(Jt, { asChild: !0, className: "rt-SelectViewport" }, P.createElement(Ne, { className: "rt-ScrollAreaViewport", style: { overflowY: void 0 } }, i)), P.createElement(Pe, { className: "rt-ScrollAreaScrollbar rt-r-size-1", orientation: "vertical" }, P.createElement(Fe, { className: "rt-ScrollAreaThumb" })))))); }); fn.displayName = "Select.Content"; var pn = P.forwardRef((e, t) => { let { className: n, children: r, ...i } = e; return P.createElement(Zt, { ...i, asChild: !1, ref: t, className: (0, $.default)("rt-SelectItem", n) }, P.createElement($t, { className: "rt-SelectItemIndicator" }, P.createElement(nn, { className: "rt-SelectItemIndicatorIcon" })), P.createElement(Qt, null, r)); }); pn.displayName = "Select.Item"; var mn = P.forwardRef(({ className: e, ...t }, n) => P.createElement(Yt, { ...t, asChild: !1, ref: n, className: (0, $.default)("rt-SelectGroup", e) })); mn.displayName = "Select.Group"; var hn = P.forwardRef(({ className: e, ...t }, n) => P.createElement(Xt, { ...t, asChild: !1, ref: n, className: (0, $.default)("rt-SelectLabel", e) })); hn.displayName = "Select.Label"; var gn = P.forwardRef(({ className: e, ...t }, n) => P.createElement(en, { ...t, asChild: !1, ref: n, className: (0, $.default)("rt-SelectSeparator", e) })); gn.displayName = "Select.Separator"; //#endregion //#region ../debug/src/lib/ui/enum-editor.tsx var _n = "__EMPTY__", vn = (e) => e === "" ? _n : e, yn = (e) => e === _n ? "" : e; function bn(e) { let t = e.context.values.every((e) => typeof e == "string"), n = t ? (e) => e : (e) => JSON.stringify(e), r = t ? (e) => e : (e) => JSON.parse(e), i = vn(n(e.value)), a = e.context.values.map((e) => ({ value: vn(n(e)), label: n(e) })); return /* @__PURE__ */ (0, F.jsx)(ie, { label: e.label, children: /* @__PURE__ */ (0, F.jsxs)(un, { value: i, onValueChange: (t) => { e.onChange(r(yn(t))); }, children: [/* @__PURE__ */ (0, F.jsx)(dn, {}), /* @__PURE__ */ (0, F.jsx)(fn, { children: a.map((e) => /* @__PURE__ */ (0, F.jsx)(pn, { value: e.value, children: e.label }, e.value)) })] }) }); } //#endregion export { bn as EnumEditor };