@pega/cosmos-react-demos 5.0.0-dev.1.0 → 5.0.0-dev.2.1

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 (67) hide show
  1. package/jsx/core/File/FileInput.stories.d.ts +1 -0
  2. package/jsx/core/File/FileInput.stories.d.ts.map +1 -1
  3. package/jsx/core/File/FileInput.stories.jsx +25 -4
  4. package/jsx/core/File/FileInput.stories.jsx.map +1 -1
  5. package/jsx/core/Form/Form.mocks.d.ts.map +1 -1
  6. package/jsx/core/Form/Form.mocks.jsx +64 -14
  7. package/jsx/core/Form/Form.mocks.jsx.map +1 -1
  8. package/jsx/core/Slider/Slider.stories.d.ts +1 -0
  9. package/jsx/core/Slider/Slider.stories.d.ts.map +1 -1
  10. package/jsx/core/Slider/Slider.stories.jsx +25 -4
  11. package/jsx/core/Slider/Slider.stories.jsx.map +1 -1
  12. package/jsx/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  13. package/jsx/cs/TaskManager/TaskManager.stories.jsx +5 -6
  14. package/jsx/cs/TaskManager/TaskManager.stories.jsx.map +1 -1
  15. package/jsx/cs/TaskManager/TaskManager.styles.d.ts +1 -1
  16. package/jsx/cs/TaskManager/TaskManager.styles.d.ts.map +1 -1
  17. package/jsx/rte/Editor/Editor.stories.d.ts +4 -1
  18. package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
  19. package/jsx/rte/Editor/Editor.stories.jsx +28 -3
  20. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  21. package/jsx/social/Chat/Chat.stories.d.ts +1 -0
  22. package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
  23. package/jsx/social/Chat/Chat.stories.jsx +5 -3
  24. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  25. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  26. package/jsx/social/Feed/Feed.stories.jsx +51 -13
  27. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  28. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  29. package/jsx/work/CaseView/CaseView.mocks.jsx +3 -2
  30. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  31. package/jsx/work/Details/Details.stories.d.ts.map +1 -1
  32. package/jsx/work/Details/Details.stories.jsx +2 -0
  33. package/jsx/work/Details/Details.stories.jsx.map +1 -1
  34. package/lib/core/File/FileInput.stories.d.ts +1 -0
  35. package/lib/core/File/FileInput.stories.d.ts.map +1 -1
  36. package/lib/core/File/FileInput.stories.js +12 -5
  37. package/lib/core/File/FileInput.stories.js.map +1 -1
  38. package/lib/core/Form/Form.mocks.d.ts.map +1 -1
  39. package/lib/core/Form/Form.mocks.js +48 -3
  40. package/lib/core/Form/Form.mocks.js.map +1 -1
  41. package/lib/core/Slider/Slider.stories.d.ts +1 -0
  42. package/lib/core/Slider/Slider.stories.d.ts.map +1 -1
  43. package/lib/core/Slider/Slider.stories.js +12 -5
  44. package/lib/core/Slider/Slider.stories.js.map +1 -1
  45. package/lib/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  46. package/lib/cs/TaskManager/TaskManager.stories.js +4 -5
  47. package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
  48. package/lib/cs/TaskManager/TaskManager.styles.d.ts +1 -1
  49. package/lib/cs/TaskManager/TaskManager.styles.d.ts.map +1 -1
  50. package/lib/rte/Editor/Editor.stories.d.ts +4 -1
  51. package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
  52. package/lib/rte/Editor/Editor.stories.js +14 -3
  53. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  54. package/lib/social/Chat/Chat.stories.d.ts +1 -0
  55. package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
  56. package/lib/social/Chat/Chat.stories.js +5 -3
  57. package/lib/social/Chat/Chat.stories.js.map +1 -1
  58. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  59. package/lib/social/Feed/Feed.stories.js +51 -13
  60. package/lib/social/Feed/Feed.stories.js.map +1 -1
  61. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  62. package/lib/work/CaseView/CaseView.mocks.js +3 -2
  63. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  64. package/lib/work/Details/Details.stories.d.ts.map +1 -1
  65. package/lib/work/Details/Details.stories.js +1 -1
  66. package/lib/work/Details/Details.stories.js.map +1 -1
  67. package/package.json +17 -17
