@pega/cosmos-react-demos 5.0.0-dev.9.3 → 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.
Files changed (126) hide show
  1. package/SECURITY.md +11 -0
  2. package/jsx/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
  3. package/jsx/core/DateTime/DateTimeDisplay.stories.jsx +10 -5
  4. package/jsx/core/DateTime/DateTimeDisplay.stories.jsx.map +1 -1
  5. package/jsx/core/Lightbox/Lightbox.mocks.d.ts +15 -8
  6. package/jsx/core/Lightbox/Lightbox.mocks.d.ts.map +1 -1
  7. package/jsx/core/Lightbox/Lightbox.mocks.js +62 -24
  8. package/jsx/core/Lightbox/Lightbox.mocks.js.map +1 -1
  9. package/jsx/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
  10. package/jsx/core/Lightbox/Lightbox.stories.jsx +37 -22
  11. package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
  12. package/jsx/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
  13. package/jsx/core/ListToolbar/ListToolbar.mocks.jsx +13 -21
  14. package/jsx/core/ListToolbar/ListToolbar.mocks.jsx.map +1 -1
  15. package/jsx/core/ListToolbar/ListToolbar.stories.d.ts +7 -2
  16. package/jsx/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
  17. package/jsx/core/ListToolbar/ListToolbar.stories.jsx +30 -9
  18. package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
  19. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +3 -0
  20. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  21. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx +2 -2
  22. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx.map +1 -1
  23. package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
  24. package/jsx/rte/Editor/Editor.stories.jsx +14 -1
  25. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  26. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts +1 -0
  27. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  28. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +67 -4
  29. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
  30. package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts +8 -3
  31. package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  32. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +67 -12
  33. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
  34. package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
  35. package/jsx/social/Chat/Chat.mocks.js +44 -1
  36. package/jsx/social/Chat/Chat.mocks.js.map +1 -1
  37. package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
  38. package/jsx/social/Chat/Chat.stories.jsx +0 -1
  39. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  40. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  41. package/jsx/social/Feed/Feed.stories.jsx +2 -0
  42. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  43. package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts +2 -0
  44. package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -1
  45. package/jsx/work/ArticleList/ArticleBuddy.stories.jsx +40 -14
  46. package/jsx/work/ArticleList/ArticleBuddy.stories.jsx.map +1 -1
  47. package/jsx/work/ArticleList/ArticleList.mocks.d.ts +66 -3
  48. package/jsx/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
  49. package/jsx/work/ArticleList/ArticleList.mocks.js +15 -25
  50. package/jsx/work/ArticleList/ArticleList.mocks.js.map +1 -1
  51. package/jsx/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
  52. package/jsx/work/ArticleList/ArticleList.stories.jsx +41 -20
  53. package/jsx/work/ArticleList/ArticleList.stories.jsx.map +1 -1
  54. package/jsx/work/Assignments/Assignments.stories.jsx +2 -2
  55. package/jsx/work/Assignments/Assignments.stories.jsx.map +1 -1
  56. package/jsx/work/CaseView/CaseView.mocks.d.ts +6 -2
  57. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  58. package/jsx/work/CaseView/CaseView.mocks.jsx +64 -30
  59. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  60. package/jsx/work/Stakeholders/Stakeholders.stories.d.ts +4 -1
  61. package/jsx/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
  62. package/jsx/work/Stakeholders/Stakeholders.stories.jsx +14 -6
  63. package/jsx/work/Stakeholders/Stakeholders.stories.jsx.map +1 -1
  64. package/lib/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
  65. package/lib/core/DateTime/DateTimeDisplay.stories.js +10 -5
  66. package/lib/core/DateTime/DateTimeDisplay.stories.js.map +1 -1
  67. package/lib/core/Lightbox/Lightbox.mocks.d.ts +15 -8
  68. package/lib/core/Lightbox/Lightbox.mocks.d.ts.map +1 -1
  69. package/lib/core/Lightbox/Lightbox.mocks.js +64 -24
  70. package/lib/core/Lightbox/Lightbox.mocks.js.map +1 -1
  71. package/lib/core/Lightbox/Lightbox.stories.d.ts.map +1 -1
  72. package/lib/core/Lightbox/Lightbox.stories.js +36 -21
  73. package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
  74. package/lib/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
  75. package/lib/core/ListToolbar/ListToolbar.mocks.js +7 -13
  76. package/lib/core/ListToolbar/ListToolbar.mocks.js.map +1 -1
  77. package/lib/core/ListToolbar/ListToolbar.stories.d.ts +7 -2
  78. package/lib/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
  79. package/lib/core/ListToolbar/ListToolbar.stories.js +30 -9
  80. package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
  81. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +3 -0
  82. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  83. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +2 -2
  84. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
  85. package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
  86. package/lib/rte/Editor/Editor.stories.js +8 -1
  87. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  88. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts +1 -0
  89. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  90. package/lib/rte/RichTextEditor/RichTextEditor.stories.js +37 -5
  91. package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  92. package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts +8 -3
  93. package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  94. package/lib/rte/RichTextEditor/RichTextViewer.stories.js +66 -11
  95. package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
  96. package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
  97. package/lib/social/Chat/Chat.mocks.js +44 -1
  98. package/lib/social/Chat/Chat.mocks.js.map +1 -1
  99. package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
  100. package/lib/social/Chat/Chat.stories.js +0 -1
  101. package/lib/social/Chat/Chat.stories.js.map +1 -1
  102. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  103. package/lib/social/Feed/Feed.stories.js +2 -0
  104. package/lib/social/Feed/Feed.stories.js.map +1 -1
  105. package/lib/work/ArticleList/ArticleBuddy.stories.d.ts +2 -0
  106. package/lib/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -1
  107. package/lib/work/ArticleList/ArticleBuddy.stories.js +38 -14
  108. package/lib/work/ArticleList/ArticleBuddy.stories.js.map +1 -1
  109. package/lib/work/ArticleList/ArticleList.mocks.d.ts +66 -3
  110. package/lib/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
  111. package/lib/work/ArticleList/ArticleList.mocks.js +15 -25
  112. package/lib/work/ArticleList/ArticleList.mocks.js.map +1 -1
  113. package/lib/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
  114. package/lib/work/ArticleList/ArticleList.stories.js +41 -20
  115. package/lib/work/ArticleList/ArticleList.stories.js.map +1 -1
  116. package/lib/work/Assignments/Assignments.stories.js +2 -2
  117. package/lib/work/Assignments/Assignments.stories.js.map +1 -1
  118. package/lib/work/CaseView/CaseView.mocks.d.ts +6 -2
  119. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  120. package/lib/work/CaseView/CaseView.mocks.js +55 -22
  121. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  122. package/lib/work/Stakeholders/Stakeholders.stories.d.ts +4 -1
  123. package/lib/work/Stakeholders/Stakeholders.stories.d.ts.map +1 -1
  124. package/lib/work/Stakeholders/Stakeholders.stories.js +14 -6
  125. package/lib/work/Stakeholders/Stakeholders.stories.js.map +1 -1
  126. package/package.json +11 -10
