@reltio/components 1.4.1069 → 1.4.1072

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/cjs/components/AttributeGroupIcon/AttributeGroupIcon.d.ts +11 -0
  2. package/cjs/components/AttributeGroupIcon/AttributeGroupIcon.js +20 -0
  3. package/cjs/components/AttributeGroupIcon/styles.d.ts +1 -0
  4. package/cjs/components/AttributeGroupIcon/styles.js +11 -0
  5. package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +9 -0
  6. package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +112 -0
  7. package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.d.ts +9 -0
  8. package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +53 -0
  9. package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.d.ts +7 -0
  10. package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +56 -0
  11. package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/styles.d.ts +2 -0
  12. package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/styles.js +9 -0
  13. package/cjs/components/AttributesFiltersBuilder/components/RowActions/RowActions.d.ts +4 -0
  14. package/cjs/components/AttributesFiltersBuilder/components/RowActions/RowActions.js +51 -0
  15. package/cjs/components/AttributesFiltersBuilder/components/RowActions/styles.d.ts +1 -0
  16. package/cjs/components/AttributesFiltersBuilder/components/RowActions/styles.js +23 -0
  17. package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.d.ts +4 -0
  18. package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.js +60 -0
  19. package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/styles.d.ts +1 -0
  20. package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/styles.js +25 -0
  21. package/cjs/components/AttributesFiltersBuilder/helpers.d.ts +12 -0
  22. package/cjs/components/AttributesFiltersBuilder/helpers.js +77 -0
  23. package/cjs/components/AttributesFiltersBuilder/styles.d.ts +1 -0
  24. package/cjs/components/AttributesFiltersBuilder/styles.js +21 -0
  25. package/cjs/components/AttributesFiltersBuilder/types.d.ts +24 -0
  26. package/cjs/components/AttributesFiltersBuilder/types.js +2 -0
  27. package/cjs/components/AttributesFiltersButton/ActionButtons/ActionButtons.d.ts +8 -0
  28. package/cjs/components/AttributesFiltersButton/ActionButtons/ActionButtons.js +18 -0
  29. package/cjs/components/AttributesFiltersButton/ActionButtons/styles.d.ts +1 -0
  30. package/cjs/components/AttributesFiltersButton/ActionButtons/styles.js +26 -0
  31. package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +9 -0
  32. package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.js +82 -0
  33. package/cjs/components/AttributesFiltersButton/styles.d.ts +1 -0
  34. package/cjs/components/AttributesFiltersButton/styles.js +30 -0
  35. package/cjs/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.d.ts +14 -0
  36. package/cjs/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.js +27 -0
  37. package/cjs/components/BasicAttributeSelector/AttributeTitle/styles.d.ts +2 -0
  38. package/cjs/components/BasicAttributeSelector/AttributeTitle/styles.js +44 -0
  39. package/cjs/components/BasicAttributeSelector/BasicAttributeSelector.d.ts +4 -0
  40. package/cjs/components/BasicAttributeSelector/BasicAttributeSelector.js +99 -0
  41. package/cjs/components/BasicAttributeSelector/helpers.d.ts +22 -0
  42. package/cjs/components/BasicAttributeSelector/helpers.js +80 -0
  43. package/cjs/components/BasicAttributeSelector/styles.d.ts +2 -0
  44. package/cjs/components/BasicAttributeSelector/styles.js +14 -0
  45. package/cjs/components/ConnectionEditor/ConnectionEditor.d.ts +12 -3
  46. package/cjs/components/ConnectionEditor/ConnectionEditor.js +72 -5
  47. package/cjs/components/ConnectionEditor/styles.d.ts +1 -0
  48. package/cjs/components/ConnectionEditor/styles.js +12 -0
  49. package/cjs/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js +3 -2
  50. package/cjs/components/QueryBuilderRow/QueryBuilderRow.d.ts +2 -2
  51. package/cjs/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.d.ts +2 -2
  52. package/cjs/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.js +1 -1
  53. package/cjs/components/SelectAttributesList/SelectAttributesList.d.ts +14 -0
  54. package/cjs/components/SelectAttributesList/SelectAttributesList.js +75 -0
  55. package/cjs/components/SelectAttributesList/styles.d.ts +1 -0
  56. package/cjs/components/SelectAttributesList/styles.js +16 -0
  57. package/cjs/components/SelectionPopup/SelectionPopup.d.ts +1 -1
  58. package/cjs/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.d.ts +2 -2
  59. package/cjs/components/attributes/editMode/EntitySelector/EntitySelector.d.ts +1 -1
  60. package/cjs/components/attributes/editMode/EntitySelector/EntitySelector.js +13 -6
  61. package/cjs/components/index.d.ts +4 -0
  62. package/cjs/components/index.js +9 -1
  63. package/cjs/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
  64. package/cjs/components/workflow/hooks/useWorkflowAssignee.js +2 -2
  65. package/cjs/constants/prop-types.d.ts +1 -1
  66. package/cjs/constants/prop-types.js +1 -1
  67. package/cjs/hooks/useEditableConnection.d.ts +10 -4
  68. package/cjs/hooks/useEditableConnection.js +27 -3
  69. package/cjs/icons/Duplicate.d.ts +3 -0
  70. package/cjs/icons/Duplicate.js +28 -0
  71. package/cjs/icons/index.d.ts +6 -3
  72. package/cjs/icons/index.js +14 -7
  73. package/cjs/types/index.d.ts +40 -0
  74. package/esm/components/AttributeGroupIcon/AttributeGroupIcon.d.ts +11 -0
  75. package/esm/components/AttributeGroupIcon/AttributeGroupIcon.js +15 -0
  76. package/esm/components/AttributeGroupIcon/styles.d.ts +1 -0
  77. package/esm/components/AttributeGroupIcon/styles.js +8 -0
  78. package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +9 -0
  79. package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +88 -0
  80. package/esm/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.d.ts +9 -0
  81. package/esm/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +29 -0
  82. package/esm/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.d.ts +7 -0
  83. package/esm/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +32 -0
  84. package/esm/components/AttributesFiltersBuilder/components/FilterSelector/styles.d.ts +2 -0
  85. package/esm/components/AttributesFiltersBuilder/components/FilterSelector/styles.js +7 -0
  86. package/esm/components/AttributesFiltersBuilder/components/RowActions/RowActions.d.ts +4 -0
  87. package/esm/components/AttributesFiltersBuilder/components/RowActions/RowActions.js +27 -0
  88. package/esm/components/AttributesFiltersBuilder/components/RowActions/styles.d.ts +1 -0
  89. package/esm/components/AttributesFiltersBuilder/components/RowActions/styles.js +20 -0
  90. package/esm/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.d.ts +4 -0
  91. package/esm/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.js +36 -0
  92. package/esm/components/AttributesFiltersBuilder/components/ValueEditor/styles.d.ts +1 -0
  93. package/esm/components/AttributesFiltersBuilder/components/ValueEditor/styles.js +22 -0
  94. package/esm/components/AttributesFiltersBuilder/helpers.d.ts +12 -0
  95. package/esm/components/AttributesFiltersBuilder/helpers.js +70 -0
  96. package/esm/components/AttributesFiltersBuilder/styles.d.ts +1 -0
  97. package/esm/components/AttributesFiltersBuilder/styles.js +18 -0
  98. package/esm/components/AttributesFiltersBuilder/types.d.ts +24 -0
  99. package/esm/components/AttributesFiltersBuilder/types.js +1 -0
  100. package/esm/components/AttributesFiltersButton/ActionButtons/ActionButtons.d.ts +8 -0
  101. package/esm/components/AttributesFiltersButton/ActionButtons/ActionButtons.js +13 -0
  102. package/esm/components/AttributesFiltersButton/ActionButtons/styles.d.ts +1 -0
  103. package/esm/components/AttributesFiltersButton/ActionButtons/styles.js +23 -0
  104. package/esm/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +9 -0
  105. package/esm/components/AttributesFiltersButton/AttributesFiltersButton.js +58 -0
  106. package/esm/components/AttributesFiltersButton/styles.d.ts +1 -0
  107. package/esm/components/AttributesFiltersButton/styles.js +27 -0
  108. package/esm/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.d.ts +14 -0
  109. package/esm/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.js +22 -0
  110. package/esm/components/BasicAttributeSelector/AttributeTitle/styles.d.ts +2 -0
  111. package/esm/components/BasicAttributeSelector/AttributeTitle/styles.js +42 -0
  112. package/esm/components/BasicAttributeSelector/BasicAttributeSelector.d.ts +4 -0
  113. package/esm/components/BasicAttributeSelector/BasicAttributeSelector.js +75 -0
  114. package/esm/components/BasicAttributeSelector/helpers.d.ts +22 -0
  115. package/esm/components/BasicAttributeSelector/helpers.js +72 -0
  116. package/esm/components/BasicAttributeSelector/styles.d.ts +2 -0
  117. package/esm/components/BasicAttributeSelector/styles.js +12 -0
  118. package/esm/components/ConnectionEditor/ConnectionEditor.d.ts +12 -3
  119. package/esm/components/ConnectionEditor/ConnectionEditor.js +74 -7
  120. package/esm/components/ConnectionEditor/styles.d.ts +1 -0
  121. package/esm/components/ConnectionEditor/styles.js +9 -0
  122. package/esm/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js +3 -2
  123. package/esm/components/QueryBuilderRow/QueryBuilderRow.d.ts +2 -2
  124. package/esm/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.d.ts +2 -2
  125. package/esm/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.js +1 -1
  126. package/esm/components/SelectAttributesList/SelectAttributesList.d.ts +14 -0
  127. package/esm/components/SelectAttributesList/SelectAttributesList.js +51 -0
  128. package/esm/components/SelectAttributesList/styles.d.ts +1 -0
  129. package/esm/components/SelectAttributesList/styles.js +13 -0
  130. package/esm/components/SelectionPopup/SelectionPopup.d.ts +1 -1
  131. package/esm/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.d.ts +2 -2
  132. package/esm/components/attributes/editMode/EntitySelector/EntitySelector.d.ts +1 -1
  133. package/esm/components/attributes/editMode/EntitySelector/EntitySelector.js +13 -6
  134. package/esm/components/index.d.ts +4 -0
  135. package/esm/components/index.js +4 -0
  136. package/esm/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
  137. package/esm/components/workflow/hooks/useWorkflowAssignee.js +1 -1
  138. package/esm/constants/prop-types.d.ts +1 -1
  139. package/esm/constants/prop-types.js +1 -1
  140. package/esm/hooks/useEditableConnection.d.ts +10 -4
  141. package/esm/hooks/useEditableConnection.js +24 -3
  142. package/esm/icons/Duplicate.d.ts +3 -0
  143. package/esm/icons/Duplicate.js +23 -0
  144. package/esm/icons/index.d.ts +6 -3
  145. package/esm/icons/index.js +6 -3
  146. package/esm/types/index.d.ts +40 -0
  147. package/package.json +3 -3
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { AttributeSelectorItem } from '../../../types';
3
+ declare type Value = {
4
+ fieldName: string;
5
+ title: string;
6
+ };
7
+ declare type Props = {
8
+ value: AttributeSelectorItem;
9
+ disabled: boolean;
10
+ getLabel: (value: Value) => string;
11
+ onSelectAttributeClick: (event: any) => void;
12
+ };
13
+ declare const AttributeTitle: ({ value, getLabel, onSelectAttributeClick, disabled }: Props) => JSX.Element;
14
+ export default AttributeTitle;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import i18n from 'ui-i18n';
3
+ import classnames from 'classnames';
4
+ import { either, prop } from 'ramda';
5
+ import { ArrowDropDown } from '@material-ui/icons';
6
+ import ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueTooltip';
7
+ import SmallIconButton from '../../SmallIconButton/SmallIconButton';
8
+ import useStyles from './styles';
9
+ var defaultGetLabel = either(prop('title'), prop('fieldName'));
10
+ var AttributeTitle = function (_a) {
11
+ var _b, _c, _d;
12
+ var value = _a.value, _e = _a.getLabel, getLabel = _e === void 0 ? defaultGetLabel : _e, onSelectAttributeClick = _a.onSelectAttributeClick, _f = _a.disabled, disabled = _f === void 0 ? false : _f;
13
+ var styles = useStyles();
14
+ var label = value && getLabel(value);
15
+ return (React.createElement("div", { onClick: disabled ? undefined : onSelectAttributeClick, className: classnames(styles.attribute, (_b = {},
16
+ _b[styles.attributeWithValue] = !!label,
17
+ _b), (_c = {}, _c[styles.disabled] = disabled, _c)) },
18
+ React.createElement(ExpandedValueTooltip, { value: label },
19
+ React.createElement("div", { className: classnames(styles.name, (_d = {}, _d[styles.disabled] = disabled, _d)) }, label || React.createElement("span", { className: styles.noSelect }, i18n.text('Select attribute')))),
20
+ React.createElement(SmallIconButton, { size: 'M', icon: ArrowDropDown, disabled: disabled })));
21
+ };
22
+ export default AttributeTitle;
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"attribute" | "name" | "disabled" | "attributeWithValue" | "noSelect">;
2
+ export default useStyles;
@@ -0,0 +1,42 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ var useStyles = makeStyles({
3
+ attribute: {
4
+ cursor: 'pointer',
5
+ lineHeight: '16px',
6
+ flexBasis: '100%',
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ padding: '0 10px 0 16px',
10
+ width: 'calc(100% - 32px)',
11
+ '&$attributeWithValue': {
12
+ borderBottom: '1px solid rgba(0,0,0,0.38)'
13
+ },
14
+ '&$disabled': {
15
+ cursor: 'default'
16
+ }
17
+ },
18
+ disabled: {},
19
+ attributeWithValue: {},
20
+ noSelect: {},
21
+ name: {
22
+ fontSize: '14px',
23
+ color: 'rgba(0,0,0,0.87)',
24
+ overflow: 'hidden',
25
+ whiteSpace: 'nowrap',
26
+ textOverflow: 'ellipsis',
27
+ direction: 'rtl',
28
+ textAlign: 'left',
29
+ flex: '1 0',
30
+ width: '0',
31
+ '& $noSelect': {
32
+ color: 'rgba(0,0,0,0.38)'
33
+ },
34
+ '&$disabled': {
35
+ color: 'rgba(0,0,0,0.26)',
36
+ '& $noSelect': {
37
+ color: 'rgba(0,0,0,0.26)'
38
+ }
39
+ }
40
+ }
41
+ });
42
+ export default useStyles;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { BasicAttributeSelectorProps } from '../../types';
3
+ declare const _default: React.MemoExoticComponent<({ className, itemsGroups, value, getLabel, onSelect, onRestoreFocus, onOpenPopup, disableRestoreFocus, disableEnforceFocus, single, ungroup, disabled, hideCheckBox }: BasicAttributeSelectorProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,75 @@
1
+ import React, { memo, useCallback, useMemo, useRef, useState } from 'react';
2
+ import i18n from 'ui-i18n';
3
+ import classnames from 'classnames';
4
+ import { identity, pipe, tap, prop, flatten, pick, map, chain, when, always } from 'ramda';
5
+ import SelectionPopup from '../SelectionPopup/SelectionPopup';
6
+ import { useKeyboardNavigation } from '../SelectionPopup/helpers';
7
+ import AttributeTitle from './AttributeTitle/AttributeTitle';
8
+ import { filterSelectedAttributes, getAttributeIndex, getContainerWidth, getOnEnterHandler, prepareGroupsForSelectAttributeList } from './helpers';
9
+ import SelectAttributesList from '../SelectAttributesList/SelectAttributesList';
10
+ import { flattenGroupedItemsData } from '../VirtualGroupedList/helpers';
11
+ import useStyles from './styles';
12
+ var ATTRIBUTES_LIST_HEIGHT = 400;
13
+ var ATTRIBUTES_LIST_WIDTH = 308;
14
+ var ATTRIBUTES_POPUP_HEIGHT = 507;
15
+ var BasicAttributeSelector = function (_a) {
16
+ var className = _a.className, itemsGroups = _a.itemsGroups, value = _a.value, getLabel = _a.getLabel, onSelect = _a.onSelect, _b = _a.onRestoreFocus, onRestoreFocus = _b === void 0 ? identity : _b, _c = _a.onOpenPopup, onOpenPopup = _c === void 0 ? identity : _c, _d = _a.disableRestoreFocus, disableRestoreFocus = _d === void 0 ? false : _d, _e = _a.disableEnforceFocus, disableEnforceFocus = _e === void 0 ? false : _e, _f = _a.single, single = _f === void 0 ? false : _f, _g = _a.ungroup, ungroup = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.hideCheckBox, hideCheckBox = _j === void 0 ? false : _j;
17
+ var styles = useStyles();
18
+ var _k = useState(null), selectAnchor = _k[0], setSelectAnchor = _k[1];
19
+ var openPopup = function (event) {
20
+ onOpenPopup();
21
+ setSelectAnchor(event.currentTarget);
22
+ };
23
+ var closePopup = useCallback(function () { return setSelectAnchor(null); }, []);
24
+ var isPopupOpen = !!selectAnchor;
25
+ var _l = useState(''), filterText = _l[0], setFilterText = _l[1];
26
+ var clearFilterText = useCallback(function () { return setFilterText(''); }, []);
27
+ var _m = useState([]), selectedAttributes = _m[0], setSelectedAttributes = _m[1];
28
+ var clearSelectedAttributes = useCallback(function () { return setSelectedAttributes([]); }, []);
29
+ var filteredItemsGroups = useMemo(function () { return prepareGroupsForSelectAttributeList(filterText, itemsGroups); }, [
30
+ itemsGroups,
31
+ filterText
32
+ ]);
33
+ var items = useMemo(function () {
34
+ return pipe(when(always(ungroup), chain(pipe(prop('items'), flatten, map(pick(['item', 'level']))))), flattenGroupedItemsData)(filteredItemsGroups);
35
+ }, [ungroup, filteredItemsGroups]);
36
+ var containerWidth = useMemo(function () { return Math.max(getContainerWidth(filteredItemsGroups), ATTRIBUTES_LIST_WIDTH); }, [
37
+ filteredItemsGroups
38
+ ]);
39
+ var handleOnClose = pipe(tap(pipe(clearSelectedAttributes, clearFilterText, closePopup)), onRestoreFocus);
40
+ var searchInputRef = useRef();
41
+ var onListItemClick = useCallback(function (attribute, checked) {
42
+ onSelect({
43
+ checked: checked,
44
+ attribute: attribute,
45
+ index: checked ? selectedAttributes.length : getAttributeIndex(selectedAttributes, attribute),
46
+ selectedAttributes: selectedAttributes
47
+ });
48
+ if (single) {
49
+ setSelectedAttributes(checked ? [attribute] : []);
50
+ handleOnClose({});
51
+ }
52
+ else {
53
+ setSelectedAttributes(filterSelectedAttributes({ selectedAttributes: selectedAttributes, attribute: attribute, checked: checked }));
54
+ if (searchInputRef.current) {
55
+ searchInputRef.current.focus();
56
+ }
57
+ }
58
+ }, [selectedAttributes, onSelect, single, handleOnClose, searchInputRef]);
59
+ var handleSearchOnEnter = useCallback(getOnEnterHandler({ onListItemClick: onListItemClick, selectedAttributes: selectedAttributes }), [
60
+ onListItemClick,
61
+ selectedAttributes
62
+ ]);
63
+ var _o = useKeyboardNavigation({
64
+ items: items,
65
+ open: isPopupOpen,
66
+ onSelectFocusedItem: handleSearchOnEnter,
67
+ selectedItems: selectedAttributes,
68
+ onClose: handleOnClose
69
+ }), focusIndex = _o.focusIndex, handleKeyDown = _o.handleKeyDown;
70
+ return (React.createElement("div", { className: classnames(styles.selector, className), "data-reltio-id": "attribute-selector" },
71
+ React.createElement(AttributeTitle, { value: value, getLabel: getLabel, onSelectAttributeClick: openPopup, disabled: disabled }),
72
+ React.createElement(SelectionPopup, { open: isPopupOpen, anchorEl: selectAnchor, onClose: handleOnClose, onSearch: setFilterText, title: i18n.text('Select attribute'), containerWidth: containerWidth, containerHeight: ATTRIBUTES_POPUP_HEIGHT, searchInputOnKeyDown: handleKeyDown, anchorOrigin: { horizontal: 'right', vertical: 'bottom' }, searchInputRef: searchInputRef, disableRestoreFocus: disableRestoreFocus, disableEnforceFocus: disableEnforceFocus },
73
+ React.createElement(SelectAttributesList, { items: items, onItemClick: onListItemClick, selectedAttributes: selectedAttributes, width: containerWidth, height: ATTRIBUTES_LIST_HEIGHT, focusIndex: focusIndex, hideCheckBox: hideCheckBox }))));
74
+ };
75
+ export default memo(BasicAttributeSelector);
@@ -0,0 +1,22 @@
1
+ import { AttributeSelectorItem, AttributeSelectorItemsGroup } from '../../types';
2
+ export declare const isEqualAttributes: any;
3
+ export declare const checkAttributeIncludes: (attribute: AttributeSelectorItem, selectedAttributes: AttributeSelectorItem[]) => boolean;
4
+ export declare const filterItemsTree: (item: AttributeSelectorItem, filterText: string) => boolean;
5
+ export declare const filterSelectedAttributes: ({ attribute, selectedAttributes, checked }: {
6
+ attribute: AttributeSelectorItem;
7
+ selectedAttributes: AttributeSelectorItem[];
8
+ checked: boolean;
9
+ }) => AttributeSelectorItem[];
10
+ export declare const getAttributeIndex: (selectedAttributes: AttributeSelectorItem[], attribute: AttributeSelectorItem) => number;
11
+ export declare const getContainerWidth: (items: any) => any;
12
+ export declare const getOnEnterHandler: ({ onListItemClick, selectedAttributes }: {
13
+ selectedAttributes: AttributeSelectorItem[];
14
+ onListItemClick: (attribute: AttributeSelectorItem, checked: boolean) => void;
15
+ }) => ({ item, groupData }: {
16
+ item: any;
17
+ groupData: any;
18
+ }) => void;
19
+ export declare const prepareGroupsForSelectAttributeList: (filterText: string, groups: AttributeSelectorItemsGroup[]) => {
20
+ item: AttributeSelectorItemsGroup[];
21
+ items: AttributeSelectorItem[];
22
+ };
@@ -0,0 +1,72 @@
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
+ import { eqBy, pick, curry } from 'ramda';
13
+ import { getMaxItemWidth } from '@reltio/mdm-sdk';
14
+ export var isEqualAttributes = eqBy(pick(['fieldName', 'uri', 'entityTypeUri']));
15
+ export var checkAttributeIncludes = function (attribute, selectedAttributes) {
16
+ return selectedAttributes && !!selectedAttributes.find(isEqualAttributes(attribute));
17
+ };
18
+ var filterItem = function (item, filterText) {
19
+ return item.title.toLowerCase().includes(filterText.toLowerCase());
20
+ };
21
+ export var filterItemsTree = function (item, filterText) {
22
+ return filterItem(item, filterText) || (item.children || []).some(function (item) { return filterItemsTree(item, filterText); });
23
+ };
24
+ export var filterSelectedAttributes = function (_a) {
25
+ var attribute = _a.attribute, selectedAttributes = _a.selectedAttributes, checked = _a.checked;
26
+ return checked
27
+ ? selectedAttributes.concat(attribute)
28
+ : selectedAttributes.filter(function (selectedAttribute) { return !isEqualAttributes(attribute, selectedAttribute); });
29
+ };
30
+ export var getAttributeIndex = function (selectedAttributes, attribute) {
31
+ return selectedAttributes.findIndex(isEqualAttributes(attribute));
32
+ };
33
+ export var getContainerWidth = getMaxItemWidth('title');
34
+ export var getOnEnterHandler = function (_a) {
35
+ var onListItemClick = _a.onListItemClick, selectedAttributes = _a.selectedAttributes;
36
+ return function (_a) {
37
+ var item = _a.item, groupData = _a.groupData;
38
+ var checked = checkAttributeIncludes(item, selectedAttributes);
39
+ onListItemClick(__assign(__assign({}, item), { groupName: groupData.groupName }), !checked);
40
+ };
41
+ };
42
+ var getAttributeGroupData = function (item, groupId, groupName, filterText, level, noFilter) {
43
+ if (level === void 0) { level = 0; }
44
+ if (noFilter === void 0) { noFilter = false; }
45
+ var isItemFiltered = filterItem(item, filterText);
46
+ return [
47
+ {
48
+ item: filterText ? __assign(__assign({}, item), { filterText: filterText }) : item,
49
+ level: level,
50
+ groupId: groupId,
51
+ groupName: groupName
52
+ }
53
+ ]
54
+ .concat(item.children
55
+ ? item.children
56
+ .filter(function (subItem) { return noFilter || isItemFiltered || filterItemsTree(subItem, filterText); })
57
+ .flatMap(function (subItem) {
58
+ return getAttributeGroupData(subItem, groupId, groupName, filterText, level + 1, noFilter || isItemFiltered);
59
+ })
60
+ : [])
61
+ .flat();
62
+ };
63
+ export var prepareGroupsForSelectAttributeList = curry(function (filterText, groups) {
64
+ return groups
65
+ .map(function (group) { return ({
66
+ item: group,
67
+ items: group.attributes
68
+ .filter(function (attribute) { return filterItemsTree(attribute, filterText); })
69
+ .map(function (item) { return getAttributeGroupData(item, group.id, group.title, filterText); })
70
+ }); })
71
+ .filter(function (group) { return group.items.length; });
72
+ });
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"selector">;
2
+ export default useStyles;
@@ -0,0 +1,12 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ var useStyles = makeStyles({
3
+ selector: {
4
+ minWidth: '200px',
5
+ alignItems: 'stretch',
6
+ background: 'rgba(0,0,0, 0.0267)',
7
+ boxSizing: 'border-box',
8
+ borderRadius: '4px',
9
+ display: 'flex'
10
+ }
11
+ });
12
+ export default useStyles;
@@ -1,11 +1,20 @@
1
1
  /// <reference types="react" />
2
- import { EditingConnection, AttributeItem } from '@reltio/mdm-sdk';
2
+ import { AttributeItem, EditingConnection, Entity, TRelationType } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
4
  connection: EditingConnection;
5
5
  showEmptyEditors?: boolean;
6
6
  onChangeAttribute: (attribute: AttributeItem) => void;
7
7
  onAddAttributes: (attributes: AttributeItem[]) => void;
8
- onRemoveAttribute: (attrbutes: AttributeItem) => void;
8
+ onRemoveAttribute: (attributes: AttributeItem) => void;
9
+ onChangeRelationType?: (value: {
10
+ type: string;
11
+ direction: string;
12
+ }) => void;
13
+ onChangeEntity?: (entity: Entity) => void;
14
+ relatedEntity?: Entity;
15
+ inRelationTypes?: TRelationType[];
16
+ outRelationTypes?: TRelationType[];
17
+ entityErrorMessage?: string;
9
18
  };
