{"version":3,"file":"factFinderNgFacetFragment-CIrlUR3D.js","sources":["../../src/components/search-fact-finder-fi/technicalFacets.js","../../src/components/search-fact-finder-fi/mergeFacets.js"],"sourcesContent":["// these should not be visible to the user\nexport default [\n  'Type',\n  'CategoryPathName',\n  'CategoryPathNameId',\n  'CategoryPathId',\n  'ValidFrom',\n  'ValidUntil',\n  'ProductGroup',\n  'FamilyPage',\n  'Documenttype',\n  '3D-CAD Modell_B',\n  'Inhalt_A',\n  'GTIN (EAN-Code)_A',\n  'Menge_A',\n  'Preis_N',\n];\n","import technicalFacets from './technicalFacets';\n\nexport default (unselectedGroups, groups, baseFacets, activeFilters = []) => {\n  const nonTechnicalBaseFacets = (baseFacets || []).filter(\n    (group) => !technicalFacets.includes(group.associatedFieldName),\n  );\n  const allGroups = nonTechnicalBaseFacets.map((baseFacet) => {\n    const updatedFacet =\n      (unselectedGroups || []).find((item) => item?.name === baseFacet.name) ||\n      (groups || []).find((item) => item?.name === baseFacet.name);\n\n    let hasEnabledElements = false;\n    let hidden = false;\n    const elements = (baseFacet.elements || baseFacet.values).map((baseElement) => {\n      const { associatedFieldName } = baseFacet;\n\n      const element = {\n        ...baseElement,\n        disabled: true,\n        selected: false,\n        selectedBool: false,\n        recordCount: null,\n        totalHits: null,\n        associatedFieldName,\n      };\n\n      const activeFilter = activeFilters.find((filter) => {\n        const filterName = filter.fakeValue || filter.name;\n        return (\n          filter.associatedFieldName === associatedFieldName &&\n          (filterName === baseElement.name ||\n            filterName === baseElement.text ||\n            filter.selectedMaxValue)\n        );\n      });\n      const updatedElement = updatedFacet?.elements.find(\n        (facetElement) =>\n          (facetElement.text && facetElement.text === baseElement.text) ||\n          facetElement.absoluteMaxValue,\n      );\n      if (updatedElement) {\n        const isSingleValueRange =\n          !updatedElement.selectedBool &&\n          updatedElement.absoluteMaxValue !== null &&\n          (updatedElement.absoluteMaxValue === updatedElement.absoluteMinValue || // single value range (eg. minValue = 5 && maxValue = 5\n            ((!Number.isInteger(updatedElement.absoluteMinValue) ||\n              !Number.isInteger(updatedElement.absoluteMaxValue)) &&\n              Math.ceil(updatedElement.absoluteMaxValue) <=\n                Math.floor(updatedElement.absoluteMinValue) + 1)); // fraction facets when min and max are within 1, eg. min: 2.3 max: 2.8 -> hidden\n\n        if (isSingleValueRange) {\n          hidden = true;\n        }\n\n        if (baseFacet.type === 'FLOAT' || baseFacet.type === 'INTEGER') {\n          element.absoluteMaxValue = updatedElement.absoluteMaxValue;\n          element.absoluteMinValue = updatedElement.absoluteMinValue;\n          element.selectedMaxValue = updatedElement.selectedMaxValue;\n          element.selectedMinValue = updatedElement.selectedMinValue;\n        }\n\n        element.recordCount = updatedElement.recordCount;\n        element.totalHits = updatedElement.totalHits;\n        element.disabled = isSingleValueRange;\n        hasEnabledElements = hasEnabledElements || !isSingleValueRange;\n      }\n      if (activeFilter) {\n        element.selected = true;\n        element.selectedBool = true;\n        element.disabled = false;\n        hasEnabledElements = true;\n        if (baseFacet.type === 'FLOAT' || baseFacet.type === 'INTEGER') {\n          const srcElement = updatedElement || baseElement;\n          element.absoluteMaxValue = srcElement.absoluteMaxValue;\n          element.absoluteMinValue = srcElement.absoluteMinValue;\n          element.selectedMaxValue = activeFilter.selectedMaxValue;\n          element.selectedMinValue = activeFilter.selectedMinValue;\n        }\n      }\n\n      return element;\n    });\n\n    return {\n      ...baseFacet,\n      elements,\n      disabled: !hasEnabledElements,\n      hidden,\n    };\n  });\n\n  // workaround FF bug\n  return allGroups.filter((filter) => !filter.hidden);\n};\n"],"names":["technicalFacets","mergeFacets","unselectedGroups","groups","baseFacets","activeFilters","group","baseFacet","updatedFacet","item","hasEnabledElements","hidden","elements","baseElement","associatedFieldName","element","activeFilter","filter","filterName","updatedElement","facetElement","isSingleValueRange","srcElement"],"mappings":"AACA,MAAeA,EAAA,CACb,OACA,mBACA,qBACA,iBACA,YACA,aACA,eACA,aACA,eACA,kBACA,WACA,oBACA,UACA,SACF,ECdeC,EAAA,CAACC,EAAkBC,EAAQC,EAAYC,EAAgB,CAAA,KACpCD,GAAc,CAAA,GAAI,OAC/CE,GAAU,CAACN,EAAgB,SAASM,EAAM,mBAAmB,CAClE,EAC2C,IAAKC,GAAc,CAC1D,MAAMC,GACHN,GAAoB,CAAE,GAAE,KAAMO,IAASA,GAAA,YAAAA,EAAM,QAASF,EAAU,IAAI,IACpEJ,GAAU,IAAI,KAAMM,IAASA,GAAA,YAAAA,EAAM,QAASF,EAAU,IAAI,EAE7D,IAAIG,EAAqB,GACrBC,EAAS,GACb,MAAMC,GAAYL,EAAU,UAAYA,EAAU,QAAQ,IAAKM,GAAgB,CAC7E,KAAM,CAAE,oBAAAC,CAAqB,EAAGP,EAE1BQ,EAAU,CACd,GAAGF,EACH,SAAU,GACV,SAAU,GACV,aAAc,GACd,YAAa,KACb,UAAW,KACX,oBAAAC,CACR,EAEYE,EAAeX,EAAc,KAAMY,GAAW,CAClD,MAAMC,EAAaD,EAAO,WAAaA,EAAO,KAC9C,OACEA,EAAO,sBAAwBH,IAC9BI,IAAeL,EAAY,MAC1BK,IAAeL,EAAY,MAC3BI,EAAO,iBAEnB,CAAO,EACKE,EAAiBX,GAAA,YAAAA,EAAc,SAAS,KAC3CY,GACEA,EAAa,MAAQA,EAAa,OAASP,EAAY,MACxDO,EAAa,kBAEjB,GAAID,EAAgB,CAClB,MAAME,EACJ,CAACF,EAAe,cAChBA,EAAe,mBAAqB,OACnCA,EAAe,mBAAqBA,EAAe,mBAChD,CAAC,OAAO,UAAUA,EAAe,gBAAgB,GACjD,CAAC,OAAO,UAAUA,EAAe,gBAAgB,IACjD,KAAK,KAAKA,EAAe,gBAAgB,GACvC,KAAK,MAAMA,EAAe,gBAAgB,EAAI,GAElDE,IACFV,EAAS,KAGPJ,EAAU,OAAS,SAAWA,EAAU,OAAS,aACnDQ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,kBAG5CJ,EAAQ,YAAcI,EAAe,YACrCJ,EAAQ,UAAYI,EAAe,UACnCJ,EAAQ,SAAWM,EACnBX,EAAqBA,GAAsB,CAACW,CAC7C,CACD,GAAIL,IACFD,EAAQ,SAAW,GACnBA,EAAQ,aAAe,GACvBA,EAAQ,SAAW,GACnBL,EAAqB,GACjBH,EAAU,OAAS,SAAWA,EAAU,OAAS,WAAW,CAC9D,MAAMe,EAAaH,GAAkBN,EACrCE,EAAQ,iBAAmBO,EAAW,iBACtCP,EAAQ,iBAAmBO,EAAW,iBACtCP,EAAQ,iBAAmBC,EAAa,iBACxCD,EAAQ,iBAAmBC,EAAa,gBACzC,CAGH,OAAOD,CACb,CAAK,EAED,MAAO,CACL,GAAGR,EACH,SAAAK,EACA,SAAU,CAACF,EACX,OAAAC,CACN,CACA,CAAG,EAGgB,OAAQM,GAAW,CAACA,EAAO,MAAM;;;;;;;;;;;;;;;"}