@@ -381,16 +381,22 @@ export const Utilities = ({ predictions, attachments, stakeholders, followers, t
381
381
  {tags && <TagsDemo />}
382
382
  </>);
383
383
  };
384
- export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholders, followers, tags, setDialogTarget, setDialogContent, setShowDialog }) => {
384
+ export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholders, followers, tags, hideStakeholdersAddNew, setDialogTarget, setDialogContent, setShowDialog, dialogTarget, showDialog }) => {
385
385
  const items = [];
386
386
  if (predictions)
387
387
  items.push({
388
388
  iconName: 'polaris',
389
389
  name: 'Predictions',
390
390
  onClick: e => {
391
- setDialogTarget(e.currentTarget);
392
- setDialogContent(<PredictionsDemo />);
393
- setShowDialog(true);
391
+ if (dialogTarget !== e.currentTarget || !showDialog) {
392
+ setDialogTarget(e.currentTarget);
393
+ setDialogContent(<PredictionsDemo />);
394
+ setShowDialog(true);
395
+ }
396
+ else {
397
+ setDialogTarget(null);
398
+ setShowDialog(false);
399
+ }
394
400
  }
395
401
  });
396
402
  if (attachments)
@@ -399,9 +405,15 @@ export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholder
399
405
  count: 4,
400
406
  name: 'Attachments',
401
407
  onClick: e => {
402
- setDialogTarget(e.currentTarget);
403
- setDialogContent(<AttachmentsMock />);
404
- setShowDialog(true);
408
+ if (dialogTarget !== e.currentTarget || !showDialog) {
409
+ setDialogTarget(e.currentTarget);
410
+ setDialogContent(<AttachmentsMock />);
411
+ setShowDialog(true);
412
+ }
413
+ else {
414
+ setDialogTarget(null);
415
+ setShowDialog(false);
416
+ }
405
417
  }
406
418
  });
