@reltio/components 1.4.2190 → 1.4.2191

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 (125) hide show
  1. package/ProfileBand/ProfileBand.d.ts +5 -4
  2. package/ProfileBand/ProfileBand.js +4 -5
  3. package/ProfileBand/ProfileBand.module.css.js +9 -0
  4. package/cjs/ProfileBand/ProfileBand.d.ts +5 -4
  5. package/cjs/ProfileBand/ProfileBand.js +14 -15
  6. package/cjs/ProfileBand/ProfileBand.module.css.js +9 -0
  7. package/cjs/contexts/MdmModuleContext/context.d.ts +2 -0
  8. package/cjs/contexts/MdmModuleContext/hooks.d.ts +1 -0
  9. package/cjs/contexts/MdmModuleContext/hooks.js +3 -1
  10. package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
  11. package/cjs/contexts/MdmModuleContext/index.js +2 -1
  12. package/cjs/features/history/HistoryRow/styles.d.ts +1 -1
  13. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.d.ts +8 -0
  14. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.js +18 -0
  15. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.module.css.js +9 -0
  16. package/cjs/features/workflow/ChangeRequestEditor/index.d.ts +1 -0
  17. package/cjs/features/workflow/ChangeRequestEditor/index.js +5 -0
  18. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.d.ts +6 -0
  19. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.js +19 -0
  20. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.module.css.js +9 -0
  21. package/cjs/features/workflow/ReviewDCRButton/index.d.ts +1 -0
  22. package/cjs/features/workflow/ReviewDCRButton/index.js +5 -0
  23. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.d.ts +11 -0
  24. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +63 -0
  25. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.module.css.js +9 -0
  26. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.d.ts +8 -0
  27. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.js +73 -0
  28. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.module.css.js +9 -0
  29. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.d.ts +1 -0
  30. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.js +5 -0
  31. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.d.ts +9 -0
  32. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.js +40 -0
  33. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.module.css.js +9 -0
  34. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.d.ts +3 -0
  35. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.js +19 -0
  36. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.d.ts +1 -0
  37. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.js +124 -0
  38. package/cjs/features/workflow/ReviewDCRDialog/helpers/index.d.ts +1 -0
  39. package/cjs/features/workflow/ReviewDCRDialog/helpers/index.js +5 -0
  40. package/cjs/features/workflow/ReviewDCRDialog/index.d.ts +1 -0
  41. package/cjs/features/workflow/ReviewDCRDialog/index.js +5 -0
  42. package/cjs/features/workflow/WorkflowActionButtons/WorkflowActionButtons.d.ts +12 -0
  43. package/cjs/features/workflow/WorkflowActionButtons/WorkflowActionButtons.js +57 -0
  44. package/cjs/features/workflow/WorkflowActionButtons/index.d.ts +1 -0
  45. package/cjs/features/workflow/WorkflowActionButtons/index.js +5 -0
  46. package/cjs/features/workflow/WorkflowComments/WorkflowComments.d.ts +7 -1
  47. package/cjs/features/workflow/WorkflowComments/WorkflowComments.js +15 -31
  48. package/cjs/features/workflow/WorkflowComments/WorkflowComments.module.css.js +9 -0
  49. package/cjs/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +46 -6
  50. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.d.ts +2 -1
  51. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +30 -29
  52. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.module.css.js +9 -0
  53. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +20 -2
  54. package/cjs/features/workflow/index.d.ts +2 -0
  55. package/cjs/features/workflow/index.js +5 -1
  56. package/cjs/icons/RequestSummary.d.ts +3 -0
  57. package/cjs/icons/RequestSummary.js +24 -0
  58. package/cjs/icons/ReviewDCR.d.ts +3 -0
  59. package/cjs/icons/ReviewDCR.js +22 -0
  60. package/contexts/MdmModuleContext/context.d.ts +2 -0
  61. package/contexts/MdmModuleContext/hooks.d.ts +1 -0
  62. package/contexts/MdmModuleContext/hooks.js +1 -0
  63. package/contexts/MdmModuleContext/index.d.ts +1 -1
  64. package/contexts/MdmModuleContext/index.js +1 -1
  65. package/features/history/HistoryRow/styles.d.ts +1 -1
  66. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.d.ts +8 -0
  67. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.js +11 -0
  68. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.module.css.js +9 -0
  69. package/features/workflow/ChangeRequestEditor/index.d.ts +1 -0
  70. package/features/workflow/ChangeRequestEditor/index.js +1 -0
  71. package/features/workflow/ReviewDCRButton/ReviewDCRButton.d.ts +6 -0
  72. package/features/workflow/ReviewDCRButton/ReviewDCRButton.js +12 -0
  73. package/features/workflow/ReviewDCRButton/ReviewDCRButton.module.css.js +9 -0
  74. package/features/workflow/ReviewDCRButton/index.d.ts +1 -0
  75. package/features/workflow/ReviewDCRButton/index.js +1 -0
  76. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.d.ts +11 -0
  77. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +56 -0
  78. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.module.css.js +9 -0
  79. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.d.ts +8 -0
  80. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.js +43 -0
  81. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.module.css.js +9 -0
  82. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.d.ts +1 -0
  83. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.js +1 -0
  84. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.d.ts +9 -0
  85. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.js +33 -0
  86. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.module.css.js +9 -0
  87. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.d.ts +3 -0
  88. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.js +15 -0
  89. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.d.ts +1 -0
  90. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.js +122 -0
  91. package/features/workflow/ReviewDCRDialog/helpers/index.d.ts +1 -0
  92. package/features/workflow/ReviewDCRDialog/helpers/index.js +1 -0
  93. package/features/workflow/ReviewDCRDialog/index.d.ts +1 -0
  94. package/features/workflow/ReviewDCRDialog/index.js +1 -0
  95. package/features/workflow/WorkflowActionButtons/WorkflowActionButtons.d.ts +12 -0
  96. package/features/workflow/WorkflowActionButtons/WorkflowActionButtons.js +27 -0
  97. package/features/workflow/WorkflowActionButtons/index.d.ts +1 -0
  98. package/features/workflow/WorkflowActionButtons/index.js +1 -0
  99. package/features/workflow/WorkflowComments/WorkflowComments.d.ts +7 -1
  100. package/features/workflow/WorkflowComments/WorkflowComments.js +13 -29
  101. package/features/workflow/WorkflowComments/WorkflowComments.module.css.js +9 -0
  102. package/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +23 -6
  103. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.d.ts +2 -1
  104. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +8 -7
  105. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.module.css.js +9 -0
  106. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +20 -2
  107. package/features/workflow/index.d.ts +2 -0
  108. package/features/workflow/index.js +2 -0
  109. package/icons/RequestSummary.d.ts +3 -0
  110. package/icons/RequestSummary.js +19 -0
  111. package/icons/ReviewDCR.d.ts +3 -0
  112. package/icons/ReviewDCR.js +17 -0
  113. package/package.json +2 -2
  114. package/ProfileBand/styles.d.ts +0 -1
  115. package/ProfileBand/styles.js +0 -87
  116. package/cjs/ProfileBand/styles.d.ts +0 -1
  117. package/cjs/ProfileBand/styles.js +0 -90
  118. package/cjs/features/workflow/WorkflowComments/styles.d.ts +0 -1
  119. package/cjs/features/workflow/WorkflowComments/styles.js +0 -42
  120. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.d.ts +0 -3
  121. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.js +0 -113
  122. package/features/workflow/WorkflowComments/styles.d.ts +0 -1
  123. package/features/workflow/WorkflowComments/styles.js +0 -39
  124. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.d.ts +0 -3
  125. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.js +0 -110
