@reltio/components 1.4.2039 → 1.4.2041

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 (45) hide show
  1. package/BasicAttributeSelector/BasicAttributeSelector.js +4 -2
  2. package/BasicAttributeSelector/constants.d.ts +1 -0
  3. package/BasicAttributeSelector/constants.js +1 -0
  4. package/DateEditor/DateEditor.js +7 -1
  5. package/ImageDetailsView/components/MetaInfo/MetaInfo.js +2 -2
  6. package/Popper/Popper.js +5 -2
  7. package/SelectAttributesList/SelectAttributesList.js +2 -3
  8. package/SelectAttributesList/SelectAttributesList.module.css.js +9 -0
  9. package/SelectionPopup/SelectionPopup.js +7 -4
  10. package/TimestampEditor/TimestampEditor.js +7 -1
  11. package/cjs/BasicAttributeSelector/BasicAttributeSelector.js +3 -1
  12. package/cjs/BasicAttributeSelector/constants.d.ts +1 -0
  13. package/cjs/BasicAttributeSelector/constants.js +2 -1
  14. package/cjs/DateEditor/DateEditor.js +9 -3
  15. package/cjs/ImageDetailsView/components/MetaInfo/MetaInfo.js +2 -2
  16. package/cjs/Popper/Popper.js +5 -2
  17. package/cjs/SelectAttributesList/SelectAttributesList.js +3 -4
  18. package/cjs/SelectAttributesList/SelectAttributesList.module.css.js +9 -0
  19. package/cjs/SelectionPopup/SelectionPopup.js +7 -4
  20. package/cjs/TimestampEditor/TimestampEditor.js +9 -3
  21. package/cjs/constants/index.d.ts +1 -1
  22. package/cjs/constants/index.js +2 -1
  23. package/cjs/constants/theme.d.ts +2 -1
  24. package/cjs/constants/theme.js +8 -1
  25. package/cjs/contexts/ThemeProvider/ThemeProvider.d.ts +2 -1
  26. package/cjs/contexts/ThemeProvider/ThemeProvider.js +4 -3
  27. package/cjs/hooks/useMatchesColumnsData/useMatchesColumnsData.d.ts +2 -1
  28. package/cjs/hooks/useMatchesColumnsData/useMatchesColumnsData.js +3 -3
  29. package/constants/index.d.ts +1 -1
  30. package/constants/index.js +1 -1
  31. package/constants/theme.d.ts +2 -1
  32. package/constants/theme.js +7 -0
  33. package/contexts/ThemeProvider/ThemeProvider.d.ts +2 -1
  34. package/contexts/ThemeProvider/ThemeProvider.js +4 -3
  35. package/hooks/useMatchesColumnsData/useMatchesColumnsData.d.ts +2 -1
  36. package/hooks/useMatchesColumnsData/useMatchesColumnsData.js +3 -3
  37. package/package.json +1 -1
  38. package/ImageDetailsView/components/MetaInfo/theme.d.ts +0 -2
  39. package/ImageDetailsView/components/MetaInfo/theme.js +0 -8
  40. package/SelectAttributesList/styles.d.ts +0 -1
  41. package/SelectAttributesList/styles.js +0 -13
  42. package/cjs/ImageDetailsView/components/MetaInfo/theme.d.ts +0 -2
  43. package/cjs/ImageDetailsView/components/MetaInfo/theme.js +0 -11
  44. package/cjs/SelectAttributesList/styles.d.ts +0 -1
  45. package/cjs/SelectAttributesList/styles.js +0 -16
@@ -8,7 +8,7 @@ import { AttributeTitle } from './components/AttributeTitle';
8
8
  import { SelectAttributesList } from '../SelectAttributesList';
9
9
  import { flattenGroupedItemsData } from '../VirtualGroupedList';
10
10
  import { filterSelectedAttributes, getAttributeIndex, getContainerWidth, getOnEnterHandler, prepareGroupsForSelectAttributeList } from './helpers';
11
- import { ATTRIBUTES_LIST_WIDTH, ATTRIBUTES_LIST_HEIGHT, ATTRIBUTES_POPUP_HEIGHT } from './constants';
11
+ import { ATTRIBUTES_LIST_WIDTH, ATTRIBUTES_LIST_HEIGHT, ATTRIBUTES_POPUP_HEIGHT, ATTRIBUTES_LIST_MAX_WIDTH } from './constants';
12
12
  import { useStyles } from './styles';