@@ -1 +1 @@
1
- {"version":3,"file":"Form.mocks.js","sourceRoot":"","sources":["../../../src/core/Form/Form.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useReducer, ChangeEvent, FocusEvent, FormEvent, useRef, useState, useEffect } from 'react';\n\nimport {\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n FormControlProps,\n Grid,\n Input,\n RadioButton,\n RadioButtonGroup,\n Select,\n Option,\n TextArea,\n useToaster,\n DateRangeInputProps,\n usePrevious\n} from '@pega/cosmos-react-core';\nimport {\n Editor as RichTextEditor,\n EditorState as RichTextEditorState\n} from '@pega/cosmos-react-rte';\n\nimport { FileInputDemo } from '../File/FileInput.stories';\nimport { FilterableSingleSelect as ComboboxFilterableStory } from '../ComboBox/ComboBox.stories';\n\ninterface Field extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: Field) => boolean;\n}\n\n// Get initial field properties\nconst initFields = (): Field[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter first and last name',\n validator() {\n if (!this.value) return false;\n return /^[a-z]+\\s[a-z]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'email',\n required: true,\n error: 'Enter a @pega.com address',\n validator() {\n if (!this.value) return false;\n return /^\\S+@pega\\.com$/.test(this.value);\n }\n },\n {\n ...common,\n name: 'notes',\n required: true,\n help: 'See how fast you can type 20 characters…go',\n error: 'You need to tell us more than 20 characters',\n validator() {\n if (!this.value) return false;\n return this.value.length >= 20;\n }\n }\n ];\n};\n\n// Handles setting of state for all fields\nconst fieldReducer = (\n fields: Field[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const FormContent = ({\n cols,\n heading,\n description,\n showActions\n}: {\n cols: number;\n showActions: boolean;\n heading?: string;\n description?: string;\n}) => {\n const editorRef = useRef<RichTextEditorState>(null);\n const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useToaster();\n\n const name = fields.find(field => field.name === 'name');\n const email = fields.find(field => field.name === 'email');\n const notes = fields.find(field => field.name === 'notes');\n\n if (!name || !email || !notes) return null;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n return (\n <Form\n actions={showActions ? actions : undefined}\n description={description}\n heading={heading}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n style={{ margin: 'auto', maxWidth: '37.5rem' }}\n >\n <Grid container={{ gap: 1, cols: `repeat(${cols}, minmax(0, 1fr))` }}>\n <Input\n name='name'\n label='Name'\n value={name.value}\n required={false}\n status={name.status}\n info='some help text here'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n\n <Input\n name='email'\n value={email.value}\n type='email'\n label='Email'\n required={email.required}\n status={email.status}\n info='some help text here'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup name='visited' label='Places you have worked'>\n {['Cambridge', 'Krakow', 'Hyderabad', 'Bangalore'].map(office => (\n <Checkbox\n key={office}\n label={office}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n />\n ))}\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup name='meetings' label='Do you enjoy early morning meetings?'>\n {['Yes', \"No… no I don't\"].map(option => (\n <RadioButton\n key={option}\n label={option}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n />\n ))}\n </RadioButtonGroup>\n </Grid>\n\n <Select label='What would you like to eat?' info='FYI: options are limited'>\n <Option>choose meal…</Option>\n <Option>Pizza</Option>\n <Option>Sandwich</Option>\n <Option>Salad</Option>\n </Select>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <TextArea\n name='notes'\n required={notes.required}\n label='Meeting notes'\n status={notes.status}\n info={notes.info || notes.help}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RichTextEditor\n label='Detailed meeting notes'\n info='The rich text editor can be used in forms, comments, and documents'\n toolbar={[\n 'inline-styling',\n 'headers',\n 'tables',\n 'links',\n 'images',\n 'lists',\n 'cut-copy-paste',\n 'indentation'\n ]}\n onImageAdded={onImageAdded}\n ref={editorRef}\n />\n </Grid>\n <Grid item={{ colStartEnd: '1/-1' }}>\n <FileInputDemo label='Meeting attachments' />\n </Grid>\n\n <ComboboxFilterableStory label='Select a user' />\n </Grid>\n </Form>\n );\n};\n\nexport const ReadOnlyFormContent = ({\n cols,\n heading,\n description,\n showActions\n}: {\n cols: number;\n showActions: boolean;\n heading?: string;\n description?: string;\n}) => {\n const [value, setValue] = useState<DateRangeInputProps['value']>({ start: 1, end: '3' });\n const prev = usePrevious(value);\n useEffect(() => {\n if (prev !== value) setValue(value);\n }, [prev, value]);\n const [fields] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useToaster();\n\n const name = fields.find(field => field.name === 'name');\n const email = fields.find(field => field.name === 'email');\n const notes = fields.find(field => field.name === 'notes');\n\n if (!name || !email || !notes) return null;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n return (\n <Form\n actions={showActions ? actions : undefined}\n description={description}\n heading={heading}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n style={{ margin: 'auto', maxWidth: '37.5rem' }}\n >\n <Grid container={{ gap: 1, cols: `repeat(${cols}, minmax(0, 1fr))` }}>\n <Input\n readOnly\n name='name'\n label='Name'\n value='Test'\n required={false}\n status={name.status}\n />\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup name='places visited' label='Places you have worked' readOnly>\n <Checkbox key='Cambridge' label='Cambridge' />\n <Checkbox key='Krakow' label='Krakow' />\n <Checkbox key='Hyderabad' label='Hyderabad' />\n <Checkbox key='Bangalore' label='Bangalore' />\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup name='meetings' label='Do you really enjoy early morning meetings?'>\n <RadioButton key='Yes' label='Yes' />\n <RadioButton key=\"No.. no I don't\" label=\"No.. no I don't\" readOnly />\n </RadioButtonGroup>\n </Grid>\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup name='more places visited' label='More Places you have worked'>\n <Checkbox key='Cambridge' label='Cambridge' readOnly />\n <Checkbox key='Krakow' label='Krakow' />\n <Checkbox key='Hyderabad' label='Hyderabad' />\n <Checkbox key='Bangalore' label='Bangalore' />\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup\n name='meetings'\n label='Do you enjoy early morning meetings?'\n readOnly\n allReadOnly\n >\n <RadioButton key='Yes' label='Yes' />\n <RadioButton key=\"No.. no I don't\" label=\"No.. no I don't\" />\n </RadioButtonGroup>\n </Grid>\n\n <Select label='What would you like to eat?' info='' readOnly>\n <Option>choose meal…</Option>\n <Option selected>Pizza</Option>\n <Option>Sandwich</Option>\n <Option>Salad</Option>\n </Select>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <TextArea\n readOnly\n name='notes'\n required={false}\n label='Meeting notes'\n status={notes.status}\n info={notes.info || notes.help}\n value='Test copy'\n />\n </Grid>\n </Grid>\n </Form>\n );\n};\n"]}
1
+ {"version":3,"file":"Form.mocks.js","sourceRoot":"","sources":["../../../src/core/Form/Form.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useReducer, ChangeEvent, FocusEvent, FormEvent, useRef, useState, useEffect } from 'react';\n\nimport {\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n FormControlProps,\n Grid,\n Input,\n RadioButton,\n RadioButtonGroup,\n Select,\n Option,\n TextArea,\n useToaster,\n DateRangeInputProps,\n usePrevious\n} from '@pega/cosmos-react-core';\nimport {\n Editor as RichTextEditor,\n EditorState as RichTextEditorState\n} from '@pega/cosmos-react-rte';\n\nimport { FileInputDemo } from '../File/FileInput.stories';\nimport { FilterableSingleSelect as ComboboxFilterableStory } from '../ComboBox/ComboBox.stories';\n\ninterface Field extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: Field) => boolean;\n}\n\n// Get initial field properties\nconst initFields = (): Field[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter first and last name',\n validator() {\n if (!this.value) return false;\n return /^[a-z]+\\s[a-z]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'email',\n required: true,\n error: 'Enter a @pega.com address',\n validator() {\n if (!this.value) return false;\n return /^\\S+@pega\\.com$/.test(this.value);\n }\n },\n {\n ...common,\n name: 'notes',\n required: true,\n help: 'See how fast you can type 20 characters…go',\n error: 'You need to tell us more than 20 characters',\n validator() {\n if (!this.value) return false;\n return this.value.length >= 20;\n }\n }\n ];\n};\n\n// Handles setting of state for all fields\nconst fieldReducer = (\n fields: Field[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const FormContent = ({\n cols,\n heading,\n description,\n showActions\n}: {\n cols: number;\n showActions: boolean;\n heading?: string;\n description?: string;\n}) => {\n const editorRef = useRef<RichTextEditorState>(null);\n const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useToaster();\n\n const name = fields.find(field => field.name === 'name');\n const email = fields.find(field => field.name === 'email');\n const notes = fields.find(field => field.name === 'notes');\n\n if (!name || !email || !notes) return null;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n return (\n <Form\n actions={showActions ? actions : undefined}\n description={description}\n heading={heading}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n style={{ margin: 'auto', maxWidth: '37.5rem' }}\n >\n <Grid container={{ gap: 1, cols: `repeat(${cols}, minmax(0, 1fr))` }}>\n <Input\n name='name'\n label='Name'\n value={name.value}\n status={name.status}\n info='some help text here'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n />\n\n <Input\n name='email'\n value={email.value}\n type='email'\n label='Email'\n required={email.required}\n status={email.status}\n info='some help text here'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n />\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup\n name='visited'\n label='Places you have worked'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n >\n {['Cambridge', 'Krakow', 'Hyderabad', 'Bangalore'].map(office => (\n <Checkbox\n key={office}\n label={office}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n />\n ))}\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <Checkbox\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n label='Check me, please'\n required\n />\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup\n name='meetings'\n label='Do you enjoy early morning meetings?'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n >\n {['Yes', \"No… no I don't\"].map(option => (\n <RadioButton\n key={option}\n label={option}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n />\n ))}\n </RadioButtonGroup>\n </Grid>\n\n <Select\n label='What would you like to eat?'\n info='FYI: options are limited'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n >\n <Option>choose meal…</Option>\n <Option>Pizza</Option>\n <Option>Sandwich</Option>\n <Option>Salad</Option>\n </Select>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <TextArea\n name='notes'\n required={notes.required}\n label='Meeting notes'\n status={notes.status}\n info={notes.info || notes.help}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n />\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RichTextEditor\n label='Detailed meeting notes'\n info='The rich text editor can be used in forms, comments, and documents'\n toolbar={[\n 'inline-styling',\n 'headers',\n 'tables',\n 'links',\n 'images',\n 'lists',\n 'cut-copy-paste',\n 'indentation'\n ]}\n onImageAdded={onImageAdded}\n ref={editorRef}\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n />\n </Grid>\n <Grid item={{ colStartEnd: '1/-1' }}>\n <FileInputDemo label='Meeting attachments' />\n </Grid>\n\n <ComboboxFilterableStory label='Select a user' />\n </Grid>\n </Form>\n );\n};\n\nexport const ReadOnlyFormContent = ({\n cols,\n heading,\n description,\n showActions\n}: {\n cols: number;\n showActions: boolean;\n heading?: string;\n description?: string;\n}) => {\n const [value, setValue] = useState<DateRangeInputProps['value']>({ start: 1, end: '3' });\n const prev = usePrevious(value);\n useEffect(() => {\n if (prev !== value) setValue(value);\n }, [prev, value]);\n const [fields] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useToaster();\n\n const name = fields.find(field => field.name === 'name');\n const email = fields.find(field => field.name === 'email');\n const notes = fields.find(field => field.name === 'notes');\n\n if (!name || !email || !notes) return null;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n return (\n <Form\n actions={showActions ? actions : undefined}\n description={description}\n heading={heading}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n style={{ margin: 'auto', maxWidth: '37.5rem' }}\n >\n <Grid container={{ gap: 1, cols: `repeat(${cols}, minmax(0, 1fr))` }}>\n <Input\n readOnly\n name='name'\n label='Name'\n value='Test'\n required={false}\n status={name.status}\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n />\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup\n name='places visited'\n label='Places you have worked'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n readOnly\n required\n >\n <Checkbox key='Cambridge' label='Cambridge' />\n <Checkbox key='Krakow' label='Krakow' />\n <Checkbox key='Hyderabad' label='Hyderabad' />\n <Checkbox key='Bangalore' label='Bangalore' />\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup\n name='meetings'\n label='Do you really enjoy early morning meetings?'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n >\n <RadioButton key='Yes' label='Yes' />\n <RadioButton key=\"No.. no I don't\" label=\"No.. no I don't\" readOnly />\n </RadioButtonGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <CheckboxGroup\n name='more places visited'\n label='More Places you have worked'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n required\n >\n <Checkbox key='Cambridge' label='Cambridge' readOnly />\n <Checkbox key='Krakow' label='Krakow' />\n <Checkbox key='Hyderabad' label='Hyderabad' />\n <Checkbox key='Bangalore' label='Bangalore' />\n </CheckboxGroup>\n </Grid>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <RadioButtonGroup\n name='meetings'\n label='Do you enjoy early morning meetings?'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n readOnly\n allReadOnly\n required\n >\n <RadioButton key='Yes' label='Yes' />\n <RadioButton key=\"No.. no I don't\" label=\"No.. no I don't\" />\n </RadioButtonGroup>\n </Grid>\n\n <Select\n label='What would you like to eat?'\n info=''\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n readOnly\n >\n <Option>choose meal…</Option>\n <Option selected>Pizza</Option>\n <Option>Sandwich</Option>\n <Option>Salad</Option>\n </Select>\n\n <Grid item={{ colStartEnd: '1/-1' }}>\n <TextArea\n readOnly\n name='notes'\n required={false}\n label='Meeting notes'\n status={notes.status}\n info={notes.info || notes.help}\n value='Test copy'\n additionalInfo={{\n heading: 'Field info',\n content: 'Lorem ipsum dolor set amet.'\n }}\n />\n </Grid>\n </Grid>\n </Form>\n );\n};\n"]}
@@ -7,6 +7,7 @@ type SliderStoryProps = OmitStrict<SliderProps, 'value' | 'onChange'> & {
7
7
  max: number;
8
8
  step: number;
9
9
  value?: SliderProps['value'];
10
+ showAdditionalInfo?: boolean;
10
11
  };
