@reltio/components 1.4.1924 → 1.4.1925

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.
@@ -7,7 +7,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
7
7
  cursor: 'pointer',
8
8
  color: theme.palette.primary.main,
9
9
  lineHeight: '15px',
10
- wordBreak: 'break-word'
10
+ wordBreak: 'break-word',
11
+ whiteSpace: 'normal'
11
12
  },
12
13
  selected: {
13
14
  fontWeight: 'bold'
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { TreeNodeProps } from 'rc-tree';
3
+ type Props = {
4
+ node: TreeNodeProps;
5
+ };
6
+ export declare const DefaultSwitchRenderer: ({ node }: Props) => JSX.Element;
7
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DefaultSwitchRenderer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var classnames_1 = __importDefault(require("classnames"));
9
+ var styles_1 = require("./styles");
10
+ var DefaultSwitchRenderer = function (_a) {
11
+ var node = _a.node;
12
+ var styles = (0, styles_1.useStyles)();
13
+ return !node.isLeaf ? (react_1.default.createElement("div", { className: styles.switcherButtonWrapper },
14
+ react_1.default.createElement("div", { "aria-label": node.expanded ? 'Collapse' : 'Expand', className: (0, classnames_1.default)(styles.switcherButton, node.expanded ? styles.collapseButton : styles.expandButton) }))) : null;
15
+ };
16
+ exports.DefaultSwitchRenderer = DefaultSwitchRenderer;
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { TreeNodeProps } from 'rc-tree';
3
+ import 'rc-tree/assets/index.css';
4
+ import { RCTreeNode } from './types';
5
+ type Props = {
6
+ treeData: RCTreeNode[];
7
+ renderNode?: (node: RCTreeNode & Record<string, unknown>) => JSX.Element;
8
+ canDrag?: boolean;
9
+ isVirtualized?: boolean;
10
+ canDrop?: (params: unknown) => boolean;
11
+ onLoadChildren?: (treeNode: unknown) => Promise<void>;
12
+ height?: number;
13
+ defaultExpandAll?: boolean;
14
+ SwitchRenderer?: (props: any) => JSX.Element;
15
+ className?: string;
16
+ minItemHeight?: number;
17
+ isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
18
+ };
19
+ export declare const RCTree: ({ treeData, isVirtualized, canDrag, canDrop, onLoadChildren, height, defaultExpandAll, SwitchRenderer, className, renderNode, minItemHeight, isLeaf }: Props) => JSX.Element;
20
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.RCTree = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var rc_tree_1 = __importDefault(require("rc-tree"));
32
+ var classnames_1 = __importDefault(require("classnames"));
33
+ require("rc-tree/assets/index.css");
34
+ var DefaultSwitchRenderer_1 = require("./DefaultSwitchRenderer");
35
+ var helper_1 = require("./helper");
36
+ var styles_1 = require("./styles");
37
+ var MIN_ROW_HEIGHT = 28;
38
+ var RCTree = function (_a) {
39
+ var treeData = _a.treeData, _b = _a.isVirtualized, isVirtualized = _b === void 0 ? true : _b, _c = _a.canDrag, canDrag = _c === void 0 ? false : _c, _d = _a.canDrop, canDrop = _d === void 0 ? function () { return false; } : _d, onLoadChildren = _a.onLoadChildren, height = _a.height, _e = _a.defaultExpandAll, defaultExpandAll = _e === void 0 ? false : _e, _f = _a.SwitchRenderer, SwitchRenderer = _f === void 0 ? DefaultSwitchRenderer_1.DefaultSwitchRenderer : _f, className = _a.className, renderNode = _a.renderNode, _g = _a.minItemHeight, minItemHeight = _g === void 0 ? MIN_ROW_HEIGHT : _g, _h = _a.isLeaf, isLeaf = _h === void 0 ? helper_1.defaultIsLeaf : _h;
40
+ var styles = (0, styles_1.useStyles)();
41
+ var internalTreeData = (0, react_1.useMemo)(function () { return (0, helper_1.convertTreeData)({ data: treeData, isLeaf: isLeaf }); }, [isLeaf, treeData]);
42
+ // eslint-disable-next-line no-unused-vars
43
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
+ var handleDrop = function (_a) {
45
+ var node = _a.node, dragNode = _a.dragNode, dragNodesKeys = _a.dragNodesKeys;
46
+ // TODO: implement
47
+ };
48
+ // eslint-disable-next-line no-unused-vars
49
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
+ var handleDragEnter = function (_a) {
51
+ var event = _a.event, node = _a.node, expandedKeys = _a.expandedKeys;
52
+ // TODO: implement
53
+ };
54
+ // eslint-disable-next-line no-unused-vars
55
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
56
+ var dropIndicatorRender = function (_a) {
57
+ var dropPosition = _a.dropPosition, dropLevelOffset = _a.dropLevelOffset, indent = _a.indent, prefixCls = _a.prefixCls, direction = _a.direction;
58
+ // TODO: implement
59
+ };
60
+ var renderSwitcherIcon = (0, react_1.useCallback)(function (node) { return react_1.default.createElement(SwitchRenderer, { node: node }); }, []);
61
+ return internalTreeData ? (react_1.default.createElement(rc_tree_1.default, { allowDrop: canDrop, draggable: canDrag, onDragStart: function () { }, onDragEnter: handleDragEnter, onDrop: handleDrop, virtual: isVirtualized, itemHeight: minItemHeight, height: height, showIcon: false, showLine: true, switcherIcon: renderSwitcherIcon, defaultExpandAll: defaultExpandAll, className: (0, classnames_1.default)(className, styles.treeWrapper), titleRender: renderNode ? function (node) { return renderNode(node.value); } : undefined, treeData: internalTreeData, selectable: false, loadData: onLoadChildren ? function (node) { return onLoadChildren(node.value); } : undefined, "data-reltio-id": "rc-tree" })) : null;
62
+ };
63
+ exports.RCTree = RCTree;
@@ -0,0 +1,12 @@
1
+ import { TreeNodeProps } from 'rc-tree';
2
+ import { RCTreeNode } from './types';
3
+ export declare const defaultIsLeaf: ({ children }: {
4
+ children?: unknown[];
5
+ }) => boolean;
6
+ type Props = {
7
+ data: Array<RCTreeNode & Record<string, unknown>>;
8
+ parentPath?: number[];
9
+ isLeaf: (node: TreeNodeProps & Record<string, unknown>) => boolean;
10
+ };
11
+ export declare const convertTreeData: ({ data, parentPath, isLeaf }: Props) => any;
12
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.convertTreeData = exports.defaultIsLeaf = void 0;
24
+ var defaultIsLeaf = function (_a) {
25
+ var _b = _a.children, children = _b === void 0 ? [] : _b;
26
+ return !children.length;
27
+ };
28
+ exports.defaultIsLeaf = defaultIsLeaf;
29
+ var convertTreeData = function (_a) {
30
+ var data = _a.data, _b = _a.parentPath, parentPath = _b === void 0 ? [] : _b, isLeaf = _a.isLeaf;
31
+ return data.map(function (item) {
32
+ var _a;
33
+ var path = __spreadArray(__spreadArray([], parentPath, true), [item.nodeId], false);
34
+ return __assign({ key: item.nodeId, value: __assign(__assign({}, item), { path: path }), title: (_a = item.title) !== null && _a !== void 0 ? _a : '', isLeaf: isLeaf(item) }, (item.children &&
35
+ item.children.length && {
36
+ children: (0, exports.convertTreeData)({ data: item.children, parentPath: path, isLeaf: isLeaf })
37
+ }));
38
+ });
39
+ };
40
+ exports.convertTreeData = convertTreeData;
@@ -0,0 +1 @@
1
+ export { RCTree } from './RCTree';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RCTree = void 0;
4
+ var RCTree_1 = require("./RCTree");
5
+ Object.defineProperty(exports, "RCTree", { enumerable: true, get: function () { return RCTree_1.RCTree; } });
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global .rc-tree-node-content-wrapper" | "@global .rc-tree-treenode" | "@global .rc-tree-icon_loading">;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@mui/styles");
5
+ exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
6
+ switcherButtonWrapper: {
7
+ paddingTop: '9px',
8
+ paddingLeft: '6px',
9
+ width: '16px',
10
+ height: '16px',
11
+ backgroundColor: 'white',
12
+ cursor: 'pointer'
13
+ },
14
+ switcherButton: {
15
+ transition: 'transform .15s ease',
16
+ width: 0,
17
+ height: 0,
18
+ borderLeft: '4px solid transparent',
19
+ borderRight: '4px solid transparent',
20
+ borderTop: '4px solid rgba(0, 0, 0, 0.54)'
21
+ },
22
+ collapseButton: {
23
+ transform: 'rotate(0deg)'
24
+ },
25
+ expandButton: {
26
+ transform: ' rotate(-90deg)'
27
+ },
28
+ treeWrapper: {
29
+ border: 'none'
30
+ },
31
+ '@global .rc-tree-node-content-wrapper': {
32
+ height: 'auto !important'
33
+ },
34
+ '@global .rc-tree-treenode': {
35
+ display: 'flex'
36
+ },
37
+ '@global .rc-tree-icon_loading': {
38
+ display: 'none !important'
39
+ }
40
+ }); });
@@ -0,0 +1,4 @@
1
+ export type RCTreeNode = {
2
+ nodeId: number;
3
+ children?: RCTreeNode[];
4
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/cjs/index.d.ts CHANGED
@@ -149,6 +149,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
149
149
  export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
150
150
  export { MultiSelect } from './MultiSelect';
151
151
  export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
152
+ export { RCTree } from './RCTree';
152
153
  export { ReltioGridLayout } from './ReltioGridLayout';
153
154
  export { ResizablePanes } from './ResizablePanes';
154
155
  export { ProfileResizablePanes } from './ProfileResizablePanes';
package/cjs/index.js CHANGED
@@ -17,10 +17,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.PieChart = exports.OvIcon = exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributesButton = exports.InlineReferenceAttribute = exports.InlineNestedAttribute = exports.InlineImageAttribute = exports.InlineAttributesPager = exports.EditableImageAttributesLine = exports.FilterButton = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.EntitySelector = exports.EntityCreator = exports.AttributesPager = exports.AttributesList = exports.EditableAttribute = exports.DropDownMenuButton = exports.DescriptionIcon = exports.DefaultCellValueRenderer = exports.ControlAttributeIcon = exports.ColumnsSettingsPopup = exports.ColumnsSettings = exports.ColorBar = exports.CollapseRowButton = exports.ChartsFactory = exports.CardinalityMessage = exports.BranchDecorator = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.BasicTablePagination = exports.basicTableViewState = exports.BasicTable = exports.BasicAttributeSelector = exports.BarChart = exports.AvatarWithFallback = exports.AutoSizeList = exports.AttributesView = exports.AttributesValuesEditor = exports.AttributesFiltersButton = exports.AttributesFiltersBuilder = exports.AttributesFilterSelector = exports.AttributesErrorsPanel = exports.AttributeListItem = exports.AttributeGroupIcon = exports.ArrowExpandButton = exports.ActionsPanel = exports.ActionButton = void 0;
18
18
  exports.ErrorMessage = exports.ConfigureColumnsPopup = exports.ConnectionEditor = exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = exports.ReadOnlyAttributeValuesBlock = void 0;
19
19
  exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportButton = exports.ReadableSearchQuery = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ProfilesList = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.ImageGalleryDialog = exports.RelationTypesSelector = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.EmptyStub = exports.SaveSegmentDialog = exports.MaskingSwitcher = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = exports.ErrorWrapper = void 0;
20
- exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = void 0;
21
- exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.SegmentationContext = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = void 0;
22
- exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.HiddenAttributesContext = void 0;
23
- exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = void 0;
20
+ exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = void 0;
21
+ exports.BasicTableRowCollapseContext = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.SegmentationContext = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = void 0;
22
+ exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.HiddenAttributesContext = exports.BasicTableContext = void 0;
23
+ exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = exports.isControlOrCommandPressed = void 0;
24
24
  // components
25
25
  var ActionButton_1 = require("./ActionButton");
26
26
  Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
@@ -330,6 +330,8 @@ Object.defineProperty(exports, "MultiSelect", { enumerable: true, get: function
330
330
  var ReactSortableTree_1 = require("./ReactSortableTree");
331
331
  Object.defineProperty(exports, "ReactSortableTree", { enumerable: true, get: function () { return ReactSortableTree_1.ReactSortableTree; } });
332
332
  Object.defineProperty(exports, "reactSortableTreeHelpers", { enumerable: true, get: function () { return ReactSortableTree_1.reactSortableTreeHelpers; } });
333
+ var RCTree_1 = require("./RCTree");
334
+ Object.defineProperty(exports, "RCTree", { enumerable: true, get: function () { return RCTree_1.RCTree; } });
333
335
  var ReltioGridLayout_1 = require("./ReltioGridLayout");
334
336
  Object.defineProperty(exports, "ReltioGridLayout", { enumerable: true, get: function () { return ReltioGridLayout_1.ReltioGridLayout; } });
335
337
  var ResizablePanes_1 = require("./ResizablePanes");
@@ -4,7 +4,8 @@ export var useStyles = makeStyles(function (theme) { return ({
4
4
  cursor: 'pointer',
5
5
  color: theme.palette.primary.main,
6
6
  lineHeight: '15px',
7
- wordBreak: 'break-word'
7
+ wordBreak: 'break-word',
8
+ whiteSpace: 'normal'
8
9
  },
9
10
  selected: {
10
11
  fontWeight: 'bold'
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { TreeNodeProps } from 'rc-tree';
3
+ type Props = {
4
+ node: TreeNodeProps;
5
+ };
6
+ export declare const DefaultSwitchRenderer: ({ node }: Props) => JSX.Element;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import classnames from 'classnames';
3
+ import { useStyles } from './styles';
4
+ export var DefaultSwitchRenderer = function (_a) {
5
+ var node = _a.node;
6
+ var styles = useStyles();
7
+ return !node.isLeaf ? (React.createElement("div", { className: styles.switcherButtonWrapper },
8
+ React.createElement("div", { "aria-label": node.expanded ? 'Collapse' : 'Expand', className: classnames(styles.switcherButton, node.expanded ? styles.collapseButton : styles.expandButton) }))) : null;
9
+ };
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { TreeNodeProps } from 'rc-tree';
3
+ import 'rc-tree/assets/index.css';
4
+ import { RCTreeNode } from './types';
5
+ type Props = {
6
+ treeData: RCTreeNode[];
7
+ renderNode?: (node: RCTreeNode & Record<string, unknown>) => JSX.Element;
8
+ canDrag?: boolean;
9
+ isVirtualized?: boolean;
10
+ canDrop?: (params: unknown) => boolean;
11
+ onLoadChildren?: (treeNode: unknown) => Promise<void>;
12
+ height?: number;
13
+ defaultExpandAll?: boolean;
14
+ SwitchRenderer?: (props: any) => JSX.Element;
15
+ className?: string;
16
+ minItemHeight?: number;
17
+ isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
18
+ };
19
+ export declare const RCTree: ({ treeData, isVirtualized, canDrag, canDrop, onLoadChildren, height, defaultExpandAll, SwitchRenderer, className, renderNode, minItemHeight, isLeaf }: Props) => JSX.Element;
20
+ export {};
@@ -0,0 +1,33 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import Tree from 'rc-tree';
3
+ import classnames from 'classnames';
4
+ import 'rc-tree/assets/index.css';
5
+ import { DefaultSwitchRenderer } from './DefaultSwitchRenderer';
6
+ import { convertTreeData, defaultIsLeaf } from './helper';
7
+ import { useStyles } from './styles';
8
+ var MIN_ROW_HEIGHT = 28;
9
+ export var RCTree = function (_a) {
10
+ var treeData = _a.treeData, _b = _a.isVirtualized, isVirtualized = _b === void 0 ? true : _b, _c = _a.canDrag, canDrag = _c === void 0 ? false : _c, _d = _a.canDrop, canDrop = _d === void 0 ? function () { return false; } : _d, onLoadChildren = _a.onLoadChildren, height = _a.height, _e = _a.defaultExpandAll, defaultExpandAll = _e === void 0 ? false : _e, _f = _a.SwitchRenderer, SwitchRenderer = _f === void 0 ? DefaultSwitchRenderer : _f, className = _a.className, renderNode = _a.renderNode, _g = _a.minItemHeight, minItemHeight = _g === void 0 ? MIN_ROW_HEIGHT : _g, _h = _a.isLeaf, isLeaf = _h === void 0 ? defaultIsLeaf : _h;
11
+ var styles = useStyles();
12
+ var internalTreeData = useMemo(function () { return convertTreeData({ data: treeData, isLeaf: isLeaf }); }, [isLeaf, treeData]);
13
+ // eslint-disable-next-line no-unused-vars
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+ var handleDrop = function (_a) {
16
+ var node = _a.node, dragNode = _a.dragNode, dragNodesKeys = _a.dragNodesKeys;
17
+ // TODO: implement
18
+ };
19
+ // eslint-disable-next-line no-unused-vars
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ var handleDragEnter = function (_a) {
22
+ var event = _a.event, node = _a.node, expandedKeys = _a.expandedKeys;
23
+ // TODO: implement
24
+ };
25
+ // eslint-disable-next-line no-unused-vars
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
+ var dropIndicatorRender = function (_a) {
28
+ var dropPosition = _a.dropPosition, dropLevelOffset = _a.dropLevelOffset, indent = _a.indent, prefixCls = _a.prefixCls, direction = _a.direction;
29
+ // TODO: implement
30
+ };
31
+ var renderSwitcherIcon = useCallback(function (node) { return React.createElement(SwitchRenderer, { node: node }); }, []);
32
+ return internalTreeData ? (React.createElement(Tree, { allowDrop: canDrop, draggable: canDrag, onDragStart: function () { }, onDragEnter: handleDragEnter, onDrop: handleDrop, virtual: isVirtualized, itemHeight: minItemHeight, height: height, showIcon: false, showLine: true, switcherIcon: renderSwitcherIcon, defaultExpandAll: defaultExpandAll, className: classnames(className, styles.treeWrapper), titleRender: renderNode ? function (node) { return renderNode(node.value); } : undefined, treeData: internalTreeData, selectable: false, loadData: onLoadChildren ? function (node) { return onLoadChildren(node.value); } : undefined, "data-reltio-id": "rc-tree" })) : null;
33
+ };
@@ -0,0 +1,12 @@
1
+ import { TreeNodeProps } from 'rc-tree';
2
+ import { RCTreeNode } from './types';
3
+ export declare const defaultIsLeaf: ({ children }: {
4
+ children?: unknown[];
5
+ }) => boolean;
6
+ type Props = {
7
+ data: Array<RCTreeNode & Record<string, unknown>>;
8
+ parentPath?: number[];
9
+ isLeaf: (node: TreeNodeProps & Record<string, unknown>) => boolean;
10
+ };
11
+ export declare const convertTreeData: ({ data, parentPath, isLeaf }: Props) => any;
12
+ export {};
@@ -0,0 +1,35 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ export var defaultIsLeaf = function (_a) {
22
+ var _b = _a.children, children = _b === void 0 ? [] : _b;
23
+ return !children.length;
24
+ };
25
+ export var convertTreeData = function (_a) {
26
+ var data = _a.data, _b = _a.parentPath, parentPath = _b === void 0 ? [] : _b, isLeaf = _a.isLeaf;
27
+ return data.map(function (item) {
28
+ var _a;
29
+ var path = __spreadArray(__spreadArray([], parentPath, true), [item.nodeId], false);
30
+ return __assign({ key: item.nodeId, value: __assign(__assign({}, item), { path: path }), title: (_a = item.title) !== null && _a !== void 0 ? _a : '', isLeaf: isLeaf(item) }, (item.children &&
31
+ item.children.length && {
32
+ children: convertTreeData({ data: item.children, parentPath: path, isLeaf: isLeaf })
33
+ }));
34
+ });
35
+ };
@@ -0,0 +1 @@
1
+ export { RCTree } from './RCTree';
@@ -0,0 +1 @@
1
+ export { RCTree } from './RCTree';
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global .rc-tree-node-content-wrapper" | "@global .rc-tree-treenode" | "@global .rc-tree-icon_loading">;
@@ -0,0 +1,37 @@
1
+ import { makeStyles } from '@mui/styles';
2
+ export var useStyles = makeStyles(function () { return ({
3
+ switcherButtonWrapper: {
4
+ paddingTop: '9px',
5
+ paddingLeft: '6px',
6
+ width: '16px',
7
+ height: '16px',
8
+ backgroundColor: 'white',
9
+ cursor: 'pointer'
10
+ },
11
+ switcherButton: {
12
+ transition: 'transform .15s ease',
13
+ width: 0,
14
+ height: 0,
15
+ borderLeft: '4px solid transparent',
16
+ borderRight: '4px solid transparent',
17
+ borderTop: '4px solid rgba(0, 0, 0, 0.54)'
18
+ },
19
+ collapseButton: {
20
+ transform: 'rotate(0deg)'
21
+ },
22
+ expandButton: {
23
+ transform: ' rotate(-90deg)'
24
+ },
25
+ treeWrapper: {
26
+ border: 'none'
27
+ },
28
+ '@global .rc-tree-node-content-wrapper': {
29
+ height: 'auto !important'
30
+ },
31
+ '@global .rc-tree-treenode': {
32
+ display: 'flex'
33
+ },
34
+ '@global .rc-tree-icon_loading': {
35
+ display: 'none !important'
36
+ }
37
+ }); });
@@ -0,0 +1,4 @@
1
+ export type RCTreeNode = {
2
+ nodeId: number;
3
+ children?: RCTreeNode[];
4
+ };
@@ -0,0 +1 @@
1
+ export {};
package/esm/index.d.ts CHANGED
@@ -149,6 +149,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
149
149
  export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
150
150
  export { MultiSelect } from './MultiSelect';
151
151
  export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
152
+ export { RCTree } from './RCTree';
152
153
  export { ReltioGridLayout } from './ReltioGridLayout';
153
154
  export { ResizablePanes } from './ResizablePanes';
154
155
  export { ProfileResizablePanes } from './ProfileResizablePanes';
package/esm/index.js CHANGED
@@ -150,6 +150,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
150
150
  export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
151
151
  export { MultiSelect } from './MultiSelect';
152
152
  export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
153
+ export { RCTree } from './RCTree';
153
154
  export { ReltioGridLayout } from './ReltioGridLayout';
154
155
  export { ResizablePanes } from './ResizablePanes';
155
156
  export { ProfileResizablePanes } from './ProfileResizablePanes';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1924",
3
+ "version": "1.4.1925",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -8,7 +8,7 @@
8
8
  "@fluentui/react-context-selector": "^9.1.26",
9
9
  "@react-google-maps/api": "2.7.0",
10
10
  "@react-sigma/core": "3.4.0",
11
- "@reltio/mdm-sdk": "^1.4.1843",
11
+ "@reltio/mdm-sdk": "^1.4.1844",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",