10
- export declare const ConnectionEditor: ({ connection, onChangeAttribute, onRemoveAttribute, onAddAttributes, showEmptyEditors }: Props) => JSX.Element;
19
+ export declare const ConnectionEditor: ({ connection, relatedEntity, inRelationTypes, outRelationTypes, showEmptyEditors, entityErrorMessage, onChangeAttribute, onRemoveAttribute, onAddAttributes, onChangeRelationType, onChangeEntity }: Props) => JSX.Element;
11
20
  export {};
@@ -9,20 +9,87 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import React, { useMemo } from 'react';
12
+ import { useStyles } from './styles';
13
+ import { useDidUpdateEffect } from '../../hooks';
14
+ import React, { useCallback, useEffect, useMemo } from 'react';
13
15
  import { useSelector } from 'react-redux';
14
16
  import mdmModule from '@reltio/mdm-module';
15
- import { getActivenessAttributes, getRelationAttributesList, ModeTypes } from '@reltio/mdm-sdk';
17
+ import { Directions, getActivenessAttributes, getSuitableEntityTypeUrisForRelationTypes, getDefaultRelationTypeObject, getLabel, getRelationAttributesList, getRelationType, isAvailableRelationBetweenEntities, ModeTypes } from '@reltio/mdm-sdk';
16
18
  import AttributesList from '../attributes/editMode/AttributesList';
