@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
547 lines (546 loc) • 22.5 kB
JavaScript
import { jsx as w, jsxs as oe } from "react/jsx-runtime";
import { R as Re, P as _e, O as Ae, a as Ne } from "./index-DO0S-IqU.mjs";
import * as l from "react";
import "react-dom";
import { b as O } from "./index-D2LZVjSn.mjs";
import { u as V } from "./index-C3vaq8Fy.mjs";
import { c as $e, j as De, e as Pe } from "./Dialog-Df-tvqUy.mjs";
import { c as I } from "./index-2NvaPZWc.mjs";
import Me from "./search-x-CUHvpCMn.mjs";
import je from "./search-IQsjCAM5.mjs";
var ve = 1, Le = 0.9, Ve = 0.8, Oe = 0.17, te = 0.1, re = 0.999, Fe = 0.9999, ze = 0.99, Ke = /[\\\/_+.#"@\[\(\{&]/, Te = /[\\\/_+.#"@\[\(\{&]/g, qe = /[\s-]/, be = /[\s-]/g;
function le(e, r, t, i, a, o, s) {
if (o === r.length) return a === e.length ? ve : ze;
var m = `${a},${o}`;
if (s[m] !== void 0) return s[m];
for (var p = i.charAt(o), c = t.indexOf(p, a), v = 0, h, S, k, R; c >= 0; ) h = le(e, r, t, i, c + 1, o + 1, s), h > v && (c === a ? h *= ve : Ke.test(e.charAt(c - 1)) ? (h *= Ve, k = e.slice(a, c - 1).match(Te), k && a > 0 && (h *= Math.pow(re, k.length))) : qe.test(e.charAt(c - 1)) ? (h *= Le, R = e.slice(a, c - 1).match(be), R && a > 0 && (h *= Math.pow(re, R.length))) : (h *= Oe, a > 0 && (h *= Math.pow(re, c - a))), e.charAt(c) !== r.charAt(o) && (h *= Fe)), (h < te && t.charAt(c - 1) === i.charAt(o + 1) || i.charAt(o + 1) === i.charAt(o) && t.charAt(c - 1) !== i.charAt(o)) && (S = le(e, r, t, i, c + 1, o + 2, s), S * te > h && (h = S * te)), h > v && (v = h), c = t.indexOf(p, c + 1);
return s[m] = v, v;
}
function ge(e) {
return e.toLowerCase().replace(be, " ");
}
function We(e, r, t) {
return e = t && t.length > 0 ? `${e + " " + t.join(" ")}` : e, le(e, r, ge(e), ge(r), 0, 0, {});
}
var Be = /* @__PURE__ */ Symbol.for("react.lazy"), W = l[" use ".trim().toString()];
function He(e) {
return typeof e == "object" && e !== null && "then" in e;
}
function ye(e) {
return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof === Be && "_payload" in e && He(e._payload);
}
// @__NO_SIDE_EFFECTS__
function Ge(e) {
const r = /* @__PURE__ */ Ue(e), t = l.forwardRef((i, a) => {
let { children: o, ...s } = i;
ye(o) && typeof W == "function" && (o = W(o._payload));
const m = l.Children.toArray(o), p = m.find(Xe);
if (p) {
const c = p.props.children, v = m.map((h) => h === p ? l.Children.count(c) > 1 ? l.Children.only(null) : l.isValidElement(c) ? c.props.children : null : h);
return /* @__PURE__ */ w(r, { ...s, ref: a, children: l.isValidElement(c) ? l.cloneElement(c, void 0, v) : null });
}
return /* @__PURE__ */ w(r, { ...s, ref: a, children: o });
});
return t.displayName = `${e}.Slot`, t;
}
// @__NO_SIDE_EFFECTS__
function Ue(e) {
const r = l.forwardRef((t, i) => {
let { children: a, ...o } = t;
if (ye(a) && typeof W == "function" && (a = W(a._payload)), l.isValidElement(a)) {
const s = Je(a), m = Ze(o, a.props);
return a.type !== l.Fragment && (m.ref = i ? O(i, s) : s), l.cloneElement(a, m);
}
return l.Children.count(a) > 1 ? l.Children.only(null) : null;
});
return r.displayName = `${e}.SlotClone`, r;
}
var Ye = /* @__PURE__ */ Symbol("radix.slottable");
function Xe(e) {
return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Ye;
}
function Ze(e, r) {
const t = { ...r };
for (const i in r) {
const a = e[i], o = r[i];
/^on[A-Z]/.test(i) ? a && o ? t[i] = (...m) => {
const p = o(...m);
return a(...m), p;
} : a && (t[i] = a) : i === "style" ? t[i] = { ...a, ...o } : i === "className" && (t[i] = [a, o].filter(Boolean).join(" "));
}
return { ...e, ...t };
}
function Je(e) {
let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
}
var Qe = [
"a",
"button",
"div",
"form",
"h2",
"h3",
"img",
"input",
"label",
"li",
"nav",
"ol",
"p",
"select",
"span",
"svg",
"ul"
], A = Qe.reduce((e, r) => {
const t = /* @__PURE__ */ Ge(`Primitive.${r}`), i = l.forwardRef((a, o) => {
const { asChild: s, ...m } = a, p = s ? t : r;
return typeof window < "u" && (window[/* @__PURE__ */ Symbol.for("radix-ui")] = !0), /* @__PURE__ */ w(p, { ...m, ref: o });
});
return i.displayName = `Primitive.${r}`, { ...e, [r]: i };
}, {}), z = '[cmdk-group=""]', ne = '[cmdk-group-items=""]', et = '[cmdk-group-heading=""]', xe = '[cmdk-item=""]', he = `${xe}:not([aria-disabled="true"])`, ae = "cmdk-item-select", j = "data-value", tt = (e, r, t) => We(e, r, t), we = l.createContext(void 0), K = () => l.useContext(we), ke = l.createContext(void 0), ie = () => l.useContext(ke), Ee = l.createContext(void 0), Ce = l.forwardRef((e, r) => {
let t = L(() => {
var n, d;
return { search: "", value: (d = (n = e.value) != null ? n : e.defaultValue) != null ? d : "", selectedItemId: void 0, filtered: { count: 0, items: /* @__PURE__ */ new Map(), groups: /* @__PURE__ */ new Set() } };
}), i = L(() => /* @__PURE__ */ new Set()), a = L(() => /* @__PURE__ */ new Map()), o = L(() => /* @__PURE__ */ new Map()), s = L(() => /* @__PURE__ */ new Set()), m = Se(e), { label: p, children: c, value: v, onValueChange: h, filter: S, shouldFilter: k, loop: R, disablePointerSelection: H = !1, vimBindings: N = !0, ...T } = e, G = V(), ue = V(), U = V(), $ = l.useRef(null), y = mt();
D(() => {
if (v !== void 0) {
let n = v.trim();
t.current.value = n, E.emit();
}
}, [v]), D(() => {
y(6, se);
}, []);
let E = l.useMemo(() => ({ subscribe: (n) => (s.current.add(n), () => s.current.delete(n)), snapshot: () => t.current, setState: (n, d, f) => {
var u, g, b, C;
if (!Object.is(t.current[n], d)) {
if (t.current[n] = d, n === "search") J(), X(), y(1, Z);
else if (n === "value") {
if (document.activeElement.hasAttribute("cmdk-input") || document.activeElement.hasAttribute("cmdk-root")) {
let x = document.getElementById(U);
x ? x.focus() : (u = document.getElementById(G)) == null || u.focus();
}
if (y(7, () => {
var x;
t.current.selectedItemId = (x = M()) == null ? void 0 : x.id, E.emit();
}), f || y(5, se), ((g = m.current) == null ? void 0 : g.value) !== void 0) {
let x = d ?? "";
(C = (b = m.current).onValueChange) == null || C.call(b, x);
return;
}
}
E.emit();
}
}, emit: () => {
s.current.forEach((n) => n());
} }), []), Y = l.useMemo(() => ({ value: (n, d, f) => {
var u;
d !== ((u = o.current.get(n)) == null ? void 0 : u.value) && (o.current.set(n, { value: d, keywords: f }), t.current.filtered.items.set(n, ce(d, f)), y(2, () => {
X(), E.emit();
}));
}, item: (n, d) => (i.current.add(n), d && (a.current.has(d) ? a.current.get(d).add(n) : a.current.set(d, /* @__PURE__ */ new Set([n]))), y(3, () => {
J(), X(), t.current.value || Z(), E.emit();
}), () => {
o.current.delete(n), i.current.delete(n), t.current.filtered.items.delete(n);
let f = M();
y(4, () => {
J(), f?.getAttribute("id") === n && Z(), E.emit();
});
}), group: (n) => (a.current.has(n) || a.current.set(n, /* @__PURE__ */ new Set()), () => {
o.current.delete(n), a.current.delete(n);
}), filter: () => m.current.shouldFilter, label: p || e["aria-label"], getDisablePointerSelection: () => m.current.disablePointerSelection, listId: G, inputId: U, labelId: ue, listInnerRef: $ }), []);
function ce(n, d) {
var f, u;
let g = (u = (f = m.current) == null ? void 0 : f.filter) != null ? u : tt;
return n ? g(n, t.current.search, d) : 0;
}
function X() {
if (!t.current.search || m.current.shouldFilter === !1) return;
let n = t.current.filtered.items, d = [];
t.current.filtered.groups.forEach((u) => {
let g = a.current.get(u), b = 0;
g.forEach((C) => {
let x = n.get(C);
b = Math.max(x, b);
}), d.push([u, b]);
});
let f = $.current;
F().sort((u, g) => {
var b, C;
let x = u.getAttribute("id"), q = g.getAttribute("id");
return ((b = n.get(q)) != null ? b : 0) - ((C = n.get(x)) != null ? C : 0);
}).forEach((u) => {
let g = u.closest(ne);
g ? g.appendChild(u.parentElement === g ? u : u.closest(`${ne} > *`)) : f.appendChild(u.parentElement === f ? u : u.closest(`${ne} > *`));
}), d.sort((u, g) => g[1] - u[1]).forEach((u) => {
var g;
let b = (g = $.current) == null ? void 0 : g.querySelector(`${z}[${j}="${encodeURIComponent(u[0])}"]`);
b?.parentElement.appendChild(b);
});
}
function Z() {
let n = F().find((f) => f.getAttribute("aria-disabled") !== "true"), d = n?.getAttribute(j);
E.setState("value", d || void 0);
}
function J() {
var n, d, f, u;
if (!t.current.search || m.current.shouldFilter === !1) {
t.current.filtered.count = i.current.size;
return;
}
t.current.filtered.groups = /* @__PURE__ */ new Set();
let g = 0;
for (let b of i.current) {
let C = (d = (n = o.current.get(b)) == null ? void 0 : n.value) != null ? d : "", x = (u = (f = o.current.get(b)) == null ? void 0 : f.keywords) != null ? u : [], q = ce(C, x);
t.current.filtered.items.set(b, q), q > 0 && g++;
}
for (let [b, C] of a.current) for (let x of C) if (t.current.filtered.items.get(x) > 0) {
t.current.filtered.groups.add(b);
break;
}
t.current.filtered.count = g;
}
function se() {
var n, d, f;
let u = M();
u && (((n = u.parentElement) == null ? void 0 : n.firstChild) === u && ((f = (d = u.closest(z)) == null ? void 0 : d.querySelector(et)) == null || f.scrollIntoView({ block: "nearest" })), u.scrollIntoView({ block: "nearest" }));
}
function M() {
var n;
return (n = $.current) == null ? void 0 : n.querySelector(`${xe}[aria-selected="true"]`);
}
function F() {
var n;
return Array.from(((n = $.current) == null ? void 0 : n.querySelectorAll(he)) || []);
}
function Q(n) {
let d = F()[n];
d && E.setState("value", d.getAttribute(j));
}
function ee(n) {
var d;
let f = M(), u = F(), g = u.findIndex((C) => C === f), b = u[g + n];
(d = m.current) != null && d.loop && (b = g + n < 0 ? u[u.length - 1] : g + n === u.length ? u[0] : u[g + n]), b && E.setState("value", b.getAttribute(j));
}
function de(n) {
let d = M(), f = d?.closest(z), u;
for (; f && !u; ) f = n > 0 ? st(f, z) : dt(f, z), u = f?.querySelector(he);
u ? E.setState("value", u.getAttribute(j)) : ee(n);
}
let me = () => Q(F().length - 1), fe = (n) => {
n.preventDefault(), n.metaKey ? me() : n.altKey ? de(1) : ee(1);
}, pe = (n) => {
n.preventDefault(), n.metaKey ? Q(0) : n.altKey ? de(-1) : ee(-1);
};
return l.createElement(A.div, { ref: r, tabIndex: -1, ...T, "cmdk-root": "", onKeyDown: (n) => {
var d;
(d = T.onKeyDown) == null || d.call(T, n);
let f = n.nativeEvent.isComposing || n.keyCode === 229;
if (!(n.defaultPrevented || f)) switch (n.key) {
case "n":
case "j": {
N && n.ctrlKey && fe(n);
break;
}
case "ArrowDown": {
fe(n);
break;
}
case "p":
case "k": {
N && n.ctrlKey && pe(n);
break;
}
case "ArrowUp": {
pe(n);
break;
}
case "Home": {
n.preventDefault(), Q(0);
break;
}
case "End": {
n.preventDefault(), me();
break;
}
case "Enter": {
n.preventDefault();
let u = M();
if (u) {
let g = new Event(ae);
u.dispatchEvent(g);
}
}
}
} }, l.createElement("label", { "cmdk-label": "", htmlFor: Y.inputId, id: Y.labelId, style: pt }, p), B(e, (n) => l.createElement(ke.Provider, { value: E }, l.createElement(we.Provider, { value: Y }, n))));
}), rt = l.forwardRef((e, r) => {
var t, i;
let a = V(), o = l.useRef(null), s = l.useContext(Ee), m = K(), p = Se(e), c = (i = (t = p.current) == null ? void 0 : t.forceMount) != null ? i : s?.forceMount;
D(() => {
if (!c) return m.item(a, s?.id);
}, [c]);
let v = Ie(a, o, [e.value, e.children, o], e.keywords), h = ie(), S = _((y) => y.value && y.value === v.current), k = _((y) => c || m.filter() === !1 ? !0 : y.search ? y.filtered.items.get(a) > 0 : !0);
l.useEffect(() => {
let y = o.current;
if (!(!y || e.disabled)) return y.addEventListener(ae, R), () => y.removeEventListener(ae, R);
}, [k, e.onSelect, e.disabled]);
function R() {
var y, E;
H(), (E = (y = p.current).onSelect) == null || E.call(y, v.current);
}
function H() {
h.setState("value", v.current, !0);
}
if (!k) return null;
let { disabled: N, value: T, onSelect: G, forceMount: ue, keywords: U, ...$ } = e;
return l.createElement(A.div, { ref: O(o, r), ...$, id: a, "cmdk-item": "", role: "option", "aria-disabled": !!N, "aria-selected": !!S, "data-disabled": !!N, "data-selected": !!S, onPointerMove: N || m.getDisablePointerSelection() ? void 0 : H, onClick: N ? void 0 : R }, e.children);
}), nt = l.forwardRef((e, r) => {
let { heading: t, children: i, forceMount: a, ...o } = e, s = V(), m = l.useRef(null), p = l.useRef(null), c = V(), v = K(), h = _((k) => a || v.filter() === !1 ? !0 : k.search ? k.filtered.groups.has(s) : !0);
D(() => v.group(s), []), Ie(s, m, [e.value, e.heading, p]);
let S = l.useMemo(() => ({ id: s, forceMount: a }), [a]);
return l.createElement(A.div, { ref: O(m, r), ...o, "cmdk-group": "", role: "presentation", hidden: h ? void 0 : !0 }, t && l.createElement("div", { ref: p, "cmdk-group-heading": "", "aria-hidden": !0, id: c }, t), B(e, (k) => l.createElement("div", { "cmdk-group-items": "", role: "group", "aria-labelledby": t ? c : void 0 }, l.createElement(Ee.Provider, { value: S }, k))));
}), lt = l.forwardRef((e, r) => {
let { alwaysRender: t, ...i } = e, a = l.useRef(null), o = _((s) => !s.search);
return !t && !o ? null : l.createElement(A.div, { ref: O(a, r), ...i, "cmdk-separator": "", role: "separator" });
}), at = l.forwardRef((e, r) => {
let { onValueChange: t, ...i } = e, a = e.value != null, o = ie(), s = _((c) => c.search), m = _((c) => c.selectedItemId), p = K();
return l.useEffect(() => {
e.value != null && o.setState("search", e.value);
}, [e.value]), l.createElement(A.input, { ref: r, ...i, "cmdk-input": "", autoComplete: "off", autoCorrect: "off", spellCheck: !1, "aria-autocomplete": "list", role: "combobox", "aria-expanded": !0, "aria-controls": p.listId, "aria-labelledby": p.labelId, "aria-activedescendant": m, id: p.inputId, type: "text", value: a ? e.value : s, onChange: (c) => {
a || o.setState("search", c.target.value), t?.(c.target.value);
} });
}), ot = l.forwardRef((e, r) => {
let { children: t, label: i = "Suggestions", ...a } = e, o = l.useRef(null), s = l.useRef(null), m = _((c) => c.selectedItemId), p = K();
return l.useEffect(() => {
if (s.current && o.current) {
let c = s.current, v = o.current, h, S = new ResizeObserver(() => {
h = requestAnimationFrame(() => {
let k = c.offsetHeight;
v.style.setProperty("--cmdk-list-height", k.toFixed(1) + "px");
});
});
return S.observe(c), () => {
cancelAnimationFrame(h), S.unobserve(c);
};
}
}, []), l.createElement(A.div, { ref: O(o, r), ...a, "cmdk-list": "", role: "listbox", tabIndex: -1, "aria-activedescendant": m, "aria-label": i, id: p.listId }, B(e, (c) => l.createElement("div", { ref: O(s, p.listInnerRef), "cmdk-list-sizer": "" }, c)));
}), it = l.forwardRef((e, r) => {
let { open: t, onOpenChange: i, overlayClassName: a, contentClassName: o, container: s, ...m } = e;
return l.createElement(Re, { open: t, onOpenChange: i }, l.createElement(_e, { container: s }, l.createElement(Ae, { "cmdk-overlay": "", className: a }), l.createElement(Ne, { "aria-label": e.label, "cmdk-dialog": "", className: o }, l.createElement(Ce, { ref: r, ...m }))));
}), ut = l.forwardRef((e, r) => _((t) => t.filtered.count === 0) ? l.createElement(A.div, { ref: r, ...e, "cmdk-empty": "", role: "presentation" }) : null), ct = l.forwardRef((e, r) => {
let { progress: t, children: i, label: a = "Loading...", ...o } = e;
return l.createElement(A.div, { ref: r, ...o, "cmdk-loading": "", role: "progressbar", "aria-valuenow": t, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": a }, B(e, (s) => l.createElement("div", { "aria-hidden": !0 }, s)));
}), P = Object.assign(Ce, { List: ot, Item: rt, Input: at, Group: nt, Separator: lt, Dialog: it, Empty: ut, Loading: ct });
function st(e, r) {
let t = e.nextElementSibling;
for (; t; ) {
if (t.matches(r)) return t;
t = t.nextElementSibling;
}
}
function dt(e, r) {
let t = e.previousElementSibling;
for (; t; ) {
if (t.matches(r)) return t;
t = t.previousElementSibling;
}
}
function Se(e) {
let r = l.useRef(e);
return D(() => {
r.current = e;
}), r;
}
var D = typeof window > "u" ? l.useEffect : l.useLayoutEffect;
function L(e) {
let r = l.useRef();
return r.current === void 0 && (r.current = e()), r;
}
function _(e) {
let r = ie(), t = () => e(r.snapshot());
return l.useSyncExternalStore(r.subscribe, t, t);
}
function Ie(e, r, t, i = []) {
let a = l.useRef(), o = K();
return D(() => {
var s;
let m = (() => {
var c;
for (let v of t) {
if (typeof v == "string") return v.trim();
if (typeof v == "object" && "current" in v) return v.current ? (c = v.current.textContent) == null ? void 0 : c.trim() : a.current;
}
})(), p = i.map((c) => c.trim());
o.value(e, m, p), (s = r.current) == null || s.setAttribute(j, m), a.current = m;
}), a;
}
var mt = () => {
let [e, r] = l.useState(), t = L(() => /* @__PURE__ */ new Map());
return D(() => {
t.current.forEach((i) => i()), t.current = /* @__PURE__ */ new Map();
}, [e]), (i, a) => {
t.current.set(i, a), r({});
};
};
function ft(e) {
let r = e.type;
return typeof r == "function" ? r(e.props) : "render" in r ? r.render(e.props) : e;
}
function B({ asChild: e, children: r }, t) {
return e && l.isValidElement(r) ? l.cloneElement(ft(r), { ref: r.ref }, t(r.props.children)) : t(r);
}
var pt = { position: "absolute", width: "1px", height: "1px", padding: "0", margin: "-1px", overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0" };
const vt = ({
className: e,
...r
}) => /* @__PURE__ */ w(
P,
{
"data-slot": "command",
className: I(
"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
e
),
...r
}
), St = ({
title: e = "Command Palette",
description: r = "Search for a command to run...",
children: t,
className: i,
...a
}) => /* @__PURE__ */ oe($e, { className: I("overflow-hidden !p-0", i), ...a, children: [
/* @__PURE__ */ w(De, { className: "sr-only", children: e }),
/* @__PURE__ */ w(Pe, { className: "sr-only", children: r }),
/* @__PURE__ */ w(
vt,
{
className: I(
"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium",
"[&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0",
"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12",
"[&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3",
"[&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5"
),
children: t
}
)
] }), It = ({
className: e,
placeholder: r = "Search...",
...t
}) => /* @__PURE__ */ oe(
"div",
{
"data-slot": "command-input-wrapper",
className: "flex h-9 items-center gap-2 border-b px-3",
children: [
/* @__PURE__ */ w(je, { className: "size-4 shrink-0 opacity-50" }),
/* @__PURE__ */ w(
P.Input,
{
"data-slot": "command-input",
placeholder: r,
className: I(
"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
e
),
...t
}
)
]
}
), Rt = ({
className: e,
...r
}) => /* @__PURE__ */ w(
P.List,
{
"data-slot": "command-list",
className: I(
"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
e
),
...r
}
), _t = ({
className: e,
children: r = "No results found",
...t
}) => /* @__PURE__ */ oe(
P.Empty,
{
"data-slot": "command-empty",
className: I(
"text-muted-foreground flex-center gap-2 py-6 text-center text-sm",
e
),
...t,
children: [
/* @__PURE__ */ w(Me, { className: "size-4" }),
r
]
}
), At = ({
className: e,
...r
}) => /* @__PURE__ */ w(
P.Group,
{
"data-slot": "command-group",
className: I(
"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
e
),
...r
}
), Nt = ({
className: e,
...r
}) => /* @__PURE__ */ w(
P.Separator,
{
"data-slot": "command-separator",
className: I("bg-border -mx-1 h-px", e),
...r
}
), $t = ({
className: e,
...r
}) => /* @__PURE__ */ w(
P.Item,
{
"data-slot": "command-item",
className: I(
"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
e
),
...r
}
), Dt = ({
className: e,
...r
}) => /* @__PURE__ */ w(
"span",
{
"data-slot": "command-shortcut",
className: I(
"text-muted-foreground ml-auto text-xs tracking-widest",
e
),
...r
}
);
export {
vt as C,
_ as P,
tt as R,
St as a,
_t as b,
At as c,
It as d,
$t as e,
Rt as f,
Nt as g,
Dt as h
};