{"version":3,"file":"Article.stories.jsx","sourceRoot":"","sources":["../../../src/work/Article/Article.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { MouseEvent, ChangeEvent } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { registerIcon, createUID, HTML, Flex, Lightbox } from '@pega/cosmos-react-core';\nimport * as openIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/open.icon';\nimport * as starIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/star.icon';\nimport * as caretLeftIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-left.icon';\nimport { Article, ArticleFooter, ArticleRating } from '@pega/cosmos-react-work';\nimport type { ArticleProps, ArticleRatingProps, Reaction } from '@pega/cosmos-react-work';\n\nimport { mockData } from '../../core/Lightbox/Lightbox.mocks';\n\nimport { ArticleMockData } from './Article.mocks';\n\nregisterIcon(openIcon, starIcon, caretLeftIcon);\n\nexport default {\n  title: 'Work/Article',\n  component: Article,\n  subcomponents: { ArticleFooter },\n  parameters: {\n    layout: 'fullscreen'\n  }\n} as Meta;\n\nexport interface ArticleDemoProps {\n  showHeader: boolean;\n  backButtonText: string;\n  showPrimaryActions: boolean;\n  showSecondaryActions: boolean;\n  showFooter: boolean;\n  enableFeedback: boolean;\n  showTags: boolean;\n  showRelatedLinks: boolean;\n  showMoreLikeThis: boolean;\n  showAttachments: boolean;\n}\n\nexport const ArticleStory: StoryFn<ArticleDemoProps> = (args: ArticleDemoProps) => {\n  const [loading, setLoading] = useState<boolean>(true);\n  const [open, setOpen] = useState(false);\n  const defaultLBIndex = useRef(0);\n  const [likeCount, setLikeCount] = useState(ArticleMockData.fullArticleContent.feedback.likes);\n  const [dislikeCount, setDislikeCount] = useState(\n    ArticleMockData.fullArticleContent.feedback.disLikes\n  );\n  const [reaction, setReaction] = useState<ArticleRatingProps['reaction']>(\n    ArticleMockData.fullArticleContent.feedback.reaction\n  );\n  const [commentVal, setCommentVal] = useState('');\n  const [showThankYouMessage, setShowThankYouMessage] = useState<boolean>(false);\n  const lightBoxItems = mockData.slice(0, 4);\n\n  const onBackToArticlesClick = (event: MouseEvent) => {\n    event.preventDefault();\n  };\n\n  useEffect(() => {\n    setTimeout(() => {\n      setLoading(false);\n    }, 2000);\n  }, []);\n\n  const onReaction: Required<ArticleProps>['feedback']['onReaction'] = (id, reactionParam) => {\n    action('onReaction')(id);\n    if (reactionParam === 'liked') {\n      setReaction('liked');\n      setLikeCount(prev => prev + 1);\n\n      if (reaction === 'disliked') {\n        setDislikeCount(prev => prev - 1);\n      }\n      return;\n    }\n\n    if (reactionParam === 'disliked') {\n      setReaction('disliked');\n      setDislikeCount(prev => prev + 1);\n      if (reaction === 'liked') {\n        setLikeCount(prev => prev - 1);\n      }\n    }\n\n    if (reactionParam === undefined) {\n      if (reaction === 'liked') {\n        setLikeCount(prev => prev - 1);\n      } else {\n        setDislikeCount(prev => prev - 1);\n      }\n      setReaction(undefined);\n    }\n  };\n\n  return (\n    <div\n      style={{\n        maxWidth: '25rem'\n      }}\n    >\n      <Article\n        articleId={ArticleMockData.fullArticleContent.articleId}\n        header={\n          args.showHeader\n            ? {\n                title: 'Knowledge articles',\n                icon: 'book-open'\n              }\n            : undefined\n        }\n        backNavigation={{\n          title: args.backButtonText,\n          onClick: onBackToArticlesClick\n        }}\n        primaryActions={\n          args.showPrimaryActions\n            ? [\n                {\n                  icon: 'star',\n                  label: 'Follow',\n                  id: createUID(),\n                  onClick: id => {\n                    action('Follow')(id);\n                  }\n                },\n                {\n                  icon: 'open',\n                  label: 'Open',\n                  id: createUID(),\n                  onClick: id => {\n                    action('Open')(id);\n                  }\n                }\n              ]\n            : undefined\n        }\n        secondaryActions={\n          args.showSecondaryActions\n            ? {\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                contextualLabel: ArticleMockData.fullArticleContent.header\n              }\n            : undefined\n        }\n        content={<HTML content={ArticleMockData.fullArticleContent.content} />}\n        title={ArticleMockData.fullArticleContent.header}\n        meta={{\n          category: ArticleMockData.fullArticleContent.meta.category,\n          publishedDate: ArticleMockData.fullArticleContent.meta.publishedDate\n        }}\n        feedback={{\n          likes: (likeCount * 100) / (likeCount + dislikeCount),\n          dislikes: (dislikeCount * 100) / (likeCount + dislikeCount),\n          reaction,\n          onReaction\n        }}\n        footer={\n          args.showFooter\n            ? {\n                feedback: args.enableFeedback\n                  ? {\n                      question: 'Was this helpful?',\n                      onReaction,\n                      reaction,\n                      comment: {\n                        labelHidden: false,\n                        placeholder: 'How can I improve...',\n                        value: commentVal,\n                        onChange: (e: ChangeEvent<HTMLTextAreaElement>) =>\n                          setCommentVal(e.target.value)\n                      },\n                      onSubmit: (response: { reaction: Reaction; comment: string }) => {\n                        action('onClick')(`Response sent ${response.reaction} ${response.comment}`);\n                        setCommentVal('');\n                        setReaction(undefined);\n                        setShowThankYouMessage(true);\n                      },\n                      showThankYouMessage\n                    }\n                  : undefined,\n                tags: args.showTags\n                  ? {\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                  : undefined,\n                relatedLinks: args.showRelatedLinks\n                  ? [\n                      { title: 'Retail banking for beginners', href: 'https://pega.com' },\n                      { title: 'How to handle premium customers', href: 'https://pega.com' }\n                    ]\n                  : undefined,\n                relatedArticles: args.showMoreLikeThis\n                  ? [\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                  : undefined,\n                attachments: args.showAttachments\n                  ? lightBoxItems.map((item, index) => {\n                      return {\n                        id: item.id,\n                        name: item.name,\n                        format: item.format,\n                        onDownload: action('On Download'),\n                        onPreview: () => {\n                          defaultLBIndex.current = index;\n                          setOpen(true);\n                        }\n                      };\n                    })\n                  : undefined\n              }\n            : undefined\n        }\n        loading={loading}\n      />\n      {open && (\n        <Lightbox\n          items={lightBoxItems}\n          defaultIndex={defaultLBIndex.current}\n          cycle\n          onAfterClose={() => {\n            setOpen(false);\n          }}\n          onItemDownload={() => {}}\n        />\n      )}\n    </div>\n  );\n};\n\nArticleStory.args = {\n  showHeader: true,\n  backButtonText: 'Back to all articles',\n  showPrimaryActions: true,\n  showSecondaryActions: true,\n  showFooter: true,\n  enableFeedback: true,\n  showTags: true,\n  showRelatedLinks: true,\n  showMoreLikeThis: true,\n  showAttachments: true\n};\n\nArticleStory.argTypes = {\n  showHeader: { control: { type: 'boolean' } },\n  backButtonText: { control: { type: 'text' } },\n  showPrimaryActions: { control: { type: 'boolean' } },\n  showSecondaryActions: { control: { type: 'boolean' } },\n  showFooter: { control: { type: 'boolean' } },\n  enableFeedback: { control: { type: 'boolean' } },\n  showTags: { control: { type: 'boolean' } },\n  showRelatedLinks: { control: { type: 'boolean' } },\n  showMoreLikeThis: { control: { type: 'boolean' } },\n  showAttachments: { control: { type: 'boolean' } }\n};\n\nexport const ArticleRatingDemo: StoryFn = () => {\n  const [likeCount, setLikeCount] = useState(5);\n  const [dislikeCount, setDislikeCount] = useState(2);\n  const [reaction, setReaction] = useState<ArticleRatingProps['reaction']>();\n\n  const onReaction: ArticleRatingProps['onReaction'] = reactionParam => {\n    if (reactionParam === 'liked') {\n      // no reaction\n      // already disliked and liking now\n      setReaction('liked');\n      setLikeCount(prev => prev + 1);\n      if (reaction === 'disliked') {\n        setDislikeCount(prev => prev - 1);\n      }\n      return;\n    }\n\n    if (reactionParam === 'disliked') {\n      // Dislike clicked\n      setReaction('disliked');\n      setDislikeCount(prev => prev + 1);\n      if (reaction === 'liked') {\n        setLikeCount(prev => prev - 1);\n      }\n    }\n\n    if (reactionParam === undefined) {\n      if (reaction === 'liked') {\n        setLikeCount(prev => prev - 1);\n      } else {\n        setDislikeCount(prev => prev - 1);\n      }\n      setReaction(undefined);\n    }\n  };\n\n  return (\n    <Flex container={{ pad: [1, 1] }}>\n      <ArticleRating\n        likes={(likeCount * 100) / (likeCount + dislikeCount)}\n        dislikes={(dislikeCount * 100) / (likeCount + dislikeCount)}\n        onReaction={onReaction}\n        reaction={reaction}\n      />\n    </Flex>\n  );\n};\n"]}