19
+ import classnames from 'classnames';
20
+ import { uniq } from 'ramda';
21
+ import ConnectionRelationTypeSelector from '../ConnectionRelationTypeSelector/ConnectionRelationTypeSelector';
22
+ import ErrorWrapper from '../ErrorWrapper/ErrorWrapper';
23
+ import EntitySelector from '../attributes/editMode/EntitySelector/EntitySelector';
17
24
  export var ConnectionEditor = function (_a) {
18
- var connection = _a.connection, onChangeAttribute = _a.onChangeAttribute, onRemoveAttribute = _a.onRemoveAttribute, onAddAttributes = _a.onAddAttributes, showEmptyEditors = _a.showEmptyEditors;
19
- var relation = connection.relation;
20
- var attributes = relation.attributes, relationUri = relation.uri, _b = relation.type, relationTypeUri = _b === void 0 ? '' : _b;
25
+ var _b;
26
+ var connection = _a.connection, relatedEntity = _a.relatedEntity, _c = _a.inRelationTypes, inRelationTypes = _c === void 0 ? [] : _c, _d = _a.outRelationTypes, outRelationTypes = _d === void 0 ? [] : _d, showEmptyEditors = _a.showEmptyEditors, entityErrorMessage = _a.entityErrorMessage, onChangeAttribute = _a.onChangeAttribute, onRemoveAttribute = _a.onRemoveAttribute, onAddAttributes = _a.onAddAttributes, onChangeRelationType = _a.onChangeRelationType, onChangeEntity = _a.onChangeEntity;
27
+ var styles = useStyles();
28
+ var relation = connection.relation, entity = connection.entity;
29
+ var _e = relation || {}, attributes = _e.attributes, relationUri = _e.uri, _f = _e.type, relationTypeUri = _f === void 0 ? '' : _f, direction = _e.direction;
30
+ var isRelationTypeSelected = Boolean(relationTypeUri);
21
31
  var metadata = useSelector(mdmModule.selectors.getMetadata);
22
- var attributeListEntity = useMemo(function () { return (__assign({ attributes: attributes }, getActivenessAttributes(relation))); }, [relation, attributes]);
32
+ var attributeListEntity = useMemo(function () {
33
+ return relation && __assign({ attributes: attributes }, getActivenessAttributes(relation));
34
+ }, [relation, attributes]);
23
35
  var relationAttrTypes = useMemo(function () { return getRelationAttributesList(metadata, relationTypeUri); }, [
24
36
  relationTypeUri,
25
37
  metadata
26
38
  ]);
27
- return (React.createElement(AttributesList, { attrTypes: relationAttrTypes, entity: attributeListEntity, showEmptyEditors: showEmptyEditors, mode: ModeTypes.EDITING, parentUri: relationUri, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onRemoveAttribute }));
39
+ var availableEntityTypeUris = useMemo(function () {
40
+ return isRelationTypeSelected
41
+ ? getSuitableEntityTypeUrisForRelationTypes(direction === Directions.OUT, metadata, [
42
+ getRelationType(metadata, relationTypeUri)
43
+ ])
44
+ : uniq(getSuitableEntityTypeUrisForRelationTypes(true, metadata, outRelationTypes).concat(getSuitableEntityTypeUrisForRelationTypes(false, metadata, inRelationTypes)));
45
+ }, [isRelationTypeSelected, relationTypeUri, metadata, inRelationTypes, outRelationTypes]);
46
+ var globalSearchRequestOptions = useSelector(function (state) {
47
+ return mdmModule.selectors.getGlobalSearchRequestOptions(state, ['ovOnly']);
48
+ });
49
+ var selectorCompatibleRelation = useMemo(function () {
50
+ return relation && {
51
+ relationType: relation.type,
52
+ direction: relation.direction
53
+ };
54
+ }, [relation]);
55
+ var selectorCompatibleEntity = useMemo(function () {
56
+ return entity && {
57
+ entityUri: entity.uri,
58
+ entityType: entity.type,
59
+ entityLabel: getLabel(entity.label)
60
+ };
61
+ }, [entity]);
62
+ var availableInRelationTypes = useMemo(function () {
63
+ return entity && entity.uri
64
+ ? inRelationTypes.filter(isAvailableRelationBetweenEntities(false, entity, relatedEntity, metadata))
65
+ : inRelationTypes;
66
+ }, [entity, inRelationTypes, relatedEntity, metadata]);
67
+ var availableOutRelationTypes = useMemo(function () {
68
+ return entity && entity.uri
69
+ ? outRelationTypes.filter(isAvailableRelationBetweenEntities(true, entity, relatedEntity, metadata))
70
+ : outRelationTypes;
71
+ }, [entity, outRelationTypes, relatedEntity, metadata]);
72
+ useEffect(function () {
73
+ // autoselecting relation type on mount
74
+ var _a = getDefaultRelationTypeObject(inRelationTypes, outRelationTypes) || {}, type = _a.type, direction = _a.direction;
75
+ if (!relationTypeUri && type && onChangeRelationType) {
76
+ onChangeRelationType({ type: type.uri, direction: direction });
77
+ }
78
+ }, [relationTypeUri, inRelationTypes, outRelationTypes, onChangeRelationType]);
79
+ useDidUpdateEffect(function () {
80
+ // autoselecting relation type on entity change
81
+ var _a = getDefaultRelationTypeObject(availableInRelationTypes, availableOutRelationTypes) || {}, type = _a.type, direction = _a.direction;
82
+ if (!relationTypeUri && type) {
83
+ onChangeRelationType({ type: type.uri, direction: direction });
84
+ }
85
+ }, [relationTypeUri, entity, availableInRelationTypes, availableOutRelationTypes, onChangeEntity]);
86
+ var handleChangeRelationType = useCallback(function (_a) {
87
+ var type = _a.type, direction = _a.direction;
88
+ onChangeRelationType({ type: type.uri, direction: direction });
89
+ }, [onChangeRelationType]);
90
+ return (React.createElement(React.Fragment, null,
91
+ onChangeRelationType && (React.createElement(ConnectionRelationTypeSelector, { className: styles.item, relation: selectorCompatibleRelation, metadata: metadata, inRelationTypes: inRelationTypes, outRelationTypes: outRelationTypes, onChange: handleChangeRelationType })),
92
+ onChangeEntity && (React.createElement(ErrorWrapper, { errorMessage: entityErrorMessage, className: styles.item },
93
+ React.createElement(EntitySelector, { key: relationTypeUri, className: classnames((_b = {}, _b[styles.dense] = entityErrorMessage, _b)), entity: selectorCompatibleEntity || {}, entityTypesUris: availableEntityTypeUris, max: 20, globalSearchRequestOptions: globalSearchRequestOptions, mode: ModeTypes.EDITING, onChange: onChangeEntity, onCreate: undefined, metadata: metadata, attributeTypesSelectionStrategy: undefined }))),
94
+ relationTypeUri && (React.createElement(AttributesList, { attrTypes: relationAttrTypes, entity: attributeListEntity, showEmptyEditors: showEmptyEditors, mode: ModeTypes.EDITING, parentUri: relationUri, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onRemoveAttribute }))));
28
95
  };
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"item" | "dense">;
@@ -0,0 +1,9 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles({
3
+ item: {
4
+ marginBottom: '16px'
5
+ },
6
+ dense: {
7
+ marginBottom: 0
8
+ }
9
+ });
@@ -40,11 +40,12 @@ var ConnectionRelationTypeSelector = function (_a) {
40
40
  outRelationTypes,
41
41
  onChange
42
42
  ]);
