UNPKG

geostyler

Version:
36 lines (35 loc) 802 B
import { jsx as r } from "react/jsx-runtime"; import a, { useState as p } from "react"; import "./Selectable.css.js"; import { SelectableItem as f } from "./SelectableItem/SelectableItem.js"; const h = ({ selection: i, onSelectionChange: c, children: m }) => { const [l, n] = p(i || []), o = (e) => { const t = l.indexOf(e); let s; t > -1 ? (s = [...l], s.splice(t, 1)) : s = [...l, e], n(s), c && c(s); }, d = (e) => l.includes(e); return /* @__PURE__ */ r( "div", { className: "gs-selectable", children: a.Children.map(m, (e, t) => /* @__PURE__ */ r( f, { onItemClick: () => { o(t); }, selected: d(t), children: e }, t )) } ); }; export { h as Selectable };