@pega/cosmos-react-demos 4.0.0-dev.16.2 → 4.0.0-dev.17.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.
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +9 -0
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/jsx/core/DangerButton/DangerButton.stories.d.ts +6 -0
- package/jsx/core/DangerButton/DangerButton.stories.d.ts.map +1 -0
- package/jsx/core/DangerButton/DangerButton.stories.jsx +17 -0
- package/jsx/core/DangerButton/DangerButton.stories.jsx.map +1 -0
- package/jsx/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx +5 -3
- package/jsx/core/DateTime/DateTimeDisplay.stories.jsx.map +1 -1
- package/jsx/core/Table/Table.mocks.jsx +1 -1
- package/jsx/core/Table/Table.mocks.jsx.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +1 -1
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/work/CaseView/Attachments.mocks.d.ts.map +1 -1
- package/jsx/work/CaseView/Attachments.mocks.jsx +4 -12
- package/jsx/work/CaseView/Attachments.mocks.jsx.map +1 -1
- package/jsx/work/CaseView/FileService.mock.d.ts +2 -2
- package/jsx/work/CaseView/FileService.mock.d.ts.map +1 -1
- package/jsx/work/CaseView/FileService.mock.jsx.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +9 -0
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/lib/core/DangerButton/DangerButton.stories.d.ts +6 -0
- package/lib/core/DangerButton/DangerButton.stories.d.ts.map +1 -0
- package/lib/core/DangerButton/DangerButton.stories.js +18 -0
- package/lib/core/DangerButton/DangerButton.stories.js.map +1 -0
- package/lib/core/DateTime/DateTimeDisplay.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTimeDisplay.stories.js +5 -3
- package/lib/core/DateTime/DateTimeDisplay.stories.js.map +1 -1
- package/lib/core/Table/Table.mocks.js +1 -1
- package/lib/core/Table/Table.mocks.js.map +1 -1
- package/lib/social/Chat/Chat.stories.js +1 -1
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/work/CaseView/Attachments.mocks.d.ts.map +1 -1
- package/lib/work/CaseView/Attachments.mocks.js +4 -12
- package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
- package/lib/work/CaseView/FileService.mock.d.ts +2 -2
- package/lib/work/CaseView/FileService.mock.d.ts.map +1 -1
- package/lib/work/CaseView/FileService.mock.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachments.mocks.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n Text,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useModalManager,\n useModalContext,\n useOuterEvent,\n useToaster,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if ('progress' in file && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n contextualLabel: file.name,\n secondary: (\n <Text variant='secondary'>\n {'progress' in file && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useToaster();\n const { dismiss } = useModalContext();\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Attach Files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to attach'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useToaster();\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n let mounted = true;\n\n (async () => {\n const attachments = await mockAttachmentListRequest();\n\n // Avoids: Warning: Can't perform a React state update on an unmounted component.\n if (mounted) {\n setLoading(false);\n setFiles(attachments);\n }\n })();\n\n return () => {\n mounted = false;\n };\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n },\n {\n text: 'Add',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Attachments.mocks.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n Text,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useModalManager,\n useModalContext,\n useOuterEvent,\n useToaster,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if ('progress' in file && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n contextualLabel: file.name,\n secondary: (\n <Text variant='secondary'>\n {'progress' in file && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useToaster();\n const { dismiss } = useModalContext();\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Upload files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to upload'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled uploading ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useToaster();\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n let mounted = true;\n\n (async () => {\n const attachments = await mockAttachmentListRequest();\n\n // Avoids: Warning: Can't perform a React state update on an unmounted component.\n if (mounted) {\n setLoading(false);\n setFiles(attachments);\n }\n })();\n\n return () => {\n mounted = false;\n };\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled uploading ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode, FunctionComponent, Dispatch, SetStateAction } from 'react';
|
|
2
|
-
import { FileUploadItemProps } from '@pega/cosmos-react-core';
|
|
2
|
+
import { FileUploadItemProps, OmitStrict } from '@pega/cosmos-react-core';
|
|
3
3
|
export interface MockFileAttachmentResource {
|
|
4
4
|
id: string;
|
|
5
5
|
name: string;
|
|
@@ -8,7 +8,7 @@ export interface MockFileAttachmentResource {
|
|
|
8
8
|
createDate?: number;
|
|
9
9
|
modifiedDate?: number;
|
|
10
10
|
}
|
|
11
|
-
export interface MockFileUploadItem extends Pick<MockFileAttachmentResource, 'id' | 'category'>, FileUploadItemProps {
|
|
11
|
+
export interface MockFileUploadItem extends Pick<MockFileAttachmentResource, 'id' | 'category'>, OmitStrict<FileUploadItemProps, 'id'> {
|
|
12
12
|
File: File;
|
|
13
13
|
}
|
|
14
14
|
export interface FileServiceContextValue {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,iBAAiB,EAGjB,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,iBAAiB,EAGjB,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,mBAAmB,EAInB,UAAU,EAEX,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,UAAU,CAAC,EACzD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC;CACZ;AAKD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3D,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC5D;AAKD,eAAO,MAAM,kBAAkB,kDAM7B,CAAC;AAuDH,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,EAMzF,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,QAAQ,0BAA0B,EAAE,CA+BhF,CAAC;AAKF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CA2FxD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n ReactNode,\n useState,\n FunctionComponent,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction\n} from 'react';\n\nimport {\n createUID,\n FileUploadItemProps,\n getKindFromMimeType,\n getMimeTypeFromFile,\n hasProp,\n useAfterInitialEffect\n} from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n FileUploadItemProps {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n\n const type = getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '');\n if (type === 'image' && file.thumbnail) setFiles(current => [file, ...current]);\n else setFiles(current => [...current, file]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
|
|
1
|
+
{"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n ReactNode,\n useState,\n FunctionComponent,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction\n} from 'react';\n\nimport {\n createUID,\n FileUploadItemProps,\n getKindFromMimeType,\n getMimeTypeFromFile,\n hasProp,\n OmitStrict,\n useAfterInitialEffect\n} from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n OmitStrict<FileUploadItemProps, 'id'> {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n\n const type = getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '');\n if (type === 'image' && file.thumbnail) setFiles(current => [file, ...current]);\n else setFiles(current => [...current, file]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAmMvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromotedFilters.mocks.js","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { Condition, PromotedFiltersProps } from '@pega/cosmos-react-condition-builder';\n\nexport const demoCondition: Condition = {\n AND: [\n {\n condition: {\n lhs: {\n field: 'FirstName'\n },\n comparator: 'EQ',\n rhs: {\n value: 'John'\n }\n }\n },\n {\n condition: {\n lhs: { field: 'RemoteEmployee' },\n comparator: 'IS_TRUE'\n }\n }\n ]\n};\n\nexport const demoFilters: PromotedFiltersProps['filters'] = [\n { field: { name: 'FirstName', type: 'TEXT' }, mode: 'default', label: 'First name' },\n { field: { name: 'LastName', type: 'TEXT' }, mode: 'advanced', label: 'Last name' },\n {\n field: { name: 'Experience', type: 'INTEGER' },\n mode: 'default',\n label: 'Years of experience'\n },\n {\n field: {\n name: 'Score',\n type: 'INTEGER'\n },\n mode: 'predefined',\n label: 'Score',\n predefinedConditions: [\n {\n id: 'score1',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'GT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score2',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'EQ',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score3',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'LT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score4',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'BTW',\n rhs: {\n start: 0,\n end: 10\n }\n }\n }\n ]\n },\n {\n field: {\n name: 'Hired',\n type: 'DATE_ONLY'\n },\n mode: 'predefined',\n label: 'Hired',\n predefinedConditions: [\n {\n id: 'hired1',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'LT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'Before 2022'\n },\n {\n id: 'hired2',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'GT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'After 2022'\n },\n {\n id: 'hired3',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'BTW',\n rhs: {\n start: '2023-01-03',\n end: '2023-31-03'\n }\n },\n label: 'In March 2023'\n }\n ]\n },\n {\n field: { name: 'Salary', type: 'INTEGER' },\n mode: 'advanced',\n label: 'Salary'\n },\n {\n field: { name: 'HireDate', type: 'DATE_ONLY' },\n mode: 'default',\n label: 'Hire date'\n },\n {\n field: { name: 'LastPromotion', type: 'DATE_ONLY' },\n mode: 'advanced',\n label: 'Date of last promotion'\n },\n {\n field: { name: 'DailyMeetingTime', type: 'TIME_ONLY' },\n mode: 'default',\n label: 'Time of daily meeting'\n },\n {\n field: { name: 'StartOfWorkingHours', type: 'TIME_ONLY' },\n mode: 'advanced',\n label: 'Start of working hours'\n },\n {\n field: { name: 'NextReviewDate', type: 'DATE_TIME' },\n mode: 'default',\n label: 'Next scheduled review'\n },\n {\n field: { name: 'LastOfficeCheckIn', type: 'DATE_TIME' },\n mode: 'advanced',\n label: 'Last check-in in the office'\n },\n {\n field: { name: 'RemoteEmployee', type: 'BOOLEAN' },\n mode: 'default',\n label: 'Remote employee'\n },\n {\n field: {\n name: 'Department',\n type: 'PICKLIST',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n mode: 'default'\n },\n {\n field: {\n name: 'Status',\n type: 'PICKLIST',\n possibleValues: () =>\n Promise.resolve([\n { id: 'new', primary: 'New' },\n { id: 'open', primary: 'Open' },\n { id: 'resolved', primary: 'Resolved' }\n ])\n },\n mode: 'default'\n }\n];\n"]}
|
|
1
|
+
{"version":3,"file":"PromotedFilters.mocks.js","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { Condition, PromotedFiltersProps } from '@pega/cosmos-react-condition-builder';\n\nexport const demoCondition: Condition = {\n AND: [\n {\n condition: {\n lhs: {\n field: 'FirstName'\n },\n comparator: 'EQ',\n rhs: {\n value: 'John'\n }\n }\n },\n {\n condition: {\n lhs: { field: 'RemoteEmployee' },\n comparator: 'IS_TRUE'\n }\n }\n ]\n};\n\nexport const demoFilters: PromotedFiltersProps['filters'] = [\n { field: { name: 'FirstName', type: 'TEXT' }, mode: 'default', label: 'First name' },\n { field: { name: 'LastName', type: 'TEXT' }, mode: 'advanced', label: 'Last name' },\n {\n field: { name: 'Experience', type: 'INTEGER' },\n mode: 'default',\n label: 'Years of experience'\n },\n {\n field: {\n name: 'Score',\n type: 'INTEGER'\n },\n mode: 'predefined',\n label: 'Score',\n predefinedConditions: [\n {\n id: 'score1',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'GT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score2',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'EQ',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score3',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'LT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score4',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'BTW',\n rhs: {\n start: 0,\n end: 10\n }\n }\n },\n {\n id: 'score5',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'IS_NULL'\n }\n }\n ]\n },\n {\n field: {\n name: 'Hired',\n type: 'DATE_ONLY'\n },\n mode: 'predefined',\n label: 'Hired',\n predefinedConditions: [\n {\n id: 'hired1',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'LT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'Before 2022'\n },\n {\n id: 'hired2',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'GT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'After 2022'\n },\n {\n id: 'hired3',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'BTW',\n rhs: {\n start: '2023-01-03',\n end: '2023-31-03'\n }\n },\n label: 'In March 2023'\n }\n ]\n },\n {\n field: { name: 'Salary', type: 'INTEGER' },\n mode: 'advanced',\n label: 'Salary'\n },\n {\n field: { name: 'HireDate', type: 'DATE_ONLY' },\n mode: 'default',\n label: 'Hire date'\n },\n {\n field: { name: 'LastPromotion', type: 'DATE_ONLY' },\n mode: 'advanced',\n label: 'Date of last promotion'\n },\n {\n field: { name: 'DailyMeetingTime', type: 'TIME_ONLY' },\n mode: 'default',\n label: 'Time of daily meeting'\n },\n {\n field: { name: 'StartOfWorkingHours', type: 'TIME_ONLY' },\n mode: 'advanced',\n label: 'Start of working hours'\n },\n {\n field: { name: 'NextReviewDate', type: 'DATE_TIME' },\n mode: 'default',\n label: 'Next scheduled review'\n },\n {\n field: { name: 'LastOfficeCheckIn', type: 'DATE_TIME' },\n mode: 'advanced',\n label: 'Last check-in in the office'\n },\n {\n field: { name: 'RemoteEmployee', type: 'BOOLEAN' },\n mode: 'default',\n label: 'Remote employee'\n },\n {\n field: {\n name: 'Department',\n type: 'PICKLIST',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n mode: 'default'\n },\n {\n field: {\n name: 'Status',\n type: 'PICKLIST',\n possibleValues: () =>\n Promise.resolve([\n { id: 'new', primary: 'New' },\n { id: 'open', primary: 'Open' },\n { id: 'resolved', primary: 'Resolved' }\n ])\n },\n mode: 'default'\n }\n];\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Meta, Story } from '@storybook/react';
|
|
2
|
+
import { DangerButtonProps } from '@pega/cosmos-react-core';
|
|
3
|
+
declare const _default: Meta;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const DangerButtonDemo: Story<DangerButtonProps>;
|
|
6
|
+
//# sourceMappingURL=DangerButton.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DangerButton.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DangerButton/DangerButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAgB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;;AAE1E,wBAGU;AAEV,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAErD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DangerButton } from '@pega/cosmos-react-core';
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Core/DangerButton',
|
|
5
|
+
component: DangerButton
|
|
6
|
+
};
|
|
7
|
+
export const DangerButtonDemo = (args) => (_jsx(DangerButton, { ...args }));
|
|
8
|
+
DangerButtonDemo.args = {
|
|
9
|
+
label: 'Proceed with caution',
|
|
10
|
+
primary: true,
|
|
11
|
+
disabled: false
|
|
12
|
+
};
|
|
13
|
+
DangerButtonDemo.argTypes = {
|
|
14
|
+
label: { control: { type: 'text' } },
|
|
15
|
+
primary: { control: { type: 'boolean' } },
|
|
16
|
+
disabled: { control: { type: 'boolean' } }
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DangerButton.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DangerButton.stories.js","sourceRoot":"","sources":["../../../src/core/DangerButton/DangerButton.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAE1E,eAAe;IACb,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,YAAY;CAChB,CAAC;AAEV,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CAAC,IAAuB,EAAE,EAAE,CAAC,CACrF,KAAC,YAAY,OAAK,IAAI,GAAI,CAC3B,CAAC;AAEF,gBAAgB,CAAC,IAAI,GAAG;IACtB,KAAK,EAAE,sBAAsB;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,gBAAgB,CAAC,QAAQ,GAAG;IAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACpC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACzC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC3C,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport { DangerButton, DangerButtonProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/DangerButton',\n component: DangerButton\n} as Meta;\n\nexport const DangerButtonDemo: Story<DangerButtonProps> = (args: DangerButtonProps) => (\n <DangerButton {...args} />\n);\n\nDangerButtonDemo.args = {\n label: 'Proceed with caution',\n primary: true,\n disabled: false\n};\n\nDangerButtonDemo.argTypes = {\n label: { control: { type: 'text' } },\n primary: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeDisplay.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAEL,oBAAoB,EAEpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;;AAEjC,wBAEU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"DateTimeDisplay.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAEL,oBAAoB,EAEpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;;AAEjC,wBAEU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAQ3D,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAS3D,CAAC"}
|
|
@@ -4,15 +4,17 @@ export default {
|
|
|
4
4
|
title: 'Core/DateTime'
|
|
5
5
|
};
|
|
6
6
|
export const DurationDisplayDemo = (args) => {
|
|
7
|
-
return _jsx(DurationDisplay, { value: args.value, significantUnits: args.significantUnits });
|
|
7
|
+
return (_jsx(DurationDisplay, { value: args.value, significantUnits: args.significantUnits, unitDisplay: args.unitDisplay }));
|
|
8
8
|
};
|
|
9
9
|
DurationDisplayDemo.args = {
|
|
10
10
|
value: 462553844,
|
|
11
|
-
significantUnits: 4
|
|
11
|
+
significantUnits: 4,
|
|
12
|
+
unitDisplay: undefined
|
|
12
13
|
};
|
|
13
14
|
DurationDisplayDemo.argTypes = {
|
|
14
15
|
value: { control: { type: 'number' } },
|
|
15
|
-
significantUnits: { options: [1, 2, 3, 4], control: { type: 'select' } }
|
|
16
|
+
significantUnits: { options: [1, 2, 3, 4], control: { type: 'select' } },
|
|
17
|
+
unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } }
|
|
16
18
|
};
|
|
17
19
|
export const DateTimeDisplayDemo = (args) => {
|
|
18
20
|
return (_jsx(DateTimeDisplay, { value: args.value, variant: args.variant, format: args.format, clockFormat: args.clockFormat }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeDisplay.stories.js","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,eAAe,EAEf,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,eAAe;IACb,KAAK,EAAE,eAAe;CACf,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,OAAO,KAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"DateTimeDisplay.stories.js","sourceRoot":"","sources":["../../../src/core/DateTime/DateTimeDisplay.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,eAAe,EAEf,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,eAAe;IACb,KAAK,EAAE,eAAe;CACf,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,SAAS;IAChB,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACtC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACxE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;CAC9F,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,KAAK,EAAE,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACpC,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM;YACN,UAAU;YACV,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,WAAW;YACX,aAAa;YACb,UAAU;SACX;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC9E,WAAW,EAAE;QACX,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;KAClC;CACF,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport {\n DateTimeDisplay,\n DateTimeDisplayProps,\n DurationDisplay,\n DurationDisplayProps\n} from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/DateTime'\n} as Meta;\n\nexport const DurationDisplayDemo: Story<DurationDisplayProps> = (args: DurationDisplayProps) => {\n return (\n <DurationDisplay\n value={args.value}\n significantUnits={args.significantUnits}\n unitDisplay={args.unitDisplay}\n />\n );\n};\n\nDurationDisplayDemo.args = {\n value: 462553844,\n significantUnits: 4,\n unitDisplay: undefined\n};\n\nDurationDisplayDemo.argTypes = {\n value: { control: { type: 'number' } },\n significantUnits: { options: [1, 2, 3, 4], control: { type: 'select' } },\n unitDisplay: { options: [undefined, 'narrow', 'short', 'long'], control: { type: 'select' } }\n};\n\nexport const DateTimeDisplayDemo: Story<DateTimeDisplayProps> = (args: DateTimeDisplayProps) => {\n return (\n <DateTimeDisplay\n value={args.value}\n variant={args.variant}\n format={args.format}\n clockFormat={args.clockFormat}\n />\n );\n};\n\nDateTimeDisplayDemo.args = {\n value: new Date(),\n variant: 'date',\n format: 'short',\n clockFormat: undefined\n};\n\nDateTimeDisplayDemo.argTypes = {\n value: { control: { type: 'date' } },\n variant: {\n options: [\n 'date',\n 'datetime',\n 'time',\n 'week',\n 'month',\n 'year',\n 'monthyear',\n 'quarteryear',\n 'relative'\n ],\n control: { type: 'select' }\n },\n format: { options: ['short', 'long', 'numeric'], control: { type: 'select' } },\n clockFormat: {\n options: [undefined, 12, 24],\n control: { type: 'inline-radio' }\n }\n};\n"]}
|
|
@@ -80,7 +80,7 @@ export const commitsData = [
|
|
|
80
80
|
id: 'aeb1e26fa8f0f2ae29f93ae07ac3c98dde3ade46',
|
|
81
81
|
author: 'Scott Farmer',
|
|
82
82
|
date: 'Fri Jan 21',
|
|
83
|
-
message: 'pkg:
|
|
83
|
+
message: 'pkg: Updates types packages for React 17.'
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
id: '55a2c452559a59bcadedb0020b03675c3234a238',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.mocks.js","sourceRoot":"","sources":["../../../src/core/Table/Table.mocks.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,kBAAkB;QACzB,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,qBAAqB;QAC5B,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE,CACP,8BACE,yCAAuB,EACvB,6CAA2B,IAC1B,CACJ;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,6BAA6B;KACvC;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,kDAAkD;KAC5D;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,kEAAkE;KAC5E;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,uCAAuC;KACjD;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,0DAA0D;KACpE;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,sFAAsF;KAChG;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,YAAY;QAClB,OAAO,EACL,iGAAiG;KACpG;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,6BAA6B;KACvC;IACD;QACE,EAAE,EAAE,0CAA0C;QAC9C,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Table.mocks.js","sourceRoot":"","sources":["../../../src/core/Table/Table.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["export const tableData = [\n {\n id: '1234',\n name: 'Jane Smith',\n dob: '12/31/1990',\n address: 'Boston, MA',\n email: 'jsmith@email.com',\n emailVerified: true,\n balance: '$2,200'\n },\n {\n id: '5678',\n name: 'Joe Smith',\n dob: '01/01/1980',\n address: '',\n email: 'joe.smith@email.com',\n emailVerified: true,\n balance: '$1,350'\n },\n {\n id: '0000',\n name: 'Mary Lou',\n dob: '06/15/1985',\n address: (\n <>\n <div>100 Main St.</div>\n <div>Springfield, USA</div>\n </>\n ),\n email: '',\n balance: '-$175'\n }\n];\n\nexport const commitsData = [\n {\n id: '1407c5fcbe460aa06a78b4779583917599d9bd78',\n author: 'Scott Farmer',\n date: 'Fri Jan 28',\n message: 'pkg: Version 3.0.0-dev.2.1.'\n },\n {\n id: '902716be61eed70280178c01db19fwa504f57a51',\n author: 'Scott Farmer',\n date: 'Fri Jan 28',\n message: 'fix(core:Menu): Adds missing icon registrations.'\n },\n {\n id: '8b7916b1d8691fec1d884eadb445019a44ba6c6b',\n author: 'Sam Singh',\n date: 'Fri Jan 28',\n message: 'fix(core:Currency): Fixes decimal truncation. Updates the tests.'\n },\n {\n id: '7d119a2af6d6de9516da3e4eddf8e4523152358e',\n author: 'Sam Singh',\n date: 'Wed Jan 26',\n message: 'docs(work:Details): Updates the demo.'\n },\n {\n id: '41f0875a5b049d40081w0bf8bbae0279ee469fe6',\n author: 'Scott Farmer',\n date: 'Tue Jan 25',\n message: 'fix(core:icons): Updates minus icon to be more centered.'\n },\n {\n id: '9f5996ebd2d9076b53bff2cf8a641v292bcbc256',\n author: 'Anna Florence',\n date: 'Wed Jan 26',\n message: 'docs(core:Toaster): Modifies Toaster demo to incorporate wrapping Toaster component.'\n },\n {\n id: '6125f52db79bc1ada47e195e36d01927443b0e1c',\n author: 'Anna Florence',\n date: 'Tue Jan 25',\n message:\n 'docs: Modifies copy-demos script to maintain relative paths for all inner demo package imports.'\n },\n {\n id: '1eceb3ef9539e22225ab287428d7902ee19b5753',\n author: 'Scott Farmer',\n date: 'Fri Jan 21',\n message: 'pkg: Version 3.0.0-dev.2.0.'\n },\n {\n id: 'aeb1e26fa8f0f2ae29f93ae07ac3c98dde3ade46',\n author: 'Scott Farmer',\n date: 'Fri Jan 21',\n message: 'pkg: Updates types packages for React 17.'\n },\n {\n id: '55a2c452559a59bcadedb0020b03675c3234a238',\n author: 'Jan Stark',\n date: 'Mon Jan 17',\n message: 'fix(core:MultiStep): Fixes position of step labels.'\n },\n {\n id: 'f1e1a36e86de7a8e33684b44203a36d6622b39f6',\n author: 'Yan Miller',\n date: 'Wed Jan 19',\n message: 'fix(social:Email): Fixes the persistent utility resize issue with email components.'\n },\n {\n id: '82ed6caa36f4518de7af66aff80dee7b128c23d4',\n author: 'Anna Florence',\n date: 'Wed Jan 19',\n message: 'docs: Adds demos for component customization, configuration, and theme.'\n },\n {\n id: '6e0702db4cc0c59375006dfd36f9a943953d0716',\n author: 'Anna Florence',\n date: 'Wed Jan 19',\n message: 'style: Re-orders component theme definitions to be in alphabetical order.'\n },\n {\n id: '3cc54ccc2a2287019594eda4db68838aa1f32b0b',\n author: 'Sam Singh',\n date: 'Fri Jan 21',\n message: 'docs(work:Details): Fixes displaying currency fields in the demo file.'\n },\n {\n id: '38ba5f8a83681345d9568b9a7c3693bd30af7be8',\n author: 'Sam Singh',\n date: 'Fri Jan 21',\n message:\n 'fix(core:Number)!: Enables rounding for NumberDisplay component. Fixes decimal precision support.'\n },\n {\n id: '5914d105574e12f4c3aae6a616c54ce9cc4f70bf',\n author: 'Yan Miller',\n date: 'Thu Jan 20',\n message: 'fix(core:TextArea): Fixes ios safari focus styling issue.'\n },\n {\n id: 'b03f783df31634a334e1c46c76c30391a8907080',\n author: 'Sam Singh',\n date: 'Mon Dec 20',\n message: 'fix(core:Currency)!: Enables rounding for CurrencyDisplay.'\n },\n {\n id: '759536fb5e257a3a3c0b85d3cb2b63565f3b30e1',\n author: 'Scott Farmer',\n date: 'Wed Jan 19',\n message: 'pkg: Updates development versions of React and ReactDOM to 17.0.2.'\n },\n {\n id: 'dcf4a23758f6eaca62bad5f50a9bf1b281ad931b',\n author: 'Sam Singh',\n date: 'Tue Jan 18',\n message: 'refactor(build:Workbench): Optimizes CSS for zoom.'\n },\n {\n id: '94186cf82de48c3a4cbea158f25ad471cd49b9e4',\n author: 'Sam Singh',\n date: 'Tue Jan 18',\n message: 'fix(build:Workbench): Adds tooltip to close button.'\n },\n {\n id: 'da16bdc203ddb10a5ad9c48882a73d9587daa198',\n author: 'Sam Singh',\n date: 'Mon Jan 17',\n message: \"fix(build:Workbench): Corrects component's expanding in Page Templates.\"\n },\n {\n id: '8dd5d2190aaaf72ae4aac70af42d16365845fb18',\n author: 'Sam Singh',\n date: 'Mon Jan 17',\n message: 'fix(build:Workbench): Truncates long headings.'\n }\n];\n"]}
|
|
@@ -123,7 +123,7 @@ MessageDemo.argTypes = {
|
|
|
123
123
|
timestamp: { control: 'text' },
|
|
124
124
|
showStatus: { type: 'boolean' },
|
|
125
125
|
status: {
|
|
126
|
-
options: ['delivered', 'opened', 'undeliverable'],
|
|
126
|
+
options: ['delivered', 'opened', 'undeliverable', 'sent'],
|
|
127
127
|
control: { type: 'inline-radio' }
|
|
128
128
|
},
|
|
129
129
|
showHeader: { control: 'boolean' },
|