@pega/cosmos-react-demos 5.0.0-dev.10.2 → 5.0.0-dev.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"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 { MouseEvent, ChangeEvent } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { createUID, menuHelpers, registerIcon, escapeRegExp, HTML } from '@pega/cosmos-react-core';\nimport type {\n Action,\n MenuItemProps,\n MenuProps,\n SearchInputProps,\n OmitStrict\n} 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 Articles,\n QuickFilter,\n ArticleBuddyProps\n} from '@pega/cosmos-react-work';\n\nimport { suggestedMock, followedMock, searchMock, ArticleBuddyMockData } 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\ninterface 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}\n\ntype MockArticles = ArticleSummaryProps & {\n isLiked: boolean;\n isFollowed: boolean;\n};\n\ntype MockBuddyArticles = OmitStrict<\n ArticleBuddyProps,\n 'query' | 'loading' | 'onSubmit' | 'onClear'\n>;\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 [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<MockBuddyArticles>();\n const [buddyLoader, setBuddyLoader] = useState(false);\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\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: (id?: string, e?: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e?.preventDefault();\n },\n primaryActions: actionObj,\n meta,\n feedback,\n quickFilters:\n args.showQuickFilters && quickFilterTags?.length\n ? quickFilterTags?.map(({ id, name }) => {\n return {\n id,\n name\n };\n })\n : []\n };\n }\n );\n };\n\n const fetchArticleContent: (activeTabName: string) => Promise<{\n articles: ArticleSummaryProps[];\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 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 const handleTabChange = (id: string) => {\n setArticles([]);\n setCategoryList([]);\n setLoading(true);\n fetchArticleContent(id).then(res => {\n setArticles(res.articles);\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 });\n }, [activeTab]);\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\n const searchOptions: SearchInputProps = {\n placeholder: 'Search article',\n filters: ['Help site 1', 'Help site 2', 'Help site 3'],\n value: searchVal,\n onSearchChange: (val: string) => {\n setSearchVal(val);\n },\n onFilterChange: (val: string) => {\n return val;\n }\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 = [suggestNewArticleAction];\n } else {\n actions = actionOptions;\n }\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 updateBuddyArticles = (mockBuddyArticle: MockBuddyArticles) => {\n const actionItems = [\n { id: '1', text: 'Share' },\n { id: '2', text: 'Copy' }\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\n const fetchBuddySearchResult: () => Promise<{\n data: MockBuddyArticles;\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 placeholder: 'Ask your question here...',\n value: searchVal,\n onChange: (e: ChangeEvent<HTMLTextAreaElement>) => setSearchVal(e.target.value)\n };\n\n return (\n <div\n style={{\n width: '25rem'\n }}\n >\n <ArticleList\n header={\n args.showHeader\n ? {\n title: 'Knowledge articles',\n icon: args.showHeaderIcon ? 'book-open' : '',\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: 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 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 }}\n search={{\n count: args.showCount ? searchMock.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 quickFilters,\n handleQuickFilterRemove: (id: string) => {\n setQuickFilters(quickFilters.filter(item => item.id !== id));\n },\n showResults: args.showResults\n }}\n buddy={{\n title: 'Ask buddy',\n content: {\n query: buddyQuery,\n onSubmit: getBuddyResults,\n onClear: () => {\n setSearchVal('');\n },\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 disclaimer: ArticleBuddyMockData.disclaimer,\n loading: buddyLoader\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};\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};\n"]}
1
+ {"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 { createUID, menuHelpers, registerIcon, escapeRegExp, HTML } from '@pega/cosmos-react-core';\nimport type {\n Action,\n MenuItemProps,\n MenuProps,\n SearchInputProps,\n OmitStrict\n} 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 Articles,\n QuickFilter,\n ArticleBuddyProps\n} from '@pega/cosmos-react-work';\n\nimport { suggestedMock, followedMock, searchMock, ArticleBuddyMockData } 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\ninterface 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}\n\ntype MockArticles = ArticleSummaryProps & {\n isLiked: boolean;\n isFollowed: boolean;\n};\n\ntype MockBuddyArticles = OmitStrict<\n ArticleBuddyProps,\n 'query' | 'loading' | 'onSubmit' | 'onClear'\n>;\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 [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<MockBuddyArticles>();\n const [buddyLoader, setBuddyLoader] = useState(false);\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\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: action('onTitleClick'),\n primaryActions: actionObj,\n meta,\n feedback,\n quickFilters:\n args.showQuickFilters && quickFilterTags?.length\n ? quickFilterTags?.map(({ id, name }) => {\n return {\n id,\n name\n };\n })\n : []\n };\n }\n );\n };\n\n const fetchArticleContent: (activeTabName: string) => Promise<{\n articles: ArticleSummaryProps[];\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 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 const handleTabChange = (id: string) => {\n setArticles([]);\n setCategoryList([]);\n setLoading(true);\n fetchArticleContent(id).then(res => {\n setArticles(res.articles);\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 });\n }, [activeTab]);\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\n const searchOptions: SearchInputProps = {\n placeholder: 'Search article',\n filters: ['Help site 1', 'Help site 2', 'Help site 3'],\n value: searchVal,\n onSearchChange: (val: string) => {\n setSearchVal(val);\n },\n onFilterChange: (val: string) => {\n return val;\n }\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 = [suggestNewArticleAction];\n } else {\n actions = actionOptions;\n }\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 updateBuddyArticles = (mockBuddyArticle: MockBuddyArticles) => {\n const actionItems = [\n { id: '1', text: 'Share' },\n { id: '2', text: 'Copy' }\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\n const fetchBuddySearchResult: () => Promise<{\n data: MockBuddyArticles;\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 placeholder: 'Ask your question here...',\n value: searchVal,\n onChange: (e: ChangeEvent<HTMLTextAreaElement>) => setSearchVal(e.target.value)\n };\n\n return (\n <div\n style={{\n width: '25rem'\n }}\n >\n <ArticleList\n header={\n args.showHeader\n ? {\n title: 'Knowledge articles',\n icon: args.showHeaderIcon ? 'book-open' : '',\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: 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 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 }}\n search={{\n count: args.showCount ? searchMock.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 quickFilters,\n handleQuickFilterRemove: (id: string) => {\n setQuickFilters(quickFilters.filter(item => item.id !== id));\n },\n showResults: args.showResults\n }}\n buddy={{\n title: 'Ask buddy',\n content: {\n query: buddyQuery,\n onSubmit: getBuddyResults,\n onClear: () => {\n setSearchVal('');\n },\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 disclaimer: ArticleBuddyMockData.disclaimer,\n loading: buddyLoader\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};\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};\n"]}
@@ -20,8 +20,8 @@ export const AssignmentsDemo = (args) => {
20
20
  id: `${i}`,
21
21
  name: `Task ${i + 1}`,
22
22
  processName: i % 2 ? 'Demo process' : undefined,
23
- avatar: !hasOpenTask && <Avatar name='James Gregory'/>,
24
- meta: !hasOpenTask && (<MetaList items={[
23
+ avatar: <Avatar name='James Gregory'/>,
24
+ meta: (<MetaList items={[
25
25
  <Text variant='secondary'>
26
26
  Due <DateTimeDisplay variant='relative' value={Date.now() + dueIn}/>
27
27
  </Text>,
@@ -1 +1 @@
1
- {"version":3,"file":"Assignments.stories.jsx","sourceRoot":"","sources":["../../../src/work/Assignments/Assignments.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { MetaList, Text, Link, DateTimeDisplay, Avatar } from '@pega/cosmos-react-core';\nimport { Assignments, tasksHelpers as helpers } from '@pega/cosmos-react-work';\nimport type { AssignmentsProps, TaskItemProps } from '@pega/cosmos-react-work';\n\nimport { AIButtonFormDemo } from '../../core/AIButton/AIButton.stories';\nimport viewGroups from '../Tasks/Tasks.mocks';\n\nexport default {\n title: 'Work/Assignments',\n component: Assignments\n} as Meta;\n\ninterface AssignmentsStoryProps {\n collapsed?: boolean;\n count?: AssignmentsProps['count'];\n openableTasks?: boolean;\n}\n\nexport const AssignmentsDemo: StoryFn<AssignmentsStoryProps> = (args: AssignmentsStoryProps) => {\n const [hasOpenTask, setHasOpenTask] = useState(false);\n const [open, setOpen] = useState(true);\n\n const activeView = helpers.getSelectedView(viewGroups);\n const activeViewTaskCount = args.count ?? activeView?.count ?? 0;\n\n const taskArray: TaskItemProps[] = Array.from(\n {\n length: args.count ?? activeViewTaskCount\n },\n (_, i) => {\n const dueIn = 86400000 * i;\n\n return {\n id: `${i}`,\n name: `Task ${i + 1}`,\n processName: i % 2 ? 'Demo process' : undefined,\n avatar: !hasOpenTask && <Avatar name='James Gregory' />,\n meta: !hasOpenTask && (\n <MetaList\n items={[\n <Text variant='secondary'>\n Due <DateTimeDisplay variant='relative' value={Date.now() + dueIn} />\n </Text>,\n <Link href='#demo'>Parent case link</Link>\n ]}\n />\n ),\n additionalActions: [\n {\n id: '1',\n text: 'Action 1'\n },\n {\n id: '2',\n text: 'Action 2'\n }\n ],\n onOpen:\n args.openableTasks !== false\n ? () => {\n setHasOpenTask(true);\n }\n : undefined,\n content: hasOpenTask ? (\n <AIButtonFormDemo\n onCancel={() => setHasOpenTask(false)}\n onSubmit={() => setHasOpenTask(false)}\n />\n ) : null\n };\n }\n );\n\n return (\n <Assignments\n count={activeViewTaskCount}\n items={taskArray}\n collapsed={args.collapsed !== false ? open : undefined}\n onToggleCollapsed={\n args.collapsed !== false\n ? () => {\n setOpen(cur => !cur);\n }\n : undefined\n }\n />\n );\n};\n\nAssignmentsDemo.args = {\n openableTasks: true,\n count: undefined,\n collapsed: true\n};\n\nAssignmentsDemo.argTypes = {\n count: { control: { type: 'number' } },\n openableTasks: { control: { type: 'boolean' } },\n collapsed: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Assignments.stories.jsx","sourceRoot":"","sources":["../../../src/work/Assignments/Assignments.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { MetaList, Text, Link, DateTimeDisplay, Avatar } from '@pega/cosmos-react-core';\nimport { Assignments, tasksHelpers as helpers } from '@pega/cosmos-react-work';\nimport type { AssignmentsProps, TaskItemProps } from '@pega/cosmos-react-work';\n\nimport { AIButtonFormDemo } from '../../core/AIButton/AIButton.stories';\nimport viewGroups from '../Tasks/Tasks.mocks';\n\nexport default {\n title: 'Work/Assignments',\n component: Assignments\n} as Meta;\n\ninterface AssignmentsStoryProps {\n collapsed?: boolean;\n count?: AssignmentsProps['count'];\n openableTasks?: boolean;\n}\n\nexport const AssignmentsDemo: StoryFn<AssignmentsStoryProps> = (args: AssignmentsStoryProps) => {\n const [hasOpenTask, setHasOpenTask] = useState(false);\n const [open, setOpen] = useState(true);\n\n const activeView = helpers.getSelectedView(viewGroups);\n const activeViewTaskCount = args.count ?? activeView?.count ?? 0;\n\n const taskArray: TaskItemProps[] = Array.from(\n {\n length: args.count ?? activeViewTaskCount\n },\n (_, i) => {\n const dueIn = 86400000 * i;\n\n return {\n id: `${i}`,\n name: `Task ${i + 1}`,\n processName: i % 2 ? 'Demo process' : undefined,\n avatar: <Avatar name='James Gregory' />,\n meta: (\n <MetaList\n items={[\n <Text variant='secondary'>\n Due <DateTimeDisplay variant='relative' value={Date.now() + dueIn} />\n </Text>,\n <Link href='#demo'>Parent case link</Link>\n ]}\n />\n ),\n additionalActions: [\n {\n id: '1',\n text: 'Action 1'\n },\n {\n id: '2',\n text: 'Action 2'\n }\n ],\n onOpen:\n args.openableTasks !== false\n ? () => {\n setHasOpenTask(true);\n }\n : undefined,\n content: hasOpenTask ? (\n <AIButtonFormDemo\n onCancel={() => setHasOpenTask(false)}\n onSubmit={() => setHasOpenTask(false)}\n />\n ) : null\n };\n }\n );\n\n return (\n <Assignments\n count={activeViewTaskCount}\n items={taskArray}\n collapsed={args.collapsed !== false ? open : undefined}\n onToggleCollapsed={\n args.collapsed !== false\n ? () => {\n setOpen(cur => !cur);\n }\n : undefined\n }\n />\n );\n};\n\nAssignmentsDemo.args = {\n openableTasks: true,\n count: undefined,\n collapsed: true\n};\n\nAssignmentsDemo.argTypes = {\n count: { control: { type: 'number' } },\n openableTasks: { control: { type: 'boolean' } },\n collapsed: { control: { type: 'boolean' } }\n};\n"]}
@@ -4,7 +4,6 @@ export declare const suggestedMock: {
4
4
  articles: ({
5
5
  articleId: string;
6
6
  title: string;
7
- href: string;
8
7
  abstract: string;
9
8
  meta: {
10
9
  category: string;
@@ -18,6 +17,7 @@ export declare const suggestedMock: {
18
17
  };
19
18
  isFollowed: boolean;
20
19
  isLiked: boolean;
20
+ href?: undefined;
21
21
  quickFilters?: undefined;
22
22
  } | {
23
23
  articleId: string;
@@ -40,11 +40,53 @@ export declare const suggestedMock: {
40
40
  id: string;
41
41
  name: string;
42
42
  }[];
43
+ } | {
44
+ articleId: string;
45
+ title: string;
46
+ abstract: string;
47
+ meta: {
48
+ category: string;
49
+ publishedDate: string;
50
+ };
51
+ feedback: {
52
+ likes: number;
53
+ dislikes: number;
54
+ liked: boolean;
55
+ disliked: boolean;
56
+ };
57
+ isFollowed: boolean;
58
+ isLiked: boolean;
59
+ quickFilters: {
60
+ id: string;
61
+ name: string;
62
+ }[];
63
+ href?: undefined;
43
64
  })[];
44
65
  };
45
66
  export declare const followedMock: {
46
67
  count: number;
47
68
  articles: ({
69
+ articleId: string;
70
+ title: string;
71
+ abstract: string;
72
+ meta: {
73
+ category: string;
74
+ publishedDate: string;
75
+ };
76
+ feedback: {
77
+ likes: number;
78
+ dislikes: number;
79
+ liked: boolean;
80
+ disliked: boolean;
81
+ };
82
+ isFollowed: boolean;
83
+ isLiked: boolean;
84
+ quickFilters: {
85
+ id: string;
86
+ name: string;
87
+ }[];
88
+ href?: undefined;
89
+ } | {
48
90
  articleId: string;
49
91
  title: string;
50
92
  href: string;
@@ -106,7 +148,7 @@ export declare const followedMock: {
106
148
  };
107
149
  export declare const searchMock: {
108
150
  count: number;
109
- articles: {
151
+ articles: ({
110
152
  articleId: string;
111
153
  title: string;
112
154
  href: string;
@@ -127,7 +169,28 @@ export declare const searchMock: {
127
169
  id: string;
128
170
  name: string;
129
171
  }[];
130
- }[];
172
+ } | {
173
+ articleId: string;
174
+ title: string;
175
+ abstract: string;
176
+ meta: {
177
+ category: string;
178
+ publishedDate: string;
179
+ };
180
+ feedback: {
181
+ likes: number;
182
+ dislikes: number;
183
+ liked: boolean;
184
+ disliked: boolean;
185
+ };
186
+ isFollowed: boolean;
187
+ isLiked: boolean;
188
+ quickFilters: {
189
+ id: string;
190
+ name: string;
191
+ }[];
192
+ href?: undefined;
193
+ })[];
131
194
  category: ({
132
195
  id: string;
133
196
  primary: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleList.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/ArticleList/ArticleList.mocks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAqBjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2JzB,CAAC;AACF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKxB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4HtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,iBAAiB,EACjB,OAAO,GAAG,YAAY,GAAG,YAAY,CACtC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAsCpB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;GAW/B,CAAC"}
1
+ {"version":3,"file":"ArticleList.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/ArticleList/ArticleList.mocks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAqBjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJzB,CAAC;AACF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKxB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,iBAAiB,EACjB,OAAO,GAAG,YAAY,GAAG,YAAY,CACtC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAsCpB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;GAW/B,CAAC"}
@@ -23,7 +23,6 @@ export const suggestedMock = {
23
23
  {
24
24
  articleId: '1',
25
25
  title: 'Cookie jelly-o lemon drops gingerbread chocolate',
26
- href: 'design.pega.com',
27
26
  abstract: 'Candy cotton candy tiramisu danish halvah pie.',
28
27
  meta: {
29
28
  category: categoryList[0].name,
@@ -41,7 +40,7 @@ export const suggestedMock = {
41
40
  {
42
41
  articleId: '2',
43
42
  title: 'Cookie jelly-o lemon drops gingerbread chocolate',
44
- href: 'design.pega.com',
43
+ href: 'https://design.pega.com',
45
44
  abstract: 'Cotton candy toffee tiramisu danish halvah pie.',
46
45
  meta: {
47
46
  category: categoryList[1].name,
@@ -58,7 +57,7 @@ export const suggestedMock = {
58
57
  {
59
58
  articleId: '3',
60
59
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
61
- href: 'design.pega.com',
60
+ href: 'https://design.pega.com',
62
61
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
63
62
  meta: {
64
63
  category: categoryList[2].name,
@@ -77,7 +76,6 @@ export const suggestedMock = {
77
76
  {
78
77
  articleId: '4',
79
78
  title: 'Tootsie roll tiramisu jujubes gingerbread macaroon jujubes',
80
- href: 'design.pega.com',
81
79
  abstract: 'Pudding bear claw sweet sugar plum jelly wafer. Jelly beans chocolate bar jelly-o jelly dessert. Danish toffee lollipop t',
82
80
  meta: {
83
81
  category: categoryList[2].name,
@@ -96,7 +94,7 @@ export const suggestedMock = {
96
94
  {
97
95
  articleId: '5',
98
96
  title: 'Bear claw jujubes pastry jujubes chocolate bar chupa ',
99
- href: 'design.pega.com',
97
+ href: 'https://design.pega.com',
100
98
  abstract: 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.',
101
99
  meta: {
102
100
  category: categoryList[0].name,
@@ -114,7 +112,7 @@ export const suggestedMock = {
114
112
  {
115
113
  articleId: '6',
116
114
  title: 'Oat cake jujubes pudding macaroon apple pie biscuit liquorice',
117
- href: 'design.pega.com',
115
+ href: 'https://design.pega.com',
118
116
  abstract: 'Candy cotton candy tiramisu danish halvah pie. Macaroon chupa chups chupa chups tiramisu bear claw liquorice croissant. Powder tart chupa chups.',
119
117
  meta: {
120
118
  category: categoryList[0].name,
@@ -132,7 +130,6 @@ export const suggestedMock = {
132
130
  {
133
131
  articleId: '7',
134
132
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
135
- href: 'design.pega.com',
136
133
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
137
134
  meta: {
138
135
  category: categoryList[2].name,
@@ -150,7 +147,6 @@ export const suggestedMock = {
150
147
  {
151
148
  articleId: '8',
152
149
  title: 'Tootsie roll tiramisu jujubes gingerbread macaroon jujubes',
153
- href: 'design.pega.com',
154
150
  abstract: 'Pudding bear claw sweet sugar plum jelly wafer. Jelly beans chocolate bar jelly-o jelly dessert. Danish toffee lollipop t',
155
151
  meta: {
156
152
  category: categoryList[2].name,
@@ -173,7 +169,6 @@ export const followedMock = {
173
169
  {
174
170
  articleId: '1',
175
171
  title: 'Oat cake jujubes pudding macaroon apple pie biscuit liquorice',
176
- href: 'design.pega.com',
177
172
  abstract: 'Candy cotton candy tiramisu danish halvah pie. Macaroon chupa chups chupa chups tiramisu bear claw liquorice croissant. Powder tart chupa chups.',
178
173
  meta: {
179
174
  category: categoryList[1].name,
@@ -191,7 +186,7 @@ export const followedMock = {
191
186
  {
192
187
  articleId: '2',
193
188
  title: 'Bear claw jujubes pastry jujubes chocolate bar chupa ',
194
- href: 'design.pega.com',
189
+ href: 'https://design.pega.com',
195
190
  abstract: 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.',
196
191
  meta: {
197
192
  category: categoryList[0].name,
@@ -209,7 +204,7 @@ export const followedMock = {
209
204
  {
210
205
  articleId: '3',
211
206
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
212
- href: 'design.pega.com',
207
+ href: 'https://design.pega.com',
213
208
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
214
209
  meta: {
215
210
  category: categoryList[2].name,
@@ -227,7 +222,6 @@ export const followedMock = {
227
222
  {
228
223
  articleId: '4',
229
224
  title: 'Tootsie roll tiramisu jujubes gingerbread macaroon jujubes',
230
- href: 'design.pega.com',
231
225
  abstract: 'Pudding bear claw sweet sugar plum jelly wafer. Jelly beans chocolate bar jelly-o jelly dessert. Danish toffee lollipop t',
232
226
  meta: {
233
227
  category: categoryList[3].name,
@@ -250,7 +244,6 @@ export const followedMock = {
250
244
  {
251
245
  articleId: '5',
252
246
  title: 'Bear claw jujubes pastry jujubes chocolate bar chupa ',
253
- href: 'design.pega.com',
254
247
  abstract: 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.',
255
248
  meta: {
256
249
  category: categoryList[0].name,
@@ -273,7 +266,7 @@ export const followedMock = {
273
266
  {
274
267
  articleId: '6',
275
268
  title: 'Oat cake jujubes pudding macaroon apple pie biscuit liquorice',
276
- href: 'design.pega.com',
269
+ href: 'https://design.pega.com',
277
270
  abstract: 'Candy cotton candy tiramisu danish halvah pie. Macaroon chupa chups chupa chups tiramisu bear claw liquorice croissant. Powder tart chupa chups.',
278
271
  meta: {
279
272
  category: categoryList[1].name,
@@ -291,7 +284,7 @@ export const followedMock = {
291
284
  {
292
285
  articleId: '7',
293
286
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
294
- href: 'design.pega.com',
287
+ href: 'https://design.pega.com',
295
288
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
296
289
  meta: {
297
290
  category: categoryList[2].name,
@@ -334,7 +327,7 @@ export const searchMock = {
334
327
  {
335
328
  articleId: '8',
336
329
  title: 'Tootsie roll tiramisu jujubes gingerbread macaroon jujubes',
337
- href: 'design.pega.com',
330
+ href: 'https://design.pega.com',
338
331
  abstract: 'Pudding bear claw sweet sugar plum jelly wafer. Jelly beans chocolate bar jelly-o jelly dessert. Danish toffee lollipop t',
339
332
  meta: {
340
333
  category: categoryList[3].name,
@@ -352,7 +345,7 @@ export const searchMock = {
352
345
  {
353
346
  articleId: '3',
354
347
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
355
- href: 'design.pega.com',
348
+ href: 'https://design.pega.com',
356
349
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
357
350
  meta: {
358
351
  category: categoryList[2].name,
@@ -370,7 +363,6 @@ export const searchMock = {
370
363
  {
371
364
  articleId: '6',
372
365
  title: 'Oat cake jujubes pudding macaroon apple pie biscuit liquorice',
373
- href: 'design.pega.com',
374
366
  abstract: 'Candy cotton candy tiramisu danish halvah pie. Macaroon chupa chups chupa chups tiramisu bear claw liquorice croissant. Powder tart chupa chups.',
375
367
  meta: {
376
368
  category: categoryList[1].name,
@@ -388,7 +380,6 @@ export const searchMock = {
388
380
  {
389
381
  articleId: '7',
390
382
  title: 'Cookie jelly-o lemon drops gingerbread chocolate marzipan sweet',
391
- href: 'design.pega.com',
392
383
  abstract: 'Ice cream dragée ice cream bear claw. Bonbon icing marshmallow fruitcake. Carrot cake chocolate cake pie dessert ',
393
384
  meta: {
394
385
  category: categoryList[2].name,
@@ -406,7 +397,6 @@ export const searchMock = {
406
397
  {
407
398
  articleId: '2',
408
399
  title: 'Oat cake jujubes pudding macaroon apple pie biscuit liquorice',
409
- href: 'design.pega.com',
410
400
  abstract: 'Candy cotton candy tiramisu danish halvah pie. Macaroon chupa chups chupa chups tiramisu bear claw liquorice croissant. Powder tart chupa chups.',
411
401
  meta: {
412
402
  category: categoryList[1].name,