407
419
  if (stakeholders)
@@ -410,9 +422,15 @@ export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholder
410
422
  count: 10,
411
423
  name: 'Stakeholders',
412
424
  onClick: e => {
413
- setDialogTarget(e.currentTarget);
414
- setDialogContent(<StakeHoldersDemo />);
415
- setShowDialog(true);
425
+ if (dialogTarget !== e.currentTarget || !showDialog) {
426
+ setDialogTarget(e.currentTarget);
427
+ setDialogContent(<StakeHoldersDemo hideAddNew={hideStakeholdersAddNew}/>);
428
+ setShowDialog(true);
429
+ }
430
+ else {
431
+ setDialogTarget(null);
432
+ setShowDialog(false);
433
+ }
416
434
  }
417
435
  });
418
436
  if (followers)
@@ -421,9 +439,15 @@ export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholder
421
439
  count: 5,
422
440
  name: 'Followers',
423
441
  onClick: e => {
424
- setDialogTarget(e.currentTarget);
425
- setDialogContent(<MockSummaryList icon='user-star' name='Followers'/>);
426
- setShowDialog(true);
442
+ if (dialogTarget !== e.currentTarget || !showDialog) {
443
+ setDialogTarget(e.currentTarget);
444
+ setDialogContent(<MockSummaryList icon='user-star' name='Followers'/>);
445
+ setShowDialog(true);
446
+ }
447
+ else {
448
+ setDialogTarget(null);
449
+ setShowDialog(false);
450
+ }
427
451
  }
428
452
  });
429
453
  if (tags)
@@ -432,9 +456,15 @@ export const getUtilitiesSummaryItems = ({ predictions, attachments, stakeholder
432
456
  count: 10,
433
457
  name: 'Tags',
434
458
  onClick: e => {
435
- setDialogTarget(e.currentTarget);
436
- setDialogContent(<TagsDemo />);
437
- setShowDialog(true);
459
+ if (dialogTarget !== e.currentTarget || !showDialog) {
460
+ setDialogTarget(e.currentTarget);
461
+ setDialogContent(<TagsDemo />);
462
+ setShowDialog(true);
463
+ }
464
+ else {
465
+ setDialogTarget(null);
466
+ setShowDialog(false);
467
+ }
438
468
  }
439
469
  });
440
470
  return items;
@@ -495,7 +525,7 @@ export const PersistentUtilityContent = () => {
495
525
  Persistent utility content
496
526
  </Flex>);
497
527
  };