11
12
  export declare const SliderDemo: StoryFn<SliderStoryProps>;
12
13
  //# sourceMappingURL=Slider.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Slider/Slider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAItD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;;AAEvE,wBAGU;AAGV,KAAK,gBAAgB,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAoChD,CAAC"}
1
+ {"version":3,"file":"Slider.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Slider/Slider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAItD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;;AAEvE,wBAGU;AAGV,KAAK,gBAAgB,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,gBAAgB,CA4DhD,CAAC"}
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import { Slider } from '@pega/cosmos-react-core';
3
+ import { Flex, Link, Slider } from '@pega/cosmos-react-core';
4
4
  export default {
5
5
  title: 'Core/Slider',
6
6
  component: Slider
@@ -18,7 +18,12 @@ export const SliderDemo = (args) => {
18
18
  ticksObject[tick] = tick.toString();
19
19
  });
20
20
  }
21
- return (_jsx(Slider, { orientation: args.orientation, step: args.step, min: args.min, max: args.max, ticks: ticksObject, showProgress: args.showProgress, preview: args.preview, showInput: args.showInput, label: args.label, labelHidden: args.labelHidden, info: args.info, status: args.status, required: args.required, disabled: args.disabled, readOnly: args.readOnly, value: value, onChange: (changeValue) => setValue(changeValue) }));
21
+ return (_jsx(Slider, { orientation: args.orientation, step: args.step, min: args.min, max: args.max, ticks: ticksObject, showProgress: args.showProgress, preview: args.preview, showInput: args.showInput, label: args.label, labelHidden: args.labelHidden, info: args.info, status: args.status, required: args.required, disabled: args.disabled, readOnly: args.readOnly, value: value, onChange: (changeValue) => setValue(changeValue), additionalInfo: args.showAdditionalInfo
22
+ ? {
23
+ heading: 'Additional Info',
24
+ content: (_jsxs(Flex, { container: { direction: 'column', alignItems: 'start', gap: 2 }, children: [_jsx("p", { children: "Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida." }), _jsx("p", { children: "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim nulla aliquet porttitor lacus." }), _jsx(Link, { href: '/', target: '_blank', children: "Neque vitae" })] }))
25
+ }
26
+ : undefined }));
22
27
  };
