@pega/cosmos-react-demos 4.0.0-dev.12.0 → 4.0.0-dev.13.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 (141) hide show
  1. package/jsx/build/AppShell/AppShell.mocks.d.ts +10 -0
  2. package/jsx/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  3. package/jsx/build/AppShell/AppShell.mocks.jsx +11 -0
  4. package/jsx/build/AppShell/AppShell.mocks.jsx.map +1 -1
  5. package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
  6. package/jsx/build/AppShell/AppShell.stories.jsx +2 -2
  7. package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
  8. package/jsx/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  9. package/jsx/core/Checkbox/Checkbox.stories.jsx +3 -1
  10. package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
  11. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
  12. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx +7 -4
  13. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx.map +1 -1
  14. package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
  15. package/jsx/core/DateTime/DateTime.stories.jsx +5 -3
  16. package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
  17. package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts +1 -0
  18. package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
  19. package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx +3 -1
  20. package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx.map +1 -1
  21. package/jsx/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  22. package/jsx/core/RadioButton/RadioButton.stories.jsx +3 -1
  23. package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
  24. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  25. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx +8 -4
  26. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx.map +1 -1
  27. package/jsx/core/SummaryList/SummaryList.mocks.d.ts.map +1 -1
  28. package/jsx/core/SummaryList/SummaryList.mocks.jsx +7 -1
  29. package/jsx/core/SummaryList/SummaryList.mocks.jsx.map +1 -1
  30. package/jsx/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
  31. package/jsx/cs/CSAppShell/CSAppShell.stories.jsx +5 -3
  32. package/jsx/cs/CSAppShell/CSAppShell.stories.jsx.map +1 -1
  33. package/jsx/cs/InteractionTimer/InteractionTimer.stories.d.ts +1 -0
  34. package/jsx/cs/InteractionTimer/InteractionTimer.stories.d.ts.map +1 -1
  35. package/jsx/cs/InteractionTimer/InteractionTimer.stories.jsx +12 -5
  36. package/jsx/cs/InteractionTimer/InteractionTimer.stories.jsx.map +1 -1
  37. package/jsx/social/Chat/Chat.mocks.d.ts +10 -3
  38. package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
  39. package/jsx/social/Chat/Chat.mocks.js +12 -4
  40. package/jsx/social/Chat/Chat.mocks.js.map +1 -1
  41. package/jsx/social/Chat/Chat.stories.d.ts +1 -0
  42. package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
  43. package/jsx/social/Chat/Chat.stories.jsx +18 -21
  44. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  45. package/jsx/work/CaseView/Attachments.mocks.d.ts.map +1 -1
  46. package/jsx/work/CaseView/Attachments.mocks.jsx +11 -4
  47. package/jsx/work/CaseView/Attachments.mocks.jsx.map +1 -1
  48. package/jsx/work/CaseView/CaseView.mocks.d.ts +38 -8
  49. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  50. package/jsx/work/CaseView/CaseView.mocks.jsx +77 -35
  51. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  52. package/jsx/work/CaseView/CaseView.stories.d.ts +2 -7
  53. package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
  54. package/jsx/work/CaseView/CaseView.stories.jsx +35 -10
  55. package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
  56. package/jsx/work/Details/Details.stories.d.ts.map +1 -1
  57. package/jsx/work/Details/Details.stories.jsx +3 -5
  58. package/jsx/work/Details/Details.stories.jsx.map +1 -1
  59. package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
  60. package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.jsx +5 -4
  61. package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
  62. package/jsx/work/Tags/Tags.stories.d.ts.map +1 -1
  63. package/jsx/work/Tags/Tags.stories.jsx +6 -1
  64. package/jsx/work/Tags/Tags.stories.jsx.map +1 -1
  65. package/jsx/work/Tasks/Tasks.stories.d.ts.map +1 -1
  66. package/jsx/work/Tasks/Tasks.stories.jsx +29 -21
  67. package/jsx/work/Tasks/Tasks.stories.jsx.map +1 -1
  68. package/jsx/wss/CaseView/CaseView.stories.d.ts.map +1 -1
  69. package/jsx/wss/CaseView/CaseView.stories.jsx +8 -2
  70. package/jsx/wss/CaseView/CaseView.stories.jsx.map +1 -1
  71. package/lib/build/AppShell/AppShell.mocks.d.ts +10 -0
  72. package/lib/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  73. package/lib/build/AppShell/AppShell.mocks.js +11 -0
  74. package/lib/build/AppShell/AppShell.mocks.js.map +1 -1
  75. package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
  76. package/lib/build/AppShell/AppShell.stories.js +2 -2
  77. package/lib/build/AppShell/AppShell.stories.js.map +1 -1
  78. package/lib/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  79. package/lib/core/Checkbox/Checkbox.stories.js +3 -1
  80. package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
  81. package/lib/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
  82. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js +7 -4
  83. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
  84. package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
  85. package/lib/core/DateTime/DateTime.stories.js +5 -3
  86. package/lib/core/DateTime/DateTime.stories.js.map +1 -1
  87. package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts +1 -0
  88. package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
  89. package/lib/core/MultiStepForm/MultiStepForm.stories.js +3 -1
  90. package/lib/core/MultiStepForm/MultiStepForm.stories.js.map +1 -1
  91. package/lib/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  92. package/lib/core/RadioButton/RadioButton.stories.js +3 -1
  93. package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
  94. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  95. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +8 -4
  96. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
  97. package/lib/core/SummaryList/SummaryList.mocks.d.ts.map +1 -1
  98. package/lib/core/SummaryList/SummaryList.mocks.js +8 -1
  99. package/lib/core/SummaryList/SummaryList.mocks.js.map +1 -1
  100. package/lib/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
  101. package/lib/cs/CSAppShell/CSAppShell.stories.js +5 -3
  102. package/lib/cs/CSAppShell/CSAppShell.stories.js.map +1 -1
  103. package/lib/cs/InteractionTimer/InteractionTimer.stories.d.ts +1 -0
  104. package/lib/cs/InteractionTimer/InteractionTimer.stories.d.ts.map +1 -1
  105. package/lib/cs/InteractionTimer/InteractionTimer.stories.js +12 -5
  106. package/lib/cs/InteractionTimer/InteractionTimer.stories.js.map +1 -1
  107. package/lib/social/Chat/Chat.mocks.d.ts +10 -3
  108. package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
  109. package/lib/social/Chat/Chat.mocks.js +12 -4
  110. package/lib/social/Chat/Chat.mocks.js.map +1 -1
  111. package/lib/social/Chat/Chat.stories.d.ts +1 -0
  112. package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
  113. package/lib/social/Chat/Chat.stories.js +18 -21
  114. package/lib/social/Chat/Chat.stories.js.map +1 -1
  115. package/lib/work/CaseView/Attachments.mocks.d.ts.map +1 -1
  116. package/lib/work/CaseView/Attachments.mocks.js +12 -4
  117. package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
  118. package/lib/work/CaseView/CaseView.mocks.d.ts +38 -8
  119. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  120. package/lib/work/CaseView/CaseView.mocks.js +73 -31
  121. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  122. package/lib/work/CaseView/CaseView.stories.d.ts +2 -7
  123. package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
  124. package/lib/work/CaseView/CaseView.stories.js +35 -10
  125. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  126. package/lib/work/Details/Details.stories.d.ts.map +1 -1
  127. package/lib/work/Details/Details.stories.js +1 -1
  128. package/lib/work/Details/Details.stories.js.map +1 -1
  129. package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
  130. package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.js +5 -4
  131. package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
  132. package/lib/work/Tags/Tags.stories.d.ts.map +1 -1
  133. package/lib/work/Tags/Tags.stories.js +7 -1
  134. package/lib/work/Tags/Tags.stories.js.map +1 -1
  135. package/lib/work/Tasks/Tasks.stories.d.ts.map +1 -1
  136. package/lib/work/Tasks/Tasks.stories.js +28 -19
  137. package/lib/work/Tasks/Tasks.stories.js.map +1 -1
  138. package/lib/wss/CaseView/CaseView.stories.d.ts.map +1 -1
  139. package/lib/wss/CaseView/CaseView.stories.js +5 -3
  140. package/lib/wss/CaseView/CaseView.stories.js.map +1 -1
  141. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.stories.d.ts","sourceRoot":"","sources":["../../../src/core/RadioButton/RadioButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAA8B,eAAe,EAAE,MAAM,yBAAyB,CAAC;;AAEtF,wBAoBU;AAEV,UAAU,oBAAqB,SAAQ,eAAe;IACpD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,oBAAoB,CAkB1D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAmBvD,CAAC;AAEF,UAAU,4BAA6B,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,4BAA4B,CAwCvE,CAAC"}