43
+ var hasValue = !!relation.relationType;
43
44
  useEffect(function () {
44
- if (applyFirstByDefault && relationsTypesOptions.length) {
45
+ if (applyFirstByDefault && relationsTypesOptions.length && !hasValue) {
45
46
  handleChange(relationsTypesOptions[0]);
46
47
  }
47
- }, [relationsTypesOptions, applyFirstByDefault, handleChange]);
48
+ }, [relationsTypesOptions, applyFirstByDefault, handleChange, hasValue]);
48
49
  return (React.createElement(RelationTypeSelector, __assign({ value: toEditorValue(relation, relationsTypesOptions), options: relationsTypesOptions, onChange: handleChange }, otherProps)));
49
50
  };
50
51
  ConnectionRelationTypeSelector.propTypes = {
@@ -40,7 +40,7 @@ declare var _default: React.MemoExoticComponent<{
40
40
  actionsContainer: PropTypes.Requireable<string>;
41
41
  }>>;
42
42
  rowData: PropTypes.Requireable<PropTypes.InferProps<{
43
- id: PropTypes.Requireable<string>;
43
+ id: PropTypes.Requireable<string | number>;
44
44
  values: PropTypes.Requireable<any[]>;
45
45
  data: PropTypes.Requireable<PropTypes.InferProps<{
46
46
  title: PropTypes.Requireable<string>;
@@ -69,7 +69,7 @@ declare var _default: React.MemoExoticComponent<{
69
69
  operator: PropTypes.Requireable<string>;
70
70
  }>>;
71
71
  previousRowData: PropTypes.Requireable<PropTypes.InferProps<{
72
- id: PropTypes.Requireable<string>;
72
+ id: PropTypes.Requireable<string | number>;
73
73
  values: PropTypes.Requireable<any[]>;
74
74
  data: PropTypes.Requireable<PropTypes.InferProps<{
75
75
  title: PropTypes.Requireable<string>;
@@ -1,7 +1,7 @@
1
1
  declare var _default: React.MemoExoticComponent<{
2
2
  ({ className, rowClasses, rowsData, lastRowAttributeSelectorProps, filterSelectorRef, filterSelectorRefIndex, ...rowProps }: {
3
3
  [x: string]: any;
4
- className: any;
4
+ className?: any;
5
5
  rowClasses: any;
6
6
  rowsData: any;
7
7
  lastRowAttributeSelectorProps: any;
@@ -19,7 +19,7 @@ declare var _default: React.MemoExoticComponent<{
19
19
  actionsContainer: PropTypes.Requireable<string>;
20
20
  }>>;
21
21
  rowsData: PropTypes.Requireable<PropTypes.InferProps<{
22
- id: PropTypes.Requireable<string>;
22
+ id: PropTypes.Requireable<string | number>;
23
23
  values: PropTypes.Requireable<any[]>;
24
24
  data: PropTypes.Requireable<PropTypes.InferProps<{
25
25
  title: PropTypes.Requireable<string>;
@@ -26,7 +26,7 @@ import { path } from 'ramda';
26
26
  import QueryBuilderRow from '../QueryBuilderRow/QueryBuilderRow';
27
27
  import { QueryBuilderAttributeType } from '../../constants';
28
28
  var QueryBuilderRowsGroup = function (_a) {
29
- var className = _a.className, rowClasses = _a.rowClasses, rowsData = _a.rowsData, lastRowAttributeSelectorProps = _a.lastRowAttributeSelectorProps, filterSelectorRef = _a.filterSelectorRef, filterSelectorRefIndex = _a.filterSelectorRefIndex, rowProps = __rest(_a, ["className", "rowClasses", "rowsData", "lastRowAttributeSelectorProps", "filterSelectorRef", "filterSelectorRefIndex"]);
29
+ var _b = _a.className, className = _b === void 0 ? undefined : _b, rowClasses = _a.rowClasses, rowsData = _a.rowsData, lastRowAttributeSelectorProps = _a.lastRowAttributeSelectorProps, filterSelectorRef = _a.filterSelectorRef, filterSelectorRefIndex = _a.filterSelectorRefIndex, rowProps = __rest(_a, ["className", "rowClasses", "rowsData", "lastRowAttributeSelectorProps", "filterSelectorRef", "filterSelectorRefIndex"]);
30
30
  var renderRow = function (rowData, index, rowsData) {
31
31
  var previousRow = index > 0 ? path([index - 1], rowsData) : null;
32
32
  var lastRowProps = index === rowsData.length
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
+ import { AttributeSelectorItem } from '../../types';
4
+ declare type Data = {
5
+ attrType?: AttributeType;
6
+ };
7
+ declare type Props = {
8
+ selectedAttributes: AttributeSelectorItem[];
9
+ focusIndex: number;
10
+ hideCheckBox: boolean;
11
+ onItemClick: (data: Data, checked: boolean, groupId: string) => void;
12
+ } & Record<string, unknown>;
13
+ declare const _default: React.MemoExoticComponent<({ selectedAttributes, onItemClick, focusIndex, hideCheckBox, ...otherProps }: Props) => JSX.Element>;
14
+ export default _default;
@@ -0,0 +1,51 @@
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 __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React, { memo } from 'react';
24
+ import { useSelector } from 'react-redux';
25
+ import ListItem from '@material-ui/core/ListItem';
26
+ import mdmModule from '@reltio/mdm-module';
27
+ import AttributeListItem from '../AttributeListItem/AttributeListItem';
28
+ import VirtualGroupedList from '../VirtualGroupedList/VirtualGroupedList';
29
+ import Highlighter from '../Highlighter/Highlighter';
30
+ import AttributeGroupIcon from '../AttributeGroupIcon/AttributeGroupIcon';
31
+ import { checkAttributeIncludes } from '../BasicAttributeSelector/helpers';
32
+ import { useStyles } from './styles';
33
+ var ITEM_HEIGHT = 28;
34
+ var ITEM_GROUP_TITLE_HEIGHT = 40;
35
+ var SelectAttributesList = function (_a) {
36
+ var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
37
+ var styles = useStyles();
38
+ var metadata = useSelector(mdmModule.selectors.getMetadata);
39
+ var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
40
+ var renderGroupTitle = function (style, item) { return (React.createElement(ListItem, { component: 'div', className: styles.subHeader, style: style, key: "group-" + item.item.id },
41
+ item.item.needGroupIcon && React.createElement(AttributeGroupIcon, { group: item.item, metadata: metadata }),
42
+ item.item.title)); };
43
+ var renderItem = function (style, _a, index) {
44
+ var item = _a.item, level = _a.level, groupId = _a.groupId, groupName = _a.groupName;
45
+ var checked = checkAttributeIncludes(item, selectedAttributes);
46
+ var isFocused = index === focusIndex;
47
+ return (React.createElement(AttributeListItem, { key: "item-" + groupId + "-" + item.fieldName, onClick: onItemClick, checked: checked, data: __assign(__assign({}, item), { groupName: groupName }), notSelectable: item.notSelectable, hideCheckBox: hideCheckBox, label: React.createElement(Highlighter, { text: item.title, highlight: item.filterText }), labelInText: item.title, level: level, style: style, isFocused: isFocused, groupId: groupId, LogoIcon: item.LogoIcon }));
48
+ };
49
+ return (React.createElement(VirtualGroupedList, __assign({ getItemSize: getItemSize, renderItem: renderItem, renderGroupTitle: renderGroupTitle, focusIndex: focusIndex }, otherProps)));
50
+ };
51
+ export default memo(SelectAttributesList);
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"subHeader">;
@@ -0,0 +1,13 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles({
3
+ subHeader: {
4
+ backgroundColor: '#f5f5f5',
5
+ padding: '0 16px',
6
+ margin: 0,
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ color: 'rgba(0,0,0,0.84)',
10
+ fontSize: '14px',
11
+ fontWeight: 500
12
+ }
13
+ });
@@ -5,7 +5,7 @@ declare type Props = {
5
5
  containerWidth: number;
6
6
  containerHeight: number;
7
7
  children: React.ReactNode;
8
- PaperProps: Record<string, unknown>;
8
+ PaperProps?: Record<string, unknown>;
9
9
  searchInputOnKeyDown: (event: React.KeyboardEvent) => void;
10
10
  onSearch: (value?: string) => void;
11
11
  className?: string;
@@ -1,4 +1,4 @@
1
- import { ReactNode, VFC } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  declare type HeaderProps = {
3
3
  mainTitle?: string;
4
4
  secondTitle?: string;
@@ -8,5 +8,5 @@ declare type HeaderProps = {
8
8
  declare type Props = HeaderProps & {
9
9
  onClose: () => void;
10
10
  };
11
- export declare const SidePanelContentHeader: VFC<Props>;
11
+ export declare const SidePanelContentHeader: ({ onClose, mainTitle, secondTitle, content, rightContent }: Props) => JSX.Element;
12
12
  export {};
@@ -10,7 +10,7 @@ declare function EntitySelector({ entity, entityTypesUris, mode, max, onChange,
10
10
  metadata: any;
11
11
  globalSearchRequestOptions: any;
12
12
  attributeTypesSelectionStrategy: any;
13
- disableLinkClick: any;
13
+ disableLinkClick?: boolean;
14
14
  }): JSX.Element;
15
15
  declare namespace EntitySelector {
16
16
  namespace propTypes {