{"version":3,"file":"tableFilters.utils.mjs","sources":["../../../src/lib/nextGenComponents/utils/tableFilters.utils.ts"],"sourcesContent":["import type { DraftValues } from '@/stores/tableStore'\nimport type { FilterFieldDef, FilterSchema } from '@/types/table/filter'\n\nconst objectValues = <T extends Record<string, unknown>>(obj: T) => {\n  return Object.values(obj) as Array<T[keyof T]>\n}\n\nconst buildInitialFromSchema = <K extends string>(schema: FilterSchema<K>): DraftValues => {\n  const fields = objectValues(schema) as FilterFieldDef<K>[]\n  return fields.reduce<DraftValues>((acc, f) => {\n    acc[f.key] = f.defaultValue ?? (f.kind === 'multi-select' ? [] : '')\n    return acc\n  }, {})\n}\n\nconst isActiveValue = (val: string | string[] | undefined): boolean => {\n  if (val === undefined || val === '' || val === 'all') return false\n  if (Array.isArray(val)) return val.length > 0 && !(val.length === 1 && val[0] === 'all')\n  return true\n}\n\nconst hasActiveFilters = <K extends string>(schema: FilterSchema<K>): boolean => {\n  const fields = objectValues(schema) as FilterFieldDef<K>[]\n  return fields.some(field => isActiveValue(field.defaultValue))\n}\n\nexport { objectValues, buildInitialFromSchema, hasActiveFilters }\n"],"names":["objectValues","obj","buildInitialFromSchema","schema","acc","f","isActiveValue","val","hasActiveFilters","field"],"mappings":"AAGA,MAAMA,IAAe,CAAoCC,MAChD,OAAO,OAAOA,CAAG,GAGpBC,IAAyB,CAAmBC,MACjCH,EAAaG,CAAM,EACpB,OAAoB,CAACC,GAAKC,OACtCD,EAAIC,EAAE,GAAG,IAAIA,EAAE,iBAAiBA,EAAE,SAAS,iBAAiB,CAAA,IAAK,KAC1DD,IACN,CAAA,CAAE,GAGDE,IAAgB,CAACC,MACjBA,MAAQ,UAAaA,MAAQ,MAAMA,MAAQ,QAAc,KACzD,MAAM,QAAQA,CAAG,IAAUA,EAAI,SAAS,KAAK,EAAEA,EAAI,WAAW,KAAKA,EAAI,CAAC,MAAM,SAC3E,IAGHC,IAAmB,CAAmBL,MAC3BH,EAAaG,CAAM,EACpB,KAAK,CAAAM,MAASH,EAAcG,EAAM,YAAY,CAAC;"}