UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

79 lines (78 loc) 2.02 kB
import { jsxs as d, jsx as o, Fragment as B } from "react/jsx-runtime"; import { useState as D, useCallback as p } from "react"; import { u as F } from "./misc-CHmrAmhc.mjs"; import { u as N } from "./useOpenState-D7bIra9A.mjs"; import { B as z } from "./Button-nH76KtOO.mjs"; import { D as G, a as R } from "./IconSearchGrid-D3rPhw53.mjs"; import { e as T, g as V, b as q } from "./Popover-B_eTNIg4.mjs"; const Q = ({ // Popover root props open: r, onOpenChange: t, defaultOpen: m = !1, modal: h = !1, // Icon search grid props searchPlaceholder: f = "Search for an icon...", icons: u, onValueChange: c, columns: g, visibleRows: I, rowHeight: b, showTooltip: C, // Trigger props value: i, defaultValue: S, triggerPlaceholder: v = "Select an icon", children: x, ...k }) => { const [O, P] = D( S ), { isOpen: j, setIsOpen: l } = N(m), n = i !== void 0, s = n ? i : O, w = r ?? j, a = p( (e) => { r === void 0 && l(e), t?.(e); }, [r, t, l] ), y = p( (e) => { n || P(e), c?.(e), a(!1); }, [n, c, a] ); return /* @__PURE__ */ d( T, { open: w, onOpenChange: a, modal: h, children: [ /* @__PURE__ */ o(V, { asChild: !0, ...k, children: x ?? /* @__PURE__ */ o(z, { variant: "outline", children: s ? /* @__PURE__ */ d(B, { children: [ /* @__PURE__ */ o( G, { name: s, className: "size-4.5 opacity-80" } ), " ", F(s.split("-").join(" ")) ] }) : v }) }), /* @__PURE__ */ o(q, { className: "w-96 rounded-xl border-black/10 bg-clip-padding pr-2 shadow-xl shadow-black/5", children: /* @__PURE__ */ o( R, { searchPlaceholder: f, icons: u, onValueChange: y, columns: g, visibleRows: I, rowHeight: b, showTooltip: C } ) }) ] } ); }; export { Q as I };