UNPKG

@payfit/unity-components

Version:

35 lines (34 loc) 1.27 kB
import { SelectableButtonGroupContext as e } from "./SelectableButtonGroup.context.js"; import { forwardRef as t, useCallback as n, useRef as r } from "react"; import { uyTv as i } from "@payfit/unity-themes"; import { jsx as a } from "react/jsx-runtime"; import { useToggleButtonGroup as o } from "react-aria/useToggleButtonGroup"; import { useToggleGroupState as s } from "react-stately/useToggleGroupState"; //#region src/components/selectable-button-group/SelectableButtonGroup.tsx var c = i({ base: "uy:group uy:flex uy:gap-100 uy:flex-wrap" }), l = t((t, i) => { let l = r(null), u = s({ ...t, selectedKeys: t.value, defaultSelectedKeys: t.defaultValue, onSelectionChange: (e) => { t.onChange?.(Array.from(e)); } }), { groupProps: d } = o(t, u, l), f = c({ className: t.className }), p = n((e) => { l.current = e, typeof i == "function" ? i(e) : i && (i.current = e); }, [i]); return /* @__PURE__ */ a("div", { ...d, className: f, ref: p, "data-dd-privacy": "allow", "aria-invalid": t.isInvalid, onBlur: t.onBlur, children: /* @__PURE__ */ a(e.Provider, { value: u, children: t.children }) }); }); l.displayName = "SelectableButtonGroup"; //#endregion export { l as SelectableButtonGroup, c as selectableButtonGroup };