"use client"
import{b as u}from"./chunk-4JCNLDLS.mjs";import{f as y,i as g}from"./chunk-BIFNQLW2.mjs";import{AnimatePresence as v,motion as b}from"framer-motion";import{X as k}from"lucide-react";import{isValidElement as L}from"react";import{Fragment as C,jsx as t,jsxs as s}from"react/jsx-runtime";function E({filters:l,activeFilters:n,onRemove:x,onRemoveAll:h,className:w}){return t(u,{height:!0,className:"w-full",transition:{type:"tween",duration:.3},children:s("div",{className:(void 0)("flex w-full flex-wrap items-start gap-4",w),children:[t("div",{className:"flex grow flex-wrap gap-x-4 gap-y-2",children:t(v,{children:n==null?void 0:n.map(({key:a,value:o})=>{var d,p,c;if(a==="loader")return t(b.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},className:"h-9 w-48 animate-pulse rounded-md border border-gray-200 bg-white"},`loader-${o}`);let e=l.find(r=>r.key===a);if(!e)throw new Error("Filter.List received an activeFilter without a corresponding filter");let i=(d=e.options)==null?void 0:d.find(r=>typeof r.value=="string"&&typeof o=="string"?r.value.toLowerCase()===o.toLowerCase():r.value===o),m=(i==null?void 0:i.icon)??((p=e.getOptionIcon)==null?void 0:p.call(e,o,{key:e.key,option:i}))??e.icon,N=(i==null?void 0:i.label)??((c=e.getOptionLabel)==null?void 0:c.call(e,o,{key:e.key,option:i}))??o;return s(b.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},className:"flex items-center divide-x rounded-md border border-gray-200 bg-white text-sm text-black",children:[s("div",{className:"flex items-center gap-2.5 px-3 py-2",children:[t("span",{className:"shrink-0 text-gray-600",children:f(e.icon)?e.icon:t(e.icon,{className:"h-4 w-4"})}),e.label]}),t("div",{className:"px-3 py-2 text-gray-500",children:"is"}),t("div",{className:"flex items-center gap-2.5 px-3 py-2",children:e.options?s(C,{children:[t("span",{className:"shrink-0 text-gray-600",children:f(m)?m:t(m,{className:"h-4 w-4"})}),(void 0)(N,30)]}):t("div",{className:"h-5 w-12 animate-pulse rounded-md bg-gray-200"})}),t("button",{type:"button",className:"h-full rounded-r-md p-2 text-gray-500 ring-inset ring-gray-500 hover:bg-gray-100 hover:text-gray-800 focus:outline-none focus-visible:ring-1",onClick:()=>x(a),children:t(k,{className:"h-3.5 w-3.5"})})]},a)})})}),(n==null?void 0:n.length)!==0&&t("button",{type:"button",className:"whitespace-nowrap rounded-lg border border-transparent px-3 py-2 text-sm text-gray-500 ring-inset ring-gray-500 transition-colors hover:border-gray-200 hover:bg-white hover:text-black focus:outline-none",onClick:h,children:"Clear Filters"})]})})}var f=l=>L(l);export{E as a};