@@ -1,12 +1,13 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { Entity } from '@reltio/mdm-sdk';
3
- import { useStyles } from './styles';
4
3
  type Props = {
5
- className?: string;
6
4
  entity?: Entity;
7
5
  children?: ReactNode;
8
- classes?: Partial<ReturnType<typeof useStyles>>;
6
+ className?: string;
7
+ classes?: {
8
+ profileBand?: string;
9
+ };
9
10
  renderLabel?: (label: string) => React.ReactNode;
10
11
  };
11
- export declare const ProfileBand: ({ className, entity, children, classes, renderLabel }: Props) => React.JSX.Element;
12
+ export declare const ProfileBand: ({ entity, children, className, classes, renderLabel }: Props) => React.JSX.Element;
12
13
  export {};
@@ -8,11 +8,10 @@ import { getLabel, isActiveObject, getBusinessCardAttributesText, getEntityId, i
8
8
  import { EntityAvatar } from '../EntityAvatar';
9
9
  import { EntityTypeBadge } from '../EntityTypeBadge';
10
10
  import { useMdmMetadata, useMdmShowEntityId } from '../contexts/MdmModuleContext';
11
- import { useStyles } from './styles';
11
+ import styles from './ProfileBand.module.css';
12
12
  export var ProfileBand = function (_a) {
13
13
  var _b;
14
- var className = _a.className, entity = _a.entity, children = _a.children, classes = _a.classes, _c = _a.renderLabel, renderLabel = _c === void 0 ? identity : _c;
15
- var styles = useStyles({ classes: classes });
14
+ var entity = _a.entity, children = _a.children, className = _a.className, classes = _a.classes, _c = _a.renderLabel, renderLabel = _c === void 0 ? identity : _c;
16
15
  var metadata = useMdmMetadata();
17
16
  var showEntityId = useMdmShowEntityId();
18
17
  var handleCopyEntityIdToClipboard = useCallback(function () {
@@ -28,7 +27,7 @@ export var ProfileBand = function (_a) {
28
27
  var entityUri = entity.uri;
29
28
  var entityId = getEntityId(entity);
30
29
  return (React.createElement("div", { className: classnames(styles.profileBandWrapper, className), "data-reltio-id": "reltio-profile-band" },
31
- React.createElement("div", { className: classnames(styles.profileBand, (_b = {},
30
+ React.createElement("div", { className: classnames(styles.profileBand, classes === null || classes === void 0 ? void 0 : classes.profileBand, (_b = {},
32
31
  _b[styles.inactive] = !isActive,
33
32
  _b)), "data-entity-uri": entityUri },
34
33
  React.createElement(EntityAvatar, { key: entity.uri, entity: entity, avatarClassName: styles.profileIcon, imageClassName: styles.imageProfileIcon }),
@@ -39,7 +38,7 @@ export var ProfileBand = function (_a) {
39
38
  businessCardText && (React.createElement(Typography, { variant: "subtitle1", className: styles.businessCard }, businessCardText))),
40
39
  React.createElement("div", { className: styles.specialInfo },
41
40
  React.createElement("div", { className: styles.entityType },
42
- React.createElement(EntityTypeBadge, { entity: entity, size: "medium", className: styles.badge }),
41
+ React.createElement(EntityTypeBadge, { entity: entity, size: "medium" }),
43
42
  !isTempUri(entityUri) && showEntityId && (React.createElement(Tooltip, { title: i18n.text('Copy to clipboard') },
44
43
  React.createElement(Typography, { display: "inline", variant: "body2", className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
45
44
  i18n.text('Entity ID'),
@@ -0,0 +1,9 @@
1
+ const styles = {"profileBandWrapper":"ProfileBand-profileBandWrapper--2qT6n","profileBand":"ProfileBand-profileBand--1t6Tw","inactive":"ProfileBand-inactive--5cmGK","profileIcon":"ProfileBand-profileIcon--Qw2fJ","imageProfileIcon":"ProfileBand-imageProfileIcon--btkGT","profileInfo":"ProfileBand-profileInfo--6KvVU","label":"ProfileBand-label--6rq8C","specialInfo":"ProfileBand-specialInfo--SJoYt","secondaryLabel":"ProfileBand-secondaryLabel--8hq1t","businessCard":"ProfileBand-businessCard--vk3x5","entityType":"ProfileBand-entityType--OitFz","entityId":"ProfileBand-entityId--ALqzc"};
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 = `.ProfileBand-profileBandWrapper--2qT6n{box-shadow:0 1px 0 rgba(0,0,0,.12);flex-shrink:0;margin-bottom:1px}.ProfileBand-profileBand--1t6Tw{align-items:flex-start;background-color:#fff;display:flex;padding:16px 12px 16px 16px}.ProfileBand-profileBand--1t6Tw:after{content:"";font-size:0;min-height:inherit}.ProfileBand-inactive--5cmGK{background:var(--mui-inactiveBackground)}.ProfileBand-profileIcon--Qw2fJ{margin-right:12px}.ProfileBand-imageProfileIcon--btkGT{height:48px;width:48px}.ProfileBand-profileInfo--6KvVU{display:flex;flex:1 1 50%;flex-direction:column}.ProfileBand-label--6rq8C{color:var(--mui-palette-text-primary);letter-spacing:.25px;line-height:1.2;white-space:break-spaces;word-break:break-word}.ProfileBand-label--6rq8C+.ProfileBand-specialInfo--SJoYt{margin-top:4px}.ProfileBand-secondaryLabel--8hq1t{color:var(--mui-palette-text-primary);display:inline-flex;font-size:14px;font-weight:400;line-height:16px;margin-top:2px;white-space:break-spaces}.ProfileBand-secondaryLabel--8hq1t+.ProfileBand-businessCard--vk3x5{margin-left:12px}.ProfileBand-businessCard--vk3x5{color:var(--mui-palette-text-secondary);display:inline-flex;font-size:14px;line-height:1.2;margin-top:4px;white-space:break-spaces}.ProfileBand-specialInfo--SJoYt{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.ProfileBand-entityType--OitFz{display:flex;flex-wrap:wrap}.ProfileBand-entityId--ALqzc{color:var(--mui-palette-text-secondary);cursor:pointer;font-size:13px;white-space:nowrap}.ProfileBand-entityId--ALqzc:hover{text-decoration:underline}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -1,12 +1,13 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { Entity } from '@reltio/mdm-sdk';
3
- import { useStyles } from './styles';
4
3
  type Props = {
5
- className?: string;
6
4
  entity?: Entity;
7
5
  children?: ReactNode;
8
- classes?: Partial<ReturnType<typeof useStyles>>;
6
+ className?: string;
7
+ classes?: {
8
+ profileBand?: string;
9
+ };
9
10
  renderLabel?: (label: string) => React.ReactNode;
10
11
  };
11
- export declare const ProfileBand: ({ className, entity, children, classes, renderLabel }: Props) => React.JSX.Element;
12
+ export declare const ProfileBand: ({ entity, children, className, classes, renderLabel }: Props) => React.JSX.Element;
12
13
  export {};
@@ -37,11 +37,10 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
37
37
  var EntityAvatar_1 = require("../EntityAvatar");
38
38
  var EntityTypeBadge_1 = require("../EntityTypeBadge");
39
39
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
40
- var styles_1 = require("./styles");
40
+ var ProfileBand_module_css_1 = __importDefault(require("./ProfileBand.module.css"));
41
41
  var ProfileBand = function (_a) {
42
42
  var _b;
43
- var className = _a.className, entity = _a.entity, children = _a.children, classes = _a.classes, _c = _a.renderLabel, renderLabel = _c === void 0 ? ramda_1.identity : _c;
44
- var styles = (0, styles_1.useStyles)({ classes: classes });
43
+ var entity = _a.entity, children = _a.children, className = _a.className, classes = _a.classes, _c = _a.renderLabel, renderLabel = _c === void 0 ? ramda_1.identity : _c;
45
44
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
46
45
  var showEntityId = (0, MdmModuleContext_1.useMdmShowEntityId)();
47
46
  var handleCopyEntityIdToClipboard = (0, react_1.useCallback)(function () {
@@ -56,21 +55,21 @@ var ProfileBand = function (_a) {
56
55
  var isActive = (0, mdm_sdk_1.isActiveObject)(entity);
57
56
  var entityUri = entity.uri;
58
57
  var entityId = (0, mdm_sdk_1.getEntityId)(entity);
59
- return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.profileBandWrapper, className), "data-reltio-id": "reltio-profile-band" },
60
- react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.profileBand, (_b = {},
61
- _b[styles.inactive] = !isActive,
58
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ProfileBand_module_css_1.default.profileBandWrapper, className), "data-reltio-id": "reltio-profile-band" },
59
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(ProfileBand_module_css_1.default.profileBand, classes === null || classes === void 0 ? void 0 : classes.profileBand, (_b = {},
60
+ _b[ProfileBand_module_css_1.default.inactive] = !isActive,
62
61
  _b)), "data-entity-uri": entityUri },
63
- react_1.default.createElement(EntityAvatar_1.EntityAvatar, { key: entity.uri, entity: entity, avatarClassName: styles.profileIcon, imageClassName: styles.imageProfileIcon }),
64
- react_1.default.createElement("div", { className: styles.profileInfo },
62
+ react_1.default.createElement(EntityAvatar_1.EntityAvatar, { key: entity.uri, entity: entity, avatarClassName: ProfileBand_module_css_1.default.profileIcon, imageClassName: ProfileBand_module_css_1.default.imageProfileIcon }),
63
+ react_1.default.createElement("div", { className: ProfileBand_module_css_1.default.profileInfo },
65
64
  react_1.default.createElement("div", null,
66
- react_1.default.createElement(Typography_1.default, { variant: "h6", className: styles.label }, renderLabel(label)),
67
- secondaryLabel && (react_1.default.createElement(Typography_1.default, { variant: "subtitle2", className: styles.secondaryLabel }, secondaryLabel)),
68
- businessCardText && (react_1.default.createElement(Typography_1.default, { variant: "subtitle1", className: styles.businessCard }, businessCardText))),
69
- react_1.default.createElement("div", { className: styles.specialInfo },
70
- react_1.default.createElement("div", { className: styles.entityType },
71
- react_1.default.createElement(EntityTypeBadge_1.EntityTypeBadge, { entity: entity, size: "medium", className: styles.badge }),
65
+ react_1.default.createElement(Typography_1.default, { variant: "h6", className: ProfileBand_module_css_1.default.label }, renderLabel(label)),
66
+ secondaryLabel && (react_1.default.createElement(Typography_1.default, { variant: "subtitle2", className: ProfileBand_module_css_1.default.secondaryLabel }, secondaryLabel)),
67
+ businessCardText && (react_1.default.createElement(Typography_1.default, { variant: "subtitle1", className: ProfileBand_module_css_1.default.businessCard }, businessCardText))),
68
+ react_1.default.createElement("div", { className: ProfileBand_module_css_1.default.specialInfo },
69
+ react_1.default.createElement("div", { className: ProfileBand_module_css_1.default.entityType },
70
+ react_1.default.createElement(EntityTypeBadge_1.EntityTypeBadge, { entity: entity, size: "medium" }),
72
71
  !(0, mdm_sdk_1.isTempUri)(entityUri) && showEntityId && (react_1.default.createElement(Tooltip_1.default, { title: ui_i18n_1.default.text('Copy to clipboard') },
73
- react_1.default.createElement(Typography_1.default, { display: "inline", variant: "body2", className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
72
+ react_1.default.createElement(Typography_1.default, { display: "inline", variant: "body2", className: ProfileBand_module_css_1.default.entityId, onClick: handleCopyEntityIdToClipboard },
74
73
  ui_i18n_1.default.text('Entity ID'),
75
74
  ": ",
76
75
  entityId)))))),
@@ -0,0 +1,9 @@
1
+ const styles = {"profileBandWrapper":"ProfileBand-profileBandWrapper--2qT6n","profileBand":"ProfileBand-profileBand--1t6Tw","inactive":"ProfileBand-inactive--5cmGK","profileIcon":"ProfileBand-profileIcon--Qw2fJ","imageProfileIcon":"ProfileBand-imageProfileIcon--btkGT","profileInfo":"ProfileBand-profileInfo--6KvVU","label":"ProfileBand-label--6rq8C","specialInfo":"ProfileBand-specialInfo--SJoYt","secondaryLabel":"ProfileBand-secondaryLabel--8hq1t","businessCard":"ProfileBand-businessCard--vk3x5","entityType":"ProfileBand-entityType--OitFz","entityId":"ProfileBand-entityId--ALqzc"};
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 = `.ProfileBand-profileBandWrapper--2qT6n{box-shadow:0 1px 0 rgba(0,0,0,.12);flex-shrink:0;margin-bottom:1px}.ProfileBand-profileBand--1t6Tw{align-items:flex-start;background-color:#fff;display:flex;padding:16px 12px 16px 16px}.ProfileBand-profileBand--1t6Tw:after{content:"";font-size:0;min-height:inherit}.ProfileBand-inactive--5cmGK{background:var(--mui-inactiveBackground)}.ProfileBand-profileIcon--Qw2fJ{margin-right:12px}.ProfileBand-imageProfileIcon--btkGT{height:48px;width:48px}.ProfileBand-profileInfo--6KvVU{display:flex;flex:1 1 50%;flex-direction:column}.ProfileBand-label--6rq8C{color:var(--mui-palette-text-primary);letter-spacing:.25px;line-height:1.2;white-space:break-spaces;word-break:break-word}.ProfileBand-label--6rq8C+.ProfileBand-specialInfo--SJoYt{margin-top:4px}.ProfileBand-secondaryLabel--8hq1t{color:var(--mui-palette-text-primary);display:inline-flex;font-size:14px;font-weight:400;line-height:16px;margin-top:2px;white-space:break-spaces}.ProfileBand-secondaryLabel--8hq1t+.ProfileBand-businessCard--vk3x5{margin-left:12px}.ProfileBand-businessCard--vk3x5{color:var(--mui-palette-text-secondary);display:inline-flex;font-size:14px;line-height:1.2;margin-top:4px;white-space:break-spaces}.ProfileBand-specialInfo--SJoYt{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.ProfileBand-entityType--OitFz{display:flex;flex-wrap:wrap}.ProfileBand-entityId--ALqzc{color:var(--mui-palette-text-secondary);cursor:pointer;font-size:13px;white-space:nowrap}.ProfileBand-entityId--ALqzc:hover{text-decoration:underline}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -56,6 +56,7 @@ export type MdmModuleValuesContextProps = Partial<{
56
56
  uiConfigLayout: Layout;
57
57
  uiConfigProfile: Profile;
58
58
  showMasking: boolean;
59
+ reviewDCREnabled: boolean;
59
60
  }>;
60
61
  export type MdmModuleActionsContextProps = Partial<{
61
62
  openSearch: (payload: SearchState) => void;
@@ -260,6 +261,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
260
261
  uiConfigLayout: Layout;
261
262
  uiConfigProfile: Profile;
262
263
  showMasking: boolean;
264
+ reviewDCREnabled: boolean;
263
265
  }>>;
264
266
  export declare const MdmModuleListenersContext: import("@fluentui/react-context-selector").Context<Partial<{
265
267
  expandInvalidRelatonsListener: (callback: () => void) => (action: any) => void;
@@ -151,3 +151,4 @@ export declare const useMdmListener: <T extends keyof MdmModuleListenersContextP
151
151
  export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
152
152
  export declare const useMdmControlAttributes: () => string[];
153
153
  export declare const useMdmShowMasking: () => boolean;
154
+ export declare const useMdmReviewDCREnabled: () => boolean;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = void 0;
4
- exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = void 0;
4
+ exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = void 0;
5
5
  var react_context_selector_1 = require("@fluentui/react-context-selector");
6
6
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
7
  var context_1 = require("./context");
@@ -233,3 +233,5 @@ var useMdmControlAttributes = function () {
233
233
  exports.useMdmControlAttributes = useMdmControlAttributes;
234
234
  var useMdmShowMasking = function () { return useMdmModuleValuesContext(function (context) { return context.showMasking; }); };
235
235
  exports.useMdmShowMasking = useMdmShowMasking;
236
+ var useMdmReviewDCREnabled = function () { return useMdmModuleValuesContext(function (context) { return context.reviewDCREnabled; }); };
237
+ exports.useMdmReviewDCREnabled = useMdmReviewDCREnabled;
@@ -1,3 +1,3 @@
1
1
  export { MdmModuleProvider } from './provider';
2
- export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking } from './hooks';
2
+ export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled } from './hooks';
3
3
  export type { MdmModuleActionsContextProps, MdmModuleValuesContextProps, MdmModuleListenersContextProps } from './context';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = exports.MdmModuleProvider = void 0;
4
- exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
4
+ exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
5
5
  var provider_1 = require("./provider");
6
6
  Object.defineProperty(exports, "MdmModuleProvider", { enumerable: true, get: function () { return provider_1.MdmModuleProvider; } });
7
7
  var hooks_1 = require("./hooks");
@@ -74,3 +74,4 @@ Object.defineProperty(exports, "useMdmIsSourcesScreenEnabled", { enumerable: tru
74
74
  Object.defineProperty(exports, "useMdmHiddenAttributes", { enumerable: true, get: function () { return hooks_1.useMdmHiddenAttributes; } });
75
75
  Object.defineProperty(exports, "useMdmControlAttributes", { enumerable: true, get: function () { return hooks_1.useMdmControlAttributes; } });
76
76
  Object.defineProperty(exports, "useMdmShowMasking", { enumerable: true, get: function () { return hooks_1.useMdmShowMasking; } });
77
+ Object.defineProperty(exports, "useMdmReviewDCREnabled", { enumerable: true, get: function () { return hooks_1.useMdmReviewDCREnabled; } });
@@ -1,5 +1,5 @@
1
1
  type Type = {
2
2
  color?: string;
3
3
  };
4
- export declare const useStyles: (props: Type) => import("@mui/styles").ClassNameMap<"title" | "date" | "selected" | "user" | "badge" | "historyRow" | "rowHeader">;
4
+ export declare const useStyles: (props: Type) => import("@mui/styles").ClassNameMap<"title" | "date" | "selected" | "user" | "historyRow" | "rowHeader" | "badge">;
5
5
  export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ChangeRequest, WorkflowTaskData } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ dcr: ChangeRequest;
5
+ task: WorkflowTaskData;
6
+ };
7
+ export declare const ChangeRequestEditor: ({ dcr, task: _task }: Props) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ChangeRequestEditor = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
9
+ var ChangeRequestEditor_module_css_1 = __importDefault(require("./ChangeRequestEditor.module.css"));
10
+ var ChangeRequestEditor = function (_a) {
11
+ var dcr = _a.dcr, _task = _a.task;
12
+ var dcrLoaded = !!dcr;
13
+ if (!dcrLoaded) {
14
+ return null;
15
+ }
16
+ return react_1.default.createElement("div", { className: ChangeRequestEditor_module_css_1.default.container }, ui_i18n_1.default.text('DCR changes'));
17
+ };
18
+ exports.ChangeRequestEditor = ChangeRequestEditor;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"ChangeRequestEditor-container--pOvfN"};
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 = `.ChangeRequestEditor-container--pOvfN{border:1px solid rgba(0,0,0,.03);border-radius:8px;padding:16px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { ChangeRequestEditor } from './ChangeRequestEditor';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangeRequestEditor = void 0;
4
+ var ChangeRequestEditor_1 = require("./ChangeRequestEditor");
5
+ Object.defineProperty(exports, "ChangeRequestEditor", { enumerable: true, get: function () { return ChangeRequestEditor_1.ChangeRequestEditor; } });
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ onClick: () => void;
4
+ };
5
+ export declare const ReviewDCRButton: ({ onClick }: Props) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ReviewDCRButton = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var classnames_1 = __importDefault(require("classnames"));
9
+ var Button_1 = __importDefault(require("@mui/material/Button"));
10
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
11
+ var ReviewDCR_1 = __importDefault(require("../../../icons/ReviewDCR"));
12
+ var ReviewDCRButton_module_css_1 = __importDefault(require("./ReviewDCRButton.module.css"));
13
+ var ReviewDCRButton = function (_a) {
14
+ var onClick = _a.onClick;
15
+ return (react_1.default.createElement(Button_1.default, { onClick: onClick, color: "primary", className: (0, classnames_1.default)(ReviewDCRButton_module_css_1.default.button), "data-reltio-id": "review-dcr-button" },
16
+ react_1.default.createElement(ReviewDCR_1.default, { className: ReviewDCRButton_module_css_1.default.icon }),
17
+ ui_i18n_1.default.text('Review DCR')));
18
+ };
19
+ exports.ReviewDCRButton = ReviewDCRButton;
@@ -0,0 +1,9 @@
1
+ const styles = {"button":"ReviewDCRButton-button--LIwmx","icon":"ReviewDCRButton-icon--b1gNO"};
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 = `.ReviewDCRButton-button--LIwmx{min-width:100px}.ReviewDCRButton-icon--b1gNO{margin-right:8px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { ReviewDCRButton } from './ReviewDCRButton';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReviewDCRButton = void 0;
4
+ var ReviewDCRButton_1 = require("./ReviewDCRButton");
5
+ Object.defineProperty(exports, "ReviewDCRButton", { enumerable: true, get: function () { return ReviewDCRButton_1.ReviewDCRButton; } });
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ChangeRequest, GroupedObjectsInfo, WorkflowTaskData } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ dcr: ChangeRequest;
7
+ task: WorkflowTaskData;
8
+ groupedObjects: GroupedObjectsInfo[];
9
+ };
10
+ export declare const ReviewDCRDialog: ({ open, onClose, dcr, task, groupedObjects }: Props) => React.JSX.Element;
11
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ReviewDCRDialog = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var Dialog_1 = __importDefault(require("@mui/material/Dialog"));
9
+ var DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
10
+ var DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
11
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
12
+ var SmallIconButton_1 = require("../../../SmallIconButton");
13
+ var Close_1 = __importDefault(require("@mui/icons-material/Close"));
14
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
15
+ var useWorkflowCheckPermission_1 = require("../hooks/useWorkflowCheckPermission");
16
+ var useWorkflowActions_1 = require("../hooks/useWorkflowActions");
17
+ var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
18
+ var ProfileBand_1 = require("../../../ProfileBand");
19
+ var DueDateField_1 = require("../DueDateField");
20
+ var PrioritySelector_1 = require("../PrioritySelector");
21
+ var AssigneeSelector_1 = require("../AssigneeSelector");
22
+ var WorkflowComments_1 = require("../WorkflowComments");
23
+ var WorkflowActionButtons_1 = require("../WorkflowActionButtons");
24
+ var DCRSummaryInfo_1 = require("./components/DCRSummaryInfo/DCRSummaryInfo");
25
+ var ChangeRequestEditor_1 = require("../ChangeRequestEditor");
26
+ var ReviewDCRDialog_module_css_1 = __importDefault(require("./ReviewDCRDialog.module.css"));
27
+ var ReviewDCRDialog = function (_a) {
28
+ var open = _a.open, onClose = _a.onClose, dcr = _a.dcr, task = _a.task, groupedObjects = _a.groupedObjects;
29
+ var entity = (0, MdmModuleContext_1.useMdmEntity)();
30
+ var checkWorkflowPermission = (0, useWorkflowCheckPermission_1.useWorkflowCheckPermission)();
31
+ var canViewComments = checkWorkflowPermission('VIEW_PROCESS_INSTANCE_COMMENTS');
32
+ var _b = (0, useWorkflowActions_1.useWorkflowActions)({
33
+ taskId: task.taskId,
34
+ possibleActions: task.possibleActions,
35
+ assignee: task.assignee,
36
+ isOpen: task.isOpen
37
+ }), workflowActions = _b.actions, actionRequestIsInProgress = _b.actionRequestIsInProgress;
38
+ return (react_1.default.createElement(Dialog_1.default, { open: open, onClose: onClose, fullScreen: true },
39
+ react_1.default.createElement(DialogTitle_1.default, { className: ReviewDCRDialog_module_css_1.default.dialogTitle },
40
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.titleContent },
41
+ react_1.default.createElement(Typography_1.default, { variant: "h6", className: ReviewDCRDialog_module_css_1.default.titleText }, ui_i18n_1.default.text('Review DCR')),
42
+ react_1.default.createElement(WorkflowActionButtons_1.WorkflowActionButtons, { workflowActions: workflowActions, actionRequestIsInProgress: actionRequestIsInProgress, preferredAction: task.preferredAction })),
43
+ react_1.default.createElement(SmallIconButton_1.SmallIconButton, { onClick: onClose, className: ReviewDCRDialog_module_css_1.default.closeButton, "aria-label": "close", icon: Close_1.default })),
44
+ react_1.default.createElement(DialogContent_1.default, { classes: { root: ReviewDCRDialog_module_css_1.default.content } },
45
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.leftSection },
46
+ react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: entity, className: ReviewDCRDialog_module_css_1.default.profileBandRoot, classes: { profileBand: ReviewDCRDialog_module_css_1.default.profileBand } }),
47
+ react_1.default.createElement(DCRSummaryInfo_1.DCRSummaryInfo, { dcr: dcr, task: task, groupedObjects: groupedObjects }),
48
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableSection },
49
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableGrid },
50
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableItem },
51
+ react_1.default.createElement(DueDateField_1.DueDateField, { taskId: task.taskId, dueDate: task.dueDate, isTaskOpen: task.isOpen })),
52
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableItem },
53
+ react_1.default.createElement(PrioritySelector_1.PrioritySelector, { taskId: task.taskId, priority: task.priority || 50, isTaskOpen: task.isOpen, className: ReviewDCRDialog_module_css_1.default.priorityField })),
54
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.editableItem },
55
+ react_1.default.createElement(AssigneeSelector_1.AssigneeSelector, { taskId: task.taskId, assignee: task.assignee, isTaskOpen: task.isOpen })))),
56
+ react_1.default.createElement("div", { className: ReviewDCRDialog_module_css_1.default.changesSection },
57
+ react_1.default.createElement(ChangeRequestEditor_1.ChangeRequestEditor, { dcr: dcr, task: task }))),
58
+ canViewComments && (react_1.default.createElement(WorkflowComments_1.WorkflowComments, { workflowActions: workflowActions, actionRequestIsInProgress: actionRequestIsInProgress, preferredAction: task.preferredAction, taskId: task.taskId, processInstanceComments: task.processInstanceComments, isTaskOpen: task.isOpen, showActionButtons: false, alwaysExpanded: true, classes: {
59
+ container: ReviewDCRDialog_module_css_1.default.commentsRootContainer,
60
+ commentsContainer: ReviewDCRDialog_module_css_1.default.commentsContainer
61
+ } })))));
62
+ };
63
+ exports.ReviewDCRDialog = ReviewDCRDialog;
@@ -0,0 +1,9 @@
1
+ const styles = {"dialogTitle":"ReviewDCRDialog-dialogTitle--xCXtj","titleContent":"ReviewDCRDialog-titleContent--Hh2KH","titleText":"ReviewDCRDialog-titleText--ME8s4","closeButton":"ReviewDCRDialog-closeButton--YMAEf","content":"ReviewDCRDialog-content--qvUva","leftSection":"ReviewDCRDialog-leftSection--5MELW","profileBand":"ReviewDCRDialog-profileBand--7r6Xy","profileBandRoot":"ReviewDCRDialog-profileBandRoot--G7p1m","editableSection":"ReviewDCRDialog-editableSection--v-D7a","editableGrid":"ReviewDCRDialog-editableGrid--auc-d","editableItem":"ReviewDCRDialog-editableItem--isGwv","priorityField":"ReviewDCRDialog-priorityField--LQ1n3","changesSection":"ReviewDCRDialog-changesSection--qj2OK","commentsRootContainer":"ReviewDCRDialog-commentsRootContainer--g2f7m","commentsContainer":"ReviewDCRDialog-commentsContainer--OApOx"};
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 = `.ReviewDCRDialog-dialogTitle--xCXtj{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 16px 8px}.ReviewDCRDialog-titleContent--Hh2KH{align-items:center;display:flex;flex:1;justify-content:space-between;position:relative}.ReviewDCRDialog-titleText--ME8s4{flex:1;margin:0;padding-left:48px}.ReviewDCRDialog-closeButton--YMAEf{color:#666;left:15px;position:absolute}.ReviewDCRDialog-closeButton--YMAEf:hover{background-color:rgba(0,0,0,.04);color:#333}.ReviewDCRDialog-content--qvUva{display:flex;min-height:400px;padding:0!important;width:100%}.ReviewDCRDialog-leftSection--5MELW{border-right:1px solid #e0e0e0;padding:0 16px;width:100%}.ReviewDCRDialog-profileBand--7r6Xy{margin-left:-16px}.ReviewDCRDialog-profileBandRoot--G7p1m{box-shadow:none;margin-bottom:0}.ReviewDCRDialog-editableSection--v-D7a{border:1px solid #d9d9d9;border-radius:0 0 8px 8px;margin-bottom:32px;padding:8px 16px 14px}.ReviewDCRDialog-editableGrid--auc-d{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:12px}.ReviewDCRDialog-editableItem--isGwv{display:flex;flex-direction:column}.ReviewDCRDialog-priorityField--LQ1n3{min-width:200px}.ReviewDCRDialog-changesSection--qj2OK{margin-bottom:24px}.ReviewDCRDialog-commentsRootContainer--g2f7m{margin:10px 0 16px 10px;min-width:323px;width:323px}.ReviewDCRDialog-commentsContainer--OApOx{flex-grow:1;max-height:100%}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { DCRChanges, GroupedObjectsInfo } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ changes?: DCRChanges;
5
+ groupedObjects: GroupedObjectsInfo[];
6
+ };
7
+ export declare const DCRChangesSummary: ({ changes, groupedObjects }: Props) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DCRChangesSummary = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var classnames_1 = __importDefault(require("classnames"));
32
+ var Skeleton_1 = __importDefault(require("@mui/material/Skeleton"));
33
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
34
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
35
+ var MdmModuleContext_1 = require("../../../../../contexts/MdmModuleContext");
36
+ var helpers_1 = require("../../helpers");
37
+ var DCRChangesSummary_module_css_1 = __importDefault(require("./DCRChangesSummary.module.css"));
38
+ var getOperationLabel = function (operation) {
39
+ var _a;
40
+ var labels = (_a = {},
41
+ _a[mdm_sdk_1.DCROperationTypes.ADDED] = ui_i18n_1.default.text('Added'),
42
+ _a[mdm_sdk_1.DCROperationTypes.EDITED] = ui_i18n_1.default.text('Edited'),
43
+ _a[mdm_sdk_1.DCROperationTypes.DELETED] = ui_i18n_1.default.text('Deleted'),
44
+ _a[mdm_sdk_1.DCROperationTypes.PINNED] = ui_i18n_1.default.text('Pinned'),
45
+ _a[mdm_sdk_1.DCROperationTypes.PIN_DELETED] = ui_i18n_1.default.text('Pin deleted'),
46
+ _a[mdm_sdk_1.DCROperationTypes.IGNORED] = ui_i18n_1.default.text('Ignored'),
47
+ _a[mdm_sdk_1.DCROperationTypes.IGNORE_DELETED] = ui_i18n_1.default.text('Ignore deleted'),
48
+ _a);
49
+ return labels[operation] || operation || '';
50
+ };
51
+ var ChangeItem = function (_a) {
52
+ var count = _a.count, operation = _a.operation;
53
+ return count > 0 && (react_1.default.createElement("div", { className: DCRChangesSummary_module_css_1.default.changeItem },
54
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(DCRChangesSummary_module_css_1.default.changeNumber, DCRChangesSummary_module_css_1.default[operation]) }, count),
55
+ react_1.default.createElement("div", { className: DCRChangesSummary_module_css_1.default.changeLabel }, getOperationLabel(operation))));
56
+ };
57
+ var LoadingSkeleton = function () { return (react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 4 }).map(function (_, index) { return (react_1.default.createElement("div", { key: "summary-changes-skeleton-".concat(index), className: DCRChangesSummary_module_css_1.default.changeItem },
58
+ react_1.default.createElement(Skeleton_1.default, { variant: "text", width: 24, height: 16, className: DCRChangesSummary_module_css_1.default.changeNumber }),
59
+ react_1.default.createElement(Skeleton_1.default, { variant: "text", width: 60, height: 13, className: DCRChangesSummary_module_css_1.default.changeLabel }))); }))); };
60
+ var DCRChangesSummary = function (_a) {
61
+ var changes = _a.changes, groupedObjects = _a.groupedObjects;
62
+ var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
63
+ var dcrChanges = (0, react_1.useMemo)(function () { return (changes ? (0, helpers_1.calculateDCRChanges)(metadata, changes, groupedObjects) : null); }, [metadata, changes, groupedObjects]);
64
+ var changesLoaded = !!dcrChanges;
65
+ return (react_1.default.createElement("div", { className: DCRChangesSummary_module_css_1.default.changesSummary, "data-reltio-id": "dcr-changes-summary" },
66
+ !changesLoaded && react_1.default.createElement(LoadingSkeleton, null),
67
+ changesLoaded &&
68
+ Object.entries(dcrChanges).map(function (_a) {
69
+ var operation = _a[0], count = _a[1];
70
+ return (react_1.default.createElement(ChangeItem, { key: operation, count: count, operation: operation }));
71
+ })));
72
+ };
73
+ exports.DCRChangesSummary = DCRChangesSummary;
@@ -0,0 +1,9 @@
1
+ const styles = {"changesSummary":"DCRChangesSummary-changesSummary--31gR-","changeItem":"DCRChangesSummary-changeItem---XfYP","changeNumber":"DCRChangesSummary-changeNumber--vZxc4","changeLabel":"DCRChangesSummary-changeLabel--tDXS6","edited":"DCRChangesSummary-edited--KFivZ","added":"DCRChangesSummary-added--KGdGw","deleted":"DCRChangesSummary-deleted--TWgS5","ignored":"DCRChangesSummary-ignored--Q2Q8R"};
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 = `.DCRChangesSummary-changesSummary--31gR-{align-items:center;display:flex;gap:22px}.DCRChangesSummary-changeItem---XfYP{align-items:center;display:flex;flex-direction:column;gap:4px;position:relative}.DCRChangesSummary-changeItem---XfYP:not(:last-child):after{background-color:#d9d9d9;bottom:2px;content:"";height:20px;position:absolute;right:-12px;top:2px;width:1px}.DCRChangesSummary-changeNumber--vZxc4{font-size:16px;font-weight:500;line-height:1}.DCRChangesSummary-changeLabel--tDXS6{color:var(--mui-palette-text-primary);font-size:13px}.DCRChangesSummary-edited--KFivZ{color:#eb9d08}.DCRChangesSummary-added--KGdGw{color:#599e0e}.DCRChangesSummary-deleted--TWgS5{color:#eb5757}.DCRChangesSummary-ignored--Q2Q8R{color:var(--mui-palette-primary-light)}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { DCRChangesSummary } from './DCRChangesSummary';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DCRChangesSummary = void 0;
4
+ var DCRChangesSummary_1 = require("./DCRChangesSummary");
5
+ Object.defineProperty(exports, "DCRChangesSummary", { enumerable: true, get: function () { return DCRChangesSummary_1.DCRChangesSummary; } });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ChangeRequest, GroupedObjectsInfo, WorkflowTaskData } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ dcr: ChangeRequest;
5
+ task: WorkflowTaskData;
6
+ groupedObjects: GroupedObjectsInfo[];
7
+ };
8
+ export declare const DCRSummaryInfo: ({ dcr, task, groupedObjects }: Props) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DCRSummaryInfo = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var classnames_1 = __importDefault(require("classnames"));
9
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
10
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
11
+ var RequestSummary_1 = __importDefault(require("../../../../../icons/RequestSummary"));
12
+ var DCRChangesSummary_1 = require("../DCRChangesSummary");
13
+ var common_1 = require("../../../helpers/common");
14
+ var DCRSummaryInfo_module_css_1 = __importDefault(require("./DCRSummaryInfo.module.css"));
15
+ var DCRSummaryInfo = function (_a) {
16
+ var dcr = _a.dcr, task = _a.task, groupedObjects = _a.groupedObjects;
17
+ var dcrId = (0, common_1.getDCRId)(task.objectURIs);
18
+ return (react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.requestSummary },
19
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryLeft },
20
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryIcon },
21
+ react_1.default.createElement(RequestSummary_1.default, null)),
22
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryContent },
23
+ react_1.default.createElement(Typography_1.default, { variant: "h6", className: DCRSummaryInfo_module_css_1.default.summaryTitle }, ui_i18n_1.default.text('Request Summary')),
24
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryDetails },
25
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryItem },
26
+ react_1.default.createElement("span", { className: DCRSummaryInfo_module_css_1.default.summaryItemName }, "".concat(ui_i18n_1.default.text('DCR ID'), ": ")),
27
+ dcrId),
28
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryItem },
29
+ react_1.default.createElement("span", { className: DCRSummaryInfo_module_css_1.default.summaryItemName }, "".concat(ui_i18n_1.default.text('Created by'), ": ")),
30
+ task.createdBy),
31
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(DCRSummaryInfo_module_css_1.default.summaryItem, DCRSummaryInfo_module_css_1.default.summaryItemDate) },
32
+ react_1.default.createElement("span", { className: DCRSummaryInfo_module_css_1.default.summaryItemName }, "".concat(ui_i18n_1.default.text('on'), " ")),
33
+ ui_i18n_1.default.date(task.createTime, 'L')),
34
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryItem },
35
+ react_1.default.createElement("span", { className: DCRSummaryInfo_module_css_1.default.summaryItemName }, "".concat(ui_i18n_1.default.text('Step'), ": ")),
36
+ task.displayName)))),
37
+ react_1.default.createElement("div", { className: DCRSummaryInfo_module_css_1.default.summaryRight },
38
+ react_1.default.createElement(DCRChangesSummary_1.DCRChangesSummary, { changes: dcr === null || dcr === void 0 ? void 0 : dcr.changes, groupedObjects: groupedObjects }))));
39
+ };
40
+ exports.DCRSummaryInfo = DCRSummaryInfo;
@@ -0,0 +1,9 @@
1
+ const styles = {"requestSummary":"DCRSummaryInfo-requestSummary--FUaA0","summaryLeft":"DCRSummaryInfo-summaryLeft--Y79jA","summaryIcon":"DCRSummaryInfo-summaryIcon--VlZsg","summaryContent":"DCRSummaryInfo-summaryContent--BdPl7","summaryTitle":"DCRSummaryInfo-summaryTitle--77exU","summaryDetails":"DCRSummaryInfo-summaryDetails--u5ije","summaryItem":"DCRSummaryInfo-summaryItem--DbTdR","summaryItemName":"DCRSummaryInfo-summaryItemName--l7hYO","summaryItemDate":"DCRSummaryInfo-summaryItemDate--EQpJ0","summaryRight":"DCRSummaryInfo-summaryRight--9pEaH"};
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 = `.DCRSummaryInfo-requestSummary--FUaA0{align-items:flex-start;background-color:rgba(0,0,0,.03);border-radius:8px;display:flex;justify-content:space-between;padding:16px 8px 12px}.DCRSummaryInfo-summaryLeft--Y79jA{align-items:flex-start;display:flex;gap:16px}.DCRSummaryInfo-summaryIcon--VlZsg{padding-top:4px}.DCRSummaryInfo-summaryContent--BdPl7{display:flex;flex-direction:column;gap:3px}.DCRSummaryInfo-summaryTitle--77exU{font-size:16px;font-weight:500;margin:0}.DCRSummaryInfo-summaryDetails--u5ije{display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.DCRSummaryInfo-summaryItem--DbTdR{color:var(--mui-palette-text-primary);font-size:13px;margin:0}.DCRSummaryInfo-summaryItemName--l7hYO{color:var(--mui-palette-text-secondary)}.DCRSummaryInfo-summaryItemDate--EQpJ0{margin-left:-4px}.DCRSummaryInfo-summaryRight--9pEaH{align-items:center;display:flex;padding:3px 9px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;