{"version":3,"file":"ArticleList.stories.jsx","sourceRoot":"","sources":["../../../src/work/ArticleList/ArticleList.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { ChangeEvent } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n  createUID,\n  menuHelpers,\n  registerIcon,\n  escapeRegExp,\n  HTML,\n  Flex,\n  Button,\n  Count\n} from '@pega/cosmos-react-core';\nimport type { Action, MenuItemProps, MenuProps, OmitStrict } from '@pega/cosmos-react-core';\nimport * as thumbsUpSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/thumbs-up-solid.icon';\nimport * as thumbsDownSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/thumbs-down-solid.icon';\nimport * as bookOpen from '@pega/cosmos-react-core/lib/components/Icon/icons/book-open.icon';\nimport { ArticleList, ArticleSummary, ArticleListFilter } from '@pega/cosmos-react-work';\nimport type {\n  ArticleSummaryProps,\n  AIArticleSummaryProps,\n  Articles,\n  QuickFilter,\n  ArticleBuddyProps,\n  Reaction,\n  BuddyResponseProps,\n  BuddySuggestedArticlesProps,\n  SemanticSearchArticles,\n  AutoAnsweredItem,\n  DetectedItem,\n  ArticleProps\n} from '@pega/cosmos-react-work';\n\nimport { ArticleMockData } from '../Article/Article.mocks';\n\nimport {\n  suggestedMock,\n  followedMock,\n  searchMock,\n  ArticleBuddyMockData,\n  searchSemanticArticles,\n  semanticFilterOptions,\n  BuddyListMockData\n} from './ArticleList.mocks';\n\nexport default {\n  title: 'Work/ArticleList',\n  component: ArticleList,\n  subcomponents: { ArticleSummary, ArticleListFilter },\n  parameters: {\n    layout: 'fullscreen'\n  }\n} as Meta;\n\nregisterIcon(thumbsUpSolidIcon, thumbsDownSolidIcon, bookOpen);\n\nexport interface ArticleListDemoProps {\n  isSuggestArticleAction: boolean;\n  showAction: boolean;\n  showHeader: boolean;\n  showHeaderIcon: boolean;\n  showQuickFilters: boolean;\n  showCount: boolean;\n  showResults: boolean;\n  showLoadMore: boolean;\n  enableAISuggestions: boolean;\n  enableSemanticSearch: boolean;\n  enableVoiceAISuggestions: boolean;\n}\n\ntype MockArticles = ArticleSummaryProps & {\n  isLiked: boolean;\n  isFollowed: boolean;\n};\ntype MockBuddyArticles = OmitStrict<ArticleBuddyProps, 'query' | 'onSubmit' | 'onClear'>;\n\nexport const ArticleListDemo: StoryFn<ArticleListDemoProps> = (args: ArticleListDemoProps) => {\n  const [searchVal, setSearchVal] = useState('');\n  const [activeTab, setActiveTab] = useState('Suggested');\n  const [loading, setLoading] = useState(false);\n  const [categoryList, setCategoryList] = useState<MenuProps['items']>([]);\n  const [sortBy, setSortBy] = useState<MenuProps['items']>([]);\n  const [articles, setArticles] = useState<ArticleSummaryProps[]>([]);\n  const [aiArticles, setAiArticles] = useState<AIArticleSummaryProps[]>();\n  const [quickFilters, setQuickFilters] = useState<QuickFilter[]>([]);\n  const [loadingMore, isSetLoadMore] = useState(false);\n  const [hasMore, setHasMore] = useState(true);\n  const [filterCategoryValue, setFilterCategoryValue] = useState('');\n  const [buddyContent, setBuddyContent] = useState<BuddyResponseProps>();\n  const [buddyLoader, setBuddyLoader] = useState(false);\n  const [commentVal, setCommentVal] = useState('');\n  const [buddyReaction, setBuddyReaction] = useState<Reaction>(undefined);\n  const [showThankYouMessage, setShowThankYouMessage] = useState<boolean>(false);\n  const [listResult, setListResult] = useState<BuddySuggestedArticlesProps>();\n  const [fullList, setFullList] = useState<BuddySuggestedArticlesProps>();\n  const [showMore, setShowMore] = useState(false);\n  const [activeArticleByTab, setActiveArticleByTab] = useState<{\n    [tab: string]: Articles['activeArticle'];\n  }>({});\n\n  const [semanticFilterList, setSemanticFilterList] =\n    useState<MenuProps['items']>(semanticFilterOptions);\n  const [initialMessage, setInitialMessage] = useState(true);\n\n  const selectedSortByOption = useMemo(() => menuHelpers.getSelected(sortBy)[0], [sortBy]);\n\n  const selectSortByOption = useCallback((id: MenuItemProps['id']) => {\n    setSortBy(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n  }, []);\n\n  const selectedCategory = useMemo(() => {\n    return menuHelpers.getSelected(categoryList).map(item => ({ text: item.primary, id: item.id }));\n  }, [categoryList]);\n\n  const categoryListToRender = useMemo(() => {\n    return menuHelpers.mapTree(categoryList, item => ({\n      ...item,\n      selected: !!item.selected\n    }));\n  }, [categoryList]);\n\n  const toggleItem = (id: MenuItemProps['id']) => {\n    setCategoryList(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n  };\n\n  const onReaction: Required<ArticleSummaryProps>['feedback']['onReaction'] = (\n    articleId,\n    reaction\n  ) => {\n    setArticles(prevArticles => {\n      const itemIndex = prevArticles.findIndex(article => article?.articleId === articleId);\n      const updatedData = [...prevArticles];\n      if (itemIndex !== -1) {\n        const currentItemFeedback = updatedData[itemIndex].feedback;\n        if (currentItemFeedback) {\n          const likeValue = currentItemFeedback?.likes || 0;\n          const dislikeValue = currentItemFeedback?.dislikes || 0;\n\n          if (!reaction) {\n            if (currentItemFeedback.reaction === 'liked') {\n              currentItemFeedback.likes = likeValue - 1;\n            } else {\n              currentItemFeedback.dislikes = dislikeValue - 1;\n            }\n            currentItemFeedback.reaction = undefined;\n          }\n\n          if (reaction === 'liked') {\n            if (currentItemFeedback?.reaction === 'disliked') {\n              currentItemFeedback.dislikes = dislikeValue - 1;\n            }\n\n            currentItemFeedback.likes = likeValue + 1;\n            currentItemFeedback.reaction = 'liked';\n          }\n\n          if (reaction === 'disliked') {\n            if (currentItemFeedback.reaction === 'liked') {\n              currentItemFeedback.likes = likeValue - 1;\n            }\n            currentItemFeedback.dislikes = dislikeValue + 1;\n            currentItemFeedback.reaction = 'disliked';\n          }\n        }\n      }\n\n      return updatedData;\n    });\n  };\n  const openArticle = (\n    id: ArticleSummaryProps['articleId'],\n    tab: string,\n    title: string,\n    isBuddy: boolean = false\n  ) => {\n    let article: ArticleProps | BuddyResponseProps = {\n      backNavigation: {\n        title: 'Back to list',\n        onClick: () => {\n          setActiveArticleByTab(prev => {\n            return { ...prev, [activeTab]: undefined };\n          });\n        }\n      },\n      title,\n      content: <HTML content={ArticleBuddyMockData.content} />,\n      references: buddyContent?.references,\n      disclaimer: ArticleBuddyMockData.disclaimer\n    };\n\n    if (!isBuddy) {\n      article = {\n        articleId: id,\n        backNavigation: {\n          title: 'Back to list',\n          onClick: () => {\n            setActiveArticleByTab(prev => {\n              return { ...prev, [activeTab]: undefined };\n            });\n          }\n        },\n        primaryActions: [\n          {\n            icon: 'star',\n            label: 'Follow',\n            id: createUID(),\n            onClick: articleId => {\n              action('Follow')(articleId);\n            }\n          },\n          {\n            icon: 'open',\n            label: 'Open',\n            id: createUID(),\n            onClick: articleId => {\n              action('Open')(articleId);\n            }\n          }\n        ],\n        secondaryActions: {\n          items: [\n            {\n              text: 'Send in email',\n              id: 'action1',\n              onClick: action('Action')\n            },\n            {\n              text: 'Send in chat',\n              id: 'action2',\n              onClick: action('Action')\n            }\n          ]\n        },\n        content: <HTML content={ArticleMockData.fullArticleContent.content} />,\n        title,\n        meta: {\n          category: ArticleMockData.fullArticleContent.meta.category,\n          publishedDate: ArticleMockData.fullArticleContent.meta.publishedDate\n        },\n        footer: {\n          tags: {\n            list: [\n              {\n                id: 'Retail banking',\n                tagName: '#Retail_banking'\n              },\n              {\n                id: 'Billing',\n                tagName: '#Billing'\n              },\n              {\n                id: '223444',\n                tagName: '#CSR_Skills'\n              },\n              {\n                id: '223446',\n                tagName: '#Premium_Customers'\n              },\n              {\n                id: '223447',\n                tagName: '#Rare_Customers'\n              },\n              {\n                id: '223448',\n                tagName: '#Finance_Customers'\n              }\n            ],\n            onTagClick: action('Tag clicked')\n          },\n          relatedLinks: [\n            { title: 'Retail banking for beginners', href: 'https://pega.com' },\n            { title: 'How to handle premium customers', href: 'https://pega.com' }\n          ],\n          relatedArticles: [\n            {\n              title: 'What are the implications of change in billing cycle',\n              onClick: action('Related article'),\n              id: createUID()\n            },\n            {\n              title: 'What is the best billing cycle for premium customers',\n              onClick: action('Related article'),\n              id: createUID()\n            },\n            {\n              title: 'How to enable automatic bill payment',\n              onClick: action('Related article'),\n              id: createUID()\n            }\n          ]\n        },\n        loading: false\n      };\n    }\n\n    setActiveArticleByTab(prev => {\n      return { ...prev, [tab]: article };\n    });\n  };\n\n  const updateArticles = (mockArticles: MockArticles[]) => {\n    const data = Object.values(mockArticles);\n    return data.map(\n      ({\n        isLiked = false,\n        isFollowed = false,\n        articleId = '',\n        title,\n        href,\n        abstract,\n        meta,\n        feedback,\n        quickFilters: quickFilterTags\n      }) => {\n        const actionObj = [{ id: '1', text: 'Edit' }];\n        if (isLiked) {\n          actionObj.push({ id: '3', text: 'Dislike' });\n        } else {\n          actionObj.push({ id: '3', text: 'Like' });\n        }\n        if (isFollowed) {\n          actionObj.push({ id: '4', text: 'Unfollow' });\n        } else {\n          actionObj.push({ id: '4', text: 'Follow' });\n        }\n\n        return {\n          articleId,\n          href,\n          title,\n          abstract,\n          onTitleClick: () => {\n            action('onTitleClick')(articleId);\n            openArticle(articleId, activeTab, title);\n          },\n          actions: { items: actionObj, contextualLabel: title },\n          meta,\n          feedback,\n          quickFilters:\n            args.showQuickFilters && quickFilterTags?.length\n              ? quickFilterTags?.map(obj => {\n                  return obj;\n                })\n              : []\n        };\n      }\n    );\n  };\n\n  const fetchArticleContent: (activeTabName: string) => Promise<{\n    articles: ArticleSummaryProps[];\n    aiSuggestedArticles?: AIArticleSummaryProps[];\n    category: MenuProps['items'];\n    sortBy: MenuProps['items'];\n  }> = activeTabName => {\n    return new Promise(resolve => {\n      let activeTabContent: any = null;\n\n      if (!activeTabName || activeTabName === 'Search') activeTabContent = { ...searchMock };\n      else if (activeTabName === 'Suggested') activeTabContent = { ...suggestedMock };\n      else if (activeTabName === 'Followed') activeTabContent = { ...followedMock };\n\n      setTimeout(() => {\n        if (activeTabContent) {\n          resolve({\n            articles: updateArticles(activeTabContent.articles),\n            aiSuggestedArticles: activeTabContent.aiSuggestions ?? undefined,\n            category: activeTabContent.category || [],\n            sortBy: activeTabContent.sortBy || []\n          });\n        }\n      }, 500);\n    });\n  };\n\n  searchMock.articles = searchMock.articles.map(article => {\n    return {\n      ...article,\n      feedback: {\n        ...article.feedback,\n        id: article.articleId,\n        onReaction\n      }\n    };\n  });\n\n  suggestedMock.articles = suggestedMock.articles.map(article => {\n    return {\n      ...article,\n      feedback: {\n        ...article.feedback,\n        id: article.articleId,\n        onReaction\n      }\n    };\n  });\n\n  followedMock.articles = followedMock.articles.map(article => {\n    return {\n      ...article,\n      feedback: {\n        ...article.feedback,\n        id: article.articleId,\n        onReaction\n      }\n    };\n  });\n\n  /** for buddy */\n  const updateBuddyArticles = (mockBuddyArticle: MockBuddyArticles['response']) => {\n    const actionItems = {\n      items: [\n        { id: '1', text: 'Share' },\n        { id: '2', text: 'Copy as URL' }\n      ]\n    };\n    return {\n      title: mockBuddyArticle?.title,\n      content: mockBuddyArticle?.content,\n      references: mockBuddyArticle?.references,\n      disclaimer: mockBuddyArticle?.disclaimer,\n      actions: actionItems\n    };\n  };\n  const fetchBuddySearchResult: () => Promise<{\n    data: BuddyResponseProps;\n  }> = () => {\n    return new Promise(resolve => {\n      setTimeout(() => {\n        resolve({\n          data: updateBuddyArticles(ArticleBuddyMockData)\n        });\n      }, 1000);\n    });\n  };\n\n  const getBuddyResults = async () => {\n    setBuddyLoader(true);\n    const res = await fetchBuddySearchResult();\n    setBuddyContent(res.data);\n    setBuddyLoader(false);\n  };\n\n  const buddyQuery: ArticleBuddyProps['query'] = {\n    label: 'Ask Bubby',\n    placeholder: 'Ask your question here...',\n    value: searchVal,\n    onChange: (e: ChangeEvent<HTMLTextAreaElement>) => setSearchVal(e.target.value),\n    labelHidden: true\n  };\n  const feedbackParams: BuddyResponseProps['feedback'] = {\n    comment: {\n      labelHidden: true,\n      placeholder: 'How can I improve...',\n      value: commentVal,\n      onChange: (e: ChangeEvent<HTMLTextAreaElement>) => setCommentVal(e.target.value)\n    },\n    question: args.enableSemanticSearch ? 'Was this search helpful?' : 'Was this helpful?',\n    reaction: buddyReaction,\n    onReaction: (reaction: Reaction) => {\n      setBuddyReaction(reaction);\n    },\n    onSubmit: (response: { reaction: Reaction; comment: string }) => {\n      action('onClick')(`action ${response.reaction} ${response.comment}`);\n      setCommentVal('');\n      setBuddyReaction(undefined);\n      setShowThankYouMessage(true);\n    },\n    showThankYouMessage\n  };\n\n  const handleTabChange = (id: string) => {\n    setArticles([]);\n    setCategoryList([]);\n    setLoading(true);\n    fetchArticleContent(id).then(res => {\n      setArticles(res.articles);\n      setAiArticles(args.enableAISuggestions ? res.aiSuggestedArticles : undefined);\n      setCategoryList(res.category);\n      setSortBy(res.sortBy);\n      setLoading(false);\n    });\n\n    setActiveTab(id);\n    setSearchVal('');\n    if (id !== 'Search') {\n      setQuickFilters([]);\n    }\n  };\n\n  useEffect(() => {\n    setLoading(true);\n    fetchArticleContent(activeTab).then(res => {\n      setLoading(false);\n      setArticles(res.articles);\n      setAiArticles(args.enableAISuggestions ? res.aiSuggestedArticles : undefined);\n    });\n  }, [activeTab, args.enableAISuggestions]);\n\n  const filterRegex = useMemo(() => escapeRegExp(filterCategoryValue), [filterCategoryValue]);\n\n  const categoryProps: Articles['category'] = {\n    label: 'Category',\n    placeholder: 'Select categories',\n    onChange: e => {\n      setFilterCategoryValue(e.target.value);\n    },\n    value: filterCategoryValue,\n    mode: 'multi-select',\n    selected: {\n      items: selectedCategory\n    },\n    menu: {\n      items: filterCategoryValue\n        ? menuHelpers.flatten(categoryList).filter(({ primary }: MenuItemProps) => {\n            return filterRegex.toLowerCase().includes(primary.toLowerCase());\n          })\n        : categoryListToRender,\n      onItemClick: toggleItem\n    }\n  };\n\n  const sortByProps: Articles['sortBy'] = {\n    label: 'Sort by',\n    placeholder: 'Select sort by',\n    selected: selectedSortByOption\n      ? {\n          items: {\n            id: selectedSortByOption.id,\n            text: selectedSortByOption.primary\n          }\n        }\n      : undefined,\n    menu: {\n      items: sortBy,\n      onItemClick: selectSortByOption\n    }\n  };\n  const [searchFilter, setSearchFilter] = useState<MenuProps['items']>(\n    ['Buddy 1- taking care of customer operations', 'Buddy 2', 'Buddy 3'].map(name => ({\n      id: name,\n      primary: name\n    }))\n  );\n  const selectedFilter = useMemo(() => {\n    const selected = menuHelpers.getSelected(searchFilter)[0];\n    return selected ? selected.primary : 'Select buddy';\n  }, [searchFilter]);\n\n  const itemsToRender = useMemo(() => {\n    return menuHelpers.mapTree(searchFilter, item => {\n      return {\n        ...item\n      };\n    });\n  }, [searchFilter]);\n\n  const searchOptions: Articles['searchInput'] = {\n    placeholder: 'Search article',\n    value: searchVal,\n    onSearchChange: (val: string) => {\n      setSearchVal(val);\n    },\n    onSearchSubmit: (val: string) => {\n      setInitialMessage(false);\n      return val;\n    },\n    searchFilter: {\n      text: selectedFilter,\n      variant: 'text',\n      menu: {\n        items: itemsToRender,\n        mode: 'single-select',\n        onItemClick: (id: MenuItemProps['id']) => {\n          setSearchFilter(cur => menuHelpers.toggleSelected(cur, id, 'single-select'));\n        }\n      }\n    },\n    filterInfo:\n      selectedFilter !== 'Select buddy'\n        ? {\n            title: selectedFilter,\n            description: 'This gives information on filter selected'\n          }\n        : undefined\n  };\n\n  const actionOptions = [\n    {\n      id: '1',\n      text: 'Action 1',\n      onClick: (id: string) => action('onClick')(`action ${id}`)\n    },\n    {\n      id: '2',\n      text: 'Action 2',\n      onClick: (id: string) => action('onClick')(`action ${id}`)\n    },\n    {\n      id: '3',\n      text: 'Action 3',\n      onClick: (id: string) => action('onClick')(`action ${id}`)\n    }\n  ];\n\n  const suggestNewArticleAction: Action = {\n    id: 'Suggest action',\n    text: 'Suggest action',\n    onClick: (id: string) => action('onClick')(id),\n    icon: 'plus'\n  };\n\n  let actions;\n  if (args.showAction) {\n    if (args.isSuggestArticleAction) {\n      actions = { items: [suggestNewArticleAction] };\n    } else {\n      actions = { items: actionOptions };\n    }\n  }\n  const handleClearClick = () => {\n    setQuickFilters([]);\n    setSearchVal('');\n    setCategoryList(curr => {\n      return curr?.map(categoryListItem => {\n        return {\n          ...categoryListItem,\n          selected: false\n        };\n      });\n    });\n    setSortBy(curr => {\n      return curr?.map(sortByListItem => {\n        return {\n          ...sortByListItem,\n          selected: false\n        };\n      });\n    });\n  };\n\n  let timeoutId: ReturnType<typeof setTimeout>;\n  const stopTimeout = () => {\n    clearTimeout(timeoutId);\n  };\n\n  const onLoadMore = useCallback(() => {\n    if (!loading && !loadingMore && activeTab) {\n      isSetLoadMore(true);\n      setLoading(false);\n      timeoutId = setTimeout(() => {\n        isSetLoadMore(false);\n        setLoading(false);\n        setHasMore(true);\n        setArticles(prevArticles => [\n          ...prevArticles,\n          {\n            articleId: createUID(),\n            title: 'Last article alert!!!',\n            href: 'design.pega.com',\n            abstract:\n              'Last article alert. This is the last article , hence the last index to be noted. This will be appended at the end of the list',\n            meta: {\n              category: 'Retail',\n              publishedDate: '2023-04-06'\n            },\n            feedback: {\n              articleId: createUID(),\n              likes: 20,\n              dislikes: 80,\n              liked: true,\n              disliked: false,\n              onReaction: () => {}\n            },\n            isFollowed: false,\n            isLiked: true,\n            quickFilters: [\n              { id: '1', name: 'insurance' },\n              { id: '2', name: 'policy' }\n            ]\n          }\n        ]);\n      }, 3000);\n    }\n  }, [loading, loadingMore, activeTab]);\n\n  useEffect(() => {\n    return () => stopTimeout();\n  }, []);\n\n  const onQuickFilterClick = (quickFilterParam: QuickFilter) => {\n    handleTabChange('Search');\n    setQuickFilters([...quickFilters, quickFilterParam]);\n    setSemanticFilterList(cur =>\n      menuHelpers.toggleSelected(cur, quickFilterParam.id, 'multi-select')\n    );\n  };\n\n  const updateSematicResults = searchSemanticArticles.map(article => ({\n    ...article,\n    onQuickFilterClick\n  }));\n\n  const sematicFilterItems = useMemo(() => {\n    return menuHelpers.mapTree(semanticFilterList, item => {\n      let selectable = false;\n\n      if (!item.items) {\n        selectable = true;\n      }\n\n      return {\n        ...item,\n        visual: undefined,\n        count: item.items ? item.items.length : undefined,\n        secondary: undefined,\n        selected: selectable ? !!item.selected : undefined,\n        tooltip: undefined\n      };\n    });\n  }, [semanticFilterList]);\n\n  const selections = useMemo(\n    () => menuHelpers.getSelected(semanticFilterList),\n    [semanticFilterList]\n  );\n\n  const semanticFilterProps: SemanticSearchArticles['semanticFilter'] = {\n    id: 'sematic-filter',\n    listId: 'sematic-filter-list',\n    items: sematicFilterItems,\n    mode: 'multi-select',\n    role: 'listbox',\n    emptyText: 'No items found.',\n    onItemClick: (selectedItemId: string | undefined) => {\n      if (selectedItemId)\n        setSemanticFilterList(cur =>\n          menuHelpers.toggleSelected(cur, selectedItemId, 'multi-select')\n        );\n    },\n    footer: (\n      <Flex container={{ justify: 'between' }}>\n        <Button\n          onClick={() => {\n            action('clear');\n          }}\n        >\n          Clear\n        </Button>\n\n        <Button\n          variant='primary'\n          onClick={() => {\n            handleTabChange('Search');\n            const filters = selections.map(item => {\n              return {\n                id: item.id,\n                name: item.primary\n              };\n            });\n            setQuickFilters(filters);\n          }}\n        >\n          Add\n          <>&nbsp; {selections && selections.length > 0 && <Count>{selections.length}</Count>}</>\n        </Button>\n      </Flex>\n    )\n  };\n\n  const searchCommonProps = {\n    count: args.showCount ? searchMock.count : undefined,\n\n    searchInput: searchOptions,\n    category: categoryProps,\n    sortBy: sortByProps,\n    onClearClick: handleClearClick,\n    quickFilters,\n    handleQuickFilterRemove: (id: string) => {\n      setQuickFilters(quickFilters.filter(item => item.id !== id));\n      if (activeTab === 'Search' && args.enableSemanticSearch) {\n        setSemanticFilterList(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n      }\n    },\n    showResults: args.showResults\n  };\n\n  const onClickRelatedQuestions = (item: { id: string; name: string }) => {\n    setSearchVal(item.name);\n    getBuddyResults();\n  };\n\n  const relatedQuestions = {\n    title: activeTab === 'Search' ? 'Related searches' : 'Related questions',\n    items: [\n      { id: '1', name: 'How to file complaint?', onClick: onClickRelatedQuestions },\n      { id: '2', name: 'How to view profile?', onClick: onClickRelatedQuestions },\n      {\n        id: '3',\n        name: 'How to subscribe bill payment every month?',\n        onClick: onClickRelatedQuestions\n      }\n    ]\n  };\n\n  const semanticSearchProps = {\n    ...searchCommonProps,\n    semanticSearch: true,\n    semanticFilter: semanticFilterProps,\n    articles: updateSematicResults,\n    feedback: feedbackParams,\n    error: false,\n    initialMessage,\n    activeArticle: activeArticleByTab.Search,\n    relatedQuestions\n  };\n\n  const nonSemanticSearch = {\n    ...searchCommonProps,\n    articles: articles.map(article => {\n      if (\n        !article.feedback ||\n        article.feedback.likes === undefined ||\n        article.feedback.dislikes === undefined\n      ) {\n        return article;\n      }\n\n      const likesValue =\n        (article.feedback?.likes ?? 0 * 100) / article.feedback.likes + article.feedback.dislikes;\n      const disLikeValue =\n        (article.feedback.dislikes ?? 0 * 100) / article.feedback.likes + article.feedback.dislikes;\n      return {\n        ...article,\n        feedback: {\n          ...article.feedback,\n          likes: likesValue,\n\n          dislikes: disLikeValue\n        }\n      };\n    }),\n    activeArticle: activeArticleByTab.Search\n  };\n\n  const onNotRelevant = (id: string) => {\n    setListResult(prev => ({\n      ...prev,\n      detected: prev?.detected?.filter(item => item.id !== id)\n    }));\n  };\n\n  const updateBuddyList = (mockBuddyList: BuddySuggestedArticlesProps) => {\n    const updatedAutoAnsweredList = mockBuddyList?.autoAnswered\n      ? mockBuddyList?.autoAnswered.map(item => ({\n          ...item,\n          onTitleClick: (id: string) => {\n            action('onTitleClick')(id);\n            openArticle(id, activeTab, item.query, true);\n          }\n        }))\n      : [];\n\n    const updateDetectedList = mockBuddyList?.detected\n      ? mockBuddyList?.detected.map(item => ({\n          ...item,\n          actions: {\n            items: [\n              {\n                id: '1',\n                text: 'Edit',\n                onClick: () => {\n                  action('onEdit');\n                }\n              },\n              {\n                id: '2',\n                text: 'Not relevant',\n                onClick: () => {\n                  onNotRelevant(item.id);\n                }\n              }\n            ]\n          },\n          onTitleClick: (id: string) => {\n            action('onTitleClick')(id);\n            handleTabChange('Buddy');\n            setSearchVal(item.query);\n          }\n        }))\n      : [];\n\n    return {\n      autoAnswered: updatedAutoAnsweredList,\n      detected: updateDetectedList,\n      pastQuestions: mockBuddyList?.pastQuestions,\n      notRelevantQuestions: mockBuddyList?.notRelevantQuestions\n    };\n  };\n\n  const fetchListResult: () => Promise<{\n    data: BuddySuggestedArticlesProps;\n  }> = () => {\n    return new Promise(resolve => {\n      setTimeout(() => {\n        resolve({\n          data: updateBuddyList(BuddyListMockData)\n        });\n      }, 1000);\n    });\n  };\n\n  const loadInitial = (\n    autoAnsweredList: AutoAnsweredItem[],\n    detectedList: DetectedItem[],\n    pastQuestionsList: string[],\n    notRelevantList: string[]\n  ) => {\n    const limit = 3;\n    const result: any = {};\n\n    // Check if autoAnswered array has enough items\n    if (autoAnsweredList?.length >= limit) {\n      result.autoAnswered = autoAnsweredList.slice(0, limit);\n    } else {\n      result.autoAnswered = autoAnsweredList;\n      // Calculate remaining space based on autoAnswered items\n      const remainingSpace = limit - (autoAnsweredList?.length || 0);\n\n      // Check if detected array has enough items to fill the remaining space\n      if (detectedList && detectedList?.length >= remainingSpace) {\n        result.detected = detectedList.slice(0, remainingSpace);\n      } else {\n        result.detected = detectedList;\n      }\n    }\n    if (pastQuestionsList && notRelevantList) {\n      action('more content to show');\n    }\n\n    return result;\n  };\n\n  const getBuddyList = async () => {\n    setLoading(true);\n    const res = await fetchListResult();\n    setFullList(res.data);\n    setListResult(\n      loadInitial(\n        res?.data?.autoAnswered ?? [],\n        res?.data?.detected ?? [],\n        res?.data?.pastQuestions ?? [],\n        res?.data?.notRelevantQuestions ?? []\n      )\n    );\n    setLoading(false);\n  };\n\n  useEffect(() => {\n    if (args.enableVoiceAISuggestions) {\n      getBuddyList();\n    }\n  }, [args.enableVoiceAISuggestions]);\n\n  useEffect(() => {\n    if (showMore) {\n      setListResult(fullList);\n    } else {\n      setListResult(\n        loadInitial(\n          listResult?.autoAnswered ?? [],\n          listResult?.detected ?? [],\n          listResult?.pastQuestions ?? [],\n          listResult?.notRelevantQuestions ?? []\n        )\n      );\n    }\n  }, [showMore]);\n\n  return (\n    <div\n      style={{\n        width: '25rem',\n        margin: ' 0 0.2rem 0'\n      }}\n    >\n      <ArticleList\n        header={\n          args.showHeader\n            ? {\n                title: 'Knowledge articles',\n                icon: args.showHeaderIcon ? 'polaris-solid' : '',\n                actions\n              }\n            : undefined\n        }\n        activeTab={activeTab}\n        onTabClick={handleTabChange}\n        skeletonize={false}\n        suggested={{\n          count: args.showCount ? suggestedMock.count : undefined,\n          articles: args.enableVoiceAISuggestions\n            ? {\n                ...listResult,\n                showMore,\n                onShowMoreToggle: () => {\n                  setShowMore(!showMore);\n                }\n              }\n            : articles.map(article => {\n                if (\n                  !article.feedback ||\n                  article.feedback.likes === undefined ||\n                  article.feedback.dislikes === undefined\n                ) {\n                  return article;\n                }\n\n                const likesValue =\n                  (article.feedback?.likes ?? 0 * 100) / article.feedback.likes +\n                  article.feedback.dislikes;\n                const disLikeValue =\n                  (article.feedback.dislikes ?? 0 * 100) / article.feedback.likes +\n                  article.feedback.dislikes;\n                return {\n                  ...article,\n                  feedback: {\n                    ...article.feedback,\n                    likes: likesValue,\n\n                    dislikes: disLikeValue\n                  }\n                };\n              }),\n\n          aiSuggestedArticles: args.enableVoiceAISuggestions ? undefined : aiArticles,\n          activeArticle: activeArticleByTab.Suggested\n        }}\n        followed={{\n          count: args.showCount ? followedMock.count : undefined,\n          articles: articles.map(article => {\n            if (\n              !article.feedback ||\n              article.feedback.likes === undefined ||\n              article.feedback.dislikes === undefined\n            ) {\n              return article;\n            }\n\n            const likesValue =\n              (article.feedback?.likes ?? 0 * 100) / article.feedback.likes +\n              article.feedback.dislikes;\n            const disLikeValue =\n              (article.feedback.dislikes ?? 0 * 100) / article.feedback.likes +\n              article.feedback.dislikes;\n            return {\n              ...article,\n              feedback: {\n                ...article.feedback,\n                likes: likesValue,\n\n                dislikes: disLikeValue\n              }\n            };\n          }),\n          searchInput: searchOptions,\n          category: categoryProps,\n          sortBy: sortByProps,\n          onClearClick: handleClearClick,\n          showResults: args.showResults,\n          activeArticle: activeArticleByTab.Followed\n        }}\n        search={args.enableSemanticSearch ? semanticSearchProps : nonSemanticSearch}\n        buddy={{\n          title: 'Ask buddy',\n          content: {\n            query: buddyQuery,\n            onSubmit: getBuddyResults,\n            onClear: () => {\n              setSearchVal('');\n            },\n            loading: buddyLoader,\n            response: {\n              title: buddyContent?.title ?? '',\n              actions: buddyContent?.actions,\n              content: buddyContent?.content ? (\n                <HTML content={ArticleBuddyMockData.content} />\n              ) : (\n                buddyContent?.content\n              ),\n              references: buddyContent?.references,\n              feedback: feedbackParams,\n              disclaimer: ArticleBuddyMockData.disclaimer,\n              relatedQuestions: buddyContent ? relatedQuestions : undefined\n            }\n          }\n        }}\n        onQuickFilterClick={(quickFilterParam: QuickFilter) => {\n          handleTabChange('Search');\n          setQuickFilters([...quickFilters, quickFilterParam]);\n        }}\n        loading={loading}\n        loadingMore={loadingMore}\n        onLoadMore={args.showLoadMore && hasMore ? onLoadMore : undefined}\n      />\n    </div>\n  );\n};\n\nArticleListDemo.args = {\n  isSuggestArticleAction: true,\n  showAction: true,\n  showHeader: true,\n  showHeaderIcon: true,\n  showQuickFilters: true,\n  showCount: true,\n  showResults: true,\n  showLoadMore: false,\n  enableAISuggestions: true,\n  enableSemanticSearch: true,\n  enableVoiceAISuggestions: true\n};\n\nArticleListDemo.argTypes = {\n  isSuggestArticleAction: { control: { type: 'boolean' } },\n  showAction: { control: { type: 'boolean' } },\n  showHeader: { control: { type: 'boolean' } },\n  showHeaderIcon: { control: { type: 'boolean' } },\n  showQuickFilters: { control: { type: 'boolean' } },\n  showCount: { control: { type: 'boolean' } },\n  showResults: { control: { type: 'boolean' } },\n  showLoadMore: { control: { type: 'boolean' } },\n  enableAISuggestions: { control: { type: 'boolean' } },\n  enableSemanticSearch: { control: { type: 'boolean' } },\n  enableVoiceAISuggestions: { control: { type: 'boolean' } }\n};\n"]}