1
+ {"version":3,"file":"RadioButton.stories.d.ts","sourceRoot":"","sources":["../../../src/core/RadioButton/RadioButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAA8B,eAAe,EAAE,MAAM,yBAAyB,CAAC;;AAEtF,wBAsBU;AAEV,UAAU,oBAAqB,SAAQ,eAAe;IACpD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,oBAAoB,CAmB1D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAmBvD,CAAC;AAEF,UAAU,4BAA6B,SAAQ,eAAe;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,4BAA4B,CAwCvE,CAAC"}
@@ -6,6 +6,7 @@ export default {
6
6
  excludeStories: ['ConfigurableRadioButton'],
7
7
  args: {
8
8
  status: undefined,
9
+ info: 'You must select it',
9
10
  label: 'Choose me',
10
11
  required: false,
11
12
  disabled: false,
@@ -14,6 +15,7 @@ export default {
14
15
  },
15
16
  argTypes: {
16
17
  status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
18
+ info: { control: { type: 'text' } },
17
19
  label: { control: { type: 'text' } },
18
20
  required: { control: { type: 'boolean' } },
19
21
  disabled: { control: { type: 'boolean' } },
@@ -27,7 +29,7 @@ export const DefaultRadioButton = (args) => {
27
29
  heading: 'Additional Info',
28
30
  content: 'Some additional info'
29
31
  }
30
- : undefined, status: args.status, label: args.label, required: args.required, disabled: args.disabled, readOnly: args.readOnly }));
32
+ : undefined, status: args.status, info: args.info, label: args.label, required: args.required, disabled: args.disabled, readOnly: args.readOnly }));
31
33
  };
