@pega/cosmos-react-demos 2.1.1 → 2.1.5
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.
- package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/build/AppShell/AppShell.stories.jsx +4 -4
- package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/core/Avatar/Avatar.stories.d.ts.map +1 -1
- package/jsx/core/Avatar/Avatar.stories.jsx +2 -2
- package/jsx/core/Avatar/Avatar.stories.jsx.map +1 -1
- package/jsx/core/Banner/Banner.mocks.d.ts +18 -0
- package/jsx/core/Banner/Banner.mocks.d.ts.map +1 -0
- package/jsx/core/Banner/Banner.mocks.jsx +41 -0
- package/jsx/core/Banner/Banner.mocks.jsx.map +1 -0
- package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
- package/jsx/core/Banner/Banner.stories.jsx +1 -39
- package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
- package/jsx/core/Button/Button.stories.d.ts.map +1 -1
- package/jsx/core/Button/Button.stories.jsx +3 -3
- package/jsx/core/Button/Button.stories.jsx.map +1 -1
- package/jsx/core/Configuration/Configuration.stories.jsx +1 -1
- package/jsx/core/Configuration/Configuration.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx +1 -0
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx.map +1 -1
- package/jsx/core/ExpandCollapse/ExpandCollapse.styles.d.ts.map +1 -1
- package/jsx/core/ExpandCollapse/ExpandCollapse.styles.js +5 -0
- package/jsx/core/ExpandCollapse/ExpandCollapse.styles.js.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.mocks.d.ts +21 -0
- package/jsx/core/FieldGroup/FieldGroupList.mocks.d.ts.map +1 -0
- package/jsx/core/FieldGroup/FieldGroupList.mocks.jsx +36 -0
- package/jsx/core/FieldGroup/FieldGroupList.mocks.jsx.map +1 -0
- package/jsx/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx +1 -34
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx.map +1 -1
- package/jsx/core/File/FileDisplay.stories.d.ts +8 -1
- package/jsx/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/jsx/core/File/FileDisplay.stories.jsx +37 -2
- package/jsx/core/File/FileDisplay.stories.jsx.map +1 -1
- package/jsx/core/Flex/Flex.styles.d.ts +2 -2
- package/jsx/core/Flex/Flex.styles.d.ts.map +1 -1
- package/jsx/core/Flex/Flex.styles.js +17 -17
- package/jsx/core/Flex/Flex.styles.js.map +1 -1
- package/jsx/core/Flex/FlexContainer.stories.d.ts +2 -0
- package/jsx/core/Flex/FlexContainer.stories.d.ts.map +1 -1
- package/jsx/core/Flex/FlexContainer.stories.jsx +45 -32
- package/jsx/core/Flex/FlexContainer.stories.jsx.map +1 -1
- package/jsx/core/Flex/FlexItem.stories.jsx +13 -13
- package/jsx/core/Flex/FlexItem.stories.jsx.map +1 -1
- package/jsx/core/Form/Form.mocks.d.ts +8 -0
- package/jsx/core/Form/Form.mocks.d.ts.map +1 -0
- package/jsx/core/Form/Form.mocks.jsx +138 -0
- package/jsx/core/Form/Form.mocks.jsx.map +1 -0
- package/jsx/core/Form/Form.stories.d.ts +0 -7
- package/jsx/core/Form/Form.stories.d.ts.map +1 -1
- package/jsx/core/Form/Form.stories.jsx +3 -137
- package/jsx/core/Form/Form.stories.jsx.map +1 -1
- package/jsx/core/Grid/Grid.styles.d.ts +2 -2
- package/jsx/core/Grid/Grid.styles.d.ts.map +1 -1
- package/jsx/core/Grid/Grid.styles.js +4 -4
- package/jsx/core/Grid/Grid.styles.js.map +1 -1
- package/jsx/core/Grid/GridContainer.stories.d.ts +6 -5
- package/jsx/core/Grid/GridContainer.stories.d.ts.map +1 -1
- package/jsx/core/Grid/GridContainer.stories.jsx +51 -44
- package/jsx/core/Grid/GridContainer.stories.jsx.map +1 -1
- package/jsx/core/Grid/GridItem.stories.d.ts +2 -2
- package/jsx/core/Grid/GridItem.stories.d.ts.map +1 -1
- package/jsx/core/Grid/GridItem.stories.jsx +28 -28
- package/jsx/core/Grid/GridItem.stories.jsx.map +1 -1
- package/jsx/core/Icon/Icon.mocks.d.ts +3 -0
- package/jsx/core/Icon/Icon.mocks.d.ts.map +1 -0
- package/jsx/core/Icon/Icon.mocks.jsx +9 -0
- package/jsx/core/Icon/Icon.mocks.jsx.map +1 -0
- package/jsx/core/Icon/Icon.stories.d.ts +1 -0
- package/jsx/core/Icon/Icon.stories.d.ts.map +1 -1
- package/jsx/core/Icon/Icon.stories.jsx +7 -1
- package/jsx/core/Icon/Icon.stories.jsx.map +1 -1
- package/jsx/core/IconPicker/IconPicker.stories.d.ts.map +1 -1
- package/jsx/core/IconPicker/IconPicker.stories.jsx +0 -1
- package/jsx/core/IconPicker/IconPicker.stories.jsx.map +1 -1
- package/jsx/core/Lightbox/Lightbox.mocks.d.ts +15 -0
- package/jsx/core/Lightbox/Lightbox.mocks.d.ts.map +1 -0
- package/jsx/core/Lightbox/Lightbox.mocks.js +59 -0
- package/jsx/core/Lightbox/Lightbox.mocks.js.map +1 -0
- package/jsx/core/Lightbox/Lightbox.stories.d.ts +7 -6
- package/jsx/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
- package/jsx/core/Lightbox/Lightbox.stories.jsx +14 -65
- package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
- package/jsx/core/Link/Link.stories.d.ts +11 -1
- package/jsx/core/Link/Link.stories.d.ts.map +1 -1
- package/jsx/core/Link/Link.stories.jsx +22 -5
- package/jsx/core/Link/Link.stories.jsx.map +1 -1
- package/jsx/core/List/CommaSeparatedList.stories.d.ts.map +1 -1
- package/jsx/core/List/CommaSeparatedList.stories.jsx +17 -19
- package/jsx/core/List/CommaSeparatedList.stories.jsx.map +1 -1
- package/jsx/core/List/OrderedList.stories.d.ts.map +1 -1
- package/jsx/core/List/OrderedList.stories.jsx +10 -10
- package/jsx/core/List/OrderedList.stories.jsx.map +1 -1
- package/jsx/core/List/UnorderedList.stories.d.ts.map +1 -1
- package/jsx/core/List/UnorderedList.stories.jsx +10 -10
- package/jsx/core/List/UnorderedList.stories.jsx.map +1 -1
- package/jsx/core/Menu/Menu.stories.d.ts +3 -3
- package/jsx/core/Menu/Menu.stories.d.ts.map +1 -1
- package/jsx/core/Menu/Menu.stories.jsx +8 -12
- package/jsx/core/Menu/Menu.stories.jsx.map +1 -1
- package/jsx/core/Modal/Modal.mocks.jsx +1 -1
- package/jsx/core/Modal/Modal.mocks.jsx.map +1 -1
- package/jsx/core/Number/Number.stories.jsx +1 -1
- package/jsx/core/Number/Number.stories.jsx.map +1 -1
- package/jsx/core/PageTemplates/PageTemplates.stories.d.ts +5 -2
- package/jsx/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/jsx/core/PageTemplates/PageTemplates.stories.jsx +3 -3
- package/jsx/core/PageTemplates/PageTemplates.stories.jsx.map +1 -1
- package/jsx/core/Paragraph/ParagraphDisplay.stories.jsx +3 -0
- package/jsx/core/Paragraph/ParagraphDisplay.stories.jsx.map +1 -1
- package/jsx/core/Popover/Popover.stories.d.ts +1 -2
- package/jsx/core/Popover/Popover.stories.d.ts.map +1 -1
- package/jsx/core/Popover/Popover.stories.jsx +35 -37
- package/jsx/core/Popover/Popover.stories.jsx.map +1 -1
- package/jsx/core/Rating/Rating.stories.d.ts +4 -1
- package/jsx/core/Rating/Rating.stories.d.ts.map +1 -1
- package/jsx/core/Rating/Rating.stories.jsx +3 -3
- package/jsx/core/Rating/Rating.stories.jsx.map +1 -1
- package/jsx/core/Sentiment/Sentiment.stories.d.ts.map +1 -1
- package/jsx/core/Sentiment/Sentiment.stories.jsx +6 -6
- package/jsx/core/Sentiment/Sentiment.stories.jsx.map +1 -1
- package/jsx/core/SummaryList/SummaryList.stories.jsx +1 -1
- package/jsx/core/SummaryList/SummaryList.stories.jsx.map +1 -1
- package/jsx/core/Toaster/Toaster.stories.d.ts.map +1 -1
- package/jsx/core/Toaster/Toaster.stories.jsx +8 -3
- package/jsx/core/Toaster/Toaster.stories.jsx.map +1 -1
- package/jsx/rte/Editor/Editor.stories.d.ts +1 -0
- package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
- package/jsx/rte/Editor/Editor.stories.jsx +9 -1
- package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts +1 -0
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +19 -2
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
- package/jsx/social/Chat/Chat.stories.d.ts +31 -22
- package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +106 -153
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.jsx +1 -1
- package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx +6 -7
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx.map +1 -1
- package/jsx/work/CaseView/FileService.mock.d.ts.map +1 -1
- package/jsx/work/CaseView/FileService.mock.jsx +6 -2
- package/jsx/work/CaseView/FileService.mock.jsx.map +1 -1
- package/jsx/work/Confirmation/Confirmation.stories.d.ts +1 -1
- package/jsx/work/Confirmation/Confirmation.stories.d.ts.map +1 -1
- package/jsx/work/Confirmation/Confirmation.stories.jsx +14 -3
- package/jsx/work/Confirmation/Confirmation.stories.jsx.map +1 -1
- package/jsx/work/Confirmation/Confirmation.styles.d.ts +2 -0
- package/jsx/work/Confirmation/Confirmation.styles.d.ts.map +1 -0
- package/jsx/work/Confirmation/Confirmation.styles.js +7 -0
- package/jsx/work/Confirmation/Confirmation.styles.js.map +1 -0
- package/jsx/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
- package/jsx/work/SearchResults/SearchResults.stories.jsx +3 -9
- package/jsx/work/SearchResults/SearchResults.stories.jsx.map +1 -1
- package/jsx/work/SearchResults/SearchResults.styles.d.ts +5 -0
- package/jsx/work/SearchResults/SearchResults.styles.d.ts.map +1 -0
- package/jsx/work/SearchResults/SearchResults.styles.js +12 -0
- package/jsx/work/SearchResults/SearchResults.styles.js.map +1 -0
- package/jsx/work/Stakeholders/Stakeholders.mocks.d.ts +17 -0
- package/jsx/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -0
- package/jsx/work/Stakeholders/Stakeholders.mocks.jsx +32 -0
- package/jsx/work/Stakeholders/Stakeholders.mocks.jsx.map +1 -0
- package/jsx/work/Stakeholders/Stakeholders.stories.d.ts +2 -5
- package/jsx/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
- package/jsx/work/Stakeholders/Stakeholders.stories.jsx +2 -30
- package/jsx/work/Stakeholders/Stakeholders.stories.jsx.map +1 -1
- package/jsx/work/Timeline/Timeline.stories.d.ts.map +1 -1
- package/jsx/work/Timeline/Timeline.stories.jsx +2 -2
- package/jsx/work/Timeline/Timeline.stories.jsx.map +1 -1
- package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/build/AppShell/AppShell.stories.js +4 -4
- package/lib/build/AppShell/AppShell.stories.js.map +1 -1
- package/lib/core/Avatar/Avatar.stories.d.ts.map +1 -1
- package/lib/core/Avatar/Avatar.stories.js +2 -2
- package/lib/core/Avatar/Avatar.stories.js.map +1 -1
- package/lib/core/Banner/Banner.mocks.d.ts +18 -0
- package/lib/core/Banner/Banner.mocks.d.ts.map +1 -0
- package/lib/core/Banner/Banner.mocks.js +36 -0
- package/lib/core/Banner/Banner.mocks.js.map +1 -0
- package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
- package/lib/core/Banner/Banner.stories.js +4 -33
- package/lib/core/Banner/Banner.stories.js.map +1 -1
- package/lib/core/Button/Button.stories.d.ts.map +1 -1
- package/lib/core/Button/Button.stories.js +2 -2
- package/lib/core/Button/Button.stories.js.map +1 -1
- package/lib/core/Configuration/Configuration.stories.js +1 -1
- package/lib/core/Configuration/Configuration.stories.js.map +1 -1
- package/lib/core/DateTime/DateTimeDisplay.stories.js +1 -0
- package/lib/core/DateTime/DateTimeDisplay.stories.js.map +1 -1
- package/lib/core/ExpandCollapse/ExpandCollapse.styles.d.ts.map +1 -1
- package/lib/core/ExpandCollapse/ExpandCollapse.styles.js +5 -0
- package/lib/core/ExpandCollapse/ExpandCollapse.styles.js.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.mocks.d.ts +21 -0
- package/lib/core/FieldGroup/FieldGroupList.mocks.d.ts.map +1 -0
- package/lib/core/FieldGroup/FieldGroupList.mocks.js +38 -0
- package/lib/core/FieldGroup/FieldGroupList.mocks.js.map +1 -0
- package/lib/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.stories.js +1 -35
- package/lib/core/FieldGroup/FieldGroupList.stories.js.map +1 -1
- package/lib/core/File/FileDisplay.stories.d.ts +8 -1
- package/lib/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/lib/core/File/FileDisplay.stories.js +32 -2
- package/lib/core/File/FileDisplay.stories.js.map +1 -1
- package/lib/core/Flex/Flex.styles.d.ts +2 -2
- package/lib/core/Flex/Flex.styles.d.ts.map +1 -1
- package/lib/core/Flex/Flex.styles.js +17 -17
- package/lib/core/Flex/Flex.styles.js.map +1 -1
- package/lib/core/Flex/FlexContainer.stories.d.ts +2 -0
- package/lib/core/Flex/FlexContainer.stories.d.ts.map +1 -1
- package/lib/core/Flex/FlexContainer.stories.js +10 -7
- package/lib/core/Flex/FlexContainer.stories.js.map +1 -1
- package/lib/core/Flex/FlexItem.stories.js +4 -4
- package/lib/core/Flex/FlexItem.stories.js.map +1 -1
- package/lib/core/Form/Form.mocks.d.ts +8 -0
- package/lib/core/Form/Form.mocks.d.ts.map +1 -0
- package/lib/core/Form/Form.mocks.js +97 -0
- package/lib/core/Form/Form.mocks.js.map +1 -0
- package/lib/core/Form/Form.stories.d.ts +0 -7
- package/lib/core/Form/Form.stories.d.ts.map +1 -1
- package/lib/core/Form/Form.stories.js +3 -95
- package/lib/core/Form/Form.stories.js.map +1 -1
- package/lib/core/Grid/Grid.styles.d.ts +2 -2
- package/lib/core/Grid/Grid.styles.d.ts.map +1 -1
- package/lib/core/Grid/Grid.styles.js +4 -4
- package/lib/core/Grid/Grid.styles.js.map +1 -1
- package/lib/core/Grid/GridContainer.stories.d.ts +6 -5
- package/lib/core/Grid/GridContainer.stories.d.ts.map +1 -1
- package/lib/core/Grid/GridContainer.stories.js +27 -24
- package/lib/core/Grid/GridContainer.stories.js.map +1 -1
- package/lib/core/Grid/GridItem.stories.d.ts +2 -2
- package/lib/core/Grid/GridItem.stories.d.ts.map +1 -1
- package/lib/core/Grid/GridItem.stories.js +10 -10
- package/lib/core/Grid/GridItem.stories.js.map +1 -1
- package/lib/core/Icon/Icon.mocks.d.ts +3 -0
- package/lib/core/Icon/Icon.mocks.d.ts.map +1 -0
- package/lib/core/Icon/Icon.mocks.js +10 -0
- package/lib/core/Icon/Icon.mocks.js.map +1 -0
- package/lib/core/Icon/Icon.stories.d.ts +1 -0
- package/lib/core/Icon/Icon.stories.d.ts.map +1 -1
- package/lib/core/Icon/Icon.stories.js +7 -1
- package/lib/core/Icon/Icon.stories.js.map +1 -1
- package/lib/core/IconPicker/IconPicker.stories.d.ts.map +1 -1
- package/lib/core/IconPicker/IconPicker.stories.js +0 -1
- package/lib/core/IconPicker/IconPicker.stories.js.map +1 -1
- package/lib/core/Lightbox/Lightbox.mocks.d.ts +15 -0
- package/lib/core/Lightbox/Lightbox.mocks.d.ts.map +1 -0
- package/lib/core/Lightbox/Lightbox.mocks.js +67 -0
- package/lib/core/Lightbox/Lightbox.mocks.js.map +1 -0
- package/lib/core/Lightbox/Lightbox.stories.d.ts +7 -6
- package/lib/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
- package/lib/core/Lightbox/Lightbox.stories.js +14 -73
- package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
- package/lib/core/Link/Link.stories.d.ts +11 -1
- package/lib/core/Link/Link.stories.d.ts.map +1 -1
- package/lib/core/Link/Link.stories.js +7 -4
- package/lib/core/Link/Link.stories.js.map +1 -1
- package/lib/core/List/CommaSeparatedList.stories.d.ts.map +1 -1
- package/lib/core/List/CommaSeparatedList.stories.js +17 -17
- package/lib/core/List/CommaSeparatedList.stories.js.map +1 -1
- package/lib/core/List/OrderedList.stories.d.ts.map +1 -1
- package/lib/core/List/OrderedList.stories.js +10 -10
- package/lib/core/List/OrderedList.stories.js.map +1 -1
- package/lib/core/List/UnorderedList.stories.d.ts.map +1 -1
- package/lib/core/List/UnorderedList.stories.js +10 -10
- package/lib/core/List/UnorderedList.stories.js.map +1 -1
- package/lib/core/Menu/Menu.stories.d.ts +3 -3
- package/lib/core/Menu/Menu.stories.d.ts.map +1 -1
- package/lib/core/Menu/Menu.stories.js +8 -12
- package/lib/core/Menu/Menu.stories.js.map +1 -1
- package/lib/core/Modal/Modal.mocks.js +1 -1
- package/lib/core/Modal/Modal.mocks.js.map +1 -1
- package/lib/core/Number/Number.stories.js +1 -1
- package/lib/core/Number/Number.stories.js.map +1 -1
- package/lib/core/PageTemplates/PageTemplates.stories.d.ts +5 -2
- package/lib/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/lib/core/PageTemplates/PageTemplates.stories.js +3 -3
- package/lib/core/PageTemplates/PageTemplates.stories.js.map +1 -1
- package/lib/core/Paragraph/ParagraphDisplay.stories.js +3 -0
- package/lib/core/Paragraph/ParagraphDisplay.stories.js.map +1 -1
- package/lib/core/Popover/Popover.stories.d.ts +1 -2
- package/lib/core/Popover/Popover.stories.d.ts.map +1 -1
- package/lib/core/Popover/Popover.stories.js +24 -25
- package/lib/core/Popover/Popover.stories.js.map +1 -1
- package/lib/core/Rating/Rating.stories.d.ts +4 -1
- package/lib/core/Rating/Rating.stories.d.ts.map +1 -1
- package/lib/core/Rating/Rating.stories.js +3 -3
- package/lib/core/Rating/Rating.stories.js.map +1 -1
- package/lib/core/Sentiment/Sentiment.stories.d.ts.map +1 -1
- package/lib/core/Sentiment/Sentiment.stories.js +6 -6
- package/lib/core/Sentiment/Sentiment.stories.js.map +1 -1
- package/lib/core/SummaryList/SummaryList.stories.js +1 -1
- package/lib/core/SummaryList/SummaryList.stories.js.map +1 -1
- package/lib/core/Toaster/Toaster.stories.d.ts.map +1 -1
- package/lib/core/Toaster/Toaster.stories.js +8 -3
- package/lib/core/Toaster/Toaster.stories.js.map +1 -1
- package/lib/rte/Editor/Editor.stories.d.ts +1 -0
- package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
- package/lib/rte/Editor/Editor.stories.js +9 -1
- package/lib/rte/Editor/Editor.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts +1 -0
- package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js +15 -2
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
- package/lib/social/Chat/Chat.stories.d.ts +33 -22
- package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
- package/lib/social/Chat/Chat.stories.js +102 -158
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
- package/lib/social/Feed/FeedPost.stories.js +1 -1
- package/lib/social/Feed/FeedPost.stories.js.map +1 -1
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +6 -7
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
- package/lib/work/CaseView/FileService.mock.d.ts.map +1 -1
- package/lib/work/CaseView/FileService.mock.js +6 -2
- package/lib/work/CaseView/FileService.mock.js.map +1 -1
- package/lib/work/Confirmation/Confirmation.stories.d.ts +1 -1
- package/lib/work/Confirmation/Confirmation.stories.d.ts.map +1 -1
- package/lib/work/Confirmation/Confirmation.stories.js +12 -4
- package/lib/work/Confirmation/Confirmation.stories.js.map +1 -1
- package/lib/work/Confirmation/Confirmation.styles.d.ts +2 -0
- package/lib/work/Confirmation/Confirmation.styles.d.ts.map +1 -0
- package/lib/work/Confirmation/Confirmation.styles.js +7 -0
- package/lib/work/Confirmation/Confirmation.styles.js.map +1 -0
- package/lib/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
- package/lib/work/SearchResults/SearchResults.stories.js +3 -9
- package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
- package/lib/work/SearchResults/SearchResults.styles.d.ts +5 -0
- package/lib/work/SearchResults/SearchResults.styles.d.ts.map +1 -0
- package/lib/work/SearchResults/SearchResults.styles.js +12 -0
- package/lib/work/SearchResults/SearchResults.styles.js.map +1 -0
- package/lib/work/Stakeholders/Stakeholders.mocks.d.ts +22 -0
- package/lib/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -0
- package/lib/work/Stakeholders/Stakeholders.mocks.js +36 -0
- package/lib/work/Stakeholders/Stakeholders.mocks.js.map +1 -0
- package/lib/work/Stakeholders/Stakeholders.stories.d.ts +2 -5
- package/lib/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
- package/lib/work/Stakeholders/Stakeholders.stories.js +3 -34
- package/lib/work/Stakeholders/Stakeholders.stories.js.map +1 -1
- package/lib/work/Timeline/Timeline.stories.d.ts.map +1 -1
- package/lib/work/Timeline/Timeline.stories.js +2 -2
- package/lib/work/Timeline/Timeline.stories.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.stories.jsx","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n SyntheticEvent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { radios, array, boolean, text, number, optionsKnob, button } from '@storybook/addon-knobs';\n\nimport {\n Button,\n Icon,\n registerIcon,\n Text,\n MenuButton,\n Flex,\n Popover,\n Link,\n Status,\n EmojiContext,\n BannerProps,\n createUID,\n useOuterEvent,\n TextArea,\n Select,\n Option,\n Menu,\n useElement,\n FieldValueList\n} from '@pega/cosmos-react-core';\nimport * as arrowMicroDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/arrow-micro-down.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n Chat,\n ChatProps,\n ChatHeader,\n ChatBody,\n ChatComposer,\n ChatTranscript,\n Message,\n MessageList as MessageListComp,\n MessageProps,\n MessageListItemProps,\n MessageListImperativeHandleProps,\n NewMessageSeparatorId,\n AttachmentItemProps,\n ChatComposerImperativeHandleProps,\n SuggestedReply,\n SuggestedReplyPicker,\n SystemMessage,\n TranscriptMessage,\n TypeIndicator\n} from '@pega/cosmos-react-social';\n\nimport { ChatMockData } from './Chat.mocks';\n\nregisterIcon(forwardIcon, replyIcon, replyAllIcon, arrowMicroDownIcon);\n\nexport default {\n title: 'Social/Chat',\n component: Chat\n};\n\nconst Channels: {\n label: string;\n options: any;\n} = {\n label: 'Channel',\n options: {\n LiveChat: {\n title: 'Live chat',\n icon: 'chat-solid'\n },\n Twitter: {\n title: 'Twitter chat',\n icon: 'twitter'\n },\n Facebook: {\n title: 'Facebook messenger',\n icon: 'facebook'\n }\n }\n};\n\n/** *********************** ChatHeader component - START *********************** */\nexport const chatHeader = () => {\n const actionsConfig = (\n <Flex>\n <Button variant='simple' aria-label='Show transcripts'>\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button variant='simple' icon aria-label='chat info'>\n <Icon name='information' />\n </Button>\n </Flex>\n );\n\n return (\n <ChatHeader\n title='Live Chat'\n icon='chat-solid'\n aria-label='Chat header'\n actions={actionsConfig}\n />\n );\n};\n/** ***************************** ChatHeader component - END ******************* */\n\n/** **************************** MessageList component - START ************************* */\nexport const MessageList = () => {\n const messages: any[] = ChatMockData.chatMessages;\n\n const [unReadMessageCount, setUnReadMessagesCount] = useState(1);\n\n return (\n <Flex container style={{ height: '80vh' }}>\n <MessageListComp\n tabIndex={0}\n messages={messages}\n unReadMessageCount={unReadMessageCount}\n onScrollToButtonClick={() => {\n setUnReadMessagesCount(0);\n }}\n />\n </Flex>\n );\n};\n/** **************************** MessageList component - END **************************** */\n\n/** ***************************** Message component - START ********************** */\nexport const messageComponent = () => {\n /** Storybook knobs are used here to simulate the behavior of variant and direction prop in real time - start */\n const MessageVariantPropValues: Record<string, MessageProps['variant']> = {\n sender: 'sender',\n receiver: 'receiver',\n other: 'other'\n };\n const MessageDirectionPropValues: Record<string, MessageProps['direction']> = {\n in: 'in',\n out: 'out'\n };\n\n const variantProp = radios<MessageProps['variant']>(\n 'Variant',\n MessageVariantPropValues,\n 'receiver'\n );\n const directionProp = radios<MessageProps['direction']>(\n 'Direction',\n MessageDirectionPropValues,\n 'in'\n );\n /** Storybook knobs are used here to simulate the behavior of variant and direction prop in real time - end */\n const attachments = [\n {\n id: '2499167340',\n name: 'Location',\n icon: 'document',\n meta: 'PNG 0.1 MB',\n thumbnail: 'https://pegasystems.github.io/uplus-wss/health_provider/img/secondary-options.jpg'\n },\n {\n id: '2499167341',\n name: 'FAQ with detailed terms and conditions of the policy',\n icon: 'document-pdf',\n meta: 'PDF 0.7 MB'\n }\n ];\n const pagePushLinks = [\n {\n id: '2499167349',\n href: 'https://collaborate.pega.com/',\n thumbnail:\n 'https://community.pega.com/sites/default/files/styles/480/public/media/images/2020-02/AskExpert.png?itok=ef2MVbOV',\n title: 'Ask the expert'\n }\n ];\n return (\n <>\n {/* Message with attachments */}\n <Message\n type='message'\n attachments={attachments}\n avatarInfo={{ name: 'John Brown' }}\n status='Opened'\n timeStamp='1:44 PM'\n message='Hi, Welcome to u-plus. How can I help you ?'\n variant={variantProp}\n direction={directionProp}\n />\n <br />\n {/* Message with page push links */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n pagePushLinks={pagePushLinks}\n variant={variantProp}\n direction={directionProp}\n />\n <br />\n {/* Normal message with plain text */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n variant={variantProp}\n direction={directionProp}\n />\n </>\n );\n};\n/** ***************************** Message component - END *********************** */\n\n/** **************************** SystemMessage component - START ***************** */\nexport const systemMessage = () => (\n <SystemMessage message='John Brown has joined' timeStamp='10:00 AM' />\n);\n/** ***************************** SystemMessage component - END ******************** */\n\n/** ***************************** TypeIndicator component - START ****************** */\nexport const typeIndicator = () => {\n /** storybook knobs are used here to simulate the behavior of message prop in real time */\n const TypeIndicatorMessageProp = text('message', '');\n return <TypeIndicator avatarInfo={{ name: 'John Brown' }} message={TypeIndicatorMessageProp} />;\n};\n/** *************************** TypeIndicator component - END *********************** */\n\n/** ************************** ChatTranscripts component - START ********************* */\nexport const chatTranscripts = () => {\n return ChatMockData.transcripts.map((transcript: any) => {\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcript.data}\n />\n );\n });\n};\n/** **************************** ChatTranscripts component - END ************************ */\n\n/** *************************** TranscriptMessage component - START ****************** */\nexport const transcriptMessage = () => (\n <TranscriptMessage\n timeStamp='01:20 PM'\n variant='bot'\n message='Hello… This is bot. How can I help you? Please select your category.'\n />\n);\n/** *************************** TranscriptMessage component - END ******************** */\n\n/** *************************** SuggestedReplyPicker component - START ****************** */\n\nexport const suggestedReplyPickerComponent = () => {\n const suggestedReplies: SuggestedReply[] = [\n {\n id: createUID(),\n message: 'Hello, Good morning Sara. How can I help you today',\n confidence: 95\n },\n {\n id: createUID(),\n message:\n 'Sorry to hear that. I will surely help you resolve the issue. Can you please provide the policy id, so that I can get more details',\n confidence: 75\n }\n ];\n return (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={suggestedReply => {\n action(`Suggested reply picked ${suggestedReply.message}`)();\n }}\n onDismiss={action('Suggested reply dismissed')}\n />\n );\n};\n\n/** *************************** SuggestedReplyPicker component - END ****************** */\n\n/** ******************************* ChatComposer component - START ************************ */\nexport const chatComposer = () => (\n <ChatComposer\n maxAttachments={number('Max Attachments', 2)}\n attachments={ChatMockData.defaultAttachments}\n maxLength={256}\n placeholder='Type here to send message'\n onSend={() => {}}\n >\n <MenuButton text='Phrases' menu={{ items: [] }} />\n <MenuButton text='Page Push' menu={{ items: [] }} />\n </ChatComposer>\n);\n/** *********************************** ChatComposer component - END ********************** */\n\n/** *********************************** Standard Chat component - START ******************** */\nconst allParticipants: any = ChatMockData.participants;\nconst chatParticipants = Object.keys(allParticipants).reduce((obj: any, key: string) => {\n if (!allParticipants[key].avatarInfo) {\n return obj;\n }\n const name = allParticipants[key].avatarInfo.name;\n obj[name] = name;\n return obj;\n}, {});\n\nconst channelOptions = Object.keys(Channels.options).reduce((obj: any, key) => {\n obj[key] = key;\n return obj;\n}, {});\n\nexport const StandardChat = ({ chatWidth = '30rem' }: { chatWidth: string }) => {\n const ChatMockDataClone: any = useMemo(() => {\n return JSON.parse(JSON.stringify(ChatMockData));\n }, [ChatMockData]);\n const {\n participants,\n chatMessages: mockChatMessagesJson,\n transcripts,\n defaultAttachments,\n suggestedReplies\n }: {\n participants: any;\n chatMessages: any[];\n transcripts: [];\n defaultAttachments: any[];\n suggestedReplies: SuggestedReply[];\n } = ChatMockDataClone;\n\n const conversationRatingMessage: MessageListItemProps = {\n id: createUID(),\n variant: 'receiver',\n direction: 'in',\n type: 'message',\n message: (\n <Flex\n container={{\n direction: 'column',\n gap: 1\n }}\n >\n <TextArea\n placeholder='Please comment…'\n label='Please comment on our service performance and how we can better serve you. Thank you for your time.'\n />\n <Select label='Is the problem resolved?'>\n <Option>Yes</Option>\n <Option>No</Option>\n </Select>\n <Flex\n container={{\n justify: 'center'\n }}\n >\n <Button variant='primary'>Submit</Button>\n </Flex>\n </Flex>\n )\n };\n\n const mockChatMessages = useMemo(() => {\n return [\n ...mockChatMessagesJson.map(message => {\n const { messagePrivacy, ...restMessageData } = message;\n if (messagePrivacy) {\n restMessageData.messageHeader = {\n content: <span>{messagePrivacy}</span>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return restMessageData;\n }),\n conversationRatingMessage\n ];\n }, []);\n\n const conversationRef = useRef<MessageListImperativeHandleProps>(null);\n const timers = useRef<number[]>([]);\n\n useEffect(() => {\n return () => {\n timers.current.forEach(clearTimeout);\n };\n }, []);\n\n const selectedChannel = radios(Channels.label, channelOptions, Object.keys(channelOptions)[0]);\n const actions = array('Actions', ['Transfer', 'End chat']).map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }));\n const [showSuggestedReplies, setShowSuggestedReplies] = useState(true);\n const disableChat = boolean('Disable chat', false);\n const simulateConversation = boolean('Simulate conversation', false);\n const placeHolder = text('Placeholder', 'Enter message');\n const defaultMessage = text(\n 'Default message',\n 'Greetings! Hope you are having a great time, Please reach out to us for any help, Thanks!'\n );\n const maxLength = number('Max characters', 280);\n const typers = optionsKnob('Participants typing', chatParticipants, '', {\n display: 'multi-select'\n });\n\n const [showTranscripts, setShowTranscripts] = useState(false);\n const [attachments, setAttachments] = useState<AttachmentItemProps[]>(defaultAttachments);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n const [chatMessages, setChatMessages] = useState<any[]>(\n simulateConversation ? mockChatMessages.slice(0, 0) : mockChatMessages\n );\n\n const onDeleteAttachment = useCallback(\n (name: string) => {\n setAttachments(prevAttachments => prevAttachments.filter(item => item.name !== name));\n },\n [setAttachments]\n );\n\n useEffect(() => {\n setAttachments(\n defaultAttachments.map((item: any) => {\n return {\n ...item,\n onDelete: onDeleteAttachment\n };\n })\n );\n }, [defaultAttachments]);\n\n const appendMessage = (message: any) => {\n const incrementUnreadMessageCount = conversationRef.current?.isScrolledToLatest();\n setChatMessages(prevChatMessages => {\n const newMockMessage: any = {\n ...message\n };\n newMockMessage.id = `m-${message.id ? message.id : prevChatMessages.length}`;\n if (\n !incrementUnreadMessageCount &&\n prevChatMessages.filter(({ id }) => id === NewMessageSeparatorId).length === 0\n ) {\n return [\n ...prevChatMessages,\n {\n id: NewMessageSeparatorId,\n type: 'system',\n message: 'New messages',\n variant: 'primary'\n },\n newMockMessage\n ];\n }\n return [...prevChatMessages, newMockMessage];\n });\n if (!incrementUnreadMessageCount) {\n setUnreadMessagesCount(prevCount => prevCount + 1);\n }\n };\n\n useEffect(() => {\n if (simulateConversation) {\n const timeOutId = setTimeout(() => {\n if (mockChatMessages.length) {\n appendMessage(mockChatMessages.shift());\n }\n }, 1500);\n return () => {\n clearTimeout(timeOutId);\n };\n }\n }, [chatMessages, simulateConversation]);\n\n const customerMessage = text('Customer message', '');\n button('Send customer message', () => {\n appendMessage({\n type: 'message',\n ...participants.receiver,\n message: customerMessage,\n timeStamp: '1:45 PM'\n });\n return false;\n });\n\n const managerMessage = text('Manager message', '');\n button('Send manager message', () => {\n appendMessage({\n type: 'message',\n ...participants.other,\n message: managerMessage,\n timeStamp: '1:45 PM'\n });\n return false;\n });\n\n const typingIndicators = typers\n .toString()\n .split(',')\n .filter(person => person !== '')\n .map(name => {\n let message = '';\n if (name === participants.receiver.avatarInfo.name) {\n message = customerMessage;\n } else if (name === participants.other.avatarInfo.name) {\n message = managerMessage;\n }\n return {\n id: name,\n type: 'typing',\n avatarInfo: {\n name\n },\n message,\n ariaLabel: `${name} is typing`\n };\n });\n\n const [openPopover, setOpenPopover] = useState(false);\n const [popoverRef, setPopoverRef] = useElement<HTMLElement>();\n const [buttonRef, setButtonRef] = useElement<HTMLElement>();\n const additionalInfo: {\n title: string;\n options: any;\n } = {\n title: 'Additional info',\n options: {\n LiveChat: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ],\n Twitter: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Twitter handle',\n value: '@Connor'\n },\n {\n id: '3',\n name: 'Followers',\n value: '13,556'\n }\n ],\n Facebook: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ]\n }\n };\n useOuterEvent('mousedown', [popoverRef, buttonRef], () => {\n if (openPopover) setOpenPopover(false);\n });\n\n const header = (\n <ChatHeader\n title={Channels.options[selectedChannel].title}\n icon={Channels.options[selectedChannel].icon}\n aria-label='Chat header'\n actions={\n <Flex>\n <Button\n variant='simple'\n onClick={() => setShowTranscripts(!showTranscripts)}\n aria-label='Show transcripts'\n >\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button\n variant='simple'\n icon\n aria-label='chat info'\n ref={setButtonRef}\n onClick={() => setOpenPopover(current => !current)}\n >\n <Icon name='information' />\n </Button>\n <Popover\n show={openPopover}\n target={buttonRef}\n ref={setPopoverRef}\n arrow\n placement='bottom-end'\n >\n <Flex container={{ direction: 'column', gap: 1, pad: 2 }}>\n <Text variant='h4'>{additionalInfo.title}</Text>\n <FieldValueList variant='inline' fields={additionalInfo.options[selectedChannel]} />\n </Flex>\n </Popover>\n <MenuButton\n text='More actions'\n icon='more'\n iconOnly\n variant='simple'\n portal\n menu={{ items: actions }}\n />\n </Flex>\n }\n />\n );\n\n const [showEarlierTranscripts, setShowEarlierTranscripts] = useState(false);\n\n const transcriptsContainerRef = useRef<HTMLDivElement>(null);\n\n useOuterEvent('mousedown', [transcriptsContainerRef], () => {\n setShowTranscripts(false);\n });\n\n const utilityComp = useMemo<ChatProps['utility'] | undefined>(() => {\n return showTranscripts ? (\n <div ref={transcriptsContainerRef}>\n {!showEarlierTranscripts && (\n <Flex\n container={{\n direction: 'column',\n alignItems: 'center',\n gap: 1\n }}\n >\n <Button\n icon\n aria-label='Show earlier transcripts'\n variant='secondary'\n onClick={() => {\n setShowEarlierTranscripts(!showEarlierTranscripts);\n }}\n >\n <Icon name='caret-up' />\n </Button>\n </Flex>\n )}\n {transcripts\n .sort((transcript: any) => transcript.earlierTranscripts)\n .filter((transcript: any) =>\n showEarlierTranscripts ? true : !transcript.earlierTranscripts\n )\n .map((transcript: any) => {\n const transcriptData: any = transcript.data.map(\n (message: {\n messagePrivacy: { privacy: string };\n transcriptHeader: { content: ReactElement; meta: JSX.Element };\n }) => {\n if (message.messagePrivacy) {\n message.transcriptHeader = {\n content: <Status variant='warn'>{message.messagePrivacy.privacy}</Status>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return message;\n }\n );\n\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcriptData}\n />\n );\n })}\n </div>\n ) : undefined;\n }, [showTranscripts, setShowTranscripts, showEarlierTranscripts, setShowEarlierTranscripts]);\n\n const showChatBanner = boolean('Show banner', true);\n\n const chatBanner: BannerProps = {\n id: 'warning',\n messages: ['This is a public interaction and any responses will be public and visible'],\n heading: 'Warning',\n variant: 'warning'\n };\n const body = (\n <ChatBody>\n <MessageListComp\n unReadMessageCount={unreadMessagesCount}\n onScrollToButtonClick={() => {\n const newRandomMessageId = Math.random().toString(36).substr(2, 9);\n setChatMessages(prevChatMessages =>\n prevChatMessages.map(message => {\n if (message.id === NewMessageSeparatorId) {\n message.id = newRandomMessageId;\n }\n return message;\n })\n );\n const timeOutId: number = window.setTimeout(() => {\n setChatMessages(prevChatMessages =>\n prevChatMessages.filter(({ id }) => id !== newRandomMessageId)\n );\n timers.current = timers.current.filter(id => id !== timeOutId);\n }, 5000);\n timers.current.push(timeOutId);\n setUnreadMessagesCount(0);\n }}\n tabIndex={0}\n ref={conversationRef}\n messages={[...chatMessages, ...typingIndicators]}\n />\n </ChatBody>\n );\n\n const chatComposerImperativeHandleRef = useRef<ChatComposerImperativeHandleProps>(null);\n const phrase = text('Phrase', 'How can I help you?');\n button('Push prase at start', () => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(phrase, 'start');\n }\n return false;\n });\n button('Push prase at end', () => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(phrase, 'end');\n }\n return false;\n });\n button('Push prase at cursor', () => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(phrase, 'cursor');\n }\n return false;\n });\n\n const [mountPopover, setMountPopover] = useState(false);\n const specialKeysConfig = {\n keys: ['//'],\n onSpecialKey: (e: SyntheticEvent<HTMLTextAreaElement>, key: string) => {\n action(`Event is ${e}`)();\n action(`Typed special key is ${key}`)();\n if (chatComposerImperativeHandleRef.current) {\n setMountPopover(!mountPopover);\n }\n }\n };\n\n const insertPhrasesMessage = (message: string) => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(message, 'specialKey');\n setMountPopover(false);\n }\n };\n\n useOuterEvent(\n 'mousedown',\n [chatComposerImperativeHandleRef?.current?.chatComposerRef?.current as Element],\n () => {\n setMountPopover(false);\n }\n );\n\n const footer = (\n <ChatComposer\n ref={chatComposerImperativeHandleRef}\n maxAttachments={number('Max Attachments', attachments.length)}\n attachments={attachments}\n specialKeysConfig={specialKeysConfig}\n showEmoji\n disabled={disableChat}\n onAddAttachment={() => {\n setAttachments([\n ...attachments,\n {\n id: `${attachments.length} statement.pdf`,\n name: `${attachments.length} statement.pdf`,\n onDelete: onDeleteAttachment\n }\n ]);\n }}\n maxLength={maxLength}\n placeholder={placeHolder}\n defaultMessage={defaultMessage}\n onSend={message => {\n action(`onAppendMessage: ${message}`)();\n appendMessage({\n ...participants.sender,\n type: 'message',\n message,\n timeStamp: '1:45 PM'\n });\n }}\n >\n <MenuButton text='Phrases' actions={[]} disabled={disableChat} />\n <MenuButton text='Page push' actions={[]} disabled={disableChat} />\n <Popover\n show={mountPopover}\n target={chatComposerImperativeHandleRef?.current?.textAreaRef?.current as Element}\n placement='top-start'\n >\n <Menu\n scrollAt={20}\n items={ChatMockData.phrasesDisplayNames.map((name, idx) => ({\n primary: name,\n id: idx.toString(),\n onClick: () => insertPhrasesMessage(ChatMockData.phrasesMessages[idx])\n }))}\n />\n </Popover>\n </ChatComposer>\n );\n\n button('Toggle suggested replies', () => {\n setShowSuggestedReplies(show => !show);\n return false;\n });\n\n const suggestedReplyPicker =\n suggestedReplies.length > 0 && showSuggestedReplies ? (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={(suggestedReply: SuggestedReply) => {\n chatComposerImperativeHandleRef.current?.appendToMessage(\n suggestedReply.message,\n 'cursor'\n );\n setShowSuggestedReplies(false);\n }}\n onDismiss={() => {\n setShowSuggestedReplies(false);\n }}\n />\n ) : undefined;\n const fetchGoogleSprite = () => {\n return 'https://unpkg.com/emoji-datasource-google@5.0.1/img/google/sheets-256/64.png';\n };\n\n return (\n <EmojiContext.Provider value={{ set: 'google', spriteSrcResolver: fetchGoogleSprite }}>\n <Flex\n container={{\n justify: 'center'\n }}\n style={{\n height: 'calc(100vh)',\n width: chatWidth,\n margin: 'auto'\n }}\n >\n <Chat\n utility={utilityComp}\n header={header}\n banner={showChatBanner ? chatBanner : undefined}\n body={body}\n footer={footer}\n suggestedReplyPicker={suggestedReplyPicker}\n />\n </Flex>\n </EmojiContext.Provider>\n );\n};\n\nStandardChat.parameters = {\n layout: 'fullscreen'\n};\n\n/** *************************** Standard Chat component - END ************************ */\n"]}
|
|
1
|
+
{"version":3,"file":"Chat.stories.jsx","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n SyntheticEvent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n Icon,\n registerIcon,\n Text,\n MenuButton,\n Flex,\n Popover,\n Link,\n Status,\n EmojiContext,\n BannerProps,\n createUID,\n useOuterEvent,\n TextArea,\n Select,\n Option,\n Menu,\n useElement,\n FieldValueList\n} from '@pega/cosmos-react-core';\nimport * as arrowMicroDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/arrow-micro-down.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n Chat,\n ChatProps,\n ChatHeader,\n ChatBody,\n ChatComposer,\n ChatTranscript,\n Message,\n MessageList,\n MessageProps,\n MessageListItemProps,\n MessageListImperativeHandleProps,\n NewMessageSeparatorId,\n AttachmentItemProps,\n ChatComposerImperativeHandleProps,\n SuggestedReply,\n SuggestedReplyPicker,\n SystemMessage,\n TranscriptMessage,\n TypeIndicator\n} from '@pega/cosmos-react-social';\n\nimport { ChatMockData } from './Chat.mocks';\n\nregisterIcon(forwardIcon, replyIcon, replyAllIcon, arrowMicroDownIcon);\n\nexport default {\n title: 'Social/Chat',\n component: Chat\n} as Meta;\n\n/** *********************** ChatHeader component - START *********************** */\nexport const ChatHeaderDemo = () => {\n const actionsConfig = (\n <Flex>\n <Button variant='simple' aria-label='Show transcripts'>\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button variant='simple' icon aria-label='chat info'>\n <Icon name='information' />\n </Button>\n </Flex>\n );\n\n return (\n <ChatHeader\n title='Live Chat'\n icon='chat-solid'\n aria-label='Chat header'\n actions={actionsConfig}\n />\n );\n};\n/** ***************************** ChatHeader component - END ******************* */\n\n/** **************************** MessageList component - START ************************* */\nexport const MessageListDemo = () => {\n const messages: any[] = ChatMockData.chatMessages;\n\n const [unReadMessageCount, setUnReadMessagesCount] = useState(1);\n\n return (\n <Flex container style={{ height: '80vh' }}>\n <MessageList\n tabIndex={0}\n messages={messages}\n unReadMessageCount={unReadMessageCount}\n onScrollToButtonClick={() => {\n setUnReadMessagesCount(0);\n }}\n />\n </Flex>\n );\n};\n/** **************************** MessageList component - END **************************** */\n\n/** ***************************** Message component - START ********************** */\nexport const MessageDemo: Story<MessageProps> = (args: MessageProps) => {\n const attachments = [\n {\n id: '2499167340',\n name: 'Location',\n icon: 'document',\n meta: 'PNG 0.1 MB',\n thumbnail: 'https://pegasystems.github.io/uplus-wss/health_provider/img/secondary-options.jpg'\n },\n {\n id: '2499167341',\n name: 'FAQ with detailed terms and conditions of the policy',\n icon: 'document-pdf',\n meta: 'PDF 0.7 MB'\n }\n ];\n const pagePushLinks = [\n {\n id: '2499167349',\n href: 'https://collaborate.pega.com/',\n thumbnail:\n 'https://community.pega.com/sites/default/files/styles/480/public/media/images/2020-02/AskExpert.png?itok=ef2MVbOV',\n title: 'Ask the expert'\n }\n ];\n return (\n <>\n {/* Message with attachments */}\n <Message\n type='message'\n attachments={attachments}\n avatarInfo={{ name: 'John Brown' }}\n status='Opened'\n timeStamp='1:44 PM'\n message='Hi, Welcome to u-plus. How can I help you ?'\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Message with page push links */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n pagePushLinks={pagePushLinks}\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Normal message with plain text */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n variant={args.variant}\n direction={args.direction}\n />\n </>\n );\n};\n\nMessageDemo.args = {\n variant: 'receiver',\n direction: 'in'\n};\n\nMessageDemo.argTypes = {\n variant: { options: ['receiver', 'sender', 'other'], control: { type: 'select' } },\n direction: { options: ['in', 'out'], control: { type: 'select' } }\n};\n/** ***************************** Message component - END *********************** */\n\n/** **************************** SystemMessage component - START ***************** */\nexport const SystemMessageDemo = () => (\n <SystemMessage message='John Brown has joined' timeStamp='10:00 AM' />\n);\n/** ***************************** SystemMessage component - END ******************** */\n\n/** ***************************** TypeIndicator component - START ****************** */\ninterface TypeIndicatorDemoProps {\n message?: string;\n}\nexport const TypeIndicatorDemo: Story<TypeIndicatorDemoProps> = (args: TypeIndicatorDemoProps) => {\n return <TypeIndicator avatarInfo={{ name: 'John Brown' }} message={args.message} />;\n};\n\nTypeIndicatorDemo.args = {\n message: ''\n};\n\nTypeIndicatorDemo.argTypes = {\n message: { control: { type: 'text' } }\n};\n/** *************************** TypeIndicator component - END *********************** */\n\n/** ************************** ChatTranscripts component - START ********************* */\nexport const ChatTranscriptsDemo = () => {\n return ChatMockData.transcripts.map((transcript: any) => {\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcript.data}\n />\n );\n });\n};\n/** **************************** ChatTranscripts component - END ************************ */\n\n/** *************************** TranscriptMessage component - START ****************** */\nexport const TranscriptMessageDemo = () => (\n <TranscriptMessage\n timeStamp='01:20 PM'\n variant='bot'\n message='Hello… This is bot. How can I help you? Please select your category.'\n />\n);\n/** *************************** TranscriptMessage component - END ******************** */\n\n/** *************************** SuggestedReplyPicker component - START ****************** */\n\nexport const SuggestedReplyPickerDemo = () => {\n const suggestedReplies: SuggestedReply[] = [\n {\n id: createUID(),\n message: 'Hello, Good morning Sara. How can I help you today',\n confidence: 95\n },\n {\n id: createUID(),\n message:\n 'Sorry to hear that. I will surely help you resolve the issue. Can you please provide the policy id, so that I can get more details',\n confidence: 75\n }\n ];\n return (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={suggestedReply => {\n action(`Suggested reply picked ${suggestedReply.message}`)();\n }}\n onDismiss={action('Suggested reply dismissed')}\n />\n );\n};\n\n/** *************************** SuggestedReplyPicker component - END ****************** */\n\n/** ******************************* ChatComposer component - START ************************ */\ninterface ChatComposerDemoProps {\n maxAttachments?: number;\n}\n\nexport const ChatComposerDemo: Story<ChatComposerDemoProps> = (args: ChatComposerDemoProps) => (\n <ChatComposer\n maxAttachments={args.maxAttachments}\n attachments={ChatMockData.defaultAttachments}\n maxLength={256}\n placeholder='Type here to send message'\n onSend={() => {}}\n >\n <MenuButton text='Phrases' menu={{ items: [] }} />\n <MenuButton text='Page Push' menu={{ items: [] }} />\n </ChatComposer>\n);\n\nChatComposerDemo.args = {\n maxAttachments: 2\n};\n\nChatComposerDemo.argTypes = {\n maxAttachments: { control: { type: 'number' } }\n};\n/** *********************************** ChatComposer component - END ********************** */\n\n/** *********************************** Standard Chat component - START ******************** */\ninterface StandardChatProps {\n maxAttachments?: number;\n chatWidth?: string;\n selectedChannel?: string;\n showChatBanner?: boolean;\n disableChat?: boolean;\n simulateConversation?: boolean;\n message?: string;\n placeholder?: string;\n defaultMessage?: string;\n maxLength?: number;\n}\n\nexport const StandardChat: Story<StandardChatProps> = (args: StandardChatProps) => {\n const ChatMockDataClone: any = useMemo(() => {\n return JSON.parse(JSON.stringify(ChatMockData));\n }, [ChatMockData]);\n\n const Channels: {\n label: string;\n options: any;\n } = {\n label: 'Channel',\n options: {\n LiveChat: {\n title: 'Live chat',\n icon: 'chat-solid'\n },\n Twitter: {\n title: 'Twitter chat',\n icon: 'twitter'\n },\n Facebook: {\n title: 'Facebook messenger',\n icon: 'facebook'\n }\n }\n };\n\n const {\n participants,\n chatMessages: mockChatMessagesJson,\n transcripts,\n defaultAttachments,\n suggestedReplies\n }: {\n participants: any;\n chatMessages: any[];\n transcripts: [];\n defaultAttachments: any[];\n suggestedReplies: SuggestedReply[];\n } = ChatMockDataClone;\n\n const conversationRatingMessage: MessageListItemProps = {\n id: createUID(),\n variant: 'receiver',\n direction: 'in',\n type: 'message',\n message: (\n <Flex\n container={{\n direction: 'column',\n gap: 1\n }}\n >\n <TextArea\n placeholder='Please comment…'\n label='Please comment on our service performance and how we can better serve you. Thank you for your time.'\n />\n <Select label='Is the problem resolved?'>\n <Option>Yes</Option>\n <Option>No</Option>\n </Select>\n <Flex\n container={{\n justify: 'center'\n }}\n >\n <Button variant='primary'>Submit</Button>\n </Flex>\n </Flex>\n )\n };\n\n const mockChatMessages = useMemo(() => {\n return [\n ...mockChatMessagesJson.map(message => {\n const { messagePrivacy, ...restMessageData } = message;\n if (messagePrivacy) {\n restMessageData.messageHeader = {\n content: <span>{messagePrivacy}</span>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return restMessageData;\n }),\n conversationRatingMessage\n ];\n }, []);\n\n const conversationRef = useRef<MessageListImperativeHandleProps>(null);\n const timers = useRef<number[]>([]);\n\n useEffect(() => {\n return () => {\n timers.current.forEach(clearTimeout);\n };\n }, []);\n\n const [showSuggestedReplies, setShowSuggestedReplies] = useState(true);\n const [showTranscripts, setShowTranscripts] = useState(false);\n const [attachments, setAttachments] = useState<AttachmentItemProps[]>(defaultAttachments);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n const [chatMessages, setChatMessages] = useState<any[]>(\n args.simulateConversation ? mockChatMessages.slice(0, 0) : mockChatMessages\n );\n\n const onDeleteAttachment = useCallback(\n (name: string) => {\n setAttachments(prevAttachments => prevAttachments.filter(item => item.name !== name));\n },\n [setAttachments]\n );\n\n useEffect(() => {\n setAttachments(\n defaultAttachments.map((item: any) => {\n return {\n ...item,\n onDelete: onDeleteAttachment\n };\n })\n );\n }, [defaultAttachments]);\n\n const appendMessage = (message: any) => {\n const incrementUnreadMessageCount = conversationRef.current?.isScrolledToLatest();\n setChatMessages(prevChatMessages => {\n const newMockMessage: any = {\n ...message\n };\n newMockMessage.id = `m-${message.id ? message.id : prevChatMessages.length}`;\n if (\n !incrementUnreadMessageCount &&\n prevChatMessages.filter(({ id }) => id === NewMessageSeparatorId).length === 0\n ) {\n return [\n ...prevChatMessages,\n {\n id: NewMessageSeparatorId,\n type: 'system',\n message: 'New messages',\n variant: 'primary'\n },\n newMockMessage\n ];\n }\n return [...prevChatMessages, newMockMessage];\n });\n if (!incrementUnreadMessageCount) {\n setUnreadMessagesCount(prevCount => prevCount + 1);\n }\n };\n\n useEffect(() => {\n if (args.simulateConversation) {\n const timeOutId = setTimeout(() => {\n if (mockChatMessages.length) {\n appendMessage(mockChatMessages.shift());\n }\n }, 1500);\n return () => {\n clearTimeout(timeOutId);\n };\n }\n }, [chatMessages, args.simulateConversation]);\n\n const [openPopover, setOpenPopover] = useState(false);\n const [popoverRef, setPopoverRef] = useElement<HTMLElement>();\n const [buttonRef, setButtonRef] = useElement<HTMLElement>();\n const additionalInfo: {\n title: string;\n options: any;\n } = {\n title: 'Additional info',\n options: {\n LiveChat: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ],\n Twitter: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Twitter handle',\n value: '@Connor'\n },\n {\n id: '3',\n name: 'Followers',\n value: '13,556'\n }\n ],\n Facebook: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ]\n }\n };\n useOuterEvent('mousedown', [popoverRef, buttonRef], () => {\n if (openPopover) setOpenPopover(false);\n });\n\n const header = (\n <ChatHeader\n title={Channels.options[args.selectedChannel || 'LiveChat'].title}\n icon={Channels.options[args.selectedChannel || 'LiveChat'].icon}\n aria-label='Chat header'\n actions={\n <Flex>\n <Button\n variant='simple'\n onClick={() => setShowTranscripts(!showTranscripts)}\n aria-label='Show transcripts'\n >\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button\n variant='simple'\n icon\n aria-label='chat info'\n ref={setButtonRef}\n onClick={() => setOpenPopover(current => !current)}\n >\n <Icon name='information' />\n </Button>\n <Popover\n show={openPopover}\n target={buttonRef}\n ref={setPopoverRef}\n arrow\n placement='bottom-end'\n >\n <Flex container={{ direction: 'column', gap: 1, pad: 2 }}>\n <Text variant='h4'>{additionalInfo.title}</Text>\n <FieldValueList\n variant='inline'\n fields={additionalInfo.options[args.selectedChannel || 'LiveChat']}\n />\n </Flex>\n </Popover>\n <MenuButton\n text='More actions'\n icon='more'\n iconOnly\n variant='simple'\n portal\n menu={{\n items: [\n { primary: 'Transfer', id: 'transcript', onClick: action('Clicked Transfer') },\n { primary: 'End chat', id: 'endChat', onClick: action('Clicked End chat') }\n ]\n }}\n />\n </Flex>\n }\n />\n );\n\n const [showEarlierTranscripts, setShowEarlierTranscripts] = useState(false);\n\n const transcriptsContainerRef = useRef<HTMLDivElement>(null);\n\n useOuterEvent('mousedown', [transcriptsContainerRef], () => {\n setShowTranscripts(false);\n });\n\n const utilityComp = useMemo<ChatProps['utility'] | undefined>(() => {\n return showTranscripts ? (\n <div ref={transcriptsContainerRef}>\n {!showEarlierTranscripts && (\n <Flex\n container={{\n direction: 'column',\n alignItems: 'center',\n gap: 1\n }}\n >\n <Button\n icon\n aria-label='Show earlier transcripts'\n variant='secondary'\n onClick={() => {\n setShowEarlierTranscripts(!showEarlierTranscripts);\n }}\n >\n <Icon name='caret-up' />\n </Button>\n </Flex>\n )}\n {transcripts\n .sort((transcript: any) => transcript.earlierTranscripts)\n .filter((transcript: any) =>\n showEarlierTranscripts ? true : !transcript.earlierTranscripts\n )\n .map((transcript: any) => {\n const transcriptData: any = transcript.data.map(\n (message: {\n messagePrivacy: { privacy: string };\n transcriptHeader: { content: ReactElement; meta: JSX.Element };\n }) => {\n if (message.messagePrivacy) {\n message.transcriptHeader = {\n content: <Status variant='warn'>{message.messagePrivacy.privacy}</Status>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return message;\n }\n );\n\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcriptData}\n />\n );\n })}\n </div>\n ) : undefined;\n }, [showTranscripts, setShowTranscripts, showEarlierTranscripts, setShowEarlierTranscripts]);\n\n const chatBanner: BannerProps = {\n id: 'warning',\n messages: ['This is a public interaction and any responses will be public and visible'],\n heading: 'Warning',\n variant: 'warning'\n };\n const body = (\n <ChatBody>\n <MessageList\n unReadMessageCount={unreadMessagesCount}\n onScrollToButtonClick={() => {\n const newRandomMessageId = Math.random().toString(36).substr(2, 9);\n setChatMessages(prevChatMessages =>\n prevChatMessages.map(message => {\n if (message.id === NewMessageSeparatorId) {\n message.id = newRandomMessageId;\n }\n return message;\n })\n );\n const timeOutId: number = window.setTimeout(() => {\n setChatMessages(prevChatMessages =>\n prevChatMessages.filter(({ id }) => id !== newRandomMessageId)\n );\n timers.current = timers.current.filter(id => id !== timeOutId);\n }, 5000);\n timers.current.push(timeOutId);\n setUnreadMessagesCount(0);\n }}\n tabIndex={0}\n ref={conversationRef}\n messages={[\n ...chatMessages,\n {\n id: 'Pegasystems',\n type: 'typing',\n avatarInfo: {\n name: 'Pegasystems',\n imageSrc:\n 'https://www.pega.com/sites/default/files/media/images/2018-12/Pega.com-og.png'\n },\n message: args.message,\n ariaLabel: 'Pegasystems is typing'\n }\n ]}\n />\n </ChatBody>\n );\n\n const chatComposerImperativeHandleRef = useRef<ChatComposerImperativeHandleProps>(null);\n\n const [mountPopover, setMountPopover] = useState(false);\n const specialKeysConfig = {\n keys: ['//'],\n onSpecialKey: (e: SyntheticEvent<HTMLTextAreaElement>, key: string) => {\n action(`Event is ${e}`)();\n action(`Typed special key is ${key}`)();\n if (chatComposerImperativeHandleRef.current) {\n setMountPopover(!mountPopover);\n }\n }\n };\n\n const insertPhrasesMessage = (message: string) => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(message, 'specialKey');\n setMountPopover(false);\n }\n };\n\n useOuterEvent(\n 'mousedown',\n [chatComposerImperativeHandleRef?.current?.chatComposerRef?.current as Element],\n () => {\n setMountPopover(false);\n }\n );\n\n const footer = (\n <ChatComposer\n ref={chatComposerImperativeHandleRef}\n maxAttachments={args.maxAttachments}\n attachments={attachments}\n specialKeysConfig={specialKeysConfig}\n showEmoji\n disabled={args.disableChat}\n onAddAttachment={() => {\n setAttachments([\n ...attachments,\n {\n id: `${attachments.length} statement.pdf`,\n name: `${attachments.length} statement.pdf`,\n onDelete: onDeleteAttachment\n }\n ]);\n }}\n maxLength={args.maxLength}\n placeholder={args.placeholder}\n defaultMessage={args.defaultMessage}\n onSend={message => {\n action(`onAppendMessage: ${message}`)();\n appendMessage({\n ...participants.sender,\n type: 'message',\n message,\n timeStamp: '1:45 PM'\n });\n }}\n >\n <MenuButton text='Phrases' actions={[]} disabled={args.disableChat} />\n <MenuButton text='Page push' actions={[]} disabled={args.disableChat} />\n <Popover\n show={mountPopover}\n target={chatComposerImperativeHandleRef?.current?.textAreaRef?.current as Element}\n placement='top-start'\n >\n <Menu\n scrollAt={20}\n items={ChatMockData.phrasesDisplayNames.map((name, idx) => ({\n primary: name,\n id: idx.toString(),\n onClick: () => insertPhrasesMessage(ChatMockData.phrasesMessages[idx])\n }))}\n />\n </Popover>\n </ChatComposer>\n );\n\n const suggestedReplyPicker =\n suggestedReplies.length > 0 && showSuggestedReplies ? (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={(suggestedReply: SuggestedReply) => {\n chatComposerImperativeHandleRef.current?.appendToMessage(\n suggestedReply.message,\n 'cursor'\n );\n setShowSuggestedReplies(false);\n }}\n onDismiss={() => {\n setShowSuggestedReplies(false);\n }}\n />\n ) : undefined;\n const fetchGoogleSprite = () => {\n return 'https://unpkg.com/emoji-datasource-google@5.0.1/img/google/sheets-256/64.png';\n };\n\n return (\n <EmojiContext.Provider value={{ set: 'google', spriteSrcResolver: fetchGoogleSprite }}>\n <Flex\n container={{\n justify: 'center'\n }}\n style={{\n height: 'calc(100vh)',\n width: args.chatWidth || '30rem',\n margin: 'auto'\n }}\n >\n <Chat\n utility={utilityComp}\n header={header}\n banner={args.showChatBanner ? chatBanner : undefined}\n body={body}\n footer={footer}\n suggestedReplyPicker={suggestedReplyPicker}\n />\n </Flex>\n </EmojiContext.Provider>\n );\n};\n\nStandardChat.args = {\n maxAttachments: 2,\n selectedChannel: 'LiveChat',\n showChatBanner: true,\n disableChat: false,\n simulateConversation: false,\n message: '',\n placeholder: 'Enter message',\n defaultMessage:\n 'Greetings! Hope you are having a great time, Please reach out to us for any help, Thanks!',\n maxLength: 280\n};\n\nStandardChat.argTypes = {\n maxAttachments: { control: { type: 'number' } },\n selectedChannel: { options: ['LiveChat', 'Twitter', 'Facebook'], control: { type: 'select' } },\n showChatBanner: { control: { type: 'boolean' } },\n disableChat: { control: { type: 'boolean' } },\n simulateConversation: { control: { type: 'boolean' } },\n message: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n defaultMessage: { control: { type: 'text' } },\n maxLength: { control: { type: 'number' } }\n};\n\nStandardChat.parameters = {\n layout: 'fullscreen'\n};\n\n/** *************************** Standard Chat component - END ************************ */\n"]}
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
title: 'Social/Feed/FeedNewPost',
|
|
7
7
|
component: FeedNewPost
|
|
8
8
|
};
|
|
9
|
-
export const FeedNewPostDemo = ({ onPost, renderFeed = true }) => {
|
|
9
|
+
export const FeedNewPostDemo = ({ onPost = () => { }, renderFeed = true }) => {
|
|
10
10
|
const key = useUID();
|
|
11
11
|
const [searchResults, setSearchResults] = useState([]);
|
|
12
12
|
const [attachments, setAttachments] = useState([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedNewPost.stories.jsx","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAiB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,IAAI,EACJ,WAAW,EAIZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,eAAe;IACb,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,WAAW;CACf,CAAC;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"FeedNewPost.stories.jsx","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta } from '@storybook/react';\nimport { useState, useEffect } from 'react';\n\nimport { MenuItemProps, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedNewPost,\n FeedNewPostProps,\n RecipientOption,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { availableRecipients, caseMentions, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedNewPost',\n component: FeedNewPost\n} as Meta;\n\nexport const FeedNewPostDemo = ({\n onPost = () => {},\n renderFeed = true\n}: {\n onPost?: FeedNewPostProps['onPost'];\n renderFeed?: boolean;\n}) => {\n const key = useUID();\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n const [attachments, setAttachments] = useState<AttachedFiles[]>([]);\n const [filterValue, setFilterValue] = useState('');\n const [itemsToRender, setItemsToRender] = useState<RecipientOption[]>(availableRecipients);\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n if (file.size / 1000000 > 100) {\n file.meta = 'File size cannot exceed 100MB';\n file.error = true;\n }\n\n file.onDelete = () => {\n setAttachments(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setAttachments(current => [...current, ...files]);\n };\n\n useEffect(() => {\n // Synthetic delay to mimic async request\n const timeout = setTimeout(() => {\n const newItems = availableRecipients.filter(({ primary, secondary }) => {\n return (\n primary.toLowerCase().includes(filterValue) ||\n secondary.find(x => x.toLowerCase().includes(filterValue))\n );\n });\n\n setItemsToRender(newItems);\n }, 500);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [filterValue]);\n\n const newPost = (\n <FeedNewPost\n id={key}\n attachments={attachments}\n interactionInfo={{\n textAreaPlaceholder: 'Start a conversation',\n postLabel: 'Post'\n }}\n onFilesAdded={onFilesAdded}\n onPost={postEvent => {\n onPost?.(postEvent);\n setAttachments([]);\n postEvent.clear();\n }}\n recipients={itemsToRender}\n onRecipientSearch={(newSearch: string) => setFilterValue(newSearch)}\n />\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n newPostRegion={newPost}\n />\n ) : (\n newPost\n );\n};\n"]}
|
|
@@ -12,7 +12,7 @@ export const FeedPostDemo = ({ fullname = 'Katie Smith', username = 'katie_smith
|
|
|
12
12
|
const defaultContent = postAttachments
|
|
13
13
|
? ''
|
|
14
14
|
: 'This post mentions @deans:Seth DeAngelo:user: and also contains a tag! #cosmos:';
|
|
15
|
-
const defaultReplies =
|
|
15
|
+
const defaultReplies = Array.from(Array(12).keys(), index => {
|
|
16
16
|
return (<FeedReplyDemo key={`reply-story-${index + 1}`} fullname={fullname} content={`This is reply number ${index + 1}!`} renderFeed={false}/>);
|
|
17
17
|
});
|
|
18
18
|
const key = useUID();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedPost.stories.jsx","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n Avatar,\n CardContent,\n Link,\n MenuItemProps,\n Popover,\n SummaryListItem,\n Table,\n ColumnProps,\n useUID\n} from '@pega/cosmos-react-core';\nimport {\n HashtagButtonConfig,\n MentionButtonConfig,\n Feed,\n FeedPost,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { FeedReplyDemo } from './FeedReply.stories';\nimport {\n generatedLikes,\n caseMentions,\n userMentions,\n availableRecipients,\n FeedPostDemoProps\n} from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedPost',\n component: FeedPost\n} as Meta;\n\nexport const FeedPostDemo = ({\n fullname = 'Katie Smith',\n username = 'katie_smith',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n timeElapsed: time,\n userStatus,\n likes: userLikes,\n likeCount: userLikeCount,\n onDelete = () => {},\n renderFeed = true\n}: FeedPostDemoProps) => {\n const defaultContent = postAttachments\n ? ''\n : 'This post mentions @deans:Seth DeAngelo:user: and also contains a tag! #cosmos:';\n\n const defaultReplies = [...new Array(12).keys()].map(index => {\n return (\n <FeedReplyDemo\n key={`reply-story-${index + 1}`}\n fullname={fullname}\n content={`This is reply number ${index + 1}!`}\n renderFeed={false}\n />\n );\n });\n\n const key = useUID();\n const [postContent, setPostContent] = useState(content || defaultContent);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState<number>(\n userLikeCount || (renderFeed ? generatedLikes.length : 0)\n );\n const [recipientsList, setRecipientsList] = useState<MenuItemProps[]>([]);\n const [edited, setEdited] = useState(false);\n const [timeElapsed, setTimeElapsed] = useState(time || '4 days ago');\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n\n const [extraReplies, setExtraReplies] = useState<any[]>([]);\n const [replyAttachments, setReplyAttachments] = useState<AttachedFiles[]>([]);\n const [replyCount, setReplyCount] = useState<number>(\n replies ? replies.length : defaultReplies.length\n );\n const [repliesLoading, setRepliesLoading] = useState(false);\n const [repliesShown, setRepliesShown] = useState(3);\n\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n const [allRecipientsVisible, setAllRecipientsVisible] = useState(false);\n\n const onShowMoreReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(curr => {\n if (curr + 3 <= defaultReplies.length) return curr + 3;\n return defaultReplies.length;\n });\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onShowLessReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(3);\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setReplyAttachments?.(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setReplyAttachments(files);\n };\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(userLikes || (renderFeed ? generatedLikes : []));\n };\n\n const generateNewLike = () => {\n setTimeout(() => {\n setLikes(oldLikes => [\n ...oldLikes,\n {\n primary: 'Generated Like',\n secondary: ['This like was added after the onLoadMore callback triggered'],\n visual: <Avatar size='l' name='Generated Like' />,\n id: 'generatedLike'\n }\n ]);\n setAdditionalLikeAdded(true);\n }, 1000);\n };\n\n const getInitialRecipients = () => {\n if (recipientsList.length) return;\n\n setRecipientsList(\n recipients ||\n availableRecipients.slice(0, !allRecipientsVisible ? 10 : availableRecipients.length)\n );\n };\n\n const getAllRecipients = () => {\n setTimeout(() => {\n setAllRecipientsVisible(true);\n setRecipientsList(recipients || availableRecipients);\n }, 1000);\n };\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const post = (\n <>\n <FeedPost\n id={key}\n key={key}\n info={{\n fullname,\n username,\n timeElapsed,\n content: postContent,\n postType,\n recipients: recipientsList,\n recipientsCount: recipients ? recipients.length : availableRecipients.length,\n attachments: postAttachments,\n liked,\n postContext: renderFeed ? (\n <Link href='https://www.pega.com' target='_blank'>\n Pega\n </Link>\n ) : undefined,\n userStatus\n }}\n interactionInfo={{\n likeLabel: 'Like',\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n commentLabel: 'Comment'\n }}\n maxContentHeight={80}\n onLikeClick={({ user }) => {\n const userLikedIndex = likes.findIndex(x => x.id === user.id);\n if (userLikedIndex !== -1) {\n setLikes(oldLikes => {\n const oldLikesArr = [...oldLikes];\n oldLikesArr.splice(userLikedIndex, 1);\n return oldLikesArr;\n });\n setLikeCount(curr => curr - 1);\n } else {\n setLikes(oldLikes => [user, ...oldLikes]);\n setLikeCount(curr => curr + 1);\n }\n setLiked(curr => !curr);\n }}\n onLikeCountInteraction={getInitialLikes}\n onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n onRecipientInteraction={getInitialRecipients}\n onLoadMoreRecipients={!allRecipientsVisible ? getAllRecipients : undefined}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\n }}\n menuItems={[\n { primary: 'Custom action', id: 'custom', onClick: () => {} },\n { primary: 'Delete', id: 'delete', onClick: onDelete }\n ]}\n onEditSubmit={({ value }) => {\n setPostContent(value);\n setEdited(true);\n setTimeElapsed('Just now');\n }}\n edited={edited}\n replies={\n replies\n ? [...replies, ...extraReplies]\n : [...defaultReplies.slice(-repliesShown), ...extraReplies]\n }\n replyCount={replyCount}\n repliesLoading={repliesLoading}\n onShowMoreReplies={onShowMoreReplies}\n onShowLessReplies={repliesShown > 3 ? onShowLessReplies : undefined}\n replyInput={{\n commentLabel: 'Send Comment',\n attachments: replyAttachments,\n onFilesAdded,\n onSubmit: replyEvent => {\n setReplyAttachments([]);\n\n replyEvent.attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = () => {};\n file.onDownload = () => {};\n });\n\n setExtraReplies(oldReplies => [\n ...oldReplies,\n <FeedReplyDemo\n key={`replies-${oldReplies.length}`}\n fullname='Demo User'\n username='demo_user'\n content={replyEvent.value}\n attachments={replyEvent.attachments}\n timeElapsed='Just now'\n renderFeed={false}\n />\n ]);\n setReplyCount(oldReplyCount => oldReplyCount + 1);\n replyEvent.clear();\n },\n placeholder: 'Add a comment'\n }}\n />\n {popoverTarget && (\n <Popover show={popoverOpen} target={popoverTarget} placement='bottom' portal>\n <CardContent>{fullname}</CardContent>\n </Popover>\n )}\n </>\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[post]}\n />\n ) : (\n post\n );\n};\n\nexport const FeedPostWithPresence = () => {\n return <FeedPostDemo userStatus='active' />;\n};\n\nexport const FeedPostWithJSX = () => {\n const data = [\n {\n id: '123',\n name: 'Jane Smith',\n dob: '12/31/1990',\n address: 'Boston, MA',\n email: 'jsmith@email.com',\n balance: '$2,200'\n },\n {\n id: '456',\n name: 'Joe Smith',\n dob: '01/01/1980',\n address: '',\n email: 'joe.smith@email.com',\n balance: '$1,350'\n },\n {\n id: '789',\n name: 'Mirian Lou',\n dob: '02/29/1985',\n address: (\n <>\n <div>100 Main St.</div>\n <div>Cambridge, MA</div>\n </>\n ),\n email: '',\n balance: '$10'\n }\n ];\n\n const columns: ColumnProps<typeof data[number]>[] = [\n { renderer: 'name', label: 'Name' },\n { renderer: 'dob', label: 'Date of Birth' },\n { renderer: 'address', label: 'Address' },\n { renderer: 'email', label: 'Email' },\n { renderer: 'balance', label: 'Account Balance', align: 'right' }\n ];\n\n return (\n <Feed\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[<FeedPostDemo content={<Table columns={columns} data={data} />} replies={[]} />]}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FeedPost.stories.jsx","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,IAAI,EAEJ,OAAO,EAEP,KAAK,EAEL,MAAM,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EAET,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAEpB,MAAM,cAAc,CAAC;AAEtB,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,QAAQ;CACZ,CAAC;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,GAAG,aAAa,EACxB,QAAQ,GAAG,aAAa,EACxB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EAAE,eAAe,EAC5B,OAAO,EACP,WAAW,EAAE,IAAI,EACjB,UAAU,EACV,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,UAAU,GAAG,IAAI,EACC,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,eAAe;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iFAAiF,CAAC;IAEtF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;QAC1D,OAAO,CACL,CAAC,aAAa,CACZ,GAAG,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,EAAE,CAAC,CAChC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,wBAAwB,KAAK,GAAG,CAAC,GAAG,CAAC,CAC9C,UAAU,CAAC,CAAC,KAAK,CAAC,EAClB,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;IAC1E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,aAAa,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC;IAErE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAW,CAAC;IAE9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CACjD,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,eAAe,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,IAAI,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM;oBAAE,OAAO,IAAI,GAAG,CAAC,CAAC;gBACvD,OAAO,cAAc,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,eAAe,CAAC,CAAC,CAAC,CAAC;YACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,IAAI,EACJ,MAAM,EACN,WAAW,EAKZ,EAAE,EAAE;QACH,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,iBAAiB,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;YAE/E,MAAM,QAAQ,GAAoB,iBAAiB;iBAChD,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAY,EAAE,EAAE,CAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;YACJ,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC1C,OAAO;oBACL,EAAE;oBACF,OAAO;oBACP,SAAS;oBACT,MAAM;iBACP,CAAC;YACJ,CAAC,CAAC,CAAC;YACL,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAC5B;aAAM;YACL,gBAAgB,CACd,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;iBAC1B,MAAM,CAAC,GAAG,CAAC,EAAE;gBACZ,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;iBACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAC3C,CAAC;SACH;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE;QAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEpF,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE;gBACnB,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO;QAEzB,QAAQ,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,UAAU,CAAC,GAAG,EAAE;YACd,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnB,GAAG,QAAQ;gBACX;oBACE,OAAO,EAAE,gBAAgB;oBACzB,SAAS,EAAE,CAAC,6DAA6D,CAAC;oBAC1E,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAG;oBACjD,EAAE,EAAE,eAAe;iBACpB;aACF,CAAC,CAAC;YACH,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,cAAc,CAAC,MAAM;YAAE,OAAO;QAElC,iBAAiB,CACf,UAAU;YACR,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACxF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,UAAU,CAAC,GAAG,EAAE;YACd,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,iBAAiB,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC;QACvD,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAgC,EAAE,EAAE;QACpE,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,IAAI;gBAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAG,CAAC;SACxC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CACX,EACE;MAAA,CAAC,QAAQ,CACP,EAAE,CAAC,CAAC,GAAG,CAAC,CACR,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,IAAI,CAAC,CAAC;YACJ,QAAQ;YACR,QAAQ;YACR,WAAW;YACX,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,UAAU,EAAE,cAAc;YAC1B,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM;YAC5E,WAAW,EAAE,eAAe;YAC5B,KAAK;YACL,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CACxB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAC/C;;YACF,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,SAAS;YACb,UAAU;SACX,CAAC,CACF,eAAe,CAAC,CAAC;YACf,SAAS,EAAE,MAAM;YACjB,KAAK;YACL,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,YAAY,EAAE,SAAS;SACxB,CAAC,CACF,gBAAgB,CAAC,CAAC,EAAE,CAAC,CACrB,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACxB,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;gBACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAClB,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAClC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBACtC,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;aAChC;iBAAM;gBACL,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;aAChC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CACF,sBAAsB,CAAC,CAAC,eAAe,CAAC,CACxC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CACpE,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,CAC7C,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3E,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;YAC7B,IAAI,UAAU,EAAE;gBACd,gBAAgB,CAAC,UAAU,CAAC,MAAiB,CAAC,CAAC;gBAC/C,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CACF,SAAS,CAAC,CAAC;YACT,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;YAC7D,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;SACvD,CAAC,CACF,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,OAAO,CAAC,CACN,OAAO;YACL,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;YAC/B,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,CAC9D,CACD,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,iBAAiB,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CACpE,UAAU,CAAC,CAAC;YACV,YAAY,EAAE,cAAc;YAC5B,WAAW,EAAE,gBAAgB;YAC7B,YAAY;YACZ,QAAQ,EAAE,UAAU,CAAC,EAAE;gBACrB,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAExB,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACpC,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACrB,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,GAAG,UAAU;oBACb,CAAC,aAAa,CACZ,GAAG,CAAC,CAAC,WAAW,UAAU,CAAC,MAAM,EAAE,CAAC,CACpC,QAAQ,CAAC,WAAW,CACpB,QAAQ,CAAC,WAAW,CACpB,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAC1B,WAAW,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CACpC,WAAW,CAAC,UAAU,CACtB,UAAU,CAAC,CAAC,KAAK,CAAC,EAClB;iBACH,CAAC,CAAC;gBACH,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBAClD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,WAAW,EAAE,eAAe;SAC7B,CAAC,EAEJ;MAAA,CAAC,aAAa,IAAI,CAChB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAC1E;UAAA,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,CACtC;QAAA,EAAE,OAAO,CAAC,CACX,CACH;IAAA,GAAG,CACJ,CAAC;IAEF,OAAO,UAAU,CAAC,CAAC,CAAC,CAClB,CAAC,IAAI,CACH,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC9B,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAC5B,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CACjE,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAC3D,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACd,CACH,CAAC,CAAC,CAAC,CACF,IAAI,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAG,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,IAAI,GAAG;QACX;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,QAAQ;SAClB;QACD;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,QAAQ;SAClB;QACD;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,CACP,EACE;UAAA,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CACtB;UAAA,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CACzB;QAAA,GAAG,CACJ;YACD,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;SACf;KACF,CAAC;IAEF,MAAM,OAAO,GAAuC;QAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;QAC3C,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACzC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QACrC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;KAClE,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CACH,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAC3D,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC,EACzF,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Meta } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n Avatar,\n CardContent,\n Link,\n MenuItemProps,\n Popover,\n SummaryListItem,\n Table,\n ColumnProps,\n useUID\n} from '@pega/cosmos-react-core';\nimport {\n HashtagButtonConfig,\n MentionButtonConfig,\n Feed,\n FeedPost,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { FeedReplyDemo } from './FeedReply.stories';\nimport {\n generatedLikes,\n caseMentions,\n userMentions,\n availableRecipients,\n FeedPostDemoProps\n} from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedPost',\n component: FeedPost\n} as Meta;\n\nexport const FeedPostDemo = ({\n fullname = 'Katie Smith',\n username = 'katie_smith',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n timeElapsed: time,\n userStatus,\n likes: userLikes,\n likeCount: userLikeCount,\n onDelete = () => {},\n renderFeed = true\n}: FeedPostDemoProps) => {\n const defaultContent = postAttachments\n ? ''\n : 'This post mentions @deans:Seth DeAngelo:user: and also contains a tag! #cosmos:';\n\n const defaultReplies = Array.from(Array(12).keys(), index => {\n return (\n <FeedReplyDemo\n key={`reply-story-${index + 1}`}\n fullname={fullname}\n content={`This is reply number ${index + 1}!`}\n renderFeed={false}\n />\n );\n });\n\n const key = useUID();\n const [postContent, setPostContent] = useState(content || defaultContent);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState<number>(\n userLikeCount || (renderFeed ? generatedLikes.length : 0)\n );\n const [recipientsList, setRecipientsList] = useState<MenuItemProps[]>([]);\n const [edited, setEdited] = useState(false);\n const [timeElapsed, setTimeElapsed] = useState(time || '4 days ago');\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n\n const [extraReplies, setExtraReplies] = useState<any[]>([]);\n const [replyAttachments, setReplyAttachments] = useState<AttachedFiles[]>([]);\n const [replyCount, setReplyCount] = useState<number>(\n replies ? replies.length : defaultReplies.length\n );\n const [repliesLoading, setRepliesLoading] = useState(false);\n const [repliesShown, setRepliesShown] = useState(3);\n\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n const [allRecipientsVisible, setAllRecipientsVisible] = useState(false);\n\n const onShowMoreReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(curr => {\n if (curr + 3 <= defaultReplies.length) return curr + 3;\n return defaultReplies.length;\n });\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onShowLessReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(3);\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setReplyAttachments?.(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setReplyAttachments(files);\n };\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(userLikes || (renderFeed ? generatedLikes : []));\n };\n\n const generateNewLike = () => {\n setTimeout(() => {\n setLikes(oldLikes => [\n ...oldLikes,\n {\n primary: 'Generated Like',\n secondary: ['This like was added after the onLoadMore callback triggered'],\n visual: <Avatar size='l' name='Generated Like' />,\n id: 'generatedLike'\n }\n ]);\n setAdditionalLikeAdded(true);\n }, 1000);\n };\n\n const getInitialRecipients = () => {\n if (recipientsList.length) return;\n\n setRecipientsList(\n recipients ||\n availableRecipients.slice(0, !allRecipientsVisible ? 10 : availableRecipients.length)\n );\n };\n\n const getAllRecipients = () => {\n setTimeout(() => {\n setAllRecipientsVisible(true);\n setRecipientsList(recipients || availableRecipients);\n }, 1000);\n };\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const post = (\n <>\n <FeedPost\n id={key}\n key={key}\n info={{\n fullname,\n username,\n timeElapsed,\n content: postContent,\n postType,\n recipients: recipientsList,\n recipientsCount: recipients ? recipients.length : availableRecipients.length,\n attachments: postAttachments,\n liked,\n postContext: renderFeed ? (\n <Link href='https://www.pega.com' target='_blank'>\n Pega\n </Link>\n ) : undefined,\n userStatus\n }}\n interactionInfo={{\n likeLabel: 'Like',\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n commentLabel: 'Comment'\n }}\n maxContentHeight={80}\n onLikeClick={({ user }) => {\n const userLikedIndex = likes.findIndex(x => x.id === user.id);\n if (userLikedIndex !== -1) {\n setLikes(oldLikes => {\n const oldLikesArr = [...oldLikes];\n oldLikesArr.splice(userLikedIndex, 1);\n return oldLikesArr;\n });\n setLikeCount(curr => curr - 1);\n } else {\n setLikes(oldLikes => [user, ...oldLikes]);\n setLikeCount(curr => curr + 1);\n }\n setLiked(curr => !curr);\n }}\n onLikeCountInteraction={getInitialLikes}\n onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n onRecipientInteraction={getInitialRecipients}\n onLoadMoreRecipients={!allRecipientsVisible ? getAllRecipients : undefined}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\n }}\n menuItems={[\n { primary: 'Custom action', id: 'custom', onClick: () => {} },\n { primary: 'Delete', id: 'delete', onClick: onDelete }\n ]}\n onEditSubmit={({ value }) => {\n setPostContent(value);\n setEdited(true);\n setTimeElapsed('Just now');\n }}\n edited={edited}\n replies={\n replies\n ? [...replies, ...extraReplies]\n : [...defaultReplies.slice(-repliesShown), ...extraReplies]\n }\n replyCount={replyCount}\n repliesLoading={repliesLoading}\n onShowMoreReplies={onShowMoreReplies}\n onShowLessReplies={repliesShown > 3 ? onShowLessReplies : undefined}\n replyInput={{\n commentLabel: 'Send Comment',\n attachments: replyAttachments,\n onFilesAdded,\n onSubmit: replyEvent => {\n setReplyAttachments([]);\n\n replyEvent.attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = () => {};\n file.onDownload = () => {};\n });\n\n setExtraReplies(oldReplies => [\n ...oldReplies,\n <FeedReplyDemo\n key={`replies-${oldReplies.length}`}\n fullname='Demo User'\n username='demo_user'\n content={replyEvent.value}\n attachments={replyEvent.attachments}\n timeElapsed='Just now'\n renderFeed={false}\n />\n ]);\n setReplyCount(oldReplyCount => oldReplyCount + 1);\n replyEvent.clear();\n },\n placeholder: 'Add a comment'\n }}\n />\n {popoverTarget && (\n <Popover show={popoverOpen} target={popoverTarget} placement='bottom' portal>\n <CardContent>{fullname}</CardContent>\n </Popover>\n )}\n </>\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[post]}\n />\n ) : (\n post\n );\n};\n\nexport const FeedPostWithPresence = () => {\n return <FeedPostDemo userStatus='active' />;\n};\n\nexport const FeedPostWithJSX = () => {\n const data = [\n {\n id: '123',\n name: 'Jane Smith',\n dob: '12/31/1990',\n address: 'Boston, MA',\n email: 'jsmith@email.com',\n balance: '$2,200'\n },\n {\n id: '456',\n name: 'Joe Smith',\n dob: '01/01/1980',\n address: '',\n email: 'joe.smith@email.com',\n balance: '$1,350'\n },\n {\n id: '789',\n name: 'Mirian Lou',\n dob: '02/29/1985',\n address: (\n <>\n <div>100 Main St.</div>\n <div>Cambridge, MA</div>\n </>\n ),\n email: '',\n balance: '$10'\n }\n ];\n\n const columns: ColumnProps<typeof data[number]>[] = [\n { renderer: 'name', label: 'Name' },\n { renderer: 'dob', label: 'Date of Birth' },\n { renderer: 'address', label: 'Address' },\n { renderer: 'email', label: 'Email' },\n { renderer: 'balance', label: 'Account Balance', align: 'right' }\n ];\n\n return (\n <Feed\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[<FeedPostDemo content={<Table columns={columns} data={data} />} replies={[]} />]}\n />\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppAnnouncement.stories.d.ts","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAEhF,wBAGU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"AppAnnouncement.stories.d.ts","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAEhF,wBAGU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAmB3D,CAAC"}
|
|
@@ -7,23 +7,22 @@ export default {
|
|
|
7
7
|
};
|
|
8
8
|
export const AppAnnouncementDemo = (args) => {
|
|
9
9
|
const { push } = useContext(ToasterContext);
|
|
10
|
-
|
|
10
|
+
const details = [
|
|
11
|
+
'New React based UI rendering',
|
|
12
|
+
'Streamlined components for all business needs',
|
|
13
|
+
'Other improvements'
|
|
14
|
+
];
|
|
15
|
+
return (<AppAnnouncement heading={args.heading} description={args.description} details={details} whatsNewLink={args.whatsNewLink} image={args.image} onDismiss={() => push({ content: 'Dismissed AppAnnouncement' })}/>);
|
|
11
16
|
};
|
|
12
17
|
AppAnnouncementDemo.args = {
|
|
13
18
|
heading: 'Pega Cosmos Design System',
|
|
14
19
|
description: 'We have launched a brand new experience to accelerate your workflow!',
|
|
15
|
-
details: [
|
|
16
|
-
'New React based UI rendering',
|
|
17
|
-
'Streamlined components for all business needs',
|
|
18
|
-
'Other improvements'
|
|
19
|
-
],
|
|
20
20
|
whatsNewLink: 'https://www.pega.com',
|
|
21
21
|
image: 'https://www.pega.com/sites/default/files/styles/2560/public/media/images/2019-01/pega-logo_0.png'
|
|
22
22
|
};
|
|
23
23
|
AppAnnouncementDemo.argTypes = {
|
|
24
24
|
heading: { control: { type: 'text' } },
|
|
25
25
|
description: { control: { type: 'text' } },
|
|
26
|
-
details: { control: { type: 'object' } },
|
|
27
26
|
whatsNewLink: { control: { type: 'text' } },
|
|
28
27
|
image: { control: { type: 'text' } }
|
|
29
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppAnnouncement.stories.jsx","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;CACnB,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE5C,OAAO,CACL,CAAC,eAAe,CACd,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CACtB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"AppAnnouncement.stories.jsx","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;CACnB,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,8BAA8B;QAC9B,+CAA+C;QAC/C,oBAAoB;KACrB,CAAC;IAEF,OAAO,CACL,CAAC,eAAe,CACd,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CACtB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAChC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,EAChE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,OAAO,EAAE,2BAA2B;IACpC,WAAW,EAAE,sEAAsE;IACnF,YAAY,EAAE,sBAAsB;IACpC,KAAK,EACH,kGAAkG;CACrG,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACtC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC1C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;CACrC,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useContext } from 'react';\n\nimport { ToasterContext } from '@pega/cosmos-react-core';\nimport { AppAnnouncement, AppAnnouncementProps } from '@pega/cosmos-react-work';\n\nexport default {\n title: 'Work/AppAnnouncement',\n component: AppAnnouncement\n} as Meta;\n\nexport const AppAnnouncementDemo: Story<AppAnnouncementProps> = (args: AppAnnouncementProps) => {\n const { push } = useContext(ToasterContext);\n\n const details = [\n 'New React based UI rendering',\n 'Streamlined components for all business needs',\n 'Other improvements'\n ];\n\n return (\n <AppAnnouncement\n heading={args.heading}\n description={args.description}\n details={details}\n whatsNewLink={args.whatsNewLink}\n image={args.image}\n onDismiss={() => push({ content: 'Dismissed AppAnnouncement' })}\n />\n );\n};\n\nAppAnnouncementDemo.args = {\n heading: 'Pega Cosmos Design System',\n description: 'We have launched a brand new experience to accelerate your workflow!',\n whatsNewLink: 'https://www.pega.com',\n image:\n 'https://www.pega.com/sites/default/files/styles/2560/public/media/images/2019-01/pega-logo_0.png'\n};\n\nAppAnnouncementDemo.argTypes = {\n heading: { control: { type: 'text' } },\n description: { control: { type: 'text' } },\n whatsNewLink: { control: { type: 'text' } },\n image: { control: { type: 'text' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,iBAAiB,EAGjB,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,iBAAiB,EAGjB,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,mBAAmB,EAKpB,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,UAAU,CAAC,EACzD,mBAAmB;IACrB,IAAI,EAAE,IAAI,CAAC;CACZ;AAKD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3D,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC5D;AAKD,eAAO,MAAM,kBAAkB,kDAM7B,CAAC;AAuDH,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,EAMzF,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,QAAQ,0BAA0B,EAAE,CA+BhF,CAAC;AAKF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CA2FxD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createContext, useState, useCallback, useMemo } from 'react';
|
|
2
|
-
import { createUID, hasProp, useAfterInitialEffect } from '@pega/cosmos-react-core';
|
|
2
|
+
import { createUID, getKindFromMimeType, getMimeTypeFromFile, hasProp, useAfterInitialEffect } from '@pega/cosmos-react-core';
|
|
3
3
|
export const FileServiceContext = createContext({
|
|
4
4
|
files: [],
|
|
5
5
|
setFiles: () => { },
|
|
@@ -77,7 +77,11 @@ const Provider = ({ children }) => {
|
|
|
77
77
|
const attachFile = useCallback((file) => {
|
|
78
78
|
if (files.some(f => f.id === file.id))
|
|
79
79
|
return;
|
|
80
|
-
|
|
80
|
+
const type = getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '');
|
|
81
|
+
if (type === 'image' && file.thumbnail)
|
|
82
|
+
setFiles(current => [file, ...current]);
|
|
83
|
+
else
|
|
84
|
+
setFiles(current => [...current, file]);
|
|
81
85
|
}, [files]);
|
|
82
86
|
const cancelFile = useCallback((id) => {
|
|
83
87
|
if (uploadsInProgress[id]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n ReactNode,\n useState,\n FunctionComponent,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction\n} from 'react';\n\nimport {\n createUID,\n FileUploadItemProps,\n hasProp,\n useAfterInitialEffect\n} from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n FileUploadItemProps {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n setFiles(current => [file, ...current]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
|
|
1
|
+
{"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n ReactNode,\n useState,\n FunctionComponent,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction\n} from 'react';\n\nimport {\n createUID,\n FileUploadItemProps,\n getKindFromMimeType,\n getMimeTypeFromFile,\n hasProp,\n useAfterInitialEffect\n} from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n FileUploadItemProps {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n\n const type = getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '');\n if (type === 'image' && file.thumbnail) setFiles(current => [file, ...current]);\n else setFiles(current => [...current, file]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
|
|
@@ -3,7 +3,7 @@ import { ConfirmationProps } from '@pega/cosmos-react-work';
|
|
|
3
3
|
declare const _default: Meta<import("@storybook/react").Args>;
|
|
4
4
|
export default _default;
|
|
5
5
|
interface ConfirmationStoryProps {
|
|
6
|
-
title
|
|
6
|
+
title: ConfirmationProps['title'];
|
|
7
7
|
}
|
|
8
8
|
export declare const ConfirmationDemo: Story<ConfirmationStoryProps>;
|
|
9
9
|
//# sourceMappingURL=Confirmation.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Confirmation.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Confirmation/Confirmation.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Confirmation.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Confirmation/Confirmation.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAgB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;;AAM1E,wBAGU;AAEV,UAAU,sBAAsB;IAC9B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CAuB1D,CAAC"}
|