@pega/cosmos-react-demos 5.0.0-dev.9.2 → 6.0.0
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/SECURITY.md +11 -0
- package/jsx/core/AdditionalInfo/AdditionalInfo.stories.d.ts +2 -2
- package/jsx/core/AdditionalInfo/AdditionalInfo.stories.d.ts.map +1 -1
- package/jsx/core/AdditionalInfo/AdditionalInfo.stories.jsx +1 -1
- package/jsx/core/AdditionalInfo/AdditionalInfo.stories.jsx.map +1 -1
- package/jsx/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/jsx/core/Checkbox/Checkbox.stories.jsx +0 -3
- package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx +0 -8
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx.map +1 -1
- package/jsx/core/ColorPicker/ColorPicker.stories.d.ts.map +1 -1
- package/jsx/core/ColorPicker/ColorPicker.stories.jsx +0 -1
- package/jsx/core/ColorPicker/ColorPicker.stories.jsx.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.jsx +0 -6
- package/jsx/core/ComboBox/ComboBox.stories.jsx.map +1 -1
- package/jsx/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -1
- package/jsx/core/CompositeInput/CompositeInput.stories.jsx +1 -3
- package/jsx/core/CompositeInput/CompositeInput.stories.jsx.map +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.d.ts.map +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx +0 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -1
- package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
- package/jsx/core/Currency/Currency.stories.jsx +0 -1
- package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.jsx +0 -10
- package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx +10 -5
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx.map +1 -1
- package/jsx/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
- package/jsx/core/FieldGroup/FieldGroup.stories.jsx +6 -2
- package/jsx/core/FieldGroup/FieldGroup.stories.jsx.map +1 -1
- package/jsx/core/File/FileInput.stories.d.ts.map +1 -1
- package/jsx/core/File/FileInput.stories.jsx +0 -1
- package/jsx/core/File/FileInput.stories.jsx.map +1 -1
- package/jsx/core/Input/Input.stories.d.ts.map +1 -1
- package/jsx/core/Input/Input.stories.jsx +0 -1
- package/jsx/core/Input/Input.stories.jsx.map +1 -1
- package/jsx/core/Lightbox/Lightbox.mocks.d.ts +15 -8
- package/jsx/core/Lightbox/Lightbox.mocks.d.ts.map +1 -1
- package/jsx/core/Lightbox/Lightbox.mocks.js +62 -24
- package/jsx/core/Lightbox/Lightbox.mocks.js.map +1 -1
- package/jsx/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
- package/jsx/core/Lightbox/Lightbox.stories.jsx +37 -22
- package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.mocks.jsx +13 -21
- package/jsx/core/ListToolbar/ListToolbar.mocks.jsx.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.d.ts +7 -2
- package/jsx/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx +30 -10
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
- package/jsx/core/Location/Location.stories.d.ts.map +1 -1
- package/jsx/core/Location/Location.stories.jsx +0 -1
- package/jsx/core/Location/Location.stories.jsx.map +1 -1
- package/jsx/core/Number/Number.stories.d.ts.map +1 -1
- package/jsx/core/Number/Number.stories.jsx +6 -2
- package/jsx/core/Number/Number.stories.jsx.map +1 -1
- package/jsx/core/Phone/Phone.stories.d.ts.map +1 -1
- package/jsx/core/Phone/Phone.stories.jsx +0 -1
- package/jsx/core/Phone/Phone.stories.jsx.map +1 -1
- package/jsx/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
- package/jsx/core/RadioButton/RadioButton.stories.jsx +0 -3
- package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +3 -0
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx +2 -10
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx.map +1 -1
- package/jsx/core/Select/Select.stories.d.ts.map +1 -1
- package/jsx/core/Select/Select.stories.jsx +0 -1
- package/jsx/core/Select/Select.stories.jsx.map +1 -1
- package/jsx/core/Slider/Slider.stories.d.ts.map +1 -1
- package/jsx/core/Slider/Slider.stories.jsx +0 -1
- package/jsx/core/Slider/Slider.stories.jsx.map +1 -1
- package/jsx/core/TextArea/TextArea.stories.d.ts.map +1 -1
- package/jsx/core/TextArea/TextArea.stories.jsx +0 -1
- package/jsx/core/TextArea/TextArea.stories.jsx.map +1 -1
- package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
- package/jsx/rte/Editor/Editor.stories.jsx +14 -2
- package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts +1 -0
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +67 -4
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts +8 -3
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +67 -12
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
- package/jsx/social/Chat/Chat.mocks.d.ts +5 -17
- package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.mocks.js +44 -21
- package/jsx/social/Chat/Chat.mocks.js.map +1 -1
- package/jsx/social/Chat/Chat.stories.d.ts +2 -0
- package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +92 -39
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
- package/jsx/social/Feed/Feed.stories.jsx +2 -0
- package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
- package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts +2 -0
- package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -1
- package/jsx/work/ArticleList/ArticleBuddy.stories.jsx +40 -14
- package/jsx/work/ArticleList/ArticleBuddy.stories.jsx.map +1 -1
- package/jsx/work/ArticleList/ArticleList.mocks.d.ts +66 -3
- package/jsx/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
- package/jsx/work/ArticleList/ArticleList.mocks.js +15 -25
- package/jsx/work/ArticleList/ArticleList.mocks.js.map +1 -1
- package/jsx/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
- package/jsx/work/ArticleList/ArticleList.stories.jsx +41 -20
- package/jsx/work/ArticleList/ArticleList.stories.jsx.map +1 -1
- package/jsx/work/Assignments/Assignments.stories.jsx +2 -2
- package/jsx/work/Assignments/Assignments.stories.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.d.ts +6 -2
- package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.jsx +64 -30
- package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
- package/jsx/work/Details/Details.stories.d.ts.map +1 -1
- package/jsx/work/Details/Details.stories.jsx +0 -1
- package/jsx/work/Details/Details.stories.jsx.map +1 -1
- package/jsx/work/Stakeholders/Stakeholders.stories.d.ts +4 -1
- package/jsx/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
- package/jsx/work/Stakeholders/Stakeholders.stories.jsx +14 -6
- package/jsx/work/Stakeholders/Stakeholders.stories.jsx.map +1 -1
- package/lib/core/AdditionalInfo/AdditionalInfo.stories.d.ts +2 -2
- package/lib/core/AdditionalInfo/AdditionalInfo.stories.d.ts.map +1 -1
- package/lib/core/AdditionalInfo/AdditionalInfo.stories.js +1 -1
- package/lib/core/AdditionalInfo/AdditionalInfo.stories.js.map +1 -1
- package/lib/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/lib/core/Checkbox/Checkbox.stories.js +0 -3
- package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.js +0 -8
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
- package/lib/core/ColorPicker/ColorPicker.stories.d.ts.map +1 -1
- package/lib/core/ColorPicker/ColorPicker.stories.js +0 -1
- package/lib/core/ColorPicker/ColorPicker.stories.js.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.js +0 -6
- package/lib/core/ComboBox/ComboBox.stories.js.map +1 -1
- package/lib/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -1
- package/lib/core/CompositeInput/CompositeInput.stories.js +1 -3
- package/lib/core/CompositeInput/CompositeInput.stories.js.map +1 -1
- package/lib/core/CreditCard/CreditCard.stories.d.ts.map +1 -1
- package/lib/core/CreditCard/CreditCard.stories.js +0 -1
- package/lib/core/CreditCard/CreditCard.stories.js.map +1 -1
- package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
- package/lib/core/Currency/Currency.stories.js +0 -1
- package/lib/core/Currency/Currency.stories.js.map +1 -1
- package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTime.stories.js +0 -10
- package/lib/core/DateTime/DateTime.stories.js.map +1 -1
- package/lib/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTimeDisplay.stories.js +10 -5
- package/lib/core/DateTime/DateTimeDisplay.stories.js.map +1 -1
- package/lib/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
- package/lib/core/FieldGroup/FieldGroup.stories.js +6 -2
- package/lib/core/FieldGroup/FieldGroup.stories.js.map +1 -1
- package/lib/core/File/FileInput.stories.d.ts.map +1 -1
- package/lib/core/File/FileInput.stories.js +0 -1
- package/lib/core/File/FileInput.stories.js.map +1 -1
- package/lib/core/Input/Input.stories.d.ts.map +1 -1
- package/lib/core/Input/Input.stories.js +0 -1
- package/lib/core/Input/Input.stories.js.map +1 -1
- package/lib/core/Lightbox/Lightbox.mocks.d.ts +15 -8
- package/lib/core/Lightbox/Lightbox.mocks.d.ts.map +1 -1
- package/lib/core/Lightbox/Lightbox.mocks.js +64 -24
- package/lib/core/Lightbox/Lightbox.mocks.js.map +1 -1
- package/lib/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
- package/lib/core/Lightbox/Lightbox.stories.js +36 -21
- package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.mocks.js +7 -13
- package/lib/core/ListToolbar/ListToolbar.mocks.js.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.d.ts +7 -2
- package/lib/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.js +30 -10
- package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
- package/lib/core/Location/Location.stories.d.ts.map +1 -1
- package/lib/core/Location/Location.stories.js +0 -1
- package/lib/core/Location/Location.stories.js.map +1 -1
- package/lib/core/Number/Number.stories.d.ts.map +1 -1
- package/lib/core/Number/Number.stories.js +6 -2
- package/lib/core/Number/Number.stories.js.map +1 -1
- package/lib/core/Phone/Phone.stories.d.ts.map +1 -1
- package/lib/core/Phone/Phone.stories.js +0 -1
- package/lib/core/Phone/Phone.stories.js.map +1 -1
- package/lib/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
- package/lib/core/RadioButton/RadioButton.stories.js +0 -3
- package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +3 -0
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +2 -10
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
- package/lib/core/Select/Select.stories.d.ts.map +1 -1
- package/lib/core/Select/Select.stories.js +0 -1
- package/lib/core/Select/Select.stories.js.map +1 -1
- package/lib/core/Slider/Slider.stories.d.ts.map +1 -1
- package/lib/core/Slider/Slider.stories.js +0 -1
- package/lib/core/Slider/Slider.stories.js.map +1 -1
- package/lib/core/TextArea/TextArea.stories.d.ts.map +1 -1
- package/lib/core/TextArea/TextArea.stories.js +0 -1
- package/lib/core/TextArea/TextArea.stories.js.map +1 -1
- package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
- package/lib/rte/Editor/Editor.stories.js +8 -2
- package/lib/rte/Editor/Editor.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts +1 -0
- package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js +37 -5
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts +8 -3
- package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js +66 -11
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
- package/lib/social/Chat/Chat.mocks.d.ts +5 -17
- package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/lib/social/Chat/Chat.mocks.js +44 -21
- package/lib/social/Chat/Chat.mocks.js.map +1 -1
- package/lib/social/Chat/Chat.stories.d.ts +2 -0
- package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
- package/lib/social/Chat/Chat.stories.js +93 -35
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
- package/lib/social/Feed/Feed.stories.js +2 -0
- package/lib/social/Feed/Feed.stories.js.map +1 -1
- package/lib/work/ArticleList/ArticleBuddy.stories.d.ts +2 -0
- package/lib/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -1
- package/lib/work/ArticleList/ArticleBuddy.stories.js +38 -14
- package/lib/work/ArticleList/ArticleBuddy.stories.js.map +1 -1
- package/lib/work/ArticleList/ArticleList.mocks.d.ts +66 -3
- package/lib/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
- package/lib/work/ArticleList/ArticleList.mocks.js +15 -25
- package/lib/work/ArticleList/ArticleList.mocks.js.map +1 -1
- package/lib/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
- package/lib/work/ArticleList/ArticleList.stories.js +41 -20
- package/lib/work/ArticleList/ArticleList.stories.js.map +1 -1
- package/lib/work/Assignments/Assignments.stories.js +2 -2
- package/lib/work/Assignments/Assignments.stories.js.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.d.ts +6 -2
- package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.js +55 -22
- package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
- package/lib/work/Details/Details.stories.d.ts.map +1 -1
- package/lib/work/Details/Details.stories.js +0 -1
- package/lib/work/Details/Details.stories.js.map +1 -1
- package/lib/work/Stakeholders/Stakeholders.stories.d.ts +4 -1
- package/lib/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
- package/lib/work/Stakeholders/Stakeholders.stories.js +14 -6
- package/lib/work/Stakeholders/Stakeholders.stories.js.map +1 -1
- package/package.json +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseView.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState } from 'react';\nimport type { Dispatch, MouseEvent, ReactNode, SetStateAction } from 'react';\nimport createDOMPurify from 'dompurify';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Link,\n createStringMatcher,\n Modal,\n SummaryList,\n useModalManager,\n useElement,\n ViewAll,\n Status,\n Flex,\n Grid,\n registerIcon,\n Banner,\n createUID,\n useBreakpoint,\n Avatar,\n Tabs,\n TabPanel,\n Card,\n CardHeader,\n Text\n} from '@pega/cosmos-react-core';\nimport type { SummaryListProps } from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport { Glimpse, CaseView, CasePreview, UtilitySummaryItemDialog } from '@pega/cosmos-react-work';\nimport type { CaseViewProps } from '@pega/cosmos-react-work';\nimport { RichTextViewer } from '@pega/cosmos-react-rte';\nimport type { TokenMap } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport type { FeedProps } from '@pega/cosmos-react-social';\n\nimport { PredictionsDemo } from '../Predictions/Predictions.stories';\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { AssignmentsDemo } from '../Assignments/Assignments.stories';\n\nimport { PulseMock } from './Pulse.mocks';\nimport { Details } from './Details.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\n\nregisterIcon(userSolidIcon);\n\nconst DOMPurify = createDOMPurify();\n\nexport interface CaseViewMockProps {\n caseId: CaseViewProps['caseId'];\n heading: CaseViewProps['heading'];\n subheading?: CaseViewProps['subheading'];\n parentCases?: boolean;\n summaryFields?: 'All' | 'Primary only' | 'Secondary only';\n tabs?: CaseViewProps['tabs'];\n stages?: boolean;\n tasks?: boolean | CaseViewProps['tasks'];\n taskCount?: number;\n predictions?: boolean;\n attachments?: boolean;\n stakeholders?: boolean;\n followers?: boolean;\n tags?: boolean;\n persistentUtility?: boolean | CaseViewProps['persistentUtility'];\n intelligentGuidance?: CaseViewProps['intelligentGuidance'];\n banner?: boolean;\n utilitiesExpanded?: boolean;\n promotedActions?: 0 | 1 | 2 | 3 | 4 | 5;\n headingLength?: 'short' | 'medium' | 'long';\n defaultExpanded?: boolean;\n}\n\ninterface PreviewSetters {\n setPreviewCaseId: Dispatch<SetStateAction<string | null>>;\n setPreviewCurrentTabId: Dispatch<SetStateAction<string>>;\n}\n\nconst StyledRSWrapper = styled.div(\n ({ theme }) => css`\n display: grid;\n place-items: center;\n border: 0.1875rem dashed ${theme.base.palette['border-line']};\n min-height: 6rem;\n height: var(--content-height-in-view);\n border-radius: calc(${theme.components.card['border-radius']});\n `\n);\n\n// This is a mini mock of the Constellation table component aka Repeating Structures\nconst RSTable = () => {\n return (\n <article style={{ display: 'block' }}>\n <StyledRSWrapper className='rs-wrapper'>\n <Text variant='secondary'>Table goes here</Text>\n </StyledRSWrapper>\n </article>\n );\n};\n\nconst TableSizingTabs = ({ tabCount = 3 }: { tabCount?: number }) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n\n const tabs = [\n { name: 'Tab 1', id: '1' },\n { name: 'Tab 2', id: '2' },\n { name: 'Tab 3', id: '3' }\n ].slice(0, tabCount);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Tabs\n tabs={tabs}\n type='horizontal'\n onTabClick={id => {\n setCurrentTabId(id);\n }}\n currentTabId={currentTabId}\n />\n {tabs.map(tab => (\n <TabPanel tabId={tab.id} currentTabId={currentTabId} key={tab.id}>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {(() => {\n switch (tab.id) {\n case '1':\n return <RSTable />;\n\n case '2':\n return (\n <>\n <RSTable />\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n </>\n );\n\n case '3':\n return <TableSizingTabs tabCount={2} />;\n\n default:\n return null;\n }\n })()}\n </Flex>\n </TabPanel>\n ))}\n </Flex>\n );\n};\n\nexport const caseId = 'C-123456';\n\nexport const createDate = new Date(2016, 1, 8);\nconst msInYear = 1000 * 60 * 60 * 24 * 365;\nconst diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\nexport const tabLabels = ['Details', 'Pulse', 'Single table', 'Sub tab table', 'Multiple tables'];\n\nexport const baseCaseTabs = tabLabels.map((name): Tab => {\n return {\n name,\n id: name\n };\n});\n\nconst singularize = (s = '') => s.replace(/s$/i, '').toLowerCase();\n\nexport const MockSummaryListViewAllModal = ({ name, count }: any) => {\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n {\n count\n }\n );\n\n const onSearchChange = (value: string) => {\n setSearch(value.trim());\n };\n\n const itemsToRender = useMemo(() => {\n if (search) {\n const regEx = createStringMatcher(search, 'boundary');\n return items.filter(({ primary, id }) => regEx.test(primary) || regEx.test(id));\n }\n\n return items;\n }, [items, search]);\n\n return (\n <Modal heading={name}>\n <ViewAll\n loading={loading}\n items={itemsToRender}\n actions={[\n {\n id: 'addNew',\n text: `Add ${singularize(name)}`\n }\n ]}\n searchInputProps={{ onSearchChange }}\n />\n </Modal>\n );\n};\n\nexport const MockSummaryList = ({\n icon,\n name,\n actions,\n limit\n}: Pick<SummaryListProps, 'icon' | 'name'> & { actions?: null; limit?: number }) => {\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const count = 50;\n\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n { count: limit }\n );\n\n return (\n <SummaryList\n loading={loading}\n items={items}\n icon={icon}\n name={name}\n headingTag='h3'\n count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: 'Add',\n id: `${name}:addNew`,\n icon: 'plus',\n onClick() {\n createModal(() => {\n const singularName = singularize(name);\n return (\n <Modal heading={`Add new ${singularName}`}>\n {`Content for adding a new ${singularName} goes here…`}\n </Modal>\n );\n });\n }\n }\n ]\n : undefined\n }\n onViewAll={() => {\n createModal(MockSummaryListViewAllModal, {\n name,\n count\n });\n }}\n />\n );\n};\n\nexport const MockOperatorFieldValue = () => {\n const [target, setTarget] = useElement<HTMLButtonElement>(null);\n\n return (\n <>\n <Button\n variant='link'\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n setTarget(e.currentTarget);\n }}\n >\n constellation@pega.com\n </Button>\n {target && (\n <Glimpse\n id='constellation'\n target={target}\n onDismiss={() => setTarget(null)}\n heading={{\n primary: 'Constellation Operator',\n secondary: 'Director of the stars',\n visual: <Avatar name='Constellation Operator' />\n }}\n fields={[\n {\n id: '1',\n name: 'Department',\n value: 'Space Travel'\n },\n {\n id: '2',\n name: 'Manager',\n value: 'Captain Galaxy'\n },\n {\n id: '3',\n name: 'Location',\n value: 'A galaxy far away'\n },\n {\n id: '4',\n name: 'Email',\n value: <Link href='mailto:constellation@pega.com'>constellation@pega.com</Link>\n },\n {\n id: '5',\n name: 'Telephone',\n value: <Link href='tel:555-123-4567'>555-123-4567</Link>\n }\n ]}\n onViewProfile={() => {}}\n />\n )}\n </>\n );\n};\n\nexport const PreviewLinkComponent = ({\n token: linkToken,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: { token: TokenMap['link'] } & PreviewSetters) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreviewCaseId(linkToken.href);\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n};\n\nexport const getPulseMarkdownMap = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters): FeedProps['markdownMap'] => {\n return {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) {\n return () => (\n <PreviewLinkComponent\n token={linkToken}\n setPreviewCaseId={setPreviewCaseId}\n setPreviewCurrentTabId={setPreviewCurrentTabId}\n />\n );\n }\n }\n };\n};\n\nexport const onMentionPreview = ({\n id,\n type,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n id: string;\n type: string;\n} & PreviewSetters) => {\n if (type === 'case') {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n};\n\nexport const getTabContent = ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: (\n <PulseMock\n markdownMap={getPulseMarkdownMap({ setPreviewCaseId, setPreviewCurrentTabId })}\n onMentionPreview={({ id, type }) => {\n onMentionPreview({ id, type, setPreviewCaseId, setPreviewCurrentTabId });\n }}\n />\n )\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n};\n\nexport const previewTabContent = [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n];\n\nexport const getPrimaryFields = () => {\n return [\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Member ID',\n value: 'M205435569FD1234567890'\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n};\n\nconst baseSecondaryFields: CaseViewProps['summaryFields']['secondary'] = [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Description',\n value: (\n <RichTextViewer\n content='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>'\n type='html'\n />\n ),\n simpleValue: DOMPurify.sanitize(\n '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>',\n {\n ALLOWED_TAGS: [],\n ALLOWED_ATTR: [],\n KEEP_CONTENT: true\n }\n ),\n variant: 'stacked'\n }\n];\n\nexport const getSecondaryFields = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters) => {\n return [\n ...baseSecondaryFields,\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable case',\n value: (\n <Link\n href='/cases/C-456'\n previewable\n onPreview={() => {\n setPreviewCaseId('C-456');\n setPreviewCurrentTabId('summary-C-456');\n }}\n >\n Previewable Case - C-456\n </Link>\n )\n }\n ];\n};\n\nexport const casePreviewPrimaryFields = [\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n];\n\nexport const casePreviewSecondaryFields = baseSecondaryFields;\n\nexport const getParentCases = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n caseId: CaseViewProps['caseId'];\n} & PreviewSetters) => {\n let ids: number[] = [];\n\n /** random-ish number from 100000 to 999999 */\n const randomId = (seed = 1) => {\n const x = Math.sin(seed);\n let rand = x - Math.floor(x);\n\n if (rand < 0.1) {\n rand += 0.1;\n }\n\n return Math.floor(rand * 1000000);\n };\n\n for (let i = 0; i < 5; i += 1) {\n ids.push(randomId(i + 1));\n }\n\n ids = ids.sort((a, b) => a - b);\n\n return ids.map(num => {\n const id = `C-${num}`;\n return {\n id,\n primary: id,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n};\n\ninterface UtilitiesArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n}\n\ninterface UtilitySummaryItemsArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n setDialogTarget: (instance: HTMLElement | null) => void;\n setDialogContent: React.Dispatch<React.SetStateAction<ReactNode>>;\n setShowDialog: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const Utilities = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags\n}: UtilitiesArgs) => {\n return (\n <>\n {predictions && <PredictionsDemo />}\n {attachments && <AttachmentsMock />}\n {stakeholders && <StakeHoldersDemo />}\n {followers && <MockSummaryList icon='user-star' name='Followers' />}\n {tags && <TagsDemo />}\n </>\n );\n};\n\nexport const getUtilitiesSummaryItems = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n}: UtilitySummaryItemsArgs): NonNullable<CaseViewProps['utilitiesSummaryItems']> => {\n const items: NonNullable<CaseViewProps['utilitiesSummaryItems']> = [];\n\n if (predictions)\n items.push({\n iconName: 'polaris',\n name: 'Predictions',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<PredictionsDemo />);\n setShowDialog(true);\n }\n });\n if (attachments)\n items.push({\n iconName: 'paper-clip',\n count: 4,\n name: 'Attachments',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<AttachmentsMock />);\n setShowDialog(true);\n }\n });\n if (stakeholders)\n items.push({\n iconName: 'user-search-solid',\n count: 10,\n name: 'Stakeholders',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<StakeHoldersDemo />);\n setShowDialog(true);\n }\n });\n if (followers)\n items.push({\n iconName: 'user-star-solid',\n count: 5,\n name: 'Followers',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<MockSummaryList icon='user-star' name='Followers' />);\n setShowDialog(true);\n }\n });\n if (tags)\n items.push({\n iconName: 'tag',\n count: 10,\n name: 'Tags',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<TagsDemo />);\n setShowDialog(true);\n }\n });\n\n return items;\n};\n\nexport const getCaseActions = () => {\n return Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: () => {}\n };\n });\n};\n\nconst getHeading = (size: 'short' | 'medium' | 'long') => {\n return {\n short: 'Constellation',\n medium: 'Complicated constellation demo case of some distinction',\n long: 'The scenario in this case is almost too obscure to put into words and so the title is quite long'\n }[size];\n};\n\nexport const getPromotedActions = (count: number) => {\n return [\n {\n id: createUID(),\n text: 'Reassign',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Add dependency',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Clone',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Move',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Withdraw',\n onClick: () => {}\n }\n ].slice(0, count);\n};\n\nconst StyledPersistentUtilityContent = styled.div(({ theme }) => {\n return css`\n height: 100%;\n border-inline: 0.0625rem dashed ${theme.base.palette['border-line']};\n `;\n});\n\nexport const PersistentUtilityContent = () => {\n return (\n <Flex\n container={{ justify: 'center', alignItems: 'center' }}\n as={StyledPersistentUtilityContent}\n >\n Persistent utility content\n </Flex>\n );\n};\n\nexport const CaseViewMock = ({\n caseId: caseIdProp,\n heading,\n subheading,\n parentCases = false,\n promotedActions = 1,\n summaryFields = 'All',\n tabs,\n stages = true,\n tasks = true,\n taskCount = 4,\n utilitiesExpanded: utilitiesExpandedProp = true,\n predictions = true,\n attachments = true,\n stakeholders = true,\n followers = true,\n tags = true,\n persistentUtility = false,\n intelligentGuidance = false,\n banner = false,\n headingLength,\n defaultExpanded\n}: CaseViewMockProps) => {\n const [previewCaseId, setPreviewCaseId] = useState<null | string>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(baseCaseTabs[0].id);\n const isMediumOrAbove = useBreakpoint('md');\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? tabs?.currentTabId ?? baseCaseTabs[0].id : `summary-${caseIdProp}`\n );\n\n const [dialogContent, setDialogContent] = useState<ReactNode>();\n const [dialogTarget, setDialogTarget] = useElement<HTMLElement>();\n const [showDialog, setShowDialog] = useState(false);\n\n const demoTabs = tabs ?? {\n items: baseCaseTabs,\n currentTabId: demoCurrentTabId,\n onClick: setDemoCurrentTabId\n };\n\n const previewTabs = {\n items: baseCaseTabs,\n currentTabId: previewCurrentTabId,\n onClick: setPreviewCurrentTabId\n };\n\n const parentCasesContent = getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n const demoStages = <StagesDemo currentStage={3} />;\n\n const [followed, setFollowed] = useState(false);\n\n const [summaryExpanded, setSummaryExpanded] = useState(!!defaultExpanded);\n const [utilitiesExpanded, setUtilitiesExpanded] = useState(utilitiesExpandedProp);\n const tabContent = getTabContent({\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n return (\n <>\n {previewCaseId && (\n <CasePreview\n open\n onAfterClose={() => {\n setPreviewCaseId(null);\n }}\n caseId={previewCaseId}\n parentCases={\n Math.random() > 0.5\n ? [...parentCasesContent]\n .filter(c => c.id !== previewCaseId)\n .map(c => ({ ...c, id: `preview-${c.id}` }))\n : undefined\n }\n heading='Previewable demo case'\n subheading={previewCaseId}\n caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }}\n icon='user-solid'\n followed={!followed}\n onEdit={() => {}}\n actions={getCaseActions()}\n promotedActions={getPromotedActions(2)}\n summaryFields={{\n primary: casePreviewPrimaryFields,\n secondary: casePreviewSecondaryFields\n }}\n stages={demoStages}\n tasks={<AssignmentsDemo count={4} />}\n tabs={previewTabs}\n tabContent={tabContent}\n utilities={\n <Grid container={{ rowGap: 2 }}>\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n </Grid>\n }\n />\n )}\n {dialogTarget && showDialog && (\n <UtilitySummaryItemDialog\n target={dialogTarget}\n onDismiss={() => {\n setShowDialog(false);\n }}\n >\n {dialogContent}\n </UtilitySummaryItemDialog>\n )}\n <CaseView\n caseId={caseIdProp}\n parentCases={\n parentCases\n ? getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n })\n : undefined\n }\n heading={headingLength ? getHeading(headingLength) : heading}\n subheading={subheading}\n icon='user-solid'\n followed={followed}\n onFollowedChange={setFollowed}\n actions={getCaseActions()}\n promotedActions={promotedActions ? getPromotedActions(promotedActions) : undefined}\n onEdit={() => {}}\n summaryFields={(() => {\n const obj: CaseViewProps['summaryFields'] = {\n primary: getPrimaryFields(),\n secondary: getSecondaryFields({ setPreviewCaseId, setPreviewCurrentTabId })\n };\n\n if (summaryFields === 'Primary only') {\n obj.secondary = undefined;\n }\n\n if (summaryFields === 'Secondary only') {\n obj.primary = undefined;\n }\n\n return obj;\n })()}\n summaryExpanded={summaryExpanded}\n onToggleSummary={() => {\n setSummaryExpanded(cur => !cur);\n }}\n tabs={demoTabs}\n persistentUtility={(() => {\n if (typeof persistentUtility === 'boolean') {\n return persistentUtility\n ? { title: 'Persistent utility', content: <PersistentUtilityContent /> }\n : undefined;\n }\n\n return persistentUtility;\n })()}\n stages={stages ? demoStages : undefined}\n tasks={tasks ? <AssignmentsDemo count={taskCount} /> : undefined}\n tabContent={tabContent}\n utilities={\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n }\n utilitiesSummaryItems={getUtilitiesSummaryItems({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n })}\n utilitiesExpanded={utilitiesExpanded}\n onToggleUtilities={() => {\n setUtilitiesExpanded(cur => !cur);\n }}\n intelligentGuidance={intelligentGuidance}\n banners={\n banner ? (\n <Banner\n variant='urgent'\n messages={[\n {\n label: 'An error occurred',\n description:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n action: {\n text: 'Take acton'\n }\n }\n ]}\n />\n ) : undefined\n }\n />\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CaseView.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState } from 'react';\nimport type { Dispatch, MouseEvent, ReactNode, SetStateAction } from 'react';\nimport createDOMPurify from 'dompurify';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Link,\n createStringMatcher,\n Modal,\n SummaryList,\n useModalManager,\n useElement,\n ViewAll,\n Status,\n Flex,\n Grid,\n registerIcon,\n Banner,\n createUID,\n useBreakpoint,\n Avatar,\n Tabs,\n TabPanel,\n Card,\n CardHeader,\n Text\n} from '@pega/cosmos-react-core';\nimport type { SummaryListProps } from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport { Glimpse, CaseView, CasePreview, UtilitySummaryItemDialog } from '@pega/cosmos-react-work';\nimport type { CaseViewProps } from '@pega/cosmos-react-work';\nimport { RichTextViewer } from '@pega/cosmos-react-rte';\nimport type { TokenMap } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport type { FeedProps } from '@pega/cosmos-react-social';\n\nimport { PredictionsDemo } from '../Predictions/Predictions.stories';\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { AssignmentsDemo } from '../Assignments/Assignments.stories';\n\nimport { PulseMock } from './Pulse.mocks';\nimport { Details } from './Details.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\n\nregisterIcon(userSolidIcon);\n\nconst DOMPurify = createDOMPurify();\n\nexport interface CaseViewMockProps {\n caseId: CaseViewProps['caseId'];\n heading: CaseViewProps['heading'];\n subheading?: CaseViewProps['subheading'];\n parentCases?: boolean;\n summaryFields?: 'All' | 'Primary only' | 'Secondary only';\n tabs?: CaseViewProps['tabs'];\n stages?: boolean;\n tasks?: boolean | CaseViewProps['tasks'];\n taskCount?: number;\n predictions?: boolean;\n attachments?: boolean;\n stakeholders?: boolean;\n followers?: boolean;\n tags?: boolean;\n persistentUtility?: boolean | CaseViewProps['persistentUtility'];\n intelligentGuidance?: CaseViewProps['intelligentGuidance'];\n banner?: boolean;\n utilitiesExpanded?: boolean;\n promotedActions?: 0 | 1 | 2 | 3 | 4 | 5;\n headingLength?: 'short' | 'medium' | 'long';\n defaultExpanded?: boolean;\n hideStakeholdersAddNew?: boolean;\n}\n\ninterface PreviewSetters {\n setPreviewCaseId: Dispatch<SetStateAction<string | null>>;\n setPreviewCurrentTabId: Dispatch<SetStateAction<string>>;\n}\n\nconst StyledRSWrapper = styled.div(\n ({ theme }) => css`\n display: grid;\n place-items: center;\n border: 0.1875rem dashed ${theme.base.palette['border-line']};\n min-height: 6rem;\n height: var(--content-height-in-view);\n border-radius: calc(${theme.components.card['border-radius']});\n `\n);\n\n// This is a mini mock of the Constellation table component aka Repeating Structures\nconst RSTable = () => {\n return (\n <article style={{ display: 'block' }}>\n <StyledRSWrapper className='rs-wrapper'>\n <Text variant='secondary'>Table goes here</Text>\n </StyledRSWrapper>\n </article>\n );\n};\n\nconst TableSizingTabs = ({ tabCount = 3 }: { tabCount?: number }) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n\n const tabs = [\n { name: 'Tab 1', id: '1' },\n { name: 'Tab 2', id: '2' },\n { name: 'Tab 3', id: '3' }\n ].slice(0, tabCount);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Tabs\n tabs={tabs}\n type='horizontal'\n onTabClick={id => {\n setCurrentTabId(id);\n }}\n currentTabId={currentTabId}\n />\n {tabs.map(tab => (\n <TabPanel tabId={tab.id} currentTabId={currentTabId} key={tab.id}>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {(() => {\n switch (tab.id) {\n case '1':\n return <RSTable />;\n\n case '2':\n return (\n <>\n <RSTable />\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n </>\n );\n\n case '3':\n return <TableSizingTabs tabCount={2} />;\n\n default:\n return null;\n }\n })()}\n </Flex>\n </TabPanel>\n ))}\n </Flex>\n );\n};\n\nexport const caseId = 'C-123456';\n\nexport const createDate = new Date(2016, 1, 8);\nconst msInYear = 1000 * 60 * 60 * 24 * 365;\nconst diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\nexport const tabLabels = ['Details', 'Pulse', 'Single table', 'Sub tab table', 'Multiple tables'];\n\nexport const baseCaseTabs = tabLabels.map((name): Tab => {\n return {\n name,\n id: name\n };\n});\n\nconst singularize = (s = '') => s.replace(/s$/i, '').toLowerCase();\n\nexport const MockSummaryListViewAllModal = ({ name, count }: any) => {\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n {\n count\n }\n );\n\n const onSearchChange = (value: string) => {\n setSearch(value.trim());\n };\n\n const itemsToRender = useMemo(() => {\n if (search) {\n const regEx = createStringMatcher(search, 'boundary');\n return items.filter(({ primary, id }) => regEx.test(primary) || regEx.test(id));\n }\n\n return items;\n }, [items, search]);\n\n return (\n <Modal heading={name}>\n <ViewAll\n loading={loading}\n items={itemsToRender}\n actions={[\n {\n id: 'addNew',\n text: `Add ${singularize(name)}`\n }\n ]}\n searchInputProps={{ onSearchChange }}\n />\n </Modal>\n );\n};\n\nexport const MockSummaryList = ({\n icon,\n name,\n actions,\n limit\n}: Pick<SummaryListProps, 'icon' | 'name'> & { actions?: null; limit?: number }) => {\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const count = 50;\n\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n { count: limit }\n );\n\n return (\n <SummaryList\n loading={loading}\n items={items}\n icon={icon}\n name={name}\n headingTag='h3'\n count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: 'Add',\n id: `${name}:addNew`,\n icon: 'plus',\n onClick() {\n createModal(() => {\n const singularName = singularize(name);\n return (\n <Modal heading={`Add new ${singularName}`}>\n {`Content for adding a new ${singularName} goes here…`}\n </Modal>\n );\n });\n }\n }\n ]\n : undefined\n }\n onViewAll={() => {\n createModal(MockSummaryListViewAllModal, {\n name,\n count\n });\n }}\n />\n );\n};\n\nexport const MockOperatorFieldValue = () => {\n const [target, setTarget] = useElement<HTMLButtonElement>(null);\n\n return (\n <>\n <Button\n variant='link'\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n setTarget(e.currentTarget);\n }}\n >\n constellation@pega.com\n </Button>\n {target && (\n <Glimpse\n id='constellation'\n target={target}\n onDismiss={() => setTarget(null)}\n heading={{\n primary: 'Constellation Operator',\n secondary: 'Director of the stars',\n visual: <Avatar name='Constellation Operator' />\n }}\n fields={[\n {\n id: '1',\n name: 'Department',\n value: 'Space Travel'\n },\n {\n id: '2',\n name: 'Manager',\n value: 'Captain Galaxy'\n },\n {\n id: '3',\n name: 'Location',\n value: 'A galaxy far away'\n },\n {\n id: '4',\n name: 'Email',\n value: <Link href='mailto:constellation@pega.com'>constellation@pega.com</Link>\n },\n {\n id: '5',\n name: 'Telephone',\n value: <Link href='tel:555-123-4567'>555-123-4567</Link>\n }\n ]}\n onViewProfile={() => {}}\n />\n )}\n </>\n );\n};\n\nexport const PreviewLinkComponent = ({\n token: linkToken,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: { token: TokenMap['link'] } & PreviewSetters) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreviewCaseId(linkToken.href);\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n};\n\nexport const getPulseMarkdownMap = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters): FeedProps['markdownMap'] => {\n return {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) {\n return () => (\n <PreviewLinkComponent\n token={linkToken}\n setPreviewCaseId={setPreviewCaseId}\n setPreviewCurrentTabId={setPreviewCurrentTabId}\n />\n );\n }\n }\n };\n};\n\nexport const onMentionPreview = ({\n id,\n type,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n id: string;\n type: string;\n} & PreviewSetters) => {\n if (type === 'case') {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n};\n\nexport const getTabContent = ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: (\n <PulseMock\n markdownMap={getPulseMarkdownMap({ setPreviewCaseId, setPreviewCurrentTabId })}\n onMentionPreview={({ id, type }) => {\n onMentionPreview({ id, type, setPreviewCaseId, setPreviewCurrentTabId });\n }}\n />\n )\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n};\n\nexport const previewTabContent = [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n];\n\nexport const getPrimaryFields = () => {\n return [\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Member ID',\n value: 'M205435569FD1234567890'\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n};\n\nconst baseSecondaryFields: CaseViewProps['summaryFields']['secondary'] = [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Description',\n value: (\n <RichTextViewer\n content='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>'\n type='html'\n />\n ),\n simpleValue: DOMPurify.sanitize(\n '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>',\n {\n ALLOWED_TAGS: [],\n ALLOWED_ATTR: [],\n KEEP_CONTENT: true\n }\n ),\n variant: 'stacked'\n }\n];\n\nexport const getSecondaryFields = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters) => {\n return [\n ...baseSecondaryFields,\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable case',\n value: (\n <Link\n href='/cases/C-456'\n previewable\n onPreview={() => {\n setPreviewCaseId('C-456');\n setPreviewCurrentTabId('summary-C-456');\n }}\n >\n Previewable Case - C-456\n </Link>\n )\n }\n ];\n};\n\nexport const casePreviewPrimaryFields = [\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n];\n\nexport const casePreviewSecondaryFields = baseSecondaryFields;\n\nexport const getParentCases = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n caseId: CaseViewProps['caseId'];\n} & PreviewSetters) => {\n let ids: number[] = [];\n\n /** random-ish number from 100000 to 999999 */\n const randomId = (seed = 1) => {\n const x = Math.sin(seed);\n let rand = x - Math.floor(x);\n\n if (rand < 0.1) {\n rand += 0.1;\n }\n\n return Math.floor(rand * 1000000);\n };\n\n for (let i = 0; i < 5; i += 1) {\n ids.push(randomId(i + 1));\n }\n\n ids = ids.sort((a, b) => a - b);\n\n return ids.map(num => {\n const id = `C-${num}`;\n return {\n id,\n primary: id,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n};\n\ninterface UtilitiesArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n}\n\ninterface UtilitySummaryItemsArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n hideStakeholdersAddNew?: boolean;\n setDialogTarget: (instance: HTMLElement | null) => void;\n setDialogContent: React.Dispatch<React.SetStateAction<ReactNode>>;\n setShowDialog: React.Dispatch<React.SetStateAction<boolean>>;\n dialogTarget: HTMLElement | null;\n showDialog: boolean;\n}\n\nexport const Utilities = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags\n}: UtilitiesArgs) => {\n return (\n <>\n {predictions && <PredictionsDemo />}\n {attachments && <AttachmentsMock />}\n {stakeholders && <StakeHoldersDemo />}\n {followers && <MockSummaryList icon='user-star' name='Followers' />}\n {tags && <TagsDemo />}\n </>\n );\n};\n\nexport const getUtilitiesSummaryItems = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n hideStakeholdersAddNew,\n setDialogTarget,\n setDialogContent,\n setShowDialog,\n dialogTarget,\n showDialog\n}: UtilitySummaryItemsArgs): NonNullable<CaseViewProps['utilitiesSummaryItems']> => {\n const items: NonNullable<CaseViewProps['utilitiesSummaryItems']> = [];\n\n if (predictions)\n items.push({\n iconName: 'polaris',\n name: 'Predictions',\n onClick: e => {\n if (dialogTarget !== e.currentTarget || !showDialog) {\n setDialogTarget(e.currentTarget);\n setDialogContent(<PredictionsDemo />);\n setShowDialog(true);\n } else {\n setDialogTarget(null);\n setShowDialog(false);\n }\n }\n });\n if (attachments)\n items.push({\n iconName: 'paper-clip',\n count: 4,\n name: 'Attachments',\n onClick: e => {\n if (dialogTarget !== e.currentTarget || !showDialog) {\n setDialogTarget(e.currentTarget);\n setDialogContent(<AttachmentsMock />);\n setShowDialog(true);\n } else {\n setDialogTarget(null);\n setShowDialog(false);\n }\n }\n });\n if (stakeholders)\n items.push({\n iconName: 'user-search-solid',\n count: 10,\n name: 'Stakeholders',\n onClick: e => {\n if (dialogTarget !== e.currentTarget || !showDialog) {\n setDialogTarget(e.currentTarget);\n setDialogContent(<StakeHoldersDemo hideAddNew={hideStakeholdersAddNew} />);\n setShowDialog(true);\n } else {\n setDialogTarget(null);\n setShowDialog(false);\n }\n }\n });\n if (followers)\n items.push({\n iconName: 'user-star-solid',\n count: 5,\n name: 'Followers',\n onClick: e => {\n if (dialogTarget !== e.currentTarget || !showDialog) {\n setDialogTarget(e.currentTarget);\n setDialogContent(<MockSummaryList icon='user-star' name='Followers' />);\n setShowDialog(true);\n } else {\n setDialogTarget(null);\n setShowDialog(false);\n }\n }\n });\n if (tags)\n items.push({\n iconName: 'tag',\n count: 10,\n name: 'Tags',\n onClick: e => {\n if (dialogTarget !== e.currentTarget || !showDialog) {\n setDialogTarget(e.currentTarget);\n setDialogContent(<TagsDemo />);\n setShowDialog(true);\n } else {\n setDialogTarget(null);\n setShowDialog(false);\n }\n }\n });\n\n return items;\n};\n\nexport const getCaseActions = () => {\n return Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: () => {}\n };\n });\n};\n\nconst getHeading = (size: 'short' | 'medium' | 'long') => {\n return {\n short: 'Constellation',\n medium: 'Complicated constellation demo case of some distinction',\n long: 'The scenario in this case is almost too obscure to put into words and so the title is quite long'\n }[size];\n};\n\nexport const getPromotedActions = (count: number) => {\n return [\n {\n id: createUID(),\n text: 'Reassign',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Add dependency',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Clone',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Move',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Withdraw',\n onClick: () => {}\n }\n ].slice(0, count);\n};\n\nconst StyledPersistentUtilityContent = styled.div(({ theme }) => {\n return css`\n height: 100%;\n border-inline: 0.0625rem dashed ${theme.base.palette['border-line']};\n `;\n});\n\nexport const PersistentUtilityContent = () => {\n return (\n <Flex\n container={{ justify: 'center', alignItems: 'center' }}\n as={StyledPersistentUtilityContent}\n >\n Persistent utility content\n </Flex>\n );\n};\n\nexport const CaseViewMock = ({\n caseId: caseIdProp,\n heading,\n subheading,\n parentCases = false,\n promotedActions = 1,\n summaryFields = 'All',\n tabs,\n stages = true,\n tasks = true,\n taskCount = 4,\n utilitiesExpanded: utilitiesExpandedProp = true,\n predictions = true,\n attachments = true,\n stakeholders = true,\n followers = true,\n tags = true,\n persistentUtility = false,\n intelligentGuidance = false,\n banner = false,\n headingLength,\n defaultExpanded,\n hideStakeholdersAddNew\n}: CaseViewMockProps) => {\n const [previewCaseId, setPreviewCaseId] = useState<null | string>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(baseCaseTabs[0].id);\n const isMediumOrAbove = useBreakpoint('md');\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? tabs?.currentTabId ?? baseCaseTabs[0].id : `summary-${caseIdProp}`\n );\n\n const [dialogContent, setDialogContent] = useState<ReactNode>();\n const [dialogTarget, setDialogTarget] = useElement<HTMLElement>();\n const [showDialog, setShowDialog] = useState(false);\n\n const demoTabs = tabs ?? {\n items: baseCaseTabs,\n currentTabId: demoCurrentTabId,\n onClick: setDemoCurrentTabId\n };\n\n const previewTabs = {\n items: baseCaseTabs,\n currentTabId: previewCurrentTabId,\n onClick: setPreviewCurrentTabId\n };\n\n const parentCasesContent = getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n const demoStages = <StagesDemo currentStage={3} />;\n\n const [followed, setFollowed] = useState(false);\n\n const [summaryExpanded, setSummaryExpanded] = useState(!!defaultExpanded);\n const [utilitiesExpanded, setUtilitiesExpanded] = useState(utilitiesExpandedProp);\n const tabContent = getTabContent({\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n return (\n <>\n <CasePreview\n open={!!previewCaseId}\n onAfterClose={() => {\n setPreviewCaseId(null);\n }}\n caseId={previewCaseId || ''}\n parentCases={\n Math.random() > 0.5\n ? [...parentCasesContent]\n .filter(c => c.id !== previewCaseId)\n .map(c => ({ ...c, id: `preview-${c.id}` }))\n : undefined\n }\n heading='Previewable demo case'\n subheading={previewCaseId || ''}\n caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }}\n icon='user-solid'\n followed={!followed}\n onEdit={() => {}}\n actions={getCaseActions()}\n promotedActions={getPromotedActions(2)}\n summaryFields={{\n primary: casePreviewPrimaryFields,\n secondary: casePreviewSecondaryFields\n }}\n stages={demoStages}\n tasks={<AssignmentsDemo count={4} />}\n tabs={previewTabs}\n tabContent={tabContent}\n utilities={\n <Grid container={{ rowGap: 2 }}>\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n </Grid>\n }\n />\n\n {dialogTarget && showDialog && (\n <UtilitySummaryItemDialog\n target={dialogTarget}\n onDismiss={() => {\n setShowDialog(false);\n }}\n >\n {dialogContent}\n </UtilitySummaryItemDialog>\n )}\n <CaseView\n caseId={caseIdProp}\n parentCases={\n parentCases\n ? getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n })\n : undefined\n }\n heading={headingLength ? getHeading(headingLength) : heading}\n subheading={subheading}\n icon='user-solid'\n followed={followed}\n onFollowedChange={setFollowed}\n actions={getCaseActions()}\n promotedActions={promotedActions ? getPromotedActions(promotedActions) : undefined}\n onEdit={() => {}}\n summaryFields={(() => {\n const obj: CaseViewProps['summaryFields'] = {\n primary: getPrimaryFields(),\n secondary: getSecondaryFields({ setPreviewCaseId, setPreviewCurrentTabId })\n };\n\n if (summaryFields === 'Primary only') {\n obj.secondary = undefined;\n }\n\n if (summaryFields === 'Secondary only') {\n obj.primary = undefined;\n }\n\n return obj;\n })()}\n summaryExpanded={summaryExpanded}\n onToggleSummary={() => {\n setSummaryExpanded(cur => !cur);\n }}\n tabs={demoTabs}\n persistentUtility={(() => {\n if (typeof persistentUtility === 'boolean') {\n return persistentUtility\n ? { title: 'Persistent utility', content: <PersistentUtilityContent /> }\n : undefined;\n }\n\n return persistentUtility;\n })()}\n stages={stages ? demoStages : undefined}\n tasks={tasks ? <AssignmentsDemo count={taskCount} /> : undefined}\n tabContent={tabContent}\n utilities={\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n }\n utilitiesSummaryItems={getUtilitiesSummaryItems({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n hideStakeholdersAddNew,\n setDialogTarget,\n setDialogContent,\n setShowDialog,\n dialogTarget,\n showDialog\n })}\n utilitiesExpanded={utilitiesExpanded}\n onToggleUtilities={() => {\n setUtilitiesExpanded(cur => !cur);\n }}\n intelligentGuidance={intelligentGuidance}\n banners={\n banner ? (\n <Banner\n variant='urgent'\n messages={[\n {\n label: 'An error occurred',\n description:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n action: {\n text: 'Take acton'\n }\n }\n ]}\n />\n ) : undefined\n }\n />\n </>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Details.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Details/Details.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAKtD,wBAiBU;AAEV,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Details.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Details/Details.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAKtD,wBAiBU;AAEV,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAiHjD,CAAC"}
|
|
@@ -33,7 +33,6 @@ export const DetailsDemo = (args) => {
|
|
|
33
33
|
_jsx(FieldValueItem, { variant: 'stacked', name: 'Model', value: 'F150' })
|
|
34
34
|
], description: description, collapsible: collapsible, additionalInfo: showAdditionalInfo
|
|
35
35
|
? {
|
|
36
|
-
heading: 'Additional Info',
|
|
37
36
|
content: (_jsxs(Flex, { container: { direction: 'column', alignItems: 'start', gap: 2 }, children: [_jsx("p", { children: "Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida." }), _jsx("p", { children: "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim nulla aliquet porttitor lacus." }), _jsx(Link, { href: '/', target: '_blank', children: "Neque vitae" })] }))
|
|
38
37
|
}
|
|
39
38
|
: undefined, children: [_jsxs(Details, { name: 'Nested as flex', nested: true, asFlex: true, children: [_jsx(Details, { nested: true, children: _jsxs(Details, { nested: true, children: [_jsx(FieldValueItem, { name: 'Make', value: 'Ford' }), _jsx(FieldValueItem, { name: 'Model', value: 'F150' })] }) }), _jsxs(Details, { nested: true, children: [_jsx(FieldValueItem, { name: 'Mileage', value: '78,500' }), _jsx(FieldValueItem, { name: 'Trim', value: 'Lariat' })] })] }), _jsx(FieldValueItem, { name: 'Description', variant: 'stacked', value: _jsx("p", { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est. Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat." }) }), _jsx(FieldValueItem, { name: 'Keys', value: '3' }), _jsxs(Details, { name: 'Nested list', nested: true, children: [_jsx(FieldValueItem, { name: 'First name', value: 'Howard' }), _jsx(FieldValueItem, { name: 'Last name', value: 'Kennedy' }), _jsxs(Details, { name: 'Deeper list', nested: true, children: [_jsx(FieldValueItem, { name: 'Color', value: 'red' }), _jsx(FieldValueItem, { name: 'Year', value: '2017' })] }), _jsxs(Details, { name: 'Value comparison', nested: true, valueComparison: true, children: [_jsx(FieldValueItem, { name: 'Open lorem ipsum dolor set amet ipsum ket sit amet', value: '$405,000,000.00' }), _jsx(FieldValueItem, { name: 'Close', value: '$401.00' }), _jsx(FieldValueItem, { name: '52 week high', value: '$445.00' }), _jsx(FieldValueItem, { name: '52 week low', value: '$335.00' })] }), _jsxs(Details, { name: 'Collapsible', nested: true, valueComparison: true, collapsible: true, children: [_jsx(FieldValueItem, { name: 'Open', value: '$205.00' }), _jsx(FieldValueItem, { name: 'Close', value: '$209.00' }), _jsx(FieldValueItem, { name: '52 week high', value: '$312.00' }), _jsx(FieldValueItem, { name: '52 week low', value: '$115.00' })] })] }), _jsx(FieldValueItem, { name: 'Age', value: '56' }), _jsx(FieldValueItem, { name: 'Location', value: 'Berlin' })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Details.stories.js","sourceRoot":"","sources":["../../../src/work/Details/Details.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAe;IACb,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,IAAI,EAAE;QACJ,WAAW,EACT,oNAAoN;QACtN,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,KAAK;KAC1B;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC1C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC7C,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;KACrD;CACM,CAAC;AAQV,MAAM,CAAC,MAAM,WAAW,GAA8B,CAAC,IAAsB,EAAE,EAAE;IAC/E,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC;QACL,UAAU,EAAE,CAAC,WAAW;QACxB,kBAAkB,EAAE,EAAE;KACvB,CAAC,EACF,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YACjC,MAAC,OAAO,IACN,IAAI,EAAC,YAAY,EACjB,eAAe,EAAE;gBACf,KAAC,cAAc,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,GAAG;gBAC1D,KAAC,cAAc,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,QAAQ,GAAG;gBACnE,KAAC,cAAc,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG;gBAC7D,KAAC,cAAc,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAG;aAC/D,EACD,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EACZ,kBAAkB;gBAChB,CAAC,CAAC;oBACE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Details.stories.js","sourceRoot":"","sources":["../../../src/work/Details/Details.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { Flex, Link, FieldValueItem, useBreakpoint } from '@pega/cosmos-react-core';\nimport { Details, DetailsContext } from '@pega/cosmos-react-work';\n\nexport default {\n title: 'Work/Details',\n component: Details,\n parameters: {\n layout: 'centered'\n },\n args: {\n description:\n 'Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.',\n collapsible: false,\n showAdditionalInfo: false\n },\n argTypes: {\n description: { control: { type: 'text' } },\n collapsible: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface DetailsDemoProps {\n description?: string;\n collapsible?: boolean;\n showAdditionalInfo?: boolean;\n}\n\nexport const DetailsDemo: StoryFn<DetailsDemoProps> = (args: DetailsDemoProps) => {\n const { description, collapsible, showAdditionalInfo } = args;\n const isNotMobile = useBreakpoint('sm');\n\n const ctx = useMemo(\n () => ({\n mobileView: !isNotMobile,\n longestLabelLength: 10\n }),\n [isNotMobile]\n );\n\n return (\n <DetailsContext.Provider value={ctx}>\n <Details\n name='Outer list'\n highlightedData={[\n <FieldValueItem variant='stacked' name='Age' value='56' />,\n <FieldValueItem variant='stacked' name='Location' value='Berlin' />,\n <FieldValueItem variant='stacked' name='Make' value='Ford' />,\n <FieldValueItem variant='stacked' name='Model' value='F150' />\n ]}\n description={description}\n collapsible={collapsible}\n additionalInfo={\n showAdditionalInfo\n ? {\n content: (\n <Flex container={{ direction: 'column', alignItems: 'start', gap: 2 }}>\n <p>\n Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore\n magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent\n semper feugiat nibh sed pulvinar proin gravida.\n </p>\n <p>\n Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit\n egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim\n nulla aliquet porttitor lacus.\n </p>\n <Link href='/' target='_blank'>\n Neque vitae\n </Link>\n </Flex>\n )\n }\n : undefined\n }\n >\n {/* Siblings can be rendered in a responsive row with the `asFlex` attribute */}\n <Details name='Nested as flex' nested asFlex>\n {/* Arbitrary recursive nesting is supported with nested attribute */}\n <Details nested>\n <Details nested>\n <FieldValueItem name='Make' value='Ford' />\n <FieldValueItem name='Model' value='F150' />\n </Details>\n </Details>\n\n <Details nested>\n <FieldValueItem name='Mileage' value='78,500' />\n <FieldValueItem name='Trim' value='Lariat' />\n </Details>\n </Details>\n\n <FieldValueItem\n name='Description'\n variant='stacked'\n value={\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla\n vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus\n felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor\n pellentesque est. Pellentesque pharetra justo augue, non maximus nulla venenatis et.\n Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget\n risus. Fusce cursus sollicitudin nibh molestie volutpat.\n </p>\n }\n />\n\n <FieldValueItem name='Keys' value='3' />\n\n <Details name='Nested list' nested>\n <FieldValueItem name='First name' value='Howard' />\n <FieldValueItem name='Last name' value='Kennedy' />\n\n <Details name='Deeper list' nested>\n <FieldValueItem name='Color' value='red' />\n <FieldValueItem name='Year' value='2017' />\n </Details>\n\n <Details name='Value comparison' nested valueComparison>\n <FieldValueItem\n name='Open lorem ipsum dolor set amet ipsum ket sit amet'\n value='$405,000,000.00'\n />\n <FieldValueItem name='Close' value='$401.00' />\n <FieldValueItem name='52 week high' value='$445.00' />\n <FieldValueItem name='52 week low' value='$335.00' />\n </Details>\n\n <Details name='Collapsible' nested valueComparison collapsible>\n <FieldValueItem name='Open' value='$205.00' />\n <FieldValueItem name='Close' value='$209.00' />\n <FieldValueItem name='52 week high' value='$312.00' />\n <FieldValueItem name='52 week low' value='$115.00' />\n </Details>\n </Details>\n\n <FieldValueItem name='Age' value='56' />\n <FieldValueItem name='Location' value='Berlin' />\n </Details>\n </DetailsContext.Provider>\n );\n};\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { StoryFn } from '@storybook/react';
|
|
2
2
|
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
|
|
3
3
|
export default _default;
|
|
4
|
-
|
|
4
|
+
interface StakeHoldersStoryProps {
|
|
5
|
+
hideAddNew?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const StakeHoldersDemo: StoryFn<StakeHoldersStoryProps>;
|
|
5
8
|
//# sourceMappingURL=Stakeholders.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stakeholders.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Stakeholders/Stakeholders.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAatD,wBAGU;AAEV,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"Stakeholders.stories.d.ts","sourceRoot":"","sources":["../../../src/work/Stakeholders/Stakeholders.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAatD,wBAGU;AAEV,UAAU,sBAAsB;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAmI5D,CAAC"}
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
title: 'Work/Stakeholders',
|
|
9
9
|
component: Stakeholders
|
|
10
10
|
};
|
|
11
|
-
export const StakeHoldersDemo = () => {
|
|
11
|
+
export const StakeHoldersDemo = (args) => {
|
|
12
12
|
const [loading, setLoading] = useState(true);
|
|
13
13
|
const [mode, setMode] = useState();
|
|
14
14
|
const [editing, setEditing] = useState(null);
|
|
@@ -99,14 +99,22 @@ export const StakeHoldersDemo = () => {
|
|
|
99
99
|
useEffect(() => {
|
|
100
100
|
// Orchestrate based on editing state if needed.
|
|
101
101
|
}, [editing]);
|
|
102
|
-
return (_jsx(Stakeholders, { loading: loading, items: useMemo(() => addActions(mockStakeholders.slice(0, 3)), [addActions, mockStakeholders]), count: loading ? undefined : mockStakeholders.length, onAddNew:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
102
|
+
return (_jsx(Stakeholders, { loading: loading, items: useMemo(() => addActions(mockStakeholders.slice(0, 3)), [addActions, mockStakeholders]), count: loading ? undefined : mockStakeholders.length, onAddNew: args.hideAddNew
|
|
103
|
+
? undefined
|
|
104
|
+
: () => {
|
|
105
|
+
setMode('add');
|
|
106
|
+
setFormLoading(true);
|
|
107
|
+
mockNetworkReq().then(() => setFormLoading(false));
|
|
108
|
+
}, form: form, onViewAll: () => {
|
|
107
109
|
setMode('viewAll');
|
|
108
110
|
setViewAllLoading(true);
|
|
109
111
|
mockNetworkReq().then(() => setViewAllLoading(false));
|
|
110
112
|
}, viewAll: viewAll }));
|
|
111
113
|
};
|
|
114
|
+
StakeHoldersDemo.args = {
|
|
115
|
+
hideAddNew: false
|
|
116
|
+
};
|
|
117
|
+
StakeHoldersDemo.argTypes = {
|
|
118
|
+
hideAddNew: { control: { type: 'boolean' }, table: { disable: true } }
|
|
119
|
+
};
|
|
112
120
|
//# sourceMappingURL=Stakeholders.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stakeholders.stories.js","sourceRoot":"","sources":["../../../src/work/Stakeholders/Stakeholders.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { createStringMatcher } from '@pega/cosmos-react-core';\nimport { Stakeholders } from '@pega/cosmos-react-work';\nimport type { StakeholdersProps, Stakeholder } from '@pega/cosmos-react-work';\n\nimport {\n AddAndEditForm,\n mockNetworkReq,\n mockRoles,\n useMockStakeholders\n} from './Stakeholders.mocks';\n\nexport default {\n title: 'Work/Stakeholders',\n component: Stakeholders\n} as Meta;\n\nexport const StakeHoldersDemo: StoryFn = () => {\n const [loading, setLoading] = useState(true);\n const [mode, setMode] = useState<undefined | 'add' | 'viewAll'>();\n const [editing, setEditing] = useState<Stakeholder['id'] | null>(null);\n const [formLoading, setFormLoading] = useState(false);\n const [viewAllLoading, setViewAllLoading] = useState(false);\n const [viewAllSearchValue, setViewAllSearchValue] = useState('');\n\n // Grab some mock data...\n const [mockStakeholders, setMockStakeholders] = useMockStakeholders(() => {\n setLoading(false);\n });\n\n const [editData, setEditData] = useState<\n StakeholdersProps['form']['rendererProps'] | undefined\n >();\n\n // Merges built-in available actions with stakeholder objects.\n const addActions = useCallback(\n (items: Stakeholder[]) => {\n return items.map(stakeholder => {\n return {\n ...stakeholder,\n onEdit: () => {\n setFormLoading(true);\n setEditing(stakeholder.id);\n setEditData(mockStakeholders.find(ms => ms.id === stakeholder.id)?.data);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onRemove: () => {\n setMockStakeholders(cur => cur.filter(({ id }) => id !== stakeholder.id));\n }\n };\n });\n },\n [mockStakeholders]\n );\n\n const form: StakeholdersProps['form'] = useMemo(() => {\n return {\n // Set this to true when fetching view metadata for the form or during submit validation.\n loading: formLoading,\n // Represents \"available\" roles for a stakeholder. Set to undefined when choosing not to present them as options.\n roles: mode === 'add' ? mockRoles : undefined,\n // Represents the current role of a stakeholder if they have one. When undefined the first role in the roles array with be selected in the UI.\n currentRole: editing ? mockStakeholders.find(({ id }) => id === editing)?.role : undefined,\n /**\n * A function that will be invoked by React's createElement. If only a simple function is needed then an inline arrow is ok.\n * If local state(hooks) is desired best to define a stable component definition outside of the parent component's function body.\n */\n renderer: AddAndEditForm,\n rendererProps: editData,\n onSubmit: ({ selectedRoleName, closeForm }) => {\n setFormLoading(true);\n action(`The selected role is: ${selectedRoleName}`);\n // Create or update the stakeholder resource.\n mockNetworkReq().then(closeForm);\n },\n onDismiss: ({ closeForm }) => {\n closeForm();\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setEditing(null);\n setEditData(undefined);\n setMode(undefined);\n }\n };\n }, [mode, formLoading, mockRoles, editing, editData]);\n\n const viewAll: StakeholdersProps['viewAll'] = useMemo(() => {\n let viewAllItems = mockStakeholders;\n\n // When the user has entered a search value we can filter the array or api request.\n if (viewAllSearchValue) {\n // For client side searches cosmos offers utils such as createStringMatcher for creating RegExp with params.\n const filterRegex = createStringMatcher(viewAllSearchValue, 'boundary');\n // Asserting as string since, in this demo, primary is a string. But type is a non nullable ReactNode.\n viewAllItems = mockStakeholders.filter(({ primary }) => filterRegex.test(primary as string));\n }\n\n return {\n // Set this to true when fetching data for the view all modal.\n loading: viewAllLoading,\n // Even when loading is true this must be an array, empty or not.\n items: addActions(viewAllItems),\n // The search string will be handed back as the arg, pass a state setter and filter off of that.\n onSearch: setViewAllSearchValue,\n onAfterClose: () => {\n // Clean up loading state when the modal is closed.\n if (viewAllLoading) setViewAllLoading(false);\n setViewAllSearchValue('');\n }\n };\n }, [viewAllLoading, mockStakeholders, viewAllSearchValue, addActions]);\n\n useEffect(() => {\n // Orchestrate based on mode state if needed.\n }, [mode]);\n\n useEffect(() => {\n // Orchestrate based on editing state if needed.\n }, [editing]);\n\n return (\n <Stakeholders\n loading={loading}\n items={useMemo(\n () => addActions(mockStakeholders.slice(0, 3)),\n [addActions, mockStakeholders]\n )}\n count={loading ? undefined : mockStakeholders.length}\n onAddNew={() => {\n setMode('add');\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n }}\n form={form}\n onViewAll={() => {\n setMode('viewAll');\n setViewAllLoading(true);\n mockNetworkReq().then(() => setViewAllLoading(false));\n }}\n viewAll={viewAll}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Stakeholders.stories.js","sourceRoot":"","sources":["../../../src/work/Stakeholders/Stakeholders.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { createStringMatcher } from '@pega/cosmos-react-core';\nimport { Stakeholders } from '@pega/cosmos-react-work';\nimport type { StakeholdersProps, Stakeholder } from '@pega/cosmos-react-work';\n\nimport {\n AddAndEditForm,\n mockNetworkReq,\n mockRoles,\n useMockStakeholders\n} from './Stakeholders.mocks';\n\nexport default {\n title: 'Work/Stakeholders',\n component: Stakeholders\n} as Meta;\n\ninterface StakeHoldersStoryProps {\n hideAddNew?: boolean;\n}\n\nexport const StakeHoldersDemo: StoryFn<StakeHoldersStoryProps> = (args: StakeHoldersStoryProps) => {\n const [loading, setLoading] = useState(true);\n const [mode, setMode] = useState<undefined | 'add' | 'viewAll'>();\n const [editing, setEditing] = useState<Stakeholder['id'] | null>(null);\n const [formLoading, setFormLoading] = useState(false);\n const [viewAllLoading, setViewAllLoading] = useState(false);\n const [viewAllSearchValue, setViewAllSearchValue] = useState('');\n\n // Grab some mock data...\n const [mockStakeholders, setMockStakeholders] = useMockStakeholders(() => {\n setLoading(false);\n });\n\n const [editData, setEditData] = useState<\n StakeholdersProps['form']['rendererProps'] | undefined\n >();\n\n // Merges built-in available actions with stakeholder objects.\n const addActions = useCallback(\n (items: Stakeholder[]) => {\n return items.map(stakeholder => {\n return {\n ...stakeholder,\n onEdit: () => {\n setFormLoading(true);\n setEditing(stakeholder.id);\n setEditData(mockStakeholders.find(ms => ms.id === stakeholder.id)?.data);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onRemove: () => {\n setMockStakeholders(cur => cur.filter(({ id }) => id !== stakeholder.id));\n }\n };\n });\n },\n [mockStakeholders]\n );\n\n const form: StakeholdersProps['form'] = useMemo(() => {\n return {\n // Set this to true when fetching view metadata for the form or during submit validation.\n loading: formLoading,\n // Represents \"available\" roles for a stakeholder. Set to undefined when choosing not to present them as options.\n roles: mode === 'add' ? mockRoles : undefined,\n // Represents the current role of a stakeholder if they have one. When undefined the first role in the roles array with be selected in the UI.\n currentRole: editing ? mockStakeholders.find(({ id }) => id === editing)?.role : undefined,\n /**\n * A function that will be invoked by React's createElement. If only a simple function is needed then an inline arrow is ok.\n * If local state(hooks) is desired best to define a stable component definition outside of the parent component's function body.\n */\n renderer: AddAndEditForm,\n rendererProps: editData,\n onSubmit: ({ selectedRoleName, closeForm }) => {\n setFormLoading(true);\n action(`The selected role is: ${selectedRoleName}`);\n // Create or update the stakeholder resource.\n mockNetworkReq().then(closeForm);\n },\n onDismiss: ({ closeForm }) => {\n closeForm();\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setEditing(null);\n setEditData(undefined);\n setMode(undefined);\n }\n };\n }, [mode, formLoading, mockRoles, editing, editData]);\n\n const viewAll: StakeholdersProps['viewAll'] = useMemo(() => {\n let viewAllItems = mockStakeholders;\n\n // When the user has entered a search value we can filter the array or api request.\n if (viewAllSearchValue) {\n // For client side searches cosmos offers utils such as createStringMatcher for creating RegExp with params.\n const filterRegex = createStringMatcher(viewAllSearchValue, 'boundary');\n // Asserting as string since, in this demo, primary is a string. But type is a non nullable ReactNode.\n viewAllItems = mockStakeholders.filter(({ primary }) => filterRegex.test(primary as string));\n }\n\n return {\n // Set this to true when fetching data for the view all modal.\n loading: viewAllLoading,\n // Even when loading is true this must be an array, empty or not.\n items: addActions(viewAllItems),\n // The search string will be handed back as the arg, pass a state setter and filter off of that.\n onSearch: setViewAllSearchValue,\n onAfterClose: () => {\n // Clean up loading state when the modal is closed.\n if (viewAllLoading) setViewAllLoading(false);\n setViewAllSearchValue('');\n }\n };\n }, [viewAllLoading, mockStakeholders, viewAllSearchValue, addActions]);\n\n useEffect(() => {\n // Orchestrate based on mode state if needed.\n }, [mode]);\n\n useEffect(() => {\n // Orchestrate based on editing state if needed.\n }, [editing]);\n\n return (\n <Stakeholders\n loading={loading}\n items={useMemo(\n () => addActions(mockStakeholders.slice(0, 3)),\n [addActions, mockStakeholders]\n )}\n count={loading ? undefined : mockStakeholders.length}\n onAddNew={\n args.hideAddNew\n ? undefined\n : () => {\n setMode('add');\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n }\n }\n form={form}\n onViewAll={() => {\n setMode('viewAll');\n setViewAllLoading(true);\n mockNetworkReq().then(() => setViewAllLoading(false));\n }}\n viewAll={viewAll}\n />\n );\n};\n\nStakeHoldersDemo.args = {\n hideAddNew: false\n};\n\nStakeHoldersDemo.argTypes = {\n hideAddNew: { control: { type: 'boolean' }, table: { disable: true } }\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-demos",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/pegasystems/cosmos-react.git",
|
|
@@ -13,26 +13,27 @@
|
|
|
13
13
|
"types": "lib/index.d.ts",
|
|
14
14
|
"files": [
|
|
15
15
|
"lib",
|
|
16
|
-
"jsx"
|
|
16
|
+
"jsx",
|
|
17
|
+
"SECURITY.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
20
|
"build": "tsc -b tsconfig.build.json && tsc -b tsconfig.build-preserve.json"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@pega/cosmos-react-condition-builder": "
|
|
23
|
-
"@pega/cosmos-react-core": "
|
|
24
|
-
"@pega/cosmos-react-dnd": "
|
|
25
|
-
"@pega/cosmos-react-rte": "
|
|
26
|
-
"@pega/cosmos-react-social": "
|
|
27
|
-
"@pega/cosmos-react-work": "
|
|
23
|
+
"@pega/cosmos-react-condition-builder": "6.0.0",
|
|
24
|
+
"@pega/cosmos-react-core": "6.0.0",
|
|
25
|
+
"@pega/cosmos-react-dnd": "6.0.0",
|
|
26
|
+
"@pega/cosmos-react-rte": "6.0.0",
|
|
27
|
+
"@pega/cosmos-react-social": "6.0.0",
|
|
28
|
+
"@pega/cosmos-react-work": "6.0.0",
|
|
28
29
|
"@storybook/addon-actions": "~7.5.3",
|
|
29
30
|
"@storybook/react": "~7.5.3",
|
|
30
|
-
"@types/dompurify": "^3.0.
|
|
31
|
+
"@types/dompurify": "^3.0.5",
|
|
31
32
|
"@types/emoji-mart": "^3.0.4",
|
|
32
33
|
"@types/react": "^17.0.62",
|
|
33
34
|
"@types/react-dom": "^17.0.20",
|
|
34
35
|
"@types/styled-components": "^5.1.26",
|
|
35
|
-
"dompurify": "^3.0.
|
|
36
|
+
"dompurify": "^3.0.7",
|
|
36
37
|
"emoji-mart": "^3.0.1",
|
|
37
38
|
"polished": "^4.1.0",
|
|
38
39
|
"react": "^17.0.0",
|