{"version":3,"file":"header-filters-BNvQps3A.cjs","names":["filterLabel","useHeaderFilterOverlay","hasActiveHeaderFilter","IconButton","Paper","Popper","useRef","FiltersIcon","AutoFilterForm","FilterHeaderTrigger","props","active","triggerRef","open","setOpen","source","sessionProps","nestedSelector","def","undefined","current","zIndex","minWidth","p","labels","registry","extendFeature","FILTER_HEADER","slotRender","headerFilters","core","FilterHeaderTrigger","props"],"sources":["../src/components/FilterHeaderTrigger.tsx","../src/header-filters.tsx"],"sourcesContent":["/** Funnel on the column header — the same field the Filters panel draws. */\nimport { filterLabel } from \"@adapttable/core\";\nimport { useHeaderFilterOverlay } from \"@adapttable/react\";\nimport {\n  type FilterHeaderControlProps,\n  hasActiveHeaderFilter,\n} from \"@adapttable/react/adapter\";\nimport { IconButton, Paper, Popper } from \"@mui/material\";\nimport { useRef } from \"react\";\n\nimport { FiltersIcon } from \"../icons\";\nimport { AutoFilterForm } from \"./AutoFilterForm\";\n\nexport function FilterHeaderTrigger<TRow>(\n  props: Readonly<FilterHeaderControlProps<TRow>>\n) {\n  const active = hasActiveHeaderFilter(props);\n  const triggerRef = useRef<HTMLButtonElement>(null);\n  const { open, setOpen, source, sessionProps } = useHeaderFilterOverlay(\n    props,\n    {\n      nestedSelector: \"[role='listbox'],.MuiMenu-root,.MuiPopover-root\",\n    }\n  );\n  return (\n    <>\n      <IconButton\n        {...sessionProps}\n        ref={triggerRef}\n        size=\"small\"\n        aria-label={filterLabel(props.def)}\n        data-adapttable-part=\"filter-header-trigger\"\n        data-active={active ? \"\" : undefined}\n        onClick={() => setOpen(!open)}\n      >\n        <FiltersIcon size={14} />\n      </IconButton>\n      <Popper\n        open={open}\n        anchorEl={triggerRef.current}\n        placement=\"bottom-start\"\n        style={{ zIndex: 1300 }}\n      >\n        <Paper\n          {...sessionProps}\n          elevation={8}\n          data-adapttable-part=\"filter-header-cell\"\n          sx={{ minWidth: \"20rem\", p: 1 }}\n        >\n          <AutoFilterForm\n            defs={[props.def]}\n            source={source}\n            labels={props.labels}\n            registry={props.registry}\n          />\n        </Paper>\n      </Popper>\n    </>\n  );\n}\n","import {\n  extendFeature,\n  FILTER_HEADER,\n  slotRender,\n  type StaticTableFeature,\n} from \"@adapttable/react/adapter\";\nimport { headerFilters as core } from \"@adapttable/react/features\";\n\nimport { FilterHeaderTrigger } from \"./components/FilterHeaderTrigger\";\n\n/**\n * Per-column header filter trigger, drawn with MUI's own funnel and form.\n *\n * @public\n */\nexport function headerFilters(): StaticTableFeature {\n  return extendFeature(core(), [\n    slotRender(FILTER_HEADER, (props) => <FilterHeaderTrigger {...props} />),\n  ]);\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAAgBS,oBACdC,OACA;CACA,MAAMC,UAAAA,GAAST,0BAAAA,sBAAAA,CAAsBQ,KAAK;CAC1C,MAAME,cAAAA,GAAaN,MAAAA,OAAAA,CAA0B,IAAI;CACjD,MAAM,EAAEO,MAAMC,SAASC,QAAQC,kBAAAA,GAAiBf,kBAAAA,uBAAAA,CAC9CS,OACA,EACEO,gBAAgB,kDAClB,CACF;CACA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,YAAD;EACE,GAAID;EACJ,KAAKJ;EACL,MAAK;EACL,eAAA,GAAYZ,iBAAAA,YAAAA,CAAYU,MAAMQ,GAAG;EACjC,wBAAqB;EACrB,eAAaP,SAAS,KAAKQ,KAAAA;EAC3B,eAAeL,QAAQ,CAACD,IAAI;EAE5B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,aAAD,EAAa,MAAM,GAAG,CAAA;CACZ,CAAA,GACZ,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,QAAD;EACQA;EACN,UAAUD,WAAWQ;EACrB,WAAU;EACV,OAAO,EAAEC,QAAQ,KAAK;EAEtB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,OAAD;GACE,GAAIL;GACJ,WAAW;GACX,wBAAqB;GACrB,IAAI;IAAEM,UAAU;IAASC,GAAG;GAAE;GAE9B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAA,gBAAD;IACE,MAAM,CAACb,MAAMQ,GAAG;IACRH;IACR,QAAQL,MAAMc;IACd,UAAUd,MAAMe;GAAS,CAAA;EAEtB,CAAA;CACD,CAAA,CACV,EAAA,CAAA;AAEJ;;;;;;;;AC5CA,SAAgBI,gBAAoC;CAClD,QAAA,GAAOH,0BAAAA,cAAAA,EAAAA,GAAcI,2BAAAA,cAAAA,CAAK,GAAG,EAAA,GAC3BF,0BAAAA,WAAAA,CAAWD,0BAAAA,gBAAgBK,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EAAqB,GAAIA,MAAM,CAAA,CAAG,CAAC,CACzE;AACH"}