23
28
  SliderDemo.args = {
24
29
  orientation: 'vertical',
@@ -36,7 +41,8 @@ SliderDemo.args = {
36
41
  status: undefined,
37
42
  required: false,
38
43
  disabled: false,
39
- readOnly: false
44
+ readOnly: false,
45
+ showAdditionalInfo: false
40
46
  };
41
47
  SliderDemo.argTypes = {
42
48
  orientation: { options: ['vertical', 'horizontal'], control: { type: 'inline-radio' } },
@@ -54,6 +60,7 @@ SliderDemo.argTypes = {
54
60
  status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
55
61
  required: { control: { type: 'boolean' } },
56
62
  disabled: { control: { type: 'boolean' } },
57
- readOnly: { control: { type: 'boolean' } }
63
+ readOnly: { control: { type: 'boolean' } },
64
+ showAdditionalInfo: { control: { type: 'boolean' } }
58
65
  };
59
66
  //# sourceMappingURL=Slider.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.stories.js","sourceRoot":"","sources":["../../../src/core/Slider/Slider.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { Slider } from '@pega/cosmos-react-core';\nimport type { SliderProps, OmitStrict } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Slider',\n component: Slider\n} as Meta;\n\n// Necessary to prevent linting undefined errors since these will never be undefined in the demo\ntype SliderStoryProps = OmitStrict<SliderProps, 'value' | 'onChange'> & {\n min: number;\n max: number;\n step: number;\n value?: SliderProps['value'];\n};\n\nexport const SliderDemo: StoryFn<SliderStoryProps> = (args: SliderStoryProps) => {\n const [value, setValue] = useState(args.value || 0);\n let ticksObject: SliderProps['ticks'] = args.ticks;\n\n if (args.max > args.min && !ticksObject) {\n ticksObject = {};\n const numTicks = Math.floor((args.max - args.min) / (args.step || 1)) + 1;\n Array(numTicks)\n .fill(0)\n .map((_, index) => args.min + index * args.step)\n .forEach(tick => {\n ticksObject![tick] = tick.toString();\n });\n }\n\n return (\n <Slider\n orientation={args.orientation}\n step={args.step}\n min={args.min}\n max={args.max}\n ticks={ticksObject}\n showProgress={args.showProgress}\n preview={args.preview}\n showInput={args.showInput}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n value={value}\n onChange={(changeValue: number) => setValue(changeValue)}\n />\n );\n};\n\nSliderDemo.args = {\n orientation: 'vertical',\n step: 1,\n min: 0,\n max: 10,\n value: 5,\n ticks: undefined,\n showProgress: true,\n preview: false,\n showInput: true,\n label: 'Slider input',\n labelHidden: false,\n info: 'Pick a value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false\n};\n\nSliderDemo.argTypes = {\n orientation: { options: ['vertical', 'horizontal'], control: { type: 'inline-radio' } },\n step: { control: { type: 'number' } },\n min: { control: { type: 'number' } },\n max: { control: { type: 'number' } },\n value: { control: { type: 'number' } },\n ticks: { control: { type: 'object' } },\n showProgress: { control: { type: 'boolean' } },\n preview: { control: { type: 'boolean' } },\n showInput: { control: { type: 'boolean' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text', label: 'Helper text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Slider.stories.js","sourceRoot":"","sources":["../../../src/core/Slider/Slider.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { Flex, Link, Slider } from '@pega/cosmos-react-core';\nimport type { SliderProps, OmitStrict } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Slider',\n component: Slider\n} as Meta;\n\n// Necessary to prevent linting undefined errors since these will never be undefined in the demo\ntype SliderStoryProps = OmitStrict<SliderProps, 'value' | 'onChange'> & {\n min: number;\n max: number;\n step: number;\n value?: SliderProps['value'];\n showAdditionalInfo?: boolean;\n};\n\nexport const SliderDemo: StoryFn<SliderStoryProps> = (args: SliderStoryProps) => {\n const [value, setValue] = useState(args.value || 0);\n let ticksObject: SliderProps['ticks'] = args.ticks;\n\n if (args.max > args.min && !ticksObject) {\n ticksObject = {};\n const numTicks = Math.floor((args.max - args.min) / (args.step || 1)) + 1;\n Array(numTicks)\n .fill(0)\n .map((_, index) => args.min + index * args.step)\n .forEach(tick => {\n ticksObject![tick] = tick.toString();\n });\n }\n\n return (\n <Slider\n orientation={args.orientation}\n step={args.step}\n min={args.min}\n max={args.max}\n ticks={ticksObject}\n showProgress={args.showProgress}\n preview={args.preview}\n showInput={args.showInput}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n value={value}\n onChange={(changeValue: number) => setValue(changeValue)}\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: (\n <Flex container={{ direction: 'column', alignItems: 'start', gap: 2 }}>\n <p>\n Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore\n magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent\n semper feugiat nibh sed pulvinar proin gravida.\n </p>\n <p>\n Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit\n egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim nulla\n aliquet porttitor lacus.\n </p>\n <Link href='/' target='_blank'>\n Neque vitae\n </Link>\n </Flex>\n )\n }\n : undefined\n }\n />\n );\n};\n\nSliderDemo.args = {\n orientation: 'vertical',\n step: 1,\n min: 0,\n max: 10,\n value: 5,\n ticks: undefined,\n showProgress: true,\n preview: false,\n showInput: true,\n label: 'Slider input',\n labelHidden: false,\n info: 'Pick a value',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: false\n};\n\nSliderDemo.argTypes = {\n orientation: { options: ['vertical', 'horizontal'], control: { type: 'inline-radio' } },\n step: { control: { type: 'number' } },\n min: { control: { type: 'number' } },\n max: { control: { type: 'number' } },\n value: { control: { type: 'number' } },\n ticks: { control: { type: 'object' } },\n showProgress: { control: { type: 'boolean' } },\n preview: { control: { type: 'boolean' } },\n showInput: { control: { type: 'boolean' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text', label: 'Helper text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskManager.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAkBtD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;;AAWxF,wBAGU;AAIV,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,qBAAqB,CA2e1D,CAAC"}
1
+ {"version":3,"file":"TaskManager.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAkBtD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;;AAWxF,wBAGU;AAIV,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,qBAAqB,CA4e1D,CAAC"}
@@ -358,13 +358,12 @@ export const TaskManagerDemo = (args) => {
358
358
  onAdd: renderTasks
359
359
  }, wrapUp: args.wrapUp || wrapUp, main: args.main || (_jsx(TaskView, { header: _jsxs(Flex, { container: { justify: 'start', gap: 1, alignItems: 'center' }, children: [_jsx(Text, { variant: 'h3', children: activeTaskId === WrapUpTask.id
360
360
  ? WrapUpTask.name
361
- : getTaskName(activeServiceTask?.name) }), _jsx(StyledStatus, { variant: activeTaskId === WrapUpTask.id
361
+ : getTaskName(activeServiceTask?.name) }), _jsx(StyledStatus, { variant: (activeTaskId === WrapUpTask.id
362
362
  ? WrapUpTask.variant
363
- : (activeServiceTask.status &&
364
- activeServiceTask.status?.variant) ||
365
- 'info', children: activeTaskId === WrapUpTask.id
363
+ : (activeServiceTask.status && activeServiceTask.status?.variant) ||
364
+ 'info'), children: `${activeTaskId === WrapUpTask.id
366
365
  ? WrapUpTask.status
367
- : activeServiceTask.status && activeServiceTask.status.text })] }), actions: _jsx(MenuButton, { ref: formActionsElemRef, menu: {
366
+ : activeServiceTask.status && activeServiceTask.status.text}` })] }), actions: _jsx(MenuButton, { ref: formActionsElemRef, menu: {
368
367
  items: ['Close task', 'Dismiss task', 'Resolve task'].map(name => ({
369
368
  primary: name,
370
369
  id: name,
@@ -1 +1 @@
1
- {"version":3,"file":"TaskManager.stories.js","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ReactNode, MouseEvent } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n DateInput,\n DateTimeInput,\n Flex,\n Form,\n Grid,\n Input,\n MenuButton,\n Text,\n TimeInput\n} from '@pega/cosmos-react-core';\nimport type { MenuItemProps, StatusProps } from '@pega/cosmos-react-core';\nimport { Timeline } from '@pega/cosmos-react-work';\nimport { TaskManager, TaskView } from '@pega/cosmos-react-cs';\nimport type { DialogueProps, TaskManagerProps, TaskProps } from '@pega/cosmos-react-cs';\nimport { EntityList } from '@pega/cosmos-react-social';\nimport type { EntityListProps } from '@pega/cosmos-react-social';\nimport type { HandleValue } from '@pega/cosmos-react-cs/lib/components/TaskManager/TaskManager.types';\nimport type { ContextMenuProps } from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { activity } from '../../work/Timeline/Timeline.mocks';\n\nimport { TaskPickerMockData, WrapUpTask, EntityListMock } from './TaskManager.mocks';\nimport { StyledStatus } from './TaskManager.styles';\n\nexport default {\n title: 'Customer Service/TaskManager',\n component: TaskManager\n} as Meta;\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport interface TaskManagerStoryProps extends TaskManagerProps {\n initialTasks?: TaskProps[];\n main?: ReactNode;\n serviceTasksEmpty?: boolean;\n colGap?: number;\n rowGap?: number;\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}\n\nexport const TaskManagerDemo: StoryFn<TaskManagerStoryProps> = (args: TaskManagerStoryProps) => {\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>(args.initialTasks || []);\n const [isWrapUpTabVisible, setIsWrapUpTabVisible] = useState<boolean>(false);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const handle = useRef<HandleValue>(null);\n const entityListTimeout = useRef<number>();\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n handle.current?.nudge();\n return () => {\n window.clearTimeout(entityListTimeout.current);\n };\n }, []);\n\n const switchTab = (taskList: TaskProps[], taskId?: TaskProps['id']) => {\n if (taskList.filter(task => !task.hideFromTab).length <= 1) {\n return isWrapUpTabVisible ? setActiveTaskId(WrapUpTask.id) : setActiveTaskId(undefined);\n }\n const taskIndex = taskList.findIndex(task => {\n return task.id === taskId;\n });\n\n let nextTaskIndex = taskList.findIndex((task, i) => {\n return i > taskIndex && !task.hideFromTab;\n });\n\n if (nextTaskIndex === -1) nextTaskIndex = taskList.findIndex(task => !task.hideFromTab);\n setActiveTaskId(taskList[nextTaskIndex].id);\n };\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WrapUpTask.id) {\n if (taskAction === 'cancel') {\n setIsWrapUpTabVisible(false);\n const openTasks = serviceTasks.filter(task => !task.hideFromTab);\n const lastTask = openTasks[openTasks.length - 1];\n if (lastTask?.status?.text === 'Queued') {\n setServiceTasks(prevTasks => {\n return [\n ...prevTasks.filter(task => task.id !== lastTask.id),\n {\n ...lastTask,\n variant: 'In progress',\n icon: 'clipboard',\n status: {\n variant: 'pending',\n text: 'In progress'\n }\n }\n ];\n });\n }\n if (lastTask) {\n setActiveTaskId(lastTask.id);\n } else {\n setActiveTaskId(undefined);\n }\n setDisableWrapUp(false);\n } else if (taskAction === 'submit') {\n setServiceTasks(prevTasks => {\n return prevTasks\n .filter(task => task?.status?.text !== 'Queued')\n .map(task => {\n if (task?.status?.text !== 'cancelled') {\n return {\n ...task,\n isResolved: true,\n icon: 'check',\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n return task;\n });\n });\n setIsWrapUpTabVisible(false);\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WrapUpTask.id);\n setIsWrapUpTabVisible(true);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n const status = task?.status?.text === 'Queued' ? 'In progress' : task?.status?.text;\n return {\n ...task,\n icon:\n task.status?.text === 'Resolve-Completed' ||\n task.status?.text === 'Resolve-Cancelled'\n ? 'check'\n : 'clipboard',\n hideFromTab: false,\n status: {\n variant:\n (status === 'In progress'\n ? ('pending' as StatusProps['variant'])\n : task.status?.variant) || ('info' as StatusProps['variant']),\n text: (status === 'In progress' ? 'In progress' : task.status?.text) || ''\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n switchTab(serviceTasks, taskId);\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n hideFromTab: true\n };\n }\n\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n\n return task;\n });\n });\n } else if (taskAction === 'submit') {\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n switchTab(serviceTasks, taskId);\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks: TaskProps[] = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'nothing',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'info' as StatusProps['variant'],\n text: 'Queued'\n }\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n setDisableWrapUp(false);\n };\n const activeServiceTask: TaskProps =\n (serviceTasks.find(task => task.id === activeTaskId) as TaskProps) || {};\n\n // Preparing form fields from added task\n const taskFields =\n TaskPickerMockData.tasks\n .flatMap(task => task.items ?? [])\n .find(({ primary }) => primary === activeServiceTask?.name)?.fields ?? [];\n\n const getFormElements = (readOnly: boolean) => {\n const formElements = taskFields.map((field, i) => {\n const lowerFieldName = field.toLocaleLowerCase();\n /* eslint-disable react/no-array-index-key */\n if (lowerFieldName.includes('date') && lowerFieldName.includes('time')) {\n return <DateTimeInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('date')) {\n return <DateInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('time')) {\n return <TimeInput readOnly={readOnly} label={field} key={i} />;\n }\n return <Input readOnly={readOnly} label={field} key={i} />;\n /* eslint-enable react/no-array-index-key */\n });\n\n return formElements.length <= 3 ? (\n <>{formElements}</>\n ) : (\n <Grid\n container={{\n cols: 'repeat(2, 1fr)',\n colGap: args.colGap,\n rowGap: args.rowGap\n }}\n >\n {formElements}\n </Grid>\n );\n };\n\n const handleLaunch = (id: string) => {\n performTaskAction(id, 'launch');\n };\n\n const handleDismiss = (id: string) => {\n performTaskAction(id, 'dismiss');\n };\n\n const getTaskName = (taskName: TaskProps['name']) => {\n return taskName === 'Address change' ? 'Address change details' : taskName;\n };\n\n const entityListCtxMenuHandle: ContextMenuProps['handle'] = useRef(null);\n\n const handleRightClick = (e: MouseEvent) => {\n e.preventDefault();\n entityListCtxMenuHandle.current?.setItems([]);\n entityListCtxMenuHandle.current?.setLoading(true);\n entityListCtxMenuHandle.current?.setOpen(true);\n entityListTimeout.current = window.setTimeout(() => {\n entityListCtxMenuHandle.current?.setLoading(false);\n entityListCtxMenuHandle.current?.setItems([\n {\n id: 'item_0',\n primary: 'Field 1',\n selected: true\n },\n {\n id: 'item_1',\n primary: 'Field 2',\n selected: true\n },\n {\n id: 'item_2',\n primary: 'Field 3',\n selected: true\n },\n {\n id: 'item_3',\n primary: 'Field 4',\n selected: true\n }\n ]);\n }, 3000);\n };\n\n const [entityListMockData, setEntityListMock] = useState<EntityListProps['content']>([]);\n const [count, setCount] = useState(0);\n const entityListMock = (\n <EntityList\n content={entityListMockData}\n contextMenu={{\n onItemClick: action('onItemClick'),\n onContextMenu: handleRightClick,\n handle: entityListCtxMenuHandle\n }}\n />\n );\n\n const tasks = serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n });\n\n const wrapUp = {\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WrapUpTask.id, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WrapUpTask.id,\n showTab: isWrapUpTabVisible\n };\n\n const hasActiveTask = tasks.filter(task => task.active).length > 0 || !!wrapUp?.active;\n\n useEffect(() => {\n if (hasActiveTask) {\n const interval = setInterval(() => {\n setCount(prev => {\n if (prev === EntityListMock.length - 1) {\n clearInterval(interval);\n return prev;\n }\n return prev + 1;\n });\n }, 3000);\n return () => clearInterval(interval);\n }\n }, [hasActiveTask]);\n\n useEffect(() => {\n if (count > 0) setEntityListMock([...entityListMockData, EntityListMock[count - 1]]);\n }, [count]);\n\n return (\n <TaskManager\n conversationAI={\n hasActiveTask\n ? {\n content: entityListMock,\n entityCount: count\n }\n : undefined\n }\n ref={taskManagerRef}\n handle={handle}\n tasks={args.serviceTasksEmpty ? [] : tasks}\n emptyText='No tasks added'\n banner={{\n icon: 'script',\n content:\n 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct?',\n verbatimStatus: args.verbatimStatus\n }}\n onTaskLaunch={args.onTaskLaunch || handleLaunch}\n onTaskDismiss={args.onTaskDismiss || handleDismiss}\n addTask={\n args.addTask || {\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }\n }\n wrapUp={args.wrapUp || wrapUp}\n main={\n args.main || (\n <TaskView\n header={\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <Text variant='h3'>\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.name\n : getTaskName(activeServiceTask?.name as TaskProps['name'])}\n </Text>\n <StyledStatus\n variant={\n activeTaskId === WrapUpTask.id\n ? WrapUpTask.variant\n : (activeServiceTask.status &&\n (activeServiceTask.status?.variant as StatusProps['variant'])) ||\n 'info'\n }\n >\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.status\n : activeServiceTask.status && activeServiceTask!.status!.text}\n </StyledStatus>\n </Flex>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Close task', 'Dismiss task', 'Resolve task'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }))\n }}\n text='Actions'\n />\n }\n >\n <Form\n id='forming'\n actions={\n activeServiceTask?.isResolved ? (\n <Flex container={{ justify: 'end' }} item={{ grow: 1 }}>\n <Button\n name='Close'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Close\n </Button>\n </Flex>\n ) : (\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'submit');\n }}\n >\n Submit\n </Button>\n </div>\n </>\n )\n }\n >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WrapUpTask.id ? (\n <Timeline activity={activity} currentTime={new Date()} />\n ) : (\n getFormElements(activeServiceTask?.isResolved || false)\n )}\n </Grid>\n </Form>\n </TaskView>\n )\n }\n />\n );\n};\n\nTaskManagerDemo.args = {\n serviceTasksEmpty: false,\n colGap: 2,\n rowGap: 2,\n verbatimStatus: 'pending'\n};\n\nTaskManagerDemo.argTypes = {\n serviceTasksEmpty: { control: { type: 'boolean' } },\n colGap: { control: { type: 'number' } },\n rowGap: { control: { type: 'number' } },\n verbatimStatus: {\n options: ['pending', 'spoken', undefined],\n control: { type: 'select' }\n }\n};\n"]}
1
+ {"version":3,"file":"TaskManager.stories.js","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ReactNode, MouseEvent } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n DateInput,\n DateTimeInput,\n Flex,\n Form,\n Grid,\n Input,\n MenuButton,\n Text,\n TimeInput\n} from '@pega/cosmos-react-core';\nimport type { MenuItemProps, StatusProps } from '@pega/cosmos-react-core';\nimport { Timeline } from '@pega/cosmos-react-work';\nimport { TaskManager, TaskView } from '@pega/cosmos-react-cs';\nimport type { DialogueProps, TaskManagerProps, TaskProps } from '@pega/cosmos-react-cs';\nimport { EntityList } from '@pega/cosmos-react-social';\nimport type { EntityListProps } from '@pega/cosmos-react-social';\nimport type { HandleValue } from '@pega/cosmos-react-cs/lib/components/TaskManager/TaskManager.types';\nimport type { ContextMenuProps } from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { activity } from '../../work/Timeline/Timeline.mocks';\n\nimport { TaskPickerMockData, WrapUpTask, EntityListMock } from './TaskManager.mocks';\nimport { StyledStatus } from './TaskManager.styles';\n\nexport default {\n title: 'Customer Service/TaskManager',\n component: TaskManager\n} as Meta;\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport interface TaskManagerStoryProps extends TaskManagerProps {\n initialTasks?: TaskProps[];\n main?: ReactNode;\n serviceTasksEmpty?: boolean;\n colGap?: number;\n rowGap?: number;\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}\n\nexport const TaskManagerDemo: StoryFn<TaskManagerStoryProps> = (args: TaskManagerStoryProps) => {\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>(args.initialTasks || []);\n const [isWrapUpTabVisible, setIsWrapUpTabVisible] = useState<boolean>(false);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const handle = useRef<HandleValue>(null);\n const entityListTimeout = useRef<number>();\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n handle.current?.nudge();\n return () => {\n window.clearTimeout(entityListTimeout.current);\n };\n }, []);\n\n const switchTab = (taskList: TaskProps[], taskId?: TaskProps['id']) => {\n if (taskList.filter(task => !task.hideFromTab).length <= 1) {\n return isWrapUpTabVisible ? setActiveTaskId(WrapUpTask.id) : setActiveTaskId(undefined);\n }\n const taskIndex = taskList.findIndex(task => {\n return task.id === taskId;\n });\n\n let nextTaskIndex = taskList.findIndex((task, i) => {\n return i > taskIndex && !task.hideFromTab;\n });\n\n if (nextTaskIndex === -1) nextTaskIndex = taskList.findIndex(task => !task.hideFromTab);\n setActiveTaskId(taskList[nextTaskIndex].id);\n };\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WrapUpTask.id) {\n if (taskAction === 'cancel') {\n setIsWrapUpTabVisible(false);\n const openTasks = serviceTasks.filter(task => !task.hideFromTab);\n const lastTask = openTasks[openTasks.length - 1];\n if (lastTask?.status?.text === 'Queued') {\n setServiceTasks(prevTasks => {\n return [\n ...prevTasks.filter(task => task.id !== lastTask.id),\n {\n ...lastTask,\n variant: 'In progress',\n icon: 'clipboard',\n status: {\n variant: 'pending',\n text: 'In progress'\n }\n }\n ];\n });\n }\n if (lastTask) {\n setActiveTaskId(lastTask.id);\n } else {\n setActiveTaskId(undefined);\n }\n setDisableWrapUp(false);\n } else if (taskAction === 'submit') {\n setServiceTasks(prevTasks => {\n return prevTasks\n .filter(task => task?.status?.text !== 'Queued')\n .map(task => {\n if (task?.status?.text !== 'cancelled') {\n return {\n ...task,\n isResolved: true,\n icon: 'check',\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n return task;\n });\n });\n setIsWrapUpTabVisible(false);\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WrapUpTask.id);\n setIsWrapUpTabVisible(true);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n const status = task?.status?.text === 'Queued' ? 'In progress' : task?.status?.text;\n return {\n ...task,\n icon:\n task.status?.text === 'Resolve-Completed' ||\n task.status?.text === 'Resolve-Cancelled'\n ? 'check'\n : 'clipboard',\n hideFromTab: false,\n status: {\n variant:\n (status === 'In progress'\n ? ('pending' as StatusProps['variant'])\n : task.status?.variant) || ('info' as StatusProps['variant']),\n text: (status === 'In progress' ? 'In progress' : task.status?.text) || ''\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n switchTab(serviceTasks, taskId);\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n hideFromTab: true\n };\n }\n\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n\n return task;\n });\n });\n } else if (taskAction === 'submit') {\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n switchTab(serviceTasks, taskId);\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks: TaskProps[] = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'nothing',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'info' as StatusProps['variant'],\n text: 'Queued'\n }\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n setDisableWrapUp(false);\n };\n const activeServiceTask: TaskProps =\n (serviceTasks.find(task => task.id === activeTaskId) as TaskProps) || {};\n\n // Preparing form fields from added task\n const taskFields =\n TaskPickerMockData.tasks\n .flatMap(task => task.items ?? [])\n .find(({ primary }) => primary === activeServiceTask?.name)?.fields ?? [];\n\n const getFormElements = (readOnly: boolean) => {\n const formElements = taskFields.map((field, i) => {\n const lowerFieldName = field.toLocaleLowerCase();\n /* eslint-disable react/no-array-index-key */\n if (lowerFieldName.includes('date') && lowerFieldName.includes('time')) {\n return <DateTimeInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('date')) {\n return <DateInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('time')) {\n return <TimeInput readOnly={readOnly} label={field} key={i} />;\n }\n return <Input readOnly={readOnly} label={field} key={i} />;\n /* eslint-enable react/no-array-index-key */\n });\n\n return formElements.length <= 3 ? (\n <>{formElements}</>\n ) : (\n <Grid\n container={{\n cols: 'repeat(2, 1fr)',\n colGap: args.colGap,\n rowGap: args.rowGap\n }}\n >\n {formElements}\n </Grid>\n );\n };\n\n const handleLaunch = (id: string) => {\n performTaskAction(id, 'launch');\n };\n\n const handleDismiss = (id: string) => {\n performTaskAction(id, 'dismiss');\n };\n\n const getTaskName = (taskName: TaskProps['name']) => {\n return taskName === 'Address change' ? 'Address change details' : taskName;\n };\n\n const entityListCtxMenuHandle: ContextMenuProps['handle'] = useRef(null);\n\n const handleRightClick = (e: MouseEvent) => {\n e.preventDefault();\n entityListCtxMenuHandle.current?.setItems([]);\n entityListCtxMenuHandle.current?.setLoading(true);\n entityListCtxMenuHandle.current?.setOpen(true);\n entityListTimeout.current = window.setTimeout(() => {\n entityListCtxMenuHandle.current?.setLoading(false);\n entityListCtxMenuHandle.current?.setItems([\n {\n id: 'item_0',\n primary: 'Field 1',\n selected: true\n },\n {\n id: 'item_1',\n primary: 'Field 2',\n selected: true\n },\n {\n id: 'item_2',\n primary: 'Field 3',\n selected: true\n },\n {\n id: 'item_3',\n primary: 'Field 4',\n selected: true\n }\n ]);\n }, 3000);\n };\n\n const [entityListMockData, setEntityListMock] = useState<EntityListProps['content']>([]);\n const [count, setCount] = useState(0);\n const entityListMock = (\n <EntityList\n content={entityListMockData}\n contextMenu={{\n onItemClick: action('onItemClick'),\n onContextMenu: handleRightClick,\n handle: entityListCtxMenuHandle\n }}\n />\n );\n\n const tasks = serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n });\n\n const wrapUp = {\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WrapUpTask.id, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WrapUpTask.id,\n showTab: isWrapUpTabVisible\n };\n\n const hasActiveTask = tasks.filter(task => task.active).length > 0 || !!wrapUp?.active;\n\n useEffect(() => {\n if (hasActiveTask) {\n const interval = setInterval(() => {\n setCount(prev => {\n if (prev === EntityListMock.length - 1) {\n clearInterval(interval);\n return prev;\n }\n return prev + 1;\n });\n }, 3000);\n return () => clearInterval(interval);\n }\n }, [hasActiveTask]);\n\n useEffect(() => {\n if (count > 0) setEntityListMock([...entityListMockData, EntityListMock[count - 1]]);\n }, [count]);\n\n return (\n <TaskManager\n conversationAI={\n hasActiveTask\n ? {\n content: entityListMock,\n entityCount: count\n }\n : undefined\n }\n ref={taskManagerRef}\n handle={handle}\n tasks={args.serviceTasksEmpty ? [] : tasks}\n emptyText='No tasks added'\n banner={{\n icon: 'script',\n content:\n 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct?',\n verbatimStatus: args.verbatimStatus\n }}\n onTaskLaunch={args.onTaskLaunch || handleLaunch}\n onTaskDismiss={args.onTaskDismiss || handleDismiss}\n addTask={\n args.addTask || {\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }\n }\n wrapUp={args.wrapUp || wrapUp}\n main={\n args.main || (\n <TaskView\n header={\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <Text variant='h3'>\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.name\n : getTaskName(activeServiceTask?.name as TaskProps['name'])}\n </Text>\n <StyledStatus\n variant={\n (activeTaskId === WrapUpTask.id\n ? WrapUpTask.variant\n : (activeServiceTask.status && activeServiceTask.status?.variant) ||\n 'info') as StatusProps['variant']\n }\n >\n {`${\n activeTaskId === WrapUpTask.id\n ? WrapUpTask.status\n : activeServiceTask.status && activeServiceTask!.status!.text\n }`}\n </StyledStatus>\n </Flex>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Close task', 'Dismiss task', 'Resolve task'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }))\n }}\n text='Actions'\n />\n }\n >\n <Form\n id='forming'\n actions={\n activeServiceTask?.isResolved ? (\n <Flex container={{ justify: 'end' }} item={{ grow: 1 }}>\n <Button\n name='Close'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Close\n </Button>\n </Flex>\n ) : (\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'submit');\n }}\n >\n Submit\n </Button>\n </div>\n </>\n )\n }\n >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WrapUpTask.id ? (\n <Timeline activity={activity} currentTime={new Date()} />\n ) : (\n getFormElements(activeServiceTask?.isResolved || false)\n )}\n </Grid>\n </Form>\n </TaskView>\n )\n }\n />\n );\n};\n\nTaskManagerDemo.args = {\n serviceTasksEmpty: false,\n colGap: 2,\n rowGap: 2,\n verbatimStatus: 'pending'\n};\n\nTaskManagerDemo.argTypes = {\n serviceTasksEmpty: { control: { type: 'boolean' } },\n colGap: { control: { type: 'number' } },\n rowGap: { control: { type: 'number' } },\n verbatimStatus: {\n options: ['pending', 'spoken', undefined],\n control: { type: 'select' }\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledStatus: import("styled-components").StyledComponent<import("react").FC<import("@pega/cosmos-react-core").StatusProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const StyledStatus: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("@pega/cosmos-react-core").StatusProps, "hidden" | "color" | "style" | "translate" | "prefix" | "slot" | "title" | "children" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "variant"> & import("react").RefAttributes<HTMLSpanElement>>, import("styled-components").DefaultTheme, {}, never>;
3
3
  //# sourceMappingURL=TaskManager.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskManager.styles.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,YAAY,sNAIvB,CAAC"}
1
+ {"version":3,"file":"TaskManager.styles.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,YAAY,ytJAIvB,CAAC"}
@@ -1,7 +1,10 @@
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 EditorDemo: StoryFn;
4
+ type EditorStoryProps = {
5
+ showAdditionalInfo?: boolean;
6
+ };
7
+ export declare const EditorDemo: StoryFn<EditorStoryProps>;
5
8
  export declare const EmptyEditorDemo: StoryFn;
6
9
  export declare const ReadonlyFormField: StoryFn;
7
10
  export declare const CustomComponentDemo: StoryFn;
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.stories.d.ts","sourceRoot":"","sources":["../../../src/rte/Editor/Editor.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAmBtD,wBAGU;AAEV,eAAO,MAAM,UAAU,EAAE,OAoBxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAmB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAc/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OA6BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAkCpC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,OA8B3C,CAAC"}
1
+ {"version":3,"file":"Editor.stories.d.ts","sourceRoot":"","sources":["../../../src/rte/Editor/Editor.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;;AAoBtD,wBAGU;AAEV,KAAK,gBAAgB,GAAG;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,gBAAgB,CA4ChD,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,OAmB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAc/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OA6BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAkCpC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,OA8B3C,CAAC"}
@@ -1,20 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useRef } from 'react';
3
3
  import { action } from '@storybook/addon-actions';
4
- import { Button, Card, CardContent, CardFooter, Flex, Text, TextArea } from '@pega/cosmos-react-core';
4
+ import { Button, Card, CardContent, CardFooter, Flex, Link, Text, TextArea } from '@pega/cosmos-react-core';
5
5
  import { Editor } from '@pega/cosmos-react-rte';
6
6
  import { createPegaCustomElement, label } from './Editor.mocks';
7
7
  export default {
8
8
  title: 'RTE/Editor',
9
9
  component: Editor
10
10
  };
11
- export const EditorDemo = () => {
11
+ export const EditorDemo = (args) => {
12
12
  const editorRef = useRef(null);
13
13
  const onImageAdded = (image, id) => {
14
14
  const src = URL.createObjectURL(image);
15
15
  editorRef.current?.appendImage({ src, alt: image.name }, id);
16
16
  };
17
- return (_jsx(Editor, { ref: editorRef, label: label, toolbar: ['inline-styling', 'lists', 'indentation', 'images', 'links'], onFocus: action('Editor focused'), onBlur: action('Editor blurred'), onChange: action('Editor changed'), onImageAdded: onImageAdded, defaultValue: '<body><p>Hi mom <a href="https://google.com">link</a></p><img alt="Example alt text" src="http://via.placeholder.com/640x360"/></body>' }));
17
+ return (_jsx(Editor, { ref: editorRef, label: label, toolbar: ['inline-styling', 'lists', 'indentation', 'images', 'links'], onFocus: action('Editor focused'), onBlur: action('Editor blurred'), onChange: action('Editor changed'), onImageAdded: onImageAdded, defaultValue: '<body><p>Hi mom <a href="https://google.com">link</a></p><img alt="Example alt text" src="http://via.placeholder.com/640x360"/></body>', additionalInfo: args.showAdditionalInfo
18
+ ? {
19
+ heading: 'Additional Info',
20
+ content: (_jsxs(Flex, { container: { direction: 'column', alignItems: 'start', gap: 2 }, children: [_jsx("p", { children: "Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida." }), _jsx("p", { children: "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim nulla aliquet porttitor lacus." }), _jsx(Link, { href: '/', target: '_blank', children: "Neque vitae" })] }))
21
+ }
22
+ : undefined }));
23
+ };
24
+ EditorDemo.args = {
25
+ showAdditionalInfo: false
26
+ };
27
+ EditorDemo.argTypes = {
28
+ showAdditionalInfo: { control: { type: 'boolean' } }
18
29
  };
19
30
  export const EmptyEditorDemo = () => {
20
31
  const editorRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.stories.js","sourceRoot":"","sources":["../../../src/rte/Editor/Editor.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport { useState, useRef } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Editor as TinymceEditor } from 'tinymce';\n\nimport {\n Button,\n Card,\n CardContent,\n CardFooter,\n Flex,\n Text,\n TextArea\n} from '@pega/cosmos-react-core';\nimport { Editor } from '@pega/cosmos-react-rte';\nimport type { EditorState } from '@pega/cosmos-react-rte';\n\nimport { createPegaCustomElement, label } from './Editor.mocks';\n\nexport default {\n title: 'RTE/Editor',\n component: Editor\n} as Meta;\n\nexport const EditorDemo: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'images', 'links']}\n onFocus={action('Editor focused')}\n onBlur={action('Editor blurred')}\n onChange={action('Editor changed')}\n onImageAdded={onImageAdded}\n defaultValue='<body><p>Hi mom <a href=\"https://google.com\">link</a></p><img alt=\"Example alt text\" src=\"http://via.placeholder.com/640x360\"/></body>'\n />\n );\n};\n\nexport const EmptyEditorDemo: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'images', 'links']}\n onImageAdded={onImageAdded}\n onFocus={action('Editor has focus')}\n onBlur={action('Editor has blurred')}\n placeholder='Type some stuff in here'\n />\n );\n};\n\nexport const ReadonlyFormField: StoryFn = () => {\n return (\n <Editor\n label={label}\n readOnly\n defaultValue={`<article class=\"main-page-content\" lang=\"en-US\"><h1>HTML: HyperText Markup Language</h1><div><p><strong>HTML</strong> (HyperText Markup Language) is the most basic building block of the Web. It defines the meaning and structure of web content. Other technologies besides HTML are generally used to describe a web page's appearance/presentation (<a href=\"/en-US/docs/Web/CSS\">CSS</a>) or functionality/behavior (<a href=\"/en-US/docs/Web/JavaScript\">JavaScript</a>).</p>\n <p>\"Hypertext\" refers to links that connect web pages to one another, either within a single website or between websites. Links are a fundamental aspect of the Web. By uploading content to the Internet and linking it to pages created by other people, you become an active participant in the World Wide Web.</p>\n <p>HTML uses \"markup\" to annotate text, images, and other content for display in a Web browser. HTML markup includes special \"elements\" such as <a href=\"/en-US/docs/Web/HTML/Element/head\"><code>&lt;head&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/title\"><code>&lt;title&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/body\"><code>&lt;body&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/header\"><code>&lt;header&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/footer\"><code>&lt;footer&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/article\"><code>&lt;article&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/section\"><code>&lt;section&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/p\"><code>&lt;p&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/div\"><code>&lt;div&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/span\"><code>&lt;span&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/img\"><code>&lt;img&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/aside\"><code>&lt;aside&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/audio\"><code>&lt;audio&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/canvas\"><code>&lt;canvas&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/datalist\"><code>&lt;datalist&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/details\"><code>&lt;details&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/embed\"><code>&lt;embed&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/nav\"><code>&lt;nav&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/output\"><code>&lt;output&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/progress\"><code>&lt;progress&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/video\"><code>&lt;video&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/ul\"><code>&lt;ul&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/ol\"><code>&lt;ol&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/li\"><code>&lt;li&gt;</code></a> and many others.</p>\n <p>An HTML element is set off from other text in a document by \"tags\", which consist of the element name surrounded by \"<code>&lt;</code>\" and \"<code>&gt;</code>\".&nbsp; The name of an element inside a tag is case insensitive. That is, it can be written in uppercase, lowercase, or a mixture. For example, the <code>&lt;title&gt;</code> tag can be written as <code>&lt;Title&gt;</code>, <code>&lt;TITLE&gt;</code>, or in any other way.</p>\n\n <div id=\"on-github\" class=\"on-github\"><h3>Found a problem with this page?</h3><ul><li><a href=\"https://github.com/mdn/content/edit/main/files/en-us/web/html/index.md\" title=\"You're going to need to sign in to GitHub first (Opens in a new tab)\" target=\"_blank\" rel=\"noopener noreferrer\">Edit on <b>GitHub</b></a></li><li><a href=\"https://github.com/mdn/content/blob/main/files/en-us/web/html/index.md\" title=\"Folder: en-us/web/html (Opens in a new tab)\" target=\"_blank\" rel=\"noopener noreferrer\">Source on <b>GitHub</b></a></li><li><a href=\"https://github.com/mdn/content/issues/new?body=MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FHTML%0A%0A%23%23%23%23+What+information+was+incorrect%2C+unhelpful%2C+or+incomplete%3F%0A%0A%0A%23%23%23%23+Specific+section+or+headline%3F%0A%0A%0A%23%23%23%23+What+did+you+expect+to+see%3F%0A%0A%0A%23%23%23%23+Did+you+test+this%3F+If+so%2C+how%3F%0A%0A%0A%3C%21--+Do+not+make+changes+below+this+line+--%3E%0A%3Cdetails%3E%0A%3Csummary%3EMDN+Content+page+report+details%3C%2Fsummary%3E%0A%0A*+Folder%3A+%60en-us%2Fweb%2Fhtml%60%0A*+MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FHTML%0A*+GitHub+URL%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fblob%2Fmain%2Ffiles%2Fen-us%2Fweb%2Fhtml%2Findex.md%0A*+Last+commit%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fcommit%2F775662998e66813a612e3ff27e02f2ada867bc17%0A*+Document+last+modified%3A+2021-10-03T00%3A01%3A51.000Z%0A%0A%3C%2Fdetails%3E&amp;title=Issue+with+%22HTML%3A+HyperText+Markup+Language%22%3A+%28short+summary+here+please%29&amp;labels=needs-triage%2CContent%3AHTML\" title=\"This will take you to https://github.com/mdn/content to file a new issue\" target=\"_blank\" rel=\"noopener noreferrer\">Report a problem with this content on <b>GitHub</b></a></li><li>Want to fix the problem yourself? See <a href=\"https://github.com/mdn/content/blob/main/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">our Contribution guide</a>.</li></ul></div>\n `}\n />\n );\n};\n\nexport const CustomComponentDemo: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n const [editor, setEditor] = useState({} as TinymceEditor);\n\n const onCustomAction = () => {\n editor.insertContent('<pega-custom>Inserted from toolbar</pega-custom>');\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'links', 'images']}\n defaultValue='<body><p>Hi mom <a href=\"https://google.com\">link</a></p><p>hi <pega-custom>Hello from custom element.</pega-custom></p></body>'\n customComponents={[{ createCustomElement: createPegaCustomElement, name: 'pega-custom' }]}\n customActions={[\n {\n icon: 'pega',\n text: 'Insert a custom element',\n onMouseDown: () => {\n onCustomAction();\n }\n }\n ]}\n onInit={initializedEditor => {\n setEditor(initializedEditor);\n }}\n />\n );\n};\n\nexport const RichTextEditorWithLogs: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n const [content, setContent] = useState<string | undefined>();\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n const showContent = (type: 'html' | 'plain_text' | 'rich_text') => {\n if (type === 'html') setContent(editorRef.current?.getHtml());\n else if (type === 'plain_text') setContent(editorRef.current?.getPlainText());\n else if (type === 'rich_text') setContent(editorRef.current?.getRichText());\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Editor\n ref={editorRef}\n toolbar={['inline-styling', 'headers', 'tables', 'links', 'images', 'lists', 'indentation']}\n onImageAdded={onImageAdded}\n label='Rich text editor with logs'\n info='Click on the buttons below to show the different formatted outputs of the RTE'\n />\n\n <Flex container={{ gap: 1 }}>\n <Button onClick={() => showContent('html')}>Show HTML</Button>\n <Button onClick={() => showContent('plain_text')}>Show plain text</Button>\n <Button onClick={() => showContent('rich_text')}>Show rich text</Button>\n </Flex>\n\n <Text>{content}</Text>\n </Flex>\n );\n};\n\nexport const RichTextEditorHtmlParsingDemo: StoryFn = () => {\n const [html, setHtml] = useState('<p>Hello world!</p>');\n const rteRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n rteRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Card>\n <CardContent>\n <TextArea value={html} onChange={e => setHtml(e.target.value)} />\n </CardContent>\n <CardFooter>\n <Button onClick={() => rteRef.current?.insertHtml(html.trim(), true)}>\n Overwrite RTE with new HTML\n </Button>\n </CardFooter>\n </Card>\n <Editor\n defaultValue={html}\n onImageAdded={onImageAdded}\n ref={rteRef}\n label={label}\n toolbar={['inline-styling', 'headers', 'tables', 'links', 'images', 'lists', 'indentation']}\n />\n </Flex>\n );\n};\n"]}
