{"version":3,"file":"static/js/90763.5a612f09.chunk.js","mappings":"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","sources":["webpack:///./src/InsightsMessagingQueue/internal/InsightsFooter.tsx","webpack:///./src/InsightsMessagingQueue/internal/TopInsightDetails.tsx","webpack:///./src/InsightsMessagingQueue/internal/CategoryInsightsDetails.tsx","webpack:///./src/hooks/useInsights.ts","webpack:///./src/InsightsMessagingQueue/internal/InsightsQueryRequestBody.ts","webpack:///./src/InsightsMessagingQueue/internal/InsightsMessagingQueueSkeleton.tsx","webpack:///./src/InsightsMessagingQueue/internal/InsightsContent.tsx","webpack:///./src/hooks/use-productsummary.ts","webpack:///./src/InsightsMessagingQueue/InsightsMessagingQueue.tsx","webpack:///./src/utils/common.util.ts","webpack:///./node_modules/@mui/material/Skeleton/Skeleton.js","webpack:///./node_modules/@mui/material/Skeleton/skeletonClasses.js","webpack:///./node_modules/@mui/material/styles/cssUtils.js"],"sourcesContent":["import React, { useCallback } from 'react';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport { useLocalization } from '@im/react-localization';\n\ntype Props = {\n  dismissAllHandler?: () => void;\n  onClickInsightsCenter?: () => void;\n  showInsightsCenter?: boolean;\n};\n\nexport default function InsightsFooter(props: Props) {\n  const { translate } = useLocalization();\n  const {\n    dismissAllHandler,\n    onClickInsightsCenter,\n    showInsightsCenter = true,\n  } = props;\n\n  const onClickInsightsButton = useCallback(() => {\n    if (onClickInsightsCenter) onClickInsightsCenter();\n  }, [onClickInsightsCenter]);\n\n  return (\n    <Stack direction=\"row\" justifyContent=\"flex-end\" spacing={1}>\n      <StyledButton\n        onClick={dismissAllHandler}\n        size=\"medium\"\n        sx={{ display: 'none' }}\n        variant=\"outlined\"\n      >\n        Dismiss All\n      </StyledButton>\n      {showInsightsCenter && (\n        <StyledButton\n          onClick={onClickInsightsButton}\n          size=\"medium\"\n          variant=\"contained\"\n        >\n          {translate('Insights.InsightsCenter')}\n        </StyledButton>\n      )}\n    </Stack>\n  );\n}\n\nconst StyledButton = styled(Button)(({ theme }) => ({\n  textTransform: 'none',\n}));\n","import React from 'react';\nimport Stack from '@mui/material/Stack';\nimport Box from '@mui/material/Box';\nimport { styled } from '@mui/material/styles';\nimport InsightsIcon from '@mui/icons-material/Insights';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\nimport { ObjectMap } from 'mf_core/query';\n\ntype Props = {\n  insightData: ObjectMap;\n};\n\nexport default function TopInsightDetails(props: Props) {\n  const { insightData } = props;\n  return (\n    <>\n      <StyledInsightDetailsStackWrapper\n        alignItems=\"center\"\n        direction=\"row\"\n        spacing={1}\n      >\n        <Stack direction=\"row\" spacing={1} width=\"100%\">\n          <InsightsIcon />\n          <Stack spacing={1} width=\"100%\">\n            <Stack\n              alignItems=\"center\"\n              direction=\"row\"\n              justifyContent=\"space-between\"\n            >\n              <Typography sx={{ fontWeight: 600, pl: 1.3 }} variant=\"body1\">\n                {insightData?.title}\n              </Typography>\n              <Button\n                size=\"small\"\n                sx={{ display: 'none', textTransform: 'none' }}\n                variant=\"text\"\n              >\n                Dismiss\n              </Button>\n            </Stack>\n            <Typography sx={{ pl: 1.3 }} variant=\"body1\">\n              {insightData?.description}\n            </Typography>\n            <Box component=\"div\">\n              <Button\n                size=\"small\"\n                sx={{ display: 'none', textTransform: 'none' }}\n                variant=\"text\"\n              >\n                View all information\n              </Button>\n            </Box>\n          </Stack>\n        </Stack>\n      </StyledInsightDetailsStackWrapper>\n    </>\n  );\n}\n\nconst StyledInsightDetailsStackWrapper = styled(Stack)(({ theme }) => ({\n  '&: hover': {\n    background: '#f4f4f4',\n  },\n  borderBottom: '1px solid #ececec',\n  maxWidth: 650,\n  padding: theme.spacing(1),\n  paddingBottom: theme.spacing(2),\n}));\n","import React, { useEffect, useState } from 'react';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport TopInsightDetails from './TopInsightDetails';\nimport { ObjectMap } from 'mf_core/query';\n\ntype Props = {\n  maxDropHeight?: number;\n  topInsightsData: Array<ObjectMap>;\n};\n\nexport default function CategoryInsightsDetails(props: Props) {\n  const { maxDropHeight, topInsightsData } = props;\n  const offsetHeight = 245;\n  const [maxHeight, setMaxHeight] = useState(window.innerHeight - offsetHeight);\n\n  useEffect(() => {\n    setMaxHeight(window.innerHeight - offsetHeight);\n\n    const handleWindowResize = () => {\n      setMaxHeight(window.innerHeight - offsetHeight);\n    };\n\n    window.addEventListener('resize', handleWindowResize);\n\n    return () => {\n      window.removeEventListener('resize', handleWindowResize);\n    };\n  }, []);\n\n  return (\n    <StyledCategoryWrapperStack\n      spacing={2.5}\n      sx={{\n        maxHeight: maxDropHeight ? maxDropHeight + 60 : maxHeight,\n        width: '100%',\n      }}\n    >\n      {topInsightsData?.map((insightData: ObjectMap, index) => {\n        return (\n          <TopInsightDetails insightData={insightData} key={index ?? ''} />\n        );\n      })}\n    </StyledCategoryWrapperStack>\n  );\n}\n\nconst StyledCategoryWrapperStack = styled(Stack)(({ theme }) => ({\n  '&::-webkit-scrollbar': {\n    height: '8.86px',\n    width: '8.86px',\n  },\n  '&::-webkit-scrollbar-thumb': {\n    background: theme.palette.text.disabled,\n    borderRadius: '6px',\n  },\n  '&::-webkit-scrollbar-thumb:hover': {\n    background: theme.palette.primary.main,\n  },\n  '&::-webkit-scrollbar-track': {\n    borderRadius: '6px',\n    boxShadow: 'none',\n  },\n  '&::-webkit-scrollbar-track:hover': {\n    boxShadow: 'inset 0 0 6px #C4C4C4',\n  },\n  marginTop: theme.spacing(2),\n  maxHeight: 335,\n  overflowY: 'auto',\n}));\n","import { useApiGet, useApiPost, useApiPostQuery } from 'mf_core/query';\nimport { useMutation } from '@tanstack/react-query';\n\nexport function useGetInsights() {\n  const apiGet = useApiGet();\n\n  return useMutation({\n    mutationFn: () => {\n      return apiGet(\n        '/exp-looker_dummy_link/v1/insights/Insight_HomePageWidget?authorizedproducts=true'\n      );\n    },\n  });\n}\n\nexport function useInsightQuery(reqBody: any) {\n  let response: any = [];\n  const currentInsightBodyParam = reqBody;\n  response = useApiPostQuery(\n    `/exp-looker/v1/run-inline-query-v2`,\n    currentInsightBodyParam\n  );\n  return response;\n}\n\nexport function useInsightQueryMutation() {\n  const apiPost = useApiPost();\n\n  return useMutation({\n    mutationFn: (reqBody?: any) => {\n      const data = apiPost(`/exp-looker/v1/run-inline-query-v2`, reqBody);\n      return data;\n    },\n    onError: (error) => {\n      console.error(error);\n    },\n  });\n}\n\nexport type PlacementData = {\n  category: string;\n  id: string;\n  product: string;\n  sales: string;\n  sku: string;\n  vendor: string;\n};\n\nexport type InsightResponseTO = {\n  placementId: string;\n  response: any[];\n};\n\nexport const PLACEMENT_IDS = {\n  TopCategoryGrowth: 'Insight_TopCategoryGrowthWithTopProductSales',\n  TopProductGrowth: 'Insight_TopProductGrowthOnTopCategory',\n  TopVendorGrowth: 'Insight_TopVendorGrowthWithTopProductSales',\n};\n","export const combinedInsights = {\n  client_id: '',\n  column_limit: '',\n  dynamic_fields: '',\n  fields: [\n    'x4c_insights_combined.okta_reseller_key',\n    'x4c_insights_combined.insight__top_product_growth_top_category',\n    'x4c_insights_combined.insight__missing_product_market_basket',\n    'x4c_insights_combined.insight__trending_searches_in_mdg_segment',\n    'x4c_insights_combined.insight__X4C_CUST_TOP_PRODUCT_SEARCH',\n    'x4c_insights_combined.insight__order_count_ytd',\n    'x4c_insights_combined.insight__top_vendor_growth_with_top_product_sales',\n    'x4c_insights_combined.insight__top_product_in_top_category',\n    'x4c_insights_combined.insight__top_category_growth_with_top_product_sales',\n    'x4c_insights_combined.insight__top_vendor_in_top_category',\n    'x4c_insights_combined.insights__top_categories_in_mdg_segment',\n    'x4c_insights_combined.insights__trending_products_growth',\n  ],\n  fill_fields: [],\n  filter_config: {},\n  filter_expression: '',\n  filters: {},\n  limit: '',\n  model: 'sa_external',\n  pivots: [],\n  query_timezone: '',\n  row_total: '',\n  sorts: [],\n  subtotals: [],\n  total: false,\n  view: 'x4c_insights_combined',\n  vis_config: {},\n  visible_ui_sections: '',\n};\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\n\nexport function InsightsMessagingQueueSkeleton() {\n  return (\n    <Box\n      data-testid=\"featured-vendors-skeleton\"\n      sx={{ backgroundColor: '#FFF' }}\n    >\n      <Stack spacing={1}>\n        <Skeleton sx={{ fontSize: '1rem' }} variant=\"text\" />\n\n        <Skeleton height={60} variant=\"rectangular\" width={'100%'} />\n        <Skeleton height={60} variant=\"rectangular\" width={'100%'} />\n      </Stack>\n    </Box>\n  );\n}\n","/* eslint-disable max-lines */\nimport React, { useState, useCallback, useEffect, useMemo } from 'react';\nimport { setDigitalData } from 'mf_core/adobe';\nimport { useLocalization, useTranslate } from '@im/react-localization';\nimport { ObjectMap } from 'mf_core/query';\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport Chip from '@mui/material/Chip';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport CategoryInsightsDetails from './CategoryInsightsDetails';\nimport { useInsightQueryMutation } from '../../hooks/useInsights';\nimport { combinedInsights } from './InsightsQueryRequestBody';\nimport { useExtendedSummaryMutation } from '../../hooks/use-productsummary';\nimport { InsightsMessagingQueueSkeleton } from './InsightsMessagingQueueSkeleton';\nimport {\n  GetUserRole,\n  getSKUMap,\n  sortJSONByNullValue,\n  sortJSONListByBooleanKey,\n  sortJSONListByKey,\n  sortJSONListByTwoBooleanKey,\n  userRoles,\n} from '../../utils/common.util';\nimport { useFeatureFlag } from 'mf_core/feature-flag';\n\ntype Props = {\n  chipsDetails: ObjectMap[];\n  currentPage: string;\n  insightsDetails: ObjectMap | null;\n  maxDropHeight?: number;\n  setChipsDetails: (chipDetails: ObjectMap[]) => void;\n  setInsightsDetails: (insightsDetails: ObjectMap | null) => void;\n  toggleInsightsPopup?: () => void;\n};\n\ntype InsightCategories = {\n  accountInfo: string;\n  complementaryProducts: string;\n  efficientTips: string;\n  trendingCategory: string;\n  trendingProduct: string;\n  trendingProductCategory: string;\n  trendingProductSearch: string;\n  trendingProductVendor: string;\n  trendingVendor: string;\n};\n\nexport default function InsightsContent(props: Props) {\n  const {\n    chipsDetails,\n    currentPage,\n    insightsDetails,\n    maxDropHeight,\n    setChipsDetails,\n    setInsightsDetails,\n  } = props;\n\n  const [insightsMessages, setInsightsMessages] = useState<any>();\n  const [insightsMessagesLoading, setInsightsMessagesLoading] = useState(false);\n  const insightsMutation = useInsightQueryMutation();\n\n  const dataExtendedMutation = useExtendedSummaryMutation();\n  const { translate } = useLocalization();\n  const translateKey = useTranslate();\n  const userRole = GetUserRole();\n  const {\n    isReady: enabledInsightsVersionIsReady,\n    value: enabledInsightsVersion,\n  } = useFeatureFlag('EnabledInsightsVersion');\n\n  const {\n    isReady: enableEfficiencyTipsInsightsIsReady,\n    value: enableEfficiencyTipsInsights,\n  } = useFeatureFlag('EnableEfficiencyTipsInsights');\n\n  const { isReady: isConfigureToOrderUrlReady, value: configureToOrderUrl } =\n    useFeatureFlag('ConfigureToOrderUrl');\n\n  const {\n    isReady: isConfigureToOrderQuestionsUrlReady,\n    value: configureToOrderQuestionsUrl,\n  } = useFeatureFlag('ConfigureToOrderQuestionsUrl');\n\n  const { value: enableInsightsSearchURLRefinement } = useFeatureFlag(\n    'EnableInsightsSearchURLRefinement'\n  );\n\n  const { value: enableUserManagement } = useFeatureFlag(\n    'EnableUserManagement'\n  );\n\n  const categoryKeys: InsightCategories = useMemo(() => {\n    return {\n      accountInfo: 'Account Info',\n      complementaryProducts: 'Complementary Products',\n      efficientTips: 'Efficient Tips',\n      trendingCategory: 'Trending Category',\n      trendingProduct: 'Trending Product',\n      trendingProductCategory: 'Trending Product Category',\n      trendingProductSearch: 'Trending Product Search',\n      trendingProductVendor: 'Trending Product Vendor',\n      trendingVendor: 'Trending Vendor',\n    };\n  }, []);\n\n  const [productSummaryDependentInsights, setProductSummaryDependentInsights] =\n    useState({\n      missingProductInsight: true,\n      topCategoryInsight: true,\n      topVendorInsight: true,\n      trendingProductInsight: true,\n    });\n  const [allInsightsLoaded, setAllInsightsLoaded] = useState(false);\n\n  const pageWiseCagetoriesDetails = useMemo(() => {\n    return {\n      'Details Page': [\n        categoryKeys.efficientTips,\n        categoryKeys.trendingCategory,\n        categoryKeys.complementaryProducts,\n      ],\n      'Home Page': [\n        categoryKeys.efficientTips,\n        categoryKeys.trendingProduct,\n        categoryKeys.trendingVendor,\n        categoryKeys.accountInfo,\n        categoryKeys.trendingCategory,\n        categoryKeys.trendingProductSearch,\n        categoryKeys.complementaryProducts,\n      ],\n      'Insights Center': [\n        categoryKeys.efficientTips,\n        categoryKeys.trendingProduct,\n        categoryKeys.trendingVendor,\n        categoryKeys.accountInfo,\n        categoryKeys.trendingCategory,\n        categoryKeys.trendingProductSearch,\n        categoryKeys.complementaryProducts,\n        categoryKeys.trendingProductVendor,\n        categoryKeys.trendingProductCategory,\n      ],\n      'Product Category': [\n        categoryKeys.efficientTips,\n        categoryKeys.trendingVendor,\n        categoryKeys.trendingCategory,\n      ],\n      'Search Page': [\n        categoryKeys.efficientTips,\n        categoryKeys.trendingProduct,\n        categoryKeys.trendingProductSearch,\n      ],\n      'Vendor List': [categoryKeys.efficientTips, categoryKeys.trendingVendor],\n      'cart checkout': [categoryKeys.efficientTips, categoryKeys.accountInfo],\n    } as ObjectMap;\n  }, [categoryKeys]);\n\n  const styledLink = `<style> \n      .styledLink {\n        color: #0077D4;\n        background-color: transparent;\n        text-decoration: none;\n        font-weight: 600;\n      };\n    </style>\n   `;\n\n  const tabContentView = useCallback(\n    (categoryInsightData: Array<ObjectMap>) => {\n      return (\n        <CategoryInsightsDetails\n          maxDropHeight={maxDropHeight}\n          topInsightsData={categoryInsightData}\n        />\n      );\n    },\n    [maxDropHeight]\n  );\n\n  const getCategoryDetailsBasedOnPage = useCallback(\n    (\n      currentPage: string,\n      insightCategoriesList: any[],\n      insightsData: { [x: string]: any[] }\n    ) => {\n      const filteredCategoryWiseInsights: ObjectMap = {};\n\n      insightCategoriesList?.forEach((category: any) => {\n        let filteredInsights: ObjectMap[] = [];\n        insightsData[category ?? '']?.forEach((insightData: any) => {\n          if (insightData?.pages?.includes(currentPage))\n            filteredInsights = [...filteredInsights, insightData];\n        });\n\n        filteredCategoryWiseInsights[category] = filteredInsights;\n      });\n\n      return filteredCategoryWiseInsights;\n    },\n    []\n  );\n\n  const getAllCategoriesInsights = useCallback(\n    (insightCategoriesList: any[], insightsData: { [x: string]: any }) => {\n      let allCategoriesInsights: Array<ObjectMap> = [];\n\n      insightCategoriesList?.forEach((category: any) => {\n        allCategoriesInsights = [\n          ...allCategoriesInsights,\n          ...[...(insightsData[category ?? ''] ?? [])],\n        ];\n      });\n\n      return allCategoriesInsights;\n    },\n    []\n  );\n\n  const updateChipsDetails = useCallback(\n    (\n      navigatedPage: string,\n      insightCategoriesList: string[],\n      categoryWiseInsightsData: any\n    ) => {\n      const updatedCategoryInsights = getCategoryDetailsBasedOnPage(\n        navigatedPage,\n        insightCategoriesList,\n        categoryWiseInsightsData\n      );\n      const allCategoriesInsights = getAllCategoriesInsights(\n        insightCategoriesList,\n        updatedCategoryInsights\n      );\n\n      const chipsList: Array<ObjectMap> = [\n        {\n          active: true,\n          content: tabContentView(allCategoriesInsights),\n          dataName: 'Quick-insights_Popup_View-All',\n          digitalData: allCategoriesInsights?.map((insight: ObjectMap) => {\n            return {\n              InsightTab: 'View All',\n              ...insight?.digitalData,\n            };\n          }),\n          insightsCount: String(allCategoriesInsights?.length ?? 0),\n          title: translate('Insights.ViewAll'),\n        },\n      ];\n\n      insightCategoriesList?.forEach((category: string) => {\n        if (\n          updatedCategoryInsights?.[category] &&\n          updatedCategoryInsights?.[category]?.length > 0\n        ) {\n          chipsList.push({\n            active: false,\n            content: tabContentView(updatedCategoryInsights?.[category] ?? []),\n            dataName: `Quick-insights_Popup_${category?.replace(/\\s+/g, '-')}`,\n            digitalData: updatedCategoryInsights?.[category]?.map(\n              (insight: ObjectMap) => {\n                return {\n                  InsightTab: category,\n                  ...insight?.digitalData,\n                };\n              }\n            ),\n            insightsCount: String(\n              updatedCategoryInsights?.[category]?.length ?? '0'\n            ),\n            title: translate(`Insights.${category.replace(/\\s/g, '')}`),\n          });\n        }\n      });\n\n      setChipsDetails(chipsList);\n    },\n    [\n      getCategoryDetailsBasedOnPage,\n      getAllCategoriesInsights,\n      tabContentView,\n      translate,\n      setChipsDetails,\n    ]\n  );\n\n  const showContent = useCallback(\n    (selectedChipDetails: ObjectMap) => {\n      const tempChipDetails = chipsDetails?.map((chipDetails) => {\n        if (selectedChipDetails?.title === chipDetails?.title) {\n          return {\n            ...chipDetails,\n            active: true,\n          };\n        } else {\n          return {\n            ...chipDetails,\n            active: false,\n          };\n        }\n      });\n      setChipsDetails(tempChipDetails);\n\n      setDigitalData({\n        QuickInsightsImpressions: selectedChipDetails.digitalData ?? [],\n      });\n    },\n    [chipsDetails, setChipsDetails]\n  );\n\n  const onCountClick = useCallback(() => {\n    // On count click handler\n  }, []);\n\n  const getSalesFrequencyInsight = useCallback(\n    (orderDetails: ObjectMap) => {\n      if (orderDetails?.order_count) {\n        const orderHistory = `/cep/app/frame?url=${encodeURIComponent(\n          '/spa/ostordersearchcep/#/orders'\n        )}`;\n\n        const heading = translate('InsightCharts.SalesTrend');\n        const data = (\n          <>\n            {translate(\n              'Insights.OrderVolume_CardContent',\n              {\n                history: `${styledLink}<a class='styledLink' data-recommendationrecordid = ${\n                  insightsMessages?.recommendationRecordId\n                } \n                data-name ='Quick-insights_Popup_Sales-trend_History' data-linktype = 'sales'  data-insight = 'Sales trend'\n                 href=${orderHistory}>${translateKey('Insights.History')}</a>`,\n                orderCount: `${styledLink}<a class='styledLink' data-recommendationrecordid = ${\n                  insightsMessages?.recommendationRecordId\n                } data-name ='Quick-insights_Popup_Sales-trend_${\n                  orderDetails?.order_count ?? 0\n                }' data-linktype = 'sales' \n                data-insight = 'Sales trend'\n                href=${orderHistory}>${orderDetails?.order_count ?? 0}\n                </a>`,\n              },\n              true\n            )}\n          </>\n        );\n\n        return {\n          category: categoryKeys.accountInfo,\n          description: data,\n          digitalData: {\n            InsightCategory: [],\n            InsightName: 'Sales trend',\n            InsightOrderhistory: orderDetails?.order_count,\n            InsightProduct: [],\n            InsightSearchTerms: [],\n            InsightVendor: [],\n          },\n          pages: 'Home Page, Insights Center, cart checkout',\n          title: heading,\n        };\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [translate]\n  );\n\n  const getCategoryByVendorInsight = useCallback(\n    (vendorDetails: ObjectMap) => {\n      const categoryName = vendorDetails?.category ?? '';\n      const category = toPascal(categoryName);\n      const encodedCategoryName = encodeURIComponent(categoryName);\n\n      const vendorName = vendorDetails?.vendor_name ?? '';\n      const vendor = toPascal(vendorName);\n      const encodedVendorName = encodeURIComponent(vendorName);\n\n      if (categoryName && vendorName) {\n        const vendorUrl =\n          enableInsightsSearchURLRefinement === 'true'\n            ? `/cep/app/product/productsearch?vendorname=VEN_REFINE||eq||${encodedVendorName}||false||&categories=CAT_REFINE||eq||${encodedCategoryName}||false||&displaytitle=${encodedVendorName}&keywords=${encodedVendorName}`\n            : `/cep/app/product/productsearch?displaytitle=${encodedVendorName}&keywords=${encodedVendorName}`;\n\n        const categoryUrl =\n          enableInsightsSearchURLRefinement === 'true'\n            ? `/cep/app/product/productsearch?categories=CAT_REFINE||eq||${encodedCategoryName}||false||&vendorname=VEN_REFINE||eq||${encodedVendorName}||false||&displaytitle=${encodedCategoryName}&keywords=${encodedCategoryName}`\n            : `/cep/app/product/productsearch?displaytitle=${encodedCategoryName}&keywords=${encodedCategoryName}`;\n\n        const heading = translate(\n          enabledInsightsVersion === 'v4'\n            ? 'Insights.VendorTrends'\n            : 'InsightCharts.CategoriesByVendors'\n        );\n        const dataTagName =\n          enabledInsightsVersion === 'v4'\n            ? 'VendorTrends'\n            : 'Categoriesbyvendors';\n        const data = (\n          <>\n            {translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.VendorTrendsCard'\n                : 'Insights.TopVendorInTopCategory_CardContent',\n              {\n                category: `${styledLink}<a data-recommendationrecordid=${\n                  insightsMessages?.recommendationRecordId\n                }\n                data-linktype = 'productCategory'\n                data-insight = \"${\n                  enabledInsightsVersion === 'v4'\n                    ? 'Vendor Trends'\n                    : 'Categories By Vendors'\n                }\"\n                data-name=\"Quick-insights_Popup_${dataTagName}_${category?.replace(\n                  /\\s+/g,\n                  '-'\n                )}\"\n                ' class='styledLink' href=\"${categoryUrl}\">${category} </a>`,\n                vendor: `${styledLink}<a class='styledLink' \n                data-recommendationrecordid=${\n                  insightsMessages?.recommendationRecordId\n                } \n                data-linktype = 'vendor'\n                data-insight = \"${\n                  enabledInsightsVersion === 'v4'\n                    ? 'Vendor Trends'\n                    : 'Categories By Vendors'\n                }\"\n                data-name=\"Quick-insights_Popup_${dataTagName}_${vendor?.replace(\n                  /\\s+/g,\n                  '-'\n                )}\" href=\"${vendorUrl}\">${vendor}</a>`,\n              },\n              true\n            )}\n          </>\n        );\n\n        return {\n          category: categoryKeys.trendingVendor,\n          description: data,\n          digitalData: {\n            InsightCategory: [vendorDetails?.category],\n            InsightName:\n              enabledInsightsVersion === 'v4'\n                ? 'Vendor trends'\n                : 'Categories by vendors',\n            InsightOrderhistory: '',\n            InsightProduct: [],\n            InsightSearchTerms: [],\n            InsightVendor: [vendorDetails?.vendor_name],\n          },\n          pages: 'Home Page, Insights Center, Vendor List, Product Category',\n          title: heading,\n        };\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [translate]\n  );\n\n  const updateTopVendorInsight = useCallback(\n    (top10VendorsDetails: ObjectMap[]) => {\n      if (\n        Array.isArray(top10VendorsDetails) &&\n        top10VendorsDetails?.length > 0\n      ) {\n        let partNumbers = '';\n\n        top10VendorsDetails?.forEach((vendorDetails: ObjectMap) => {\n          const partNumber = vendorDetails?.sku?.substring(2) ?? '';\n          partNumbers += `{'partNumber':'${partNumber}'},`;\n        });\n\n        const skusList = `[${partNumbers.slice(0, -1)}]`;\n\n        if (skusList === '[]') {\n          setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n            return {\n              ...prevInsightsDetails,\n              [categoryKeys.trendingProductVendor]: [],\n            };\n          });\n\n          return;\n        }\n\n        dataExtendedMutation\n          .mutateAsync(skusList)\n          .then((productSummaryResponse: any) => {\n            const productSummaries = productSummaryResponse?.summaries;\n\n            if (!productSummaries) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProductVendor]: [],\n                };\n              });\n\n              return;\n            }\n\n            const skusMap: ObjectMap = getSKUMap(productSummaries);\n            const filteredProductDetails: Array<ObjectMap> = [];\n\n            top10VendorsDetails?.forEach((vendorDetails: ObjectMap) => {\n              const partNumber = vendorDetails?.sku\n                ?.substring(2)\n                .replace(/^0+/, '');\n\n              if (Object.prototype.hasOwnProperty.call(skusMap, partNumber)) {\n                filteredProductDetails.push({\n                  ...vendorDetails,\n                  isAuthorizedToBuy: skusMap[partNumber]?.authorizedToPurchase,\n                  productSummary: skusMap[partNumber],\n                });\n              }\n            });\n\n            const sortedCategoryDetailsByRank = sortJSONListByKey(\n              filteredProductDetails,\n              'sku_rank'\n            );\n            const sortedDataByAuthorizationToBuy = sortJSONListByBooleanKey(\n              sortedCategoryDetailsByRank,\n              'isAuthorizedToBuy',\n              'desc'\n            );\n\n            if (sortedDataByAuthorizationToBuy?.length === 0) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProductVendor]: [],\n                };\n              });\n\n              return;\n            }\n\n            const topVendorsDetails = sortedDataByAuthorizationToBuy?.[0] ?? {};\n            const partNumber = topVendorsDetails?.productSummary?.partnumber;\n            const heading =\n              enabledInsightsVersion === 'v4'\n                ? translate('Insights.ProductDemand')\n                : translate('InsightCharts.TopVendors');\n            const productDetailsLink = `/cep/app/product/productdetails?id=${partNumber}`;\n\n            const vendorName = topVendorsDetails?.vendor_name ?? '';\n            const vendor = toPascal(vendorName);\n            const encodedVendorName = encodeURIComponent(vendorName);\n\n            const searchLink = `/cep/app/product/productsearch?displaytitle=${encodedVendorName}&keywords=${encodedVendorName}`;\n\n            const data = (\n              <Stack alignItems=\"start\" direction=\"row\" spacing={1.5}>\n                <Box sx={{ lineHeight: '25px', overflow: 'hidden' }}>\n                  {enabledInsightsVersion === 'v4' ? (\n                    <Typography\n                      component={'span'}\n                      sx={{ fontSize: '16px', lineHeight: '24px' }}\n                    >\n                      {translate(\n                        'Insights.TopVendorAndProduct_CardContent',\n                        {\n                          product: `${styledLink}<a class='styledLink'\n                  data-recommendationrecordid=${\n                    insightsMessages?.recommendationRecordId\n                  }  data-name=${`Insight_TopVendors Product_${topVendorsDetails?.product_description?.replace(\n                            /\\s+/g,\n                            '-'\n                          )}`}\n                          data-linktype = 'productName'\n                          data-insight = \"${\n                            enabledInsightsVersion === 'v4'\n                              ? 'Product demand'\n                              : 'Vendor trends'\n                          }\"\n\n                href=${productDetailsLink}>${\n                            topVendorsDetails?.product_description\n                          }</a>`,\n\n                          vendor: `${styledLink}<a class='styledLink'\n                  data-recommendationrecordid=${\n                    topVendorsDetails?.recommendationRecordId\n                  }    data-linktype = 'vendor'\n                  data-insight = \"${\n                    enabledInsightsVersion === 'v4'\n                      ? 'Product demand'\n                      : 'Vendor trends'\n                  }\"\n                  data-name=${`Insight_TopVendors Vendor_${vendor}`}\n                  href=${searchLink}>${vendor}                  \n                  </a>`,\n                        },\n                        true\n                      )}\n                    </Typography>\n                  ) : (\n                    <Typography\n                      component={'span'}\n                      sx={{ fontSize: '16px', lineHeight: '24px' }}\n                    >\n                      {translate('HomePage.InsightsVendorGrowth_last30Days')}{' '}\n                      {\n                        <StyledLinkTypography\n                          data-insight={\n                            enabledInsightsVersion === 'v4'\n                              ? 'Product demand'\n                              : 'Vendor trends'\n                          }\n                          data-linktype=\"vendor\"\n                          data-name={`Quick-insights_Popup_Top Vendors_${topVendorsDetails?.vendor_name?.replace(\n                            /\\s+/g,\n                            '-'\n                          )}`}\n                          data-recommendationrecordid={`${insightsMessages?.recommendationRecordId}`}\n                          href={searchLink}\n                          isDisabled={false}\n                        >\n                          {topVendorsDetails?.vendor_name}\n                        </StyledLinkTypography>\n                      }{' '}\n                      {translate(\n                        'HomePage.InsightsVendorGrowth_SignificantDemand'\n                      )}{' '}\n                      {\n                        <StyledLinkTypography\n                          data-insight={\n                            enabledInsightsVersion === 'v4'\n                              ? 'Product demand'\n                              : 'Vendor trends'\n                          }\n                          data-linktype=\"productName\"\n                          data-name={`Quick-insights_Popup_Top Vendors_${topVendorsDetails?.product_description?.replace(\n                            /\\s+/g,\n                            '-'\n                          )}`}\n                          data-recommendationrecordid={`${insightsMessages?.recommendationRecordId}`}\n                          href={productDetailsLink}\n                          isDisabled={false}\n                        >\n                          {topVendorsDetails?.product_description}\n                        </StyledLinkTypography>\n                      }{' '}\n                    </Typography>\n                  )}\n                </Box>\n              </Stack>\n            );\n\n            setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n              return {\n                ...prevInsightsDetails,\n                [categoryKeys.trendingProductVendor]: [\n                  {\n                    category: categoryKeys.trendingProductVendor,\n                    description: data,\n                    digitalData: {\n                      InsightCategory: [],\n                      InsightName:\n                        enabledInsightsVersion === 'v4'\n                          ? 'Product demand'\n                          : 'Top vendors',\n                      InsightOrderhistory: '',\n                      InsightProduct: [topVendorsDetails?.product_description],\n                      InsightSearchTerms: [],\n                      InsightVendor: [topVendorsDetails?.vendor_name],\n                    },\n                    pages: 'Insights Center',\n                    title: heading,\n                  },\n                ],\n              };\n            });\n          })\n          .finally(() => {\n            setProductSummaryDependentInsights((prevData: any) => {\n              return {\n                ...prevData,\n                topVendorInsight: false,\n              };\n            });\n          });\n      } else {\n        setProductSummaryDependentInsights((prevData: any) => {\n          return {\n            ...prevData,\n            topVendorInsight: false,\n          };\n        });\n      }\n    },\n    [\n      categoryKeys,\n      translate,\n      dataExtendedMutation,\n      insightsMessages,\n      enabledInsightsVersion,\n      styledLink,\n      setInsightsDetails,\n    ]\n  );\n\n  const updateEmptyComplementaryProducts = useCallback(() => {\n    setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n      return {\n        ...prevInsightsDetails,\n        [categoryKeys.complementaryProducts]: [],\n      };\n    });\n  }, [categoryKeys, setInsightsDetails]);\n\n  const updateMissingProductInBasket = useCallback(\n    (missingProductDetails: ObjectMap[]) => {\n      if (\n        Array.isArray(missingProductDetails) &&\n        missingProductDetails?.length > 0\n      ) {\n        let partNumbers = '';\n\n        missingProductDetails?.forEach((bundle: ObjectMap) => {\n          const partNumberA = bundle?.SKUA?.substring(2) ?? '';\n          const partNumberB = bundle?.SKUB?.substring(2) ?? '';\n\n          partNumbers += `{'partNumber':'${partNumberA}'},{'partNumber':'${partNumberB}'},`;\n        });\n\n        const skusList = `[${partNumbers.slice(0, -1)}]`;\n        let topBundle: ObjectMap = {};\n\n        dataExtendedMutation\n          .mutateAsync(skusList)\n          .then((productSummaryResponse: any) => {\n            const productSummaries = productSummaryResponse?.summaries;\n\n            if (!productSummaries) {\n              updateEmptyComplementaryProducts();\n              return;\n            }\n\n            const skusMap: ObjectMap = getSKUMap(productSummaries);\n            const filteredBundleDetails: Array<ObjectMap> = [];\n\n            missingProductDetails?.forEach((bundleDetails: ObjectMap) => {\n              const partNumberA = bundleDetails?.SKUA?.substring(2);\n              const partNumberB = bundleDetails?.SKUB?.substring(2);\n\n              if (\n                Object.prototype.hasOwnProperty.call(skusMap, partNumberA) &&\n                Object.prototype.hasOwnProperty.call(skusMap, partNumberB)\n              ) {\n                if (skusMap[partNumberA] && skusMap[partNumberB]) {\n                  filteredBundleDetails.push({\n                    ...bundleDetails,\n                    isAuthorizedToBuySKUA:\n                      skusMap[partNumberA]?.authorizedToPurchase,\n                    isAuthorizedToBuySKUB:\n                      skusMap[partNumberB]?.authorizedToPurchase,\n                    productSummaryA: skusMap[partNumberA],\n                    productSummaryB: skusMap[partNumberB],\n                  });\n                }\n              }\n            });\n\n            const sortedCategoryDetailsByRank = sortJSONListByKey(\n              filteredBundleDetails,\n              'rank'\n            );\n            const sortedDataByAuthorizationToBuy = sortJSONListByTwoBooleanKey(\n              sortedCategoryDetailsByRank,\n              'isAuthorizedToBuySKUA',\n              'isAuthorizedToBuySKUB',\n              'desc'\n            );\n\n            if (sortedDataByAuthorizationToBuy?.length === 0) {\n              updateEmptyComplementaryProducts();\n              return;\n            }\n\n            topBundle = sortedDataByAuthorizationToBuy?.[0] ?? {};\n\n            const heading = translate('Insights.ComplementaryProducts');\n            const productAUrl = `/cep/app/product/productdetails?id=${topBundle?.SKUA?.substring(\n              2\n            )}`;\n            const productBUrl = `/cep/app/product/productdetails?id=${topBundle?.SKUB?.substring(\n              2\n            )}`;\n            const data = translate(\n              'Insights.MissingProductMarketBasketText',\n              {\n                productA: productAUrl\n                  ? `${styledLink}<a class='styledLink' \n                  data-recommendationrecordid=${\n                    insightsMessages?.recommendationRecordId\n                  }\n                  data-linktype = 'productName'\n                  data-insight= 'Complementary products'\n                  data-name=\"Quick-insights_Popup_Categoriesbyvendors_${topBundle?.PRODA_DESCRIPTION?.replace(\n                    /\\s+/g,\n                    '-'\n                  )}\" \n                  href=\"${productAUrl}\">${topBundle?.PRODA_DESCRIPTION}</a>`\n                  : `<b>${topBundle?.PRODA_DESCRIPTION}</b>`,\n                productB: productBUrl\n                  ? `${styledLink}<a class='styledLink' \n                  data-recommendationrecordid=${\n                    insightsMessages?.recommendationRecordId\n                  }\n                  data-linktype = 'productName'\n                  data-insight= 'Complementary products'\n                  data-name=\"Quick-insights_Popup_Categoriesbyvendors_${topBundle?.PRODB_DESCRIPTION?.replace(\n                    /\\s+/g,\n                    '-'\n                  )}\"\n                  href=\"${productBUrl}\">${topBundle?.PRODB_DESCRIPTION}</a>`\n                  : `<b>${topBundle?.PRODB_DESCRIPTION}</b>`,\n              },\n              true\n            );\n\n            setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n              return {\n                ...prevInsightsDetails,\n                [categoryKeys.complementaryProducts]: [\n                  {\n                    category: categoryKeys.complementaryProducts,\n                    description: data,\n                    digitalData: {\n                      InsightCategory: [],\n                      InsightName: categoryKeys.complementaryProducts,\n                      InsightOrderhistory: '',\n                      InsightProduct: [\n                        topBundle?.PRODA_DESCRIPTION,\n                        topBundle?.PRODB_DESCRIPTION,\n                      ],\n                      InsightSearchTerms: [],\n                      InsightVendor: [],\n                    },\n                    pages: 'Home Page, Insights Center, Details Page',\n                    title: heading,\n                  },\n                ],\n              };\n            });\n          })\n          .finally(() => {\n            setProductSummaryDependentInsights((prevData: any) => {\n              return {\n                ...prevData,\n                missingProductInsight: false,\n              };\n            });\n          })\n          .catch(() => {\n            updateEmptyComplementaryProducts();\n          });\n      } else {\n        setProductSummaryDependentInsights((prevData: any) => {\n          return {\n            ...prevData,\n            missingProductInsight: false,\n          };\n        });\n      }\n    },\n    [\n      categoryKeys,\n      dataExtendedMutation,\n      styledLink,\n      translate,\n      updateEmptyComplementaryProducts,\n      insightsMessages,\n      setInsightsDetails,\n    ]\n  );\n\n  const getTopCategoryInsight = useCallback(\n    (categoryDetails: ObjectMap[]) => {\n      if (Array.isArray(categoryDetails) && categoryDetails?.length > 0) {\n        let topCategoryDetails: ObjectMap = categoryDetails[0];\n        const heading = translate(\n          enabledInsightsVersion === 'v4'\n            ? 'Insights.CommunityTrends'\n            : 'Insights.TopCategory'\n        );\n        categoryDetails?.forEach((vendorDetails: ObjectMap) => {\n          if (\n            topCategoryDetails?.mdg_segment_category_rank >\n            vendorDetails?.mdg_segment_category_rank\n          ) {\n            topCategoryDetails = vendorDetails;\n          }\n        });\n\n        const categoryName = topCategoryDetails?.category ?? '';\n        const category = toPascal(categoryName);\n        const encodedCategoryName = encodeURIComponent(categoryName);\n\n        const categoryUrl = `/cep/app/product/productsearch?displaytitle=${encodedCategoryName}&keywords=${encodedCategoryName}`;\n        const dataTagName =\n          enabledInsightsVersion === 'v4' ? 'Community-Trends' : 'Top-Category';\n        const data = (\n          <>\n            {translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.CommunityTrendsCard'\n                : 'Insights.TopCategoryInsightCard',\n              {\n                category: `${styledLink}<a class='styledLink' \n                data-name= 'Quick-insights_Popup_${dataTagName}_${category?.replace(\n                  / /g,\n                  '-'\n                )}'\n                data-recommendationrecordid = ${\n                  insightsMessages?.recommendationRecordId\n                }\n                data-linktype = 'productCategory'\n                data-insight=\"${\n                  enabledInsightsVersion === 'v4'\n                    ? 'Community trends'\n                    : 'Vendor trends'\n                }\"\n                href=\"${categoryUrl}\">${category}</a>`,\n              },\n              true\n            )}\n          </>\n        );\n\n        return {\n          category: categoryKeys.trendingCategory,\n          description: data,\n          digitalData: {\n            InsightCategory: [topCategoryDetails?.category],\n            InsightName:\n              enabledInsightsVersion === 'v4'\n                ? 'Community trends'\n                : 'Top Category',\n            InsightOrderhistory: '',\n            InsightProduct: [],\n            InsightSearchTerms: [],\n            InsightVendor: [],\n          },\n          pages: 'Home Page, Insights Center, Details Page, Product Category',\n          title: heading,\n        };\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [translate, styledLink, insightsMessages]\n  );\n\n  const updateTrendingSearches = useCallback(\n    (trendingSearchList: ObjectMap[]) => {\n      if (\n        trendingSearchList &&\n        Array.isArray(trendingSearchList) &&\n        trendingSearchList?.length > 0\n      ) {\n        let navlinkData = '';\n        const heading = translate(\n          enabledInsightsVersion === 'v4'\n            ? 'Insights.CommunityActivity'\n            : 'Insights.TrendingProductSearchTerms'\n        );\n        let topTrendingProductDetails: ObjectMap = trendingSearchList[0];\n        trendingSearchList?.forEach((product: ObjectMap) => {\n          if (topTrendingProductDetails?.rank > product?.rank) {\n            topTrendingProductDetails = product;\n          }\n        });\n\n        const trendingTopSearchList =\n          enabledInsightsVersion === 'v4'\n            ? trendingSearchList?.slice(0, 2)\n            : trendingSearchList;\n        const trendingListLength = trendingTopSearchList?.length ?? 0;\n\n        const dataTagName =\n          enabledInsightsVersion === 'v4'\n            ? 'Community-Activity'\n            : 'Trending-Product-Search-Terms';\n\n        const trendingSearchesDigitalData: ObjectMap = {\n          InsightCategory: [],\n          InsightName:\n            enabledInsightsVersion === 'v4'\n              ? 'Community activity'\n              : 'Trending Product Search Terms',\n          InsightOrderhistory: '',\n          InsightProduct: [],\n          InsightSearchTerms: [],\n          InsightVendor: [],\n        };\n\n        trendingTopSearchList.forEach((item: ObjectMap, index: number) => {\n          const trendingSearchTerm: string = item?.search_terms ?? '';\n\n          trendingSearchesDigitalData.InsightSearchTerms?.push(\n            trendingSearchTerm\n          );\n\n          const encodedTrendingSearchTerm =\n            encodeURIComponent(trendingSearchTerm);\n          const trendingSearchTermUrl = `/cep/app/product/productsearch?displaytitle=${encodedTrendingSearchTerm}&keywords=${encodedTrendingSearchTerm}`;\n          let delimiter = '';\n\n          if (index === trendingListLength - 2) {\n            delimiter = ` ${translateKey('Insights.And')}`;\n          } else if (index < trendingListLength - 2) {\n            delimiter = ',';\n          }\n\n          navlinkData += `${styledLink}<a class='styledLink' \n          data-name = 'Quick-insights_Popup_${dataTagName}_${trendingSearchTerm}' \n          data-recommendationrecordid = ${\n            insightsMessages?.recommendationRecordId\n          }\n          data-linktype = 'searchTerm'\n          data-insight=\"${\n            enabledInsightsVersion === 'v4'\n              ? 'Community activity'\n              : 'Trending product search terms'\n          }\"\n\n          href=\"${trendingSearchTermUrl}\">${trendingSearchTerm}</a>${delimiter}`;\n        });\n\n        const trendingData = (\n          <>\n            {translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.CommunityActivityCard'\n                : 'Insights.TopTrendingSearchesCard',\n              { value: navlinkData },\n              true\n            )}\n          </>\n        );\n\n        setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n          return {\n            ...prevInsightsDetails,\n            [categoryKeys.trendingProductSearch]: [\n              {\n                category: 'Trending Searches',\n                description: trendingData,\n                digitalData: trendingSearchesDigitalData,\n                pages: 'Home Page, Insights Center, Search Page',\n                title: heading,\n              },\n            ],\n          };\n        });\n      }\n    },\n\n    [\n      translate,\n      translateKey,\n      categoryKeys,\n      enabledInsightsVersion,\n      styledLink,\n      insightsMessages,\n      setInsightsDetails,\n    ]\n  );\n\n  const getSalesPercentage = useCallback(\n    (sales: number) => {\n      if (Math.abs(sales) < 194.99) {\n        return `${parseFloat(sales.toPrecision(2))}%`;\n      } else if (Math.abs(sales) >= 195 && Math.abs(sales) < 1000) {\n        return `${parseFloat((sales / 100).toPrecision(2))}X`;\n      } else if (sales >= 1000) {\n        return `${translateKey('Insights.MoreThanKey')} <b>1000X</b>`;\n      } else if (sales <= -1000) {\n        return `${translateKey('Insights.LessThanKey')} <b>-1000X</b>`;\n      }\n    },\n    [translateKey]\n  );\n\n  const updateTopCategoriesInsight = useCallback(\n    (topCategoriesInsightDetails: ObjectMap[]) => {\n      if (\n        Array.isArray(topCategoriesInsightDetails) &&\n        topCategoriesInsightDetails?.length > 0\n      ) {\n        let partNumbers = '';\n\n        topCategoriesInsightDetails?.forEach((categoryDetails: ObjectMap) => {\n          const partNumber = categoryDetails?.sku?.substring(2) ?? '';\n          partNumbers += `{'partNumber':'${partNumber}'},`;\n        });\n\n        const skusList = `[${partNumbers.slice(0, -1)}]`;\n\n        if (skusList === '[]') {\n          setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n            return {\n              ...prevInsightsDetails,\n              [categoryKeys.trendingProductCategory]: [],\n            };\n          });\n\n          return;\n        }\n\n        dataExtendedMutation\n          .mutateAsync(skusList)\n          .then((productSummaryResponse: any) => {\n            const productSummaries = productSummaryResponse?.summaries;\n\n            if (!productSummaries) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProductCategory]: [],\n                };\n              });\n\n              return;\n            }\n\n            const skusMap: ObjectMap = getSKUMap(productSummaries);\n            const filteredProductDetails: Array<ObjectMap> = [];\n\n            topCategoriesInsightDetails?.forEach(\n              (categoryDetails: ObjectMap) => {\n                const partNumber = categoryDetails?.sku\n                  ?.substring(2)\n                  .replace(/^0+/, '');\n\n                if (Object.prototype.hasOwnProperty.call(skusMap, partNumber)) {\n                  filteredProductDetails.push({\n                    ...categoryDetails,\n                    isAuthorizedToBuy:\n                      skusMap[partNumber]?.authorizedToPurchase,\n                    productSummary: skusMap[partNumber],\n                  });\n                }\n              }\n            );\n\n            const sortedCategoryDetailsByRank = sortJSONListByKey(\n              filteredProductDetails,\n              'sku_rank'\n            );\n            const sortedDataByAuthorizationToBuy = sortJSONListByBooleanKey(\n              sortedCategoryDetailsByRank,\n              'isAuthorizedToBuy',\n              'desc'\n            );\n\n            if (sortedDataByAuthorizationToBuy?.length === 0) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProductCategory]: [],\n                };\n              });\n\n              return;\n            }\n\n            const topCategoryDetails =\n              sortedDataByAuthorizationToBuy?.[0] ?? {};\n            const heading = translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.MarketTrends'\n                : 'Insights.TopCategories'\n            );\n            const partNumber = topCategoryDetails?.productSummary?.partnumber;\n\n            const categoryName = topCategoryDetails?.category ?? '';\n            const dataCategoryName = topCategoryDetails?.category?.replace(\n              / /g,\n              '-'\n            );\n            const category = toPascal(categoryName);\n            const encodedDataCategoryName = encodeURIComponent(categoryName);\n\n            const productdetailsLink = `/cep/app/product/productdetails?id=${partNumber}`;\n            const searchLink = `/cep/app/product/productsearch?displaytitle=${encodedDataCategoryName}&keywords=${encodedDataCategoryName}`;\n            const dataName =\n              enabledInsightsVersion === 'v4'\n                ? 'MarketTrends'\n                : 'TopCategories';\n            const insightType =\n              enabledInsightsVersion === 'v4'\n                ? 'Market trends'\n                : 'Top categories';\n            const data = (\n              <>\n                {translate(\n                  'Insights.Card_TopProductGrowth_Text',\n                  {\n                    category: searchLink\n                      ? `${styledLink}<a class='styledLink' data-engineid='engine_${dataCategoryName}_Insight_${dataName}_link' \n                      data-name = 'Quick-insights_Popup_${dataName}_${dataCategoryName}'\n                      data-recommendationrecordid =${insightsMessages?.recommendationRecordId}\n                      data-linktype = 'productCategory'\n                      data-insight= \"${insightType}\"\n\n                      data-testid = '${dataCategoryName}_Insight_${dataName}_link' \n                      href=${searchLink}>${category}</a>`\n                      : ` <b>${category}</b>`,\n\n                    percentage:\n                      getSalesPercentage(\n                        topCategoryDetails?.sales_growth_ratio\n                      ) ?? '',\n\n                    product: productdetailsLink\n                      ? `${styledLink}<a class='styledLink' data-engineid='engine_${partNumber}_Insight_${dataName}_link' \n                      data-name = 'Quick-insights_Popup_${dataName}_${topCategoryDetails?.product_description?.replace(\n                          / /g,\n                          '-'\n                        )}' \n                      data-recommendationrecordid = ${\n                        insightsMessages?.recommendationRecordId\n                      }\n                      data-linktype = 'productName'\n                      data-insight= \"${insightType}\"\n\n                      data-testid = '${partNumber}_Insight_${dataName}_link' \n                      href=${productdetailsLink}>${\n                          topCategoryDetails?.product_description\n                        }</a>`\n                      : ` <b>${topCategoryDetails?.product_description}</b>`,\n                  },\n                  true\n                )}\n              </>\n            );\n\n            setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n              return {\n                ...prevInsightsDetails,\n                [categoryKeys.trendingProductCategory]: [\n                  {\n                    category: categoryKeys.trendingProductCategory,\n                    description: data,\n                    digitalData: {\n                      InsightCategory: [],\n                      InsightName: dataName,\n                      InsightOrderhistory: '',\n                      InsightProduct: [topCategoryDetails?.product_description],\n                      InsightSearchTerms: [],\n                      InsightVendor: [],\n                    },\n                    pages: 'Insights Center',\n                    title: heading,\n                  },\n                ],\n              };\n            });\n          })\n          .finally(() => {\n            setProductSummaryDependentInsights((prevData: any) => {\n              return {\n                ...prevData,\n                topCategoryInsight: false,\n              };\n            });\n          });\n      } else {\n        setProductSummaryDependentInsights((prevData: any) => {\n          return {\n            ...prevData,\n            topCategoryInsight: false,\n          };\n        });\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [translate, dataExtendedMutation, getSalesPercentage]\n  );\n\n  const getTopCategoryInLast30Days = useCallback(\n    (topCategoriesInLast30DaysInsightDetails: ObjectMap[]) => {\n      if (\n        Array.isArray(topCategoriesInLast30DaysInsightDetails) &&\n        topCategoriesInLast30DaysInsightDetails?.length > 0\n      ) {\n        const heading = translate(\n          enabledInsightsVersion === 'v4'\n            ? 'Insights.YourTrends'\n            : 'Insights.TrendingCategory'\n        );\n        const categoryName =\n          topCategoriesInLast30DaysInsightDetails?.[0]?.category ?? '';\n        const dataCategoryName = categoryName?.replace(/ /g, '-');\n        const category = toPascal(categoryName);\n        const encodedDataCategory = encodeURIComponent(categoryName ?? '');\n        const categoryLink = `/cep/app/product/productsearch?displaytitle=${encodedDataCategory}&keywords=${encodedDataCategory}`;\n        const insightType =\n          enabledInsightsVersion === 'v4' ? 'Your trends' : 'Trending category';\n        const data = (\n          <>\n            {translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.TopCategoryGrowthAndProduct_CardContent'\n                : 'Insights.TopCategoryGrowth_last30Days',\n              {\n                category: `${styledLink}<a class='styledLink' data-engineid='engine_${dataCategoryName}_Insight_TrendingProducts' \n                data-name = 'Quick-insights_Popup_Trending-Category_${dataCategoryName}' data-recommendationrecordid = ${insightsMessages?.recommendationRecordId} \n                data-linktype = 'productCategory' data-insight=\"${insightType}\" data-testid = '${categoryName}_Insight_TrendingProducts_link' href=${categoryLink}>${category}</a>`,\n              },\n              true\n            )}\n          </>\n        );\n\n        return {\n          category: categoryKeys.trendingCategory,\n          description: data,\n          digitalData: {\n            InsightCategory: [categoryName],\n            InsightName:\n              enabledInsightsVersion === 'v4'\n                ? 'Your trends'\n                : categoryKeys.trendingCategory,\n            InsightOrderhistory: '',\n            InsightProduct: [],\n            InsightSearchTerms: [],\n            InsightVendor: [],\n          },\n          pages: 'Insights Center',\n          title: heading,\n        };\n      }\n    },\n    [\n      styledLink,\n      categoryKeys,\n      translate,\n      insightsMessages,\n      enabledInsightsVersion,\n    ]\n  );\n\n  const updateTrendingProductsInsights = useCallback(\n    (topTrendingProductsDetails: ObjectMap[]) => {\n      if (\n        Array.isArray(topTrendingProductsDetails) &&\n        topTrendingProductsDetails?.length > 0\n      ) {\n        let partNumbers = '';\n\n        topTrendingProductsDetails?.forEach((trendingDetails: ObjectMap) => {\n          const partNumber = trendingDetails?.sku ?? '';\n          partNumbers += `{'partNumber':'${partNumber}'},`;\n        });\n\n        const skusList = `[${partNumbers.slice(0, -1)}]`;\n\n        if (skusList === '[]') {\n          setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n            return {\n              ...prevInsightsDetails,\n              [categoryKeys.trendingProduct]: [],\n            };\n          });\n\n          return;\n        }\n\n        dataExtendedMutation\n          .mutateAsync(skusList)\n          .then((productSummaryResponse: any) => {\n            const productSummaries = productSummaryResponse?.summaries;\n\n            if (!productSummaries) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProduct]: [],\n                };\n              });\n\n              return;\n            }\n\n            const skusMap: ObjectMap = getSKUMap(productSummaries);\n            const filteredProductDetails: Array<ObjectMap> = [];\n\n            topTrendingProductsDetails?.forEach(\n              (trendingDetails: ObjectMap) => {\n                const partNumber = trendingDetails?.sku;\n\n                filteredProductDetails.push({\n                  ...trendingDetails,\n                  isAuthorizedToBuy: skusMap[partNumber]?.authorizedToPurchase,\n                  productSummary: skusMap[partNumber] ?? {},\n                });\n              }\n            );\n\n            const sortedDataByAuthorizationToBuy = sortJSONListByBooleanKey(\n              filteredProductDetails,\n              'isAuthorizedToBuy',\n              'desc'\n            );\n            const sortedTrendingDetailsByRank = sortJSONListByKey(\n              sortedDataByAuthorizationToBuy,\n              'sku_rank'\n            );\n            const sortbyNullArray = sortJSONByNullValue(\n              sortedTrendingDetailsByRank,\n              'productSummary'\n            );\n\n            if (sortbyNullArray?.length === 0) {\n              setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n                return {\n                  ...prevInsightsDetails,\n                  [categoryKeys.trendingProduct]: [],\n                };\n              });\n\n              return;\n            }\n\n            const topTrendingDetails = sortbyNullArray?.[0] ?? {};\n            const partNumber = topTrendingDetails?.productSummary?.partnumber;\n            const topProductUrl = `/cep/app/product/productdetails?id=${partNumber}`;\n            const heading = translate(\n              enabledInsightsVersion === 'v4'\n                ? 'Insights.CommunityTrends'\n                : 'Insights.TrendingProducts'\n            );\n            const insightType =\n              enabledInsightsVersion === 'v4'\n                ? 'Community trends'\n                : 'Trending products';\n            const firstProduct = sortbyNullArray?.[0] ?? {};\n            const firstProductSku = firstProduct?.productSummary?.partnumber;\n\n            const firstProductUrl = firstProductSku\n              ? `/cep/app/product/productdetails?id=${firstProductSku}`\n              : undefined;\n\n            const secondProduct = sortbyNullArray?.[1] ?? {};\n            const secondProductSku = secondProduct?.productSummary?.partnumber;\n\n            const secondProductUrl = secondProductSku\n              ? `/cep/app/product/productdetails?id=${secondProductSku}`\n              : undefined;\n\n            const data = (\n              <>\n                {enabledInsightsVersion === 'v4'\n                  ? translate(\n                      'Insights.Customer_HighGrowth_TrendingProducts',\n                      {\n                        highGrowth: firstProductUrl\n                          ? `${styledLink}<a class='styledLink' data-engineid='engine_${firstProductSku}_Insight_CommunityTrends' \n                    data-name = 'Quick-insights_Popup_CommunityTrends-products_${firstProduct?.product_description?.replace(\n                      /\\s+/g,\n                      '-'\n                    )}' \n                      data-recommendationrecordid = ${\n                        insightsMessages?.recommendationRecordId\n                      }\n                      data-linktype = 'productName'                  \n                      data-insight=\"${insightType}\"\n                      data-testid = '${firstProductSku}_Insight_CommunityTrends_link' href=${firstProductUrl}>${\n                              firstProduct?.product_description\n                            }</a>`\n                          : `<b>${firstProduct?.product_description}</b>`,\n\n                        lowGrowth: secondProductUrl\n                          ? `${styledLink}<a class='styledLink' data-engineid='engine_${secondProductSku}_Insight_CommunityTrends' \n                    data-name = 'Quick-insights_Popup_CommunityTrends_${secondProduct?.product_description?.replace(\n                      /\\s+/g,\n                      '-'\n                    )}' \n                      data-recommendationrecordid = ${\n                        insightsMessages?.recommendationRecordId\n                      }\n                      data-linktype = 'productName'\n                      data-insight=\"${insightType}\"\n                      data-testid = '${secondProductSku}_Insight_CommunityTrends_link' href=${secondProductUrl}>${\n                              secondProduct?.product_description\n                            }</a>`\n                          : `<b>${secondProduct?.product_description}</b>`,\n                      },\n                      true\n                    )\n                  : translate(\n                      'Insights.Trending_Product_Top_Product_In_Top_Category',\n                      {\n                        topProduct: topProductUrl\n                          ? `${styledLink}<a class='styledLink' data-engineid='engine_${partNumber}_Insight_TrendingProducts' \n                      data-name = 'Quick-insights_Popup_Trending-products_${topTrendingDetails?.product_description?.replace(\n                        /\\s+/g,\n                        '-'\n                      )}' \n                        data-recommendationrecordid = ${\n                          insightsMessages?.recommendationRecordId\n                        } \n                        data-linktype = 'productName'\n                        data-insight=\"${insightType}\"\n                        data-testid = '${partNumber}_Insight_TrendingProducts_link' href=${topProductUrl}>${\n                              topTrendingDetails?.product_description\n                            }</a>`\n                          : `<b>${topTrendingDetails?.product_description}</b>`,\n                      },\n                      true\n                    )}\n              </>\n            );\n\n            setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n              return {\n                ...prevInsightsDetails,\n                [categoryKeys.trendingProduct]: [\n                  {\n                    category: categoryKeys.trendingProduct,\n                    description: data,\n                    digitalData: {\n                      InsightCategory: [],\n                      InsightName: 'Trending products',\n                      InsightOrderhistory: '',\n                      InsightProduct: [topTrendingDetails?.product_description],\n                      InsightSearchTerms: [],\n                      InsightVendor: [],\n                    },\n                    pages: 'Home Page, Insights Center, Search Page',\n                    title: heading,\n                  },\n                ],\n              };\n            });\n          })\n          .finally(() => {\n            setProductSummaryDependentInsights((prevData: any) => {\n              return {\n                ...prevData,\n                trendingProductInsight: false,\n              };\n            });\n          });\n      } else {\n        setProductSummaryDependentInsights((prevData: any) => {\n          return {\n            ...prevData,\n            trendingProductInsight: false,\n          };\n        });\n      }\n    },\n    [\n      categoryKeys,\n      enabledInsightsVersion,\n      translate,\n      dataExtendedMutation,\n      styledLink,\n      insightsMessages,\n      setInsightsDetails,\n    ]\n  );\n\n  const updateEfficientTipsInsight = useCallback(\n    (isResellerWhitelistedForCTO: boolean) => {\n      if (\n        enableEfficiencyTipsInsightsIsReady &&\n        enableEfficiencyTipsInsights === 'true' &&\n        isResellerWhitelistedForCTO &&\n        isConfigureToOrderUrlReady &&\n        isConfigureToOrderQuestionsUrlReady\n      ) {\n        const heading = translate('Insights.EfficientTips');\n        const configureToOrder = translateKey('Insights.ConfigureToOrder');\n        const questions = translateKey('Insights.EfficientTipsQuestions');\n        const data = (\n          <>\n            {translate(\n              'Insights.EfficientTipsInsight',\n              {\n                ctoLink: `${styledLink}<a class='styledLink' data-engineid='engine_Insight_EfficienyTips' \n                  data-name = 'Quick-insights_Popup_EfficienyTips_Configure-To-Order' \n                  data-recommendationrecordid = ${insightsMessages?.recommendationRecordId}\n                  data-linktype = 'configureToOrder'\n                  data-insight= 'Efficiency tips'\n                  data-testid = 'Configure-To-Order_Insight_EfficienyTips_link' href=${configureToOrderUrl}>${configureToOrder}</a>`,\n                questions: `${styledLink}<a class='styledLink' data-engineid='engine_Insight_EfficienyTips' \n                  data-name = 'Quick-insights_Popup_EfficienyTips_Questions' \n                  data-recommendationrecordid = ${insightsMessages?.recommendationRecordId}\n                  data-insight= 'Efficiency tips'\n                  data-linktype = 'EfficiencyTipsQuestions'\n                  data-testid = 'Questions_Insight_EfficienyTips_link' href=${configureToOrderQuestionsUrl}>${questions}</a>`,\n              },\n              true\n            )}\n          </>\n        );\n\n        const InsightDetails = {\n          category: categoryKeys.efficientTips,\n          description: data,\n          digitalData: {\n            InsightCategory: [],\n            InsightName: 'Efficieny Tips',\n            InsightOrderhistory: '',\n            InsightProduct: [],\n            InsightSearchTerms: [],\n            InsightVendor: [],\n          },\n          pages:\n            'Home Page, Insights Center, cart checkout, Search Page, Details Page, Product Category, Vendor List',\n          title: heading,\n        };\n        setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n          return {\n            ...prevInsightsDetails,\n            [categoryKeys.efficientTips]: [InsightDetails],\n          };\n        });\n      }\n    },\n    [\n      categoryKeys,\n      configureToOrderQuestionsUrl,\n      configureToOrderUrl,\n      enableEfficiencyTipsInsights,\n      enableEfficiencyTipsInsightsIsReady,\n      insightsMessages?.recommendationRecordId,\n      isConfigureToOrderQuestionsUrlReady,\n      isConfigureToOrderUrlReady,\n      setInsightsDetails,\n      styledLink,\n      translate,\n      translateKey,\n    ]\n  );\n\n  const updateInsightDetails = useCallback(\n    (insightsMessages: { [x: string]: any }) => {\n      updateEfficientTipsInsight(\n        insightsMessages?.['IsResellerWhitelistedForCTOStaticInsights'] ?? false\n      );\n      if (\n        userRole !== userRoles.BASIC ||\n        !enableUserManagement ||\n        enableUserManagement !== 'true'\n      ) {\n        const salesFrequencyInsight = getSalesFrequencyInsight(\n          JSON.parse(\n            insightsMessages?.[\n              'x4c_insights_combined.insight__order_count_ytd'\n            ] ?? '{}'\n          )\n        );\n\n        if (salesFrequencyInsight) {\n          setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n            return {\n              ...prevInsightsDetails,\n              [categoryKeys.accountInfo]: [salesFrequencyInsight],\n            };\n          });\n        }\n      }\n\n      const categoryByVendorInsight = getCategoryByVendorInsight(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__top_vendor_in_top_category'\n          ] ?? '{}'\n        )\n      );\n\n      const topCategoryInsight = getTopCategoryInsight(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insights__top_categories_in_mdg_segment'\n          ] ?? '[]'\n        )\n      );\n\n      const topCategory_30Days = getTopCategoryInLast30Days(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__top_category_growth_with_top_product_sales'\n          ] ?? '[]'\n        )\n      );\n\n      updateTopVendorInsight(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__top_vendor_growth_with_top_product_sales'\n          ] ?? '[]'\n        )\n      );\n\n      updateMissingProductInBasket(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__missing_product_market_basket'\n          ] ?? '[]'\n        )\n      );\n\n      updateTrendingSearches(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__trending_searches_in_mdg_segment'\n          ] ?? '[]'\n        )\n      );\n\n      updateTopCategoriesInsight(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insight__top_product_growth_top_category'\n          ] ?? '[]'\n        )\n      );\n\n      updateTrendingProductsInsights(\n        JSON.parse(\n          insightsMessages?.[\n            'x4c_insights_combined.insights__trending_products_growth'\n          ] ?? '[]'\n        )\n      );\n\n      if (categoryByVendorInsight) {\n        setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n          return {\n            ...prevInsightsDetails,\n            [categoryKeys.trendingVendor]: [categoryByVendorInsight],\n          };\n        });\n      }\n\n      const trendingCategoryInsights: ObjectMap[] = [];\n      [topCategoryInsight, topCategory_30Days]?.forEach((insight: any) => {\n        if (insight) trendingCategoryInsights.push(insight);\n      });\n\n      if (trendingCategoryInsights?.length > 0) {\n        setInsightsDetails((prevInsightsDetails: ObjectMap) => {\n          return {\n            ...prevInsightsDetails,\n            [categoryKeys.trendingCategory]: trendingCategoryInsights,\n          };\n        });\n      }\n    },\n    [\n      updateEfficientTipsInsight,\n      userRole,\n      enableUserManagement,\n      getCategoryByVendorInsight,\n      getTopCategoryInsight,\n      getTopCategoryInLast30Days,\n      updateTopVendorInsight,\n      updateMissingProductInBasket,\n      updateTrendingSearches,\n      updateTopCategoriesInsight,\n      updateTrendingProductsInsights,\n      getSalesFrequencyInsight,\n      setInsightsDetails,\n      categoryKeys,\n    ]\n  );\n\n  useEffect(() => {\n    if (!insightsMessagesLoading && allInsightsLoaded) {\n      setDigitalData({\n        QuickInsightsImpressions: chipsDetails?.[0]?.digitalData ?? [],\n      });\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [allInsightsLoaded]);\n\n  useEffect(() => {\n    if (insightsDetails !== null) {\n      updateChipsDetails(\n        currentPage,\n        pageWiseCagetoriesDetails?.[currentPage],\n        insightsDetails\n      );\n    }\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [pageWiseCagetoriesDetails, insightsDetails, currentPage]);\n\n  useEffect(() => {\n    if (\n      !productSummaryDependentInsights?.missingProductInsight &&\n      !productSummaryDependentInsights?.topCategoryInsight &&\n      !productSummaryDependentInsights?.topVendorInsight &&\n      !productSummaryDependentInsights?.trendingProductInsight\n    )\n      setAllInsightsLoaded(true);\n  }, [productSummaryDependentInsights]);\n\n  useEffect(() => {\n    if (insightsMessagesLoading) return;\n\n    if (insightsMessages?.items?.length > 0) {\n      updateInsightDetails(insightsMessages?.items?.[0]);\n    }\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [insightsMessagesLoading, insightsMessages?.items]);\n\n  useEffect(() => {\n    if (insightsDetails !== null) {\n      setAllInsightsLoaded(true);\n      return;\n    }\n\n    setInsightsMessagesLoading(true);\n    insightsMutation.mutateAsync(combinedInsights).then((response) => {\n      setInsightsMessagesLoading(false);\n      setInsightsMessages(response);\n    });\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [insightsDetails]);\n\n  return (\n    <Box component=\"div\" py={2} sx={{ maxWidth: 650 }}>\n      {(insightsMessagesLoading || !allInsightsLoaded) && (\n        <InsightsMessagingQueueSkeleton />\n      )}\n      <StyledStack\n        alignItems=\"center\"\n        direction=\"row\"\n        flexWrap=\"nowrap\"\n        spacing={1}\n      >\n        {!insightsMessagesLoading &&\n          allInsightsLoaded &&\n          chipsDetails?.map((chipDetails: ObjectMap) => {\n            return (\n              <StyledChip\n                className={chipDetails?.active && 'active'}\n                data-name={chipDetails?.dataName}\n                deleteIcon={\n                  <CountBadge className=\"count-badge\">\n                    {chipDetails?.insightsCount ?? 0}\n                  </CountBadge>\n                }\n                key={chipDetails?.title}\n                label={chipDetails?.title}\n                onClick={() => showContent(chipDetails)}\n                onDelete={onCountClick}\n                variant=\"outlined\"\n              />\n            );\n          })}\n      </StyledStack>\n      {!insightsMessagesLoading &&\n        chipsDetails?.length <= 1 &&\n        allInsightsLoaded && (\n          <Typography pl={8} pt={6} variant=\"h2\">\n            {translate('Insights.NoInsightsAvailable')}\n          </Typography>\n        )}\n      {!insightsMessagesLoading &&\n        allInsightsLoaded &&\n        enabledInsightsVersionIsReady && (\n          <Stack direction=\"row\" flexWrap=\"wrap\" spacing={1}>\n            {chipsDetails?.map((chipDetails: ObjectMap) => {\n              return chipDetails?.active && <>{chipDetails?.content}</>;\n            })}\n          </Stack>\n        )}\n    </Box>\n  );\n}\n\nfunction toPascal(string: string) {\n  const convertedString = string.replace(/(\\w)(\\w*)/g, function (g0, g1, g2) {\n    return g1.toUpperCase() + g2.toLowerCase();\n  });\n  return convertedString;\n}\n\nconst StyledStack = styled(Stack)(({ theme }) => ({\n  '&::-webkit-scrollbar': {\n    height: '8.86px',\n    width: '8.86px',\n  },\n  '&::-webkit-scrollbar-thumb': {\n    background: theme.palette.text.disabled,\n    borderRadius: '6px',\n  },\n  '&::-webkit-scrollbar-thumb:hover': {\n    background: theme.palette.primary.main,\n  },\n  '&::-webkit-scrollbar-track': {\n    borderRadius: '6px',\n    boxShadow: 'none',\n  },\n  '&::-webkit-scrollbar-track:hover': {\n    boxShadow: 'inset 0 0 6px #C4C4C4',\n  },\n  height: 46,\n  overflowX: 'auto',\n  overflowY: 'hidden',\n}));\n\nconst StyledChip = styled(Chip)(({ theme }) => ({\n  '&.active': {\n    '.count-badge': {\n      backgroundColor: 'rgba(1, 100, 176, 1)',\n      color: '#fff',\n    },\n    backgroundColor: 'rgba(243, 250, 255, 1)',\n    borderColor: 'rgba(0, 119, 212, 1)',\n    marginBottom: theme.spacing(0.5),\n    marginTop: theme.spacing(0.5),\n  },\n}));\n\nconst CountBadge = styled(Box)(({ theme }) => ({\n  '&.MuiChip-deleteIcon, &.MuiChip-deleteIcon:hover': {\n    backgroundColor: '#eeeeee',\n    borderRadius: 4,\n    color: '#333333',\n    fontSize: '12px !important',\n    padding: theme.spacing(0, 1, 0, 1),\n  },\n}));\n\ninterface TemporalEnableddProps {\n  isDisabled: boolean;\n}\n\nconst StyledLinkTypography = styled('a')<TemporalEnableddProps>(\n  ({ isDisabled }) => ({\n    color: isDisabled ? '#424242' : '#0077D4',\n    cursor: isDisabled ? 'default' : 'pointer',\n    display: 'inline',\n    fontSize: '16px',\n    fontWeight: '600',\n    minWidth: 0,\n    overflow: 'hidden',\n    textDecoration: 'none',\n    textOverflow: 'ellipsis',\n  })\n);\n","import { useApiGet } from 'mf_core/query';\nimport { useMutation } from '@tanstack/react-query';\n\nexport function useExtendedSummaryMutation() {\n  const apiGet = useApiGet<ProductSummaryResponse>();\n\n  return useMutation({\n    mutationFn: (skulist: string) => {\n      const data = apiGet(\n        `/exp-looker/v1/insights/validateproducts?q={'productIdentifiers':${skulist}, 'webonly': true,'vendorAuthorization': true}`\n      );\n\n      return data;\n    },\n  });\n}\n\nexport interface Indicators {\n  hasacopquantitybreak: boolean;\n  hasacopspecialprice: boolean;\n  hasacopwebdiscount: boolean;\n  hasbundle: boolean;\n  hascrosssell: boolean;\n  hasreturnlimits: boolean;\n  hasshipalong: boolean;\n  hasspecialbid: boolean;\n  hasstdquantitybreak: boolean;\n  hasstdspecialprice: boolean;\n  hasstdwebdiscount: boolean;\n  hasstock: boolean;\n  hasstockororder: boolean;\n  haswarranty: boolean;\n  iniSwitch: string;\n  isBackOrderAllowed: boolean;\n  isComponent: boolean;\n  isNoReturnsAllowed: boolean;\n  isNonTransactional: boolean;\n  isNotOrderableOnline: boolean;\n  isShippedFromPartner: boolean;\n  isblowout: boolean;\n  isclearanceproduct: boolean;\n  iscustownproduct: boolean;\n  isdigitaltype: boolean;\n  isdirectship: boolean;\n  isdirectshiporderable: boolean;\n  isdiscontinued: boolean;\n  isdownloadable: boolean;\n  isenduserrequired: boolean;\n  isexportabletocountry: boolean;\n  isheavyweight: boolean;\n  ishptopconfigproduct: boolean;\n  islicenseproduct: boolean;\n  islremodel: boolean;\n  isltl: boolean;\n  isoversizeproduct: boolean;\n  ispreorderproduct: boolean;\n  isrefurbished: boolean;\n  isreplacementproduct: boolean;\n  iswarranty: boolean;\n  newproduct: boolean;\n  replacementtype: string;\n  skutype: string;\n}\n\nexport interface Images {\n  imageurl: string;\n}\n\nexport interface Extrafee {\n  feeamount: number;\n  feename: string;\n}\n\nexport interface Pna {\n  availablequantity: number;\n  currency: string;\n  dealerprice: number;\n  extrafee: Extrafee;\n  msrp: number;\n}\n\nexport interface CampaignInfo {\n  promotioncode: string;\n  promotionpoints: string;\n  promotiontype: string;\n}\n\nexport interface FreeItem {\n  expiredt: string;\n  freeMaterial: string;\n  freeqty: string;\n  image: string;\n  minqty: string;\n  partdescription: string;\n  upcEan: string;\n  vpn: string;\n}\n\nexport interface CiscoFields {\n  configurationindicator: string;\n  globallistprice: string;\n  internalbusinessentity: string;\n  itemcatalogcategory: string;\n  itemtype: string;\n  productsubgroup: string;\n  serviceprogramname: string;\n}\n\nexport type ProductSummary = {\n  authorizedToPurchase: boolean;\n  basecost: string;\n  brand: string;\n  bundleSkus: string[];\n  campaign: CampaignInfo;\n  category: string;\n  categoryrankfactor: number;\n  ciscoFields: CiscoFields;\n  classCode: string;\n  cmpFields: string;\n  cpucd: string;\n  customerpartnumber: string;\n  digitalsku: string;\n  directShipVendorCode: number;\n  directshipvendorcodes: string;\n  displaypartnumber: string;\n  exManufacturerpartnumber: string;\n  fiscalclass: string;\n  freeItem: FreeItem;\n  globalpartnumber: string;\n  globalproducthierarchy: string;\n  harmonizedCode: string;\n  images: Images;\n  incurrencycode: string;\n  indicators: Indicators;\n  isSapCountry: boolean;\n  keywords: string;\n  languagecode: string;\n  layout: string;\n  longdescription: string;\n  manufacturerdescription: string;\n  manufacturerpartnumber: string;\n  materialtype: string;\n  outcurrencycode: string;\n  partOfBunddles: string[];\n  partnumber: string;\n  pna: Pna;\n  productfamily: string;\n  productmodel: string;\n  producttype: string;\n  restrictionCode: string;\n  salesRank: string;\n  score: number;\n  scoringfactor: string;\n  shortdescription: string;\n  similarProducts: string[];\n  stockStatus: string;\n  subMaterial: string;\n  subcategory: string;\n  suggestedmaterial: string;\n  thirdpartydescription: string;\n  upcean: string;\n  vendorCode: string;\n  vendorSubRange: string;\n};\n\nexport type TotalField = {\n  count: string;\n  relation: string;\n};\n\nexport type ProductSummaryResponse = {\n  isSuccess: boolean;\n  summaries: ProductSummary[];\n  total: TotalField;\n};\n","import React, { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { ObjectMap } from 'mf_core/query/api-hooks';\nimport { useLocalization } from '@im/react-localization';\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Tooltip, { tooltipClasses, TooltipProps } from '@mui/material/Tooltip';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport InsightsFooter from './internal/InsightsFooter';\nimport InsightsContent from './internal/InsightsContent';\nimport { InsightsMessagingQueueSkeleton } from './internal/InsightsMessagingQueueSkeleton';\n\ntype Props = {\n  dismissAllHandler?: () => void;\n  maxDropHeight?: number;\n  onClickInsightsCenter?: () => void;\n};\n\nexport default function InsightsMessagingQueue(props: Props) {\n  const location = useLocation();\n  const { translate } = useLocalization();\n  const { dismissAllHandler, maxDropHeight, onClickInsightsCenter } = props;\n  const [loadInsightsData, setLoadInsightsData] = useState(false);\n  const [currentPage, setCurrentPage] = useState('Home Page');\n  const [chipsDetails, setChipsDetails] = useState<ObjectMap[]>([]);\n  const [insightsDetails, setInsightsDetails] = useState<ObjectMap | null>(\n    null\n  );\n\n  const pageNames: ObjectMap = {\n    '/insight/insights-v2': 'Insights Center',\n    '/my/cart': 'cart checkout',\n    '/my/dashboard': 'Home Page',\n    '/product/productdetails': 'Details Page',\n    '/product/productsearch': 'Search Page',\n  };\n  const enableInsightsPaths = [\n    '/insight/insights-v2',\n    '/my/cart',\n    '/my/dashboard',\n    '/product/productsearch',\n    '/product/productdetails',\n    '/product/subscriptioncategories',\n  ];\n\n  useEffect(() => {\n    const pathName = location?.pathname ?? '';\n    let timer: any = null;\n    setLoadInsightsData(false);\n\n    if (enableInsightsPaths.includes(pathName)) {\n      if (\n        (pathName === '/product/productsearch' &&\n          (location?.search?.includes('categories') ||\n            location?.search?.includes('category'))) ||\n        pathName === '/product/subscriptioncategories'\n      ) {\n        setCurrentPage('Product Category');\n      } else if (\n        pathName === '/product/productsearch' &&\n        location?.search?.includes('vendor')\n      ) {\n        setCurrentPage('Vendor List');\n      } else {\n        setCurrentPage(pageNames[pathName]);\n      }\n\n      timer = setTimeout(() => {\n        setLoadInsightsData(true);\n      }, 100);\n    }\n\n    return () => {\n      clearTimeout(timer);\n    };\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [location]);\n\n  return (\n    <StyledBoxWrapper component=\"div\">\n      <Stack direction=\"column\" height=\"100%\" justifyContent=\"space-between\">\n        <Stack direction=\"column\">\n          <Stack\n            alignItems=\"center\"\n            direction=\"row\"\n            justifyContent=\"flex-start\"\n          >\n            <Typography sx={{ fontWeight: 'bold' }} variant=\"body1\">\n              {translate('Insights.Card_TitleText')}\n            </Typography>\n            <CustomWidthTooltip title={'Tooltip Text'}>\n              <InfoOutlinedIcon\n                color=\"disabled\"\n                fontSize=\"small\"\n                sx={{ display: 'none', ml: 1 }}\n              />\n            </CustomWidthTooltip>\n          </Stack>\n          <StyledPageNameTypography variant=\"body2\">\n            {translate(`Insights.${currentPage.replace(/\\s/g, '')}`)}\n          </StyledPageNameTypography>\n          {!loadInsightsData && <InsightsMessagingQueueSkeleton />}\n          {loadInsightsData && (\n            <InsightsContent\n              chipsDetails={chipsDetails}\n              currentPage={currentPage}\n              insightsDetails={insightsDetails}\n              maxDropHeight={maxDropHeight}\n              setChipsDetails={setChipsDetails}\n              setInsightsDetails={setInsightsDetails}\n            />\n          )}\n        </Stack>\n        <InsightsFooter\n          dismissAllHandler={dismissAllHandler}\n          onClickInsightsCenter={onClickInsightsCenter}\n          showInsightsCenter={location?.pathname !== '/insight/insights-v2'}\n        />\n      </Stack>\n    </StyledBoxWrapper>\n  );\n}\n\nconst StyledBoxWrapper = styled(Box)(({ theme }) => ({\n  backgroundColor: '#FFF',\n  borderRadius: '4px',\n  display: 'inline-block',\n  height: '100%',\n  minWidth: 350,\n  padding: theme.spacing(2),\n}));\n\nconst StyledPageNameTypography = styled(Typography)(({ theme }) => ({\n  color: '#a9a8a8',\n  fontSize: '11px',\n  fontWeight: 'bold',\n  lineHeight: '10px',\n}));\n\nconst CustomWidthTooltip = styled(({ className, ...props }: TooltipProps) => (\n  <Tooltip {...props} classes={{ popper: className }} />\n))({\n  [`& .${tooltipClasses.tooltip}`]: {\n    background: '#333333 !important',\n    borderRadius: '4px',\n    boxShadow: 'none',\n    color: '#fff !important',\n    fontSize: '12px !important',\n  },\n});\n","import { useHasPermission } from 'mf_core/auth';\nimport { ObjectMap } from 'mf_core/query';\n\nexport function isEmpty(value: any): boolean {\n  if (!value || value === null || value === undefined) return true;\n  if (typeof value === 'string') {\n    if (value?.trim() === '') return true;\n  }\n  if (typeof value === 'object') {\n    if (!Object.keys(value) || Object.keys(value)?.length === 0) return true;\n    if (Object.keys(value)?.length === 1 && Object.keys(value)?.includes('')) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport const userRoles: ObjectMap = {\n  ADMIN: 'Admin',\n  BASIC: 'Basic',\n  PURCHASE: 'Purchase',\n  SUPPORT: 'Support',\n};\n\nexport const GetUserRole = () => {\n  const hasPermission = useHasPermission();\n  if (hasPermission(['ResellerAdmin'])) return userRoles.ADMIN;\n  else if (\n    (hasPermission(['SeeResellerPriceAndStockOnCatalogue']) ||\n      hasPermission(['CreateBaskets'])) &&\n    (hasPermission(['PlaceOrders']) ||\n      hasPermission(['FulfillmentOrdering']) ||\n      hasPermission(['ViewOrderStatus']))\n  )\n    return userRoles.PURCHASE;\n  else if (\n    hasPermission(['ViewAccountStatements']) ||\n    hasPermission(['ViewOrderStatus']) ||\n    hasPermission(['CreateReturns'])\n  )\n    return userRoles.SUPPORT;\n  else return userRoles.BASIC;\n};\n\nexport function getAmount(value?: number | string) {\n  if (!value || isEmpty(value)) return 0;\n  if (typeof value === 'string') return +value?.replace(/\\s+/g, '');\n  return value;\n}\n\nexport function percentage(value: number, total: number) {\n  if (value === 0 || total === 0) return 0;\n  return getAmount(((value / total) * 100).toFixed(2));\n}\n\nexport function capitalizeFirstLetter(word: string) {\n  return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n}\n\nexport function capitalizeSentence(sentence: string | undefined): string {\n  if (!sentence) return '';\n  const words = sentence.split(' ');\n  const capitalizedWords = words.map((word) => capitalizeFirstLetter(word));\n  const capitalizedSentence = capitalizedWords.join(' ');\n  return capitalizedSentence;\n}\n\nexport function getSKUsMap(skus: any = []) {\n  const skuMap: ObjectMap = {};\n\n  skus.forEach((sku: ObjectMap) => {\n    skuMap[sku?.partNumber ?? sku?.skuNumber] = sku;\n  });\n\n  return skuMap;\n}\n\nexport function getSKUMap(skus: any = []) {\n  const skuMap: ObjectMap = {};\n\n  skus.forEach((sku: ObjectMap) => {\n    skuMap[sku?.partnumber ?? sku?.skuNumber] = sku;\n  });\n\n  return skuMap;\n}\n\nexport function sortJSONListByKey(jsonList: Array<ObjectMap>, key: string) {\n  jsonList?.sort((productDetailsA: ObjectMap, productDetailsB: ObjectMap) => {\n    if (productDetailsA[key] > productDetailsB[key]) return 1;\n    else if (productDetailsA[key] < productDetailsB[key]) return -1;\n    else return 0;\n  });\n\n  return jsonList;\n}\n\nexport function sortJSONByNullValue(jsonList: Array<ObjectMap>, key: string) {\n  jsonList.sort((productA: ObjectMap, productB: ObjectMap) => {\n    if (JSON.stringify(productA?.[key]) === '{}') {\n      return 1;\n    }\n\n    if (JSON.stringify(productB?.[key]) === '{}') {\n      return -1;\n    }\n\n    if (productA?.[key] === productB?.[key]) {\n      return 0;\n    }\n\n    return productA?.[key] < productB?.[key] ? -1 : 1;\n  });\n  return jsonList;\n}\n\nexport function sortJSONListByBooleanKey(\n  jsonList: Array<ObjectMap>,\n  key: string,\n  orderBy: string\n) {\n  jsonList?.sort((productA: ObjectMap, productB: ObjectMap) => {\n    if (orderBy === 'desc') {\n      return Number(productB?.[key]) - Number(productA?.[key]);\n    }\n\n    return Number(productA?.[key]) - Number(productB?.[key]);\n  });\n  return jsonList;\n}\n\nexport function sortJSONListByTwoBooleanKey(\n  jsonList: Array<ObjectMap>,\n  key1: string,\n  key2: string,\n  orderBy: string\n) {\n  sortJSONListByBooleanKey(jsonList, key1, orderBy).sort(\n    (productA, productB) => {\n      if (orderBy === 'desc') {\n        return Number(productB[key2]) - Number(productA[key2]);\n      }\n\n      return Number(productA[key2]) - Number(productB[key2]);\n    }\n  );\n\n  return jsonList;\n}\n\nexport function getFormattedNumber(\n  num: number,\n  currencySymbol = '$',\n  zeroRequired = false\n): string {\n  num = num * 1;\n\n  if (num >= 1000000000) {\n    return `${currencySymbol}${(num / 1000000000)\n      .toFixed(1)\n      .replace(/\\.0$/, '')}B`;\n  }\n  if (num >= 1000000) {\n    return `${currencySymbol}${(num / 1000000)\n      .toFixed(1)\n      .replace(/\\.0$/, '')}M`;\n  }\n  if (num >= 1000) {\n    return `${currencySymbol}${(num / 1000)?.toFixed(1)?.replace(/\\.0$/, '')}K`;\n  }\n  if (num === 0) {\n    return zeroRequired ? `${currencySymbol}0` : '';\n  }\n  return `${currencySymbol}${num?.toFixed(1)?.replace(/\\.0$/, '')}`;\n}\n","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"animation\", \"className\", \"component\", \"height\", \"style\", \"variant\", \"width\"];\nlet _ = t => t,\n  _t,\n  _t2,\n  _t3,\n  _t4;\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { keyframes, css } from '@mui/system';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getSkeletonUtilityClass } from './skeletonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    variant,\n    animation,\n    hasChildren,\n    width,\n    height\n  } = ownerState;\n  const slots = {\n    root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n  };\n  return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes(_t || (_t = _`\n  0% {\n    opacity: 1;\n  }\n\n  50% {\n    opacity: 0.4;\n  }\n\n  100% {\n    opacity: 1;\n  }\n`));\nconst waveKeyframe = keyframes(_t2 || (_t2 = _`\n  0% {\n    transform: translateX(-100%);\n  }\n\n  50% {\n    /* +0.5s of delay between each loop */\n    transform: translateX(100%);\n  }\n\n  100% {\n    transform: translateX(100%);\n  }\n`));\nconst SkeletonRoot = styled('span', {\n  name: 'MuiSkeleton',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n  }\n})(({\n  theme,\n  ownerState\n}) => {\n  const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n  const radiusValue = toUnitless(theme.shape.borderRadius);\n  return _extends({\n    display: 'block',\n    // Create a \"on paper\" color with sufficient contrast retaining the color\n    backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n    height: '1.2em'\n  }, ownerState.variant === 'text' && {\n    marginTop: 0,\n    marginBottom: 0,\n    height: 'auto',\n    transformOrigin: '0 55%',\n    transform: 'scale(1, 0.60)',\n    borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n    '&:empty:before': {\n      content: '\"\\\\00a0\"'\n    }\n  }, ownerState.variant === 'circular' && {\n    borderRadius: '50%'\n  }, ownerState.variant === 'rounded' && {\n    borderRadius: (theme.vars || theme).shape.borderRadius\n  }, ownerState.hasChildren && {\n    '& > *': {\n      visibility: 'hidden'\n    }\n  }, ownerState.hasChildren && !ownerState.width && {\n    maxWidth: 'fit-content'\n  }, ownerState.hasChildren && !ownerState.height && {\n    height: 'auto'\n  });\n}, ({\n  ownerState\n}) => ownerState.animation === 'pulse' && css(_t3 || (_t3 = _`\n      animation: ${0} 2s ease-in-out 0.5s infinite;\n    `), pulseKeyframe), ({\n  ownerState,\n  theme\n}) => ownerState.animation === 'wave' && css(_t4 || (_t4 = _`\n      position: relative;\n      overflow: hidden;\n\n      /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n      -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n      &::after {\n        animation: ${0} 2s linear 0.5s infinite;\n        background: linear-gradient(\n          90deg,\n          transparent,\n          ${0},\n          transparent\n        );\n        content: '';\n        position: absolute;\n        transform: translateX(-100%); /* Avoid flash during server-side hydration */\n        bottom: 0;\n        left: 0;\n        right: 0;\n        top: 0;\n      }\n    `), waveKeyframe, (theme.vars || theme).palette.action.hover));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n  const props = useThemeProps({\n    props: inProps,\n    name: 'MuiSkeleton'\n  });\n  const {\n      animation = 'pulse',\n      className,\n      component = 'span',\n      height,\n      style,\n      variant = 'text',\n      width\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const ownerState = _extends({}, props, {\n    animation,\n    component,\n    variant,\n    hasChildren: Boolean(other.children)\n  });\n  const classes = useUtilityClasses(ownerState);\n  return /*#__PURE__*/_jsx(SkeletonRoot, _extends({\n    as: component,\n    ref: ref,\n    className: clsx(classes.root, className),\n    ownerState: ownerState\n  }, other, {\n    style: _extends({\n      width,\n      height\n    }, style)\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The animation.\n   * If `false` the animation effect is disabled.\n   * @default 'pulse'\n   */\n  animation: PropTypes.oneOf(['pulse', 'wave', false]),\n  /**\n   * Optional children to infer width and height from.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The component used for the root node.\n   * Either a string to use a HTML element or a component.\n   */\n  component: PropTypes.elementType,\n  /**\n   * Height of the skeleton.\n   * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n   */\n  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  /**\n   * @ignore\n   */\n  style: PropTypes.object,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * The type of content that will be rendered.\n   * @default 'text'\n   */\n  variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n  /**\n   * Width of the skeleton.\n   * Useful when the skeleton is inside an inline element with no width of its own.\n   */\n  width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n  return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","export function isUnitless(value) {\n  return String(parseFloat(value)).length === String(value).length;\n}\n\n// Ported from Compass\n// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss\n// Emulate the sass function \"unit\"\nexport function getUnit(input) {\n  return String(input).match(/[\\d.\\-+]*\\s*(.*)/)[1] || '';\n}\n\n// Emulate the sass function \"unitless\"\nexport function toUnitless(length) {\n  return parseFloat(length);\n}\n\n// Convert any CSS <length> or <percentage> value to any another.\n// From https://github.com/KyleAMathews/convert-css-length\nexport function convertLength(baseFontSize) {\n  return (length, toUnit) => {\n    const fromUnit = getUnit(length);\n\n    // Optimize for cases where `from` and `to` units are accidentally the same.\n    if (fromUnit === toUnit) {\n      return length;\n    }\n\n    // Convert input length to pixels.\n    let pxLength = toUnitless(length);\n    if (fromUnit !== 'px') {\n      if (fromUnit === 'em') {\n        pxLength = toUnitless(length) * toUnitless(baseFontSize);\n      } else if (fromUnit === 'rem') {\n        pxLength = toUnitless(length) * toUnitless(baseFontSize);\n      }\n    }\n\n    // Convert length in pixels to the output unit\n    let outputLength = pxLength;\n    if (toUnit !== 'px') {\n      if (toUnit === 'em') {\n        outputLength = pxLength / toUnitless(baseFontSize);\n      } else if (toUnit === 'rem') {\n        outputLength = pxLength / toUnitless(baseFontSize);\n      } else {\n        return length;\n      }\n    }\n    return parseFloat(outputLength.toFixed(5)) + toUnit;\n  };\n}\nexport function alignProperty({\n  size,\n  grid\n}) {\n  const sizeBelow = size - size % grid;\n  const sizeAbove = sizeBelow + grid;\n  return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;\n}\n\n// fontGrid finds a minimal grid (in rem) for the fontSize values so that the\n// lineHeight falls under a x pixels grid, 4px in the case of Material Design,\n// without changing the relative line height\nexport function fontGrid({\n  lineHeight,\n  pixels,\n  htmlFontSize\n}) {\n  return pixels / (lineHeight * htmlFontSize);\n}\n\n/**\n * generate a responsive version of a given CSS property\n * @example\n * responsiveProperty({\n *   cssProperty: 'fontSize',\n *   min: 15,\n *   max: 20,\n *   unit: 'px',\n *   breakpoints: [300, 600],\n * })\n *\n * // this returns\n *\n * {\n *   fontSize: '15px',\n *   '@media (min-width:300px)': {\n *     fontSize: '17.5px',\n *   },\n *   '@media (min-width:600px)': {\n *     fontSize: '20px',\n *   },\n * }\n * @param {Object} params\n * @param {string} params.cssProperty - The CSS property to be made responsive\n * @param {number} params.min - The smallest value of the CSS property\n * @param {number} params.max - The largest value of the CSS property\n * @param {string} [params.unit] - The unit to be used for the CSS property\n * @param {Array.number} [params.breakpoints]  - An array of breakpoints\n * @param {number} [params.alignStep] - Round scaled value to fall under this grid\n * @returns {Object} responsive styles for {params.cssProperty}\n */\nexport function responsiveProperty({\n  cssProperty,\n  min,\n  max,\n  unit = 'rem',\n  breakpoints = [600, 900, 1200],\n  transform = null\n}) {\n  const output = {\n    [cssProperty]: `${min}${unit}`\n  };\n  const factor = (max - min) / breakpoints[breakpoints.length - 1];\n  breakpoints.forEach(breakpoint => {\n    let value = min + factor * breakpoint;\n    if (transform !== null) {\n      value = transform(value);\n    }\n    output[`@media (min-width:${breakpoint}px)`] = {\n      [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}`\n    };\n  });\n  return output;\n}"],"names":["InsightsFooter","props","translate","useLocalization","dismissAllHandler","onClickInsightsCenter","showInsightsCenter","onClickInsightsButton","useCallback","React","Stack","direction","justifyContent","spacing","StyledButton","onClick","size","sx","display","variant","styled","Button","theme","textTransform","TopInsightDetails","insightData","StyledInsightDetailsStackWrapper","alignItems","width","InsightsIcon","Typography","fontWeight","pl","title","description","Box","component","background","borderBottom","maxWidth","padding","paddingBottom","CategoryInsightsDetails","maxDropHeight","topInsightsData","maxHeight","setMaxHeight","useState","window","innerHeight","useEffect","handleWindowResize","addEventListener","removeEventListener","StyledCategoryWrapperStack","map","index","key","height","palette","text","disabled","borderRadius","primary","main","boxShadow","marginTop","overflowY","combinedInsights","client_id","column_limit","dynamic_fields","fields","fill_fields","filter_config","filter_expression","filters","limit","model","pivots","query_timezone","row_total","sorts","subtotals","total","view","vis_config","visible_ui_sections","InsightsMessagingQueueSkeleton","backgroundColor","Skeleton","fontSize","InsightsContent","chipsDetails","currentPage","insightsDetails","setChipsDetails","setInsightsDetails","insightsMessages","setInsightsMessages","insightsMessagesLoading","setInsightsMessagesLoading","insightsMutation","apiPost","useApiPost","useMutation","mutationFn","reqBody","onError","error","console","useInsightQueryMutation","dataExtendedMutation","apiGet","useApiGet","skulist","useExtendedSummaryMutation","translateKey","useTranslate","userRole","GetUserRole","isReady","enabledInsightsVersionIsReady","value","enabledInsightsVersion","useFeatureFlag","enableEfficiencyTipsInsightsIsReady","enableEfficiencyTipsInsights","isConfigureToOrderUrlReady","configureToOrderUrl","isConfigureToOrderQuestionsUrlReady","configureToOrderQuestionsUrl","enableInsightsSearchURLRefinement","enableUserManagement","categoryKeys","useMemo","accountInfo","complementaryProducts","efficientTips","trendingCategory","trendingProduct","trendingProductCategory","trendingProductSearch","trendingProductVendor","trendingVendor","productSummaryDependentInsights","setProductSummaryDependentInsights","missingProductInsight","topCategoryInsight","topVendorInsight","trendingProductInsight","allInsightsLoaded","setAllInsightsLoaded","pageWiseCagetoriesDetails","styledLink","tabContentView","categoryInsightData","getCategoryDetailsBasedOnPage","insightCategoriesList","insightsData","filteredCategoryWiseInsights","forEach","category","filteredInsights","pages","includes","getAllCategoriesInsights","allCategoriesInsights","updateChipsDetails","navigatedPage","categoryWiseInsightsData","updatedCategoryInsights","chipsList","active","content","dataName","digitalData","insight","InsightTab","insightsCount","String","length","push","replace","showContent","selectedChipDetails","tempChipDetails","chipDetails","setDigitalData","QuickInsightsImpressions","onCountClick","getSalesFrequencyInsight","orderDetails","order_count","orderHistory","encodeURIComponent","heading","data","history","recommendationRecordId","orderCount","InsightCategory","InsightName","InsightOrderhistory","InsightProduct","InsightSearchTerms","InsightVendor","getCategoryByVendorInsight","vendorDetails","categoryName","toPascal","encodedCategoryName","vendorName","vendor_name","vendor","encodedVendorName","vendorUrl","categoryUrl","dataTagName","updateTopVendorInsight","top10VendorsDetails","Array","isArray","partNumbers","partNumber","sku","substring","skusList","slice","prevInsightsDetails","mutateAsync","then","productSummaryResponse","productSummaries","summaries","skusMap","getSKUMap","filteredProductDetails","Object","prototype","hasOwnProperty","call","isAuthorizedToBuy","authorizedToPurchase","productSummary","sortedCategoryDetailsByRank","sortJSONListByKey","sortedDataByAuthorizationToBuy","sortJSONListByBooleanKey","topVendorsDetails","partnumber","productDetailsLink","searchLink","lineHeight","overflow","product","product_description","StyledLinkTypography","href","isDisabled","finally","prevData","updateEmptyComplementaryProducts","updateMissingProductInBasket","missingProductDetails","bundle","partNumberA","SKUA","partNumberB","SKUB","topBundle","filteredBundleDetails","bundleDetails","isAuthorizedToBuySKUA","isAuthorizedToBuySKUB","productSummaryA","productSummaryB","sortJSONListByTwoBooleanKey","productAUrl","productBUrl","productA","PRODA_DESCRIPTION","productB","PRODB_DESCRIPTION","catch","getTopCategoryInsight","categoryDetails","topCategoryDetails","mdg_segment_category_rank","updateTrendingSearches","trendingSearchList","navlinkData","topTrendingProductDetails","rank","trendingTopSearchList","trendingListLength","trendingSearchesDigitalData","item","trendingSearchTerm","search_terms","encodedTrendingSearchTerm","trendingSearchTermUrl","delimiter","trendingData","getSalesPercentage","sales","Math","abs","parseFloat","toPrecision","updateTopCategoriesInsight","topCategoriesInsightDetails","dataCategoryName","encodedDataCategoryName","productdetailsLink","insightType","percentage","sales_growth_ratio","getTopCategoryInLast30Days","topCategoriesInLast30DaysInsightDetails","encodedDataCategory","categoryLink","updateTrendingProductsInsights","topTrendingProductsDetails","trendingDetails","sortedTrendingDetailsByRank","sortbyNullArray","sortJSONByNullValue","topTrendingDetails","topProductUrl","firstProduct","firstProductSku","firstProductUrl","undefined","secondProduct","secondProductSku","secondProductUrl","highGrowth","lowGrowth","topProduct","updateEfficientTipsInsight","isResellerWhitelistedForCTO","configureToOrder","questions","ctoLink","InsightDetails","updateInsightDetails","userRoles","BASIC","salesFrequencyInsight","JSON","parse","categoryByVendorInsight","topCategory_30Days","trendingCategoryInsights","items","response","py","StyledStack","flexWrap","StyledChip","className","deleteIcon","CountBadge","label","onDelete","pt","string","g0","g1","g2","toUpperCase","toLowerCase","overflowX","Chip","color","borderColor","marginBottom","cursor","minWidth","textDecoration","textOverflow","InsightsMessagingQueue","location","useLocation","loadInsightsData","setLoadInsightsData","setCurrentPage","pageNames","enableInsightsPaths","pathName","pathname","timer","search","setTimeout","clearTimeout","StyledBoxWrapper","CustomWidthTooltip","InfoOutlinedIcon","ml","StyledPageNameTypography","Tooltip","_extends","classes","popper","tooltipClasses","tooltip","isEmpty","trim","keys","ADMIN","PURCHASE","SUPPORT","hasPermission","useHasPermission","capitalizeFirstLetter","word","charAt","skus","skuMap","skuNumber","jsonList","sort","productDetailsA","productDetailsB","stringify","orderBy","Number","key1","key2","getFormattedNumber","num","currencySymbol","zeroRequired","toFixed","_excluded","_t","_t2","_t3","_t4","_","t","pulseKeyframe","keyframes","waveKeyframe","SkeletonRoot","name","slot","overridesResolver","styles","ownerState","root","animation","hasChildren","withChildren","fitContent","heightAuto","radiusUnit","shape","radiusValue","vars","bg","alpha","mode","transformOrigin","transform","round","visibility","css","action","hover","inProps","ref","style","other","Boolean","children","slots","useUtilityClasses","as","getSkeletonUtilityClass","isUnitless","getUnit","input","match","toUnitless","convertLength","baseFontSize","toUnit","fromUnit","pxLength","outputLength","alignProperty","grid","sizeBelow","sizeAbove","fontGrid","pixels","htmlFontSize","responsiveProperty","cssProperty","min","max","unit","breakpoints","output","factor","breakpoint"],"sourceRoot":""}