import { useCallback as a } from "../external/.pnpm/preact@10.28.2/node_modules/preact/hooks/dist/hooks.module.js";
import S from "./useAnalytics/useFilterAnalyticsEvent.js";
import { listFrom as d } from "../utils/collection/main.js";
const z = ({
  eventCategory: l,
  eventSubCategory: c,
  eventLabel: i,
  onResetFilter: n,
  onUpdateFilter: r,
  selectionOptions: u,
  selection: e
}) => {
  const { logEvent: t } = S({ category: l, subCategory: c, label: i }), m = a(() => {
    e.length > 0 && (t?.("reset"), n?.());
  }, [e, t, n]), g = a(
    ({ target: f }) => {
      const s = new Set(d(f?.value || ""));
      if (e.some((o) => !s.has(o)) || e.length !== s.size) {
        const o = Object.freeze([...s].sort((h, p) => h.localeCompare(p)));
        t?.("update", String(o)), r?.(o);
      }
    },
    [e, t, r]
  );
  return { selection: e, selectionOptions: u, onResetAction: m, updateSelection: g };
};
export {
  z as default
};
