@reltio/remotes 1.4.1675 → 1.4.1676
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1039.js +1 -1
- package/1088.js +1 -1
- package/1148.js +1 -1
- package/1215.js +1 -1
- package/1334.js +1 -1
- package/1425.js +1 -1
- package/1550.js +1 -1
- package/1550.js.map +1 -1
- package/1664.js +1 -1
- package/1707.js +1 -1
- package/1840.js +1 -1
- package/2066.js +1 -1
- package/2400.js +1 -1
- package/{4609.js → 2617.js} +2 -2
- package/2617.js.map +1 -0
- package/2966.js +1 -1
- package/3096.js +1 -1
- package/3144.js +1 -1
- package/3209.js +1 -1
- package/3348.js +1 -1
- package/3373.js +1 -1
- package/3381.js +1 -1
- package/3383.js +1 -1
- package/3463.js +1 -1
- package/3469.js +1 -1
- package/3538.js +1 -1
- package/3538.js.map +1 -1
- package/3639.js +1 -1
- package/3785.js +1 -1
- package/4038.js +1 -1
- package/4143.js +1 -1
- package/415.js +1 -1
- package/4197.js +1 -1
- package/4197.js.map +1 -1
- package/4212.js +1 -1
- package/4481.js +1 -1
- package/4610.js +1 -1
- package/4787.js +1 -1
- package/4806.js +1 -1
- package/4838.js +1 -1
- package/50.js +1 -1
- package/5039.js +1 -1
- package/5177.js +1 -1
- package/5177.js.map +1 -1
- package/5201.js +1 -1
- package/5258.js +1 -1
- package/5292.js +1 -1
- package/5383.js +1 -1
- package/5738.js +1 -1
- package/5769.js +1 -1
- package/6287.js +1 -1
- package/6337.js +1 -1
- package/636.js +1 -1
- package/6422.js +1 -1
- package/658.js +1 -1
- package/6799.js +1 -1
- package/6844.js +1 -1
- package/6903.js +1 -1
- package/7074.js +1 -1
- package/7119.js +1 -1
- package/7237.js +1 -1
- package/7340.js +1 -1
- package/735.js +1 -1
- package/7407.js +1 -1
- package/7422.js +1 -1
- package/7468.js +1 -1
- package/7605.js +1 -1
- package/7626.js +1 -1
- package/7744.js +1 -1
- package/{6152.js → 7802.js} +2 -2
- package/7802.js.map +1 -0
- package/7896.js +1 -1
- package/820.js +1 -1
- package/8207.js +1 -1
- package/8216.js +1 -1
- package/829.js +1 -1
- package/8741.js +1 -1
- package/8786.js +1 -1
- package/9016.js +1 -1
- package/9032.js +1 -1
- package/9050.js +1 -1
- package/9109.js +1 -1
- package/9283.js +1 -1
- package/9328.js +1 -1
- package/9387.js +1 -1
- package/9719.js +1 -1
- package/9861.js +1 -1
- package/main.js +1 -1
- package/package.json +1 -1
- package/remoteEntry.js +1 -1
- package/remoteEntry.js.map +1 -1
- package/4609.js.map +0 -1
- package/6152.js.map +0 -1
package/7802.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7802.js","mappings":"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","sources":["webpack://@reltio/remotes/../components/src/components/ActionButton/styles.ts","webpack://@reltio/remotes/../components/src/components/ActionButton/ActionButton.tsx","webpack://@reltio/remotes/../components/src/components/BasicTableView/viewState/basicTableViewState.js","webpack://@reltio/remotes/../components/src/components/ColoredSourceIcon/styles.ts","webpack://@reltio/remotes/../components/src/components/ColoredSourceIcon/ColoredSourceIcon.tsx","webpack://@reltio/remotes/../components/src/components/ConfirmationDialog/styles.ts","webpack://@reltio/remotes/../components/src/components/ConfirmationDialog/ConfirmationDialog.tsx","webpack://@reltio/remotes/../components/src/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesBadge/MatchRulesBadge.tsx","webpack://@reltio/remotes/../components/src/icons/NotMatchRule.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/NotMatchRule/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/NotMatchRule/NotMatchRule.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesBlock.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesTitle.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesTooltip/styles.ts","webpack://@reltio/remotes/../components/src/icons/NegativeRuleTooltipIcon.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/MatchRulesTooltip/MatchRulesTooltip.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRules/styles.ts","webpack://@reltio/remotes/../components/src/icons/NegativeRuleIcon.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRules/SimpleMatchRules.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRulesBlock/styles.tsx","webpack://@reltio/remotes/../components/src/icons/MlMatch.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRulesBlock/SimpleMatchRulesBlock.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRulesBuilder/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/SimpleMatchRulesBuilder/SimpleMatchRulesBuilder.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchRules/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchRules/TransitiveMatchRule.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchBlock/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchRulesTooltip/styles.ts","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/TransitiveMatchBlock/TransitiveMatchBlock.tsx","webpack://@reltio/remotes/../components/src/components/MatchRulesBlock/types/index.ts","webpack://@reltio/remotes/../components/src/icons/MergeDark.tsx","webpack://@reltio/remotes/../components/src/components/MergeButton/MergeButton.tsx","webpack://@reltio/remotes/../components/src/components/ModeSwitcherSelect/styles.ts","webpack://@reltio/remotes/../components/src/components/ModeSwitcherSelect/ModeSwitcherSelect.tsx","webpack://@reltio/remotes/../components/src/icons/NotMatchDark.tsx","webpack://@reltio/remotes/../components/src/components/NotMatchButton/NotMatchButton.tsx","webpack://@reltio/remotes/../components/src/components/ProfileCard/ProfileCardContent/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileCard/ProfileCardContent/ProfileCardContent.tsx","webpack://@reltio/remotes/../components/src/components/ProfileCard/ProfileCardPlaceholder/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileCard/ProfileCardPlaceholder/ProfileCardPlaceholder.tsx","webpack://@reltio/remotes/../components/src/components/ProfileCard/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileCard/ProfileCard.tsx","webpack://@reltio/remotes/../components/src/components/ProfileResizablePanes/styles.ts","webpack://@reltio/remotes/../components/src/components/ProfileResizablePanes/ProfileResizablePanes.tsx","webpack://@reltio/remotes/../components/src/components/RelevanceScoreBadge/styles.ts","webpack://@reltio/remotes/../components/src/components/RelevanceScoreBadge/RelevanceScoreBadge.tsx","webpack://@reltio/remotes/../components/src/components/SideIconPanel/styles.ts","webpack://@reltio/remotes/../components/src/components/SideIconPanel/SideButtonsPanel.tsx","webpack://@reltio/remotes/../components/src/components/SidePanel/styles.ts","webpack://@reltio/remotes/../components/src/components/SidePanel/SidePanel.tsx","webpack://@reltio/remotes/../components/src/components/SidePanel/SidePanelContentHeader/styles.ts","webpack://@reltio/remotes/../components/src/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.tsx","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/components/styles.js","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/components/RelationOption.js","webpack://@reltio/remotes/../components/src/components/attributes/editMode/RelationTypeSelector/RelationTypeSelector.js","webpack://@reltio/remotes/../components/src/components/workflow/components/AssigneeSelector/AssigneeSelector.tsx","webpack://@reltio/remotes/../components/src/components/workflow/components/TaskActions/TaskActions.tsx","webpack://@reltio/remotes/../components/src/components/workflow/components/WorkflowComments/styles.ts","webpack://@reltio/remotes/../components/src/components/workflow/components/WorkflowComments/Comment.js","webpack://@reltio/remotes/../components/src/components/workflow/components/WorkflowComments/CollapsedComments.js","webpack://@reltio/remotes/../components/src/components/workflow/components/WorkflowComments/ExpandedComments.js","webpack://@reltio/remotes/../components/src/components/workflow/components/WorkflowComments/WorkflowComments.tsx","webpack://@reltio/remotes/../components/src/components/workflow/helpers/errors.ts","webpack://@reltio/remotes/../components/src/components/workflow/helpers/index.ts","webpack://@reltio/remotes/../components/src/components/workflow/hooks/useWorkflowActions.ts","webpack://@reltio/remotes/../components/src/components/workflow/hooks/useWorkflowAssignee.ts","webpack://@reltio/remotes/../components/src/components/workflow/hooks/useWorkflowCheckPermission.ts","webpack://@reltio/remotes/../components/src/components/workflow/hooks/useWorkflowComments.ts","webpack://@reltio/remotes/../components/src/components/workflow/hooks/useWorkflowDefaultActionSuccessHandler.ts","webpack://@reltio/remotes/../components/src/contexts/PerspectivesSettingsContext/index.ts","webpack://@reltio/remotes/../components/src/contexts/SnackbarContext/index.ts","webpack://@reltio/remotes/../components/src/contexts/WorkflowTasksContext/index.ts","webpack://@reltio/remotes/../components/src/hooks/useActions.ts","webpack://@reltio/remotes/../components/src/hooks/useIsMountedRef.ts","webpack://@reltio/remotes/../components/src/hooks/useMarkAsNotMatchRequest.ts","webpack://@reltio/remotes/../components/src/hooks/useMatchesLoader.ts","webpack://@reltio/remotes/../components/src/hooks/helpers/merge.ts","webpack://@reltio/remotes/../components/src/hooks/useMergeAllRequest.ts","webpack://@reltio/remotes/../components/src/hooks/helpers/pagingSimulator.ts","webpack://@reltio/remotes/../components/src/hooks/usePagingSimulator.ts","webpack://@reltio/remotes/../components/src/hooks/useRelationTypeSelector.js","webpack://@reltio/remotes/../components/src/hooks/useSavedStateForEntityType.ts"],"sourcesContent":["import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n button: {\n whiteSpace: 'nowrap',\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0,\n padding: '9px 16px 9px 12px',\n '& svg g path, & svg path': {\n fill: theme.palette.primary.main,\n fillOpacity: 1\n }\n },\n iconButton: {\n '& svg g path, & svg path': {\n fill: theme.palette.primary.main,\n fillOpacity: 1\n }\n },\n startIcon: {\n marginLeft: 0,\n marginRight: '8px',\n width: '18px',\n height: '18px',\n alignItems: 'center'\n },\n overflowStyle: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n menuIcon: {\n marginRight: '12px'\n },\n menuItem: {\n minHeight: '28px',\n padding: '2px 16px 2px 12px'\n },\n menuText: {\n color: theme.palette.text.primary,\n fontSize: '13px',\n lineHeight: '15px',\n letterSpacing: 0\n }\n}));\n","import React, {forwardRef} from 'react';\nimport classnames from 'classnames';\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\n\nimport {useStyles} from './styles';\nimport {noop} from '../../core';\nimport ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\n\nexport enum ActionButtonMode {\n iconButton = 'iconButton',\n button = 'button',\n menuItem = 'menuItem'\n}\n\nexport type Props = {\n className?: string;\n disabled?: boolean;\n icon: React.ElementType;\n label: string;\n mode: ActionButtonMode;\n onClick: () => void;\n onMenuClose?: () => void;\n};\n\nexport const ActionButton = forwardRef<HTMLLIElement, Props>(\n (\n {\n className,\n mode = ActionButtonMode.iconButton,\n label,\n disabled,\n icon: Icon,\n onClick = noop,\n onMenuClose = noop,\n ...otherProps\n }: Props,\n ref: React.Ref<HTMLLIElement>\n ) => {\n const styles = useStyles();\n\n const getButtonView = () => {\n switch (mode) {\n case 'iconButton': {\n return (\n <SmallIconButtonWithTooltip\n disabled={disabled}\n className={classnames(styles.iconButton, className)}\n size=\"S\"\n tooltipTitle={label}\n onClick={onClick}\n icon={Icon}\n showForDisabled\n {...otherProps}\n />\n );\n }\n case 'button': {\n return (\n <Button\n className={classnames(styles.button, className)}\n disabled={disabled}\n startIcon={<Icon />}\n onClick={onClick}\n color=\"primary\"\n classes={{startIcon: styles.startIcon}}\n {...otherProps}\n >\n <ExpandedValueTooltip value={label}>\n <div className={styles.overflowStyle}>{label}</div>\n </ExpandedValueTooltip>\n </Button>\n );\n }\n case 'menuItem': {\n const handleClick = () => {\n onMenuClose();\n onClick();\n };\n return (\n <MenuItem\n classes={{root: styles.menuItem}}\n onClick={handleClick}\n disabled={disabled}\n ref={ref}\n {...otherProps}\n >\n <>\n <Icon className={styles.menuIcon} />\n <Typography classes={{root: styles.menuText}}>{label}</Typography>\n </>\n </MenuItem>\n );\n }\n }\n };\n\n return getButtonView();\n }\n);\n\nActionButton.displayName = 'ActionButton';\n","import {always, assoc, difference, dissoc, evolve, keys, path, when} from 'ramda';\nimport {createStandardAction, toggleSortOrder} from '../../../core';\n\nconst CHANGE_COLUMNS = 'CHANGE_COLUMNS';\nconst TOGGLE_FILTERS = 'TOGGLE_FILTERS';\nconst CHANGE_FILTER = 'CHANGE_FILTER';\nconst TOGGLE_SORT = 'TOGGLE_SORT';\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS_PER_PAGE = 'CHANGE_ROWS_PER_PAGE';\n\nexport const actions = {\n changeColumns: createStandardAction(CHANGE_COLUMNS),\n toggleFilters: createStandardAction(TOGGLE_FILTERS),\n changeFilter: createStandardAction(CHANGE_FILTER),\n toggleSort: createStandardAction(TOGGLE_SORT),\n changePage: createStandardAction(CHANGE_PAGE),\n changeRowsPerPage: createStandardAction(CHANGE_ROWS_PER_PAGE)\n};\n\nexport const changeVisibleColumns = (state, nextVisibleColumns) => {\n const removedColumns = difference(state.visibleColumns, nextVisibleColumns);\n const isRemovedColumn = (columnId) => removedColumns.includes(columnId);\n return evolve(\n {\n visibleColumns: always(nextVisibleColumns),\n sorting: when(\n (sorting = {}) => isRemovedColumn(sorting.field),\n () => {\n const [nextSortField] = nextVisibleColumns;\n return {field: nextSortField, order: 'asc'};\n }\n ),\n filters: (filters) =>\n keys(filters).reduce(\n (acc, columnId) => (isRemovedColumn(columnId) ? dissoc(columnId, acc) : acc),\n filters\n )\n },\n state\n );\n};\n\nexport const reducer = (state, action) => {\n switch (action.type) {\n case CHANGE_COLUMNS: {\n const columnIds = action.payload;\n return changeVisibleColumns(state, columnIds);\n }\n case TOGGLE_FILTERS: {\n const enableFilters = !state.filters;\n return {\n ...state,\n filters: enableFilters ? {} : null,\n page: enableFilters ? state.page : 0\n };\n }\n case CHANGE_FILTER: {\n const {columnId, filter} = action.payload;\n return evolve({filters: filter ? assoc(columnId, filter) : dissoc(columnId), page: always(0)}, state);\n }\n case TOGGLE_SORT: {\n const nextSortField = action.payload;\n const prevSortField = path(['sorting', 'field'], state);\n const prevSortOrder = path(['sorting', 'order'], state);\n return {\n ...state,\n sorting: {\n field: nextSortField,\n order: toggleSortOrder(nextSortField === prevSortField ? prevSortOrder : null)\n },\n page: 0\n };\n }\n case CHANGE_PAGE:\n return {...state, page: action.payload};\n case CHANGE_ROWS_PER_PAGE:\n return {...state, rowsPerPage: action.payload};\n default:\n return state;\n }\n};\n\nexport default {\n reducer,\n actions,\n changeVisibleColumns\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n itemContainer: {\n width: '18px',\n height: '18px'\n },\n item: {\n width: '18px',\n height: '18px',\n background: 'none',\n fontSize: '1rem'\n }\n});\n","import React, {memo} from 'react';\nimport classnames from 'classnames';\nimport Tooltip from '@mui/material/Tooltip';\nimport {Crosswalk, getSourceSystemLabel, Metadata} from '@reltio/mdm-sdk';\nimport {useCrosswalkColor, useMdmMetadata} from '../../contexts';\nimport SourceIcon from '../SourceIcon/SourceIcon';\nimport {useStyles} from './styles';\n\ntype Props = {\n crosswalk: Crosswalk;\n className?: string;\n showTooltip?: boolean;\n};\n\nconst ColoredSourceIcon = ({className, crosswalk, showTooltip = true}: Props) => {\n const styles = useStyles();\n const color = useCrosswalkColor(crosswalk);\n const metadata = useMdmMetadata() || ({} as Metadata);\n\n const content = (\n <div className={classnames(styles.itemContainer, className)} style={{background: color}}>\n <SourceIcon sourceType={crosswalk.type} className={styles.item} />\n </div>\n );\n return showTooltip ? <Tooltip title={getSourceSystemLabel(metadata, crosswalk.type)}>{content}</Tooltip> : content;\n};\n\nexport default memo(ColoredSourceIcon);\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles({\n paper: {\n minHeight: '180px'\n },\n title: {\n padding: '16px 16px 10px 16px',\n fontSize: '20px',\n fontWeight: 500,\n letterSpacing: '0.25px',\n lineHeight: '24px'\n },\n content: {\n padding: '0 16px'\n },\n contentText: {\n marginBottom: 0,\n fontSize: '16px',\n letterSpacing: '0.15px',\n lineHeight: '24px'\n },\n actionButtons: {\n display: 'flex',\n paddingTop: '4px',\n fontSize: '14px',\n fontWeight: 500,\n letterSpacing: 0,\n lineHeight: '16px',\n '& > div': {\n marginLeft: 'auto'\n }\n },\n discardButton: {\n marginRight: '8px'\n }\n});\n\nexport {useStyles};\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nimport {useStyles} from './styles';\n\nexport type Props = {\n open: boolean;\n title: React.ReactNode;\n content: React.ReactNode;\n cancelCaption?: string;\n discardCaption?: string;\n saveCaption?: string;\n disabledSave?: boolean;\n onCancel?: () => void;\n onDiscard?: () => void;\n onSave: () => void;\n};\n\nconst ConfirmationDialog = ({\n open,\n title,\n content,\n onCancel,\n cancelCaption = i18n.text('Cancel'),\n onDiscard,\n discardCaption = '',\n onSave,\n saveCaption = i18n.text('Save'),\n disabledSave = false\n}: Props) => {\n const styles = useStyles();\n\n return (\n <Dialog open={open} onClose={onCancel} classes={{paperScrollPaper: styles.paper}}>\n <DialogTitle classes={{root: styles.title}}>{title}</DialogTitle>\n <DialogContent classes={{root: styles.content}}>\n <DialogContentText classes={{root: styles.contentText}}>{content}</DialogContentText>\n </DialogContent>\n <DialogActions className={styles.actionButtons} disableSpacing>\n {onCancel && <Button onClick={onCancel}>{cancelCaption}</Button>}\n <div>\n {onDiscard && (\n <Button onClick={onDiscard} classes={{root: styles.discardButton}}>\n {discardCaption}\n </Button>\n )}\n <Button onClick={onSave} color=\"primary\" disabled={disabledSave} autoFocus>\n {saveCaption}\n </Button>\n </div>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport default ConfirmationDialog;\n","import React, {useMemo, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {ConnectionRelationType, RelationTypeType} from '@reltio/mdm-sdk';\nimport {identity, pipe} from 'ramda';\nimport {useRelationTypeSelector} from '../../hooks';\nimport RelationTypeSelector from '../attributes/editMode/RelationTypeSelector/RelationTypeSelector';\n\nconst ConnectionRelationTypeSelector = ({\n relation = {},\n inRelationTypes = [],\n outRelationTypes = [],\n onChange = identity,\n applyFirstByDefault = false,\n reversedContextLabels = false,\n ...otherProps\n}) => {\n const {getRelationTypesOptions, fromEditorValue, toEditorValue} = useRelationTypeSelector({reversedContextLabels});\n\n const relationsTypesOptions = useMemo(\n () => getRelationTypesOptions(inRelationTypes, outRelationTypes),\n [getRelationTypesOptions, inRelationTypes, outRelationTypes]\n );\n\n const handleChange = useCallback(pipe(fromEditorValue(inRelationTypes, outRelationTypes), onChange), [\n fromEditorValue,\n inRelationTypes,\n outRelationTypes,\n onChange\n ]);\n\n const hasValue = !!relation.relationType;\n\n useEffect(() => {\n if (applyFirstByDefault && relationsTypesOptions.length && !hasValue) {\n handleChange(relationsTypesOptions[0]);\n }\n }, [relationsTypesOptions, applyFirstByDefault, handleChange, hasValue]);\n\n return (\n <RelationTypeSelector\n value={toEditorValue(relation, relationsTypesOptions)}\n options={relationsTypesOptions}\n onChange={handleChange}\n {...otherProps}\n />\n );\n};\n\nConnectionRelationTypeSelector.propTypes = {\n className: PropTypes.string,\n relation: ConnectionRelationType,\n inRelationTypes: PropTypes.arrayOf(RelationTypeType),\n outRelationTypes: PropTypes.arrayOf(RelationTypeType),\n applyFirstByDefault: PropTypes.bool,\n reversedContextLabels: PropTypes.bool,\n onChange: PropTypes.func\n};\n\nexport default ConnectionRelationTypeSelector;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles((theme) => {\n return {\n label: {\n backgroundColor: 'rgba(43,152,240,0.12)',\n fontSize: '12px',\n lineHeight: '15px',\n color: theme.palette.text.primary,\n display: 'flex',\n alignItems: 'center',\n padding: '2px 7px'\n },\n container: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n expanded: {\n marginBottom: '8px'\n }\n };\n});\n\nexport default styles;\n","import React, {forwardRef} from 'react';\nimport classnames from 'classnames';\nimport ArrowExpandButton from '../../ArrowExpandButton/ArrowExpandButton';\n\nimport useStyles from './styles';\n\ntype Props = Omit<React.ComponentPropsWithoutRef<'div'>, 'onClick'> & {\n expanded?: boolean;\n onExpand?: React.MouseEventHandler<HTMLDivElement>;\n};\n\nconst MatchRulesBadge = forwardRef(\n ({children, expanded, onExpand, className, ...otherProps}: Props, ref: React.RefObject<HTMLDivElement>) => {\n const styles = useStyles();\n\n return (\n <div\n onClick={onExpand}\n ref={ref}\n className={classnames(styles.container, className, {[styles.expanded]: expanded})}\n {...otherProps}\n >\n <ArrowExpandButton expanded={expanded} />\n <div className={styles.label}>{children}</div>\n </div>\n );\n }\n);\n\nMatchRulesBadge.displayName = 'MatchRuleBadge';\n\nexport default MatchRulesBadge;\n","import React from 'react';\n\nconst SvgNotMatchRule: 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=\"M3 20h15.002L21 23l1.27-1.27-20-20.01L1 2.99l6.172 6.175a4.007 4.007 0 002.66 2.662l2.23 2.23A10.754 10.754 0 0011 14c-2.67 0-8 1.34-8 4v2zm8-16a3.987 3.987 0 00-2.795 1.137l5.656 5.659A3.999 3.999 0 0011 4z\"\n fill=\"#000\"\n fillOpacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgNotMatchRule;\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n notMatch: {\n display: 'flex',\n '& svg': {\n width: '14px',\n height: '14px'\n }\n }\n});\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport NotMatchRuleIcon from '../../../icons/NotMatchRule';\nimport {useStyles} from './styles';\n\nconst NotMatchRule = () => {\n const styles = useStyles();\n return (\n <div className={styles.notMatch}>\n <NotMatchRuleIcon /> {i18n.text('Not a match')}\n </div>\n );\n};\n\nexport default NotMatchRule;\n","import React from 'react';\nimport {\n Entity,\n getMatchRules,\n getTransitiveMatchRules,\n isTransitiveMatch,\n Metadata,\n Match,\n EntitiesMap,\n NOT_MATCH\n} from '@reltio/mdm-sdk';\n\nimport SimpleMatchRulesBlock from './SimpleMatchRulesBlock/SimpleMatchRulesBlock';\nimport TransitiveMatchBlock from './TransitiveMatchBlock/TransitiveMatchBlock';\nimport SimpleMatchRulesBuilder from './SimpleMatchRulesBuilder/SimpleMatchRulesBuilder';\nimport NotMatchRule from './NotMatchRule/NotMatchRule';\nimport {MatchRuleVariant} from './types';\n\ntype Props = {\n entitiesMap: EntitiesMap;\n entity: Entity;\n match: Match;\n metadata: Metadata;\n variant?: MatchRuleVariant;\n};\n\nconst MatchRulesBlock = ({entitiesMap, entity, match, metadata, variant = MatchRuleVariant.all}: Props) => {\n if (!match.matchRules && !match.negativeRules) {\n return null;\n }\n const isTransitive = isTransitiveMatch(match);\n const matchRules = getMatchRules(metadata, entity.type, (match.matchRules || []).concat(match.negativeRules || []));\n const rules = matchRules.filter(({uri}) => uri !== NOT_MATCH);\n const hasNotMatch = rules.length !== matchRules.length;\n const showSimple = !isTransitive && !hasNotMatch;\n const showNotMatch = hasNotMatch && variant !== MatchRuleVariant.excludeNotMatch;\n\n return (\n <>\n {isTransitive ? (\n <TransitiveMatchBlock\n transitiveMatchRules={getTransitiveMatchRules(metadata, match, entitiesMap)}\n matchRuleSummaries={match.matchRuleSummaries}\n />\n ) : null}\n {showSimple ? (\n <SimpleMatchRulesBuilder\n variant={variant}\n matchRules={matchRules}\n matchRuleSummaries={match.matchRuleSummaries}\n Component={SimpleMatchRulesBlock}\n />\n ) : null}\n {showNotMatch ? <NotMatchRule /> : null}\n </>\n );\n};\n\nexport default MatchRulesBlock;\n","import React from 'react';\nimport i18n from 'ui-i18n';\n\ntype Props = {\n isMlMatch?: boolean;\n};\n\nconst MatchRulesTitle = ({isMlMatch = false}: Props) => {\n return <>{isMlMatch ? i18n.text('Match IQ') : i18n.text('Match rules')}</>;\n};\n\nexport default MatchRulesTitle;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles({\n title: {\n fontWeight: 500,\n marginBottom: '9px'\n },\n body: {\n fontWeight: 'normal',\n marginLeft: '16px'\n },\n container: {\n padding: '8px',\n fontSize: '12px',\n lineHeight: '14px'\n },\n negativeRuleIcon: {\n position: 'relative',\n marginRight: '4px',\n top: '1px'\n }\n});\n\nexport default styles;\n","import React from 'react';\n\nconst SvgNegativeRuleTooltipIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={10} height={10} viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M5 0C2.24 0 0 2.24 0 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm2.5 5.5h-5v-1h5v1z\"\n fill=\"#fff\"\n fillOpacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgNegativeRuleTooltipIcon;\n","import React from 'react';\nimport MatchRulesTitle from '../MatchRulesTitle';\nimport {MatchRules} from '../types';\nimport useStyles from './styles';\nimport NegativeRuleTooltipIcon from '../../../icons/NegativeRuleTooltipIcon';\n\ntype Props = {\n isMlMatch?: boolean;\n matchRules: MatchRules;\n};\n\nconst MatchRulesTooltip = ({isMlMatch = false, matchRules}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.container}>\n <div className={styles.title}>\n <MatchRulesTitle isMlMatch={isMlMatch} />{' '}\n </div>\n <div className={styles.body}>\n {matchRules.map((match) => (\n <div key={match.uri}>\n {'- '}\n {match.negativeRule && <NegativeRuleTooltipIcon className={styles.negativeRuleIcon} />}\n {`${match.label}`}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default MatchRulesTooltip;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles((theme) => ({\n container: {\n fontSize: '13px',\n lineHeight: '15px'\n },\n title: {\n color: theme.palette.text.secondary,\n marginBottom: '7px'\n },\n labelsContainer: {\n color: theme.palette.text.primary,\n marginBottom: '8px'\n },\n negativeRuleIcon: {\n position: 'relative',\n marginRight: '4px',\n top: '1px'\n },\n matchRuleInfo: {\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between'\n },\n matchRuleLabel: {\n wordBreak: 'break-word'\n },\n relevanceScore: {\n marginLeft: '8px',\n color: theme.palette.text.secondary\n }\n}));\n\nexport default styles;\n","import React from 'react';\n\nconst SvgNegativeRuleIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={10} height={10} viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M5 0C2.24 0 0 2.24 0 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm2.5 5.5h-5v-1h5v1z\"\n fill=\"#000\"\n fillOpacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgNegativeRuleIcon;\n","import React from 'react';\nimport classnames from 'classnames';\nimport {getMatchRuleSummary, formatRelevanceScore, MatchRuleSummary} from '@reltio/mdm-sdk';\nimport Tooltip from '@mui/material/Tooltip';\nimport i18n from 'ui-i18n';\nimport MatchRulesTitle from '../MatchRulesTitle';\nimport {MatchRules} from '../types';\nimport useStyles from './styles';\nimport NegativeRuleIcon from '../../../icons/NegativeRuleIcon';\n\ntype Props = {\n isMlMatch?: boolean;\n matchRules: MatchRules;\n className?: string;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nconst SimpleMatchRules = ({isMlMatch, matchRules, className, matchRuleSummaries}: Props) => {\n const styles = useStyles();\n return (\n <div data-reltio-id=\"simple-match-rules\" className={classnames(styles.container, className)}>\n <div className={styles.title}>\n <MatchRulesTitle isMlMatch={isMlMatch} />\n </div>\n <div className={styles.labelsContainer}>\n {matchRules.map((matchRule) => {\n const matchRuleSummary = getMatchRuleSummary(matchRuleSummaries, matchRule.uri);\n const relevancePercentage = formatRelevanceScore(matchRuleSummary);\n return (\n <div className={styles.matchRuleInfo} key={matchRule.uri} data-reltio-id=\"match-rule-info\">\n <div className={styles.matchRuleLabel}>\n {'- '}\n {matchRule.negativeRule && <NegativeRuleIcon className={styles.negativeRuleIcon} />}\n {`${matchRule.label}`}\n </div>\n {relevancePercentage && (\n <Tooltip title={i18n.text('Relevance score')}>\n <div className={styles.relevanceScore}>{relevancePercentage}</div>\n </Tooltip>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default SimpleMatchRules;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles({\n container: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start'\n },\n rulesContainer: {\n marginLeft: '16px',\n width: 'calc(100% - 16px)'\n },\n icon: {\n height: '17px',\n width: '15px',\n marginRight: '5px'\n }\n});\n\nexport default styles;\n","import React from 'react';\n\nconst SvgMlMatch: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg\n width={192}\n height={192}\n viewBox=\"0 0 192 192\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n {...props}\n >\n <defs>\n <linearGradient x1=\"94.582%\" y1=\"6.451%\" x2=\"23.195%\" y2=\"83.323%\" id=\"MLMatch_svg__b\">\n <stop stopColor=\"#CDE1FF\" offset=\"0%\" />\n <stop stopColor=\"#AFFBF4\" offset=\"100%\" />\n </linearGradient>\n <linearGradient x1=\"94.582%\" y1=\"6.594%\" x2=\"23.195%\" y2=\"83.214%\" id=\"MLMatch_svg__d\">\n <stop stopColor=\"#FFF\" offset=\"0%\" />\n <stop stopColor=\"#FDFFFF\" offset=\"100%\" />\n </linearGradient>\n <linearGradient x1=\"93.837%\" y1=\"55.274%\" x2=\"29.292%\" y2=\"-20.431%\" id=\"MLMatch_svg__g\">\n <stop stopColor=\"#FFFCC7\" stopOpacity={0} offset=\"0%\" />\n <stop stopColor=\"#FFF470\" offset=\"100%\" />\n </linearGradient>\n <linearGradient x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"98.152%\" id=\"MLMatch_svg__i\">\n <stop stopColor=\"#83D6FF\" offset=\"0%\" />\n <stop stopColor=\"#72B9EF\" offset=\"100%\" />\n </linearGradient>\n <path\n d=\"M1.821 66.003L34.263 9.94C36.633 5.813 45.673.594 51.398.072l64.445-.064c5.06-.241 14.821 5.084 17.888 10.395l31.467 54.503c3.186 5.518 2.765 16.592-.13 22.117l-30.948 53.481c-3.776 5.127-14.165 11.126-19.57 11.328l-62.134.061c-5.51-.264-15.934-5.764-18.758-10.655L1.856 86.155C-.846 81.475-.37 70.648 1.82 66.003z\"\n id=\"MLMatch_svg__a\"\n />\n <path\n d=\"M11.109 67.042l28.713-49.618C41.92 13.77 49.931 9.158 55.006 8.7l57.143.005c4.486-.209 13.147 4.516 15.871 9.223l27.954 48.298c2.83 4.89 2.467 14.696-.095 19.586l-27.391 47.334c-3.343 4.537-12.55 9.84-17.342 10.013l-55.094-.004c-4.886-.24-14.134-5.12-16.643-9.454L11.16 84.889c-2.4-4.147-1.989-13.735-.05-17.847z\"\n id=\"MLMatch_svg__c\"\n />\n <path\n d=\"M.995 0c26.4.684 47.59 22.234 47.59 48.72 0 26.23-23.795 34.53-23.795 56.987 0 3.703-3.011 6.705-6.725 6.705l-17.07-.001V68.985c6.466-1.238 11.353-6.923 11.353-13.75S7.46 42.722.995 41.485V0z\"\n id=\"MLMatch_svg__e\"\n />\n <path\n d=\"M47.353 0l-.087 41.235-.225.003c-7.588.167-13.688 6.37-13.688 13.997 0 7.683 6.19 13.92 13.854 14l-.091 43.265H27.887c-1.894-.56-3.197-1.234-3.91-2.025-.712-.79-1.357-2.275-1.933-4.455l-2.335-10.733c-.354-1.265-.674-2.183-.96-2.753-.286-.57-.784-1.281-1.494-2.134L2.002 70.367c-.846-.949-1.383-1.73-1.61-2.343-.228-.613-.356-1.626-.386-3.038V31.34c-.028-.785.044-1.37.216-1.757.173-.387.566-.848 1.18-1.382L28.368.885c.37-.367.665-.601.885-.704.22-.103.557-.163 1.01-.181h17.09z\"\n id=\"MLMatch_svg__h\"\n />\n </defs>\n <g stroke=\"none\" strokeWidth={1} fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(12 6)\">\n <use fill=\"url(#MLMatch_svg__b)\" xlinkHref=\"#MLMatch_svg__a\" />\n <use fill=\"url(#MLMatch_svg__d)\" opacity={0.5} xlinkHref=\"#MLMatch_svg__c\" />\n </g>\n <g transform=\"translate(69.652 30.765)\">\n <rect fill=\"#363636\" x={15.457} y={132.745} width={21.151} height={23.158} rx={10.576} />\n <path\n d=\"M48.146 118.763v18.93c0 7.198-5.944 13.035-13.277 13.035h-16.71c-7.333 0-13.278-5.837-13.278-13.036v-18.929a13 13 0 01.023-.763h43.22a13 13 0 01.022.763z\"\n fill=\"#717171\"\n />\n <path\n d=\"M41.348 137.2c0 7.199-4.947 13.035-11.048 13.035H16.395c-6.101 0-11.047-5.836-11.047-13.035v-18.965h36V137.2z\"\n fill=\"#828282\"\n />\n <path\n d=\"M47.51 138.235a4 4 0 110 8H4.556a4 4 0 110-8h42.956zm0-11a4 4 0 110 8H4.556a4 4 0 110-8h42.956zm0-11a4 4 0 110 8H4.556a4 4 0 110-8h42.956z\"\n fill=\"#B1B1B1\"\n />\n <path d=\"M24.999 138.234v8h-16v-8h16zm0-11v8h-16v-8h16zm0-11v8h-16v-8h16z\" fill=\"#C5C5C5\" />\n <g transform=\"translate(27)\">\n <mask id=\"MLMatch_svg__f\" fill=\"#fff\">\n <use xlinkHref=\"#MLMatch_svg__e\" />\n </mask>\n <use fill=\"#FFD44B\" xlinkHref=\"#MLMatch_svg__e\" />\n <path\n d=\"M-49 48.729C-49 21.583-27.155 0-.207 0 26.74 0 48.585 21.817 48.585 48.729c0 26.227-23.75 34.525-23.75 56.98a6.708 6.708 0 01-6.713 6.703h-38.208a6.708 6.708 0 01-6.712-6.704C-26.798 85.217-49 75.875-49 48.73z\"\n fill=\"#FFD347\"\n mask=\"url(#MLMatch_svg__f)\"\n />\n <path\n d=\"M-49 48.729C-49 21.583-27.155 0-.207 0 26.74 0 48.585 21.817 48.585 48.729c0 26.227-23.75 34.525-23.75 56.98a6.708 6.708 0 01-6.713 6.703h-38.208a6.708 6.708 0 01-6.712-6.704C-26.798 85.217-49 75.875-49 48.73z\"\n fill=\"#FFDE72\"\n mask=\"url(#MLMatch_svg__f)\"\n />\n <path\n d=\"M11.965 48.645c.17-7.171 7.488-10.693 13.863-6.802 7.245 4.422 4.05 16.311-4.742 16.548l-.268.004h-3.227l-4.608 56.092-5.995-.253 4.413-51.248.185-4.592-10.592.001v-6h10.83l.139-3.585.002-.165zm10.737-1.681c-2.54-1.55-4.64-.58-4.737 1.766l-.005.284-.131 3.38 2.99.001c2.852 0 3.999-3.945 2.011-5.347l-.128-.084z\"\n fill=\"#F3BE13\"\n mask=\"url(#MLMatch_svg__f)\"\n />\n <ellipse\n fill=\"url(#MLMatch_svg__g)\"\n mask=\"url(#MLMatch_svg__f)\"\n cx={-1.89}\n cy={48.245}\n rx={36.534}\n ry={36.667}\n />\n </g>\n </g>\n <g transform=\"translate(45.647 30.765)\">\n <mask id=\"MLMatch_svg__j\" fill=\"#fff\">\n <use xlinkHref=\"#MLMatch_svg__h\" />\n </mask>\n <use fill=\"url(#MLMatch_svg__i)\" xlinkHref=\"#MLMatch_svg__h\" />\n <path\n fill=\"#D6FCFA\"\n fillRule=\"nonzero\"\n opacity={0.5}\n mask=\"url(#MLMatch_svg__j)\"\n d=\"M38.24 11.235v6l-3.55-.001-22.207 22.207h-18.13v-6H9.997l22.207-22.206zM25.682 40.779l13.8 13.799H50v6H36.997L21.439 45.021zM53.311 28.235v6h-13.65l-3.935 4.246-4.4-4.08 5.718-6.166zM14.248 52.235l20.52 20.52h3.695v6h-6.18l-20.52-20.52H-.647v-6zM21.353 84.235h8.95L40.4 94.332h16.753v6H37.915L27.817 90.235z\"\n />\n </g>\n <circle fill=\"#008FD8\" cx={94} cy={86} r={9} />\n </g>\n </svg>\n );\n};\n\nexport default SvgMlMatch;\n","import React, {useCallback, useState} from 'react';\nimport {MatchRuleSummary} from '@reltio/mdm-sdk';\nimport MatchRulesTooltip from '../MatchRulesTooltip/MatchRulesTooltip';\nimport SimpleMatchRules from '../SimpleMatchRules/SimpleMatchRules';\nimport {withTooltip} from '../../../HOCs';\nimport MatchRulesBadge from '../MatchRulesBadge/MatchRulesBadge';\nimport useStyles from './styles';\nimport MLMatchIcon from '../../../icons/MlMatch';\nimport {MatchRules} from '../types';\nimport i18n from 'ui-i18n';\n\nexport const MatchRuleBadgeWithTooltip = withTooltip(MatchRulesBadge);\n\ntype Props = {\n isMlMatch?: boolean;\n matchRules: MatchRules;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nconst SimpleMatchRulesBlock = ({isMlMatch = false, matchRules, matchRuleSummaries}: Props) => {\n const styles = useStyles();\n const [expanded, setExpanded] = useState(false);\n const handleOnExpand = useCallback(() => setExpanded((expand) => !expand), []);\n return (\n <div className={styles.container} data-reltio-id=\"simple-match-rules-block\">\n <MatchRuleBadgeWithTooltip\n tooltipTitle={<MatchRulesTooltip matchRules={matchRules} isMlMatch={isMlMatch} />}\n tooltipPlacement=\"bottom-start\"\n onExpand={handleOnExpand}\n expanded={expanded}\n >\n {isMlMatch ? (\n <>\n <MLMatchIcon className={styles.icon} />\n {i18n.text('Match IQ')}\n </>\n ) : (\n i18n.text('Rules')\n )}\n </MatchRuleBadgeWithTooltip>\n {expanded ? (\n <SimpleMatchRules\n className={styles.rulesContainer}\n matchRules={matchRules}\n isMlMatch={isMlMatch}\n matchRuleSummaries={matchRuleSummaries}\n />\n ) : null}\n </div>\n );\n};\n\nexport default SimpleMatchRulesBlock;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles({\n container: {\n display: 'flex',\n flexDirection: 'column',\n\n '& :not(:last-child)': {\n marginBottom: '2px'\n }\n }\n});\n\nexport default styles;\n","import React from 'react';\nimport {isEmpty} from 'ramda';\nimport {partitionByMlMatch, MatchRuleSummary} from '@reltio/mdm-sdk';\nimport {MatchRules, MatchRuleVariant} from '../types';\nimport useStyles from './styles';\n\ntype Props = {\n matchRules: MatchRules;\n Component: React.ElementType;\n className?: string;\n variant?: MatchRuleVariant;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nconst SimpleMatchRulesBuilder = ({matchRules, Component, variant = MatchRuleVariant.all, ...otherProps}: Props) => {\n const styles = useStyles();\n const [MlMatchRules, otherMatchRules] = partitionByMlMatch(matchRules);\n const {all, simple, excludeNotMatch} = MatchRuleVariant;\n const showSimple = [all, simple, excludeNotMatch].includes(variant) && !isEmpty(otherMatchRules);\n const showML = [all, excludeNotMatch].includes(variant) && !isEmpty(MlMatchRules);\n\n return (\n <div className={styles.container}>\n {showSimple ? <Component matchRules={otherMatchRules} {...otherProps} /> : null}\n {showML ? <Component isMlMatch matchRules={MlMatchRules} {...otherProps} /> : null}\n </div>\n );\n};\n\nexport default SimpleMatchRulesBuilder;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles((theme) => ({\n label: {\n fontSize: '13px',\n lineHeight: '15px',\n color: theme.palette.primary.light\n },\n container: {\n display: 'flex',\n flexDirection: 'column'\n },\n badge: {\n display: 'flex',\n marginBottom: '8px',\n cursor: 'pointer'\n },\n matchLabels: {\n marginLeft: '30px'\n }\n}));\n\nexport default styles;\n","import React, {useCallback, useState} from 'react';\nimport {MatchRuleSummary} from '@reltio/mdm-sdk';\nimport ArrowExpandButton from '../../ArrowExpandButton/ArrowExpandButton';\nimport SimpleMatchRules from '../SimpleMatchRules/SimpleMatchRules';\nimport SimpleMatchRulesBuilder from '../SimpleMatchRulesBuilder/SimpleMatchRulesBuilder';\nimport {MatchRules} from '../types';\nimport useStyles from './styles';\n\ntype Props = {\n label: string;\n matchRules: MatchRules;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nconst TransitiveMatchRule = ({label, matchRules, matchRuleSummaries}: Props) => {\n const styles = useStyles();\n const [expanded, setExpanded] = useState(false);\n const handleOnExpand = useCallback(() => setExpanded((expand) => !expand), []);\n\n return (\n <div data-reltio-id=\"transitive-match-rule\" className={styles.container}>\n <div onClick={handleOnExpand} className={styles.badge}>\n <ArrowExpandButton expanded={expanded} />\n <div className={styles.label}>{label}</div>\n </div>\n {expanded ? (\n <SimpleMatchRulesBuilder\n Component={SimpleMatchRules}\n matchRules={matchRules}\n matchRuleSummaries={matchRuleSummaries}\n className={styles.matchLabels}\n />\n ) : null}\n </div>\n );\n};\n\nexport default TransitiveMatchRule;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles({\n container: {\n display: 'flex',\n flexDirection: 'column',\n\n '& :not(:last-child)': {\n marginBottom: '2px'\n }\n }\n});\n\nexport default styles;\n","import {makeStyles} from '@mui/styles';\n\nconst styles = makeStyles({\n ruleWrapper: {\n paddingTop: '8px'\n },\n label: {\n fontWeight: 500,\n fontSize: '12px'\n }\n});\n\nexport default styles;\n","import React from 'react';\nimport MatchRulesTooltip from '../MatchRulesTooltip/MatchRulesTooltip';\nimport {TransitiveMatchRules} from '../types';\nimport useStyles from './styles';\n\ntype Props = {\n transitiveMatchRules: TransitiveMatchRules;\n};\n\nconst TransitiveMatchRulesTooltip = ({transitiveMatchRules}: Props) => {\n const styles = useStyles();\n return (\n <>\n {transitiveMatchRules.map(({label, matchRules}, index) => {\n return (\n <div key={index} className={styles.ruleWrapper}>\n <div className={styles.label}>{label}</div>\n <MatchRulesTooltip matchRules={matchRules} />\n </div>\n );\n })}\n </>\n );\n};\n\nexport default TransitiveMatchRulesTooltip;\n","import React, {useCallback, useState} from 'react';\nimport i18n from 'ui-i18n';\nimport {MatchRuleSummary} from '@reltio/mdm-sdk';\nimport MatchRulesBadge from '../MatchRulesBadge/MatchRulesBadge';\nimport TransitiveMatchRule from '../TransitiveMatchRules/TransitiveMatchRule';\nimport useStyles from './styles';\nimport {withTooltip} from '../../../HOCs';\nimport {TransitiveMatchRules} from '../types';\nimport TransitiveMatchRulesTooltip from '../TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip';\n\nexport const MatchRuleBadgeWithTooltip = withTooltip(MatchRulesBadge);\n\ntype Props = {\n transitiveMatchRules: TransitiveMatchRules;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nconst TransitiveMatchBlock = ({transitiveMatchRules, matchRuleSummaries}: Props) => {\n const styles = useStyles();\n const [expanded, setExpanded] = useState(false);\n const handleOnExpand = useCallback(() => setExpanded((expand) => !expand), []);\n return (\n <div className={styles.container}>\n <MatchRuleBadgeWithTooltip\n tooltipTitle={<TransitiveMatchRulesTooltip transitiveMatchRules={transitiveMatchRules} />}\n tooltipPlacement=\"bottom-start\"\n onExpand={handleOnExpand}\n expanded={expanded}\n >\n {i18n.text('Transitive matches')}\n </MatchRuleBadgeWithTooltip>\n {expanded\n ? transitiveMatchRules.map((match, index) => {\n return <TransitiveMatchRule key={index} {...match} matchRuleSummaries={matchRuleSummaries} />;\n })\n : null}\n </div>\n );\n};\n\nexport default TransitiveMatchBlock;\n","type MatchRule = {\n uri: string;\n label: string;\n negativeRule?: Record<string, unknown>;\n};\n\nexport type MatchRules = MatchRule[];\nexport enum MatchRuleVariant {\n all = 'all',\n simple = 'simple',\n excludeNotMatch = 'excludeNotMatch'\n}\n\nexport type TransitiveMatchRules = Array<{\n label: string;\n matchRules: MatchRules;\n}>;\n","import React from 'react';\n\nconst SvgMergeDark: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.955 10.955v-3.5l4.5 4.5-4.5 4.5v-3.5h-6.41l-6-6 1.41-1.41 5.41 5.41h5.59zm-11 7.41l-1.41-1.41 3.41-3.41 1.41 1.41-3.41 3.41z\"\n fill=\"#000\"\n fillOpacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgMergeDark;\n","import React, {forwardRef} from 'react';\nimport i18n from 'ui-i18n';\n\nimport MergeIcon from '../../icons/MergeDark';\n\nimport {noop} from '../../core';\nimport {ActionButton, ActionButtonMode} from '../ActionButton/ActionButton';\nimport {useMergeAllRequest} from '../../hooks';\nimport {ApiError, Entity} from '@reltio/mdm-sdk';\n\ntype Props = {\n className?: string;\n entities: Entity[];\n entity: Entity;\n mode?: ActionButtonMode;\n size?: string;\n onMenuClose?: () => void;\n disabled?: boolean;\n onStartRequest?: () => void;\n onFinishRequest?: () => void;\n onSuccess?: () => void;\n onError?: (error?: ApiError) => void;\n};\nexport const MergeButton = forwardRef<HTMLLIElement, Props>(\n (\n {\n className,\n mode = ActionButtonMode.iconButton,\n onMenuClose = noop,\n disabled = false,\n entity,\n entities,\n onStartRequest,\n onFinishRequest,\n onSuccess,\n onError,\n ...otherProps\n }: Props,\n ref\n ) => {\n const {sendMergeAllRequest} = useMergeAllRequest({\n entity,\n entities,\n onStartRequest,\n onFinishRequest,\n onError,\n onSuccess\n });\n\n return (\n <ActionButton\n className={className}\n disabled={disabled}\n mode={mode}\n label={i18n.text('Merge')}\n icon={MergeIcon}\n onClick={sendMergeAllRequest}\n onMenuClose={onMenuClose}\n ref={ref}\n {...otherProps}\n />\n );\n }\n);\n\nMergeButton.displayName = 'mergeButton';\n","import {makeStyles} from '@mui/styles';\n\nconst MAX_WIDTH_SELECT = 200;\nconst SELECT_PADDING_RIGHT = 32;\nconst SELECT_PADDING_LEFT = 12;\nconst CALCULATED_MAX_WIDTH_SELECT = MAX_WIDTH_SELECT - SELECT_PADDING_LEFT - SELECT_PADDING_RIGHT;\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n maxWidth: CALCULATED_MAX_WIDTH_SELECT,\n paddingTop: '9px',\n paddingBottom: '9px',\n '&$outlined': {\n minHeight: '1.1876em'\n }\n },\n outlined: {\n paddingRight: SELECT_PADDING_RIGHT,\n paddingLeft: SELECT_PADDING_LEFT\n },\n arrowIcon: {\n fontSize: '18px',\n top: 'calc(50% - 9px)',\n right: '12px',\n color: theme.palette.text.secondary\n },\n currentValue: {\n display: 'flex',\n alignItems: 'center'\n },\n currentValueIcon: {\n fontSize: '18px',\n marginRight: '8px',\n color: theme.palette.text.secondary\n },\n currentValueText: {\n fontSize: '14px',\n lineHeight: '16px',\n textTransform: 'uppercase',\n fontWeight: 500,\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden'\n },\n menuItem: {\n padding: '9px 12px 7px'\n },\n firstMenuItemButton: {\n borderTop: '1px solid #e4e4e4'\n },\n menuItemInner: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n menuItemIcon: {\n fontSize: '18px',\n color: theme.palette.text.secondary,\n marginRight: '9px'\n },\n menuItemLabel: {\n fontSize: '14px',\n lineHeight: '16px',\n fontWeight: 500,\n color: theme.palette.text.primary\n },\n menuItemDescription: {\n fontSize: '10px',\n lineHeight: '16px',\n color: theme.palette.text.secondary\n }\n}));\n","import React from 'react';\nimport {propEq} from 'ramda';\nimport classnames from 'classnames';\nimport Select, {SelectChangeEvent} from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport Tooltip from '@mui/material/Tooltip';\nimport {useStyles} from './styles';\n\ntype Option = {\n label: string;\n value: string;\n description?: string;\n icon?: React.ElementType;\n};\n\ntype Button = Option & {\n onClick: (value: string) => void;\n};\n\ntype ModeSwitcherSelectProps = {\n optionsGroup?: Option[];\n buttonsGroup?: Button[];\n value: string;\n onChange?: (value: string) => void;\n disabled?: boolean;\n};\n\ntype MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuItem>;\n\nconst isButton = (value: Option | Button): value is Button => 'onClick' in value;\n\nexport const ModeSwitcherSelect = ({\n optionsGroup = [],\n buttonsGroup = [],\n value,\n onChange,\n disabled = false\n}: ModeSwitcherSelectProps) => {\n const styles = useStyles();\n\n const handleChange = (e: SelectChangeEvent<string>) => {\n const {value} = e.target;\n const isOption = optionsGroup.some(propEq('value', value));\n if (isOption) onChange(value);\n };\n\n const renderMenuItems = (items: (Option | Button)[]) => {\n const firstButtonIdx = items.findIndex(isButton);\n\n return items.map((item, idx) => {\n const {value, label, description, icon: IconComponent} = item;\n\n const menuItemProps: MenuItemProps = {\n value: value,\n className: styles.menuItem\n };\n\n if (isButton(item)) {\n menuItemProps.onClick = () => item.onClick(value);\n menuItemProps.className = classnames(menuItemProps.className, {\n [styles.firstMenuItemButton]: idx === firstButtonIdx\n });\n }\n\n return (\n <MenuItem key={value} {...menuItemProps} data-reltio-id={`reltio-profile-select-mode-${value}`}>\n <Box className={styles.menuItemInner}>\n {IconComponent && <IconComponent className={styles.menuItemIcon} />}\n <Box>\n <Typography className={styles.menuItemLabel}>{label}</Typography>\n <Typography className={styles.menuItemDescription}>{description}</Typography>\n </Box>\n </Box>\n </MenuItem>\n );\n });\n };\n\n return (\n <Select\n classes={{\n select: styles.root,\n icon: styles.arrowIcon,\n outlined: styles.outlined\n }}\n value={value}\n onChange={handleChange}\n variant=\"outlined\"\n renderValue={(value) => {\n const {icon: IconComponent, label = value} = optionsGroup.find(propEq('value', value)) || {};\n return (\n <Box className={styles.currentValue}>\n {IconComponent && <IconComponent className={styles.currentValueIcon} />}\n <Tooltip title={label}>\n <Typography className={styles.currentValueText}>{label}</Typography>\n </Tooltip>\n </Box>\n );\n }}\n MenuProps={{\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right'\n }\n }}\n disabled={disabled}\n data-reltio-id=\"reltio-profile-select-mode\"\n >\n {renderMenuItems([...optionsGroup, ...buttonsGroup])}\n </Select>\n );\n};\n","import React from 'react';\n\nconst SvgNotMatchDark: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg width={24} height={24} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17 1.5v3.638h-1.247l-11.03 11H2v2h3.55l11.029-11H17V10.5L21.5 6 17 1.5zM8.844 8.785L5.55 5.5H2v2h2.723l2.707 2.7 1.414-1.415zm4.835 4.822l-1.414 1.414 3.488 3.479H17v3.638l4.5-4.5-4.5-4.5V16.5h-.421l-2.9-2.893z\"\n fill=\"#000\"\n fillOpacity={0.54}\n />\n </svg>\n );\n};\n\nexport default SvgNotMatchDark;\n","import {ApiError, Entity} from '@reltio/mdm-sdk';\nimport {ActionButton, ActionButtonMode} from '../ActionButton/ActionButton';\nimport React, {forwardRef} from 'react';\nimport NotMatchIcon from '../../icons/NotMatchDark';\nimport {noop} from '../../core';\nimport i18n from 'ui-i18n';\nimport {useMarkAsNotMatchRequest} from '../../hooks/useMarkAsNotMatchRequest';\n\ntype Props = {\n className?: string;\n entities: Entity[];\n entity: Entity;\n mode?: ActionButtonMode;\n size?: string;\n onMenuClose?: () => void;\n disabled?: boolean;\n onStartRequest?: () => void;\n onFinishRequest?: () => void;\n onSuccess?: () => void;\n onError?: (error?: ApiError) => void;\n};\nexport const NotMatchButton = forwardRef<HTMLLIElement, Props>(\n (\n {\n className,\n mode = ActionButtonMode.iconButton,\n onMenuClose = noop,\n disabled = false,\n entity,\n entities,\n onStartRequest,\n onFinishRequest,\n onError,\n onSuccess,\n ...otherProps\n }: Props,\n ref\n ) => {\n const {sendMarkAsNotMatchRequest} = useMarkAsNotMatchRequest({\n entity,\n entities,\n onStartRequest,\n onFinishRequest,\n onError,\n onSuccess\n });\n\n return (\n <ActionButton\n className={className}\n disabled={disabled}\n mode={mode}\n label={i18n.text('Not a match')}\n icon={NotMatchIcon}\n onClick={sendMarkAsNotMatchRequest}\n onMenuClose={onMenuClose}\n ref={ref}\n {...otherProps}\n />\n );\n }\n);\n\nNotMatchButton.displayName = 'notMatchButton';\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n image: {\n width: '40px',\n height: '40px'\n },\n info: {\n marginLeft: '12px',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column'\n },\n label: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n fontWeight: 400,\n fontSize: '13px',\n lineHeight: '15px',\n color: theme.palette.primary.main\n },\n secondaryLabel: {\n marginTop: '4px',\n fontWeight: 400,\n fontSize: '10px',\n lineHeight: '12px',\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n link: {\n textDecoration: 'none'\n },\n thirdRow: {\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'center',\n marginTop: 'auto',\n paddingTop: '4px'\n },\n entityId: {\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'baseline',\n whiteSpace: 'nowrap',\n fontWeight: 400,\n fontSize: '12px',\n lineHeight: '16px'\n },\n entityIdLabel: {\n color: theme.palette.text.secondary\n },\n entityIdValue: {\n marginLeft: '8px',\n color: theme.palette.text.primary,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '&[aria-describedby]': {\n cursor: 'pointer',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n }\n}));\n\nexport default useStyles;\n","import React, {useCallback} from 'react';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {Entity, getEntityId, getEntityUriForLink, getLabel} from '@reltio/mdm-sdk';\nimport EntityAvatar from '../../EntityAvatar/EntityAvatar';\nimport EntityUriLink from '../../EntityUriLink/EntityUriLink';\nimport ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueTooltip';\nimport EntityTypeBadge from '../../EntityTypeBadge/EntityTypeBadge';\nimport useStyles from './styles';\n\ntype Props = {\n entity: Entity;\n classes?: {\n label?: string;\n secondaryLabel?: string;\n };\n};\n\nexport const ProfileCardContent = ({entity, classes = {}}: Props) => {\n const styles = useStyles();\n const {secondaryLabel: secondaryLabelClass, label: labelClass} = classes;\n const label = getLabel(entity.label);\n const {secondaryLabel} = entity;\n const handleCopyEntityIdToClipboard = useCallback(() => {\n navigator.clipboard.writeText(getEntityId(entity));\n }, [entity]);\n\n return (\n <>\n <EntityAvatar entity={entity} imageClassName={styles.image} />\n <div className={styles.info}>\n <EntityUriLink value={getEntityUriForLink(entity)} className={styles.link}>\n <ExpandedValueTooltip value={label} placement=\"top\" showOnExceededHeight={true}>\n <div className={classnames(styles.label, labelClass)}>{label}</div>\n </ExpandedValueTooltip>\n </EntityUriLink>\n\n {secondaryLabel && (\n <ExpandedValueTooltip value={secondaryLabel} placement=\"top\" showOnExceededHeight={true}>\n <div className={classnames(styles.secondaryLabel, secondaryLabelClass)}>{secondaryLabel}</div>\n </ExpandedValueTooltip>\n )}\n <div className={styles.thirdRow}>\n <EntityTypeBadge entity={entity} size=\"medium\" />\n <div className={styles.entityId} onClick={handleCopyEntityIdToClipboard}>\n <div className={styles.entityIdLabel}>{i18n.text('ID:')}</div>\n <ExpandedValueTooltip value={`Copy to clipboard ${getEntityId(entity)}`} placement=\"top\">\n <div className={styles.entityIdValue}>{getEntityId(entity)}</div>\n </ExpandedValueTooltip>\n </div>\n </div>\n </div>\n </>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n '@keyframes keyframes-wave': {\n '0%': {\n transform: 'translateX(-100%)'\n },\n '60%': {\n transform: 'translateX(100%)'\n },\n '100%': {\n transform: 'translateX(100%)'\n }\n },\n wave: {\n overflow: 'hidden',\n position: 'relative',\n '&:after': {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n content: '\"\"',\n position: 'absolute',\n animation: '$keyframes-wave 1.6s linear 0.5s infinite',\n transform: 'translateX(-100%)',\n background: 'linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.04), transparent);'\n }\n },\n avatar: {\n flex: 'none',\n width: '40px',\n height: '40px',\n borderRadius: '50%',\n backgroundColor: 'rgba(0, 0, 0, 0.11)'\n },\n info: {\n marginLeft: '12px',\n flex: 'auto'\n },\n label: {\n width: '40%',\n height: '15px',\n borderRadius: '2px',\n backgroundColor: 'rgba(0, 0, 0, 0.11)'\n },\n secondaryLabel: {\n marginTop: '4px',\n width: '100%',\n height: '12px',\n borderRadius: '2px',\n backgroundColor: 'rgba(0, 0, 0, 0.11)'\n },\n thirdRow: {\n marginTop: '4px',\n width: '60%',\n height: '24px',\n borderRadius: '2px',\n backgroundColor: 'rgba(0, 0, 0, 0.11)'\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {useStyles} from './styles';\n\nexport const ProfileCardPlaceholder = () => {\n const styles = useStyles();\n return (\n <>\n <div className={classnames(styles.avatar, styles.wave)} />\n <div className={styles.info}>\n <div className={classnames(styles.label, styles.wave)} />\n <div className={classnames(styles.secondaryLabel, styles.wave)} />\n <div className={classnames(styles.thirdRow, styles.wave)} />\n </div>\n </>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles({\n container: {\n display: 'flex',\n padding: '16px',\n overflow: 'hidden'\n }\n});\n\nexport default useStyles;\n","import React, {memo} from 'react';\nimport classnames from 'classnames';\nimport {Entity} from '@reltio/mdm-sdk';\nimport {ProfileCardContent} from './ProfileCardContent/ProfileCardContent';\nimport {ProfileCardPlaceholder} from './ProfileCardPlaceholder/ProfileCardPlaceholder';\nimport useStyles from './styles';\n\ntype Props = {\n entity: Entity;\n classes?: {\n label?: string;\n secondaryLabel?: string;\n container?: string;\n };\n variant?: 'loading' | 'normal';\n} & React.HTMLAttributes<HTMLDivElement>;\n\nconst ProfileCard = ({entity, classes = {}, variant = 'normal', ...otherProps}: Props) => {\n const styles = useStyles();\n const {container: containerClass} = classes;\n return (\n <div className={classnames(styles.container, containerClass)} {...otherProps}>\n {variant === 'normal' ? (\n <ProfileCardContent entity={entity} classes={classes} />\n ) : (\n <ProfileCardPlaceholder />\n )}\n </div>\n );\n};\n\nexport default memo(ProfileCard);\n","import {makeStyles} from '@mui/styles';\n\nconst useStyles = makeStyles(() => ({\n resizablePanesWrapper: {\n flexGrow: 1,\n height: '100%',\n marginRight: '1px'\n },\n pane: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden'\n }\n}));\n\nexport {useStyles};\n","import React, {useCallback, cloneElement} from 'react';\nimport {ResizablePanes} from '../ResizablePanes/ResizablePanes';\nimport {SideButtonsPanel} from '../SideIconPanel/SideButtonsPanel';\nimport {usePerspectivesSettings} from '../../contexts';\nimport {isNil} from 'ramda';\n\nimport {useStyles} from './styles';\nimport {RightPanelTab} from '../../types';\n\nconst DEFAULT_R_PANE_SIZE = 480;\nconst MIN_R_PANE_SIZE = 320;\nconst MAX_R_PANE_SIZE = 640;\n\ntype Props = {\n perspectiveId: string;\n children: [React.ReactElement, React.ReactElement];\n buttonsProps: Array<RightPanelTab['buttonProps']>;\n disabled?: boolean;\n defaultTab?: number;\n};\n\nexport const ProfileResizablePanes = ({perspectiveId, children, buttonsProps, disabled, defaultTab}: Props) => {\n const styles = useStyles();\n\n const {perspectiveSettings, updatePerspectiveSettings} = usePerspectivesSettings(perspectiveId);\n const {width = DEFAULT_R_PANE_SIZE} = perspectiveSettings || {};\n const active = defaultTab || perspectiveSettings?.active;\n const isSidePanelOpen = !isNil(active) && !disabled;\n\n const handleUpdateSettings = useCallback(\n (newSetting) => {\n updatePerspectiveSettings(newSetting);\n },\n [updatePerspectiveSettings]\n );\n\n const toggleActive = useCallback(\n (newId: number) => {\n const newActive = active === newId ? null : newId;\n handleUpdateSettings({active: newActive});\n },\n [active, handleUpdateSettings]\n );\n\n const resetActive = useCallback((): void => {\n handleUpdateSettings({active: null});\n }, [handleUpdateSettings]);\n\n const handlePaneSizeChange = useCallback(\n ({size}) => {\n handleUpdateSettings({width: size});\n },\n [handleUpdateSettings]\n );\n\n return (\n <>\n <ResizablePanes\n className={styles.resizablePanesWrapper}\n primary=\"second\"\n orientation=\"vertical\"\n size={isSidePanelOpen ? width : 0}\n minSize={MIN_R_PANE_SIZE}\n maxSize={MAX_R_PANE_SIZE}\n allowResize={isSidePanelOpen}\n onChange={handlePaneSizeChange}\n debounceInterval={2500}\n >\n <div className={styles.pane}>{children[0]}</div>\n <div className={styles.pane}>{cloneElement(children[1], {active, onClose: resetActive})}</div>\n </ResizablePanes>\n <SideButtonsPanel\n disabled={disabled}\n buttonsProps={buttonsProps}\n onButtonClick={toggleActive}\n activeIndexId={active}\n />\n </>\n );\n};\n\nProfileResizablePanes.displayName = 'ProfileResizablePanes';\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n badge: {\n background: 'rgba(0, 0, 0, 0.03)',\n borderRadius: '2px',\n padding: '2px 7px',\n fontSize: '12px',\n wordBreak: 'break-word'\n }\n});\n","import React from 'react';\nimport classnames from 'classnames';\nimport {\n getMatchRuleLabel,\n MatchRuleSummary,\n formatRelevanceScore,\n checkMatchRuleSummaryRelevance\n} from '@reltio/mdm-sdk';\nimport Tooltip from '@mui/material/Tooltip';\nimport i18n from 'ui-i18n';\nimport {useMdmEntity, useMdmMetadata} from '../../contexts';\nimport {useStyles} from './styles';\n\ntype Props = {\n className?: string;\n matchRuleSummaries?: MatchRuleSummary[];\n};\n\nexport const RelevanceScoreBadge = ({className, matchRuleSummaries}: Props) => {\n const styles = useStyles();\n const metadata = useMdmMetadata();\n const entity = useMdmEntity();\n const matchRuleSummaryWithBestScore = matchRuleSummaries\n ?.filter(checkMatchRuleSummaryRelevance)\n .sort((a, b) => b.relevance - a.relevance)[0];\n if (!matchRuleSummaryWithBestScore) {\n return null;\n }\n const {uri: matchRule} = matchRuleSummaryWithBestScore;\n const relevancePercentage = formatRelevanceScore(matchRuleSummaryWithBestScore);\n const tooltipTitle = i18n.text('Relevance score based on ${ruleName}', {\n ruleName: getMatchRuleLabel(metadata, entity.type, matchRule)\n });\n return (\n <Tooltip title={tooltipTitle}>\n <div className={classnames(className, styles.badge)}>\n {relevancePercentage}\n {`: ${i18n.text('Relevance score')}`}\n </div>\n </Tooltip>\n );\n};\n","import {alpha} from '@mui/material/styles';\n\nimport {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n width: '64px',\n paddingTop: '8px',\n backgroundColor: theme.palette.background.paper,\n boxShadow: '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.2)'\n },\n active: {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n color: theme.palette.primary.main,\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n height: '42px',\n width: '3px',\n backgroundColor: theme.palette.primary.main,\n left: '-8px',\n borderRadius: '0 6px 6px 0'\n }\n },\n buttonWrapper: {\n position: 'relative',\n width: '48px',\n height: '44px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '6px',\n margin: '2px 8px',\n color: theme.palette.text.secondary\n }\n}));\n","import React, {ElementType} from 'react';\nimport classnames from 'classnames';\nimport {IconButtonProps} from '@mui/material/IconButton';\nimport {SmallIconButtonWithTooltip} from '../SmallIconButton';\nimport {useStyles} from './styles';\n\ntype Props = {\n disabled: boolean;\n buttonsProps: Array<{\n icon: ElementType;\n tooltipTitle: string;\n id: number;\n }>;\n classes?: {active?: string; buttonWrapper?: string} & IconButtonProps['classes'];\n activeIndexId: number;\n className?: string;\n onButtonClick: (id: number) => void;\n};\n\nexport const SideButtonsPanel = ({\n disabled,\n buttonsProps,\n activeIndexId,\n className,\n onButtonClick,\n classes = {}\n}: Props) => {\n const styles = useStyles();\n const {active, buttonWrapper, ...iconButtonClasses} = classes;\n\n return (\n <div className={classnames(styles.container, className)}>\n {buttonsProps.map(({id, ...buttonProps}) => {\n return (\n <SmallIconButtonWithTooltip\n {...buttonProps}\n disabled={disabled}\n classes={iconButtonClasses}\n size=\"S\"\n key={id}\n className={classnames(\n {[classnames(styles.active, active)]: activeIndexId === id},\n styles.buttonWrapper,\n buttonWrapper\n )}\n onClick={() => onButtonClick(id)}\n data-reltio-id={`reltio-profile-right-side-button-${id}`}\n />\n );\n })}\n </div>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles((theme) => ({\n contentWrapper: {\n display: 'flex',\n boxSizing: 'border-box',\n flex: 1,\n flexDirection: 'column',\n backgroundColor: theme.palette.background.paper,\n boxShadow: '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.2)',\n transition: theme.transitions.create(['width'], {\n duration: theme.transitions.duration.enteringScreen\n }),\n height: '100%'\n }\n}));\n","import React, {ReactNode, VFC} from 'react';\nimport {useStyles} from './styles';\n\ntype Props = {\n width?: number;\n open: boolean;\n children: ReactNode;\n};\n\nexport const SidePanel: VFC<Props> = ({width, open, children}) => {\n const styles = useStyles();\n return (\n <div\n className={styles.contentWrapper}\n data-reltio-id=\"side-panel\"\n style={{\n width: width ? `${open ? width : 0}px` : '100%'\n }}\n >\n {open && <>{children}</>}\n </div>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nexport const useStyles = makeStyles({\n container: {\n display: 'flex',\n flexShrink: 0,\n height: '63px',\n alignItems: 'center',\n borderBottom: '1px solid rgba(0,0,0,0.12)'\n },\n icon: {\n margin: '0 12px'\n },\n divider: {\n borderColor: 'rgba(0,0,0,0.12)',\n margin: '19px 17px'\n },\n secondTitle: {\n fontSize: '14px'\n }\n});\n","import React, {ReactNode} from 'react';\nimport CloseIcon from '@mui/icons-material/Close';\nimport {useStyles} from './styles';\nimport Typography from '@mui/material/Typography';\nimport Divider from '@mui/material/Divider';\nimport i18n from 'ui-i18n';\nimport {SmallIconButtonWithTooltip} from '../../SmallIconButton';\n\ntype HeaderProps = {\n mainTitle?: string;\n secondTitle?: string;\n content?: ReactNode;\n rightContent?: ReactNode;\n};\n\ntype Props = HeaderProps & {\n onClose: () => void;\n};\nexport const SidePanelContentHeader = ({onClose, mainTitle, secondTitle, content, rightContent}: Props) => {\n const styles = useStyles();\n return (\n <div className={styles.container}>\n <SmallIconButtonWithTooltip\n size=\"L\"\n icon={CloseIcon}\n onClick={onClose}\n className={styles.icon}\n tooltipTitle={i18n.text('Close')}\n />\n {content || (\n <>\n <Typography variant=\"h6\">{mainTitle}</Typography>\n {secondTitle && (\n <>\n <Divider orientation=\"vertical\" flexItem className={styles.divider} />\n <Typography variant=\"body1\" color=\"textSecondary\" className={styles.secondTitle}>\n {secondTitle}\n </Typography>\n </>\n )}\n {rightContent}\n </>\n )}\n </div>\n );\n};\n","import {makeStyles} from '@mui/styles';\n\nconst iconsWidth = '68px';\n\nexport const useOptionStyles = makeStyles({\n container: {\n display: 'flex',\n alignItems: 'center',\n height: '32px',\n minHeight: '32px',\n padding: 0\n },\n text: {\n display: 'flex',\n width: `calc(100% - ${iconsWidth})`\n },\n textItem: {\n fontSize: '13px',\n lineHeight: '15px',\n marginRight: 10\n },\n primaryTextItem: {\n flex: '1 0',\n flexBasis: 0,\n maxWidth: '50%',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n secondaryTextItem: {\n flex: '1 0',\n flexBasis: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n icons: {\n transform: 'scale(0.5)',\n position: 'relative',\n flexShrink: 0,\n width: iconsWidth,\n bottom: '10px'\n },\n iconTop: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1\n },\n iconBottom: {\n position: 'absolute',\n top: 0,\n left: 26,\n zIndex: 0\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\nimport {useOptionStyles} from './styles';\nimport EntityTypeIcon from '../../../../EntityTypeIcon/EntityTypeIcon';\nimport ExpandedValueTooltip from '../../../../ExpandedValueTooltip/ExpandedValueTooltip';\n\nconst RelationOption = ({innerRef, innerProps, selectOption, data}) => {\n const styles = useOptionStyles();\n const {value, label, startObject, endObject} = data;\n const secondaryLabel = startObject.objectType.label + ' \\u2194 ' + endObject.objectType.label;\n return (\n <MenuItem\n className={styles.container}\n ref={innerRef}\n key={value}\n onClick={() => selectOption({label, value, startObject, endObject})}\n {...innerProps}\n >\n <div className={styles.icons}>\n <EntityTypeIcon className={styles.iconTop} entityType={startObject.objectType} />\n <EntityTypeIcon className={styles.iconBottom} entityType={endObject.objectType} />\n </div>\n <div className={styles.text}>\n <ExpandedValueTooltip value={label}>\n <Typography className={classnames(styles.textItem, styles.primaryTextItem)}>{label}</Typography>\n </ExpandedValueTooltip>\n <ExpandedValueTooltip value={secondaryLabel}>\n <Typography color=\"textSecondary\" className={classnames(styles.textItem, styles.secondaryTextItem)}>\n {secondaryLabel}\n </Typography>\n </ExpandedValueTooltip>\n </div>\n </MenuItem>\n );\n};\n\nRelationOption.propTypes = {\n innerRef: PropTypes.oneOfType([\n PropTypes.oneOf([null]),\n PropTypes.func,\n PropTypes.shape({\n current: PropTypes.any.isRequired\n })\n ]),\n innerProps: PropTypes.object.isRequired,\n selectOption: PropTypes.func.isRequired,\n data: PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n startObject: PropTypes.object,\n endObject: PropTypes.object\n })\n};\n\nexport default RelationOption;\n","import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport i18n from 'ui-i18n';\nimport {identity, defaultTo} from 'ramda';\nimport RelationOption from './components/RelationOption';\nimport DropDownSelector from '../../../DropDownSelector/DropDownSelector';\n\nconst RelationTypeSelector = ({value = {}, options = [], onChange = identity, TextFieldProps, ...otherProps}) => {\n const textFieldProps = useMemo(\n () => ({\n ...defaultTo({}, TextFieldProps),\n ['data-reltio-id']: 'relation-type-selector'\n }),\n [TextFieldProps]\n );\n return (\n <DropDownSelector\n value={value}\n options={options}\n onChange={onChange}\n label={i18n.text('Select relationship type ')}\n components={{Option: RelationOption}}\n TextFieldProps={textFieldProps}\n {...otherProps}\n />\n );\n};\n\nconst ValueType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n startObject: PropTypes.object,\n endObject: PropTypes.object\n});\n\nRelationTypeSelector.propTypes = {\n value: ValueType,\n options: PropTypes.arrayOf(ValueType),\n onChange: PropTypes.func\n};\n\nexport default RelationTypeSelector;\n","import React from 'react';\nimport i18n from 'ui-i18n';\nimport {WorkflowTaskData} from '@reltio/mdm-sdk';\n\nimport DropDownSelector from '../../../DropDownSelector/DropDownSelector';\nimport {useWorkflowAssignee} from '../../hooks/useWorkflowAssignee';\n\ntype Props = Pick<WorkflowTaskData, 'taskId' | 'assignee'> & {\n isTaskOpen?: WorkflowTaskData['isOpen'];\n label?: string;\n onChange?: (assignee) => void;\n showCurrentAssignee?: boolean;\n};\n\nconst AssigneeSelector = ({taskId, assignee, isTaskOpen, label, onChange, showCurrentAssignee = true}: Props) => {\n const {\n assignee: currentAssignee,\n getAssignees,\n updateAssignee,\n updateRequestIsInProgress,\n readOnly\n } = useWorkflowAssignee({\n taskId,\n assignee,\n showCurrentAssignee,\n isOpen: isTaskOpen,\n onChange\n });\n const disabled = updateRequestIsInProgress || readOnly;\n\n return (\n <DropDownSelector\n isDisabled={disabled}\n getOptions={getAssignees}\n onChange={updateAssignee}\n hideSelectedOptions={false}\n label={label || i18n.text('Assigned to')}\n value={currentAssignee}\n defaultOptions={true}\n TextFieldProps={{disabled}}\n height={40}\n />\n );\n};\n\nexport default AssigneeSelector;\n","import React from 'react';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nimport {TaskAction} from '../../hooks/useWorkflowActions';\nimport DropDownMenuButton from '../../../DropDownMenuButton/DropDownMenuButton';\nimport SmallIconButton from '../../../SmallIconButton/SmallIconButton';\n\ntype Props = {\n isInProgress?: boolean;\n actions: TaskAction[];\n};\n\nconst TaskActions = ({actions, isInProgress: disabled}: Props) => {\n return actions.length > 0 ? (\n <DropDownMenuButton\n buttonComponent={SmallIconButton}\n buttonProps={{\n icon: MoreVertIcon,\n size: 'L',\n disabled,\n 'data-reltio-id': 'task-actions'\n }}\n menuId={'workflow-actions'}\n menuItems={actions}\n />\n ) : null;\n};\n\nexport default TaskActions;\n","import {makeStyles} from '@mui/styles';\n\nexport const useCommentStyles = makeStyles((_theme) => ({\n comment: {\n display: 'flex',\n flexDirection: 'row',\n flex: 1,\n marginLeft: '6px'\n },\n avatar: {\n height: '24px',\n width: '24px',\n margin: '3px 13px 0 0'\n },\n icon: {\n fill: '#537280',\n backgroundColor: '#EAEDEE'\n },\n firstLine: {\n display: 'flex',\n flexDirection: 'row'\n },\n info: {\n flex: 1\n },\n author: {\n flex: 1,\n fontWeight: 500,\n color: 'rgba(0,0,0,0.87)',\n fontSize: '13px',\n lineHeight: '15px'\n },\n date: {\n color: 'rgba(0, 0, 0, 0.54)',\n fontSize: '11px',\n marginRight: '17px',\n lineHeight: '15px'\n },\n text: {\n color: 'rgba(0, 0, 0, 0.6)',\n fontSize: '13px',\n wordWrap: 'break-word',\n wordBreak: 'break-all',\n paddingRight: '10px',\n whiteSpace: 'pre-wrap'\n }\n}));\n\nexport const useCollapsedCommentsStyles = makeStyles((_theme) => ({\n circleButton: {\n maxWidth: '14px',\n maxHeight: '14px',\n border: '1px solid rgba(0, 0, 0, 0.3)',\n fontSize: '13px',\n color: 'rgba(0, 0, 0, 0.6)',\n position: 'absolute',\n top: '-11px',\n left: '5px',\n backgroundColor: '#ffffff',\n '&:hover': {\n backgroundColor: '#f7f7f7'\n },\n '&.focused': {\n backgroundColor: '#f7f7f7'\n }\n },\n\n delimiter: {\n position: 'relative',\n height: '4px',\n borderTop: '1px solid rgba(0, 0, 0, 0.3)',\n borderBottom: '1px solid rgba(0, 0, 0, 0.3)',\n margin: '15px 0 24px 0'\n }\n}));\nexport const useWorkflowStyles = makeStyles((_theme) => ({\n container: {\n padding: '5px 0',\n display: 'flex',\n flexDirection: 'column'\n },\n commentsContainer: {\n maxHeight: '300px',\n overflowY: 'auto'\n },\n title: {\n margin: '0 0 8px 5px',\n fontSize: '14px',\n color: 'rgba(0, 0, 0, 0.87)'\n },\n filledInputRoot: {\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n padding: '10px 6px',\n minHeight: '40px',\n margin: '10px 17px 0 6px',\n fontSize: '14px',\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n },\n '&.focused': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n },\n modeSwitcherWrapper: {\n marginLeft: 'auto',\n marginRight: '16px',\n marginTop: '8px'\n },\n sendButton: {\n alignSelf: 'end',\n marginBottom: '10px'\n }\n}));\n\nexport const useExpandedComments = makeStyles((_theme) => ({\n messageContainer: {\n borderBottom: '1px solid rgba(0,0,0,0.3)',\n paddingBottom: '7px',\n marginBottom: '7px'\n }\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Avatar from '@mui/material/Avatar';\nimport Person from '@mui/icons-material/Person';\nimport i18n from 'ui-i18n';\nimport classnames from 'classnames';\nimport {useCommentStyles} from './styles';\n\nexport const Comment = ({author, classes, message, time}) => {\n const styles = useCommentStyles();\n return (\n <div className={styles.comment}>\n <Avatar className={styles.avatar}>\n <Person className={styles.icon} />\n </Avatar>\n <div className={classnames(styles.info, classes.messageContainer)}>\n <div className={styles.firstLine}>\n <div className={styles.author}>{author}</div>\n <span className={styles.date}>{i18n.date(time, 'L LT')}</span>\n </div>\n <div className={styles.text}>{message}</div>\n </div>\n </div>\n );\n};\nComment.defaultProps = {\n classes: {}\n};\nComment.propTypes = {\n classes: PropTypes.object,\n author: PropTypes.string,\n id: PropTypes.string,\n message: PropTypes.string,\n time: PropTypes.number\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from '@mui/material/IconButton';\nimport {Comment} from './Comment';\nimport {useCollapsedCommentsStyles} from './styles';\n\nexport const CollapsedComments = ({comments, onClick}) => {\n const styles = useCollapsedCommentsStyles();\n return (\n <>\n <Comment {...comments[0]} />\n <div className={styles.delimiter}>\n <IconButton className={styles.circleButton} onClick={onClick} size=\"large\">\n {comments.length - 2}\n </IconButton>\n </div>\n <Comment {...comments[comments.length - 1]} />\n </>\n );\n};\nCollapsedComments.propTypes = {\n comments: PropTypes.arrayOf(\n PropTypes.shape({\n author: PropTypes.string,\n id: PropTypes.string,\n message: PropTypes.string,\n time: PropTypes.number\n })\n ),\n onClick: PropTypes.func\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Comment} from './Comment';\nimport {useExpandedComments} from './styles';\n\nexport const ExpandedComments = ({comments}) => {\n const styles = useExpandedComments();\n return comments.map(({author, id, message, time}) => (\n <Comment\n classes={{messageContainer: styles.messageContainer}}\n key={id}\n author={author}\n message={message}\n time={time}\n />\n ));\n};\nExpandedComments.propTypes = {\n comments: PropTypes.arrayOf(\n PropTypes.shape({\n author: PropTypes.string,\n id: PropTypes.string,\n message: PropTypes.string,\n time: PropTypes.number\n })\n )\n};\n","import React, {useCallback, useState, useMemo, KeyboardEvent} from 'react';\nimport {pipe} from 'ramda';\nimport Input from '@mui/material/Input';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport SendIcon from '@mui/icons-material/Send';\nimport i18n from 'ui-i18n';\nimport {WorkflowAction, WorkflowComment} from '@reltio/mdm-sdk';\nimport Button from '@mui/material/Button';\nimport {CollapsedComments} from './CollapsedComments';\nimport {ExpandedComments} from './ExpandedComments';\nimport {useWorkflowStyles} from './styles';\nimport {useWorkflowComments} from '../../hooks/useWorkflowComments';\nimport {SmallIconButton} from '../../../SmallIconButton';\nimport {TaskAction} from '../../hooks/useWorkflowActions';\nimport {ModeSwitcherSelect} from '../../../ModeSwitcherSelect/ModeSwitcherSelect';\n\nconst getValue = (e) => e.target.value;\n\ntype Props = {\n actionRequestIsInProgress?: boolean;\n workflowActions: TaskAction[];\n processInstanceComments: WorkflowComment[];\n taskId: string;\n isTaskOpen: boolean;\n preferredAction: WorkflowAction;\n};\n\nexport const WorkflowComments = ({\n workflowActions: actions,\n actionRequestIsInProgress,\n processInstanceComments,\n taskId,\n isTaskOpen,\n preferredAction\n}: Props) => {\n const styles = useWorkflowStyles();\n const [expanded, setExpanded] = useState(false);\n const [comment, setComment] = useState('');\n const [currentAction, setCurrentAction] = useState(preferredAction.label);\n const {comments, writeComment, readOnly} = useWorkflowComments({\n processInstanceComments,\n taskId,\n isOpen: isTaskOpen\n });\n\n const sendComment = useCallback(() => {\n writeComment(comment);\n setComment('');\n }, [comment, writeComment]);\n const onChange = pipe(getValue, setComment);\n\n const onKeyPressHandler = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n if (comment.length > 0 && !e.shiftKey) {\n e.preventDefault();\n sendComment();\n }\n if (comment.length > 0 && e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n };\n\n const BUTTONS_GROUP = useMemo(\n () => [\n ...actions.map(({text, onClick}) => ({\n label: text,\n onClick: () => {\n setCurrentAction(text);\n onClick(comment);\n },\n value: text\n }))\n ],\n [actions, comment]\n );\n\n return (\n <div className={styles.container}>\n <div className={styles.title}> {i18n.text('Comments')} </div>\n <div className={styles.commentsContainer}>\n {expanded || comments.length < 3 ? (\n <ExpandedComments comments={comments} />\n ) : (\n <CollapsedComments onClick={() => setExpanded(true)} comments={comments} />\n )}\n </div>\n {!readOnly && (\n <Input\n endAdornment={\n <InputAdornment position=\"end\" className={styles.sendButton}>\n <SmallIconButton\n icon={SendIcon}\n disabled={comment.length === 0}\n onClick={sendComment}\n data-reltio-id=\"send-button\"\n />\n </InputAdornment>\n }\n classes={{root: styles.filledInputRoot}}\n placeholder={i18n.text('Write a comment')}\n value={comment}\n onKeyPress={onKeyPressHandler}\n onChange={onChange}\n disableUnderline\n multiline\n />\n )}\n <div className={styles.modeSwitcherWrapper}>\n {BUTTONS_GROUP.length === 1 && (\n <Button variant=\"outlined\" onClick={BUTTONS_GROUP[0].onClick} disabled={actionRequestIsInProgress}>\n {BUTTONS_GROUP[0].label}\n </Button>\n )}\n {BUTTONS_GROUP.length > 1 && (\n <ModeSwitcherSelect\n buttonsGroup={BUTTONS_GROUP}\n value={currentAction}\n disabled={actionRequestIsInProgress}\n />\n )}\n </div>\n </div>\n );\n};\n","import i18n from 'ui-i18n';\nimport {ApiError, ApiErrorCode, WorkflowApiError} from '@reltio/mdm-sdk';\nimport ErrorPopup from '../../ErrorPopup/ErrorPopup';\n\nexport const showApiError = (error: ApiError = {}) => {\n console.error(error); // eslint-disable-line\n ErrorPopup.addError({\n title: i18n.text('Error'),\n message: error.errorMessage || i18n.text('Something went wrong...')\n });\n};\n\nexport const showWorkflowError = (apiError: WorkflowApiError = {}) => {\n const error = apiError.error;\n if (error?.errorCode === ApiErrorCode.WORKFLOW_IS_NOT_REGISTERED_ERROR) {\n return;\n }\n showApiError(error);\n};\n","import {pipe, startsWith, isNil, unless, split, nth} from 'ramda';\nimport {WorkflowTaskData} from '@reltio/mdm-sdk';\n\nconst getDCRUri = (objectUris: string[] = []): string => objectUris.find(startsWith('changeRequests/'));\n\nconst getDCRId = (objectUris: string[] = []): string =>\n pipe(getDCRUri, unless(isNil, pipe(split('/'), nth(1))))(objectUris);\n\nconst isOpenTask = (isOpen: WorkflowTaskData['isOpen']) => isOpen === undefined || isOpen === true;\n\nexport {getDCRUri, getDCRId, isOpenTask};\n","import {useCallback, useContext, useMemo, useState, MouseEventHandler} from 'react';\nimport {runTaskAction, WorkflowTaskData} from '@reltio/mdm-sdk';\nimport {showWorkflowError} from '../helpers/errors';\nimport {isOpenTask} from '../helpers';\nimport {WorkflowTasksContext, useMdmTenant, useMdmUsername, useMdmWorkflowEnvironmentUrl, useMdmWorkflowPath} from '../../../contexts';\n\nexport type TaskAction = {text: string; onClick: (comment: string) => void};\n\ntype Props = Pick<WorkflowTaskData, 'taskId' | 'possibleActions' | 'assignee' | 'isOpen'>;\nexport const useWorkflowActions = ({possibleActions, assignee, taskId, isOpen}: Props) => {\n const {onActionSuccess} = useContext(WorkflowTasksContext) || {};\n const workflowPath = useMdmWorkflowPath();\n const environment = useMdmWorkflowEnvironmentUrl();\n const tenant = useMdmTenant();\n const username = useMdmUsername();\n const [actionRequestIsInProgress, setActionRequestIsInProgress] = useState(false);\n\n const performTaskAction = useCallback(\n (action: string) => (comment: string | MouseEventHandler<HTMLButtonElement>) => {\n if (workflowPath && taskId) {\n setActionRequestIsInProgress(true);\n const processInstanceComment = typeof comment === 'string' && comment.length ? comment : undefined;\n\n runTaskAction({\n taskId,\n workflowPath,\n environment,\n tenant,\n action,\n processInstanceComment\n })\n .then(() => {\n onActionSuccess?.(action);\n })\n .catch(showWorkflowError)\n .finally(() => {\n setActionRequestIsInProgress(false);\n });\n }\n },\n [workflowPath, taskId, environment, tenant, onActionSuccess]\n );\n\n const actions: TaskAction[] = useMemo(\n () =>\n username === assignee && isOpenTask(isOpen)\n ? (possibleActions || []).map(({action, label}) => ({\n text: label,\n onClick: performTaskAction(action)\n }))\n : [],\n [possibleActions, performTaskAction, username, assignee, isOpen]\n );\n return {actions, actionRequestIsInProgress};\n};\n","import {useState, useEffect, useCallback, useContext} from 'react';\nimport {filter} from 'ramda';\nimport {getAssigneeForTask, updateAssigneeForTask, utils, WorkflowTaskData} from '@reltio/mdm-sdk';\nimport {useSafePromise} from '../../../hooks';\nimport {WorkflowTasksContext, useMdmTenant, useMdmWorkflowEnvironmentUrl, useMdmWorkflowPath} from '../../../contexts';\nimport {showWorkflowError} from '../helpers/errors';\nimport {useWorkflowCheckPermission} from './useWorkflowCheckPermission';\nimport {isOpenTask} from '../helpers';\n\ntype AssigneeOption = {label: string; value: string};\n\nconst assigneeToValue = (assignee: string): AssigneeOption => ({\n label: assignee,\n value: assignee\n});\n\ntype Props = Partial<Pick<WorkflowTaskData, 'taskId' | 'assignee' | 'isOpen'>> & {\n onChange?: (assignee) => void;\n showCurrentAssignee?: boolean;\n};\n\nexport const useWorkflowAssignee = ({assignee, showCurrentAssignee = true, taskId, isOpen, onChange}: Props) => {\n const {updateTaskState} = useContext(WorkflowTasksContext) || {};\n const workflowPath = useMdmWorkflowPath();\n const environment = useMdmWorkflowEnvironmentUrl();\n const tenant: string = useMdmTenant();\n const updateSafePromise = useSafePromise();\n const getSafePromise = useSafePromise();\n const [currentAssignee, setCurrentAssignee] = useState<AssigneeOption>(null);\n const [assignees, setAssignees] = useState<AssigneeOption[]>();\n const [updateRequestIsInProgress, setUpdateRequestIsInProgress] = useState(false);\n const checkWorkflowPermission = useWorkflowCheckPermission();\n const canUpdateTask = checkWorkflowPermission('UPDATE_TASK') && isOpenTask(isOpen);\n\n useEffect(() => {\n showCurrentAssignee && setCurrentAssignee(assigneeToValue(assignee));\n }, [assignee]);\n const getAssignees = useCallback(\n (text) => {\n if (workflowPath && canUpdateTask && taskId) {\n const filterOutRest: <T>(items: T[]) => T[] = filter((item) => item.value.toLowerCase().includes(text));\n if (assignees) {\n return Promise.resolve(filterOutRest(assignees));\n }\n return getSafePromise(\n getAssigneeForTask({\n taskId,\n workflowPath,\n environment,\n tenant\n })\n )\n .then((result) => {\n const {data} = result;\n const assignees = data\n .filter((a) => (showCurrentAssignee ? true : a !== assignee))\n .sort((a, b) => {\n return utils.strings.sort('asc', a, b);\n })\n .map(assigneeToValue);\n setAssignees(assignees);\n return filterOutRest(assignees);\n })\n .catch(showWorkflowError);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n workflowPath,\n taskId,\n environment,\n tenant,\n assignees,\n setAssignees,\n canUpdateTask,\n assignee,\n showCurrentAssignee\n ]\n );\n const updateAssignee = useCallback(\n (newValue: AssigneeOption) => {\n const {value: assignee} = newValue;\n if (onChange) {\n setCurrentAssignee(assigneeToValue(assignee));\n onChange(assignee);\n }\n if (!onChange && workflowPath && canUpdateTask && taskId) {\n setUpdateRequestIsInProgress(true);\n updateSafePromise(\n updateAssigneeForTask({\n taskId,\n workflowPath,\n environment,\n tenant,\n assignee\n })\n )\n .then(() => {\n setCurrentAssignee(assigneeToValue(assignee));\n updateTaskState?.(taskId, {assignee});\n })\n .catch(showWorkflowError)\n .finally(() => {\n setUpdateRequestIsInProgress(false);\n });\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [workflowPath, taskId, environment, tenant, canUpdateTask, onChange]\n );\n return {\n assignee: currentAssignee,\n getAssignees,\n updateAssignee,\n updateRequestIsInProgress,\n readOnly: !canUpdateTask\n };\n};\n","import {useMdmTenant, useMdmUser, useMdmWorkflowPath} from '../../../contexts';\nimport {\n canUserStartProcessInstanceFromQuery as checkCanUserStartProcessInstanceFromQuery,\n canUserViewWorkflowJobs as checkCanUserViewWorkflowJobs,\n canUserViewWorkflowEnvironmentConfigJar as checkCanUserViewWorkflowEnvironmentConfigJar,\n canUserViewWorkflowDefinition as checkCanUserViewWorkflowDefinition,\n canUserViewWorkflowConfigJar as checkCanUserViewWorkflowConfigJar,\n canUserViewProcessInstanceSearchQuery as checkCanUserViewProcessInstanceSearchQuery,\n canUserUpdateWorkflowDataTask as checkCanUserUpdateWorkflowDataTask,\n canUserUpdateProcessInstance as checkCanUserUpdateProcessInstance,\n canUserReadWorkflowDataTask as checkCanUserReadWorkflowDataTask,\n canUserManageWorkflowEnvironmentDefinition as checkCanUserManageWorkflowEnvironmentDefinition,\n canUserManageWorkflowDefinition as checkCanUserManageWorkflowDefinition,\n canUserExecuteWorkflowJobsValidateTasks as checkCanUserExecuteWorkflowJobsValidateTasks,\n canUserExecuteWorkflowJobsUpdateTasks as checkCanUserExecuteWorkflowJobsUpdateTasks,\n canUserExecuteWorkflowJobsTerminateProcessInstance as checkCanUserExecuteWorkflowJobsTerminateProcessInstance,\n canUserExecuteWorkflowJobsSyncBusinessProcessData as checkCanUserExecuteWorkflowJobsSyncBusinessProcessData,\n canUserExecuteWorkflowJobs as checkCanUserExecuteWorkflowJobs,\n canUserCreateWorkflowEnvironmentConfigJar as checkCanUserCreateWorkflowEnvironmentConfigJar,\n canUserRegisterConfigEnvironments as checkCanUserRegisterConfigEnvironments,\n canUserCreateWorkflowConfigJar as checkCanUserCreateWorkflowConfigJar\n} from '@reltio/mdm-sdk';\n\nexport const useWorkflowCheckPermission: () => (permission: string) => boolean = () => {\n const tenant = useMdmTenant();\n const user = useMdmUser();\n const workflowPath = useMdmWorkflowPath();\n\n const canUserStartProcessFromQuery = checkCanUserStartProcessInstanceFromQuery(user, tenant);\n const canUserViewWorkflowJobs = checkCanUserViewWorkflowJobs(user, tenant);\n const canUserViewWorkflowEnvironmentConfigJar = checkCanUserViewWorkflowEnvironmentConfigJar(user, tenant);\n const canUserViewWorkflowDefinition = checkCanUserViewWorkflowDefinition(user, tenant);\n const canUserViewWorkflowConfigJar = checkCanUserViewWorkflowConfigJar(user, tenant);\n const canUserViewProcessInstanceSearchQuery = checkCanUserViewProcessInstanceSearchQuery(user, tenant);\n const canUserUpdateWorkflowDataTask = checkCanUserUpdateWorkflowDataTask(user, tenant);\n const canUserUpdateProcessInstance = checkCanUserUpdateProcessInstance(user, tenant);\n const canUserReadWorkflowDataTask = checkCanUserReadWorkflowDataTask(user, tenant);\n const canUserManageWorkflowEnvironmentDefinition = checkCanUserManageWorkflowEnvironmentDefinition(user, tenant);\n const canUserManageWorkflowDefinition = checkCanUserManageWorkflowDefinition(user, tenant);\n const canUserExecuteWorkflowJobsValidateTasks = checkCanUserExecuteWorkflowJobsValidateTasks(user, tenant);\n const canUserExecuteWorkflowJobsUpdateTasks = checkCanUserExecuteWorkflowJobsUpdateTasks(user, tenant);\n const canUserExecuteWorkflowJobsTerminateProcessInstance = checkCanUserExecuteWorkflowJobsTerminateProcessInstance(\n user,\n tenant\n );\n const canUserExecuteWorkflowJobsSyncBusinessProcessData = checkCanUserExecuteWorkflowJobsSyncBusinessProcessData(\n user,\n tenant\n );\n const canUserExecuteWorkflowJobs = checkCanUserExecuteWorkflowJobs(user, tenant);\n const canUserCreateWorkflowEnvironmentConfigJar = checkCanUserCreateWorkflowEnvironmentConfigJar(user, tenant);\n const canUserRegisterConfigEnvironments = checkCanUserRegisterConfigEnvironments(user, tenant);\n const canUserCreateWorkflowConfigJar = checkCanUserCreateWorkflowConfigJar(user, tenant);\n\n const checkWorkflowPermission = (permission: string) => {\n if (!workflowPath) return false;\n switch (permission) {\n case 'VIEW_PROCESS_DEFINITIONS': {\n return canUserViewWorkflowDefinition;\n }\n case 'DEPLOY_GENERIC_PROCESS_DEFINITION': {\n return canUserManageWorkflowEnvironmentDefinition;\n }\n case 'VIEW_JOBS': {\n return canUserViewWorkflowJobs;\n }\n case 'START_JOB': {\n return (\n canUserExecuteWorkflowJobs ||\n (canUserExecuteWorkflowJobsSyncBusinessProcessData &&\n canUserExecuteWorkflowJobsTerminateProcessInstance &&\n canUserExecuteWorkflowJobsUpdateTasks &&\n canUserExecuteWorkflowJobsValidateTasks)\n );\n }\n case 'VIEW_CUSTOM_JARS': {\n return canUserViewWorkflowConfigJar || canUserViewWorkflowEnvironmentConfigJar;\n }\n case 'UPDATE_PROCESS_INSTANCE': {\n return canUserUpdateProcessInstance;\n }\n case 'VIEW_TASKS': {\n return canUserReadWorkflowDataTask;\n }\n case 'REGISTER_TENANT': {\n return canUserRegisterConfigEnvironments;\n }\n case 'START_PROCESS_INSTANCE': {\n return canUserStartProcessFromQuery;\n }\n case 'VIEW_PROCESS_INSTANCE_COMMENTS': {\n return canUserViewProcessInstanceSearchQuery;\n }\n case 'VIEW_PROCESS_INSTANCES': {\n return canUserViewProcessInstanceSearchQuery;\n }\n case 'UPDATE_TASK': {\n return canUserUpdateWorkflowDataTask;\n }\n case 'DEPLOY_TENANT_PROCESS_DEFINITION': {\n return canUserManageWorkflowDefinition;\n }\n case 'DEPLOY_CUSTOM_JAR': {\n return canUserCreateWorkflowConfigJar && canUserCreateWorkflowEnvironmentConfigJar;\n }\n case 'START_PROCESS_INSTANCE_SEARCH_QUERY': {\n return canUserStartProcessFromQuery;\n }\n case 'VIEW_PROCESS_INSTANCE_COUNT': {\n return canUserViewProcessInstanceSearchQuery;\n }\n }\n return false;\n };\n return checkWorkflowPermission;\n};\n","import {useState, useEffect, useCallback, useContext} from 'react';\nimport {addCommentForTask, getTaskById, WorkflowTaskData} from '@reltio/mdm-sdk';\nimport {useSafePromise} from '../../../hooks';\nimport {WorkflowTasksContext} from '../../../contexts/WorkflowTasksContext';\nimport {showWorkflowError} from '../helpers/errors';\nimport {useWorkflowCheckPermission} from './useWorkflowCheckPermission';\nimport {isOpenTask} from '../helpers';\nimport {useMdmTenant, useMdmWorkflowEnvironmentUrl, useMdmWorkflowPath} from '../../../contexts';\n\ntype Props = Pick<WorkflowTaskData, 'processInstanceComments' | 'taskId' | 'isOpen'>;\n\nexport const useWorkflowComments = ({processInstanceComments, taskId, isOpen}: Props) => {\n const {updateTaskState} = useContext(WorkflowTasksContext) || {};\n const workflowPath = useMdmWorkflowPath();\n const environment = useMdmWorkflowEnvironmentUrl();\n const tenant = useMdmTenant();\n const safePromise = useSafePromise();\n const [comments, setComments] = useState([]);\n const [requestIsInProgress, setRequestIsInProgress] = useState(false);\n const checkWorkflowPermission = useWorkflowCheckPermission();\n const canUpdateTask = checkWorkflowPermission('UPDATE_TASK') && isOpenTask(isOpen);\n useEffect(() => {\n setComments(processInstanceComments || []);\n }, [processInstanceComments]);\n\n const writeComment = useCallback(\n (comment) => {\n if (canUpdateTask) {\n setRequestIsInProgress(true);\n safePromise(\n addCommentForTask({\n workflowPath,\n environment,\n tenant,\n taskId,\n comment\n }).then(() =>\n getTaskById({\n workflowPath,\n environment,\n tenant,\n taskId\n })\n )\n )\n .then(({processInstanceComments}) => {\n setComments(processInstanceComments || []);\n updateTaskState?.(taskId, {processInstanceComments});\n })\n .catch(showWorkflowError)\n .finally(() => setRequestIsInProgress(false));\n }\n },\n [environment, taskId, tenant, workflowPath, safePromise, updateTaskState, canUpdateTask]\n );\n return {comments, requestIsInProgress, writeComment, readOnly: !canUpdateTask};\n};\n","import {useCallback, useContext} from 'react';\nimport {ViewIdContext, WorkflowTasksContext, useMdmAction, useMdmEntityUri} from '../../../contexts';\n\nexport const useWorkflowDefaultActionSuccessHandler = () => {\n const {loadTasks} = useContext(WorkflowTasksContext) || {};\n const viewId = useContext(ViewIdContext);\n const loadEntity = useMdmAction('loadEntity');\n const entityDeletionFinished = useMdmAction('entityDeletionFinished');\n const entityUri = useMdmEntityUri();\n\n return useCallback(\n (action: string) => {\n if (action === 'Delete') {\n entityDeletionFinished();\n } else {\n // entity refreshing\n loadEntity({viewId, uri: entityUri});\n loadTasks?.();\n }\n },\n [entityUri, loadTasks, viewId, loadEntity, entityDeletionFinished]\n );\n};\n","import React, {useCallback, useContext} from 'react';\nimport {PerspectivesSettings, PerspectiveSettingItem} from '../../types';\n\ntype PerspectivesSettingsProps = {\n settings: PerspectivesSettings;\n onChange: (perspectiveId: string, newSetting: Partial<PerspectiveSettingItem>) => void;\n};\n\nexport const PerspectivesSettingsContext = React.createContext<PerspectivesSettingsProps>({\n settings: {},\n onChange: () => {}\n});\n\nPerspectivesSettingsContext.displayName = 'PerspectivesSettingsContext';\n\nexport const usePerspectivesSettings = (perspectiveId: string) => {\n const {settings, onChange} = useContext(PerspectivesSettingsContext) || {};\n const perspectiveSettings = settings?.[perspectiveId];\n\n const updatePerspectiveSettings = useCallback(\n (newSetting: Partial<PerspectiveSettingItem>) => {\n onChange(perspectiveId, newSetting);\n },\n [perspectiveId, onChange]\n );\n\n return {updatePerspectiveSettings, perspectiveSettings};\n};\n","import React from 'react';\n\nexport const SnackbarContext = React.createContext<(message: string) => void>(() => {});\n\nSnackbarContext.displayName = 'SnackbarContext';\n","import React from 'react';\nimport {WorkflowTaskData, WorkflowTasksResponse} from '@reltio/mdm-sdk';\n\nexport const WorkflowTasksContext = React.createContext<{\n tasks: WorkflowTaskData[];\n total: WorkflowTasksResponse['total'];\n loading: boolean;\n updateTaskState: (taskId: WorkflowTaskData['taskId'], payload: Partial<WorkflowTaskData>) => void;\n loadTasks: () => void;\n onActionSuccess?: (action: string) => void;\n }>(null);\n\nWorkflowTasksContext.displayName = 'WorkflowTasksContext';\n","import {useMemo} from 'react';\nimport {pipe} from 'ramda';\n\ntype UseActions = ({\n actions,\n dispatch\n}: {\n actions: {\n [key: string]: <T>(payload: T) => {type: string; payload: T};\n };\n dispatch: <T>({type, payload}: {type: string; payload: T}) => void;\n}) => {\n [key in keyof typeof actions]: <T>(payload: T) => void;\n};\n\nexport const useActions: UseActions = ({actions, dispatch}) =>\n useMemo(\n () =>\n Object.entries(actions).reduce((acc, [actionName, actionCreator]) => {\n return {...acc, [actionName]: pipe(actionCreator, dispatch)};\n }, {}),\n [dispatch, actions]\n );\n","import {useEffect, useRef} from 'react';\n\nexport const useIsMountedRef = () => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n });\n return isMountedRef;\n};\n","import {useCallback, useState} from 'react';\nimport {\n ApiError,\n Entity,\n isDataTenantEntity,\n markDataTenantEntityAsNotMatch,\n markMixedEntitiesAsNotMatches\n} from '@reltio/mdm-sdk';\nimport {noop} from '../core';\nimport {useIsMountedRef} from './useIsMountedRef';\nimport {useMdmDtssPath, useMdmTenant} from '../contexts';\n\ntype Props = {\n entities: Entity[];\n entity: Entity;\n onFinishRequest?: () => void;\n onStartRequest?: () => void;\n onSuccess?: () => void;\n onError?: (error?: ApiError) => void;\n};\n\nexport const useMarkAsNotMatchRequest = ({\n entities,\n entity,\n onFinishRequest,\n onStartRequest,\n onSuccess,\n onError = noop\n}: Props) => {\n const isMountedRef = useIsMountedRef();\n const [isPending, setIsPending] = useState<boolean>(false);\n\n const tenant = useMdmTenant();\n const dtssPath = useMdmDtssPath();\n\n const sendMarkAsNotMatchRequest = useCallback(() => {\n onStartRequest?.();\n setIsPending(true);\n const params = {dtssPath, customerTenant: tenant, entity, entities};\n (isDataTenantEntity(entity) ? markDataTenantEntityAsNotMatch(params) : markMixedEntitiesAsNotMatches(params))\n .then(() => {\n onSuccess?.();\n })\n .catch(onError)\n .finally(() => {\n onFinishRequest?.();\n isMountedRef.current && setIsPending(false);\n });\n }, [dtssPath, entities, entity, isMountedRef, onFinishRequest, onStartRequest, onError, onSuccess, tenant]);\n\n return {isPending, sendMarkAsNotMatchRequest};\n};\n","import {useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n ActivityFilter,\n collectAllTransitiveEntitiesUris,\n Entity,\n getEntitiesMapForTransitiveMatches,\n getMatchesForDataTenantEntity,\n getMatchesFromDataTenants,\n getTransitiveMatches,\n isDataTenantEntity,\n isTempUri,\n Match,\n withDtssPotentialItems,\n addGlobalFilterToQuery,\n SortingField\n} from '@reltio/mdm-sdk';\nimport {usePagingSimulator} from './usePagingSimulator';\nimport {useSafePromise} from './useSafePromise';\nimport {useMdmDataTenants, useMdmDtssPath, useMdmGlobalSearchRequestOptions, useMdmTenant} from '../contexts';\n\ntype Props = {\n enabled: boolean;\n entity: Entity;\n filter: string;\n rules?: string;\n onFinishLoading?: () => void;\n onStartLoading?: () => void;\n options: {\n showTransitiveMatches?: boolean;\n showInactiveEntities?: boolean;\n };\n page: number;\n rowsPerPage: number;\n sorting?: SortingField;\n markMatchedValues?: boolean;\n};\n\nexport const useMatchesLoader = ({\n enabled,\n entity,\n filter,\n rules,\n onFinishLoading,\n onStartLoading,\n options,\n page,\n rowsPerPage,\n sorting,\n markMatchedValues\n}: Props) => {\n const {order, field} = sorting || {};\n const [total, setTotal] = useState(0);\n const [matches, setMatches] = useState<Match[]>([]);\n const [entitiesMap, setEntitiesMap] = useState<{[key: string]: Pick<Entity, 'uri' | 'type' | 'label'>}>({});\n\n const tenant = useMdmTenant();\n const dtssPath = useMdmDtssPath();\n const dataTenants = useMdmDataTenants();\n const {activityFilter, globalFilter} = useMdmGlobalSearchRequestOptions() || {};\n\n const activeness =\n typeof options.showInactiveEntities === 'boolean'\n ? options.showInactiveEntities\n ? ActivityFilter.ALL\n : ActivityFilter.ACTIVE_ONLY\n : activityFilter;\n const entityUri = entity?.uri;\n const dtssParams = useMemo(\n () => ({\n dtssPath,\n dataTenants,\n entity,\n customerTenant: tenant,\n dtssRequest: getMatchesFromDataTenants\n }),\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [dtssPath, dataTenants, entityUri, tenant]\n );\n\n //eslint-disable-next-line react-hooks/exhaustive-deps\n const getTransitiveMatchesWithDtss = useCallback(withDtssPotentialItems(dtssParams, getTransitiveMatches), [\n dtssParams\n ]);\n\n const getTransitiveMatchesWithPaging = usePagingSimulator(getTransitiveMatchesWithDtss);\n const getPagedMatchesForDataTenantEntity = usePagingSimulator(getMatchesForDataTenantEntity);\n\n const safePromise = useSafePromise();\n const getMatches = useCallback(\n (force = false) => {\n if (!enabled || isTempUri(entityUri)) {\n setTotal(0);\n setMatches([]);\n setEntitiesMap({});\n return;\n }\n onStartLoading?.();\n safePromise(\n isDataTenantEntity(entity)\n ? getPagedMatchesForDataTenantEntity({\n dtssPath,\n entity,\n customerTenant: tenant,\n offset: page * rowsPerPage,\n max: rowsPerPage,\n force\n })\n : getTransitiveMatchesWithPaging({\n entityUri: entityUri,\n offset: page * rowsPerPage,\n max: rowsPerPage,\n filter: addGlobalFilterToQuery(globalFilter, filter) || '',\n rules,\n sort: field,\n order,\n force,\n markMatchedValues,\n deep: options.showTransitiveMatches ? undefined : 1,\n activeness\n })\n )\n .then((result) => {\n const {response, total, originalResponse} = result;\n setTotal(total);\n const matchUris = collectAllTransitiveEntitiesUris(originalResponse);\n if (matchUris.length > 0) {\n setEntitiesMap(getEntitiesMapForTransitiveMatches(originalResponse));\n }\n setMatches(response);\n })\n .catch((error) => {\n console.warn(\"Can't load matches:\", error);\n setMatches([]);\n setTotal(0);\n })\n .finally(() => {\n onFinishLoading?.();\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n globalFilter,\n activeness,\n dtssPath,\n enabled,\n entityUri,\n field,\n filter,\n rules,\n markMatchedValues,\n getPagedMatchesForDataTenantEntity,\n getTransitiveMatchesWithPaging,\n onFinishLoading,\n onStartLoading,\n options,\n order,\n page,\n rowsPerPage,\n safePromise,\n tenant\n ]\n );\n\n useEffect(() => {\n getMatches();\n }, [getMatches]);\n const loadMatches = useCallback(() => {\n getMatches(true);\n }, [getMatches]);\n return {\n total,\n matches,\n entitiesMap,\n loadMatches\n };\n};\n","import {equals, map, pipe, prop, reject} from 'ramda';\nimport {Entity, isDataTenantEntity, isEntityUri, mergeDataEntityWithCustomerEntity} from '@reltio/mdm-sdk';\n\ntype DtssMergeResponse = Awaited<ReturnType<typeof mergeDataEntityWithCustomerEntity>>;\nexport type MergeResponses = (Entity | undefined | DtssMergeResponse)[];\n\nconst isEntity = (response): response is Entity => response?.uri && isEntityUri(response.uri);\n\nconst getWinnerUriFromMergeResponses = (responses: MergeResponses) => responses.find(isEntity)?.uri;\n\nexport const getWinnerLosersUrisFromMergeResponses = (\n entity: Entity,\n entities: Entity[],\n responses: MergeResponses\n) => {\n const winnerUri = getWinnerUriFromMergeResponses(responses);\n if (winnerUri) {\n const losersUris: string[] = pipe(\n reject(isDataTenantEntity),\n map(prop('uri')),\n reject(equals(winnerUri))\n )([entity, ...entities]);\n return {winnerUri, losersUris};\n }\n};\n","import {useCallback, useState} from 'react';\nimport {\n ApiError,\n Entity,\n isDataTenantEntity,\n mergeCustomerTenantEntityWithMixedEntities,\n mergeDataTenantEntity\n} from '@reltio/mdm-sdk';\nimport {noop} from '../core';\nimport {useIsMountedRef} from './useIsMountedRef';\nimport {getWinnerLosersUrisFromMergeResponses, MergeResponses} from './helpers/merge';\nimport {useMdmAction, useMdmDtssPath, useMdmTenant} from '../contexts';\n\ntype Props = {\n entities: Entity[];\n entity: Entity;\n onFinishRequest?: () => void;\n onStartRequest?: () => void;\n onSuccess?: () => void;\n onError?: (error?: ApiError) => void;\n};\n\nexport const useMergeAllRequest = ({\n entities,\n entity,\n onFinishRequest,\n onStartRequest,\n onSuccess,\n onError = noop\n}: Props) => {\n const isMountedRef = useIsMountedRef();\n const [isPending, setIsPending] = useState<boolean>(false);\n\n const updateSearchNavigationDataOnMerge = useMdmAction('updateSearchNavigationDataOnMerge');\n const tenant = useMdmTenant();\n const dtssPath = useMdmDtssPath();\n\n const sendMergeAllRequest = useCallback(() => {\n onStartRequest?.();\n setIsPending(true);\n const params = {dtssPath, customerTenant: tenant, entity, entities};\n (isDataTenantEntity(entity)\n ? mergeDataTenantEntity(params)\n : mergeCustomerTenantEntityWithMixedEntities(params)\n )\n .then((responses: MergeResponses) => {\n onSuccess?.();\n const uris = getWinnerLosersUrisFromMergeResponses(entity, entities, responses);\n if (uris) {\n const {winnerUri, losersUris} = uris;\n updateSearchNavigationDataOnMerge({winnerUri, losersUris});\n }\n })\n .catch(onError)\n .finally(() => {\n onFinishRequest?.();\n isMountedRef.current && setIsPending(false);\n });\n }, [\n dtssPath,\n entities,\n entity,\n onError,\n onFinishRequest,\n onStartRequest,\n onSuccess,\n tenant,\n updateSearchNavigationDataOnMerge\n ]);\n\n return {isPending, sendMergeAllRequest};\n};\n","import {equals} from 'ramda';\n\ntype RequestProps = {\n max: number;\n offset: number;\n force?: boolean;\n [key: string]: unknown;\n};\nexport const createPagingSimulator = (request) => {\n let previousValues = {};\n let requestResponse = [];\n return async ({max, offset, force, ...requestParams}: RequestProps) => {\n let shouldSendRequest = force;\n const previousValuesKeys = Object.keys(previousValues);\n shouldSendRequest = shouldSendRequest || !equals(Object.keys(requestParams), previousValuesKeys);\n if (!shouldSendRequest) {\n for (const key of previousValuesKeys) {\n shouldSendRequest = shouldSendRequest || !equals(previousValues[key], requestParams[key]);\n }\n }\n if (shouldSendRequest) {\n // eslint-disable-next-line no-unused-vars\n requestResponse = await request(requestParams);\n previousValues = requestParams;\n }\n\n if (!Array.isArray(requestResponse)) {\n requestResponse = [];\n }\n\n return {\n response: requestResponse.slice(offset, offset + max),\n total: requestResponse.length,\n originalResponse: requestResponse\n };\n };\n};\n","import {useCallback} from 'react';\nimport {createPagingSimulator} from './helpers/pagingSimulator';\n\nexport const usePagingSimulator = (request) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback(createPagingSimulator(request), [request]);\n};\n","import {useCallback} from 'react';\nimport {Directions, getDirectionalLabelFromObject} from '@reltio/mdm-sdk';\nimport {ascend, curry, evolve, pipe, prop, propEq, propOr, tap} from 'ramda';\n\nexport const useRelationTypeSelector = ({reversedContextLabels}) => {\n const getRelationTypesOptions = useCallback(\n (inRelations, outRelations) => {\n const labelsMap = {};\n const addLabelInMap = (label) => (labelsMap[label] = propOr(0, label, labelsMap) + 1);\n const getDirectionalLabel = pipe(getDirectionalLabelFromObject, tap(addLabelInMap));\n const byLabel = ascend(prop('label'));\n\n const prepareRelation = curry((direction, {uri, label, startObject, endObject}) => {\n const dirObject =\n direction === (reversedContextLabels ? Directions.OUT : Directions.IN) ? startObject : endObject;\n return {\n label: {directionalLabel: getDirectionalLabel(dirObject), typeLabel: label},\n value: `${uri},${direction}`,\n startObject,\n endObject\n };\n });\n\n return inRelations\n .map(prepareRelation(Directions.IN))\n .concat(outRelations.map(prepareRelation(Directions.OUT)))\n .map(\n evolve({\n label: ({directionalLabel, typeLabel}) => {\n return directionalLabel\n ? labelsMap[directionalLabel] > 1\n ? `${directionalLabel} (${typeLabel})`\n : directionalLabel\n : typeLabel;\n }\n })\n )\n .sort(byLabel);\n },\n [reversedContextLabels]\n );\n\n const fromEditorValue = useCallback(\n (inRelationTypes, outRelationTypes) => (relation) => {\n const [uri, direction] = relation.value.split(',');\n const type = (direction === Directions.IN ? inRelationTypes : outRelationTypes).find(propEq('uri', uri));\n return {type, direction};\n },\n []\n );\n\n const toEditorValue = useCallback(\n (relation, relationsTypesOptions) =>\n relationsTypesOptions.find(propEq('value', `${relation.relationType},${relation.direction}`)),\n []\n );\n\n return {\n getRelationTypesOptions,\n fromEditorValue,\n toEditorValue\n };\n};\n","import {useCallback, useEffect, useState} from 'react';\nimport {useDidUpdateEffect} from './useDidUpdateEffect';\n\ntype SavedState<T> = {\n [entityType: string]: T;\n};\n\ntype Props<T> = {\n getSavedState: () => Promise<SavedState<T>>;\n saveState: (state: SavedState<T>) => void;\n entityTypeUri?: string;\n};\n\nexport const useSavedStateForEntityType = <T>({getSavedState, saveState, entityTypeUri}: Props<T>) => {\n const [savedState, setSavedState] = useState<SavedState<T>>({});\n const [changedState, setChangedState] = useState<SavedState<T>>(null);\n const [isLoaded, setIsLoaded] = useState(false);\n\n const saveChangesLocallyForPrevEntityType = () => {\n if (changedState) {\n setSavedState({...savedState, ...changedState});\n setChangedState(null);\n }\n };\n useDidUpdateEffect(saveChangesLocallyForPrevEntityType, [entityTypeUri]);\n\n const updateSavedState = useCallback(\n (stateToSave: T) => {\n if (!entityTypeUri) return;\n const changedState = {\n [entityTypeUri]: stateToSave\n };\n setChangedState(changedState);\n saveState({...savedState, ...changedState});\n },\n [entityTypeUri, saveState, savedState]\n );\n\n useEffect(() => {\n getSavedState()\n .then((savedState) => {\n setSavedState(savedState || {});\n })\n .then((_) => setIsLoaded(true))\n .catch((_) => setIsLoaded(true));\n }, []); // eslint-disable-line\n\n return {isLoaded: isLoaded && !!entityTypeUri, savedState: savedState[entityTypeUri], updateSavedState};\n};\n"],"names":["useStyles","makeStyles","theme","button","whiteSpace","fontSize","lineHeight","letterSpacing","padding","fill","palette","primary","main","fillOpacity","iconButton","startIcon","marginLeft","marginRight","width","height","alignItems","overflowStyle","overflow","textOverflow","menuIcon","menuItem","minHeight","menuText","color","text","ActionButtonMode","ActionButton","forwardRef","ref","className","mode","label","disabled","icon","Icon","onClick","noop","onMenuClose","otherProps","styles","SmallIconButton","classnames","size","tooltipTitle","showForDisabled","Button","classes","ExpandedValueTooltip","value","handleClick","MenuItem","root","Typography","getButtonView","displayName","CHANGE_COLUMNS","TOGGLE_FILTERS","CHANGE_FILTER","TOGGLE_SORT","CHANGE_PAGE","CHANGE_ROWS_PER_PAGE","actions","changeColumns","createStandardAction","toggleFilters","changeFilter","toggleSort","changePage","changeRowsPerPage","changeVisibleColumns","state","nextVisibleColumns","removedColumns","difference","visibleColumns","isRemovedColumn","columnId","includes","evolve","always","sorting","when","field","nextSortField","order","filters","keys","reduce","acc","dissoc","reducer","action","type","columnIds","payload","enableFilters","page","filter","assoc","prevSortField","path","prevSortOrder","toggleSortOrder","rowsPerPage","itemContainer","item","background","memo","crosswalk","showTooltip","useCrosswalkColor","metadata","useMdmMetadata","content","style","SourceIcon","sourceType","Tooltip","title","getSourceSystemLabel","paper","fontWeight","contentText","marginBottom","actionButtons","display","paddingTop","discardButton","open","onCancel","cancelCaption","i18n","onDiscard","discardCaption","onSave","saveCaption","disabledSave","Dialog","onClose","paperScrollPaper","DialogTitle","DialogContent","DialogContentText","DialogActions","disableSpacing","autoFocus","ConnectionRelationTypeSelector","relation","inRelationTypes","outRelationTypes","onChange","identity","applyFirstByDefault","reversedContextLabels","getRelationTypesOptions","fromEditorValue","toEditorValue","useRelationTypeSelector","relationsTypesOptions","useMemo","handleChange","useCallback","pipe","hasValue","relationType","useEffect","length","options","propTypes","PropTypes","ConnectionRelationType","RelationTypeType","backgroundColor","container","cursor","expanded","MatchRulesBadge","children","onExpand","ArrowExpandButton","props","viewBox","xmlns","fillRule","clipRule","d","notMatch","NotMatchRule","entitiesMap","entity","match","variant","MatchRuleVariant","matchRules","negativeRules","isTransitive","isTransitiveMatch","getMatchRules","concat","hasNotMatch","uri","NOT_MATCH","showSimple","showNotMatch","TransitiveMatchBlock","transitiveMatchRules","getTransitiveMatchRules","matchRuleSummaries","SimpleMatchRulesBuilder","Component","SimpleMatchRulesBlock","isMlMatch","body","negativeRuleIcon","position","top","MatchRulesTitle","map","key","negativeRule","NegativeRuleTooltipIcon","secondary","labelsContainer","matchRuleInfo","justifyContent","matchRuleLabel","wordBreak","relevanceScore","matchRule","matchRuleSummary","getMatchRuleSummary","relevancePercentage","formatRelevanceScore","NegativeRuleIcon","flexDirection","rulesContainer","xmlnsXlink","x1","y1","x2","y2","id","stopColor","offset","stopOpacity","stroke","strokeWidth","transform","xlinkHref","opacity","x","y","rx","mask","cx","cy","ry","r","MatchRuleBadgeWithTooltip","withTooltip","setExpanded","useState","handleOnExpand","expand","MatchRulesTooltip","tooltipPlacement","SimpleMatchRules","MlMatchRules","otherMatchRules","partitionByMlMatch","all","simple","excludeNotMatch","isEmpty","showML","light","badge","matchLabels","ruleWrapper","index","MergeButton","entities","onStartRequest","onFinishRequest","onSuccess","onError","sendMergeAllRequest","useMergeAllRequest","MergeIcon","maxWidth","MAX_WIDTH_SELECT","paddingBottom","outlined","paddingRight","paddingLeft","arrowIcon","right","currentValue","currentValueIcon","currentValueText","textTransform","firstMenuItemButton","borderTop","menuItemInner","menuItemIcon","menuItemLabel","menuItemDescription","isButton","ModeSwitcherSelect","optionsGroup","buttonsGroup","Select","select","e","target","some","propEq","renderValue","IconComponent","find","Box","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","items","firstButtonIdx","findIndex","idx","description","menuItemProps","renderMenuItems","NotMatchButton","sendMarkAsNotMatchRequest","useMarkAsNotMatchRequest","NotMatchIcon","image","info","secondaryLabel","marginTop","link","textDecoration","thirdRow","entityId","entityIdLabel","entityIdValue","ProfileCardContent","secondaryLabelClass","labelClass","getLabel","handleCopyEntityIdToClipboard","navigator","clipboard","writeText","getEntityId","EntityAvatar","imageClassName","EntityUriLink","getEntityUriForLink","placement","showOnExceededHeight","EntityTypeBadge","wave","left","bottom","animation","avatar","flex","borderRadius","ProfileCardPlaceholder","containerClass","resizablePanesWrapper","flexGrow","pane","DEFAULT_R_PANE_SIZE","ProfileResizablePanes","perspectiveId","buttonsProps","defaultTab","perspectiveSettings","updatePerspectiveSettings","usePerspectivesSettings","active","isSidePanelOpen","isNil","handleUpdateSettings","newSetting","toggleActive","newId","resetActive","handlePaneSizeChange","ResizablePanes","orientation","minSize","maxSize","allowResize","debounceInterval","cloneElement","SideButtonsPanel","onButtonClick","activeIndexId","RelevanceScoreBadge","useMdmEntity","matchRuleSummaryWithBestScore","checkMatchRuleSummaryRelevance","sort","a","b","relevance","ruleName","getMatchRuleLabel","flexShrink","boxShadow","alpha","buttonWrapper","margin","iconButtonClasses","buttonProps","contentWrapper","boxSizing","transition","transitions","create","duration","enteringScreen","SidePanel","borderBottom","divider","borderColor","secondTitle","SidePanelContentHeader","mainTitle","rightContent","CloseIcon","Divider","flexItem","useOptionStyles","textItem","primaryTextItem","flexBasis","secondaryTextItem","icons","iconTop","zIndex","iconBottom","RelationOption","innerRef","innerProps","selectOption","data","startObject","endObject","objectType","EntityTypeIcon","entityType","current","RelationTypeSelector","TextFieldProps","textFieldProps","defaultTo","DropDownSelector","components","Option","ValueType","taskId","assignee","isTaskOpen","showCurrentAssignee","currentAssignee","getAssignees","updateAssignee","updateRequestIsInProgress","readOnly","useWorkflowAssignee","isOpen","isDisabled","getOptions","hideSelectedOptions","defaultOptions","isInProgress","buttonComponent","MoreVertIcon","menuId","menuItems","useCommentStyles","_theme","comment","firstLine","author","date","wordWrap","useCollapsedCommentsStyles","circleButton","maxHeight","border","delimiter","useWorkflowStyles","commentsContainer","overflowY","filledInputRoot","modeSwitcherWrapper","sendButton","alignSelf","useExpandedComments","messageContainer","Comment","message","time","Avatar","Person","defaultProps","CollapsedComments","comments","IconButton","ExpandedComments","getValue","WorkflowComments","workflowActions","actionRequestIsInProgress","processInstanceComments","preferredAction","setComment","currentAction","setCurrentAction","writeComment","useWorkflowComments","sendComment","BUTTONS_GROUP","Input","endAdornment","InputAdornment","SendIcon","placeholder","onKeyPress","shiftKey","preventDefault","disableUnderline","multiline","showApiError","error","console","ErrorPopup","errorMessage","showWorkflowError","apiError","errorCode","ApiErrorCode","getDCRUri","objectUris","startsWith","getDCRId","unless","split","nth","isOpenTask","undefined","useWorkflowActions","possibleActions","onActionSuccess","useContext","WorkflowTasksContext","workflowPath","useMdmWorkflowPath","environment","useMdmWorkflowEnvironmentUrl","tenant","useMdmTenant","username","useMdmUsername","setActionRequestIsInProgress","performTaskAction","processInstanceComment","runTaskAction","then","catch","finally","assigneeToValue","updateTaskState","updateSafePromise","useSafePromise","getSafePromise","setCurrentAssignee","assignees","setAssignees","setUpdateRequestIsInProgress","canUpdateTask","useWorkflowCheckPermission","checkWorkflowPermission","filterOutRest","toLowerCase","Promise","resolve","getAssigneeForTask","result","utils","newValue","updateAssigneeForTask","user","useMdmUser","canUserStartProcessFromQuery","checkCanUserStartProcessInstanceFromQuery","canUserViewWorkflowJobs","checkCanUserViewWorkflowJobs","canUserViewWorkflowEnvironmentConfigJar","checkCanUserViewWorkflowEnvironmentConfigJar","canUserViewWorkflowDefinition","checkCanUserViewWorkflowDefinition","canUserViewWorkflowConfigJar","checkCanUserViewWorkflowConfigJar","canUserViewProcessInstanceSearchQuery","checkCanUserViewProcessInstanceSearchQuery","canUserUpdateWorkflowDataTask","checkCanUserUpdateWorkflowDataTask","canUserUpdateProcessInstance","checkCanUserUpdateProcessInstance","canUserReadWorkflowDataTask","checkCanUserReadWorkflowDataTask","canUserManageWorkflowEnvironmentDefinition","checkCanUserManageWorkflowEnvironmentDefinition","canUserManageWorkflowDefinition","checkCanUserManageWorkflowDefinition","canUserExecuteWorkflowJobsValidateTasks","checkCanUserExecuteWorkflowJobsValidateTasks","canUserExecuteWorkflowJobsUpdateTasks","checkCanUserExecuteWorkflowJobsUpdateTasks","canUserExecuteWorkflowJobsTerminateProcessInstance","checkCanUserExecuteWorkflowJobsTerminateProcessInstance","canUserExecuteWorkflowJobsSyncBusinessProcessData","checkCanUserExecuteWorkflowJobsSyncBusinessProcessData","canUserExecuteWorkflowJobs","checkCanUserExecuteWorkflowJobs","canUserCreateWorkflowEnvironmentConfigJar","checkCanUserCreateWorkflowEnvironmentConfigJar","canUserRegisterConfigEnvironments","checkCanUserRegisterConfigEnvironments","canUserCreateWorkflowConfigJar","checkCanUserCreateWorkflowConfigJar","permission","safePromise","setComments","requestIsInProgress","setRequestIsInProgress","addCommentForTask","getTaskById","useWorkflowDefaultActionSuccessHandler","loadTasks","viewId","ViewIdContext","loadEntity","useMdmAction","entityDeletionFinished","entityUri","useMdmEntityUri","PerspectivesSettingsContext","React","settings","SnackbarContext","useActions","dispatch","Object","entries","actionName","actionCreator","useIsMountedRef","isMountedRef","useRef","isPending","setIsPending","dtssPath","useMdmDtssPath","params","customerTenant","isDataTenantEntity","markDataTenantEntityAsNotMatch","markMixedEntitiesAsNotMatches","useMatchesLoader","enabled","rules","onFinishLoading","onStartLoading","markMatchedValues","total","setTotal","matches","setMatches","setEntitiesMap","dataTenants","useMdmDataTenants","activityFilter","globalFilter","useMdmGlobalSearchRequestOptions","activeness","showInactiveEntities","ActivityFilter","dtssParams","dtssRequest","getMatchesFromDataTenants","getTransitiveMatchesWithDtss","withDtssPotentialItems","getTransitiveMatches","getTransitiveMatchesWithPaging","usePagingSimulator","getPagedMatchesForDataTenantEntity","getMatchesForDataTenantEntity","getMatches","force","isTempUri","max","addGlobalFilterToQuery","deep","showTransitiveMatches","response","originalResponse","collectAllTransitiveEntitiesUris","getEntitiesMapForTransitiveMatches","warn","loadMatches","isEntity","isEntityUri","updateSearchNavigationDataOnMerge","mergeDataTenantEntity","mergeCustomerTenantEntityWithMixedEntities","responses","uris","winnerUri","getWinnerUriFromMergeResponses","losersUris","reject","prop","equals","getWinnerLosersUrisFromMergeResponses","request","previousValues","requestResponse","async","requestParams","shouldSendRequest","previousValuesKeys","Array","isArray","slice","createPagingSimulator","inRelations","outRelations","labelsMap","getDirectionalLabel","getDirectionalLabelFromObject","tap","propOr","byLabel","ascend","prepareRelation","curry","direction","dirObject","Directions","directionalLabel","typeLabel","useSavedStateForEntityType","getSavedState","saveState","entityTypeUri","savedState","setSavedState","changedState","setChangedState","isLoaded","setIsLoaded","useDidUpdateEffect","updateSavedState","stateToSave","_"],"sourceRoot":""}
|
package/7896.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e41c0c90-74ae-46bd-8209-748671f94a97",e._sentryDebugIdIdentifier="sentry-dbid-e41c0c90-74ae-46bd-8209-748671f94a97")}catch(e){}}();var _global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};_global.SENTRY_RELEASE={id:"1.4.
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e41c0c90-74ae-46bd-8209-748671f94a97",e._sentryDebugIdIdentifier="sentry-dbid-e41c0c90-74ae-46bd-8209-748671f94a97")}catch(e){}}();var _global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};_global.SENTRY_RELEASE={id:"1.4.1677"},(self.webpackChunk_reltio_remotes=self.webpackChunk_reltio_remotes||[]).push([[7896],{7896:(e,n,t)=>{function o(){return o=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},o.apply(this,arguments)}t.d(n,{Z:()=>o})}}]);
|
|
2
2
|
//# sourceMappingURL=7896.js.map
|