1
+ {"version":3,"file":"Editor.stories.js","sourceRoot":"","sources":["../../../src/rte/Editor/Editor.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport { useState, useRef } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport type { Editor as TinymceEditor } from 'tinymce';\n\nimport {\n Button,\n Card,\n CardContent,\n CardFooter,\n Flex,\n Link,\n Text,\n TextArea\n} from '@pega/cosmos-react-core';\nimport { Editor } from '@pega/cosmos-react-rte';\nimport type { EditorState } from '@pega/cosmos-react-rte';\n\nimport { createPegaCustomElement, label } from './Editor.mocks';\n\nexport default {\n title: 'RTE/Editor',\n component: Editor\n} as Meta;\n\ntype EditorStoryProps = {\n showAdditionalInfo?: boolean;\n};\n\nexport const EditorDemo: StoryFn<EditorStoryProps> = (args: EditorStoryProps) => {\n const editorRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'images', 'links']}\n onFocus={action('Editor focused')}\n onBlur={action('Editor blurred')}\n onChange={action('Editor changed')}\n onImageAdded={onImageAdded}\n defaultValue='<body><p>Hi mom <a href=\"https://google.com\">link</a></p><img alt=\"Example alt text\" src=\"http://via.placeholder.com/640x360\"/></body>'\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: (\n <Flex container={{ direction: 'column', alignItems: 'start', gap: 2 }}>\n <p>\n Lorem ipsum dolor sit amet, consectetur it, sed do tempor incididunt ut labore\n magna aliqua. Nibh praesent tristique magna sit amet. Nec tincidunt praesent\n semper feugiat nibh sed pulvinar proin gravida.\n </p>\n <p>\n Pharetra pharetra massa massa ultricies mi quis hendrerit dolor. Est velit\n egestas dui id ornare arcu odio ut. Varius sit amet mattis vulputate enim nulla\n aliquet porttitor lacus.\n </p>\n <Link href='/' target='_blank'>\n Neque vitae\n </Link>\n </Flex>\n )\n }\n : undefined\n }\n />\n );\n};\n\nEditorDemo.args = {\n showAdditionalInfo: false\n};\n\nEditorDemo.argTypes = {\n showAdditionalInfo: { control: { type: 'boolean' } }\n};\n\nexport const EmptyEditorDemo: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'images', 'links']}\n onImageAdded={onImageAdded}\n onFocus={action('Editor has focus')}\n onBlur={action('Editor has blurred')}\n placeholder='Type some stuff in here'\n />\n );\n};\n\nexport const ReadonlyFormField: StoryFn = () => {\n return (\n <Editor\n label={label}\n readOnly\n defaultValue={`<article class=\"main-page-content\" lang=\"en-US\"><h1>HTML: HyperText Markup Language</h1><div><p><strong>HTML</strong> (HyperText Markup Language) is the most basic building block of the Web. It defines the meaning and structure of web content. Other technologies besides HTML are generally used to describe a web page's appearance/presentation (<a href=\"/en-US/docs/Web/CSS\">CSS</a>) or functionality/behavior (<a href=\"/en-US/docs/Web/JavaScript\">JavaScript</a>).</p>\n <p>\"Hypertext\" refers to links that connect web pages to one another, either within a single website or between websites. Links are a fundamental aspect of the Web. By uploading content to the Internet and linking it to pages created by other people, you become an active participant in the World Wide Web.</p>\n <p>HTML uses \"markup\" to annotate text, images, and other content for display in a Web browser. HTML markup includes special \"elements\" such as <a href=\"/en-US/docs/Web/HTML/Element/head\"><code>&lt;head&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/title\"><code>&lt;title&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/body\"><code>&lt;body&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/header\"><code>&lt;header&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/footer\"><code>&lt;footer&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/article\"><code>&lt;article&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/section\"><code>&lt;section&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/p\"><code>&lt;p&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/div\"><code>&lt;div&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/span\"><code>&lt;span&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/img\"><code>&lt;img&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/aside\"><code>&lt;aside&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/audio\"><code>&lt;audio&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/canvas\"><code>&lt;canvas&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/datalist\"><code>&lt;datalist&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/details\"><code>&lt;details&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/embed\"><code>&lt;embed&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/nav\"><code>&lt;nav&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/output\"><code>&lt;output&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/progress\"><code>&lt;progress&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/video\"><code>&lt;video&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/ul\"><code>&lt;ul&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/ol\"><code>&lt;ol&gt;</code></a>, <a href=\"/en-US/docs/Web/HTML/Element/li\"><code>&lt;li&gt;</code></a> and many others.</p>\n <p>An HTML element is set off from other text in a document by \"tags\", which consist of the element name surrounded by \"<code>&lt;</code>\" and \"<code>&gt;</code>\".&nbsp; The name of an element inside a tag is case insensitive. That is, it can be written in uppercase, lowercase, or a mixture. For example, the <code>&lt;title&gt;</code> tag can be written as <code>&lt;Title&gt;</code>, <code>&lt;TITLE&gt;</code>, or in any other way.</p>\n\n <div id=\"on-github\" class=\"on-github\"><h3>Found a problem with this page?</h3><ul><li><a href=\"https://github.com/mdn/content/edit/main/files/en-us/web/html/index.md\" title=\"You're going to need to sign in to GitHub first (Opens in a new tab)\" target=\"_blank\" rel=\"noopener noreferrer\">Edit on <b>GitHub</b></a></li><li><a href=\"https://github.com/mdn/content/blob/main/files/en-us/web/html/index.md\" title=\"Folder: en-us/web/html (Opens in a new tab)\" target=\"_blank\" rel=\"noopener noreferrer\">Source on <b>GitHub</b></a></li><li><a href=\"https://github.com/mdn/content/issues/new?body=MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FHTML%0A%0A%23%23%23%23+What+information+was+incorrect%2C+unhelpful%2C+or+incomplete%3F%0A%0A%0A%23%23%23%23+Specific+section+or+headline%3F%0A%0A%0A%23%23%23%23+What+did+you+expect+to+see%3F%0A%0A%0A%23%23%23%23+Did+you+test+this%3F+If+so%2C+how%3F%0A%0A%0A%3C%21--+Do+not+make+changes+below+this+line+--%3E%0A%3Cdetails%3E%0A%3Csummary%3EMDN+Content+page+report+details%3C%2Fsummary%3E%0A%0A*+Folder%3A+%60en-us%2Fweb%2Fhtml%60%0A*+MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FHTML%0A*+GitHub+URL%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fblob%2Fmain%2Ffiles%2Fen-us%2Fweb%2Fhtml%2Findex.md%0A*+Last+commit%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fcommit%2F775662998e66813a612e3ff27e02f2ada867bc17%0A*+Document+last+modified%3A+2021-10-03T00%3A01%3A51.000Z%0A%0A%3C%2Fdetails%3E&amp;title=Issue+with+%22HTML%3A+HyperText+Markup+Language%22%3A+%28short+summary+here+please%29&amp;labels=needs-triage%2CContent%3AHTML\" title=\"This will take you to https://github.com/mdn/content to file a new issue\" target=\"_blank\" rel=\"noopener noreferrer\">Report a problem with this content on <b>GitHub</b></a></li><li>Want to fix the problem yourself? See <a href=\"https://github.com/mdn/content/blob/main/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">our Contribution guide</a>.</li></ul></div>\n `}\n />\n );\n};\n\nexport const CustomComponentDemo: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n const [editor, setEditor] = useState({} as TinymceEditor);\n\n const onCustomAction = () => {\n editor.insertContent('<pega-custom>Inserted from toolbar</pega-custom>');\n };\n\n return (\n <Editor\n ref={editorRef}\n label={label}\n toolbar={['inline-styling', 'lists', 'indentation', 'links', 'images']}\n defaultValue='<body><p>Hi mom <a href=\"https://google.com\">link</a></p><p>hi <pega-custom>Hello from custom element.</pega-custom></p></body>'\n customComponents={[{ createCustomElement: createPegaCustomElement, name: 'pega-custom' }]}\n customActions={[\n {\n icon: 'pega',\n text: 'Insert a custom element',\n onMouseDown: () => {\n onCustomAction();\n }\n }\n ]}\n onInit={initializedEditor => {\n setEditor(initializedEditor);\n }}\n />\n );\n};\n\nexport const RichTextEditorWithLogs: StoryFn = () => {\n const editorRef = useRef<EditorState>(null);\n const [content, setContent] = useState<string | undefined>();\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n editorRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n const showContent = (type: 'html' | 'plain_text' | 'rich_text') => {\n if (type === 'html') setContent(editorRef.current?.getHtml());\n else if (type === 'plain_text') setContent(editorRef.current?.getPlainText());\n else if (type === 'rich_text') setContent(editorRef.current?.getRichText());\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Editor\n ref={editorRef}\n toolbar={['inline-styling', 'headers', 'tables', 'links', 'images', 'lists', 'indentation']}\n onImageAdded={onImageAdded}\n label='Rich text editor with logs'\n info='Click on the buttons below to show the different formatted outputs of the RTE'\n />\n\n <Flex container={{ gap: 1 }}>\n <Button onClick={() => showContent('html')}>Show HTML</Button>\n <Button onClick={() => showContent('plain_text')}>Show plain text</Button>\n <Button onClick={() => showContent('rich_text')}>Show rich text</Button>\n </Flex>\n\n <Text>{content}</Text>\n </Flex>\n );\n};\n\nexport const RichTextEditorHtmlParsingDemo: StoryFn = () => {\n const [html, setHtml] = useState('<p>Hello world!</p>');\n const rteRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n rteRef.current?.appendImage({ src, alt: image.name }, id);\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Card>\n <CardContent>\n <TextArea value={html} onChange={e => setHtml(e.target.value)} />\n </CardContent>\n <CardFooter>\n <Button onClick={() => rteRef.current?.insertHtml(html.trim(), true)}>\n Overwrite RTE with new HTML\n </Button>\n </CardFooter>\n </Card>\n <Editor\n defaultValue={html}\n onImageAdded={onImageAdded}\n ref={rteRef}\n label={label}\n toolbar={['inline-styling', 'headers', 'tables', 'links', 'images', 'lists', 'indentation']}\n />\n </Flex>\n );\n};\n"]}