32
34
  export const RadioButtonCard = (args) => {
33
35
  return (_jsx(RadioButton, { additionalInfo: args.showAdditionalInfo
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.stories.js","sourceRoot":"","sources":["../../../src/core/RadioButton/RadioButton.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport { Configuration, RadioButton, RadioCheckProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/RadioButton',\n component: RadioButton,\n excludeStories: ['ConfigurableRadioButton'],\n args: {\n status: undefined,\n label: 'Choose me',\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true\n },\n argTypes: {\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface RadioCheckStoryProps extends RadioCheckProps {\n showAdditionalInfo?: boolean;\n}\n\nexport const DefaultRadioButton: Story<RadioCheckStoryProps> = (args: RadioCheckStoryProps) => {\n return (\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n status={args.status}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nexport const RadioButtonCard: Story<RadioCheckStoryProps> = (args: RadioCheckStoryProps) => {\n return (\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n status={args.status}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\ninterface ConfigurableRadioButtonProps extends RadioCheckProps {\n size?: string;\n backgroundColor?: string;\n borderColor?: string;\n borderWidth?: string;\n borderRadius?: string;\n labelColor?: string;\n labelFontWeight?: string;\n checkedBackgroundColor?: string;\n checkedBorderColor?: string;\n showAdditionalInfo?: boolean;\n}\n\nexport const ConfigurableRadioButton: Story<ConfigurableRadioButtonProps> = (\n args: ConfigurableRadioButtonProps\n) => {\n return (\n <Configuration\n theme={{\n components: {\n 'radio-button': {\n 'border-radius': args.borderRadius\n },\n 'radio-check': {\n 'border-color': args.borderColor,\n 'border-width': args.borderWidth,\n 'background-color': args.backgroundColor,\n label: {\n color: args.labelColor,\n 'font-weight': args.labelFontWeight\n },\n size: args.size,\n ':checked': {\n 'background-color': args.checkedBackgroundColor,\n 'border-color': args.checkedBorderColor\n }\n }\n }\n }}\n >\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='Configurable Radio Button'\n />\n </Configuration>\n );\n};\n\nConfigurableRadioButton.args = {\n size: '1.25rem',\n backgroundColor: '#ffffff',\n borderColor: '#939393',\n borderWidth: '0.0625rem',\n borderRadius: '50%',\n labelColor: '#939393',\n labelFontWeight: '400',\n checkedBackgroundColor: '#076bc9',\n checkedBorderColor: '#076bc9'\n};\n\nConfigurableRadioButton.argTypes = {\n size: { control: { type: 'text' } },\n backgroundColor: { control: { type: 'color' } },\n borderColor: { control: { type: 'color' } },\n borderWidth: { control: { type: 'text' } },\n borderRadius: { control: { type: 'text' } },\n labelColor: { control: { type: 'color' } },\n labelFontWeight: { control: { type: 'text' } },\n checkedBackgroundColor: { control: { type: 'color' } },\n checkedBorderColor: { control: { type: 'color' } },\n status: { table: { disable: true } },\n label: { table: { disable: true } },\n required: { table: { disable: true } },\n disabled: { table: { disable: true } },\n readOnly: { table: { disable: true } }\n};\n"]}
1
+ {"version":3,"file":"RadioButton.stories.js","sourceRoot":"","sources":["../../../src/core/RadioButton/RadioButton.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport { Configuration, RadioButton, RadioCheckProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/RadioButton',\n component: RadioButton,\n excludeStories: ['ConfigurableRadioButton'],\n args: {\n status: undefined,\n info: 'You must select it',\n label: 'Choose me',\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true\n },\n argTypes: {\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n info: { control: { type: 'text' } },\n label: { control: { type: 'text' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface RadioCheckStoryProps extends RadioCheckProps {\n showAdditionalInfo?: boolean;\n}\n\nexport const DefaultRadioButton: Story<RadioCheckStoryProps> = (args: RadioCheckStoryProps) => {\n return (\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n status={args.status}\n info={args.info}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nexport const RadioButtonCard: Story<RadioCheckStoryProps> = (args: RadioCheckStoryProps) => {\n return (\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n status={args.status}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\ninterface ConfigurableRadioButtonProps extends RadioCheckProps {\n size?: string;\n backgroundColor?: string;\n borderColor?: string;\n borderWidth?: string;\n borderRadius?: string;\n labelColor?: string;\n labelFontWeight?: string;\n checkedBackgroundColor?: string;\n checkedBorderColor?: string;\n showAdditionalInfo?: boolean;\n}\n\nexport const ConfigurableRadioButton: Story<ConfigurableRadioButtonProps> = (\n args: ConfigurableRadioButtonProps\n) => {\n return (\n <Configuration\n theme={{\n components: {\n 'radio-button': {\n 'border-radius': args.borderRadius\n },\n 'radio-check': {\n 'border-color': args.borderColor,\n 'border-width': args.borderWidth,\n 'background-color': args.backgroundColor,\n label: {\n color: args.labelColor,\n 'font-weight': args.labelFontWeight\n },\n size: args.size,\n ':checked': {\n 'background-color': args.checkedBackgroundColor,\n 'border-color': args.checkedBorderColor\n }\n }\n }\n }}\n >\n <RadioButton\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='Configurable Radio Button'\n />\n </Configuration>\n );\n};\n\nConfigurableRadioButton.args = {\n size: '1.25rem',\n backgroundColor: '#ffffff',\n borderColor: '#939393',\n borderWidth: '0.0625rem',\n borderRadius: '50%',\n labelColor: '#939393',\n labelFontWeight: '400',\n checkedBackgroundColor: '#076bc9',\n checkedBorderColor: '#076bc9'\n};\n\nConfigurableRadioButton.argTypes = {\n size: { control: { type: 'text' } },\n backgroundColor: { control: { type: 'color' } },\n borderColor: { control: { type: 'color' } },\n borderWidth: { control: { type: 'text' } },\n borderRadius: { control: { type: 'text' } },\n labelColor: { control: { type: 'color' } },\n labelFontWeight: { control: { type: 'text' } },\n checkedBackgroundColor: { control: { type: 'color' } },\n checkedBorderColor: { control: { type: 'color' } },\n status: { table: { disable: true } },\n label: { table: { disable: true } },\n required: { table: { disable: true } },\n disabled: { table: { disable: true } },\n readOnly: { table: { disable: true } }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/RadioButtonGroup/RadioButtonGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAML,oBAAoB,EAEpB,UAAU,EACX,MAAM,yBAAyB,CAAC;;AAIjC,wBAuBU;AAEV,UAAU,yBAA0B,SAAQ,oBAAoB;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAiFzF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAwFzF,CAAC"}
1
+ {"version":3,"file":"RadioButtonGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/RadioButtonGroup/RadioButtonGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAML,oBAAoB,EAEpB,UAAU,EACX,MAAM,yBAAyB,CAAC;;AAIjC,wBA2BU;AAEV,UAAU,yBAA0B,SAAQ,oBAAoB;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAqFzF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAwFzF,CAAC"}
@@ -12,7 +12,9 @@ export default {
12
12
  disabled: false,
13
13
  readOnly: false,
14
14
  showAdditionalInfo: true,
15
- showNestedAdditionalInfo: false
15
+ showNestedAdditionalInfo: false,
16
+ status: undefined,
17
+ info: 'You must select it'
16
18
  },
17
19
  argTypes: {
18
20
  labelHidden: { control: { type: 'boolean' } },
@@ -22,7 +24,9 @@ export default {
22
24
  disabled: { control: { type: 'boolean' } },
23
25
  readOnly: { control: { type: 'boolean' } },
24
26
  showAdditionalInfo: { control: { type: 'boolean' } },
25
- showNestedAdditionalInfo: { control: { type: 'boolean' } }
27
+ showNestedAdditionalInfo: { control: { type: 'boolean' } },
28
+ status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
29
+ info: { control: { type: 'text' } }
26
30
  }
27
31
  };
28
32
  export const RadioButtonGroupDemo = (args) => {
@@ -31,7 +35,7 @@ export const RadioButtonGroupDemo = (args) => {
31
35
  heading: 'Additional Info',
32
36
  content: 'Some additional info'
33
37
  }
34
- : undefined, label: 'What do you want to eat?', name: 'Fruit', labelHidden: args.labelHidden, inline: args.inline, autoStack: args.autoStack, required: args.required, disabled: args.disabled, readOnly: args.readOnly, children: [_jsx(RadioButton, { label: 'Banana', id: 'Banana', defaultChecked: true, additionalInfo: {
38
+ : undefined, label: 'What do you want to eat?', name: 'Fruit', labelHidden: args.labelHidden, inline: args.inline, autoStack: args.autoStack, required: args.required, disabled: args.disabled, readOnly: args.readOnly, status: args.status, info: args.info, children: [_jsx(RadioButton, { label: 'Banana', id: 'Banana', defaultChecked: true, additionalInfo: {
35
39
  heading: 'Additional Info',
36
40
  content: 'Some additional info'
37
41
  } }), _jsx(RadioButton, { label: 'Apple', id: 'Apple', additionalInfo: {
@@ -48,7 +52,7 @@ export const RadioButtonGroupDemo = (args) => {
48
52
  heading: 'Additional Info',
49
53
  content: 'Some additional info'
50
54
  }
51
- : undefined, label: 'What do you want to eat?', name: 'Fruit', labelHidden: args.labelHidden, inline: args.inline, autoStack: args.autoStack, required: args.required, disabled: args.disabled, readOnly: args.readOnly, children: [_jsx(RadioButton, { label: 'Banana', id: 'Banana', defaultChecked: true }), _jsx(RadioButton, { label: 'Apple', id: 'Apple' }), _jsx(RadioButton, { label: 'Mango', id: 'Mango' }), _jsx(RadioButton, { label: 'Orange', id: 'Orange' })] }));
55
+ : undefined, label: 'What do you want to eat?', name: 'Fruit', labelHidden: args.labelHidden, inline: args.inline, autoStack: args.autoStack, required: args.required, disabled: args.disabled, readOnly: args.readOnly, status: args.status, info: args.info, children: [_jsx(RadioButton, { label: 'Banana', id: 'Banana', defaultChecked: true }), _jsx(RadioButton, { label: 'Apple', id: 'Apple' }), _jsx(RadioButton, { label: 'Mango', id: 'Mango' }), _jsx(RadioButton, { label: 'Orange', id: 'Orange' })] }));
52
56
  };
53
57
  export const RadioButtonCardGroup = (args) => {
54
58
  return (_jsxs(RadioButtonGroup, { additionalInfo: args.showAdditionalInfo
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.stories.js","sourceRoot":"","sources":["../../../src/core/RadioButtonGroup/RadioButtonGroup.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport {\n FieldGroup,\n FieldValueList,\n Flex,\n RadioButton,\n RadioButtonGroup,\n RadioCheckGroupProps,\n Text,\n OmitStrict\n} from '@pega/cosmos-react-core';\n\nimport { Paragraph, StyledImage } from './RadioButtonGroup.styles';\n\nexport default {\n title: 'Core/RadioButtonGroup',\n component: RadioButtonGroup,\n args: {\n labelHidden: false,\n inline: false,\n autoStack: true,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true,\n showNestedAdditionalInfo: false\n },\n argTypes: {\n labelHidden: { control: { type: 'boolean' } },\n inline: { control: { type: 'boolean' } },\n autoStack: { control: { type: 'boolean' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n showNestedAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface RadioCheckGroupStoryProps extends RadioCheckGroupProps {\n showAdditionalInfo?: boolean;\n showNestedAdditionalInfo?: boolean;\n}\n\nexport const RadioButtonGroupDemo: Story<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return args.showNestedAdditionalInfo ? (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='What do you want to eat?'\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <RadioButton\n label='Banana'\n id='Banana'\n defaultChecked\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Apple'\n id='Apple'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Mango'\n id='Mango'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Orange'\n id='Orange'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n </RadioButtonGroup>\n ) : (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='What do you want to eat?'\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <RadioButton label='Banana' id='Banana' defaultChecked />\n <RadioButton label='Apple' id='Apple' />\n <RadioButton label='Mango' id='Mango' />\n <RadioButton label='Orange' id='Orange' />\n </RadioButtonGroup>\n );\n};\n\nexport const RadioButtonCardGroup: Story<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n label='Which visuals appear satisfying?'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <RadioButton\n additionalInfo={\n args.showNestedAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>A paragraph</Text>\n <Paragraph>\n This is a paragraph of text. It is meant to appear visually satisfying amongst the\n other options in this group.\n </Paragraph>\n </Flex>\n }\n id='paragraph'\n defaultChecked\n />\n <RadioButton\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n </Flex>\n }\n id='space-photo'\n />\n <RadioButton\n label={\n <Flex container={{ gap: 1, alignItems: 'start' }}>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <Paragraph>\n Space is the final frontier. There is so much to discover within Cosmos!\n </Paragraph>\n </Flex>\n </Flex>\n }\n id='cosmos'\n />\n <RadioButton\n label={\n <FieldGroup name='Gold service plan' headingTag='h3'>\n <FieldValueList\n fields={[\n { id: 'service', name: 'Service length', value: '1 year' },\n { id: 'monthly-cost', name: 'Monthly cost', value: '$180.00' },\n { id: 'total-cost', name: 'Total cost', value: '$2,160.00' }\n ]}\n />\n </FieldGroup>\n }\n id='phone-plan'\n />\n </RadioButtonGroup>\n );\n};\n"]}
1
+ {"version":3,"file":"RadioButtonGroup.stories.js","sourceRoot":"","sources":["../../../src/core/RadioButtonGroup/RadioButtonGroup.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport {\n FieldGroup,\n FieldValueList,\n Flex,\n RadioButton,\n RadioButtonGroup,\n RadioCheckGroupProps,\n Text,\n OmitStrict\n} from '@pega/cosmos-react-core';\n\nimport { Paragraph, StyledImage } from './RadioButtonGroup.styles';\n\nexport default {\n title: 'Core/RadioButtonGroup',\n component: RadioButtonGroup,\n args: {\n labelHidden: false,\n inline: false,\n autoStack: true,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true,\n showNestedAdditionalInfo: false,\n status: undefined,\n info: 'You must select it'\n },\n argTypes: {\n labelHidden: { control: { type: 'boolean' } },\n inline: { control: { type: 'boolean' } },\n autoStack: { control: { type: 'boolean' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n showNestedAdditionalInfo: { control: { type: 'boolean' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n info: { control: { type: 'text' } }\n }\n} as Meta;\n\ninterface RadioCheckGroupStoryProps extends RadioCheckGroupProps {\n showAdditionalInfo?: boolean;\n showNestedAdditionalInfo?: boolean;\n}\n\nexport const RadioButtonGroupDemo: Story<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return args.showNestedAdditionalInfo ? (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='What do you want to eat?'\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n status={args.status}\n info={args.info}\n >\n <RadioButton\n label='Banana'\n id='Banana'\n defaultChecked\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Apple'\n id='Apple'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Mango'\n id='Mango'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n <RadioButton\n label='Orange'\n id='Orange'\n additionalInfo={{\n heading: 'Additional Info',\n content: 'Some additional info'\n }}\n />\n </RadioButtonGroup>\n ) : (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label='What do you want to eat?'\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n status={args.status}\n info={args.info}\n >\n <RadioButton label='Banana' id='Banana' defaultChecked />\n <RadioButton label='Apple' id='Apple' />\n <RadioButton label='Mango' id='Mango' />\n <RadioButton label='Orange' id='Orange' />\n </RadioButtonGroup>\n );\n};\n\nexport const RadioButtonCardGroup: Story<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return (\n <RadioButtonGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n label='Which visuals appear satisfying?'\n labelHidden={args.labelHidden}\n inline={args.inline}\n autoStack={args.autoStack}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <RadioButton\n additionalInfo={\n args.showNestedAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>A paragraph</Text>\n <Paragraph>\n This is a paragraph of text. It is meant to appear visually satisfying amongst the\n other options in this group.\n </Paragraph>\n </Flex>\n }\n id='paragraph'\n defaultChecked\n />\n <RadioButton\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n </Flex>\n }\n id='space-photo'\n />\n <RadioButton\n label={\n <Flex container={{ gap: 1, alignItems: 'start' }}>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <Paragraph>\n Space is the final frontier. There is so much to discover within Cosmos!\n </Paragraph>\n </Flex>\n </Flex>\n }\n id='cosmos'\n />\n <RadioButton\n label={\n <FieldGroup name='Gold service plan' headingTag='h3'>\n <FieldValueList\n fields={[\n { id: 'service', name: 'Service length', value: '1 year' },\n { id: 'monthly-cost', name: 'Monthly cost', value: '$180.00' },\n { id: 'total-cost', name: 'Total cost', value: '$2,160.00' }\n ]}\n />\n </FieldGroup>\n }\n id='phone-plan'\n />\n </RadioButtonGroup>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SummaryList.mocks.d.ts","sourceRoot":"","sources":["../../../src/core/SummaryList/SummaryList.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAIjF,OAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,WAAiB,MAAM,KAAO,QAAQ,mBAAmB,CAMjF,CAAC;AAiCF,eAAO,MAAM,eAAe,OACtB,MAAM,IAAI;;MAEb,CAAC,YAAY,EAAE,EAAE,SAAS,eAAe,YAAY,EAAE,CAAC,CAAC,CAa3D,CAAC"}
1
+ {"version":3,"file":"SummaryList.mocks.d.ts","sourceRoot":"","sources":["../../../src/core/SummaryList/SummaryList.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAIjF,OAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,WAAiB,MAAM,KAAO,QAAQ,mBAAmB,CAMjF,CAAC;AAiCF,eAAO,MAAM,eAAe,OACtB,MAAM,IAAI;;MAEb,CAAC,YAAY,EAAE,EAAE,SAAS,eAAe,YAAY,EAAE,CAAC,CAAC,CAuB3D,CAAC"}
@@ -30,10 +30,17 @@ const getMockListItem = ({ name: { first: firstName, last: lastName }, email, pi
30
30
  export const useMockListData = (cb, { count } = { count: undefined }) => {
31
31
  const [items, setItems] = useState([]);
32
32
  useEffect(() => {
33
+ let mounted = true;
33
34
  (async () => {
34
35
  const { results } = await getMockUsers(count);
35
- setItems(results.map(getMockListItem));
36
+ // Avoids: Warning: Can't perform a React state update on an unmounted component.
37
+ if (mounted) {
38
+ setItems(results.map(getMockListItem));
39
+ }
36
40
  })();
41
+ return () => {
42
+ mounted = false;
43
+ };
37
44
  }, [count]);
38
45
  useAfterInitialEffect(cb, [items]);
39
46
  return [items, setItems];
@@ -1 +1 @@
1
- {"version":3,"file":"SummaryList.mocks.js","sourceRoot":"","sources":["../../../src/core/SummaryList/SummaryList.mocks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuC,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,SAAuB,MAAM,aAAa,CAAC;AAiBlD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,CAAC,EAAgC,EAAE;IACpF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1C,KAAK,EACL,OAAO,EAAE,EAAE,SAAS,EAAE,EAKvB,EAAgB,EAAE;IACjB,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK;YACT,SAAS;YACT,QAAQ;YACR,KAAK;YACL,SAAS;SACV;QACD,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,CACT,wBACE,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,GAC1B,CACP;QACD,MAAM,EAAE,KAAC,MAAM,IAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAI;QAChE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,EAAc,EACd,EAAE,KAAK,KAAyB,EAAE,KAAK,EAAE,SAAS,EAAE,EACQ,EAAE;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,qBAAqB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import { Dispatch, ReactNode, SetStateAction, useEffect, useState } from 'react';\n\nimport { Avatar, EmailDisplay, useAfterInitialEffect } from '@pega/cosmos-react-core';\n\nimport mockUsers, { MockUser } from './mockUsers';\n\nexport interface MockListItem {\n id: string;\n primary: string;\n secondary: ReactNode;\n visual: ReactNode;\n data?: {\n [key: string]: unknown;\n };\n [key: string]: unknown;\n}\n\nexport interface MockUserAPIResponse {\n results: MockUser[];\n}\n\nexport const getMockUsers = async (limit: number = 3): Promise<MockUserAPIResponse> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve({ results: mockUsers.slice(0, limit) });\n }, 500);\n });\n};\n\nconst getMockListItem = ({\n name: { first: firstName, last: lastName },\n email,\n picture: { thumbnail }\n}: {\n name: { first: string; last: string };\n email: string;\n picture: { thumbnail: string };\n}): MockListItem => {\n const fullName = `${firstName} ${lastName}`;\n return {\n data: {\n id: email,\n firstName,\n lastName,\n email,\n thumbnail\n },\n id: email,\n primary: fullName,\n contextualLabel: fullName,\n secondary: (\n <div>\n <EmailDisplay value={email} />\n </div>\n ),\n visual: <Avatar size='l' name={fullName} imageSrc={thumbnail} />,\n actions: [{ id: '11', text: 'Delete', icon: 'trash' }]\n };\n};\n\nexport const useMockListData = (\n cb: () => void,\n { count }: { count?: number } = { count: undefined }\n): [MockListItem[], Dispatch<SetStateAction<MockListItem[]>>] => {\n const [items, setItems] = useState<MockListItem[]>([]);\n\n useEffect(() => {\n (async () => {\n const { results } = await getMockUsers(count);\n setItems(results.map(getMockListItem));\n })();\n }, [count]);\n\n useAfterInitialEffect(cb, [items]);\n\n return [items, setItems];\n};\n"]}
1
+ {"version":3,"file":"SummaryList.mocks.js","sourceRoot":"","sources":["../../../src/core/SummaryList/SummaryList.mocks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuC,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,SAAuB,MAAM,aAAa,CAAC;AAiBlD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,CAAC,EAAgC,EAAE;IACpF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1C,KAAK,EACL,OAAO,EAAE,EAAE,SAAS,EAAE,EAKvB,EAAgB,EAAE;IACjB,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK;YACT,SAAS;YACT,QAAQ;YACR,KAAK;YACL,SAAS;SACV;QACD,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,CACT,wBACE,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,GAC1B,CACP;QACD,MAAM,EAAE,KAAC,MAAM,IAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAI;QAChE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,EAAc,EACd,EAAE,KAAK,KAAyB,EAAE,KAAK,EAAE,SAAS,EAAE,EACQ,EAAE;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YAE9C,iFAAiF;YACjF,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,qBAAqB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import { Dispatch, ReactNode, SetStateAction, useEffect, useState } from 'react';\n\nimport { Avatar, EmailDisplay, useAfterInitialEffect } from '@pega/cosmos-react-core';\n\nimport mockUsers, { MockUser } from './mockUsers';\n\nexport interface MockListItem {\n id: string;\n primary: string;\n secondary: ReactNode;\n visual: ReactNode;\n data?: {\n [key: string]: unknown;\n };\n [key: string]: unknown;\n}\n\nexport interface MockUserAPIResponse {\n results: MockUser[];\n}\n\nexport const getMockUsers = async (limit: number = 3): Promise<MockUserAPIResponse> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve({ results: mockUsers.slice(0, limit) });\n }, 500);\n });\n};\n\nconst getMockListItem = ({\n name: { first: firstName, last: lastName },\n email,\n picture: { thumbnail }\n}: {\n name: { first: string; last: string };\n email: string;\n picture: { thumbnail: string };\n}): MockListItem => {\n const fullName = `${firstName} ${lastName}`;\n return {\n data: {\n id: email,\n firstName,\n lastName,\n email,\n thumbnail\n },\n id: email,\n primary: fullName,\n contextualLabel: fullName,\n secondary: (\n <div>\n <EmailDisplay value={email} />\n </div>\n ),\n visual: <Avatar size='l' name={fullName} imageSrc={thumbnail} />,\n actions: [{ id: '11', text: 'Delete', icon: 'trash' }]\n };\n};\n\nexport const useMockListData = (\n cb: () => void,\n { count }: { count?: number } = { count: undefined }\n): [MockListItem[], Dispatch<SetStateAction<MockListItem[]>>] => {\n const [items, setItems] = useState<MockListItem[]>([]);\n\n useEffect(() => {\n let mounted = true;\n\n (async () => {\n const { results } = await getMockUsers(count);\n\n // Avoids: Warning: Can't perform a React state update on an unmounted component.\n if (mounted) {\n setItems(results.map(getMockListItem));\n }\n })();\n\n return () => {\n mounted = false;\n };\n }, [count]);\n\n useAfterInitialEffect(cb, [items]);\n\n return [items, setItems];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CSAppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAEL,0BAA0B,EAC3B,MAAM,8CAA8C,CAAC;;AAYtD,wBAmBU;AAEV,UAAU,eAAe;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2BAA2B,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAC7E,SAAS,CAAC,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,eAAe,CAwL7C,CAAC"}
1
+ {"version":3,"file":"CSAppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAEL,0BAA0B,EAC3B,MAAM,8CAA8C,CAAC;;AAYtD,wBAmBU;AAEV,UAAU,eAAe;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2BAA2B,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAC7E,SAAS,CAAC,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,eAAe,CA4L7C,CAAC"}
@@ -62,7 +62,7 @@ export const CSAppShell = (args) => {
62
62
  title: 'Chat'
63
63
  };
64
64
  }
65
- setMainContent(_jsx(CaseViewMock, { stages: false, tasks: _jsx(TaskManagerDemo, { verbatimStatus: 'pending' }), persistentUtility: persistentUtilityContent, heading: heading }));
65
+ setMainContent(_jsx(CaseViewMock, { caseId: 'C-123', stages: false, tasks: _jsx(TaskManagerDemo, { verbatimStatus: 'pending' }), persistentUtility: persistentUtilityContent, heading: heading }));
66
66
  }
67
67
  };
68
68
  const setActiveItem = (key) => {
@@ -84,8 +84,9 @@ export const CSAppShell = (args) => {
84
84
  const { primary, secondary, icon, customerName } = createLink;
85
85
  const key = createUID();
86
86
  const createdAt = new Date().getTime();
87
+ const interactionTimerId = createUID();
87
88
  const newCase = {
88
- visual: (_jsx(InteractionTimerStory, { icon: icon, showTimer: args.enableSla, hasNotifications: args.hasInteractionNotifications, meta: args.enableSla ? '0:00' : createLink.meta, interactionType: primary })),
89
+ visual: (_jsx(InteractionTimerStory, { id: interactionTimerId, icon: icon, showTimer: args.enableSla, hasNotifications: args.hasInteractionNotifications, meta: args.enableSla ? '0:00' : createLink.meta, interactionType: primary })),
89
90
  primary: customerName || 'Unknown customer',
90
91
  secondary,
91
92
  createdAt,
@@ -100,7 +101,8 @@ export const CSAppShell = (args) => {
100
101
  e.stopPropagation();
101
102
  setCases((prevCases = []) => prevCases.filter(caseItem => caseItem.id !== key));
102
103
  setMainContent(home);
103
- }
104
+ },
105
+ 'aria-labelledby': interactionTimerId
104
106
  };
105
107
  setCases((prevCases = []) => [...prevCases, newCase]);
106
108
  setActiveItem(key);
@@ -1 +1 @@
1
- {"version":3,"file":"CSAppShell.stories.js","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState, useMemo } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport { AppShellProps, createUID, TwoColumnPage, registerIcon } from '@pega/cosmos-react-core';\nimport * as chatSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/chat-solid.icon';\n\nimport { CaseViewMock } from '../../work/CaseView/CaseView.mocks';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TasksDemo } from '../../work/Tasks/Tasks.stories';\nimport { FeedDemo } from '../../social/Feed/Feed.stories';\nimport { EmailShellDemo } from '../../social/Email/Email.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TaskManagerDemo } from '../TaskManager/TaskManager.stories';\nimport {\n InteractionTimerDemo as InteractionTimerStory,\n InteractionTimerStoryProps\n} from '../InteractionTimer/InteractionTimer.stories';\n\nimport {\n AppShellMockData,\n ChatSettingsPanelMock,\n CTIControlPanel,\n CTIControlPanelContext,\n EmailNotificationPanelMock\n} from './CSAppShell.mocks';\n\nregisterIcon(chatSolidIcon);\n\nexport default {\n title: 'Customer Service/CS App Shell',\n parameters: {\n layout: 'fullscreen'\n },\n args: {\n isDraggable: true,\n hasInteractionNotifications: true,\n enableSla: true,\n ctiPanel: 'internal',\n applyThemeToExternalCTI: false\n },\n argTypes: {\n isDraggable: { control: { type: 'boolean' } },\n hasInteractionNotifications: { control: { type: 'boolean' } },\n enableSla: { control: { type: 'boolean' } },\n ctiPanel: { options: ['internal', 'external'], control: { type: 'inline-radio' } },\n applyThemeToExternalCTI: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CSAppShellProps {\n isDraggable?: boolean;\n hasInteractionNotifications?: InteractionTimerStoryProps['hasNotifications'];\n enableSla?: InteractionTimerStoryProps['showTimer'];\n ctiPanel: 'internal' | 'external';\n applyThemeToExternalCTI: boolean;\n}\n\nexport const CSAppShell: Story<CSAppShellProps> = (args: CSAppShellProps) => {\n const CaseData = AppShellMockData as any;\n\n const home = <TwoColumnPage a={<FeedDemo />} b={<TasksDemo />} title='Welcome, Sara Davis' />;\n\n const [mainContent, setMainContent] = useState(home);\n const [caseID, setCaseID] = useState(1001);\n const [cases, setCases] = useState<AppShellProps['cases']>([]);\n const [links, setLinks] = useState<AppShellProps['links']>([\n {\n id: '01',\n name: 'Home',\n href: '#home',\n icon: 'home-solid'\n }\n ]);\n\n const renderCaseView = (name: string) => {\n if (name) {\n const { heading } = CaseData[name];\n\n let persistentUtilityContent;\n if (name === 'Mail interaction') {\n persistentUtilityContent = {\n content: <EmailShellDemo hideSuggestions />,\n title: 'Email'\n };\n } else if (name === 'Chat interaction') {\n persistentUtilityContent = {\n content: <StandardChat chatHeight='100%' chatWidth='100%' />,\n title: 'Chat'\n };\n }\n setMainContent(\n <CaseViewMock\n stages={false}\n tasks={<TaskManagerDemo verbatimStatus='pending' />}\n persistentUtility={persistentUtilityContent}\n heading={heading}\n />\n );\n }\n };\n\n const setActiveItem = (key: string) => {\n setCases((prevCases = []) => {\n return prevCases.map(caseItem => {\n return { ...caseItem, active: caseItem.id === key };\n });\n });\n setLinks((prevLinks = []) => {\n return prevLinks.map(link => {\n return {\n ...link,\n active: link.name === key\n };\n });\n });\n };\n\n const createInteraction = (createLink: {\n primary: string;\n secondary?: string;\n icon: string;\n meta: string;\n customerName?: string;\n }) => {\n const { primary, secondary, icon, customerName } = createLink;\n const key: string = createUID();\n const createdAt = new Date().getTime();\n const newCase = {\n visual: (\n <InteractionTimerStory\n icon={icon}\n showTimer={args.enableSla}\n hasNotifications={args.hasInteractionNotifications}\n meta={args.enableSla ? '0:00' : createLink.meta}\n interactionType={primary}\n />\n ),\n primary: customerName || 'Unknown customer',\n secondary,\n createdAt,\n id: key,\n active: true,\n onClick: () => {\n setActiveItem(key);\n renderCaseView(primary);\n },\n onDismiss: (e: any) => {\n setActiveItem('Home');\n e.stopPropagation();\n setCases((prevCases = []) => prevCases.filter(caseItem => caseItem.id !== key));\n setMainContent(home);\n }\n };\n setCases((prevCases = []) => [...prevCases, newCase]);\n setActiveItem(key);\n setCaseID(caseID + 1);\n renderCaseView(primary);\n };\n\n const createLinks = [\n {\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'FH',\n customerName: 'Ginger Ventura'\n },\n {\n primary: 'Chat interaction',\n secondary: 'Sent 2h ago',\n icon: 'chat-solid',\n meta: 'SC',\n customerName: 'Sara Davis'\n },\n {\n primary: 'Mail interaction',\n secondary: 'Received 20s ago',\n icon: 'mail-solid',\n meta: 'JB',\n customerName: 'John Brown'\n }\n ].map(item => {\n const { primary, icon } = item;\n return {\n name: primary,\n icon,\n href: '',\n onClick: () => {\n createInteraction(item);\n }\n };\n });\n\n useEffect(() => {\n createInteraction({\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'GV',\n customerName: 'Ginger Ventura'\n });\n }, []);\n\n const utils = [<EmailNotificationPanelMock />, <ChatSettingsPanelMock />, <CTIControlPanel />];\n\n const appInfo = {\n href: 'https://www.pega.com/',\n imageSrc:\n 'https://www.clipartmax.com/png/middle/345-3454195_account-executive-civilian-pega-logo-png.png',\n fullImageSrc: 'Full Image Source',\n appName: 'CS AppShell'\n };\n\n return (\n <CTIControlPanelContext.Provider\n value={useMemo(\n () => ({\n type: args.ctiPanel,\n draggable: args.isDraggable,\n applyAppStyling: args.applyThemeToExternalCTI\n }),\n [args.isDraggable, args.applyThemeToExternalCTI, args.ctiPanel]\n )}\n >\n <AppShellDemo\n main={mainContent}\n appInfo={appInfo}\n cases={cases}\n createLinks={createLinks}\n caseLinks={links}\n utils={utils}\n onLinkClick={(name: string) => {\n if (name === 'Home') {\n setMainContent(home);\n }\n setActiveItem(name);\n }}\n collapsedHoverMenus\n />\n </CTIControlPanelContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"CSAppShell.stories.js","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState, useMemo } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport { AppShellProps, createUID, TwoColumnPage, registerIcon } from '@pega/cosmos-react-core';\nimport * as chatSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/chat-solid.icon';\n\nimport { CaseViewMock } from '../../work/CaseView/CaseView.mocks';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TasksDemo } from '../../work/Tasks/Tasks.stories';\nimport { FeedDemo } from '../../social/Feed/Feed.stories';\nimport { EmailShellDemo } from '../../social/Email/Email.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TaskManagerDemo } from '../TaskManager/TaskManager.stories';\nimport {\n InteractionTimerDemo as InteractionTimerStory,\n InteractionTimerStoryProps\n} from '../InteractionTimer/InteractionTimer.stories';\n\nimport {\n AppShellMockData,\n ChatSettingsPanelMock,\n CTIControlPanel,\n CTIControlPanelContext,\n EmailNotificationPanelMock\n} from './CSAppShell.mocks';\n\nregisterIcon(chatSolidIcon);\n\nexport default {\n title: 'Customer Service/CS App Shell',\n parameters: {\n layout: 'fullscreen'\n },\n args: {\n isDraggable: true,\n hasInteractionNotifications: true,\n enableSla: true,\n ctiPanel: 'internal',\n applyThemeToExternalCTI: false\n },\n argTypes: {\n isDraggable: { control: { type: 'boolean' } },\n hasInteractionNotifications: { control: { type: 'boolean' } },\n enableSla: { control: { type: 'boolean' } },\n ctiPanel: { options: ['internal', 'external'], control: { type: 'inline-radio' } },\n applyThemeToExternalCTI: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CSAppShellProps {\n isDraggable?: boolean;\n hasInteractionNotifications?: InteractionTimerStoryProps['hasNotifications'];\n enableSla?: InteractionTimerStoryProps['showTimer'];\n ctiPanel: 'internal' | 'external';\n applyThemeToExternalCTI: boolean;\n}\n\nexport const CSAppShell: Story<CSAppShellProps> = (args: CSAppShellProps) => {\n const CaseData = AppShellMockData as any;\n\n const home = <TwoColumnPage a={<FeedDemo />} b={<TasksDemo />} title='Welcome, Sara Davis' />;\n\n const [mainContent, setMainContent] = useState(home);\n const [caseID, setCaseID] = useState(1001);\n const [cases, setCases] = useState<AppShellProps['cases']>([]);\n const [links, setLinks] = useState<AppShellProps['links']>([\n {\n id: '01',\n name: 'Home',\n href: '#home',\n icon: 'home-solid'\n }\n ]);\n\n const renderCaseView = (name: string) => {\n if (name) {\n const { heading } = CaseData[name];\n\n let persistentUtilityContent;\n if (name === 'Mail interaction') {\n persistentUtilityContent = {\n content: <EmailShellDemo hideSuggestions />,\n title: 'Email'\n };\n } else if (name === 'Chat interaction') {\n persistentUtilityContent = {\n content: <StandardChat chatHeight='100%' chatWidth='100%' />,\n title: 'Chat'\n };\n }\n setMainContent(\n <CaseViewMock\n caseId='C-123'\n stages={false}\n tasks={<TaskManagerDemo verbatimStatus='pending' />}\n persistentUtility={persistentUtilityContent}\n heading={heading}\n />\n );\n }\n };\n\n const setActiveItem = (key: string) => {\n setCases((prevCases = []) => {\n return prevCases.map(caseItem => {\n return { ...caseItem, active: caseItem.id === key };\n });\n });\n setLinks((prevLinks = []) => {\n return prevLinks.map(link => {\n return {\n ...link,\n active: link.name === key\n };\n });\n });\n };\n\n const createInteraction = (createLink: {\n primary: string;\n secondary?: string;\n icon: string;\n meta: string;\n customerName?: string;\n }) => {\n const { primary, secondary, icon, customerName } = createLink;\n const key: string = createUID();\n const createdAt = new Date().getTime();\n const interactionTimerId = createUID();\n const newCase = {\n visual: (\n <InteractionTimerStory\n id={interactionTimerId}\n icon={icon}\n showTimer={args.enableSla}\n hasNotifications={args.hasInteractionNotifications}\n meta={args.enableSla ? '0:00' : createLink.meta}\n interactionType={primary}\n />\n ),\n primary: customerName || 'Unknown customer',\n secondary,\n createdAt,\n id: key,\n active: true,\n onClick: () => {\n setActiveItem(key);\n renderCaseView(primary);\n },\n onDismiss: (e: any) => {\n setActiveItem('Home');\n e.stopPropagation();\n setCases((prevCases = []) => prevCases.filter(caseItem => caseItem.id !== key));\n setMainContent(home);\n },\n 'aria-labelledby': interactionTimerId\n };\n setCases((prevCases = []) => [...prevCases, newCase]);\n setActiveItem(key);\n setCaseID(caseID + 1);\n renderCaseView(primary);\n };\n\n const createLinks = [\n {\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'FH',\n customerName: 'Ginger Ventura'\n },\n {\n primary: 'Chat interaction',\n secondary: 'Sent 2h ago',\n icon: 'chat-solid',\n meta: 'SC',\n customerName: 'Sara Davis'\n },\n {\n primary: 'Mail interaction',\n secondary: 'Received 20s ago',\n icon: 'mail-solid',\n meta: 'JB',\n customerName: 'John Brown'\n }\n ].map(item => {\n const { primary, icon } = item;\n return {\n name: primary,\n icon,\n href: '',\n onClick: () => {\n createInteraction(item);\n }\n };\n });\n\n useEffect(() => {\n createInteraction({\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'GV',\n customerName: 'Ginger Ventura'\n });\n }, []);\n\n const utils = [<EmailNotificationPanelMock />, <ChatSettingsPanelMock />, <CTIControlPanel />];\n\n const appInfo = {\n href: 'https://www.pega.com/',\n imageSrc:\n 'https://www.clipartmax.com/png/middle/345-3454195_account-executive-civilian-pega-logo-png.png',\n fullImageSrc: 'Full Image Source',\n appName: 'CS AppShell'\n };\n\n return (\n <CTIControlPanelContext.Provider\n value={useMemo(\n () => ({\n type: args.ctiPanel,\n draggable: args.isDraggable,\n applyAppStyling: args.applyThemeToExternalCTI\n }),\n [args.isDraggable, args.applyThemeToExternalCTI, args.ctiPanel]\n )}\n >\n <AppShellDemo\n main={mainContent}\n appInfo={appInfo}\n cases={cases}\n createLinks={createLinks}\n caseLinks={links}\n utils={utils}\n onLinkClick={(name: string) => {\n if (name === 'Home') {\n setMainContent(home);\n }\n setActiveItem(name);\n }}\n collapsedHoverMenus\n />\n </CTIControlPanelContext.Provider>\n );\n};\n"]}
@@ -3,6 +3,7 @@ import { InteractionTimerProps } from '@pega/cosmos-react-cs';
3
3
  declare const _default: Meta<import("@storybook/react").Args>;
4
4
  export default _default;
5
5
  export interface InteractionTimerStoryProps extends InteractionTimerProps {
6
+ id?: string;
6
7
  showTimer?: boolean;
7
8
  interactionType?: string;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionTimer.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/InteractionTimer/InteractionTimer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAoB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;;AAShF,wBAGU;AAEV,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CA0FlE,CAAC"}
1
+ {"version":3,"file":"InteractionTimer.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/InteractionTimer/InteractionTimer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAoB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;;AAShF,wBAGU;AAEV,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CAsGlE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
3
  import { InteractionTimer } from '@pega/cosmos-react-cs';
4
- import { icons } from '@pega/cosmos-react-core';
4
+ import { icons, useLiveLog } from '@pega/cosmos-react-core';
5
5
  import { formatDuration, InteractionTimerSLAMileStones, InteractionTimerStages } from './InteractionTimer.mocks';
6
6
  export default {
7
7
  title: 'Customer Service/InteractionTimer',
@@ -9,12 +9,14 @@ export default {
9
9
  };
10
10
  export const InteractionTimerDemo = (args) => {
11
11
  const [timerState, setTimerState] = useState({
12
- ariaLabel: `${args.interactionType ? `${args.interactionType}, ` : ''}goal and 0 seconds passed`,
12
+ slaAnnouncement: `${args.interactionType ? `${args.interactionType}, ` : ''}goal and 0 seconds passed`,
13
13
  timer: '0:00',
14
14
  slaStage: 'goal',
15
15
  currentProgress: 0,
16
- hasNotifications: false
16
+ hasNotifications: false,
17
+ ariaLabel: ''
17
18
  });
19
+ const { announcePolite } = useLiveLog();
18
20
  useEffect(() => {
19
21
  const latestCreatedAt = new Date().getTime();
20
22
  const timerInterval = args.showTimer &&
@@ -33,6 +35,7 @@ export const InteractionTimerDemo = (args) => {
33
35
  return {
34
36
  ...prev,
35
37
  timer: formattedDuration.visual,
38
+ ariaLabel: `${args.interactionType ? `${args.interactionType}, ` : ''}${formattedDuration.ariaLabel}`,
36
39
  slaStage: InteractionTimerStages[currSlaStage],
37
40
  currentProgress: Math.floor(Math.min(((timeElapsed - InteractionTimerSLAMileStones[currSlaStage].from) * 100) /
38
41
  (InteractionTimerSLAMileStones[currSlaStage].to -
@@ -47,7 +50,7 @@ export const InteractionTimerDemo = (args) => {
47
50
  setTimerState(prev => {
48
51
  return {
49
52
  ...prev,
50
- ariaLabel: `${args.interactionType ? `${args.interactionType}, ` : ''}${prev.slaStage} and ${formattedDuration.ariaLabel}passed${prev.hasNotifications ? ' with new notifications' : ''}`
53
+ slaAnnouncement: `${args.interactionType ? `${args.interactionType}, ` : ''}${prev.slaStage} and ${formattedDuration.ariaLabel}passed${prev.hasNotifications ? ' with new notifications' : ''}`
51
54
  };
52
55
  });
53
56
  }, 15000);
@@ -58,7 +61,11 @@ export const InteractionTimerDemo = (args) => {
58
61
  setTimerState({ ...timerState, timer: '0:00' });
59
62
  };
60
63
  }, [args.hasNotifications, args.showTimer, args.interactionType]);
61
- return (_jsx(InteractionTimer, { sla: args.showTimer ? timerState.slaStage : args.sla, hasNotifications: args.hasNotifications ? timerState.hasNotifications : false, icon: args.icon, meta: args.showTimer ? timerState.timer : args.meta, progress: timerState.currentProgress, ariaLabel: timerState.ariaLabel }));
64
+ useEffect(() => {
65
+ if (timerState.slaAnnouncement)
66
+ announcePolite({ message: timerState.slaAnnouncement });
67
+ }, [timerState.slaAnnouncement]);
68
+ return (_jsx(InteractionTimer, { id: args.id, sla: args.showTimer ? timerState.slaStage : args.sla, hasNotifications: args.hasNotifications ? timerState.hasNotifications : false, icon: args.icon, meta: args.showTimer ? timerState.timer : args.meta, progress: timerState.currentProgress, ariaLabel: timerState.ariaLabel }));
62
69
  };
63
70
  InteractionTimerDemo.args = {
64
71
  hasNotifications: true,
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionTimer.stories.js","sourceRoot":"","sources":["../../../src/cs/InteractionTimer/InteractionTimer.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useEffect, useState } from 'react';\n\nimport { InteractionTimer, InteractionTimerProps } from '@pega/cosmos-react-cs';\nimport { icons } from '@pega/cosmos-react-core';\n\nimport {\n formatDuration,\n InteractionTimerSLAMileStones,\n InteractionTimerStages\n} from './InteractionTimer.mocks';\n\nexport default {\n title: 'Customer Service/InteractionTimer',\n component: InteractionTimer\n} as Meta;\n\nexport interface InteractionTimerStoryProps extends InteractionTimerProps {\n showTimer?: boolean;\n interactionType?: string;\n}\n\nexport const InteractionTimerDemo: Story<InteractionTimerStoryProps> = (\n args: InteractionTimerStoryProps\n) => {\n const [timerState, setTimerState] = useState<{\n timer: string;\n ariaLabel: string;\n slaStage: InteractionTimerProps['sla'];\n currentProgress: number;\n hasNotifications: boolean;\n }>({\n ariaLabel: `${\n args.interactionType ? `${args.interactionType}, ` : ''\n }goal and 0 seconds passed`,\n timer: '0:00',\n slaStage: 'goal',\n currentProgress: 0,\n hasNotifications: false\n });\n\n useEffect(() => {\n const latestCreatedAt = new Date().getTime();\n const timerInterval =\n args.showTimer &&\n setInterval(() => {\n const timeElapsed = (new Date().getTime() - latestCreatedAt) / 1000;\n const currSlaStage = InteractionTimerSLAMileStones.reduce(\n (prevValue, currValue, currentIndex, arr) => {\n if (\n timeElapsed >= currValue.from &&\n (timeElapsed <= currValue.to || currentIndex === arr.length - 1)\n ) {\n return currentIndex;\n }\n return prevValue;\n },\n 0\n );\n\n const hasNotifications = currSlaStage > 0;\n const formattedDuration = formatDuration(timeElapsed);\n setTimerState(prev => {\n return {\n ...prev,\n timer: formattedDuration.visual,\n slaStage: InteractionTimerStages[currSlaStage],\n currentProgress: Math.floor(\n Math.min(\n ((timeElapsed - InteractionTimerSLAMileStones[currSlaStage].from) * 100) /\n (InteractionTimerSLAMileStones[currSlaStage].to -\n InteractionTimerSLAMileStones[currSlaStage].from),\n 100\n )\n ),\n hasNotifications\n };\n });\n }, 1000);\n\n const ariaInterval = setInterval(() => {\n const timeElapsed = (new Date().getTime() - latestCreatedAt) / 1000;\n const formattedDuration = formatDuration(timeElapsed);\n setTimerState(prev => {\n return {\n ...prev,\n ariaLabel: `${args.interactionType ? `${args.interactionType}, ` : ''}${\n prev.slaStage\n } and ${formattedDuration.ariaLabel}passed${\n prev.hasNotifications ? ' with new notifications' : ''\n }`\n };\n });\n }, 15000);\n if (timerInterval && ariaInterval)\n return () => {\n clearInterval(timerInterval);\n clearInterval(ariaInterval);\n setTimerState({ ...timerState, timer: '0:00' });\n };\n }, [args.hasNotifications, args.showTimer, args.interactionType]);\n\n return (\n <InteractionTimer\n sla={args.showTimer ? timerState.slaStage : args.sla}\n hasNotifications={args.hasNotifications ? timerState.hasNotifications : false}\n icon={args.icon}\n meta={args.showTimer ? timerState.timer : args.meta}\n progress={timerState.currentProgress}\n ariaLabel={timerState.ariaLabel}\n />\n );\n};\n\nInteractionTimerDemo.args = {\n hasNotifications: true,\n icon: 'chat-solid',\n showTimer: true,\n meta: 'QR',\n interactionType: 'Chat interaction'\n};\n\nInteractionTimerDemo.argTypes = {\n hasNotifications: { control: { type: 'boolean' } },\n icon: { options: icons, control: { type: 'select', icons: true } },\n showTimer: { control: { type: 'boolean' } },\n meta: { control: { type: 'text' } },\n interactionType: {\n table: {\n disable: true\n }\n }\n};\n"]}
1
+ {"version":3,"file":"InteractionTimer.stories.js","sourceRoot":"","sources":["../../../src/cs/InteractionTimer/InteractionTimer.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useEffect, useState } from 'react';\n\nimport { InteractionTimer, InteractionTimerProps } from '@pega/cosmos-react-cs';\nimport { icons, useLiveLog } from '@pega/cosmos-react-core';\n\nimport {\n formatDuration,\n InteractionTimerSLAMileStones,\n InteractionTimerStages\n} from './InteractionTimer.mocks';\n\nexport default {\n title: 'Customer Service/InteractionTimer',\n component: InteractionTimer\n} as Meta;\n\nexport interface InteractionTimerStoryProps extends InteractionTimerProps {\n id?: string;\n showTimer?: boolean;\n interactionType?: string;\n}\n\nexport const InteractionTimerDemo: Story<InteractionTimerStoryProps> = (\n args: InteractionTimerStoryProps\n) => {\n const [timerState, setTimerState] = useState<{\n timer: string;\n ariaLabel: string;\n slaStage: InteractionTimerProps['sla'];\n currentProgress: number;\n hasNotifications: boolean;\n slaAnnouncement: string;\n }>({\n slaAnnouncement: `${\n args.interactionType ? `${args.interactionType}, ` : ''\n }goal and 0 seconds passed`,\n timer: '0:00',\n slaStage: 'goal',\n currentProgress: 0,\n hasNotifications: false,\n ariaLabel: ''\n });\n const { announcePolite } = useLiveLog();\n\n useEffect(() => {\n const latestCreatedAt = new Date().getTime();\n const timerInterval =\n args.showTimer &&\n setInterval(() => {\n const timeElapsed = (new Date().getTime() - latestCreatedAt) / 1000;\n const currSlaStage = InteractionTimerSLAMileStones.reduce(\n (prevValue, currValue, currentIndex, arr) => {\n if (\n timeElapsed >= currValue.from &&\n (timeElapsed <= currValue.to || currentIndex === arr.length - 1)\n ) {\n return currentIndex;\n }\n return prevValue;\n },\n 0\n );\n\n const hasNotifications = currSlaStage > 0;\n const formattedDuration = formatDuration(timeElapsed);\n setTimerState(prev => {\n return {\n ...prev,\n timer: formattedDuration.visual,\n ariaLabel: `${args.interactionType ? `${args.interactionType}, ` : ''}${\n formattedDuration.ariaLabel\n }`,\n slaStage: InteractionTimerStages[currSlaStage],\n currentProgress: Math.floor(\n Math.min(\n ((timeElapsed - InteractionTimerSLAMileStones[currSlaStage].from) * 100) /\n (InteractionTimerSLAMileStones[currSlaStage].to -\n InteractionTimerSLAMileStones[currSlaStage].from),\n 100\n )\n ),\n hasNotifications\n };\n });\n }, 1000);\n\n const ariaInterval = setInterval(() => {\n const timeElapsed = (new Date().getTime() - latestCreatedAt) / 1000;\n const formattedDuration = formatDuration(timeElapsed);\n setTimerState(prev => {\n return {\n ...prev,\n slaAnnouncement: `${args.interactionType ? `${args.interactionType}, ` : ''}${\n prev.slaStage\n } and ${formattedDuration.ariaLabel}passed${\n prev.hasNotifications ? ' with new notifications' : ''\n }`\n };\n });\n }, 15000);\n\n if (timerInterval && ariaInterval)\n return () => {\n clearInterval(timerInterval);\n clearInterval(ariaInterval);\n setTimerState({ ...timerState, timer: '0:00' });\n };\n }, [args.hasNotifications, args.showTimer, args.interactionType]);\n\n useEffect(() => {\n if (timerState.slaAnnouncement) announcePolite({ message: timerState.slaAnnouncement });\n }, [timerState.slaAnnouncement]);\n\n return (\n <InteractionTimer\n id={args.id}\n sla={args.showTimer ? timerState.slaStage : args.sla}\n hasNotifications={args.hasNotifications ? timerState.hasNotifications : false}\n icon={args.icon}\n meta={args.showTimer ? timerState.timer : args.meta}\n progress={timerState.currentProgress}\n ariaLabel={timerState.ariaLabel}\n />\n );\n};\n\nInteractionTimerDemo.args = {\n hasNotifications: true,\n icon: 'chat-solid',\n showTimer: true,\n meta: 'QR',\n interactionType: 'Chat interaction'\n};\n\nInteractionTimerDemo.argTypes = {\n hasNotifications: { control: { type: 'boolean' } },\n icon: { options: icons, control: { type: 'select', icons: true } },\n showTimer: { control: { type: 'boolean' } },\n meta: { control: { type: 'text' } },\n interactionType: {\n table: {\n disable: true\n }\n }\n};\n"]}
@@ -6,10 +6,17 @@ export declare const LiveChatConversation: ChatBodyProps['liveChat'];
6
6
  export declare const SimulatedConversation: ChatBodyProps['liveChat'];
7
7
  export declare const ChatMockData: {
8
8
  chatMessages: import("@pega/cosmos-react-social").ChatBodyListItemProps[];
9
- defaultAttachments: {
10
- id: string;
9
+ defaultAttachments: ({
11
10
  name: string;
12
- }[];
11
+ progress: number;
12
+ onDelete: () => void;
13
+ thumbnail?: undefined;
14
+ } | {
15
+ name: string;
16
+ thumbnail: string;
17
+ onDelete: () => void;
18
+ progress?: undefined;
19
+ })[];
13
20
  suggestedReplies: {
14
21
  id: string;
15
22
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.mocks.d.ts","sourceRoot":"","sources":["../../../src/social/Chat/Chat.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,uBAAuB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,UAAU,CAwGrD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,UAAU,CAqG7D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,UAAU,CAqG1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,UAAU,CAqN3D,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;CAyBxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAyDlD,CAAC;AAEF,eAAO,MAAM,eAAe;;;GAqC3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,uBAAuB,EAyBjD,CAAC"}
1
+ {"version":3,"file":"Chat.mocks.d.ts","sourceRoot":"","sources":["../../../src/social/Chat/Chat.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,uBAAuB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,UAAU,CAwGrD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,UAAU,CAqG7D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,UAAU,CAqG1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,UAAU,CA2N3D,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CA2BxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAyDlD,CAAC;AAEF,eAAO,MAAM,eAAe;;;GAqC3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,uBAAuB,EAyBjD,CAAC"}
@@ -514,18 +514,26 @@ export const SimulatedConversation = [
514
514
  senderId: 'gingerVentura',
515
515
  message: 'Great, Thank you',
516
516
  timestamp: '2:17 PM'
517
+ },
518
+ {
519
+ id: createUID(),
520
+ type: 'system',
521
+ message: 'Customer left this conversation',
522
+ timestamp: '2:19 PM'
517
523
  }
518
524
  ];
519
525
  export const ChatMockData = {
520
526
  chatMessages: SimulatedConversation,
521
527
  defaultAttachments: [
522
528
  {
523
- id: createUID(),
524
- name: '03/2020 statement.pdf'
529
+ name: 'Policy.doc',
530
+ progress: 100,
531
+ onDelete: () => { }
525
532
  },
526
533
  {
527
- id: createUID(),
528
- name: 'Policy T&C.pdf'
534
+ name: 'E-Ticket',
535
+ thumbnail: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',
536
+ onDelete: () => { }
529
537
  }
530
538
  ],
531
539
  suggestedReplies: [