@reltio/remotes 1.4.1177 → 1.4.1179

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 (166) hide show
  1. package/1136.js +2 -1
  2. package/1136.js.map +1 -0
  3. package/1196.css +2 -0
  4. package/1196.css.map +1 -0
  5. package/1196.js +2 -1
  6. package/1196.js.map +1 -0
  7. package/1274.js +2 -1
  8. package/1274.js.map +1 -0
  9. package/1396.js +2 -1
  10. package/1396.js.map +1 -0
  11. package/1406.js +2 -1
  12. package/1406.js.map +1 -0
  13. package/1635.js +2 -1
  14. package/1635.js.map +1 -0
  15. package/1920.js +2 -1
  16. package/1920.js.map +1 -0
  17. package/1957.css +2 -0
  18. package/1957.css.map +1 -0
  19. package/1957.js +2 -1
  20. package/1957.js.map +1 -0
  21. package/2114.js +2 -1
  22. package/2114.js.map +1 -0
  23. package/2244.js +2 -1
  24. package/2244.js.map +1 -0
  25. package/2393.js +2 -1
  26. package/2393.js.map +1 -0
  27. package/2605.js +2 -1
  28. package/2605.js.map +1 -0
  29. package/2890.js +2 -1
  30. package/2890.js.map +1 -0
  31. package/2899.js +2 -1
  32. package/2899.js.map +1 -0
  33. package/3126.js +2 -1
  34. package/3126.js.map +1 -0
  35. package/3213.js +2 -1
  36. package/3213.js.map +1 -0
  37. package/3348.js +2 -1
  38. package/3348.js.map +1 -0
  39. package/3405.js +2 -1
  40. package/3405.js.map +1 -0
  41. package/350.js +2 -1
  42. package/350.js.map +1 -0
  43. package/366.js +2 -1
  44. package/366.js.map +1 -0
  45. package/3745.js +2 -1
  46. package/3745.js.map +1 -0
  47. package/3980.js +2 -1
  48. package/3980.js.map +1 -0
  49. package/3981.js +2 -1
  50. package/3981.js.map +1 -0
  51. package/4132.js +2 -1
  52. package/4132.js.map +1 -0
  53. package/4277.js +2 -1
  54. package/4277.js.map +1 -0
  55. package/4361.js +2 -1
  56. package/4361.js.map +1 -0
  57. package/4582.js +2 -1
  58. package/4582.js.map +1 -0
  59. package/4689.js +2 -1
  60. package/4689.js.map +1 -0
  61. package/4803.js +2 -1
  62. package/4803.js.map +1 -0
  63. package/4843.js +1 -1
  64. package/4863.js +2 -1
  65. package/4863.js.map +1 -0
  66. package/4889.js +2 -1
  67. package/4889.js.map +1 -0
  68. package/5026.js +2 -1
  69. package/5026.js.map +1 -0
  70. package/5198.js +2 -1
  71. package/5198.js.map +1 -0
  72. package/5312.js +2 -1
  73. package/5312.js.map +1 -0
  74. package/5400.js +2 -1
  75. package/5400.js.map +1 -0
  76. package/5701.js +2 -1
  77. package/5701.js.map +1 -0
  78. package/5709.js +2 -1
  79. package/5709.js.map +1 -0
  80. package/5714.js +2 -1
  81. package/5714.js.map +1 -0
  82. package/5720.js +2 -1
  83. package/5720.js.map +1 -0
  84. package/5797.js +2 -1
  85. package/5797.js.map +1 -0
  86. package/5805.js +2 -1
  87. package/5805.js.map +1 -0
  88. package/5884.js +2 -1
  89. package/5884.js.map +1 -0
  90. package/5912.js +2 -1
  91. package/5912.js.map +1 -0
  92. package/5953.js +2 -1
  93. package/5953.js.map +1 -0
  94. package/621.js +2 -1
  95. package/621.js.map +1 -0
  96. package/6244.js +2 -1
  97. package/6244.js.map +1 -0
  98. package/6248.js +2 -1
  99. package/6248.js.map +1 -0
  100. package/6596.css +2 -0
  101. package/6596.css.map +1 -0
  102. package/6596.js +2 -1
  103. package/6596.js.map +1 -0
  104. package/6710.js +2 -1
  105. package/6710.js.map +1 -0
  106. package/6719.js +2 -1
  107. package/6719.js.map +1 -0
  108. package/6971.js +2 -1
  109. package/6971.js.map +1 -0
  110. package/7147.js +2 -1
  111. package/7147.js.map +1 -0
  112. package/7265.js +2 -1
  113. package/7265.js.map +1 -0
  114. package/7526.js +2 -1
  115. package/7526.js.map +1 -0
  116. package/7621.js +2 -1
  117. package/7621.js.map +1 -0
  118. package/7737.js +2 -1
  119. package/7737.js.map +1 -0
  120. package/781.js +2 -1
  121. package/781.js.map +1 -0
  122. package/79.js +2 -1
  123. package/79.js.map +1 -0
  124. package/8047.js +2 -1
  125. package/8047.js.map +1 -0
  126. package/8122.js +2 -1
  127. package/8122.js.map +1 -0
  128. package/8148.js +2 -1
  129. package/8148.js.map +1 -0
  130. package/8419.js +2 -1
  131. package/8419.js.map +1 -0
  132. package/8570.js +2 -1
  133. package/8570.js.map +1 -0
  134. package/8581.js +2 -1
  135. package/8581.js.map +1 -0
  136. package/8753.js +2 -1
  137. package/8753.js.map +1 -0
  138. package/8794.js +2 -1
  139. package/8794.js.map +1 -0
  140. package/8969.js +2 -1
  141. package/8969.js.map +1 -0
  142. package/9394.js +2 -1
  143. package/9394.js.map +1 -0
  144. package/9431.js +2 -1
  145. package/9431.js.map +1 -0
  146. package/9446.js +2 -1
  147. package/9446.js.map +1 -0
  148. package/9503.js +2 -1
  149. package/9503.js.map +1 -0
  150. package/9551.js +2 -1
  151. package/9551.js.map +1 -0
  152. package/9630.js +2 -1
  153. package/9630.js.map +1 -0
  154. package/9838.css +2 -0
  155. package/9838.css.map +1 -0
  156. package/9838.js +2 -1
  157. package/9838.js.map +1 -0
  158. package/9854.js +2 -1
  159. package/9854.js.map +1 -0
  160. package/9983.js +2 -1
  161. package/9983.js.map +1 -0
  162. package/main.js +2 -1
  163. package/main.js.map +1 -0
  164. package/package.json +1 -1
  165. package/remoteEntry.js +2 -1
  166. package/remoteEntry.js.map +1 -0