498
- export const CaseViewMock = ({ caseId: caseIdProp, heading, subheading, parentCases = false, promotedActions = 1, summaryFields = 'All', tabs, stages = true, tasks = true, taskCount = 4, utilitiesExpanded: utilitiesExpandedProp = true, predictions = true, attachments = true, stakeholders = true, followers = true, tags = true, persistentUtility = false, intelligentGuidance = false, banner = false, headingLength, defaultExpanded }) => {
528
+ export const CaseViewMock = ({ caseId: caseIdProp, heading, subheading, parentCases = false, promotedActions = 1, summaryFields = 'All', tabs, stages = true, tasks = true, taskCount = 4, utilitiesExpanded: utilitiesExpandedProp = true, predictions = true, attachments = true, stakeholders = true, followers = true, tags = true, persistentUtility = false, intelligentGuidance = false, banner = false, headingLength, defaultExpanded, hideStakeholdersAddNew }) => {
499
529
  const [previewCaseId, setPreviewCaseId] = useState(null);
500
530
  const [previewCurrentTabId, setPreviewCurrentTabId] = useState(baseCaseTabs[0].id);
501
531
  const isMediumOrAbove = useBreakpoint('md');
@@ -527,18 +557,19 @@ export const CaseViewMock = ({ caseId: caseIdProp, heading, subheading, parentCa
527
557
  setPreviewCurrentTabId
528
558
  });
529
559
  return (<>
530
- {previewCaseId && (<CasePreview open onAfterClose={() => {
531
- setPreviewCaseId(null);
532
- }} caseId={previewCaseId} parentCases={Math.random() > 0.5
533
- ? [...parentCasesContent]
534
- .filter(c => c.id !== previewCaseId)
535
- .map(c => ({ ...c, id: `preview-${c.id}` }))
536
- : undefined} heading='Previewable demo case' subheading={previewCaseId} caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }} icon='user-solid' followed={!followed} onEdit={() => { }} actions={getCaseActions()} promotedActions={getPromotedActions(2)} summaryFields={{
537
- primary: casePreviewPrimaryFields,
538
- secondary: casePreviewSecondaryFields
539
- }} stages={demoStages} tasks={<AssignmentsDemo count={4}/>} tabs={previewTabs} tabContent={tabContent} utilities={<Grid container={{ rowGap: 2 }}>
540
- <Utilities predictions={predictions} attachments={attachments} stakeholders={stakeholders} followers={followers} tags={tags}/>
541
- </Grid>}/>)}
560
+ <CasePreview open={!!previewCaseId} onAfterClose={() => {
561
+ setPreviewCaseId(null);
562
+ }} caseId={previewCaseId || ''} parentCases={Math.random() > 0.5
563
+ ? [...parentCasesContent]
564
+ .filter(c => c.id !== previewCaseId)
565
+ .map(c => ({ ...c, id: `preview-${c.id}` }))
566
+ : undefined} heading='Previewable demo case' subheading={previewCaseId || ''} caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }} icon='user-solid' followed={!followed} onEdit={() => { }} actions={getCaseActions()} promotedActions={getPromotedActions(2)} summaryFields={{
567
+ primary: casePreviewPrimaryFields,
568
+ secondary: casePreviewSecondaryFields
569
+ }} stages={demoStages} tasks={<AssignmentsDemo count={4}/>} tabs={previewTabs} tabContent={tabContent} utilities={<Grid container={{ rowGap: 2 }}>
570
+ <Utilities predictions={predictions} attachments={attachments} stakeholders={stakeholders} followers={followers} tags={tags}/>
571
+ </Grid>}/>
572
+
542
573
  {dialogTarget && showDialog && (<UtilitySummaryItemDialog target={dialogTarget} onDismiss={() => {
543
574
  setShowDialog(false);
544
575
  }}>
@@ -577,9 +608,12 @@ export const CaseViewMock = ({ caseId: caseIdProp, heading, subheading, parentCa
577
608
  stakeholders,
578
609
  followers,
579
610
  tags,
611
+ hideStakeholdersAddNew,
580
612
  setDialogTarget,
581
613
  setDialogContent,
582
- setShowDialog
614
+ setShowDialog,
615
+ dialogTarget,
616
+ showDialog
583
617
  })} utilitiesExpanded={utilitiesExpanded} onToggleUtilities={() => {
584
618
  setUtilitiesExpanded(cur => !cur);
585
619
  }} intelligentGuidance={intelligentGuidance} banners={banner ? (<Banner variant='urgent' messages={[
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.mocks.jsx","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.jsx","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,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
- export declare const StakeHoldersDemo: StoryFn;
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,OA+H9B,CAAC"}
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"}
@@ -7,7 +7,7 @@ export default {
7
7
  title: 'Work/Stakeholders',
8
8
  component: Stakeholders
9
9
  };
10
- export const StakeHoldersDemo = () => {
10
+ export const StakeHoldersDemo = (args) => {
11
11
  const [loading, setLoading] = useState(true);
12
12
  const [mode, setMode] = useState();
13
13
  const [editing, setEditing] = useState(null);
@@ -78,14 +78,22 @@ export const StakeHoldersDemo = () => {
78
78
  }, [mode]);
79
79
  useEffect(() => {
80
80
  }, [editing]);
81
- return (<Stakeholders loading={loading} items={useMemo(() => addActions(mockStakeholders.slice(0, 3)), [addActions, mockStakeholders])} count={loading ? undefined : mockStakeholders.length} onAddNew={() => {
82
- setMode('add');
83
- setFormLoading(true);
84
- mockNetworkReq().then(() => setFormLoading(false));
85
- }} form={form} onViewAll={() => {
81
+ return (<Stakeholders loading={loading} items={useMemo(() => addActions(mockStakeholders.slice(0, 3)), [addActions, mockStakeholders])} count={loading ? undefined : mockStakeholders.length} onAddNew={args.hideAddNew
82
+ ? undefined
83
+ : () => {
84
+ setMode('add');
85
+ setFormLoading(true);
86
+ mockNetworkReq().then(() => setFormLoading(false));
87
+ }} form={form} onViewAll={() => {
86
88
  setMode('viewAll');
87
89
  setViewAllLoading(true);
88
90
  mockNetworkReq().then(() => setViewAllLoading(false));
89
91
  }} viewAll={viewAll}/>);
90
92
  };
93
+ StakeHoldersDemo.args = {
94
+ hideAddNew: false
95
+ };
96
+ StakeHoldersDemo.argTypes = {
97
+ hideAddNew: { control: { type: 'boolean' }, table: { disable: true } }
98
+ };
91
99
  //# sourceMappingURL=Stakeholders.stories.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stakeholders.stories.jsx","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.jsx","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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeDisplay.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAE1F,wBAEU;AAEV,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAQ7D,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAS7D,CAAC"}
1
+ {"version":3,"file":"DateTimeDisplay.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAE1F,wBAEU;AAEV,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAS7D,CAAC;AAmBF,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAS7D,CAAC"}
@@ -4,17 +4,22 @@ export default {
4
4
  title: 'Core/DateTime'
5
5
  };
6
6
  export const DurationDisplayDemo = (args) => {
7
- return (_jsx(DurationDisplay, { value: args.value, significantUnits: args.significantUnits, unitDisplay: args.unitDisplay }));
7
+ return (_jsx(DurationDisplay, { value: args.value, significantUnits: args.significantUnits, unitDisplay: args.unitDisplay, maxPrecision: args.maxPrecision }));
8
8
  };
9
9
  DurationDisplayDemo.args = {
10
10
  value: 462553844,
11
- significantUnits: 4,
12
- unitDisplay: undefined
11
+ significantUnits: 5,
12
+ unitDisplay: undefined,
13
+ maxPrecision: undefined
13
14
  };
14
15
  DurationDisplayDemo.argTypes = {
15
16
  value: { control: { type: 'number' } },
16
- significantUnits: { options: [1, 2, 3, 4], control: { type: 'select' } },
17
- unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } }
17
+ significantUnits: { options: [1, 2, 3, 4, 5], control: { type: 'select' } },
18
+ unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } },
19
+ maxPrecision: {
20
+ options: [undefined, 'day', 'hour', 'minute', 'second', 'millisecond'],
21
+ control: { type: 'select' }
22
+ }
18
23
  };
19
24
  export const DateTimeDisplayDemo = (args) => {
20
25
  return (_jsx(DateTimeDisplay, { value: args.value, variant: args.variant, format: args.format, clockFormat: args.clockFormat }));
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeDisplay.stories.js","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG3E,eAAe;IACb,KAAK,EAAE,eAAe;CACf,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAkC,CAAC,IAA0B,EAAE,EAAE;IAC/F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,SAAS;IAChB,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACtC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACxE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;CAC9F,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,CAAC,IAA0B,EAAE,EAAE;IAC/F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACpC,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM;YACN,UAAU;YACV,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,WAAW;YACX,aAAa;YACb,UAAU;SACX;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC9E,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;KAClC;CACF,CAAC","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { DateTimeDisplay, DurationDisplay } from '@pega/cosmos-react-core';\nimport type { DateTimeDisplayProps, DurationDisplayProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/DateTime'\n} as Meta;\n\nexport const DurationDisplayDemo: StoryFn<DurationDisplayProps> = (args: DurationDisplayProps) => {\n return (\n <DurationDisplay\n value={args.value}\n significantUnits={args.significantUnits}\n unitDisplay={args.unitDisplay}\n />\n );\n};\n\nDurationDisplayDemo.args = {\n value: 462553844,\n significantUnits: 4,\n unitDisplay: undefined\n};\n\nDurationDisplayDemo.argTypes = {\n value: { control: { type: 'number' } },\n significantUnits: { options: [1, 2, 3, 4], control: { type: 'select' } },\n unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } }\n};\n\nexport const DateTimeDisplayDemo: StoryFn<DateTimeDisplayProps> = (args: DateTimeDisplayProps) => {\n return (\n <DateTimeDisplay\n value={args.value}\n variant={args.variant}\n format={args.format}\n clockFormat={args.clockFormat}\n />\n );\n};\n\nDateTimeDisplayDemo.args = {\n value: new Date(),\n variant: 'date',\n format: 'short',\n clockFormat: undefined\n};\n\nDateTimeDisplayDemo.argTypes = {\n value: { control: { type: 'date' } },\n variant: {\n options: [\n 'date',\n 'datetime',\n 'time',\n 'week',\n 'month',\n 'year',\n 'monthyear',\n 'quarteryear',\n 'relative'\n ],\n control: { type: 'select' }\n },\n format: { options: ['short', 'long', 'numeric'], control: { type: 'select' } },\n clockFormat: {\n options: [undefined, 12, 24],\n control: { type: 'inline-radio' }\n }\n};\n"]}
1
+ {"version":3,"file":"DateTimeDisplay.stories.js","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG3E,eAAe;IACb,KAAK,EAAE,eAAe;CACf,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAkC,CAAC,IAA0B,EAAE,EAAE;IAC/F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,GAC/B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,SAAS;IAChB,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACtC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC3E,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC7F,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;QACtE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,CAAC,IAA0B,EAAE,EAAE;IAC/F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACpC,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM;YACN,UAAU;YACV,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,WAAW;YACX,aAAa;YACb,UAAU;SACX;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC9E,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;KAClC;CACF,CAAC","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { DateTimeDisplay, DurationDisplay } from '@pega/cosmos-react-core';\nimport type { DateTimeDisplayProps, DurationDisplayProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/DateTime'\n} as Meta;\n\nexport const DurationDisplayDemo: StoryFn<DurationDisplayProps> = (args: DurationDisplayProps) => {\n return (\n <DurationDisplay\n value={args.value}\n significantUnits={args.significantUnits}\n unitDisplay={args.unitDisplay}\n maxPrecision={args.maxPrecision}\n />\n );\n};\n\nDurationDisplayDemo.args = {\n value: 462553844,\n significantUnits: 5,\n unitDisplay: undefined,\n maxPrecision: undefined\n};\n\nDurationDisplayDemo.argTypes = {\n value: { control: { type: 'number' } },\n significantUnits: { options: [1, 2, 3, 4, 5], control: { type: 'select' } },\n unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } },\n maxPrecision: {\n options: [undefined, 'day', 'hour', 'minute', 'second', 'millisecond'],\n control: { type: 'select' }\n }\n};\n\nexport const DateTimeDisplayDemo: StoryFn<DateTimeDisplayProps> = (args: DateTimeDisplayProps) => {\n return (\n <DateTimeDisplay\n value={args.value}\n variant={args.variant}\n format={args.format}\n clockFormat={args.clockFormat}\n />\n );\n};\n\nDateTimeDisplayDemo.args = {\n value: new Date(),\n variant: 'date',\n format: 'short',\n clockFormat: undefined\n};\n\nDateTimeDisplayDemo.argTypes = {\n value: { control: { type: 'date' } },\n variant: {\n options: [\n 'date',\n 'datetime',\n 'time',\n 'week',\n 'month',\n 'year',\n 'monthyear',\n 'quarteryear',\n 'relative'\n ],\n control: { type: 'select' }\n },\n format: { options: ['short', 'long', 'numeric'], control: { type: 'select' } },\n clockFormat: {\n options: [undefined, 12, 24],\n control: { type: 'inline-radio' }\n }\n};\n"]}
@@ -1,15 +1,22 @@
1
- export declare const mockAPIImageResources: {
1
+ export declare const mockData: ({
2
2
  id: string;
3
3
  name: string;
4
4
  description: string;
5
- mime_type: string;
6
- media_url: string;
7
- }[];
8
- export declare const mockBadImageResource: {
5
+ format: string;
6
+ src: string;
7
+ } | {
9
8
  id: string;
10
9
  name: string;
11
10
  description: string;
12
- mime_type: string;
13
- media_url: string;
14
- };
11
+ format: string;
12
+ src: null;
13
+ })[];
14
+ export declare const mockBadResources: {
15
+ id: string;
16
+ name: string;
17
+ description: string;
18
+ src: string;
19
+ format: undefined;
20
+ error: boolean;
21
+ }[];
15
22
  //# sourceMappingURL=Lightbox.mocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.mocks.d.ts","sourceRoot":"","sources":["../../../src/core/Lightbox/Lightbox.mocks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;GAyDjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC"}
1
+ {"version":3,"file":"Lightbox.mocks.d.ts","sourceRoot":"","sources":["../../../src/core/Lightbox/Lightbox.mocks.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ;;;;;;;;;;;;IAsFpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;GAS5B,CAAC"}