13
13
  var BasicAttributeSelector = function (_a) {
14
14
  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;
@@ -28,7 +28,9 @@ var BasicAttributeSelector = function (_a) {
28
28
  var items = useMemo(function () {
29
29
  return pipe(when(always(ungroup), chain(pipe(prop('items'), flatten, map(pick(['item', 'level']))))), flattenGroupedItemsData)(filteredItemsGroups);
30
30
  }, [ungroup, filteredItemsGroups]);
31
- var containerWidth = useMemo(function () { return Math.max(getContainerWidth(filteredItemsGroups), ATTRIBUTES_LIST_WIDTH); }, [filteredItemsGroups]);
31
+ var containerWidth = useMemo(function () {
32
+ return Math.min(Math.max(getContainerWidth(filteredItemsGroups), ATTRIBUTES_LIST_WIDTH), ATTRIBUTES_LIST_MAX_WIDTH);
33
+ }, [filteredItemsGroups]);
32
34
  var handleOnClose = pipe(tap(pipe(clearSelectedAttributes, clearFilterText, closePopup)), onRestoreFocus);
33
35
  var searchInputRef = useRef();
34
36
  var onListItemClick = useCallback(function (attribute, checked) {
@@ -1,3 +1,4 @@
1
1
  export declare const ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export declare const ATTRIBUTES_LIST_WIDTH = 308;
3
+ export declare const ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export declare const ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -1,3 +1,4 @@
1
1
  export var ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export var ATTRIBUTES_LIST_WIDTH = 308;
3
+ export var ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export var ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -24,16 +24,19 @@ import React, { useMemo } from 'react';
24
24
  import moment from 'moment';
25
25
  import classnames from 'classnames';
26
26
  import { mergeDeepLeft, isNil } from 'ramda';
27
+ import { useTheme } from '@mui/styles';
27
28
  import { utils } from '@reltio/mdm-sdk';
28
29
  import { DatePicker } from '@mui/x-date-pickers/DatePicker';
29
30
  import { useDateEditor } from '../hooks/useDateEditor';
30
31
  import { useStyles } from './styles';
31
32
  export var DateEditor = function (_a) {
32
33
  var _b;
34
+ var _c;
33
35
  var minDate = _a.minDate, maxDate = _a.maxDate, valueProp = _a.value, format = _a.format, label = _a.label, onChange = _a.onChange, slotProps = _a.slotProps, isCrossedOut = _a.isCrossedOut, otherProps = __rest(_a, ["minDate", "maxDate", "value", "format", "label", "onChange", "slotProps", "isCrossedOut"]);
34
36
  var styles = useStyles();
35
37
  var value = useMemo(function () { return (isNil(valueProp) ? null : utils.dates.clearDateTime(valueProp)); }, [valueProp]);
36
- var _c = useDateEditor({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _c.errorMessage, editorValue = _c.editorValue, editorMaxDate = _c.editorMaxDate, editorMinDate = _c.editorMinDate, onError = _c.onError, handleChange = _c.onChange;
38
+ var _d = useDateEditor({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _d.errorMessage, editorValue = _d.editorValue, editorMaxDate = _d.editorMaxDate, editorMinDate = _d.editorMinDate, onError = _d.onError, handleChange = _d.onChange;
39
+ var currentTheme = useTheme();
37
40
  var basicSlotProps = {
38
41
  textField: {
39
42
  size: 'small',
@@ -50,6 +53,9 @@ export var DateEditor = function (_a) {
50
53
  },
51
54
  popper: {
52
55
  placement: 'bottom-start',
56
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
57
+ // @ts-ignore
58
+ 'data-mui-color-scheme': (_c = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _c === void 0 ? void 0 : _c.mode,
53
59
  modifiers: [
54
60
  {
55
61
  name: 'viewHeightModifier',
@@ -4,7 +4,7 @@ import Box from '@mui/material/Box';
4
4
  import { MetaInfoHeader } from '../MetaInfoHeader';
5
5
  import { MetaInfoList } from '../MetaInfoList';
6
6
  import { MetaInfoForm } from '../MetaInfoForm';
7
- import { darkTheme } from './theme';
7
+ import { darkTheme } from '../../../constants/theme';
8
8
  import { useEditMetaInfo } from './useEditMetaInfo';
9
9
  import { useMdmIsEditableMode, useMdmMode } from '../../../contexts/MdmModuleContext';
10
10
  var darkMuiTheme = createTheme(darkTheme);
@@ -14,7 +14,7 @@ export var MetaInfo = function (_a) {
14
14
  var isEditableMode = useMdmIsEditableMode();
15
15
  var _b = useEditMetaInfo({ attributeType: attributeType, initialAttributeValue: initialAttributeValue }), addAttributes = _b.addAttributes, changeAttribute = _b.changeAttribute, deleteAttribute = _b.deleteAttribute, clearLocalChanges = _b.clearLocalChanges, applyLocalChanges = _b.applyLocalChanges, attributeValue = _b.attributeValue, hasChanges = _b.hasChanges;
16
16
  return (React.createElement(ThemeProvider, { theme: darkMuiTheme },
17
- React.createElement(Box, null,
17
+ React.createElement(Box, { "data-mui-color-scheme": "dark" },
18
18
  React.createElement(MetaInfoHeader, { attributeType: attributeType, uri: attributeValue === null || attributeValue === void 0 ? void 0 : attributeValue.uri, onAddAttributes: isEditableMode ? addAttributes : undefined }),
19
19
  React.createElement(MetaInfoList, { attributeType: attributeType, attributeValue: attributeValue, imageAttributeFieldsOrder: imageAttributeFieldsOrder }),
20
20
  isEditableMode && (React.createElement(MetaInfoForm, { mode: mode, imageAttributeFieldsOrder: imageAttributeFieldsOrder, attributeType: attributeType, attributeValue: attributeValue, hasChanges: hasChanges, onDeleteAttribute: deleteAttribute, onChangeAttribute: changeAttribute, onAddAttributes: addAttributes, onCancel: clearLocalChanges, onApply: applyLocalChanges })))));
package/Popper/Popper.js CHANGED
@@ -27,14 +27,17 @@ import Portal from '@mui/material/Portal';
27
27
  import MUIPopper from '@mui/material/Popper';
28
28
  import { resizeBackdrops } from './helpers';
29
29
  import { useStyles } from './styles';
30
+ import { useTheme } from '@mui/styles';
30
31
  export var Popper = forwardRef(function (_a, ref) {
31
- var open = _a.open, anchorEl = _a.anchorEl, className = _a.className, _b = _a.modal, modal = _b === void 0 ? true : _b, _c = _a.excludeAnchorFromBackdrop, excludeAnchorFromBackdrop = _c === void 0 ? true : _c, _d = _a.onClose, onClose = _d === void 0 ? identity : _d, otherProps = __rest(_a, ["open", "anchorEl", "className", "modal", "excludeAnchorFromBackdrop", "onClose"]);
32
+ var _b;
33
+ var open = _a.open, anchorEl = _a.anchorEl, className = _a.className, _c = _a.modal, modal = _c === void 0 ? true : _c, _d = _a.excludeAnchorFromBackdrop, excludeAnchorFromBackdrop = _d === void 0 ? true : _d, _e = _a.onClose, onClose = _e === void 0 ? identity : _e, otherProps = __rest(_a, ["open", "anchorEl", "className", "modal", "excludeAnchorFromBackdrop", "onClose"]);
32
34
  var styles = useStyles();
33
35
  var leftBackdropRef = useRef();
34
36
  var rightBackdropRef = useRef();
35
37
  var topBackdropRef = useRef();
36
38
  var bottomBackdropRef = useRef();
37
39
  var rafIdRef = useRef();
40
+ var currentTheme = useTheme();
38
41
  useEffect(function () {
39
42
  if (open && modal) {
40
43
  resizeBackdrops({
@@ -54,6 +57,6 @@ export var Popper = forwardRef(function (_a, ref) {
54
57
  React.createElement("div", { ref: rightBackdropRef, className: styles.backdrop, onClick: onClose }),
55
58
  React.createElement("div", { ref: bottomBackdropRef, className: styles.backdrop, onClick: onClose }),
56
59
  React.createElement("div", { ref: leftBackdropRef, className: styles.backdrop, onClick: onClose }))) : (React.createElement("div", { className: styles.backdrop, onClick: onClose })))),
57
- React.createElement(MUIPopper, __assign({ open: open, anchorEl: anchorEl }, otherProps, { className: classnames(className, styles.popper), ref: ref }))));
60
+ React.createElement(MUIPopper, __assign({ "data-mui-color-scheme": (_b = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _b === void 0 ? void 0 : _b.mode, open: open, anchorEl: anchorEl }, otherProps, { className: classnames(className, styles.popper), ref: ref }))));
58
61
  });
59
62
  Popper.displayName = 'Popper';
@@ -28,17 +28,16 @@ import { Highlighter } from '../Highlighter';
28
28
  import { AttributeGroupIcon } from '../AttributeGroupIcon';
29
29
  import { useMdmMetadata } from '../contexts/MdmModuleContext';
30
30
  import { checkAttributeIncludes } from '../helpers/attributesView';
31
- import { useStyles } from './styles';
31
+ import styles from './SelectAttributesList.module.css';
32
32
  var ITEM_HEIGHT = 28;
33
33
  var ITEM_GROUP_TITLE_HEIGHT = 40;
34
34
  var SelectAttributesList = function (_a) {
35
35
  var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
36
- var styles = useStyles();
37
36
  var metadata = useMdmMetadata();
38
37
  var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
39
38
  var renderGroupTitle = function (style, item) { return (React.createElement(ListItem, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
40
39
  item.item.needGroupIcon && React.createElement(AttributeGroupIcon, { group: item.item, metadata: metadata }),
41
- item.item.title)); };
40
+ React.createElement("div", { className: styles.subHeaderTitle }, item.item.title))); };
42
41
  var renderItem = function (style, _a, index) {
43
42
  var item = _a.item, level = _a.level, groupId = _a.groupId, groupName = _a.groupName;
44
43
  var checked = checkAttributeIncludes(item, selectedAttributes);
@@ -0,0 +1,9 @@
1
+ const styles = {"subHeader":"SelectAttributesList-subHeader--3ac0v","subHeaderTitle":"SelectAttributesList-subHeaderTitle--Vazfd"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SelectAttributesList-subHeader--3ac0v{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.SelectAttributesList-subHeaderTitle--Vazfd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -26,19 +26,22 @@ import i18n from 'ui-i18n';
26
26
  import Popover from '@mui/material/Popover';
27
27
  import { SearchInput } from '../SearchInput';
28
28
  import { useStyles } from './styles';
29
+ import { useTheme } from '@mui/styles';
29
30
  export var SelectionPopup = function (_a) {
30
- var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _b = _a.headerPlacement, headerPlacement = _b === void 0 ? 'top' : _b, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _c = _a.anchorOrigin, anchorOrigin = _c === void 0 ? {
31
+ var _b;
32
+ var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _c = _a.headerPlacement, headerPlacement = _c === void 0 ? 'top' : _c, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _d = _a.anchorOrigin, anchorOrigin = _d === void 0 ? {
31
33
  vertical: 'top',
32
34
  horizontal: 'right'
33
- } : _c, _d = _a.transformOrigin, transformOrigin = _d === void 0 ? {
35
+ } : _d, _e = _a.transformOrigin, transformOrigin = _e === void 0 ? {
34
36
  vertical: 'top',
35
37
  horizontal: 'right'
36
- } : _d, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
38
+ } : _e, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
37
39
  var classes = useStyles({ containerWidth: containerWidth, containerHeight: containerHeight });
40
+ var currentTheme = useTheme();
38
41
  var header = (React.createElement(React.Fragment, null,
39
42
  !hideTitle && React.createElement("div", { className: classes.header }, title),
40
43
  !hideSearchInput && (React.createElement(SearchInput, { onSearch: onSearch, autofocus: true, onKeyDown: searchInputOnKeyDown, inputRef: searchInputRef, classes: { root: classes.searchInputContainer }, placeholder: i18n.text('Search & add attributes'), height: 40 }))));
41
- return (React.createElement(Popover, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin }, otherProps),
44
+ return (React.createElement(Popover, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, "data-mui-color-scheme": (_b = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _b === void 0 ? void 0 : _b.mode }, otherProps),
42
45
  React.createElement("div", { className: classnames(classes.container, className), style: { width: containerWidth } },
43
46
  headerPlacement === 'top' && header,
44
47
  React.createElement("div", { className: classes.list }, children),
@@ -23,6 +23,7 @@ var __rest = (this && this.__rest) || function (s, e) {
23
23
  import React from 'react';
24
24
  import classnames from 'classnames';
25
25
  import { isNil, mergeDeepLeft } from 'ramda';
26
+ import { useTheme } from '@mui/styles';
26
27
  import { getLocaleFormat } from '@reltio/mdm-sdk';
27
28
  import { renderTimeViewClock } from '@mui/x-date-pickers/timeViewRenderers';
28
29
  import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
@@ -30,9 +31,11 @@ import { useDateEditor } from '../hooks/useDateEditor';
30
31
  import { useStyles } from './styles';
31
32
  export var TimestampEditor = function (_a) {
32
33
  var _b;
34
+ var _c;
33
35
  var minDate = _a.minDate, maxDate = _a.maxDate, value = _a.value, label = _a.label, slotProps = _a.slotProps, onChange = _a.onChange, format = _a.format, isCrossedOut = _a.isCrossedOut, otherProps = __rest(_a, ["minDate", "maxDate", "value", "label", "slotProps", "onChange", "format", "isCrossedOut"]);
34
36
  var styles = useStyles();
35
- var _c = useDateEditor({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _c.errorMessage, editorValue = _c.editorValue, editorMaxDate = _c.editorMaxDate, editorMinDate = _c.editorMinDate, onError = _c.onError, handleChange = _c.onChange;
37
+ var _d = useDateEditor({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _d.errorMessage, editorValue = _d.editorValue, editorMaxDate = _d.editorMaxDate, editorMinDate = _d.editorMinDate, onError = _d.onError, handleChange = _d.onChange;
38
+ var currentTheme = useTheme();
36
39
  var basicSlotProps = {
37
40
  textField: {
38
41
  size: 'small',
@@ -49,6 +52,9 @@ export var TimestampEditor = function (_a) {
49
52
  },
50
53
  popper: {
51
54
  placement: 'bottom-start',
55
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
+ // @ts-ignore
57
+ 'data-mui-color-scheme': (_c = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _c === void 0 ? void 0 : _c.mode,
52
58
  modifiers: [
53
59
  {
54
60
  name: 'viewHeightModifier',
@@ -56,7 +56,9 @@ var BasicAttributeSelector = function (_a) {
56
56
  var items = (0, react_1.useMemo)(function () {
57
57
  return (0, ramda_1.pipe)((0, ramda_1.when)((0, ramda_1.always)(ungroup), (0, ramda_1.chain)((0, ramda_1.pipe)((0, ramda_1.prop)('items'), ramda_1.flatten, (0, ramda_1.map)((0, ramda_1.pick)(['item', 'level']))))), VirtualGroupedList_1.flattenGroupedItemsData)(filteredItemsGroups);
58
58
  }, [ungroup, filteredItemsGroups]);
59
- var containerWidth = (0, react_1.useMemo)(function () { return Math.max((0, helpers_1.getContainerWidth)(filteredItemsGroups), constants_1.ATTRIBUTES_LIST_WIDTH); }, [filteredItemsGroups]);
59
+ var containerWidth = (0, react_1.useMemo)(function () {
60
+ return Math.min(Math.max((0, helpers_1.getContainerWidth)(filteredItemsGroups), constants_1.ATTRIBUTES_LIST_WIDTH), constants_1.ATTRIBUTES_LIST_MAX_WIDTH);
61
+ }, [filteredItemsGroups]);
60
62
  var handleOnClose = (0, ramda_1.pipe)((0, ramda_1.tap)((0, ramda_1.pipe)(clearSelectedAttributes, clearFilterText, closePopup)), onRestoreFocus);
61
63
  var searchInputRef = (0, react_1.useRef)();
62
64
  var onListItemClick = (0, react_1.useCallback)(function (attribute, checked) {
@@ -1,3 +1,4 @@
1
1
  export declare const ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export declare const ATTRIBUTES_LIST_WIDTH = 308;
3
+ export declare const ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export declare const ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ATTRIBUTES_POPUP_HEIGHT = exports.ATTRIBUTES_LIST_WIDTH = exports.ATTRIBUTES_LIST_HEIGHT = void 0;
3
+ exports.ATTRIBUTES_POPUP_HEIGHT = exports.ATTRIBUTES_LIST_MAX_WIDTH = exports.ATTRIBUTES_LIST_WIDTH = exports.ATTRIBUTES_LIST_HEIGHT = void 0;
4
4
  exports.ATTRIBUTES_LIST_HEIGHT = 400;
5
5
  exports.ATTRIBUTES_LIST_WIDTH = 308;
6
+ exports.ATTRIBUTES_LIST_MAX_WIDTH = 620;
6
7
  exports.ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -53,16 +53,19 @@ var react_1 = __importStar(require("react"));
53
53
  var moment_1 = __importDefault(require("moment"));
54
54
  var classnames_1 = __importDefault(require("classnames"));
55
55
  var ramda_1 = require("ramda");
56
+ var styles_1 = require("@mui/styles");
56
57
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
57
58
  var DatePicker_1 = require("@mui/x-date-pickers/DatePicker");
58
59
  var useDateEditor_1 = require("../hooks/useDateEditor");
59
- var styles_1 = require("./styles");
60
+ var styles_2 = require("./styles");
60
61
  var DateEditor = function (_a) {
61
62
  var _b;
63
+ var _c;
62
64
  var minDate = _a.minDate, maxDate = _a.maxDate, valueProp = _a.value, format = _a.format, label = _a.label, onChange = _a.onChange, slotProps = _a.slotProps, isCrossedOut = _a.isCrossedOut, otherProps = __rest(_a, ["minDate", "maxDate", "value", "format", "label", "onChange", "slotProps", "isCrossedOut"]);
63
- var styles = (0, styles_1.useStyles)();
65
+ var styles = (0, styles_2.useStyles)();
64
66
  var value = (0, react_1.useMemo)(function () { return ((0, ramda_1.isNil)(valueProp) ? null : mdm_sdk_1.utils.dates.clearDateTime(valueProp)); }, [valueProp]);
65
- var _c = (0, useDateEditor_1.useDateEditor)({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _c.errorMessage, editorValue = _c.editorValue, editorMaxDate = _c.editorMaxDate, editorMinDate = _c.editorMinDate, onError = _c.onError, handleChange = _c.onChange;
67
+ var _d = (0, useDateEditor_1.useDateEditor)({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _d.errorMessage, editorValue = _d.editorValue, editorMaxDate = _d.editorMaxDate, editorMinDate = _d.editorMinDate, onError = _d.onError, handleChange = _d.onChange;
68
+ var currentTheme = (0, styles_1.useTheme)();
66
69
  var basicSlotProps = {
67
70
  textField: {
68
71
  size: 'small',
@@ -79,6 +82,9 @@ var DateEditor = function (_a) {
79
82
  },
80
83
  popper: {
81
84
  placement: 'bottom-start',
85
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
86
+ // @ts-ignore
87
+ 'data-mui-color-scheme': (_c = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _c === void 0 ? void 0 : _c.mode,
82
88
  modifiers: [
83
89
  {
84
90
  name: 'viewHeightModifier',
@@ -10,7 +10,7 @@ var Box_1 = __importDefault(require("@mui/material/Box"));
10
10
  var MetaInfoHeader_1 = require("../MetaInfoHeader");
11
11
  var MetaInfoList_1 = require("../MetaInfoList");
12
12
  var MetaInfoForm_1 = require("../MetaInfoForm");
13
- var theme_1 = require("./theme");
13
+ var theme_1 = require("../../../constants/theme");
14
14
  var useEditMetaInfo_1 = require("./useEditMetaInfo");
15
15
  var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
16
16
  var darkMuiTheme = (0, styles_1.createTheme)(theme_1.darkTheme);
@@ -20,7 +20,7 @@ var MetaInfo = function (_a) {
20
20
  var isEditableMode = (0, MdmModuleContext_1.useMdmIsEditableMode)();
21
21
  var _b = (0, useEditMetaInfo_1.useEditMetaInfo)({ attributeType: attributeType, initialAttributeValue: initialAttributeValue }), addAttributes = _b.addAttributes, changeAttribute = _b.changeAttribute, deleteAttribute = _b.deleteAttribute, clearLocalChanges = _b.clearLocalChanges, applyLocalChanges = _b.applyLocalChanges, attributeValue = _b.attributeValue, hasChanges = _b.hasChanges;
22
22
  return (react_1.default.createElement(styles_1.ThemeProvider, { theme: darkMuiTheme },
23
- react_1.default.createElement(Box_1.default, null,
23
+ react_1.default.createElement(Box_1.default, { "data-mui-color-scheme": "dark" },
24
24
  react_1.default.createElement(MetaInfoHeader_1.MetaInfoHeader, { attributeType: attributeType, uri: attributeValue === null || attributeValue === void 0 ? void 0 : attributeValue.uri, onAddAttributes: isEditableMode ? addAttributes : undefined }),
25
25
  react_1.default.createElement(MetaInfoList_1.MetaInfoList, { attributeType: attributeType, attributeValue: attributeValue, imageAttributeFieldsOrder: imageAttributeFieldsOrder }),
26
26
  isEditableMode && (react_1.default.createElement(MetaInfoForm_1.MetaInfoForm, { mode: mode, imageAttributeFieldsOrder: imageAttributeFieldsOrder, attributeType: attributeType, attributeValue: attributeValue, hasChanges: hasChanges, onDeleteAttribute: deleteAttribute, onChangeAttribute: changeAttribute, onAddAttributes: addAttributes, onCancel: clearLocalChanges, onApply: applyLocalChanges })))));
@@ -56,14 +56,17 @@ var Portal_1 = __importDefault(require("@mui/material/Portal"));
56
56
  var Popper_1 = __importDefault(require("@mui/material/Popper"));
57
57
  var helpers_1 = require("./helpers");
58
58
  var styles_1 = require("./styles");
59
+ var styles_2 = require("@mui/styles");
59
60
  exports.Popper = (0, react_1.forwardRef)(function (_a, ref) {
60
- var open = _a.open, anchorEl = _a.anchorEl, className = _a.className, _b = _a.modal, modal = _b === void 0 ? true : _b, _c = _a.excludeAnchorFromBackdrop, excludeAnchorFromBackdrop = _c === void 0 ? true : _c, _d = _a.onClose, onClose = _d === void 0 ? ramda_1.identity : _d, otherProps = __rest(_a, ["open", "anchorEl", "className", "modal", "excludeAnchorFromBackdrop", "onClose"]);
61
+ var _b;
62
+ var open = _a.open, anchorEl = _a.anchorEl, className = _a.className, _c = _a.modal, modal = _c === void 0 ? true : _c, _d = _a.excludeAnchorFromBackdrop, excludeAnchorFromBackdrop = _d === void 0 ? true : _d, _e = _a.onClose, onClose = _e === void 0 ? ramda_1.identity : _e, otherProps = __rest(_a, ["open", "anchorEl", "className", "modal", "excludeAnchorFromBackdrop", "onClose"]);
61
63
  var styles = (0, styles_1.useStyles)();
62
64
  var leftBackdropRef = (0, react_1.useRef)();
63
65
  var rightBackdropRef = (0, react_1.useRef)();
64
66
  var topBackdropRef = (0, react_1.useRef)();
65
67
  var bottomBackdropRef = (0, react_1.useRef)();
66
68
  var rafIdRef = (0, react_1.useRef)();
69
+ var currentTheme = (0, styles_2.useTheme)();
67
70
  (0, react_1.useEffect)(function () {
68
71
  if (open && modal) {
69
72
  (0, helpers_1.resizeBackdrops)({
@@ -83,6 +86,6 @@ exports.Popper = (0, react_1.forwardRef)(function (_a, ref) {
83
86
  react_1.default.createElement("div", { ref: rightBackdropRef, className: styles.backdrop, onClick: onClose }),
84
87
  react_1.default.createElement("div", { ref: bottomBackdropRef, className: styles.backdrop, onClick: onClose }),
85
88
  react_1.default.createElement("div", { ref: leftBackdropRef, className: styles.backdrop, onClick: onClose }))) : (react_1.default.createElement("div", { className: styles.backdrop, onClick: onClose })))),
86
- react_1.default.createElement(Popper_1.default, __assign({ open: open, anchorEl: anchorEl }, otherProps, { className: (0, classnames_1.default)(className, styles.popper), ref: ref }))));
89
+ react_1.default.createElement(Popper_1.default, __assign({ "data-mui-color-scheme": (_b = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _b === void 0 ? void 0 : _b.mode, open: open, anchorEl: anchorEl }, otherProps, { className: (0, classnames_1.default)(className, styles.popper), ref: ref }))));
87
90
  });
88
91
  exports.Popper.displayName = 'Popper';
@@ -56,17 +56,16 @@ var Highlighter_1 = require("../Highlighter");
56
56
  var AttributeGroupIcon_1 = require("../AttributeGroupIcon");
57
57
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
58
58
  var attributesView_1 = require("../helpers/attributesView");
59
- var styles_1 = require("./styles");
59
+ var SelectAttributesList_module_css_1 = __importDefault(require("./SelectAttributesList.module.css"));
60
60
  var ITEM_HEIGHT = 28;
61
61
  var ITEM_GROUP_TITLE_HEIGHT = 40;
62
62
  var SelectAttributesList = function (_a) {
63
63
  var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
64
- var styles = (0, styles_1.useStyles)();
65
64
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
66
65
  var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
67
- var renderGroupTitle = function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
66
+ var renderGroupTitle = function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: SelectAttributesList_module_css_1.default.subHeader, style: style, key: "group-".concat(item.item.id) },
68
67
  item.item.needGroupIcon && react_1.default.createElement(AttributeGroupIcon_1.AttributeGroupIcon, { group: item.item, metadata: metadata }),
69
- item.item.title)); };
68
+ react_1.default.createElement("div", { className: SelectAttributesList_module_css_1.default.subHeaderTitle }, item.item.title))); };
70
69
  var renderItem = function (style, _a, index) {
71
70
  var item = _a.item, level = _a.level, groupId = _a.groupId, groupName = _a.groupName;
72
71
  var checked = (0, attributesView_1.checkAttributeIncludes)(item, selectedAttributes);
@@ -0,0 +1,9 @@
1
+ const styles = {"subHeader":"SelectAttributesList-subHeader--3ac0v","subHeaderTitle":"SelectAttributesList-subHeaderTitle--Vazfd"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SelectAttributesList-subHeader--3ac0v{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.SelectAttributesList-subHeaderTitle--Vazfd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -32,19 +32,22 @@ var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
32
  var Popover_1 = __importDefault(require("@mui/material/Popover"));
33
33
  var SearchInput_1 = require("../SearchInput");
34
34
  var styles_1 = require("./styles");
35
+ var styles_2 = require("@mui/styles");
35
36
  var SelectionPopup = function (_a) {
36
- var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _b = _a.headerPlacement, headerPlacement = _b === void 0 ? 'top' : _b, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _c = _a.anchorOrigin, anchorOrigin = _c === void 0 ? {
37
+ var _b;
38
+ var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _c = _a.headerPlacement, headerPlacement = _c === void 0 ? 'top' : _c, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _d = _a.anchorOrigin, anchorOrigin = _d === void 0 ? {
37
39
  vertical: 'top',
38
40
  horizontal: 'right'
39
- } : _c, _d = _a.transformOrigin, transformOrigin = _d === void 0 ? {
41
+ } : _d, _e = _a.transformOrigin, transformOrigin = _e === void 0 ? {
40
42
  vertical: 'top',
41
43
  horizontal: 'right'
42
- } : _d, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
44
+ } : _e, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
43
45
  var classes = (0, styles_1.useStyles)({ containerWidth: containerWidth, containerHeight: containerHeight });
46
+ var currentTheme = (0, styles_2.useTheme)();
44
47
  var header = (react_1.default.createElement(react_1.default.Fragment, null,
45
48
  !hideTitle && react_1.default.createElement("div", { className: classes.header }, title),
46
49
  !hideSearchInput && (react_1.default.createElement(SearchInput_1.SearchInput, { onSearch: onSearch, autofocus: true, onKeyDown: searchInputOnKeyDown, inputRef: searchInputRef, classes: { root: classes.searchInputContainer }, placeholder: ui_i18n_1.default.text('Search & add attributes'), height: 40 }))));
47
- return (react_1.default.createElement(Popover_1.default, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin }, otherProps),
50
+ return (react_1.default.createElement(Popover_1.default, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, "data-mui-color-scheme": (_b = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _b === void 0 ? void 0 : _b.mode }, otherProps),
48
51
  react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.container, className), style: { width: containerWidth } },
49
52
  headerPlacement === 'top' && header,
50
53
  react_1.default.createElement("div", { className: classes.list }, children),
@@ -29,16 +29,19 @@ exports.TimestampEditor = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
30
  var classnames_1 = __importDefault(require("classnames"));
31
31
  var ramda_1 = require("ramda");
32
+ var styles_1 = require("@mui/styles");
32
33
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
33
34
  var timeViewRenderers_1 = require("@mui/x-date-pickers/timeViewRenderers");
34
35
  var DateTimePicker_1 = require("@mui/x-date-pickers/DateTimePicker");
35
36
  var useDateEditor_1 = require("../hooks/useDateEditor");
36
- var styles_1 = require("./styles");
37
+ var styles_2 = require("./styles");
37
38
  var TimestampEditor = function (_a) {
38
39
  var _b;
40
+ var _c;
39
41
  var minDate = _a.minDate, maxDate = _a.maxDate, value = _a.value, label = _a.label, slotProps = _a.slotProps, onChange = _a.onChange, format = _a.format, isCrossedOut = _a.isCrossedOut, otherProps = __rest(_a, ["minDate", "maxDate", "value", "label", "slotProps", "onChange", "format", "isCrossedOut"]);
40
- var styles = (0, styles_1.useStyles)();
41
- var _c = (0, useDateEditor_1.useDateEditor)({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _c.errorMessage, editorValue = _c.editorValue, editorMaxDate = _c.editorMaxDate, editorMinDate = _c.editorMinDate, onError = _c.onError, handleChange = _c.onChange;
42
+ var styles = (0, styles_2.useStyles)();
43
+ var _d = (0, useDateEditor_1.useDateEditor)({ minDate: minDate, maxDate: maxDate, value: value, onChange: onChange }), errorMessage = _d.errorMessage, editorValue = _d.editorValue, editorMaxDate = _d.editorMaxDate, editorMinDate = _d.editorMinDate, onError = _d.onError, handleChange = _d.onChange;
44
+ var currentTheme = (0, styles_1.useTheme)();
42
45
  var basicSlotProps = {
43
46
  textField: {
44
47
  size: 'small',
@@ -55,6 +58,9 @@ var TimestampEditor = function (_a) {
55
58
  },
56
59
  popper: {
57
60
  placement: 'bottom-start',
61
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62
+ // @ts-ignore
63
+ 'data-mui-color-scheme': (_c = currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.palette) === null || _c === void 0 ? void 0 : _c.mode,
58
64
  modifiers: [
59
65
  {
60
66
  name: 'viewHeightModifier',
@@ -6,4 +6,4 @@ export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
7
7
  export { ReactSelectOptionFilters } from './reactSelect';
8
8
  export { editingModeOption, suggestingModeOption, viewingModeOption } from './modeOptions';
9
- export { theme } from './theme';
9
+ export { theme, darkTheme } from './theme';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.theme = exports.viewingModeOption = exports.suggestingModeOption = exports.editingModeOption = exports.ReactSelectOptionFilters = exports.POPUP_Z_INDEX = exports.COMMON_TEXT_FIELD_PROPS = exports.MAP_MINIMUM_SCALE_RADIUS = exports.DEFAULT_OVERLAY_OPTIONS = exports.DEFAULT_GOOGLE_MAP_OPTIONS = exports.MAP_DRAWING_MODES = exports.FIXED_TYPE_URIS = exports.COMMENTS_CONTAINER_VISIBILITY_AREA = exports.QueryBuilderAttributeType = exports.SortingType = void 0;
3
+ exports.darkTheme = exports.theme = exports.viewingModeOption = exports.suggestingModeOption = exports.editingModeOption = exports.ReactSelectOptionFilters = exports.POPUP_Z_INDEX = exports.COMMON_TEXT_FIELD_PROPS = exports.MAP_MINIMUM_SCALE_RADIUS = exports.DEFAULT_OVERLAY_OPTIONS = exports.DEFAULT_GOOGLE_MAP_OPTIONS = exports.MAP_DRAWING_MODES = exports.FIXED_TYPE_URIS = exports.COMMENTS_CONTAINER_VISIBILITY_AREA = exports.QueryBuilderAttributeType = exports.SortingType = void 0;
4
4
  var prop_types_1 = require("./prop-types");
5
5
  Object.defineProperty(exports, "SortingType", { enumerable: true, get: function () { return prop_types_1.SortingType; } });
6
6
  Object.defineProperty(exports, "QueryBuilderAttributeType", { enumerable: true, get: function () { return prop_types_1.QueryBuilderAttributeType; } });
@@ -25,3 +25,4 @@ Object.defineProperty(exports, "suggestingModeOption", { enumerable: true, get:
25
25
  Object.defineProperty(exports, "viewingModeOption", { enumerable: true, get: function () { return modeOptions_1.viewingModeOption; } });
26
26
  var theme_1 = require("./theme");
27
27
  Object.defineProperty(exports, "theme", { enumerable: true, get: function () { return theme_1.theme; } });
28
+ Object.defineProperty(exports, "darkTheme", { enumerable: true, get: function () { return theme_1.darkTheme; } });
@@ -1,4 +1,4 @@
1
- import { Theme } from '@mui/material/styles';
1
+ import { Theme, ThemeOptions } from '@mui/material/styles';
2
2
  import '@mui/styles';
3
3
  type ReltioTheme = Theme & {
4
4
  inactiveBackground: string;
@@ -175,4 +175,5 @@ export declare const theme: {
175
175
  };
176
176
  suggested: string;
177
177
  };
178
+ export declare const darkTheme: ThemeOptions;
178
179
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.theme = void 0;
3
+ exports.darkTheme = exports.theme = void 0;
4
4
  require("@mui/styles");
5
5
  exports.theme = {
6
6
  palette: {
@@ -151,3 +151,10 @@ exports.theme = {
151
151
  },
152
152
  suggested: 'rgb(237, 246, 251)'
153
153
  };
154
+ exports.darkTheme = {
155
+ palette: {
156
+ mode: 'dark',
157
+ primary: exports.theme.palette.primary,
158
+ secondary: exports.theme.palette.secondary
159
+ }
160
+ };
@@ -3,6 +3,7 @@ import { Theme } from '@mui/material/styles';
3
3
  type Props = {
4
4
  children: ReactNode;
5
5
  theme: Theme;
6
+ darkTheme?: Theme;
6
7
  };
7
- export declare const ThemeProvider: ({ children, theme }: Props) => React.JSX.Element;
8
+ export declare const ThemeProvider: ({ children, theme, darkTheme }: Props) => React.JSX.Element;
8
9
  export {};
@@ -39,14 +39,15 @@ var react_1 = __importStar(require("react"));
39
39
  var styles_1 = require("@mui/styles");
40
40
  var styles_2 = require("@mui/material/styles");
41
41
  var ThemeProvider = function (_a) {
42
- var children = _a.children, theme = _a.theme;
42
+ var children = _a.children, theme = _a.theme, darkTheme = _a.darkTheme;
43
43
  var reltioTheme = (0, react_1.useMemo)(function () {
44
44
  return (0, styles_2.experimental_extendTheme)({
45
45
  colorSchemes: {
46
- light: __assign({}, theme)
46
+ light: __assign({}, theme),
47
+ dark: __assign({}, darkTheme)
47
48
  }
48
49
  });
49
- }, [theme]);
50
+ }, [theme, darkTheme]);
50
51
  return (react_1.default.createElement(styles_2.Experimental_CssVarsProvider, { theme: reltioTheme },
51
52
  react_1.default.createElement(styles_1.ThemeProvider, { theme: theme }, children)));
52
53
  };
@@ -2,11 +2,12 @@ import { Metadata } from '@reltio/mdm-sdk';
2
2
  import { ColumnData, GroupedColumnsData } from '../../types/basicTable';
3
3
  type MatchesColumnsDataProps<TColumnData> = {
4
4
  defaultColumnsData: TColumnData[];
5
+ defaultVisibleColumns?: string[];
5
6
  additionalColumnsData?: TColumnData[];
6
7
  metadata: Metadata;
7
8
  entityTypeUri: string;
8
9
  };
9
- export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
+ export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, defaultVisibleColumns, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
11
  allColumnsData: TColumnData[];
11
12
  groupedColumnsData: GroupedColumnsData<TColumnData>[];
12
13
  defaultColumns: string[];
@@ -6,7 +6,7 @@ var ramda_1 = require("ramda");
6
6
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
7
  var helpers_1 = require("./helpers");
8
8
  var useMatchesColumnsData = function (_a) {
9
- var defaultColumnsData = _a.defaultColumnsData, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
9
+ var defaultColumnsData = _a.defaultColumnsData, defaultVisibleColumns = _a.defaultVisibleColumns, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
10
10
  return (0, react_1.useMemo)(function () {
11
11
  var attrColumnsData = (0, helpers_1.getColumnsData)(metadata, entityTypeUri);
12
12
  var allColumnsData = defaultColumnsData
@@ -14,8 +14,8 @@ var useMatchesColumnsData = function (_a) {
14
14
  .concat(attrColumnsData);
15
15
  var matchAttributes = (0, mdm_sdk_1.getEntityTypeMatchAttributes)(metadata, entityTypeUri);
16
16
  var groupedColumnsData = (0, helpers_1.groupColumnsDataByMatchAttributes)(matchAttributes, allColumnsData);
17
- var defaultColumns = (0, ramda_1.pipe)(helpers_1.getMatchAttrColumns, (0, ramda_1.concat)(defaultColumnsData), (0, ramda_1.pluck)('id'))(matchAttributes, attrColumnsData);
17
+ var defaultColumns = (0, ramda_1.pipe)(helpers_1.getMatchAttrColumns, (0, ramda_1.pluck)('id'), (0, ramda_1.concat)(defaultVisibleColumns || (0, ramda_1.pluck)('id', defaultColumnsData)))(matchAttributes, attrColumnsData);
18
18
  return { allColumnsData: allColumnsData, groupedColumnsData: groupedColumnsData, defaultColumns: defaultColumns };
19
- }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri]);
19
+ }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri, defaultVisibleColumns]);
20
20
  };
21
21
  exports.useMatchesColumnsData = useMatchesColumnsData;
@@ -6,4 +6,4 @@ export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
7
7
  export { ReactSelectOptionFilters } from './reactSelect';
8
8
  export { editingModeOption, suggestingModeOption, viewingModeOption } from './modeOptions';
9
- export { theme } from './theme';
9
+ export { theme, darkTheme } from './theme';
@@ -6,4 +6,4 @@ export { COMMON_TEXT_FIELD_PROPS } from './textField';
6
6
  export { POPUP_Z_INDEX } from './common';
7
7
  export { ReactSelectOptionFilters } from './reactSelect';
8
8
  export { editingModeOption, suggestingModeOption, viewingModeOption } from './modeOptions';
9
- export { theme } from './theme';
9
+ export { theme, darkTheme } from './theme';
@@ -1,4 +1,4 @@
1
- import { Theme } from '@mui/material/styles';
1
+ import { Theme, ThemeOptions } from '@mui/material/styles';
2
2
  import '@mui/styles';
3
3
  type ReltioTheme = Theme & {
4
4
  inactiveBackground: string;
@@ -175,4 +175,5 @@ export declare const theme: {
175
175
  };
176
176
  suggested: string;
177
177
  };
178
+ export declare const darkTheme: ThemeOptions;
178
179
  export {};
@@ -148,3 +148,10 @@ export var theme = {
148
148
  },
149
149
  suggested: 'rgb(237, 246, 251)'
150
150
  };
151
+ export var darkTheme = {
152
+ palette: {
153
+ mode: 'dark',
154
+ primary: theme.palette.primary,
155
+ secondary: theme.palette.secondary
156
+ }
157
+ };
@@ -3,6 +3,7 @@ import { Theme } from '@mui/material/styles';
3
3
  type Props = {
4
4
  children: ReactNode;
5
5
  theme: Theme;
6
+ darkTheme?: Theme;
6
7
  };
7
- export declare const ThemeProvider: ({ children, theme }: Props) => React.JSX.Element;
8
+ export declare const ThemeProvider: ({ children, theme, darkTheme }: Props) => React.JSX.Element;
8
9
  export {};
@@ -13,14 +13,15 @@ import React, { useMemo } from 'react';
13
13
  import { ThemeProvider as MuiThemeProvider } from '@mui/styles';
14
14
  import { experimental_extendTheme as extendTheme, Experimental_CssVarsProvider as CssVarsProvider } from '@mui/material/styles';
15
15
  export var ThemeProvider = function (_a) {
16
- var children = _a.children, theme = _a.theme;
16
+ var children = _a.children, theme = _a.theme, darkTheme = _a.darkTheme;
17
17
  var reltioTheme = useMemo(function () {
18
18
  return extendTheme({
19
19
  colorSchemes: {
20
- light: __assign({}, theme)
20
+ light: __assign({}, theme),
21
+ dark: __assign({}, darkTheme)
21
22
  }
22
23
  });
23
- }, [theme]);
24
+ }, [theme, darkTheme]);
24
25
  return (React.createElement(CssVarsProvider, { theme: reltioTheme },
25
26
  React.createElement(MuiThemeProvider, { theme: theme }, children)));
26
27
  };
@@ -2,11 +2,12 @@ import { Metadata } from '@reltio/mdm-sdk';
2
2
  import { ColumnData, GroupedColumnsData } from '../../types/basicTable';
3
3
  type MatchesColumnsDataProps<TColumnData> = {
4
4
  defaultColumnsData: TColumnData[];
5
+ defaultVisibleColumns?: string[];
5
6
  additionalColumnsData?: TColumnData[];
6
7
  metadata: Metadata;
7
8
  entityTypeUri: string;
8
9
  };
9
- export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
+ export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, defaultVisibleColumns, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
11
  allColumnsData: TColumnData[];
11
12
  groupedColumnsData: GroupedColumnsData<TColumnData>[];
12
13
  defaultColumns: string[];
@@ -3,7 +3,7 @@ import { concat, pipe, pluck } from 'ramda';
3
3
  import { getEntityTypeMatchAttributes } from '@reltio/mdm-sdk';
4
4
  import { getColumnsData, getMatchAttrColumns, groupColumnsDataByMatchAttributes } from './helpers';
5
5
  export var useMatchesColumnsData = function (_a) {
6
- var defaultColumnsData = _a.defaultColumnsData, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
6
+ var defaultColumnsData = _a.defaultColumnsData, defaultVisibleColumns = _a.defaultVisibleColumns, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
7
7
  return useMemo(function () {
8
8
  var attrColumnsData = getColumnsData(metadata, entityTypeUri);
9
9
  var allColumnsData = defaultColumnsData
@@ -11,7 +11,7 @@ export var useMatchesColumnsData = function (_a) {
11
11
  .concat(attrColumnsData);
12
12
  var matchAttributes = getEntityTypeMatchAttributes(metadata, entityTypeUri);
13
13
  var groupedColumnsData = groupColumnsDataByMatchAttributes(matchAttributes, allColumnsData);
14
- var defaultColumns = pipe(getMatchAttrColumns, concat(defaultColumnsData), pluck('id'))(matchAttributes, attrColumnsData);
14
+ var defaultColumns = pipe(getMatchAttrColumns, pluck('id'), concat(defaultVisibleColumns || pluck('id', defaultColumnsData)))(matchAttributes, attrColumnsData);
15
15
  return { allColumnsData: allColumnsData, groupedColumnsData: groupedColumnsData, defaultColumns: defaultColumns };
16
- }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri]);
16
+ }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri, defaultVisibleColumns]);
17
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2039",
3
+ "version": "1.4.2041",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -1,2 +0,0 @@
1
- import { ThemeOptions } from '@mui/material/styles';
2
- export declare const darkTheme: ThemeOptions;
@@ -1,8 +0,0 @@
1
- import { theme } from '../../../constants';
2
- export var darkTheme = {
3
- palette: {
4
- mode: 'dark',
5
- primary: theme.palette.primary,
6
- secondary: theme.palette.secondary
7
- }
8
- };
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"subHeader">;
@@ -1,13 +0,0 @@
1
- import { makeStyles } from '@mui/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
- });
@@ -1,2 +0,0 @@
1
- import { ThemeOptions } from '@mui/material/styles';
2
- export declare const darkTheme: ThemeOptions;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.darkTheme = void 0;
4
- var constants_1 = require("../../../constants");
5
- exports.darkTheme = {
6
- palette: {
7
- mode: 'dark',
8
- primary: constants_1.theme.palette.primary,
9
- secondary: constants_1.theme.palette.secondary
10
- }
11
- };
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"subHeader">;
@@ -1,16 +0,0 @@
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)({
6
- subHeader: {
7
- backgroundColor: '#f5f5f5',
8
- padding: '0 16px',
9
- margin: 0,
10
- display: 'flex',
11
- alignItems: 'center',
12
- color: 'rgba(0,0,0,0.84)',
13
- fontSize: '14px',
14
- fontWeight: 500
15
- }
16
- });