package/6710.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6710.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/AttributeSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/AttributeSelector/AttributeSelector.tsx","webpack://@reltio/remotes/../components/src/components/AutoSizeList/styles.ts","webpack://@reltio/remotes/../components/src/components/AutoSizeList/AutoSizeList.tsx","webpack://@reltio/remotes/../components/src/components/BasicViewContent/styles.ts","webpack://@reltio/remotes/../components/src/components/BasicViewContent/BasicViewContent.tsx","webpack://@reltio/remotes/../components/src/components/DateIntervalSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/DateIntervalSelector/DateIntervalSelector.tsx","webpack://@reltio/remotes/../components/src/components/ErrorBoundary/ErrorBoundary.tsx","webpack://@reltio/remotes/../components/src/components/UserSelector/styles.ts","webpack://@reltio/remotes/../components/src/components/UserSelector/UserSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/GroupItem/GroupItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivityTitle/ActivityTitle.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/CommentActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/GroupActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/contexts/CollapsibleItemsContext/index.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MoreItemsLink/MoreItemsLink.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/CollapsibleActivityRecords.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/EntityObject/EntityObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/commonStyles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/PotentialMatchField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/PotentialMatchRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/MergeActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/PotentialMatchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/fields/DeltaField.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RecordUpdates.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/EntityRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ProfileActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationObject/RelationObject.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/records/RelationRecord.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/RelationActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SearchActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SimpleActivity.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/SynchronizationIssuesActivity.tsx","webpack://@reltio/remotes/../components/src/icons/Add.tsx","webpack://@reltio/remotes/../components/src/icons/Comment.tsx","webpack://@reltio/remotes/../components/src/icons/Create.tsx","webpack://@reltio/remotes/../components/src/icons/LogIn.tsx","webpack://@reltio/remotes/../components/src/icons/LogOut.tsx","webpack://@reltio/remotes/../components/src/icons/Merge.tsx","webpack://@reltio/remotes/../components/src/icons/NoMatches.tsx","webpack://@reltio/remotes/../components/src/icons/PotentialMatch.tsx","webpack://@reltio/remotes/../components/src/icons/Profile.tsx","webpack://@reltio/remotes/../components/src/icons/Remove.tsx","webpack://@reltio/remotes/../components/src/icons/Search.tsx","webpack://@reltio/remotes/../components/src/icons/UnMerge.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/activities/ActivitiesFactory.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/items/ActivityItem/ActivityItem.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLog/ActivityLog.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/helpers.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/utils/getSelectorActivityTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivitySelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/DateRangeSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityTypesSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/SourceSelector.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/EntityChangedSelectors.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/styles.ts","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityExportButton/ActivityExportButton.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/ActivityLogFilter/ActivityLogFilter.tsx","webpack://@reltio/remotes/../components/src/components/activityLog/types/ActivityTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/types/DeltaTypes.ts","webpack://@reltio/remotes/../components/src/components/activityLog/utils/activities.ts","webpack://@reltio/remotes/../components/src/components/activityLog/utils/filters.ts","webpack://@reltio/remotes/../components/src/components/editors/CustomDateRangeEditor/styles.ts","webpack://@reltio/remotes/../components/src/components/editors/CustomDateRangeEditor/CustomDateRangeEditor.tsx","webpack://@reltio/remotes/../components/src/hooks/useReadableSearchState.ts","webpack://@reltio/remotes/../components/src/types/index.ts"],"sourcesContent":["import {makeStyles} from '@material-ui/core/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300})\n};\n\nexport const useStyles = makeStyles({\n root: {\n flex: 1\n },\n title: {\n paddingBottom: '10px',\n paddingLeft: '5px',\n fontSize: '14px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n option: {\n fontSize: '14px',\n height: '32px'\n },\n noOptionsMessage: {\n fontSize: '14px'\n }\n});\n","import React, {useCallback, useMemo} from 'react';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {pipe, defaultTo} from 'ramda';\nimport {useSelector} from 'react-redux';\nimport {AttributeOption} from '../../types';\nimport mdmModule from '@reltio/mdm-module';\nimport {MultiValueProps, OptionProps} from 'react-select';\nimport {AttributeType, getAttributeTypeSubAttributes, Metadata, TEntityType} from '@reltio/mdm-sdk';\nimport {Typography as Typography} from '@material-ui/core';\nimport MultiSelect from '../ReactSelect/MultiSelect';\nimport MultiValue from '../ReactSelect/commonComponents/MultiValue';\nimport DropdownIndicatorWithIconButton from '../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport AttributeListItem from '../AttributeListItem/AttributeListItem';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n entityType: TEntityType;\n selectedAttributes: AttributeOption[];\n className?: string;\n onChange?: (attributes: AttributeOption[]) => void;\n title?: string;\n disableUnderline?: boolean;\n menuPlacement?: string;\n};\n\nconst AttributeSelector = ({\n entityType,\n selectedAttributes,\n className,\n onChange,\n title,\n disableUnderline,\n menuPlacement = 'bottom'\n}: Props) => {\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const styles = useStyles();\n\n const prepareItems = useCallback(\n (data: AttributeType[], level = 0, prevLabel = ''): AttributeOption[] => {\n return data.reduce((acc, item) => {\n if (item.hidden) return acc;\n const chipLabel = `${prevLabel && prevLabel + ' / '}${item.label}`;\n acc.push({\n label: item.label,\n value: item.uri,\n attrType: item,\n chipLabel,\n level\n });\n const subAttributes = getAttributeTypeSubAttributes(metadata, item);\n return acc.concat(subAttributes ? prepareItems(subAttributes, level + 1, chipLabel) : []);\n }, []);\n },\n [metadata]\n );\n\n const options = useMemo(() => prepareItems(entityType?.attributes || []), [entityType, prepareItems]);\n\n const CustomOption = ({isFocused, isSelected, data, label, innerProps}: OptionProps<AttributeOption, true>) => (\n <div {...innerProps}>\n <AttributeListItem\n checked={isSelected}\n level={data.level}\n data={data}\n label={label}\n labelInText={label}\n isFocused={isFocused}\n />\n </div>\n );\n\n const CustomMultiValue = ({data, ...props}: MultiValueProps<AttributeOption>) => (\n <MultiValue {...props}>{data.chipLabel}</MultiValue>\n );\n\n return (\n <div className={classnames(styles.root, className)}>\n <Typography className={styles.title} variant={'subtitle1'}>\n {title || i18n.text('Attribute')}\n </Typography>\n <MultiSelect\n value={selectedAttributes}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton,\n MultiValue: CustomMultiValue,\n Option: CustomOption\n }}\n onChange={pipe(defaultTo([]), onChange)}\n styles={customStyles}\n classes={styles}\n menuPlacement={menuPlacement}\n menuPortalTarget={document.body}\n />\n </div>\n );\n};\n\nexport default AttributeSelector;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n item: {\n overflow: 'hidden'\n }\n});\n","import React, {memo, MutableRefObject, useCallback, useMemo, useRef, useState} from 'react';\nimport {VariableSizeList as List} from 'react-window';\nimport ReactResizeDetector from 'react-resize-detector';\nimport {debounce} from '@reltio/mdm-sdk';\nimport {useStyles} from './styles';\n\ntype Props<T> = {\n width: number;\n height: number;\n data: T[];\n defaultItemSize: number;\n itemKey?: (index: number, data: T[]) => string;\n children: ({data, index}: {data: T[]; index: number}) => React.ReactNode;\n showNotMeasuredItems?: boolean;\n listRef?: MutableRefObject<List>;\n};\n\nconst AutoSizeList = <T extends unknown>({\n width = 0,\n height = 0,\n defaultItemSize,\n data,\n children,\n itemKey,\n showNotMeasuredItems,\n listRef: listRefProp\n}: Props<T>) => {\n const styles = useStyles();\n const rowHeightsCache = useRef({});\n const cacheRowHeight = (key, height) => {\n rowHeightsCache.current = {\n ...rowHeightsCache.current,\n [key]: height\n };\n };\n\n const [rowHeights, setRowHeights] = useState({});\n const applyRowHeights = useCallback(\n debounce(() => {\n setRowHeights({...rowHeightsCache.current});\n }),\n []\n );\n\n const getItemKeyFromData = useCallback((data, index) => (itemKey ? itemKey(index, data) : index), [itemKey]);\n const getItemKey = (index) => getItemKeyFromData(data, index);\n const getItemSize = (index) => rowHeights[getItemKey(index)] || defaultItemSize;\n\n const localListRef = useRef<List>();\n const listRef = listRefProp || localListRef;\n listRef.current && listRef.current.resetAfterIndex(0, false);\n\n const Row = useMemo(\n //eslint-disable-next-line\n () => ({data, index, style}) => {\n const key = getItemKeyFromData(data, index);\n return (\n <div style={style} className={styles.item}>\n <div\n style={\n !showNotMeasuredItems ? {visibility: key in rowHeights ? undefined : 'hidden'} : undefined\n }\n >\n <ReactResizeDetector\n handleHeight={true}\n onResize={(_, height) => {\n if (rowHeightsCache.current[key] !== height) {\n cacheRowHeight(key, height);\n applyRowHeights();\n }\n }}\n />\n {children({data, index})}\n </div>\n </div>\n );\n },\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [children, showNotMeasuredItems, getItemKeyFromData, applyRowHeights, !showNotMeasuredItems && rowHeights]\n );\n\n return (\n <List\n ref={listRef}\n width={width}\n height={height}\n itemCount={data.length}\n itemData={data}\n itemSize={getItemSize}\n itemKey={itemKey}\n >\n {Row}\n </List>\n );\n};\n\nexport default memo(AutoSizeList);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n 'basic-view-content': {\n flex: '1 1 auto',\n padding: '0 24px 24px',\n '&:first-child': {\n paddingTop: '24px'\n }\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\ntype Props = React.ComponentPropsWithoutRef<'div'>;\n\nconst BasicViewContent = ({children, className, ...otherProps}: Props) => {\n const styles = useStyles();\n return (\n <div className={classnames(styles['basic-view-content'], className)} {...otherProps}>\n {children}\n </div>\n );\n};\n\nexport default BasicViewContent;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n display: 'flex',\n flex: 1\n },\n input: {\n height: '100%',\n paddingLeft: '12px',\n paddingRight: '8px',\n fontSize: '14px'\n },\n inputNumber: {\n minWidth: '60px',\n marginRight: 10,\n height: '100%',\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n inputUnit: {\n width: '100%'\n }\n});\n","import React from 'react';\nimport {pipe} from 'ramda';\nimport i18n from 'ui-i18n';\nimport capitalize from '@material-ui/core/utils/capitalize';\nimport {TextField as TextField} from '@material-ui/core';\nimport SimpleDropDownSelector from '../SimpleDropDownSelector/SimpleDropDownSelector';\nimport {getValue} from '../../core/utils';\nimport {useStyles} from './styles';\n\ntype Props = {\n interval: [number, string];\n onChange: ([number, string]) => void;\n onFocus?: () => void;\n};\n\nconst periods = [\n i18n.text('minutes'),\n i18n.text('hours'),\n i18n.text('days'),\n i18n.text('weeks'),\n i18n.text('months'),\n i18n.text('years')\n];\n\nconst DateIntervalSelector = ({interval: [value, unit], onChange, onFocus}: Props) => {\n const styles = useStyles();\n const getIntervalFromValue = (newValue: number) => [newValue, unit];\n const getIntervalFromUnit = ({value: newUnit}: {value: string}) => [value, newUnit];\n const onNumberChange = pipe(getValue, parseInt, getIntervalFromValue, onChange);\n const onUnitChange = pipe(getIntervalFromUnit, onChange);\n return (\n <div className={styles.root}>\n <TextField\n type=\"number\"\n value={value || ''}\n onChange={onNumberChange}\n inputProps={{min: 1, onFocus: onFocus}}\n InputProps={{classes: {root: styles.input}}}\n className={styles.inputNumber}\n />\n <SimpleDropDownSelector\n label={''}\n placeholder={capitalize(unit)}\n className={styles.inputUnit}\n value={{value: unit, label: capitalize(unit)}}\n options={periods.map((value) => ({\n value,\n label: capitalize(value)\n }))}\n onChange={onUnitChange}\n TextFieldProps={{\n inputProps: {onFocus: onFocus},\n InputProps: {classes: {root: styles.input}}\n }}\n />\n </div>\n );\n};\n\nexport default DateIntervalSelector;\n","import React from 'react';\n\ntype State = {\n error: Error | null;\n};\n\ntype Props = {\n error: React.ReactNode;\n};\n\nexport default class ErrorBoundary extends React.Component<Props, State> {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n\n componentDidCatch(error) {\n this.setState({\n error: error\n });\n console.error(error);\n }\n\n render() {\n const {children, error} = this.props;\n if (this.state.error) {\n return error;\n }\n return children;\n }\n}\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n loadingMessage: (currentStyles) => ({...currentStyles, fontSize: '14px'}),\n menuPortal: (currentStyles) => ({...currentStyles, zIndex: 1300})\n};\n\nexport const useStyles = makeStyles({\n root: {\n flex: 1\n },\n title: {\n paddingBottom: '10px',\n paddingLeft: '5px',\n fontSize: '14px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n option: {\n fontSize: '14px',\n height: '32px'\n }\n});\n","import React, {useRef} from 'react';\nimport {useSelector} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, prop} from 'ramda';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\nimport MultiSelect from '../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {getAllUsersForTenant, User, utils} from '@reltio/mdm-sdk';\nimport mdmModule from '@reltio/mdm-module';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n selectedUsers: string[];\n onChange: (activities: string[]) => void;\n className?: string;\n disableUnderline?: boolean;\n};\n\nconst UserSelector = ({selectedUsers, onChange, className, disableUnderline}: Props) => {\n const styles = useStyles();\n\n const valueToOption = (value: string) => ({value, label: value});\n const prepareValues = (values: string[]) => values.map(valueToOption);\n const filterUsers = (inputValue) => (users) =>\n inputValue ? users.filter((username) => utils.strings.search(username, inputValue)) : users;\n\n const tenant = useSelector(mdmModule.selectors.getTenant);\n const servicesPath = useSelector(mdmModule.selectors.getServicesPath);\n\n const cachedRequest = useRef<Promise<{array: User[]}>>();\n const getOptions = (inputValue) => {\n if (!cachedRequest.current) {\n cachedRequest.current = getAllUsersForTenant({tenant, servicesPath});\n }\n return cachedRequest.current.then(\n pipe(prop('array'), pluck('username'), filterUsers(inputValue), prepareValues)\n );\n };\n\n return (\n <div className={classnames(styles.root, className)}>\n <Typography className={styles.title} variant={'subtitle1'}>\n {i18n.text('User')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedUsers)}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n defaultOptions={true}\n getOptions={getOptions}\n TextFieldProps={{\n InputProps: {disableUnderline},\n className: styles.dropDownInput\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPortalTarget={document.body}\n />\n </div>\n );\n};\n\nexport default UserSelector;\n","import {addIndex, chain, groupBy, has, map, pipe, toPairs} from 'ramda';\nimport moment from 'moment';\nimport {ActivityData} from '../types';\n\nexport type GroupedItemData = {\n collapsed: boolean;\n timestamp: number;\n children: unknown[];\n};\n\nconst buildGroupedItem = ([day, children]): GroupedItemData => ({\n timestamp: moment(day).valueOf(),\n collapsed: false,\n children\n});\n\nconst getDay = ({timestamp}) => moment(timestamp).startOf('day');\n\nexport const buildGroupedItems = pipe(groupBy(getDay), toPairs, map(buildGroupedItem));\n\nexport type GroupItemData = {\n collapsed: boolean;\n timestamp: number;\n index: number;\n};\n\nconst chainIndexed = addIndex(chain);\nexport const flattenGroupedItems = chainIndexed(({children, collapsed, timestamp}: GroupedItemData, index: number) => {\n const groupItem: GroupItemData = {collapsed, timestamp, index};\n return collapsed ? [groupItem] : [groupItem, ...children];\n});\n\nexport const isGroupItem = has('collapsed');\n\nexport const getItemKey = (index: number, data: (ActivityData | GroupItemData)[]) => {\n const item = data[index];\n return 'uri' in item ? item.uri : `${item.index}`;\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n groupItem: {\n display: 'flex',\n height: '40px',\n alignItems: 'center',\n paddingTop: '10px',\n boxSizing: 'border-box'\n },\n groupIcon: {\n marginLeft: '-5px',\n marginRight: '22px',\n width: '10px',\n height: '10px',\n background: 'white',\n border: '2px solid #D8D8D8',\n borderRadius: '50%',\n boxSizing: 'border-box',\n flexShrink: 0\n },\n groupTitle: {\n fontWeight: 500\n }\n});\n","import React from 'react';\nimport {Typography as Typography} from '@material-ui/core';\nimport i18n from 'ui-i18n';\nimport Spacer from '../../../../Spacer/Spacer';\nimport CollapseButton from '../../../../CollapseButton/CollapseButton';\nimport {isToday} from '@reltio/mdm-sdk';\nimport {GroupItemData} from '../../helpers';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n item: GroupItemData;\n onToggle: (index: number) => void;\n};\n\nconst GroupItem = ({item: {index, timestamp, collapsed}, onToggle}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.groupItem}>\n <div className={styles.groupIcon} />\n <Typography className={styles.groupTitle} variant={'subtitle1'}>\n {isToday(timestamp) ? i18n.text('Today') : i18n.date(timestamp, 'LL')}\n </Typography>\n <Spacer />\n <CollapseButton isOpen={!collapsed} onClick={() => onToggle(index)} />\n </div>\n );\n};\n\nexport default GroupItem;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityTitle: {\n display: 'block',\n fontWeight: 500,\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.primary,\n marginBottom: 8,\n marginRight: 70\n },\n activityType: {\n flexShrink: 0,\n marginRight: 8,\n whiteSpace: 'nowrap'\n }\n}));\n","import React from 'react';\nimport {ActivityTypes} from '../../types';\nimport {getActivityLabel} from '../../utils/activities';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n children?: React.ReactNode;\n};\n\nconst ActivityTitle = ({type, children}: Props) => {\n const styles = useStyles();\n return (\n <span className={styles.activityTitle}>\n <span className={styles.activityType}>{getActivityLabel(type)}</span>\n {children}\n </span>\n );\n};\nexport default ActivityTitle;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst CommentActivity = ({type}: Props) => {\n return <ActivityTitle type={type} />;\n};\n\nexport default CommentActivity;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n color: '#0072CE',\n textDecoration: 'none',\n fontWeight: 400,\n cursor: 'pointer'\n },\n objectLabel: {\n color: theme.palette.text.secondary,\n lineHeight: '15px',\n fontWeight: 400\n },\n relationUri: {\n color: theme.palette.text.primary,\n fontWeight: 400\n }\n}));\n","import React from 'react';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {getGroupLabelByTypeUri, getLabel} from '@reltio/mdm-sdk';\nimport {ActivityData, ActivityTypes} from '../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst GroupActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const label = getGroupLabelByTypeUri(metadata, data.items?.[0]?.objectType);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.objectLabel}>{getLabel(label)}</span>\n </ActivityTitle>\n );\n};\n\nexport default GroupActivity;\n","import React, {createContext, useCallback, useContext, useState} from 'react';\n\nconst DEFAULT_VISIBLE_ITEMS_COUNT = 3;\n\ntype UseCollapsibleItemsProps<T> = {\n itemsId: string;\n items: T[];\n limit?: number;\n};\n\nconst ExpandedItemsContext = createContext(null);\n\nexport const CollapsibleItemsProvider = ({children}) => {\n const [expandedItems, setExpandedItems] = useState<string[]>([]);\n const addExpandedItems = (itemId: string) => {\n if (!expandedItems.includes(itemId)) {\n setExpandedItems((items) => [...items, itemId]);\n }\n };\n return (\n <ExpandedItemsContext.Provider value={{expandedItems, addExpandedItems}}>\n {children}\n </ExpandedItemsContext.Provider>\n );\n};\n\nexport const useCollapsibleItems = <T,>({\n itemsId,\n items = [],\n limit = DEFAULT_VISIBLE_ITEMS_COUNT\n}: UseCollapsibleItemsProps<T>) => {\n const {expandedItems, addExpandedItems} = useContext(ExpandedItemsContext);\n\n const onExpand = useCallback(() => addExpandedItems(itemsId), [itemsId]);\n const isExpanded = expandedItems.includes(itemsId);\n\n const itemsToShow = items.slice(0, isExpanded ? items.length : limit);\n\n const collapsedItemsCount = items.length - itemsToShow.length;\n\n return {onExpand, itemsToShow, collapsedItemsCount};\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Link as Link} from '@material-ui/core';\n\ntype Props = {\n onClick: () => void;\n className?: string;\n itemsCount: number;\n itemsLabel: string;\n};\n\nexport const MoreItemsLink = ({itemsCount, itemsLabel, ...props}: Props) => {\n return (\n <Link component=\"button\" variant=\"caption\" {...props} underline=\"none\">\n <span>\n {i18n.text('${itemsCount} more', {itemsCount})} {itemsLabel}\n </span>\n </Link>\n );\n};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {ActivityItem} from '../../types';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n RecordComponent: React.ElementType;\n items: ActivityItem[];\n activityUri: string;\n};\n\nexport const CollapsibleActivityRecords = ({RecordComponent, items, activityUri}: Props) => {\n const {onExpand, itemsToShow, collapsedItemsCount} = useCollapsibleItems<ActivityItem>({\n itemsId: activityUri,\n items\n });\n\n return (\n <>\n {itemsToShow.map((item) => (\n <RecordComponent key={item.id} item={item} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('record') : i18n.text('records')}\n onClick={onExpand}\n />\n ) : null}\n </>\n );\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n link: {\n fontSize: 13,\n lineHeight: '15px',\n color: '#0072CE',\n textDecoration: 'none',\n fontWeight: 400,\n '&.removed': {\n pointerEvents: 'none',\n color: theme.palette.text.secondary\n }\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport React from 'react';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityObject = ({item}: Props) => {\n const styles = useStyles();\n const {objectLabel, objectUri, data} = item;\n const isRemoved = data?.type === ActivityTypes.ENTITY_REMOVED;\n\n return (\n <EntityUriLink className={classnames(styles.link, {removed: isRemoved})} value={objectUri}>\n {getLabel(objectLabel)}\n </EntityUriLink>\n );\n};\n\nexport default EntityObject;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useCommonStyles = makeStyles((theme) => ({\n field: {\n fontSize: 12,\n lineHeight: '20px',\n color: theme.palette.text.primary,\n marginTop: 4,\n display: 'block'\n },\n fieldName: {\n color: theme.palette.text.secondary,\n marginRight: 8\n },\n link: {\n color: '#0072CE',\n textDecoration: 'none',\n fontWeight: 400\n }\n}));\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n arrow: {\n margin: '0 8px',\n fontSize: 12,\n color: theme.palette.text.primary\n },\n chip: {\n height: 20,\n width: 53,\n fontSize: 10,\n fontWeight: 500,\n lineHeight: '16px',\n marginLeft: 9,\n flexShrink: 0,\n textTransform: 'capitalize',\n '& span': {\n padding: 0\n },\n '&.edited': {\n color: '#6973C2',\n borderColor: '#6973C2'\n },\n '&.added': {\n color: '#75C378',\n borderColor: '#75C378'\n },\n '&.deleted': {\n color: '#F97061',\n borderColor: '#F97061'\n }\n },\n expandLabel: {\n fontSize: 12\n },\n andLabel: {\n color: theme.palette.text.secondary\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {getLabel} from '@reltio/mdm-sdk';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useCommonStyles} from './commonStyles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst getFieldName = (type: ActivityTypes) => {\n const labels = {\n [ActivityTypes.POTENTIAL_MATCHES_FOUND]: i18n.text('Matches found'),\n [ActivityTypes.POTENTIAL_MATCHES_REMOVED]: i18n.text('Matches removed'),\n [ActivityTypes.NOT_MATCHES_SET]: i18n.text('Were set'),\n [ActivityTypes.NOT_MATCHES_RESET]: i18n.text('Were reset'),\n [ActivityTypes.ENTITIES_MERGED_MANUALLY]: i18n.text('Merged with'),\n [ActivityTypes.ENTITIES_SPLITTED]: i18n.text('Un-merged with')\n };\n return labels[type] || '';\n};\n\nconst PotentialMatchField = ({item: {id, data}}: Props) => {\n const commonStyles = useCommonStyles();\n const styles = useStyles();\n const matches = data?.potentialMatches || data?.newUri;\n\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<string>({\n itemsId: id,\n items: matches.split(',')\n });\n\n const type = data?.type as ActivityTypes;\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{getFieldName(type)}:</span>\n {itemsToShow\n .map<React.ReactNode>((url, index) => (\n <EntityUriLink key={index} value={url} className={commonStyles.link}>\n {getLabel(data[url])}\n </EntityUriLink>\n ))\n .reduce((prev, curr) => [prev, ', ', curr])}\n {collapsedItemsCount ? (\n <>\n <span className={styles.andLabel}> {i18n.text('and')} </span>\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('match') : i18n.text('matches')}\n onClick={onExpand}\n className={styles.expandLabel}\n />\n </>\n ) : null}\n </div>\n );\n};\n\nexport default PotentialMatchField;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n record: {\n background: 'rgba(0, 0, 0, 0.03)',\n border: '1px solid rgba(0, 0, 0, 0.03)',\n boxSizing: 'border-box',\n borderRadius: '3px',\n padding: '7px 14px',\n marginBottom: 8,\n position: 'relative',\n '&:hover $restoreIcon': {\n visibility: 'visible'\n }\n },\n label: {\n color: theme.palette.text.primary,\n fontSize: 12,\n lineHeight: '16px'\n },\n description: {\n marginRight: 8,\n flexShrink: 0\n },\n restoreIcon: {\n visibility: 'hidden',\n color: theme.palette.text.secondary,\n position: 'absolute',\n right: 4,\n top: 3,\n cursor: 'pointer'\n },\n moreLabel: {\n marginTop: 4\n }\n}));\n","import React from 'react';\nimport {ActivityItem} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport PotentialMatchField from '../fields/PotentialMatchField';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst PotentialMatchRecord = ({item}: Props) => {\n const styles = useStyles();\n const {potentialMatches, newUri} = item.data;\n\n return potentialMatches || newUri ? (\n <div className={styles.record}>\n <span className={styles.label}>\n <EntityObject item={item} />\n </span>\n <PotentialMatchField item={item} />\n </div>\n ) : null;\n};\n\nexport default PotentialMatchRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst MergeActivity = ({type, data}: Props) => {\n const {itemsTotal, items, uri} = data;\n const isMinimized = itemsTotal === 1 && !(items[0].data.potentialMatches || items[0].data.newUri);\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={uri} items={items} RecordComponent={PotentialMatchRecord} />\n )}\n </div>\n );\n};\n\nexport default MergeActivity;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport PotentialMatchRecord from './records/PotentialMatchRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst PotentialMatchActivity = ({type, data}: Props) => {\n return (\n <div>\n <ActivityTitle type={type} />\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={PotentialMatchRecord}\n />\n </div>\n );\n};\n\nexport default PotentialMatchActivity;\n","import {Chip as Chip} from '@material-ui/core';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport mdmModule from '@reltio/mdm-module';\nimport {findAttributeTypeByUri} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport React from 'react';\nimport {useSelector} from 'react-redux';\nimport {ActivityDelta, DeltaTypes} from '../../types';\nimport {stringifyDeltaValue} from '../../utils/activities';\nimport {useStyles} from './styles';\nimport {useCommonStyles} from './commonStyles';\n\ntype Props = {\n delta: ActivityDelta;\n};\n\nconst DeltaField = ({delta}: Props) => {\n const styles = useStyles();\n const commonStyles = useCommonStyles();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const attribute = findAttributeTypeByUri(metadata, delta.attributeType);\n const newValue = delta.newValue?.value;\n const oldValue = delta.oldValue?.value;\n const value = oldValue || newValue;\n const deltaLabel = DeltaTypes[delta.type];\n\n return (\n <div className={commonStyles.field}>\n <span className={commonStyles.fieldName}>{attribute?.label || attribute?.name}:</span>\n <span>\n {value && stringifyDeltaValue(value)}\n {newValue && oldValue && (\n <>\n <ArrowForwardIcon className={styles.arrow} />\n {stringifyDeltaValue(newValue)}\n </>\n )}\n </span>\n {deltaLabel && (\n <Chip variant=\"outlined\" label={deltaLabel} className={classnames(styles.chip, deltaLabel)} />\n )}\n </div>\n );\n};\n\nexport default DeltaField;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {ActivityDelta} from '../../types';\nimport DeltaField from '../fields/DeltaField';\nimport {useCollapsibleItems} from '../../contexts/CollapsibleItemsContext';\nimport {useStyles} from './styles';\nimport {MoreItemsLink} from '../MoreItemsLink/MoreItemsLink';\n\ntype Props = {\n updates: ActivityDelta[];\n recordId: string;\n};\n\nconst RecordUpdates = ({updates, recordId}: Props) => {\n const styles = useStyles();\n const {onExpand, collapsedItemsCount, itemsToShow} = useCollapsibleItems<ActivityDelta>({\n itemsId: recordId,\n items: updates\n });\n\n return (\n <>\n {itemsToShow.map((update, index) => (\n <DeltaField key={index} delta={update} />\n ))}\n {collapsedItemsCount ? (\n <MoreItemsLink\n itemsCount={collapsedItemsCount}\n itemsLabel={collapsedItemsCount === 1 ? i18n.text('update') : i18n.text('updates')}\n onClick={onExpand}\n className={styles.moreLabel}\n />\n ) : null}\n </>\n );\n};\n\nexport default RecordUpdates;\n","import {Typography as Typography} from '@material-ui/core';\nimport RestoreIcon from '@material-ui/icons/Restore';\nimport {ui} from '@reltio/mdm-module';\nimport {getEntityPreviousChange} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport {useDispatch} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport {path} from 'ramda';\nimport {ActivityItem, ActivityTypes} from '../../types';\nimport EntityObject from '../EntityObject/EntityObject';\nimport RecordUpdates from './RecordUpdates';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst EntityRecord = ({item}: Props) => {\n const styles = useStyles();\n const dispatch = useDispatch();\n const deltaArray = item.deltaCollection?.delta;\n const isEntityChanged = path(['data', 'type'])(item) === ActivityTypes.ENTITY_CHANGED;\n\n const openHistoryEvent = () => {\n getEntityPreviousChange(item.objectUri, item.timestamp)\n .then((previousTimestamp: number) => {\n if (previousTimestamp !== -1) {\n const historyEvent = {\n aStamp: item.timestamp,\n bStamp: previousTimestamp\n };\n dispatch(ui.actions.openHistoryEvent({entityUri: item.objectUri, historyEvent}));\n }\n })\n .catch((err) => console.error(err));\n };\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Profile changed')}</span>}\n <EntityObject item={item} />\n </Typography>\n {isEntityChanged && <RestoreIcon className={styles.restoreIcon} onClick={openHistoryEvent} />}\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default EntityRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport EntityObject from './EntityObject/EntityObject';\nimport EntityRecord from './records/EntityRecord';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst ProfileActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <EntityObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords activityUri={data.uri} items={data.items} RecordComponent={EntityRecord} />\n )}\n </div>\n );\n};\n\nexport default ProfileActivity;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n relationship: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n overflow: 'hidden'\n },\n link: {\n color: '#0072CE',\n textDecoration: 'none',\n fontWeight: 400\n },\n delimiter: {\n margin: '0 8px'\n }\n}));\n","import {getLabel} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport EntityUriLink from '../../../EntityUriLink/EntityUriLink';\nimport {ActivityItem} from '../../types';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationObject = ({item}: Props) => {\n const styles = useStyles();\n const {startObjectLabel, startObjectUri, endObjectLabel, endObjectUri} = item;\n\n return (\n <span className={styles.relationship}>\n <EntityUriLink className={styles.link} value={startObjectUri}>\n {getLabel(startObjectLabel)}\n </EntityUriLink>\n <span className={styles.delimiter}>{i18n.text('to')}</span>\n <EntityUriLink className={styles.link} value={endObjectUri}>\n {getLabel(endObjectLabel)}\n </EntityUriLink>\n </span>\n );\n};\n\nexport default RelationObject;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Typography as Typography} from '@material-ui/core';\nimport RelationObject from '../RelationObject/RelationObject';\nimport {ActivityItem} from '../../types';\nimport RecordUpdates from './RecordUpdates';\nimport {useStyles} from './styles';\n\ntype Props = {\n item: ActivityItem;\n};\n\nconst RelationRecord = ({item}: Props) => {\n const styles = useStyles();\n const deltaArray = item.deltaCollection?.delta;\n\n return (\n <div className={styles.record}>\n <Typography className={styles.label}>\n {!deltaArray && <span className={styles.description}>{i18n.text('Relationship updated')}</span>}\n <RelationObject item={item} />\n </Typography>\n <RecordUpdates updates={deltaArray} recordId={item.id} />\n </div>\n );\n};\n\nexport default RelationRecord;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {CollapsibleActivityRecords} from './records/CollapsibleActivityRecords';\nimport RelationRecord from './records/RelationRecord';\nimport RelationObject from './RelationObject/RelationObject';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst RelationActivity = ({type, data}: Props) => {\n const isMinimized = data.itemsTotal === 1 && !data.items[0].deltaCollection?.delta;\n return (\n <div>\n <ActivityTitle type={type}>{isMinimized && <RelationObject item={data.items[0]} />}</ActivityTitle>\n {!isMinimized && (\n <CollapsibleActivityRecords\n activityUri={data.uri}\n items={data.items}\n RecordComponent={RelationRecord}\n />\n )}\n </div>\n );\n};\n\nexport default RelationActivity;\n","import React, {useMemo} from 'react';\nimport {useDispatch} from 'react-redux';\n\nimport {ui} from '@reltio/mdm-module';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {always, pipe} from 'ramda';\nimport {parseJSON} from '../../../core';\nimport {useReadableSearchState} from '../../../hooks';\nimport i18n from 'ui-i18n';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n data: ActivityData;\n type: ActivityTypes;\n};\n\nconst SearchActivity = ({data, type}: Props) => {\n const styles = useStyles();\n const dispatch = useDispatch();\n const searchState = useMemo(() => {\n const searchData = parseJSON(data.description);\n return searchData.version === '2.0' ? searchData.activity.uiState : searchData;\n }, [data.description]);\n\n const openSearch = pipe(always(searchState), ui.actions.openSearch, dispatch);\n const searchString = useReadableSearchState(searchState);\n\n return (\n <ActivityTitle type={type}>\n <span className={styles.link} onClick={openSearch}>\n {searchString || i18n.text('all profiles')}\n </span>\n </ActivityTitle>\n );\n};\n\nexport default SearchActivity;\n","import {getLabel} from '@reltio/mdm-sdk';\nimport React from 'react';\nimport i18n from 'ui-i18n';\nimport {parseJSON} from '../../../core';\nimport EntityUriLink from '../../EntityUriLink/EntityUriLink';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SimpleActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n\n return (\n <ActivityTitle type={type}>\n {description && (\n <EntityUriLink className={styles.link} value={description.uri}>\n {getLabel(description.label)}\n </EntityUriLink>\n )}\n {itemsTotal > 1 && (\n <span className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</span>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SimpleActivity;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {isRelationUri} from '@reltio/mdm-sdk';\nimport {parseJSON} from '../../../core';\nimport {ActivityData, ActivityTypes} from '../types';\nimport ActivityTitle from './ActivityTitle/ActivityTitle';\nimport EntityObject from './EntityObject/EntityObject';\nimport {useStyles} from './styles';\n\ntype Props = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nconst SynchronizationIssuesActivity = ({type, data}: Props) => {\n const styles = useStyles();\n const description = parseJSON(data.description);\n const itemsTotal = data.itemsTotal;\n const objectUri = data.items[0].objectUri;\n return (\n <ActivityTitle type={type}>\n <>\n {isRelationUri(objectUri) ? (\n <span className={styles.relationUri}>{objectUri}</span>\n ) : (\n <EntityObject item={data.items[0]} />\n )}\n {description && <div className={styles.objectLabel}>{description.label}</div>}\n </>\n\n {itemsTotal > 1 && (\n <div className={styles.objectLabel}>{i18n.text('(${itemsTotal} records)', {itemsTotal})}</div>\n )}\n </ActivityTitle>\n );\n};\n\nexport default SynchronizationIssuesActivity;\n","import React from 'react';\n\nconst SvgAdd: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M17.4 13.08h-4.32v4.32h-2.16v-4.32H6.6v-2.16h4.32V6.6h2.16v4.32h4.32v2.16z\" fill=\"#fff\" />\n </svg>\n );\n};\n\nexport default SvgAdd;\n","import React from 'react';\n\nconst SvgComment: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16.35 6h-8.7C6.74 6 6 6.804 6 7.793v5.788c0 .986.737 1.79 1.644 1.793V18l3.472-2.626h5.234c.91 0 1.65-.805 1.65-1.793V7.793C18 6.804 17.26 6 16.35 6zm-1.562 6.726H9.212v-.765h5.576v.765zm0-1.63H9.212v-.765h5.576v.764zm0-1.631H9.212V8.7h5.576v.764z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgComment;\n","import React from 'react';\n\nconst SvgCreate: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.6 15.15v2.25h2.25l6.636-6.636-2.25-2.25L6.6 15.15zm10.626-6.126a.598.598 0 000-.846l-1.404-1.404a.598.598 0 00-.846 0l-1.098 1.098 2.25 2.25 1.098-1.098z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgCreate;\n","import React from 'react';\n\nconst SvgLogIn: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.6 6H9c-.662 0-1.2.539-1.2 1.2V9H9V7.2h6.6v9.6H9V15H7.8v1.8c0 .662.538 1.2 1.2 1.2h6.6c.662 0 1.2-.538 1.2-1.2V7.2c0-.661-.538-1.2-1.2-1.2z\"\n fill=\"#fff\"\n />\n <path\n d=\"M10.975 13.976l.85.848 2.823-2.83-2.824-2.819-.848.85 1.378 1.375H7.2v1.2h5.15l-1.375 1.376z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgLogIn;\n","import React from 'react';\n\nconst SvgLogOut: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M7.4 6H14c.662 0 1.2.539 1.2 1.2V9H14V7.2H7.4v9.6H14V15h1.2v1.8c0 .662-.538 1.2-1.2 1.2H7.4c-.662 0-1.2-.538-1.2-1.2V7.2c0-.661.538-1.2 1.2-1.2z\" />\n <path d=\"M15.127 13.976l.85.848 2.823-2.83-2.824-2.819-.849.85 1.379 1.375h-5.154v1.2H16.5l-1.374 1.376z\" />\n </svg>\n );\n};\n\nexport default SvgLogOut;\n","import React from 'react';\n\nconst SvgMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.764 11.152V9.659l2.334 2.217-2.334 2.217v-1.444H13.12c-1.023 0-1.333.314-1.918 1.632-.797 1.796-1.514 2.52-3.3 2.52h-1.69v-1.495h1.69c1.036 0 1.35-.319 1.937-1.639.348-.784.68-1.363 1.09-1.766-.41-.403-.742-.982-1.09-1.766-.586-1.32-.901-1.64-1.938-1.64H6.213V7H7.9c1.787 0 2.504.725 3.301 2.52.585 1.318.895 1.633 1.918 1.633h2.644z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgMerge;\n","import React from 'react';\n\nconst SvgNoMatches: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 15.6V7.2H8.4V6h8.4c.66 0 1.2.54 1.2 1.2v8.4h-1.2zM7.2 18c-.66 0-1.2-.54-1.2-1.2V9.6c0-.66.54-1.2 1.2-1.2h7.2c.66 0 1.2.54 1.2 1.2v7.2c0 .66-.54 1.2-1.2 1.2H7.2zm4.937-2.8l.663-.663-1.337-1.337 1.337-1.337-.663-.663-1.337 1.337L9.463 11.2l-.663.663 1.337 1.337L8.8 14.537l.663.663 1.337-1.337 1.337 1.337z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgNoMatches;\n","import React from 'react';\n\nconst SvgPotentialMatch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8 7.2v8.4H18V7.2c0-.66-.54-1.2-1.2-1.2H8.4v1.2h8.4zM6 16.8c0 .66.54 1.2 1.2 1.2h7.2c.66 0 1.2-.54 1.2-1.2V9.6c0-.66-.54-1.2-1.2-1.2H7.2c-.66 0-1.2.54-1.2 1.2v7.2z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgPotentialMatch;\n","import React from 'react';\n\nconst SvgProfile: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M11.727 5c1.66 0 3 1.376 3 3.08 0 1.704-1.34 3.08-3 3.08s-3-1.376-3-3.08c0-1.704 1.34-3.08 3-3.08zM12 19c-2.5 0-4.71-1.365-6-3.435.03-2.122 4-3.285 6-3.285 1.99 0 5.97 1.163 6 3.285C16.71 17.635 14.5 19 12 19z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgProfile;\n","import React from 'react';\n\nconst SvgRemove: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.125 7.583h2.042V8.75H8V7.583h2.042L10.625 7h2.917l.583.583zM9.75 17.5a1.17 1.17 0 01-1.167-1.167v-7h7v7a1.17 1.17 0 01-1.166 1.167H9.75z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgRemove;\n","import React from 'react';\n\nconst SvgSearch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.432 13.358h-.568l-.197-.196a4.627 4.627 0 001.121-3.023 4.65 4.65 0 10-4.649 4.65 4.628 4.628 0 003.022-1.12l.198.195v.567L16.933 18 18 16.934l-3.568-3.576zm-4.293 0a3.218 3.218 0 11.152-.004l-.152.004z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import React from 'react';\n\nconst SvgUnMerge: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.134 7.718L17.8 5.5V7h-1.604c-1.786 0-2.503.725-3.3 2.52-.585 1.318-.895 1.633-1.918 1.633H8.301v1.495h2.677c1.023 0 1.333.314 1.918 1.632.797 1.796 1.514 2.52 3.3 2.52h1.69v-1.495h-1.69c-1.036 0-1.35-.319-1.937-1.639-.348-.784-.68-1.363-1.09-1.766.41-.403.742-.982 1.09-1.766.586-1.32.901-1.639 1.938-1.639H17.8v1.44l2.334-2.217z\"\n fill=\"#fff\"\n />\n </svg>\n );\n};\n\nexport default SvgUnMerge;\n","import React from 'react';\nimport {ActivityData, ActivityTypes} from '../types';\n\nimport CommentActivity from './CommentActivity';\nimport GroupActivity from './GroupActivity';\nimport MergeActivity from './MergeActivity';\nimport PotentialMatchActivity from './PotentialMatchActivity';\nimport ProfileActivity from './ProfileActivity';\nimport RelationActivity from './RelationActivity';\nimport SearchActivity from './SearchActivity';\nimport SimpleActivity from './SimpleActivity';\nimport SynchronizationIssuesActivity from './SynchronizationIssuesActivity';\n\nimport AddIcon from '../../../icons/Add';\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\nimport CommentIcon from '../../../icons/Comment';\nimport CreateIcon from '../../../icons/Create';\nimport LoginIcon from '../../../icons/LogIn';\nimport LogoutIcon from '../../../icons/LogOut';\nimport MergeIcon from '../../../icons/Merge';\nimport NoMatchesIcon from '../../../icons/NoMatches';\nimport PotentialMatchIcon from '../../../icons/PotentialMatch';\nimport ProfileIcon from '../../../icons/Profile';\nimport RemoveIcon from '../../../icons/Remove';\nimport SearchIcon from '../../../icons/Search';\nimport UnMergeIcon from '../../../icons/UnMerge';\n\ntype FactoryProps = {\n type: ActivityTypes;\n data: ActivityData;\n};\n\nclass ActivitiesFactory {\n static getComponent = ({type, data}: FactoryProps) => {\n switch (type) {\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_DELETED:\n case ActivityTypes.COMMENT_UPDATED:\n return <CommentActivity data={data} type={type} />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITIES_SPLITTED:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeActivity data={data} type={type} />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.NOT_MATCHES_SET:\n case ActivityTypes.NOT_MATCHES_RESET:\n return <PotentialMatchActivity data={data} type={type} />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.ANALYTICS_ATTRIBUTES_CHANGED:\n return <ProfileActivity data={data} type={type} />;\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n return <RelationActivity data={data} type={type} />;\n case ActivityTypes.USER_SEARCH:\n return <SearchActivity data={data} type={type} />;\n case ActivityTypes.GROUP_CHANGED:\n case ActivityTypes.GROUP_CREATED:\n case ActivityTypes.GROUP_REMOVED:\n return <GroupActivity data={data} type={type} />;\n case ActivityTypes.USER_LOGIN:\n case ActivityTypes.USER_LOGOUT:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n case ActivityTypes.USER_PROFILE_VIEW:\n return <SimpleActivity data={data} type={type} />;\n case ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE:\n return <SynchronizationIssuesActivity data={data} type={type} />;\n default:\n return <div>{type} NOT IMPLEMENTED</div>;\n }\n };\n static getIcon = (type: ActivityTypes) => {\n switch (type) {\n case ActivityTypes.USER_LOGIN:\n return <LoginIcon />;\n case ActivityTypes.USER_LOGOUT:\n return <LogoutIcon />;\n case ActivityTypes.USER_PROFILE_VIEW:\n return <ProfileIcon />;\n case ActivityTypes.PERIODIC_TASK_SCHEDULED:\n return <CalendarTodayIcon />;\n case ActivityTypes.ENTITIES_SPLITTED:\n return <UnMergeIcon />;\n case ActivityTypes.ENTITIES_MERGED_MANUALLY:\n case ActivityTypes.ENTITIES_MERGED_ON_THE_FLY:\n case ActivityTypes.ENTITY_LOST_MERGE:\n return <MergeIcon />;\n case ActivityTypes.ENTITY_CREATED:\n case ActivityTypes.RELATIONSHIP_CREATED:\n case ActivityTypes.GROUP_CREATED:\n return <AddIcon />;\n case ActivityTypes.ENTITY_REMOVED:\n case ActivityTypes.RELATIONSHIP_REMOVED:\n case ActivityTypes.POTENTIAL_MATCHES_REMOVED:\n case ActivityTypes.GROUP_REMOVED:\n return <RemoveIcon />;\n case ActivityTypes.USER_SEARCH:\n return <SearchIcon />;\n case ActivityTypes.POTENTIAL_MATCHES_FOUND:\n return <PotentialMatchIcon />;\n case ActivityTypes.NOT_MATCHES_RESET:\n case ActivityTypes.NOT_MATCHES_SET:\n return <NoMatchesIcon />;\n case ActivityTypes.COMMENT_ADDED:\n case ActivityTypes.COMMENT_UPDATED:\n case ActivityTypes.COMMENT_DELETED:\n return <CommentIcon />;\n case ActivityTypes.ENTITY_CHANGED:\n case ActivityTypes.MODEL_UPDATED:\n case ActivityTypes.RELATIONSHIP_CHANGED:\n case ActivityTypes.GROUP_CHANGED:\n default:\n return <CreateIcon />;\n }\n };\n}\n\nexport default ActivitiesFactory;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n activityItem: {\n display: 'flex',\n minHeight: '40px',\n padding: '10px 0 5px 0',\n boxSizing: 'border-box'\n },\n activityIcon: {\n marginLeft: '-13px',\n marginRight: '15px',\n width: '24px',\n height: '24px',\n background: '#4896DF',\n borderRadius: '50%',\n border: '1px solid white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n '& svg': {\n fill: 'white',\n fontSize: '14px'\n }\n },\n activityInfo: {\n flex: 1,\n overflow: 'hidden',\n position: 'relative'\n },\n activityUser: {\n fontSize: 13,\n lineHeight: '15px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n activityEvent: {\n marginTop: '5px'\n },\n date: {\n position: 'absolute',\n right: 0,\n marginTop: '5px',\n fontSize: 12,\n lineHeight: '16px',\n color: theme.palette.text.primary,\n marginLeft: 'auto',\n flexShrink: 0,\n paddingLeft: 8\n }\n}));\n","import React from 'react';\nimport {Typography as Typography} from '@material-ui/core';\nimport {getActivityType, isValidActivity, splitActivityByType} from '../../../utils/activities';\nimport ActivitiesFactory from '../../../activities/ActivitiesFactory';\nimport {ActivityData} from '../../../types';\nimport {filter, pipe} from 'ramda';\nimport {useStyles} from './styles';\nimport i18n from 'ui-i18n';\n\ntype Props = {\n item: ActivityData;\n};\n\nconst ActivityItem = ({item}: Props) => {\n const styles = useStyles();\n\n const type = getActivityType(item);\n const activities = pipe(splitActivityByType, filter(isValidActivity))(item);\n\n return (\n <div className={styles.activityItem}>\n <div className={styles.activityIcon}>{ActivitiesFactory.getIcon(type)}</div>\n <div className={styles.activityInfo}>\n <Typography className={styles.activityUser}>{item.user}</Typography>\n <span className={styles.date}>{i18n.date(item.timestamp, 'LT')}</span>\n {activities.map((activity: ActivityData, index: number) => {\n return (\n <div key={index} className={styles.activityEvent}>\n {ActivitiesFactory.getComponent({\n type: getActivityType(activity),\n data: activity\n })}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default ActivityItem;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n rowDivider: {\n marginLeft: '28px'\n },\n listRow: {\n paddingLeft: '12px',\n '&::before': {\n content: '\"\"',\n width: '2px',\n position: 'absolute',\n height: '100%',\n top: 0,\n left: '11px',\n backgroundColor: '#D8D8D8',\n zIndex: '-1'\n },\n overflow: 'hidden'\n },\n firstRow: {\n '&$listRow::before': {\n height: 'calc(100% - 20px)',\n top: '20px'\n }\n },\n lastRow: {\n '&$listRow::before': {\n height: '20px'\n }\n },\n singleRow: {\n '&$listRow::before': {\n display: 'none'\n }\n }\n});\n","import {Divider as Divider} from '@material-ui/core';\nimport React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport BasicTablePagination from '../../BasicTableView/BasicTablePagination/BasicTablePagination';\nimport i18n from 'ui-i18n';\nimport AutoSizeList from '../../AutoSizeList/AutoSizeList';\nimport {buildGroupedItems, flattenGroupedItems, getItemKey, GroupedItemData, isGroupItem} from './helpers';\nimport {adjust, evolve, filter, not, pipe} from 'ramda';\nimport {isValidActivity} from '../utils/activities';\nimport GroupItem from './items/GroupItem/GroupItem';\nimport ActivityItem from './items/ActivityItem/ActivityItem';\nimport classnames from 'classnames';\nimport {CollapsibleItemsProvider} from '../contexts/CollapsibleItemsContext';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n width: number;\n height: number;\n activities: unknown[];\n count: number;\n page: number;\n onChangePage: (page: number) => void;\n rowsPerPage: number;\n onChangeRowsPerPage: (rowsPerPage: number) => void;\n rowsPerPageOptions: number[];\n};\n\nconst PAGINATION_HEIGHT = 60;\n\nconst ActivityLog = ({\n width,\n height,\n activities,\n count,\n page,\n onChangePage,\n rowsPerPage,\n onChangeRowsPerPage,\n rowsPerPageOptions\n}: Props) => {\n const styles = useStyles();\n\n const [groupedItems, setGroupedItems] = useState<GroupedItemData[]>([]);\n const toggleGroupedItem = (index) => {\n setGroupedItems(adjust(index, evolve({collapsed: not})));\n };\n\n useEffect(() => {\n pipe(filter(isValidActivity), buildGroupedItems, setGroupedItems)(activities);\n }, [activities]);\n const flatItems = useMemo(() => flattenGroupedItems(groupedItems), [groupedItems]);\n\n const renderRow = useCallback(({data, index}) => {\n const item = data[index];\n return (\n <div\n className={classnames(styles.listRow, {\n [styles.singleRow]: data.length === 1,\n [styles.firstRow]: index === 0,\n [styles.lastRow]: index === data.length - 1\n })}\n >\n {isGroupItem(item) ? (\n <GroupItem item={item} onToggle={toggleGroupedItem} />\n ) : (\n <>\n <ActivityItem item={item} />\n <Divider className={styles.rowDivider} light={true} variant={'inset'} />\n </>\n )}\n </div>\n );\n }, []); // eslint-disable-line\n\n return (\n <>\n <CollapsibleItemsProvider>\n <AutoSizeList\n width={width}\n height={height - PAGINATION_HEIGHT}\n data={flatItems}\n defaultItemSize={40}\n itemKey={getItemKey}\n >\n {renderRow}\n </AutoSizeList>\n </CollapsibleItemsProvider>\n <BasicTablePagination\n count={count}\n onChangePage={onChangePage}\n page={page}\n rowsPerPage={rowsPerPage}\n onChangeRowsPerPage={onChangeRowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n labelRowsPerPage={i18n.text('Events per page:')}\n />\n </>\n );\n};\n\nexport default ActivityLog;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() => ({\n header: {\n width: 'auto',\n display: 'flex',\n alignItems: 'center'\n },\n label: {\n paddingLeft: '7px',\n fontSize: '14px'\n },\n icon: {\n margin: '4px'\n },\n buttonsWrapper: {\n marginLeft: 'auto',\n display: 'flex'\n }\n}));\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {Tooltip as Tooltip} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport {ActivitiesFilter} from '../types';\nimport {getFilterLabel} from './helpers';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport {useStyles} from './styles';\n\ntype Props = {\n onToggle: () => void;\n filters: ActivitiesFilter;\n children?: React.ReactNode;\n};\n\nconst ActivityLogFilterHeader = ({children, onToggle, filters}: Props) => {\n const styles = useStyles();\n const filterLabel = getFilterLabel(filters);\n return (\n <div className={styles.header}>\n <Typography variant=\"body2\" className={styles.label}>\n {i18n.text('Filter:')}\n </Typography>\n <Tooltip title={filterLabel}>\n <Typography\n variant=\"body2\"\n className={styles.label}\n color=\"textSecondary\"\n display=\"block\"\n noWrap={true}\n >\n {filterLabel}\n </Typography>\n </Tooltip>\n <div className={styles.buttonsWrapper}>\n {children}\n <SmallIconButtonWithTooltip\n icon={FilterListIcon}\n size=\"L\"\n onClick={onToggle}\n tooltipTitle={i18n.text('Filter')}\n className={styles.icon}\n />\n </div>\n </div>\n );\n};\n\nexport default ActivityLogFilterHeader;\n","import i18n from 'ui-i18n';\nimport {curry, join, identity, isNil, map, pipe, reject, sortBy, defaultTo, pluck} from 'ramda';\nimport {DataTypes, formatDataTypeValue} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {DateRangeFilter, DateRangeTypes} from '../../../types';\nimport {getActivityLabel} from '../utils/activities';\n\nexport const getFilterLabel = (filters: ActivitiesFilter) => {\n const getLabel = curry((unit: string, pluralUnit: string, values: string[]) =>\n values.length <= 1\n ? values[0]\n : `${values[0]} + ${values.length - 1} ${values.length === 2 ? unit : pluralUnit}`\n );\n\n const activityLabel = pipe(\n map(getActivityLabel),\n getLabel(i18n.text('activity'), i18n.text('activities'))\n )(filters.activities);\n\n const userLabel = getLabel(i18n.text('user'), i18n.text('users'), filters.users);\n\n const entityTypesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('type'), i18n.text('types'))\n )(filters.entityTypes);\n\n const attributesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n sortBy(identity),\n getLabel(i18n.text('attribute'), i18n.text('attributes'))\n )(filters.attributes);\n\n const sourcesLabel = pipe(\n defaultTo([]),\n pluck('label'),\n getLabel(i18n.text('source'), i18n.text('sources'))\n )(filters.sources);\n\n const getDateLabel = (date: DateRangeFilter) => {\n const formatDateValue = (value: Date) =>\n `${formatDataTypeValue({dataTypeDefinition: {type: DataTypes.TYPE_ACTIVENESS_DATE}}, value)}`;\n switch (date.type) {\n case DateRangeTypes.WITHIN:\n return i18n.text('Within ${amount} ${unit}', {amount: date.period[0], unit: date.period[1]});\n case DateRangeTypes.AGO:\n return i18n.text('More than ${amount} ${unit} ago', {amount: date.period[0], unit: date.period[1]});\n case DateRangeTypes.BETWEEN:\n return i18n.text('${startDate} to ${endDate}', {\n startDate: formatDateValue(date.period[0] as Date),\n endDate: formatDateValue(date.period[1] as Date)\n });\n default:\n return null;\n }\n };\n\n return pipe(\n reject(isNil),\n join(' | ')\n )([activityLabel, entityTypesLabel, attributesLabel, sourcesLabel, getDateLabel(filters.dateRange), userLabel]);\n};\n","import {pipe, filter, has, isEmpty, includes} from 'ramda';\nimport {Metadata, TEntityType} from '@reltio/mdm-sdk';\nimport {ActivityTypes} from '../../types';\n\nconst profileRelatedActivityTypes = [\n ActivityTypes.ENTITY_CREATED,\n ActivityTypes.ENTITY_CHANGED,\n ActivityTypes.ENTITIES_MERGED,\n ActivityTypes.ENTITIES_SPLITTED,\n ActivityTypes.ENTITY_LOST_MERGE,\n ActivityTypes.RELATIONSHIP_CREATED,\n ActivityTypes.RELATIONSHIP_REMOVED,\n ActivityTypes.RELATIONSHIP_CHANGED,\n ActivityTypes.POTENTIAL_MATCHES_FOUND,\n ActivityTypes.POTENTIAL_MATCHES_REMOVED,\n ActivityTypes.NOT_MATCHES_SET,\n ActivityTypes.NOT_MATCHES_RESET,\n ActivityTypes.ENTITIES_MERGED_MANUALLY,\n ActivityTypes.ENTITIES_MERGED_ON_THE_FLY\n];\n\nconst groupRelatedActivityTypes = [\n ActivityTypes.GROUP_CREATED,\n ActivityTypes.GROUP_REMOVED,\n ActivityTypes.GROUP_CHANGED\n];\n\nexport const getSelectorActivityTypes = (metadata: Metadata, entityType?: TEntityType) =>\n entityType\n ? profileRelatedActivityTypes\n : pipe(\n Object.keys,\n filter(\n (option: string) =>\n (has('groupTypes', metadata) && !isEmpty(metadata.groupTypes)) ||\n !includes(option, groupRelatedActivityTypes)\n )\n )(ActivityTypes);\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const customStyles = {\n input: (currentStyles) => ({...currentStyles, fontSize: '14px'})\n};\n\nexport const useStyles = makeStyles({\n container: {\n padding: '12px 7px 0px',\n borderBottom: 'solid 1px rgba(0, 0, 0, 0.12)'\n },\n labels: {\n fontSize: '14px'\n },\n filterSubtitle: {\n paddingBottom: '10px',\n paddingLeft: '5px'\n },\n agoLabel: {\n minWidth: '30px',\n textAlign: 'end',\n margin: 'auto'\n },\n dateOption: {\n display: 'flex',\n marginRight: '30px'\n },\n dateOptionAgo: {\n display: 'flex',\n marginBottom: '10px'\n },\n dateOptionWithin: {\n display: 'flex',\n marginRight: '30px',\n marginBottom: '10px'\n },\n dateOptionLabel: {\n minWidth: '100px'\n },\n dropDownInput: {\n width: '100%',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n borderTop: '4px'\n },\n filterControls: {\n display: 'flex',\n paddingTop: '30px',\n marginBottom: 8\n },\n clearButton: {\n marginRight: 'auto'\n },\n selectorWrapper: {\n marginBottom: '12px'\n },\n option: {\n fontSize: '14px',\n height: '32px'\n },\n selectorsGroup: {\n display: 'flex',\n flexDirection: 'column'\n },\n selectorHint: {\n fontSize: 12,\n lineHeight: '16px',\n color: 'rgba(0,0,0,0.54)'\n },\n divider: {\n marginBottom: 12\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\nimport {ActivityTypes} from '../types/ActivityTypes';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {getActivityLabel} from '../utils/activities';\n\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n activityTypes: ActivityTypes[];\n selectedActivityTypes: ActivityTypes[];\n onChange: (activities: ActivityTypes[]) => void;\n};\n\nconst ActivitySelector = ({activityTypes, selectedActivityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (value: ActivityTypes) => ({value, label: getActivityLabel(value)});\n const prepareValues = (values: ActivityTypes[] | string[]) => values.map(valueToOption);\n const showHint = selectedActivityTypes.length > 1 && selectedActivityTypes.includes(ActivityTypes.ENTITY_CHANGED);\n\n const options = pipe(\n sortBy((option: ActivityTypes) => getActivityLabel(option)),\n prepareValues\n )(activityTypes);\n\n return (\n <div className={styles.selectorWrapper}>\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Activity')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedActivityTypes)}\n onChange={pipe(defaultTo([]), pluck('value'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n />\n {showHint && (\n <span className={styles.selectorHint}>\n {i18n.text(\n 'One at a time! Select a single Activity and any of its filters -OR- multiple Activities with no filters.'\n )}\n </span>\n )}\n </div>\n );\n};\n\nexport default ActivitySelector;\n","import React, {useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {pipe} from 'ramda';\nimport classnames from 'classnames';\nimport {FormControlLabel as FormControlLabel} from '@material-ui/core';\nimport {Radio as Radio} from '@material-ui/core';\nimport {RadioGroup as RadioGroup} from '@material-ui/core';\nimport {Typography as Typography} from '@material-ui/core';\nimport {DateRangeFilter, DateRangeTypes} from '../../../types';\nimport DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';\nimport {getValue} from '../../../core/utils';\nimport CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';\nimport {useDidUpdateEffect} from '../../../hooks';\nimport {useStyles} from './styles';\n\ntype Props = {\n value: DateRangeFilter;\n onChange: (range: DateRangeFilter) => void;\n};\n\nconst emptyDates: [Date, Date] = [null, null];\nconst emptyInterval: [number, string] = [null, 'minutes'];\n\nconst DateRangeSelector = ({value, onChange}: Props) => {\n const styles = useStyles();\n\n const getInitPeriodByType = (type: DateRangeTypes) => {\n if (value?.type === type) {\n return value.period;\n } else if (type === DateRangeTypes.WITHIN || type === DateRangeTypes.AGO) {\n return emptyInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return emptyDates;\n }\n };\n\n const [datesInterval, setDatesInterval] = useState(getInitPeriodByType(DateRangeTypes.BETWEEN) as [Date, Date]);\n const [withinInterval, setWithinInterval] = useState(\n getInitPeriodByType(DateRangeTypes.WITHIN) as [number, string]\n );\n const [agoInterval, setAgoInterval] = useState(getInitPeriodByType(DateRangeTypes.AGO) as [number, string]);\n\n const getCurrentPeriodByType = (type: DateRangeTypes) => {\n if (type === DateRangeTypes.WITHIN) {\n return withinInterval;\n } else if (type === DateRangeTypes.AGO) {\n return agoInterval;\n } else if (type === DateRangeTypes.BETWEEN) {\n return datesInterval;\n }\n };\n\n const changeType = (type: DateRangeTypes) => {\n if (value?.type !== type) {\n onChange({period: getCurrentPeriodByType(type), type});\n }\n };\n const changePeriod = (period) => {\n onChange({...value, period});\n };\n\n useDidUpdateEffect(() => {\n if (value) {\n if (value.type === DateRangeTypes.WITHIN) {\n setWithinInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.AGO) {\n setAgoInterval(value.period as [number, string]);\n } else if (value.type === DateRangeTypes.BETWEEN) {\n setDatesInterval(value.period as [Date, Date]);\n }\n } else {\n setDatesInterval(emptyDates);\n setWithinInterval(emptyInterval);\n setAgoInterval(emptyInterval);\n }\n }, [value]);\n\n return (\n <div className={styles.selectorWrapper}>\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Date')}\n </Typography>\n <RadioGroup value={value?.type || null} onChange={pipe(getValue, changeType)}>\n <div className={styles.dateOptionWithin}>\n <FormControlLabel\n value={DateRangeTypes.WITHIN}\n control={<Radio />}\n label={i18n.text('Within the last')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={withinInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.WITHIN)}\n />\n </div>\n <div className={styles.dateOptionAgo}>\n <FormControlLabel\n value={DateRangeTypes.AGO}\n control={<Radio />}\n label={i18n.text('More than')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <DateIntervalSelector\n interval={agoInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.AGO)}\n />\n <Typography className={classnames(styles.agoLabel, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Ago')}\n </Typography>\n </div>\n <div className={styles.dateOption}>\n <FormControlLabel\n value={DateRangeTypes.BETWEEN}\n control={<Radio />}\n label={i18n.text('Date range')}\n classes={{label: classnames(styles.dateOptionLabel, styles.labels)}}\n />\n <CustomDateRangeEditor\n values={datesInterval}\n onChange={changePeriod}\n onFocus={() => changeType(DateRangeTypes.BETWEEN)}\n />\n </div>\n </RadioGroup>\n </div>\n );\n};\n\nexport default DateRangeSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, pluck, sortBy} from 'ramda';\nimport classnames from 'classnames';\nimport {Typography as Typography} from '@material-ui/core';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {customStyles, useStyles} from './styles';\nimport {TEntityType} from '@reltio/mdm-sdk';\n\ntype Props = {\n entityTypes: TEntityType[];\n selectedEntityTypes: TEntityType[];\n onChange: (entityTypes: TEntityType[]) => void;\n};\n\nconst EntityTypesSelector = ({entityTypes, selectedEntityTypes, onChange}: Props) => {\n const styles = useStyles();\n const valueToOption = (entityType: TEntityType) => ({value: entityType.uri, label: entityType.label, entityType});\n const prepareValues = (values: TEntityType[]) => values.map(valueToOption);\n\n const options = pipe(\n sortBy((option: TEntityType) => option.label),\n prepareValues\n )(entityTypes);\n\n return (\n <div className={styles.selectorWrapper}>\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Type')}\n </Typography>\n <MultiSelect\n value={prepareValues(selectedEntityTypes)}\n onChange={pipe(defaultTo([]), pluck('entityType'), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n menuPlacement=\"bottom\"\n />\n </div>\n );\n};\n\nexport default EntityTypesSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {defaultTo, pipe, sortBy, prop} from 'ramda';\nimport {Typography as Typography} from '@material-ui/core';\nimport MultiSelect from '../../ReactSelect/MultiSelect';\nimport {useSelector} from 'react-redux';\nimport {Metadata, Source} from '@reltio/mdm-sdk';\nimport classnames from 'classnames';\nimport mdmModule from '@reltio/mdm-module';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport {customStyles, useStyles} from './styles';\n\ntype Props = {\n selectedSources: Source[];\n onChange?: (sources: Source[]) => void;\n};\n\nconst SourceSelector = ({selectedSources, onChange}: Props) => {\n const styles = useStyles();\n const metadata: Metadata = useSelector(mdmModule.selectors.getMetadata);\n const options = sortBy((option) => option.label)(metadata.sources);\n\n return (\n <div className={styles.selectorWrapper}>\n <Typography className={classnames(styles.filterSubtitle, styles.labels)} variant={'subtitle1'}>\n {i18n.text('Source')}\n </Typography>\n <MultiSelect\n value={selectedSources}\n onChange={pipe(defaultTo([]), onChange)}\n options={options}\n TextFieldProps={{\n InputProps: {disableUnderline: true},\n classes: {root: styles.dropDownInput}\n }}\n components={{\n DropdownIndicator: DropdownIndicatorWithIconButton\n }}\n styles={customStyles}\n classes={styles}\n getOptionValue={prop('abbreviation')}\n menuPlacement=\"bottom\"\n />\n </div>\n );\n};\n\nexport default SourceSelector;\n","import React from 'react';\nimport {map, prop} from 'ramda';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport {findClosestCommonAncestor, getEntityType, TEntityType} from '@reltio/mdm-sdk';\nimport AttributeSelector from '../../AttributeSelector/AttributeSelector';\nimport EntityTypesSelector from './EntityTypesSelector';\nimport SourceSelector from './SourceSelector';\nimport {ActivitiesFilter} from '../types';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n filter: ActivitiesFilter;\n entityType?: TEntityType;\n onPropChange: (propName: string) => (value: unknown) => void;\n};\n\nconst EntityChangedSelectors = ({filter, entityType, onPropChange}: Props) => {\n const styles = useStyles();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const {attributes = [], sources = [], entityTypes = []} = filter || {};\n\n const closestEntityTypeAncestor = findClosestCommonAncestor(metadata, map(prop('uri'), entityTypes));\n const attributesEntityType = entityType || getEntityType(metadata, closestEntityTypeAncestor);\n\n return (\n <div className={styles.selectorsGroup}>\n {!entityType && (\n <EntityTypesSelector\n entityTypes={metadata.entityTypes}\n selectedEntityTypes={entityTypes}\n onChange={onPropChange('entityTypes')}\n />\n )}\n <AttributeSelector\n selectedAttributes={attributes}\n entityType={attributesEntityType}\n onChange={onPropChange('attributes')}\n className={styles.selectorWrapper}\n disableUnderline\n />\n <SourceSelector selectedSources={sources} onChange={onPropChange('sources')} />\n </div>\n );\n};\n\nexport default EntityChangedSelectors;\n","import React, {useState} from 'react';\nimport {curry, pipe, assoc, when, mergeLeft, always} from 'ramda';\nimport {useSelector} from 'react-redux';\nimport mdmModule from '@reltio/mdm-module';\nimport i18n from 'ui-i18n';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport {Button as Button} from '@material-ui/core';\nimport {Divider as Divider} from '@material-ui/core';\nimport {ActivitiesFilter, ActivityTypes} from '../types';\nimport {getSelectorActivityTypes} from './utils/getSelectorActivityTypes';\nimport ActivitySelector from './ActivitySelector';\nimport UserSelector from '../../UserSelector/UserSelector';\nimport DateRangeSelector from './DateRangeSelector';\nimport EntityChangedSelectors from './EntityChangedSelectors';\nimport {useDidUpdateEffect} from '../../../hooks';\n\nimport {useStyles} from './styles';\n\ntype Props = {\n value: ActivitiesFilter;\n open: boolean;\n entityType?: TEntityType;\n onApply: (value: ActivitiesFilter) => void;\n onCancel: () => void;\n onClear: () => void;\n};\n\nconst ActivityFilterEditor = ({value, open, entityType, onApply, onCancel, onClear}: Props) => {\n const styles = useStyles();\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const [currentFilter, setCurrentFilter] = useState<ActivitiesFilter>(value);\n const clearCurrentFilter = () => setCurrentFilter(null);\n const handlePropChange = curry((propName: string, value: unknown) => {\n setCurrentFilter(\n pipe(\n when(always(propName === 'entityTypes'), assoc('attributes', [])),\n when(always(propName === 'activities'), mergeLeft({attributes: [], entityTypes: [], sources: []})),\n assoc(propName, value)\n )\n );\n });\n\n useDidUpdateEffect(() => {\n setCurrentFilter(value);\n }, [value]);\n\n const {activities = [], dateRange = null, users = []} = currentFilter || {};\n const isEntityChangedActivity = activities.length === 1 && activities.includes(ActivityTypes.ENTITY_CHANGED);\n\n return open ? (\n <div className={styles.container}>\n <ActivitySelector\n activityTypes={getSelectorActivityTypes(metadata, entityType)}\n selectedActivityTypes={activities}\n onChange={handlePropChange('activities')}\n />\n {isEntityChangedActivity && (\n <EntityChangedSelectors\n filter={currentFilter}\n entityType={entityType}\n onPropChange={handlePropChange}\n />\n )}\n <Divider light className={styles.divider} />\n <DateRangeSelector value={dateRange} onChange={handlePropChange('dateRange')} />\n <Divider light className={styles.divider} />\n <UserSelector selectedUsers={users} onChange={handlePropChange('users')} disableUnderline />\n <div className={styles.filterControls}>\n <Button onClick={pipe(clearCurrentFilter, onClear)} className={styles.clearButton}>\n {i18n.text('Clear all')}\n </Button>\n <Button onClick={onCancel}>{i18n.text('Cancel')}</Button>\n <Button color=\"primary\" onClick={() => onApply(currentFilter)}>\n {i18n.text('Apply')}\n </Button>\n </div>\n </div>\n ) : null;\n};\n\nexport default ActivityFilterEditor;\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n snackbar: {\n maxWidth: 500\n },\n icon: {\n margin: '4px'\n },\n exportButton: {\n color: theme.palette.primary.main\n }\n}));\n","import React, {useMemo, useState, useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport i18n from 'ui-i18n';\nimport {Button as Button} from '@material-ui/core';\nimport {Portal as Portal} from '@material-ui/core';\nimport {Snackbar as Snackbar} from '@material-ui/core';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\nimport ErrorPopup from '../../ErrorPopup/ErrorPopup';\nimport DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';\nimport mdmModule, {ui} from '@reltio/mdm-module';\nimport {exportActivities, getRequestErrorMessage} from '@reltio/mdm-sdk';\nimport {ActivitiesFilter} from '../types';\nimport {buildActivitiesFilterString} from '../utils/filters';\nimport {useStyles} from './styles';\n\ntype Props = {\n filters: ActivitiesFilter;\n exportTypes?: string[];\n};\n\nconst ActivityExportButton = ({filters, exportTypes = []}: Props) => {\n const styles = useStyles();\n const dispatch = useDispatch();\n const [showSnackbar, setShowSnackbar] = useState(false);\n\n const exportPath = useSelector(mdmModule.selectors.getExportPath);\n const tenant = useSelector(mdmModule.selectors.getTenant);\n\n const handleClickExport = useCallback(\n (type?: string) => {\n const options = {\n filter: buildActivitiesFilterString(filters),\n fileFormat: type\n };\n exportActivities({exportPath, tenant, options})\n .then(() => setShowSnackbar(true))\n .catch(onError);\n },\n [filters, tenant, exportPath]\n );\n\n const onError = (error) => {\n console.error(error);\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: getRequestErrorMessage(error, i18n.text(\"Can't export activities\"))\n });\n };\n\n const handleOpenAppClick = useCallback(() => {\n dispatch(ui.actions.openConsoleApp('Export'));\n }, [dispatch]);\n\n const menuItems = useMemo(\n () =>\n exportTypes.map((type) => ({\n text: type.toUpperCase(),\n onClick: () => handleClickExport(type)\n })),\n [exportTypes, handleClickExport]\n );\n\n return (\n <>\n {menuItems.length ? (\n <DropDownMenuButton\n buttonComponent={SmallIconButtonWithTooltip}\n buttonProps={{\n icon: GetAppIcon,\n tooltipTitle: i18n.text('Export'),\n size: 'L',\n className: styles.icon\n }}\n menuItems={menuItems}\n menuId=\"export-menu\"\n />\n ) : (\n <SmallIconButtonWithTooltip\n icon={GetAppIcon}\n size=\"L\"\n onClick={() => handleClickExport()}\n tooltipTitle={i18n.text('Export')}\n className={styles.icon}\n />\n )}\n <Portal container={document.body}>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={5000}\n className={styles.snackbar}\n onClose={() => setShowSnackbar(false)}\n message={i18n.text(\n 'Export operation is currently in progress. You will receive an email notification once completed. Go to Export Application to view the status.'\n )}\n action={\n <Button className={styles.exportButton} onClick={handleOpenAppClick}>\n {i18n.text('Export application')}\n </Button>\n }\n />\n </Portal>\n </>\n );\n};\n\nexport default ActivityExportButton;\n","import React, {useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {ActivitiesFilter} from '../types';\nimport ActivityLogFilterHeader from './ActivityLogFilterHeader';\nimport ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';\nimport ActivityExportButton from '../ActivityExportButton/ActivityExportButton';\nimport {isDateRangeValid} from '../utils/filters';\nimport {TEntityType} from '@reltio/mdm-sdk';\nimport mdmModule from '@reltio/mdm-module';\n\ntype Props = {\n value: ActivitiesFilter;\n onChange: (value: ActivitiesFilter) => void;\n entityType?: TEntityType;\n entityUri?: string;\n exportTypes?: string[];\n};\n\nconst ActivityLogFilter = ({value, entityType, entityUri, onChange, exportTypes}: Props) => {\n const initialValue = useRef<ActivitiesFilter>(value);\n const canExport = useSelector(mdmModule.selectors.getCanUserMakeActivitiesExport);\n const [isEditorOpen, setIsEditorOpen] = useState(false);\n const handleApply = (filterValue: ActivitiesFilter) => {\n if (!isDateRangeValid(filterValue.dateRange)) {\n onChange(initialValue.current);\n } else {\n onChange(filterValue);\n }\n };\n const handleClear = () => onChange({...initialValue.current});\n const handleCancel = () => setIsEditorOpen(false);\n const handleToggleFilter = () => setIsEditorOpen((isEditorOpen) => !isEditorOpen);\n\n return (\n <>\n <ActivityLogFilterHeader onToggle={handleToggleFilter} filters={value}>\n {canExport && <ActivityExportButton filters={{...value, entityUri}} exportTypes={exportTypes} />}\n </ActivityLogFilterHeader>\n <ActivityFilterEditor\n value={value}\n open={isEditorOpen}\n entityType={entityType}\n onApply={handleApply}\n onCancel={handleCancel}\n onClear={handleClear}\n />\n </>\n );\n};\n\nexport default ActivityLogFilter;\n","export enum ActivityTypes {\n MODEL_UPDATED = 'MODEL_UPDATED',\n ENTITY_REMOVED = 'ENTITY_REMOVED',\n ENTITY_CREATED = 'ENTITY_CREATED',\n ENTITY_CHANGED = 'ENTITY_CHANGED',\n ENTITIES_MERGED = 'ENTITIES_MERGED',\n ENTITIES_SPLITTED = 'ENTITIES_SPLITTED',\n ENTITY_LOST_MERGE = 'ENTITY_LOST_MERGE',\n RELATIONSHIP_CREATED = 'RELATIONSHIP_CREATED',\n RELATIONSHIP_REMOVED = 'RELATIONSHIP_REMOVED',\n RELATIONSHIP_CHANGED = 'RELATIONSHIP_CHANGED',\n POTENTIAL_MATCHES_FOUND = 'POTENTIAL_MATCHES_FOUND',\n NOT_MATCHES_SET = 'NOT_MATCHES_SET',\n NOT_MATCHES_RESET = 'NOT_MATCHES_RESET',\n PERIODIC_TASK_SCHEDULED = 'PERIODIC_TASK_SCHEDULED',\n ENTITIES_MERGED_MANUALLY = 'ENTITIES_MERGED_MANUALLY',\n POTENTIAL_MATCHES_REMOVED = 'POTENTIAL_MATCHES_REMOVED',\n ENTITIES_MERGED_ON_THE_FLY = 'ENTITIES_MERGED_ON_THE_FLY',\n USER_LOGIN = 'USER_LOGIN',\n USER_LOGOUT = 'USER_LOGOUT',\n USER_SEARCH = 'USER_SEARCH',\n USER_PROFILE_VIEW = 'USER_PROFILE_VIEW',\n COMMENT_ADDED = 'COMMENT_ADDED',\n COMMENT_UPDATED = 'COMMENT_UPDATED',\n COMMENT_DELETED = 'COMMENT_DELETED',\n ANALYTICS_ATTRIBUTES_CHANGED = 'ANALYTICS_ATTRIBUTES_CHANGED',\n SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE = 'SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE',\n GROUP_CREATED = 'GROUP_CREATED',\n GROUP_REMOVED = 'GROUP_REMOVED',\n GROUP_CHANGED = 'GROUP_CHANGED'\n}\n","export enum DeltaTypes {\n ATTRIBUTE_CHANGED = 'edited',\n ATTRIBUTE_ADDED = 'added',\n ATTRIBUTE_REMOVED = 'deleted'\n}\n","import {groupBy, ifElse, map, path, pipe, propOr, values, is, isNil, includes} from 'ramda';\nimport i18n from 'ui-i18n';\nimport {ActivityData, ActivityTypes, DeltaValue} from '../types';\n\nconst getItemDataType = path(['data', 'type']);\n\nexport const getActivityType = (activity: ActivityData) => {\n const {items, label} = activity;\n const [firstItem] = items || [];\n return getItemDataType(firstItem) || label;\n};\n\nexport const isValidActivityType = (type: string): boolean => pipe(values, includes(type))(ActivityTypes);\n\nexport const isValidActivity = pipe(getActivityType, isValidActivityType);\n\nexport const splitActivityByType = (activity: ActivityData) => {\n return pipe(\n propOr([], 'items'),\n groupBy(getItemDataType),\n values,\n ifElse(\n ({length}) => length > 1,\n map((items) => ({\n ...activity,\n items,\n itemsTotal: items.length\n })),\n () => [activity]\n )\n )(activity);\n};\n\nexport const stringifyDeltaValue = (delta: string | Record<string, DeltaValue[]> | DeltaValue | DeltaValue[]) => {\n if (isNil(delta)) {\n return '';\n } else if (typeof delta === 'string') {\n return delta;\n } else if (Array.isArray(delta)) {\n return delta.map(stringifyDeltaValue).join(', ');\n } else if (is(Object, delta)) {\n return 'value' in delta ? stringifyDeltaValue(delta.value) : stringifyDeltaValue(Object.values(delta));\n } else {\n return delta.toString();\n }\n};\n\nexport const getActivityLabel = (type: ActivityTypes) => {\n const labels = {\n [ActivityTypes.COMMENT_ADDED]: i18n.text('Comment added'),\n [ActivityTypes.COMMENT_DELETED]: i18n.text('Comment deleted'),\n [ActivityTypes.COMMENT_UPDATED]: i18n.text('Comment updated'),\n [ActivityTypes.ENTITIES_MERGED]: i18n.text('Profile merged'),\n [ActivityTypes.ENTITIES_MERGED_MANUALLY]: i18n.text('Profile merged manually'),\n [ActivityTypes.ENTITIES_MERGED_ON_THE_FLY]: i18n.text('Profile merged on the fly'),\n [ActivityTypes.ENTITIES_SPLITTED]: i18n.text('Profile un-merged'),\n [ActivityTypes.ENTITY_CHANGED]: i18n.text('Profile updated'),\n [ActivityTypes.ENTITY_CREATED]: i18n.text('Profile created'),\n [ActivityTypes.ENTITY_LOST_MERGE]: i18n.text('Profile lost merge'),\n [ActivityTypes.ENTITY_REMOVED]: i18n.text('Profile removed'),\n [ActivityTypes.GROUP_CHANGED]: i18n.text('Group updated'),\n [ActivityTypes.GROUP_CREATED]: i18n.text('Group created'),\n [ActivityTypes.GROUP_REMOVED]: i18n.text('Group removed'),\n [ActivityTypes.MODEL_UPDATED]: i18n.text('Model was updated'),\n [ActivityTypes.NOT_MATCHES_RESET]: i18n.text('Not matches reset'),\n [ActivityTypes.NOT_MATCHES_SET]: i18n.text('Not matches set'),\n [ActivityTypes.PERIODIC_TASK_SCHEDULED]: i18n.text('Periodic task was scheduled'),\n [ActivityTypes.POTENTIAL_MATCHES_FOUND]: i18n.text('Potential matches found'),\n [ActivityTypes.POTENTIAL_MATCHES_REMOVED]: i18n.text('Potential matches removed'),\n [ActivityTypes.RELATIONSHIP_CHANGED]: i18n.text('Relationship updated'),\n [ActivityTypes.RELATIONSHIP_CREATED]: i18n.text('Relationship created'),\n [ActivityTypes.RELATIONSHIP_REMOVED]: i18n.text('Relationship removed'),\n [ActivityTypes.USER_LOGIN]: i18n.text('Logged in'),\n [ActivityTypes.USER_LOGOUT]: i18n.text('Logged out'),\n [ActivityTypes.USER_PROFILE_VIEW]: i18n.text('Profile viewed'),\n [ActivityTypes.USER_SEARCH]: i18n.text('Searched'),\n [ActivityTypes.ANALYTICS_ATTRIBUTES_CHANGED]: i18n.text('Analytics attribute changed'),\n [ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE]: i18n.text('SFDC connector synchronization issue')\n };\n return labels[type] || '';\n};\n","import {cond, defaultTo, equals, join, map, pipe, reject, toPairs, type} from 'ramda';\nimport moment from 'moment';\nimport {ActivityTypes} from '../types';\nimport {AttributeOption, DateRangeFilter, DateRangeTypes} from '../../../types';\nimport {escapeQueryValue, isEmptyValue, Source, TEntityType} from '@reltio/mdm-sdk';\n\nconst wrapInBrackets = (str) => `(${str})`;\nconst multiValueFilter = (filterClauseFn) => (values) => values.map(filterClauseFn).join(' or ');\n\nconst buildUserFilterClause = (user: string) => `equals(user, '${escapeQueryValue(user)}')`;\n\nconst buildActivityFilterClause = (activityType: ActivityTypes) => {\n if (activityType.startsWith('USER_') || activityType.startsWith('COMMENT_') || activityType.startsWith('SFDC_')) {\n return `startsWith(label, '${activityType}')`;\n } else {\n return `equals(items.data.type, ${activityType})`;\n }\n};\n\nconst buildSourceFilterClause = (source: Source) => {\n return `equals(items.delta.sources, '${source.abbreviation}')`;\n};\n\nconst buildEntityTypeFilterClause = (entityType: TEntityType) => {\n return `equals(items.objectType, '${entityType.uri}')`;\n};\n\nconst buildAttributeFilterClause = (attribute: AttributeOption) => {\n return `equals(items.delta.attributeType, '${attribute.value}')`;\n};\n\nconst durationToTimestamp = (period) => {\n const [amount, unit] = period;\n return moment().subtract(amount, unit).valueOf();\n};\n\nconst buildDateRangeFilterClause = ({type, period}: DateRangeFilter) => {\n switch (type) {\n case DateRangeTypes.WITHIN: {\n return `gte(timestamp, ${durationToTimestamp(period)})`;\n }\n case DateRangeTypes.AGO: {\n return `lte(timestamp, ${durationToTimestamp(period)})`;\n }\n case DateRangeTypes.BETWEEN: {\n const [start, end] = period;\n return `range(timestamp, ${start.valueOf()}, ${moment(end).endOf('date').valueOf()})`;\n }\n default: {\n return '';\n }\n }\n};\n\nconst buildEntityUriFilterClause = (entityUri: string) => {\n const filters = [\n `equals(items.objectUri, '${entityUri}')`,\n `equals(items.startObjectUri, '${entityUri}')`,\n `equals(items.endObjectUri, '${entityUri}')`\n ];\n return filters.join(' or ');\n};\n\nconst getFilterClauseBuilder = cond([\n [equals('users'), () => multiValueFilter(buildUserFilterClause)],\n [equals('activities'), () => multiValueFilter(buildActivityFilterClause)],\n [equals('sources'), () => multiValueFilter(buildSourceFilterClause)],\n [equals('attributes'), () => multiValueFilter(buildAttributeFilterClause)],\n [equals('entityTypes'), () => multiValueFilter(buildEntityTypeFilterClause)],\n [equals('dateRange'), () => buildDateRangeFilterClause],\n [equals('entityUri'), () => buildEntityUriFilterClause]\n]);\n\nexport const buildActivitiesFilterString = pipe(\n defaultTo({}),\n reject(isEmptyValue),\n toPairs,\n map(([key, value]) => getFilterClauseBuilder(key)(value)),\n reject(isEmptyValue),\n map(wrapInBrackets),\n join(' and ')\n);\n\nexport const isDateRangeValid = (value: DateRangeFilter) => {\n if (value.type === DateRangeTypes.AGO || value.type === DateRangeTypes.WITHIN) {\n const [amount, unit] = value.period;\n return type(amount) === 'Number' && type(unit) === 'String' && amount > 0;\n } else if (value.type === DateRangeTypes.BETWEEN) {\n const [startDate, endDate] = value.period;\n return startDate instanceof Date && endDate instanceof Date;\n }\n};\n","import {makeStyles} from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n root: {\n flex: 1\n },\n dropdownIndicator: {\n transition: 'transform .15s ease'\n },\n inputRoot: {\n fontSize: '14px',\n height: 46\n },\n input: {\n padding: '0 12px 0'\n },\n dateOptionLabel: {\n minWidth: '100px'\n },\n paper: {\n minWidth: '112px'\n }\n});\n","import React, {useCallback, useRef, useState} from 'react';\nimport moment from 'moment';\nimport i18n from 'ui-i18n';\nimport {isNil} from 'ramda';\nimport {DataTypes, formatDataTypeValue} from '@reltio/mdm-sdk';\n\nimport {TextField as TextField} from '@material-ui/core';\nimport {Menu as Menu} from '@material-ui/core';\nimport DropdownIndicatorWithIconButton from '../../commonReactSelectComponents/DropdownIndicatorWithIconButton';\nimport DateRangePicker from '../../DateRangePicker/DateRangePicker';\nimport {useStyles} from './styles';\n\ntype DateValues = [Date, Date];\ntype Props = {\n values: DateValues;\n onChange: (values: DateValues) => void;\n onFocus?: () => void;\n};\n\nconst localeFormat = moment.localeData().longDateFormat('L');\n\nconst formatValue = (value: Date, placeholder: string) => {\n return isNil(value)\n ? `${placeholder}`\n : `${formatDataTypeValue({dataTypeDefinition: {type: DataTypes.TYPE_ACTIVENESS_DATE}}, value)}`;\n};\n\nconst CustomDateRangeEditor = ({values, onChange, onFocus}: Props) => {\n const placeholder = localeFormat;\n const inputRef = useRef(null);\n const [open, setOpen] = useState(false);\n const styles = useStyles();\n\n const onApply = (values: DateValues) => {\n onChange(values);\n setOpen(false);\n };\n\n const handleToggle = useCallback(() => {\n setOpen((open) => !open);\n onFocus();\n }, [onFocus]);\n\n const onCancel = () => {\n setOpen(false);\n };\n\n return (\n <div className={styles.root}>\n <TextField\n fullWidth\n value={values.map((value) => formatValue(value, placeholder)).join(' \\u2014 ')}\n onClick={handleToggle}\n variant=\"filled\"\n ref={inputRef}\n InputProps={{\n endAdornment: (\n <DropdownIndicatorWithIconButton\n selectProps={{classes: styles, menuIsOpen: open}}\n innerProps={{}}\n />\n ),\n disableUnderline: isNil(values),\n readOnly: true,\n classes: {\n root: styles.inputRoot,\n input: styles.input\n }\n }}\n InputLabelProps={{\n shrink: false\n }}\n placeholder={i18n.text(`${placeholder} \\u2014 ${placeholder}`)}\n />\n <Menu\n variant=\"menu\"\n open={open}\n autoFocus={false}\n classes={{paper: styles.paper}}\n anchorEl={inputRef.current}\n onClose={onCancel}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n elevation={2}\n getContentAnchorEl={null}\n MenuListProps={{\n autoFocusItem: open,\n style: {width: '100%'}\n }}\n >\n <DateRangePicker\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n values={values}\n onCancel={onCancel}\n onApply={onApply}\n type={DataTypes.TYPE_ACTIVENESS_DATE}\n />\n </Menu>\n </div>\n );\n};\n\nexport default CustomDateRangeEditor;\n","import {useEffect} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport mdmModule, {profile} from '@reltio/mdm-module';\nimport {\n buildReadableQueryToString,\n getKeywordFromSearchState,\n getUnresolvedLookupsListFromSearchGroups,\n resolveLookupsList,\n getGroupsFromSearchState,\n SearchState\n} from '@reltio/mdm-sdk';\nimport {andThen, chain, pipe} from 'ramda';\n\nexport const useReadableSearchState = (searchState: SearchState) => {\n const metadata = useSelector(mdmModule.selectors.getMetadata);\n const dataTenants = useSelector(mdmModule.selectors.getDataTenants);\n const attributePresentations = useSelector(mdmModule.selectors.getAttributePresentations);\n const lookups = useSelector(mdmModule.selectors.getLookups);\n const {map} = searchState;\n const keyword = getKeywordFromSearchState(searchState);\n\n const groups = getGroupsFromSearchState(metadata, dataTenants, true, searchState);\n const unresolvedLookups = getUnresolvedLookupsListFromSearchGroups(groups, lookups);\n const dispatch = useDispatch();\n useEffect(() => {\n if (unresolvedLookups.length > 0) {\n pipe(\n chain(({type, codeValues}) => codeValues.map((codeValue) => ({type, codeValue}))),\n resolveLookupsList,\n andThen(pipe(profile.lookups.actions.lookupsListResolved, dispatch))\n )(unresolvedLookups);\n }\n }, [searchState]); // eslint-disable-line\n return buildReadableQueryToString(metadata, attributePresentations, lookups, groups, keyword, map);\n};\n","import {AttributeType} from '@reltio/mdm-sdk';\n\nexport type ReactGridLayoutItem = {\n i: string;\n x: number;\n y: number;\n w: number;\n h: number;\n minW?: number;\n minH?: number;\n maxW?: number;\n maxH?: number;\n static?: boolean;\n};\n\nexport type ReltioGridLayoutItem = {\n id: string;\n x: number;\n y: number;\n width: number;\n height: number;\n minWidth?: number;\n minHeight?: number;\n maxWidth?: number;\n maxHeight?: number;\n isStatic?: boolean;\n autosizing?: boolean;\n};\n\nexport type AttributeOption = {\n label: string;\n value: string;\n attrType: AttributeType;\n chipLabel: string;\n level: number;\n};\n\nexport enum DateRangeTypes {\n WITHIN = 'within',\n AGO = 'ago',\n BETWEEN = 'between'\n}\n\nexport type DateRangeFilter = {\n type: DateRangeTypes;\n period: [number, string] | [Date, Date];\n};\n\nexport type QueryBuilderAttributeData = {\n title: string;\n pathToTitle: Array<string>;\n fieldName: string;\n entityTypeUri: string;\n attrType: AttributeType;\n uri: string;\n groupName: string;\n filterOptions: Array<string>;\n};\n\nexport type QueryBuilderAttribute = {\n id: string;\n values: Array<unknown>;\n data: QueryBuilderAttributeData;\n filter: string;\n operator: string;\n};\n\nexport type AttributeSelectorItem = {\n attrType: AttributeType;\n entityTypeUri: string;\n fieldName: string;\n groupName: string;\n title: string;\n uri: string;\n children?: AttributeSelectorItem[];\n pathToTitle?: string[];\n};\n\nexport type AttributeSelectorItemsGroup = {\n id?: string;\n title: string;\n attributes: AttributeSelectorItem[];\n};\n\nexport type AttributeSelectionInfo = {\n index: number;\n checked: boolean;\n attribute: AttributeSelectorItem;\n selectedAttributes: AttributeSelectorItem[];\n};\n\nexport type BasicAttributeSelectorProps = {\n className?: string;\n itemsGroups: AttributeSelectorItemsGroup[];\n value: AttributeSelectorItem;\n onSelect: (selectInfo: AttributeSelectionInfo) => void;\n onRestoreFocus?: () => void;\n onOpenPopup?: () => void;\n getLabel?: (value: {fieldName?: string; pathToTitle?: string[]; title: string}) => string;\n disableRestoreFocus?: boolean;\n disableEnforceFocus?: boolean;\n single?: boolean;\n ungroup?: boolean;\n disabled?: boolean;\n hideCheckBox?: boolean;\n};\nexport enum RequestStates {\n INIT = 'init',\n LOADING = 'loading',\n LOADED = 'loaded',\n ERROR = 'error'\n}\n"],"names":["customStyles","input","currentStyles","fontSize","menuPortal","zIndex","useStyles","makeStyles","root","flex","title","paddingBottom","paddingLeft","dropDownInput","width","justifyContent","backgroundColor","borderTop","option","height","noOptionsMessage","entityType","selectedAttributes","className","onChange","disableUnderline","menuPlacement","metadata","useSelector","mdmModule","styles","prepareItems","useCallback","data","level","prevLabel","reduce","acc","item","hidden","chipLabel","label","push","value","uri","attrType","subAttributes","getAttributeTypeSubAttributes","concat","options","useMemo","attributes","classnames","Typography","variant","i18n","MultiSelect","TextFieldProps","InputProps","classes","components","DropdownIndicator","DropdownIndicatorWithIconButton","MultiValue","props","Option","isFocused","isSelected","innerProps","AttributeListItem","checked","labelInText","pipe","defaultTo","menuPortalTarget","document","body","overflow","memo","defaultItemSize","children","itemKey","showNotMeasuredItems","listRef","listRefProp","rowHeightsCache","useRef","rowHeights","setRowHeights","useState","applyRowHeights","debounce","current","getItemKeyFromData","index","localListRef","resetAfterIndex","Row","style","key","undefined","visibility","handleHeight","onResize","_","cacheRowHeight","ref","itemCount","length","itemData","itemSize","getItemKey","padding","paddingTop","otherProps","display","paddingRight","inputNumber","minWidth","marginRight","inputUnit","periods","interval","unit","onFocus","onNumberChange","getValue","parseInt","newValue","onUnitChange","newUnit","TextField","type","inputProps","min","SimpleDropDownSelector","placeholder","capitalize","map","ErrorBoundary","React","constructor","super","this","state","error","componentDidCatch","setState","console","render","loadingMessage","selectedUsers","valueToOption","prepareValues","values","tenant","servicesPath","cachedRequest","pluck","defaultOptions","getOptions","inputValue","getAllUsersForTenant","then","prop","users","filter","username","utils","filterUsers","buildGroupedItems","groupBy","timestamp","moment","startOf","toPairs","day","valueOf","collapsed","flattenGroupedItems","addIndex","chain","chainIndexed","groupItem","isGroupItem","has","alignItems","boxSizing","groupIcon","marginLeft","background","border","borderRadius","flexShrink","groupTitle","fontWeight","onToggle","isToday","Spacer","CollapseButton","isOpen","onClick","theme","activityTitle","lineHeight","color","palette","text","primary","marginBottom","activityType","whiteSpace","getActivityLabel","link","textDecoration","cursor","objectLabel","secondary","relationUri","getGroupLabelByTypeUri","items","objectType","getLabel","DEFAULT_VISIBLE_ITEMS_COUNT","ExpandedItemsContext","createContext","CollapsibleItemsProvider","expandedItems","setExpandedItems","Provider","addExpandedItems","itemId","includes","useCollapsibleItems","itemsId","limit","useContext","onExpand","isExpanded","itemsToShow","slice","collapsedItemsCount","MoreItemsLink","itemsCount","itemsLabel","Link","component","underline","CollapsibleActivityRecords","RecordComponent","activityUri","id","pointerEvents","objectUri","isRemoved","ActivityTypes","EntityUriLink","removed","useCommonStyles","field","marginTop","fieldName","arrow","margin","chip","textTransform","borderColor","expandLabel","andLabel","commonStyles","matches","potentialMatches","newUri","split","getFieldName","url","prev","curr","record","position","description","restoreIcon","right","top","moreLabel","itemsTotal","isMinimized","PotentialMatchRecord","delta","attribute","findAttributeTypeByUri","attributeType","oldValue","deltaLabel","DeltaTypes","name","stringifyDeltaValue","ArrowForward","Chip","updates","recordId","update","dispatch","useDispatch","deltaArray","deltaCollection","isEntityChanged","path","Restore","getEntityPreviousChange","previousTimestamp","historyEvent","aStamp","bStamp","ui","entityUri","catch","err","EntityRecord","relationship","delimiter","startObjectLabel","startObjectUri","endObjectLabel","endObjectUri","RelationRecord","searchState","searchData","parseJSON","version","activity","uiState","openSearch","always","searchString","useReadableSearchState","isRelationUri","viewBox","fill","xmlns","d","fillRule","clipRule","ActivitiesFactory","getComponent","getIcon","Profile","CalendarToday","UnMerge","Merge","Add","Remove","Search","PotentialMatch","NoMatches","Comment","Create","activityItem","minHeight","activityIcon","activityInfo","activityUser","textOverflow","activityEvent","date","getActivityType","activities","splitActivityByType","isValidActivity","user","rowDivider","listRow","content","left","firstRow","lastRow","singleRow","count","page","onChangePage","rowsPerPage","onChangeRowsPerPage","rowsPerPageOptions","groupedItems","setGroupedItems","toggleGroupedItem","adjust","evolve","not","useEffect","flatItems","renderRow","Divider","light","AutoSizeList","BasicTablePagination","labelRowsPerPage","header","icon","buttonsWrapper","filters","filterLabel","curry","pluralUnit","activityLabel","userLabel","entityTypesLabel","sortBy","identity","entityTypes","attributesLabel","sourcesLabel","sources","reject","isNil","join","formatDateValue","formatDataTypeValue","dataTypeDefinition","DataTypes","DateRangeTypes","amount","period","startDate","endDate","getDateLabel","dateRange","getFilterLabel","Tooltip","noWrap","SmallIconButton","FilterListIcon","size","tooltipTitle","profileRelatedActivityTypes","groupRelatedActivityTypes","getSelectorActivityTypes","Object","keys","isEmpty","groupTypes","container","borderBottom","labels","filterSubtitle","agoLabel","textAlign","dateOption","dateOptionAgo","dateOptionWithin","dateOptionLabel","filterControls","clearButton","selectorWrapper","selectorsGroup","flexDirection","selectorHint","divider","activityTypes","selectedActivityTypes","showHint","emptyDates","emptyInterval","getInitPeriodByType","datesInterval","setDatesInterval","withinInterval","setWithinInterval","agoInterval","setAgoInterval","getCurrentPeriodByType","changeType","changePeriod","useDidUpdateEffect","RadioGroup","FormControlLabel","control","Radio","DateIntervalSelector","CustomDateRangeEditor","selectedEntityTypes","selectedSources","getOptionValue","onPropChange","closestEntityTypeAncestor","findClosestCommonAncestor","attributesEntityType","getEntityType","AttributeSelector","open","onApply","onCancel","onClear","currentFilter","setCurrentFilter","handlePropChange","propName","when","assoc","mergeLeft","isEntityChangedActivity","UserSelector","Button","snackbar","maxWidth","exportButton","main","exportTypes","showSnackbar","setShowSnackbar","exportPath","handleClickExport","buildActivitiesFilterString","fileFormat","exportActivities","onError","ErrorPopup","message","getRequestErrorMessage","handleOpenAppClick","menuItems","toUpperCase","DropDownMenuButton","buttonComponent","SmallIconButtonWithTooltip","buttonProps","GetAppIcon","menuId","Portal","Snackbar","autoHideDuration","onClose","action","initialValue","canExport","isEditorOpen","setIsEditorOpen","filterValue","isDateRangeValid","getItemDataType","firstItem","propOr","ifElse","Array","isArray","is","toString","multiValueFilter","filterClauseFn","buildUserFilterClause","escapeQueryValue","buildActivityFilterClause","startsWith","buildSourceFilterClause","source","abbreviation","buildEntityTypeFilterClause","buildAttributeFilterClause","durationToTimestamp","subtract","buildDateRangeFilterClause","start","end","endOf","buildEntityUriFilterClause","getFilterClauseBuilder","cond","equals","isEmptyValue","str","Date","dropdownIndicator","transition","inputRoot","paper","localeFormat","longDateFormat","inputRef","setOpen","handleToggle","fullWidth","formatValue","endAdornment","selectProps","menuIsOpen","readOnly","InputLabelProps","shrink","Menu","autoFocus","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","elevation","getContentAnchorEl","MenuListProps","autoFocusItem","DateRangePicker","dataTenants","attributePresentations","lookups","keyword","getKeywordFromSearchState","groups","getGroupsFromSearchState","unresolvedLookups","getUnresolvedLookupsListFromSearchGroups","codeValues","codeValue","resolveLookupsList","andThen","profile","buildReadableQueryToString","RequestStates"],"sourceRoot":""}
package/6719.js CHANGED
@@ -1 +1,2 @@
1
- (self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[6719],{36444:(t,e,n)=>{"use strict";var o=n(14859);e.Z=void 0;var r=o(n(24328)),i=(0,o(n(50175)).default)(r.default.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterList");e.Z=i},98357:(t,e,n)=>{var o="Expected a function",r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,f=u||p||Function("return this")(),s=Object.prototype.toString,m=Math.max,h=Math.min,d=function(){return f.Date.now()};function v(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function y(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==s.call(t)}(t))return NaN;if(v(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=v(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(r,"");var n=a.test(t);return n||l.test(t)?c(t.slice(2),n?2:8):i.test(t)?NaN:+t}t.exports=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(o);return v(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),function(t,e,n){var r,i,a,l,c,u,p=0,f=!1,s=!1,g=!0;if("function"!=typeof t)throw new TypeError(o);function w(e){var n=r,o=i;return r=i=void 0,p=e,l=t.apply(o,n)}function b(t){return p=t,c=setTimeout(_,e),f?w(t):l}function S(t){var n=t-u;return void 0===u||n>=e||n<0||s&&t-p>=a}function _(){var t=d();if(S(t))return U(t);c=setTimeout(_,function(t){var n=e-(t-u);return s?h(n,a-(t-p)):n}(t))}function U(t){return c=void 0,g&&r?w(t):(r=i=void 0,l)}function W(){var t=d(),n=S(t);if(r=arguments,i=this,u=t,n){if(void 0===c)return b(u);if(s)return c=setTimeout(_,e),w(u)}return void 0===c&&(c=setTimeout(_,e)),l}return e=y(e)||0,v(n)&&(f=!!n.leading,a=(s="maxWait"in n)?m(y(n.maxWait)||0,e):a,g="trailing"in n?!!n.trailing:g),W.cancel=function(){void 0!==c&&clearTimeout(c),p=0,r=u=i=c=void 0},W.flush=function(){return void 0===c?l:U(d())},W}(t,e,{leading:r,maxWait:e,trailing:i})}},9057:function(t,e,n){var o=n(34406);(function(){var e,n,r,i,a,l;"undefined"!=typeof performance&&null!==performance&&performance.now?t.exports=function(){return performance.now()}:null!=o&&o.hrtime?(t.exports=function(){return(e()-a)/1e6},n=o.hrtime,i=(e=function(){var t;return 1e9*(t=n())[0]+t[1]})(),l=1e9*o.uptime(),a=i-l):Date.now?(t.exports=function(){return Date.now()-r},r=Date.now()):(t.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)},23493:(t,e,n)=>{for(var o=n(9057),r="undefined"==typeof window?n.g:window,i=["moz","webkit"],a="AnimationFrame",l=r["request"+a],c=r["cancel"+a]||r["cancelRequest"+a],u=0;!l&&u<i.length;u++)l=r[i[u]+"Request"+a],c=r[i[u]+"Cancel"+a]||r[i[u]+"CancelRequest"+a];if(!l||!c){var p=0,f=0,s=[];l=function(t){if(0===s.length){var e=o(),n=Math.max(0,16.666666666666668-(e-p));p=n+e,setTimeout((function(){var t=s.slice(0);s.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(p)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(n))}return s.push({handle:++f,callback:t,cancelled:!1}),f},c=function(t){for(var e=0;e<s.length;e++)s[e].handle===t&&(s[e].cancelled=!0)}}t.exports=function(t){return l.call(r,t)},t.exports.cancel=function(){c.apply(r,arguments)},t.exports.polyfill=function(t){t||(t=r),t.requestAnimationFrame=l,t.cancelAnimationFrame=c}},46847:(t,e,n)=>{"use strict";function o(){var t=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=t&&this.setState(t)}function r(t){this.setState(function(e){var n=this.constructor.getDerivedStateFromProps(t,e);return null!=n?n:null}.bind(this))}function i(t,e){try{var n=this.props,o=this.state;this.props=t,this.state=e,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}function a(t){var e=t.prototype;if(!e||!e.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate)return t;var n=null,a=null,l=null;if("function"==typeof e.componentWillMount?n="componentWillMount":"function"==typeof e.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof e.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof e.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof e.componentWillUpdate?l="componentWillUpdate":"function"==typeof e.UNSAFE_componentWillUpdate&&(l="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==l){var c=t.displayName||t.name,u="function"==typeof t.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+c+" uses "+u+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==l?"\n "+l:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof t.getDerivedStateFromProps&&(e.componentWillMount=o,e.componentWillReceiveProps=r),"function"==typeof e.getSnapshotBeforeUpdate){if("function"!=typeof e.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");e.componentWillUpdate=i;var p=e.componentDidUpdate;e.componentDidUpdate=function(t,e,n){var o=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;p.call(this,t,e,o)}}return t}n.r(e),n.d(e,{polyfill:()=>a}),o.__suppressDeprecationWarning=!0,r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0}}]);
1
+ (self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[6719],{36444:(t,e,n)=>{"use strict";var o=n(14859);e.Z=void 0;var r=o(n(24328)),i=(0,o(n(50175)).default)(r.default.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterList");e.Z=i},98357:(t,e,n)=>{var o="Expected a function",r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,f=u||p||Function("return this")(),s=Object.prototype.toString,m=Math.max,h=Math.min,d=function(){return f.Date.now()};function v(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function y(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==s.call(t)}(t))return NaN;if(v(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=v(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(r,"");var n=a.test(t);return n||l.test(t)?c(t.slice(2),n?2:8):i.test(t)?NaN:+t}t.exports=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(o);return v(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),function(t,e,n){var r,i,a,l,c,u,p=0,f=!1,s=!1,g=!0;if("function"!=typeof t)throw new TypeError(o);function w(e){var n=r,o=i;return r=i=void 0,p=e,l=t.apply(o,n)}function b(t){return p=t,c=setTimeout(_,e),f?w(t):l}function S(t){var n=t-u;return void 0===u||n>=e||n<0||s&&t-p>=a}function _(){var t=d();if(S(t))return U(t);c=setTimeout(_,function(t){var n=e-(t-u);return s?h(n,a-(t-p)):n}(t))}function U(t){return c=void 0,g&&r?w(t):(r=i=void 0,l)}function W(){var t=d(),n=S(t);if(r=arguments,i=this,u=t,n){if(void 0===c)return b(u);if(s)return c=setTimeout(_,e),w(u)}return void 0===c&&(c=setTimeout(_,e)),l}return e=y(e)||0,v(n)&&(f=!!n.leading,a=(s="maxWait"in n)?m(y(n.maxWait)||0,e):a,g="trailing"in n?!!n.trailing:g),W.cancel=function(){void 0!==c&&clearTimeout(c),p=0,r=u=i=c=void 0},W.flush=function(){return void 0===c?l:U(d())},W}(t,e,{leading:r,maxWait:e,trailing:i})}},9057:function(t,e,n){var o=n(34406);(function(){var e,n,r,i,a,l;"undefined"!=typeof performance&&null!==performance&&performance.now?t.exports=function(){return performance.now()}:null!=o&&o.hrtime?(t.exports=function(){return(e()-a)/1e6},n=o.hrtime,i=(e=function(){var t;return 1e9*(t=n())[0]+t[1]})(),l=1e9*o.uptime(),a=i-l):Date.now?(t.exports=function(){return Date.now()-r},r=Date.now()):(t.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)},23493:(t,e,n)=>{for(var o=n(9057),r="undefined"==typeof window?n.g:window,i=["moz","webkit"],a="AnimationFrame",l=r["request"+a],c=r["cancel"+a]||r["cancelRequest"+a],u=0;!l&&u<i.length;u++)l=r[i[u]+"Request"+a],c=r[i[u]+"Cancel"+a]||r[i[u]+"CancelRequest"+a];if(!l||!c){var p=0,f=0,s=[];l=function(t){if(0===s.length){var e=o(),n=Math.max(0,16.666666666666668-(e-p));p=n+e,setTimeout((function(){var t=s.slice(0);s.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(p)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(n))}return s.push({handle:++f,callback:t,cancelled:!1}),f},c=function(t){for(var e=0;e<s.length;e++)s[e].handle===t&&(s[e].cancelled=!0)}}t.exports=function(t){return l.call(r,t)},t.exports.cancel=function(){c.apply(r,arguments)},t.exports.polyfill=function(t){t||(t=r),t.requestAnimationFrame=l,t.cancelAnimationFrame=c}},46847:(t,e,n)=>{"use strict";function o(){var t=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=t&&this.setState(t)}function r(t){this.setState(function(e){var n=this.constructor.getDerivedStateFromProps(t,e);return null!=n?n:null}.bind(this))}function i(t,e){try{var n=this.props,o=this.state;this.props=t,this.state=e,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}function a(t){var e=t.prototype;if(!e||!e.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate)return t;var n=null,a=null,l=null;if("function"==typeof e.componentWillMount?n="componentWillMount":"function"==typeof e.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof e.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof e.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof e.componentWillUpdate?l="componentWillUpdate":"function"==typeof e.UNSAFE_componentWillUpdate&&(l="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==l){var c=t.displayName||t.name,u="function"==typeof t.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+c+" uses "+u+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==l?"\n "+l:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof t.getDerivedStateFromProps&&(e.componentWillMount=o,e.componentWillReceiveProps=r),"function"==typeof e.getSnapshotBeforeUpdate){if("function"!=typeof e.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");e.componentWillUpdate=i;var p=e.componentDidUpdate;e.componentDidUpdate=function(t,e,n){var o=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;p.call(this,t,e,o)}}return t}n.r(e),n.d(e,{polyfill:()=>a}),o.__suppressDeprecationWarning=!0,r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0}}]);
2
+ //# sourceMappingURL=6719.js.map
package/6719.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6719.js","mappings":"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","sources":["webpack://@reltio/remotes/../../node_modules/@material-ui/icons/FilterList.js","webpack://@reltio/remotes/../../node_modules/lodash.throttle/index.js","webpack://@reltio/remotes/../../node_modules/performance-now/lib/performance-now.js","webpack://@reltio/remotes/../../node_modules/raf/index.js","webpack://@reltio/remotes/../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(\"path\", {\n d: \"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"\n}), 'FilterList');\n\nexports.default = _default;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n"],"names":["_interopRequireDefault","exports","_react","_default","default","createElement","d","FUNC_ERROR_TEXT","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","func","wait","options","leading","trailing","TypeError","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","this","cancel","clearTimeout","flush","debounce","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","process","hr","uptime","getTime","window","vendors","suffix","raf","caf","i","length","last","id","queue","callback","_now","next","cp","cancelled","e","round","push","handle","fn","polyfill","object","requestAnimationFrame","cancelAnimationFrame","componentWillMount","state","constructor","getDerivedStateFromProps","props","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","Component","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning"],"sourceRoot":""}