{"version":3,"file":"FilterTreeBuilder-cXnl7Z72.cjs","names":["FilterTreeChrome","Accordion","AccordionDetails","AccordionSummary","Button","MenuItem","TextField","TreeSelect","t0","$","_c","label","value","part","options","className","onChange","t1","event","target","t2","t3","Symbol","for","native","MenuProps","sx","zIndex","t4","htmlInput","select","t5","flex","minWidth","maxWidth","t6","map","_temp","t7","option","TreeInput","type","TreeButton","onClick","TreeDisclosure","expanded","summaryClassName","children","onExpandedChange","_","next","mb","pb","borderBottom","borderColor","background","display","minHeight","px","my","p","t8","slots","Select","Input","Disclosure","FilterTreeBuilder","props"],"sources":["../src/components/FilterTreeBuilder.tsx"],"sourcesContent":["import {\n  type FilterTreeBuilderProps,\n  type FilterTreeButtonProps,\n  FilterTreeChrome,\n  type FilterTreeDisclosureProps,\n  type FilterTreeInputProps,\n  type FilterTreeSelectProps,\n  type FilterTreeSlots,\n} from \"@adapttable/react/adapter\";\nimport {\n  Accordion,\n  AccordionDetails,\n  AccordionSummary,\n  Button,\n  MenuItem,\n  TextField,\n} from \"@mui/material\";\n\nexport type { FilterTreeBuilderProps };\n\nfunction TreeSelect({\n  label,\n  value,\n  part,\n  options,\n  className,\n  onChange,\n}: Readonly<FilterTreeSelectProps>) {\n  return (\n    <TextField\n      select\n      size=\"small\"\n      value={value}\n      onChange={(event) => onChange(event.target.value)}\n      data-adapttable-part={part}\n      className={className}\n      slotProps={{\n        htmlInput: { \"aria-label\": label },\n        select: { native: false, MenuProps: { sx: { zIndex: 10051 } } },\n      }}\n      sx={{ flex: \"0 1 8.5rem\", minWidth: \"8.5rem\", maxWidth: \"11rem\" }}\n    >\n      {options.map((option) => (\n        <MenuItem key={option.value} value={option.value}>\n          {option.label}\n        </MenuItem>\n      ))}\n    </TextField>\n  );\n}\n\nfunction TreeInput({\n  label,\n  value,\n  type,\n  className,\n  onChange,\n}: Readonly<FilterTreeInputProps>) {\n  return (\n    <TextField\n      size=\"small\"\n      type={type}\n      value={value}\n      onChange={(event) => onChange(event.target.value)}\n      data-adapttable-part=\"filter-input\"\n      className={className}\n      slotProps={{ htmlInput: { \"aria-label\": label } }}\n      sx={{ flex: \"1 1 7rem\", minWidth: \"7rem\" }}\n    />\n  );\n}\n\nfunction TreeButton({\n  label,\n  part,\n  className,\n  onClick,\n}: Readonly<FilterTreeButtonProps>) {\n  return (\n    <Button\n      type=\"button\"\n      size=\"small\"\n      data-adapttable-part={part}\n      className={className}\n      onClick={onClick}\n    >\n      {label}\n    </Button>\n  );\n}\n\nfunction TreeDisclosure({\n  label,\n  expanded,\n  className,\n  summaryClassName,\n  children,\n  onExpandedChange,\n}: Readonly<FilterTreeDisclosureProps>) {\n  return (\n    <Accordion\n      disableGutters\n      elevation={0}\n      expanded={expanded}\n      className={className}\n      data-adapttable-part=\"filter-tree\"\n      onChange={(_, next) => onExpandedChange(next)}\n      sx={{\n        mb: 0.5,\n        pb: 2,\n        borderBottom: 1,\n        borderColor: \"divider\",\n        background: \"transparent\",\n        \"&::before\": { display: \"none\" },\n      }}\n    >\n      <AccordionSummary\n        className={summaryClassName}\n        data-adapttable-part=\"filter-tree-summary\"\n        expandIcon={<span aria-hidden>▾</span>}\n        sx={{\n          minHeight: 32,\n          px: 0,\n          \"& .MuiAccordionSummary-content\": { my: 0 },\n        }}\n      >\n        {label}\n      </AccordionSummary>\n      <AccordionDetails sx={{ p: 0 }}>{children}</AccordionDetails>\n    </Accordion>\n  );\n}\n\nconst slots: FilterTreeSlots = {\n  Select: TreeSelect,\n  Input: TreeInput,\n  Button: TreeButton,\n  Disclosure: TreeDisclosure,\n};\n\n/**\n * MUI AND/OR builder — compact kit Select / TextField / Button, no stacked labels.\n *\n * @public\n */\nexport function FilterTreeBuilder<TRow>(\n  props: Readonly<FilterTreeBuilderProps<TRow>>\n) {\n  return <FilterTreeChrome {...props} slots={slots} />;\n}\n"],"mappings":";;;;;;AAoBA,SAAAO,WAAAC,IAAA;CAAA,MAAAC,KAAAA,GAAAC,uBAAAA,EAAAA,CAAA,EAAA;CAAoB,MAAA,EAAAC,OAAAC,OAAAC,MAAAC,SAAAC,WAAAC,aAAAR;CAOc,IAAAS;CAAA,IAAAR,EAAA,OAAAO,UAAA;EAMlBC,MAAAC,UAAWF,SAASE,MAAKC,OAAOP,KAAM;EAACH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAE,OAAA;EAIpCS,KAAA,EAAA,cAAgBT,MAAM;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EAC1BF,KAAA;GAAAG,QAAU;GAAKC,WAAa,EAAAC,IAAM,EAAAC,QAAU,MAAM,EAAE;EAAE;EAAClB,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,OAAAW,IAAA;EAFtDQ,KAAA;GAAAC,WACET;GAAuBU,QAC1BT;EACV;EAACZ,EAAA,KAAAW;EAAAX,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EACGQ,KAAA;GAAAC,MAAQ;GAAYC,UAAY;GAAQC,UAAY;EAAQ;EAACzB,EAAA,KAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,OAAAK,SAAA;EAEhEqB,KAAArB,QAAOsB,IAAKC,KAIZ;EAAC5B,EAAA,KAAAK;EAAAL,EAAA,KAAA0B;CAAA,OAAAA,KAAA1B,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,QAAAM,aAAAN,EAAA,QAAAI,QAAAJ,EAAA,QAAAQ,MAAAR,EAAA,QAAAmB,MAAAnB,EAAA,QAAA0B,MAAA1B,EAAA,QAAAG,OAAA;EAjBJ0B,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,WAAD;GACE,QAAA;GACK,MAAA;GACE1B;GACG,UAAAK;GACYJ,wBAAAA;GACXE;GACA,WAAAa;GAIP,IAAAG;GAEHI,UAAAA;EAbO,CAAA;EAkBE1B,EAAA,MAAAM;EAAAN,EAAA,MAAAI;EAAAJ,EAAA,MAAAQ;EAAAR,EAAA,MAAAmB;EAAAnB,EAAA,MAAA0B;EAAA1B,EAAA,MAAAG;EAAAH,EAAA,MAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CAAA,OAlBZ6B;AAkBY;AA3BhB,SAAAD,MAAAE,QAAA;CAAA,OAuBQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,UAAD;EAAoC,OAAAA,OAAM3B;EACvC2B,UAAAA,OAAM5B;CADA,GAAM4B,OAAM3B,KAAZ;AAEE;AAMnB,SAAA4B,UAAAhC,IAAA;CAAA,MAAAC,KAAAA,GAAAC,uBAAAA,EAAAA,CAAA,EAAA;CAAmB,MAAA,EAAAC,OAAAC,OAAA6B,MAAA1B,WAAAC,aAAAR;CAMc,IAAAS;CAAA,IAAAR,EAAA,OAAAO,UAAA;EAMjBC,MAAAC,UAAWF,SAASE,MAAKC,OAAOP,KAAM;EAACH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAE,OAAA;EAGtCS,KAAA,EAAAS,WAAa,EAAA,cAAgBlB,MAAM,EAAE;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EAC7CF,KAAA;GAAAW,MAAQ;GAAUC,UAAY;EAAO;EAACxB,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,OAAAM,aAAAN,EAAA,OAAAQ,MAAAR,EAAA,OAAAW,MAAAX,EAAA,OAAAgC,QAAAhC,EAAA,OAAAG,OAAA;EAR5CgB,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,WAAD;GACO,MAAA;GACCa;GACC7B;GACG,UAAAK;GACW,wBAAA;GACVF;GACA,WAAAK;GACP,IAAAC;EAAsC,CAAA;EAC1CZ,EAAA,KAAAM;EAAAN,EAAA,KAAAQ;EAAAR,EAAA,KAAAW;EAAAX,EAAA,KAAAgC;EAAAhC,EAAA,KAAAG;EAAAH,EAAA,MAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,OATFmB;AASE;AAIN,SAAAc,WAAAlC,IAAA;CAAA,MAAAC,KAAAA,GAAAC,uBAAAA,EAAAA,CAAA,CAAA;CAAoB,MAAA,EAAAC,OAAAE,MAAAE,WAAA4B,YAAAnC;CAKc,IAAAS;CAAA,IAAAR,EAAA,OAAAM,aAAAN,EAAA,OAAAE,SAAAF,EAAA,OAAAkC,WAAAlC,EAAA,OAAAI,MAAA;EAE9BI,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,QAAD;GACO,MAAA;GACA,MAAA;GACiBJ,wBAAAA;GACXE;GACF4B;GAERhC,UAAAA;EAPI,CAAA;EAQEF,EAAA,KAAAM;EAAAN,EAAA,KAAAE;EAAAF,EAAA,KAAAkC;EAAAlC,EAAA,KAAAI;EAAAJ,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OARTQ;AAQS;AAIb,SAAA2B,eAAApC,IAAA;CAAA,MAAAC,KAAAA,GAAAC,uBAAAA,EAAAA,CAAA,EAAA;CAAwB,MAAA,EAAAC,OAAAkC,UAAA9B,WAAA+B,kBAAAC,UAAAC,qBAAAxC;CAOc,IAAAS;CAAA,IAAAR,EAAA,OAAAuC,kBAAA;EAQtB/B,MAAAgC,GAAAC,SAAaF,iBAAiBE,IAAI;EAACzC,EAAA,KAAAuC;EAAAvC,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EACzCH,KAAA;GAAA+B,IACE;GAAGC,IACH;GAACC,cACS;GAACC,aACF;GAASC,YACV;GAAa,aACZ,EAAAC,SAAW,OAAO;EACjC;EAAC/C,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EAKaF,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAA,QAAA;GAAM,eAAA;GAAY,UAAA;EAAQ,CAAA;EAAAZ,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EAClCK,KAAA;GAAA6B,WACS;GAAEC,IACT;GAAC,kCAC6B,EAAAC,IAAM,EAAE;EAC5C;EAAClD,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,OAAAE,SAAAF,EAAA,OAAAqC,kBAAA;EARHf,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,kBAAD;GACae,WAAAA;GACU,wBAAA;GACT,YAAAzB;GACR,IAAAO;GAMHjB,UAAAA;EAVc,CAAA;EAWEF,EAAA,KAAAE;EAAAF,EAAA,KAAAqC;EAAArC,EAAA,KAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,OAAAa,OAAAC,IAAA,2BAAA,GAAA;EACGY,KAAA,EAAAyB,GAAK,EAAE;EAACnD,EAAA,KAAA0B;CAAA,OAAAA,KAAA1B,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,OAAAsC,UAAA;EAA9BT,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,kBAAD;GAAsB,IAAAH;GAAWY;EAAhB,CAAA;EAA4CtC,EAAA,KAAAsC;EAAAtC,EAAA,MAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CAAA,IAAAoD;CAAA,IAAApD,EAAA,QAAAM,aAAAN,EAAA,QAAAoC,YAAApC,EAAA,QAAAQ,MAAAR,EAAA,QAAAsB,MAAAtB,EAAA,QAAA6B,IAAA;EA5B/DuB,KAAA,iBAAA,GAAA,kBAAA,KAAA,CAAC,cAAA,WAAD;GACE,gBAAA;GACW,WAAA;GACDhB;GACC9B;GACU,wBAAA;GACX,UAAAE;GACN,IAAAG;GAPN,UAAA,CAgBEW,IAYAO,EA5BQ;;EA6BE7B,EAAA,MAAAM;EAAAN,EAAA,MAAAoC;EAAApC,EAAA,MAAAQ;EAAAR,EAAA,MAAAsB;EAAAtB,EAAA,MAAA6B;EAAA7B,EAAA,MAAAoD;CAAA,OAAAA,KAAApD,EAAA;CAAA,OA7BZoD;AA6BY;AAIhB,MAAMC,QAAyB;CAC7BC,QAAQxD;CACRyD,OAAOxB;CACPpC,QAAQsC;CACRuB,YAAYrB;AACd;;;;;;AAOA,SAAOsB,kBAAAC,OAAA;CAAA,MAAA1D,KAAAA,GAAAC,uBAAAA,EAAAA,CAAA,CAAA;CAAA,IAAAF;CAAA,IAAAC,EAAA,OAAA0D,OAAA;EAGE3D,KAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAAA,kBAAD;GAAiB,GAAK2D;GAAcL;EAAK,CAAA;EAAIrD,EAAA,KAAA0D;EAAA1D,EAAA,KAAAD;CAAA,OAAAA,KAAAC,EAAA;CAAA,OAA7CD;AAA6C"}