oa-componentbook 1.0.1-stage.363 → 1.0.1-stage.365

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 (24) hide show
  1. package/build/components/oa-component-accordion/Accordion.js +102 -42
  2. package/build/components/oa-component-accordion/styles.js +2 -2
  3. package/build/components/oa-component-button/CustomButton.js +6 -4
  4. package/build/components/oa-component-icons/MaterialIcon.js +1 -1
  5. package/build/components/oa-component-modal/styles.js +1 -1
  6. package/build/components/oa-component-tag/CustomTag.js +18 -12
  7. package/build/index.js +14 -0
  8. package/build/layout/EntityOverviewLayout/EntityOverviewLayout.js +215 -0
  9. package/build/layout/EntityOverviewLayout/reducer/entityOverviewLayoutReducer.js +77 -0
  10. package/build/layout/EntityOverviewLayout/styles.js +13 -0
  11. package/build/layout/GenricLayOut/GenricLayOut.js +299 -173
  12. package/build/layout/GenricLayOut/components/Header.js +7 -1
  13. package/build/layout/GenricLayOut/components/ProfileSection.js +85 -0
  14. package/build/layout/GenricLayOut/reducer/layoutReducer.js +5 -1
  15. package/build/layout/GenricLayOut/styles.js +6 -3
  16. package/build/widgets/oa-form-widget/FormWidget.js +89 -22
  17. package/build/widgets/oa-widget-approval/ApprovalWidgetNew.js +91 -46
  18. package/build/widgets/oa-widget-key-value/KeyValueWidget.js +3 -0
  19. package/build/widgets/oa-widget-profile-data/ProfileDataWidget.js +115 -0
  20. package/build/widgets/oa-widget-profile-data/styles.js +13 -0
  21. package/build/widgets/oa-widget-progressive-steps/ProgressiveStepsWidget.js +104 -105
  22. package/build/widgets/oa-widget-user-management/UserManagementWidget.js +332 -0
  23. package/build/widgets/oa-widget-user-management/styles.js +15 -0
  24. package/package.json +1 -1
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ require("core-js/modules/es.object.assign.js");
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _antd = require("antd");
@@ -11,14 +12,12 @@ var _KeyboardArrowUpRounded = _interopRequireDefault(require("@material-ui/icons
11
12
  var _styles = require("./styles");
12
13
  var _ColorVariablesMap = _interopRequireDefault(require("../../global-css/ColorVariablesMap"));
13
14
  var _MaterialIcon = _interopRequireDefault(require("../oa-component-icons/MaterialIcon"));
15
+ var _CustomTag = _interopRequireDefault(require("../oa-component-tag/CustomTag"));
16
+ var _Typography = _interopRequireDefault(require("../oa-component-typography/Typography"));
17
+ var _KeyValueWidget = _interopRequireDefault(require("../../widgets/oa-widget-key-value/KeyValueWidget"));
18
+ var _CustomButton = _interopRequireDefault(require("../oa-component-button/CustomButton"));
14
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- /**
16
- * Renders a MaterialIcon that rotates depending on the state of isActive.
17
- *
18
- * @param {boolean} isActive - Whether the icon should be rotated or not.
19
- *
20
- * @returns {React.ReactElement} - A React element representing the CollapseIcon.
21
- */
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable */
22
21
  function CollapseIcon(_ref) {
23
22
  let {
24
23
  isActive
@@ -29,29 +28,40 @@ function CollapseIcon(_ref) {
29
28
  rotate: isActive ? 0 : 180
30
29
  });
31
30
  }
31
+ function renderCustomBody(customBody, onActionClick) {
32
+ if (!customBody || !customBody.items) return null;
33
+ return customBody.items.map((item, index) => /*#__PURE__*/_react.default.createElement("div", {
34
+ key: index,
35
+ className: "custom-body-item"
36
+ }, item.heading && /*#__PURE__*/_react.default.createElement("div", {
37
+ className: "custom-body-heading"
38
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
39
+ typography: item.heading.type,
40
+ color: "primary-content"
41
+ }, item.heading.label)), item.dataConfig && item.dataConfig.type === "keyvalue" && /*#__PURE__*/_react.default.createElement("div", {
42
+ className: "custom-body-content"
43
+ }, /*#__PURE__*/_react.default.createElement(_KeyValueWidget.default, {
44
+ data: item.dataConfig.data,
45
+ customClassName: "gst-details-keyvalue"
46
+ })), item.dataConfig && item.dataConfig.type === "button" && /*#__PURE__*/_react.default.createElement("div", {
47
+ className: "custom-body-content"
48
+ }, /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
49
+ type: item.dataConfig.subType,
50
+ onClick: () => {
51
+ if (onActionClick && item.dataConfig.onClick) {
52
+ onActionClick(item.dataConfig.onClick, item.dataConfig);
53
+ }
54
+ },
55
+ label: item.dataConfig.label
56
+ }))));
57
+ }
32
58
  CollapseIcon.propTypes = {
33
59
  isActive: _propTypes.default.bool.isRequired
34
60
  };
35
-
36
- /**
37
- * Accordion component that renders a collapsible panel with the given header text, body content,
38
- * and optional small text. The component is disabled if the `disabled` prop is true.
39
- *
40
- * @param {React.ReactNode} body - Content to be rendered in the collapsible panel.
41
- * @param {string} [dataTest] - String to be used as a data-test attribute on the component.
42
- * @param {boolean} [disabled=false] - Whether the component is disabled or not.
43
- * @param {string} headerText - Text to be displayed as the header of the collapsible panel.
44
- * @param {string} [smallText] - Optional small text to be displayed next to the header text.
45
- * @param {string | number} [key] - Key to be used for the collapsible panel.
46
- * @param {string | number} [defaultActiveKey] - Key of the collapsible panel that should be active by default.
47
- * @param {boolean} [hasContentPadding=true] - Whether to apply content padding to the collapsible panel or not.
48
- * @param {Function} [onChange=() => {}] - Function to be called when the panel is expanded or collapsed.
49
- * @param {string | number} [activeKey] - Key of the collapsible panel that is currently active.
50
- */
51
61
  function Accordion(_ref2) {
52
62
  let {
53
63
  body,
54
- 'data-test': dataTest,
64
+ "data-test": dataTest,
55
65
  disabled,
56
66
  headerText,
57
67
  smallText,
@@ -60,13 +70,17 @@ function Accordion(_ref2) {
60
70
  hasContentPadding,
61
71
  // New prop to determine whether to apply contentPadding
62
72
  onChange,
63
- activeKey
73
+ activeKey,
74
+ componentConfig,
75
+ subtext,
76
+ customBody,
77
+ onActionClick
64
78
  } = _ref2;
65
79
  const themeConfig = {
66
80
  components: {
67
81
  Collapse: {
68
- headerBg: _ColorVariablesMap.default['--color-secondary-background'],
69
- contentPadding: hasContentPadding ? '20px 24px' : '0' // Adjust the value as needed
82
+ headerBg: _ColorVariablesMap.default["--color-secondary-background"],
83
+ contentPadding: hasContentPadding ? "20px 24px" : "0" // Adjust the value as needed
70
84
  }
71
85
  }
72
86
  };
@@ -75,43 +89,89 @@ function Accordion(_ref2) {
75
89
  }, /*#__PURE__*/_react.default.createElement(_styles.CollapseStyle, null, /*#__PURE__*/_react.default.createElement(_antd.Collapse, {
76
90
  expandIcon: CollapseIcon,
77
91
  expandIconPosition: "end",
78
- defaultActiveKey: disabled ? '-1' : defaultActiveKey,
92
+ defaultActiveKey: disabled ? "-1" : defaultActiveKey,
79
93
  onChange: onChange
80
94
  }, /*#__PURE__*/_react.default.createElement(_antd.Collapse.Panel, {
81
95
  "data-test": dataTest ? "".concat(dataTest, "--complete") : undefined,
82
- collapsible: disabled ? 'disabled' : undefined,
96
+ collapsible: disabled ? "disabled" : undefined,
83
97
  key: activeKey || key,
84
98
  header: /*#__PURE__*/_react.default.createElement("div", {
85
99
  "data-test": dataTest ? "".concat(dataTest, "--header") : undefined,
86
100
  className: "type-button-500"
87
- }, headerText, smallText && /*#__PURE__*/_react.default.createElement(_styles.SmallText, null, smallText))
88
- }, /*#__PURE__*/_react.default.createElement("div", {
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
102
+ className: "header-content"
103
+ }, /*#__PURE__*/_react.default.createElement("div", {
104
+ className: "header-main"
105
+ }, componentConfig && (componentConfig === null || componentConfig === void 0 ? void 0 : componentConfig.type) === "tag" && /*#__PURE__*/_react.default.createElement("div", {
106
+ className: "header-tag"
107
+ }, /*#__PURE__*/_react.default.createElement(_CustomTag.default, _extends({
108
+ type: componentConfig === null || componentConfig === void 0 ? void 0 : componentConfig.subType,
109
+ label: componentConfig === null || componentConfig === void 0 ? void 0 : componentConfig.label
110
+ }, componentConfig === null || componentConfig === void 0 ? void 0 : componentConfig.props))), /*#__PURE__*/_react.default.createElement("div", {
111
+ className: "header-text"
112
+ }, headerText, smallText && /*#__PURE__*/_react.default.createElement(_styles.SmallText, null, smallText)), subtext && /*#__PURE__*/_react.default.createElement("div", {
113
+ className: "header-subtext"
114
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
115
+ typography: subtext === null || subtext === void 0 ? void 0 : subtext.type,
116
+ color: "secondary-content"
117
+ }, subtext === null || subtext === void 0 ? void 0 : subtext.label)))))
118
+ }, body && /*#__PURE__*/_react.default.createElement("div", {
119
+ className: "gridContainer"
120
+ }, body), customBody && /*#__PURE__*/_react.default.createElement("div", {
89
121
  className: "gridContainer"
90
- }, body)))));
122
+ }, renderCustomBody(customBody, onActionClick))))));
91
123
  }
92
124
  Accordion.propTypes = {
93
125
  body: _propTypes.default.node,
94
- 'data-test': _propTypes.default.string,
126
+ "data-test": _propTypes.default.string,
95
127
  disabled: _propTypes.default.bool,
96
128
  headerText: _propTypes.default.string.isRequired,
97
129
  smallText: _propTypes.default.string,
98
130
  hasContentPadding: _propTypes.default.bool,
99
- // New prop for controlling contentPadding
100
131
  key: _propTypes.default.string,
101
132
  defaultActiveKey: _propTypes.default.string,
102
133
  onChange: _propTypes.default.func,
103
- activeKey: _propTypes.default.string || _propTypes.default.number
134
+ activeKey: _propTypes.default.string || _propTypes.default.number,
135
+ componentConfig: _propTypes.default.shape({
136
+ type: _propTypes.default.string.isRequired,
137
+ subType: _propTypes.default.string,
138
+ label: _propTypes.default.string.isRequired,
139
+ props: _propTypes.default.object
140
+ }),
141
+ subtext: _propTypes.default.shape({
142
+ type: _propTypes.default.string.isRequired,
143
+ label: _propTypes.default.string.isRequired
144
+ }),
145
+ customBody: _propTypes.default.shape({
146
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
147
+ heading: _propTypes.default.shape({
148
+ type: _propTypes.default.string.isRequired,
149
+ label: _propTypes.default.string.isRequired
150
+ }),
151
+ dataConfig: _propTypes.default.shape({
152
+ type: _propTypes.default.string.isRequired,
153
+ data: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]).isRequired,
154
+ subType: _propTypes.default.string,
155
+ label: _propTypes.default.string,
156
+ onClick: _propTypes.default.string
157
+ })
158
+ }))
159
+ }),
160
+ onActionClick: _propTypes.default.func
104
161
  };
105
162
  Accordion.defaultProps = {
106
- body: '',
107
- 'data-test': null,
163
+ body: "",
164
+ "data-test": null,
108
165
  disabled: false,
109
- smallText: '',
110
- key: '1',
111
- defaultActiveKey: '1',
166
+ smallText: "",
167
+ key: "1",
168
+ defaultActiveKey: "1",
112
169
  hasContentPadding: true,
113
- // Default value for contentPadding
114
170
  onChange: () => {},
115
- activeKey: null
171
+ activeKey: null,
172
+ componentConfig: null,
173
+ subtext: null,
174
+ customBody: null,
175
+ onActionClick: null
116
176
  };
117
177
  var _default = exports.default = Accordion;
@@ -9,5 +9,5 @@ var _templateObject, _templateObject2;
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
11
  var _default = exports.default = {};
12
- const SmallText = exports.SmallText = _styledComponents.default.small(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-size: 18px;\n color: #E21616;\n margin: 0 0 0 4px;\n"])));
13
- const CollapseStyle = exports.CollapseStyle = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n.ant-collapse .ant-collapse-item-disabled{\n background: var(--color-disabled-button);\n}\n /* .ant-collapse-item-active .ant-collapse-expand-icon{\n transform: rotate(180deg);\n } */\n /* .ant-collapse-expand-icon{\n padding-inline-start: 0 !important;\n } */\n .ant-collapse-header-text{\n color: var(--color-primary-content);\n }\n /* .ant-collapse-arrow{\n color: var(--color-secondary-content) !important;\n } */\n .ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header,.ant-collapse .ant-collapse-item:last-child >.ant-collapse-content {\n border-radius: 0 0 4px 4px;\n }\n .ant-collapse>.ant-collapse-item {\n border: none;\n }\n .ant-collapse{\n border: 1px solid var(--color-divider);\n border-radius: 4px;\n overflow: hidden;\n }\n \n .ant-collapse>.ant-collapse-item >.ant-collapse-header{\n padding: 12px 24px;\n }\n @media only screen and (max-width: 600px) {\n .ant-collapse .ant-collapse-content>.ant-collapse-content-box {\n padding: 16px;\n }\n .ant-collapse>.ant-collapse-item>.ant-collapse-header {\n padding: 12px 16px;\n }\n }\n"])));
12
+ const SmallText = exports.SmallText = _styledComponents.default.small(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-size: 18px;\n color: #e21616;\n margin: 0 0 0 4px;\n"])));
13
+ const CollapseStyle = exports.CollapseStyle = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .ant-collapse .ant-collapse-item-disabled {\n background: var(--color-disabled-button);\n }\n /* .ant-collapse-item-active .ant-collapse-expand-icon{\n transform: rotate(180deg);\n } */\n /* .ant-collapse-expand-icon{\n padding-inline-start: 0 !important;\n } */\n .ant-collapse-header-text {\n color: var(--color-primary-content);\n }\n /* .ant-collapse-arrow{\n color: var(--color-secondary-content) !important;\n } */\n .ant-collapse > .ant-collapse-item:last-child,\n .ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header,\n .ant-collapse .ant-collapse-item:last-child > .ant-collapse-content {\n border-radius: 0 0 4px 4px;\n }\n .ant-collapse > .ant-collapse-item {\n border: none;\n }\n .ant-collapse {\n border: 1px solid var(--color-divider);\n border-radius: 4px;\n overflow: hidden;\n }\n\n .ant-collapse > .ant-collapse-item > .ant-collapse-header {\n padding: 12px 24px;\n }\n\n /* New styles for header content layout */\n .header-content {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n width: 100%;\n }\n\n .header-main {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n gap: 8px;\n }\n\n .header-tag {\n margin-bottom: 4px;\n }\n\n .header-text {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .header-subtext {\n margin-top: 4px;\n color: var(--color-secondary-content);\n }\n\n /* Custom body styles */\n .custom-body-item {\n margin-bottom: 24px;\n }\n\n .custom-body-heading {\n margin-bottom: 16px;\n }\n\n .custom-body-content {\n // margin-top: 8px;\n }\n\n .custom-body-button {\n margin-top: 16px;\n display: flex;\n justify-content: flex-end;\n }\n\n .gst-details-keyvalue {\n .key-value-item {\n margin-bottom: 4px;\n }\n\n .key {\n font-weight: 400;\n color: var(--color-primary-content);\n }\n\n .value {\n font-weight: 700;\n color: var(--color-primary-content);\n }\n }\n\n @media only screen and (max-width: 600px) {\n .ant-collapse .ant-collapse-content > .ant-collapse-content-box {\n padding: 16px;\n }\n .ant-collapse > .ant-collapse-item > .ant-collapse-header {\n padding: 12px 16px;\n }\n }\n"])));
@@ -61,14 +61,14 @@ function CustomButton(_ref) {
61
61
  }, domProps), /*#__PURE__*/_react.default.createElement("div", {
62
62
  className: "text-container"
63
63
  }, iconConfig.position === 'left' && /*#__PURE__*/_react.default.isValidElement(iconConfig.icon) && /*#__PURE__*/_react.default.cloneElement(iconConfig.icon, {
64
- size: iconSize
64
+ size: (iconConfig === null || iconConfig === void 0 ? void 0 : iconConfig.size) || iconSize
65
65
  }), label && (showEllipsis ? /*#__PURE__*/_react.default.createElement(_styles.EllipsisTypography, {
66
66
  title: label,
67
67
  typography: buttonTypography
68
68
  }, label) : /*#__PURE__*/_react.default.createElement(_Typography.default, {
69
69
  typography: buttonTypography
70
70
  }, label)), iconConfig.position === 'right' && /*#__PURE__*/_react.default.isValidElement(iconConfig.icon) && /*#__PURE__*/_react.default.cloneElement(iconConfig.icon, {
71
- size: iconSize
71
+ size: (iconConfig === null || iconConfig === void 0 ? void 0 : iconConfig.size) || iconSize
72
72
  })));
73
73
  }
74
74
  CustomButton.propTypes = {
@@ -80,7 +80,8 @@ CustomButton.propTypes = {
80
80
  iconConfig: _propTypes.default.shape({
81
81
  icon: _propTypes.default.node,
82
82
  position: _propTypes.default.oneOf(['left', 'right']),
83
- style: _propTypes.default.objectOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))
83
+ style: _propTypes.default.objectOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])),
84
+ size: _propTypes.default.number
84
85
  }),
85
86
  label: _propTypes.default.node,
86
87
  showEllipsis: _propTypes.default.bool,
@@ -93,7 +94,8 @@ CustomButton.defaultProps = {
93
94
  disabled: false,
94
95
  htmlType: 'button',
95
96
  iconConfig: {
96
- position: 'left'
97
+ position: 'left',
98
+ size: 20
97
99
  },
98
100
  label: '',
99
101
  showEllipsis: false,
@@ -39,7 +39,7 @@ function MaterialIcon(_ref) {
39
39
  props = _objectWithoutProperties(_ref, _excluded);
40
40
  const renderedIcon = /*#__PURE__*/_react.default.createElement(Icon, _extends({
41
41
  style: _objectSpread({
42
- color: color ? _ColorVariablesMap.default["--color-".concat(color)] : undefined,
42
+ color: color && _ColorVariablesMap.default["--color-".concat(color)] ? _ColorVariablesMap.default["--color-".concat(color)] : color || undefined,
43
43
  fontSize: size ? "".concat(size, "px") : 'inherit',
44
44
  transition: 'transform .3s ease',
45
45
  transform: "rotate(".concat(rotate, "deg)")
@@ -11,4 +11,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
12
  const ButtonContainer = exports.ButtonContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n gap: 16px;\n justify-content: flex-end;\n margin: 36px 0 0;\n @media (max-width: 768px) {\n justify-content: space-between;\n button{\n width: 100%;\n }\n }\n"])));
13
13
  const DescriptionContainer = exports.DescriptionContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 12px 0 0;\n"])));
14
- const TitleContainer = exports.TitleContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 32px 0 0 0;\n\n img {\n height: 36px;\n width: 36px;\n }\n"])));
14
+ const TitleContainer = exports.TitleContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 32px 0 0 0;\n display: flex;\n flex-direction: column;\n gap: 16px;\n img {\n height: 36px;\n width: 36px;\n }\n"])));
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ require("core-js/modules/es.object.assign.js");
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _Typography = _interopRequireDefault(require("../oa-component-typography/Typography"));
10
11
  var _styles = require("./styles");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable */
12
14
  /**
13
15
  * A simple tag component that displays a label.
14
16
  *
@@ -21,40 +23,44 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
23
  */
22
24
  function CustomTag(_ref) {
23
25
  let {
24
- 'data-test': dataTest,
26
+ "data-test": dataTest,
25
27
  label,
26
28
  type,
27
29
  visible,
28
30
  bgColor,
29
31
  borderColor,
30
- textColor
32
+ textColor,
33
+ style
31
34
  } = _ref;
32
- return /*#__PURE__*/_react.default.createElement(_styles.StyledTag, {
35
+ return /*#__PURE__*/_react.default.createElement(_styles.StyledTag, _extends({
33
36
  "data-test": dataTest,
34
37
  type: type,
35
38
  visible: visible,
36
39
  bgColor: bgColor,
37
40
  borderColor: borderColor,
38
41
  textColor: textColor
39
- }, /*#__PURE__*/_react.default.createElement(_styles.CenteredTextContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
42
+ }, style && {
43
+ style
44
+ }), /*#__PURE__*/_react.default.createElement(_styles.CenteredTextContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
40
45
  typography: "type-button-500"
41
46
  }, label)));
42
47
  }
43
48
  CustomTag.propTypes = {
44
- 'data-test': _propTypes.default.string,
49
+ "data-test": _propTypes.default.string,
45
50
  label: _propTypes.default.string.isRequired,
46
- type: _propTypes.default.oneOf(['success', 'pending', 'failed', 'recommended', 'primary', 'blue']),
51
+ type: _propTypes.default.oneOf(["success", "pending", "failed", "recommended", "primary", "blue", "custom"]),
47
52
  visible: _propTypes.default.bool,
48
53
  bgColor: _propTypes.default.string,
49
54
  borderColor: _propTypes.default.string,
50
- textColor: _propTypes.default.string
55
+ textColor: _propTypes.default.string,
56
+ style: _propTypes.default.object
51
57
  };
52
58
  CustomTag.defaultProps = {
53
- 'data-test': null,
54
- type: '',
59
+ "data-test": null,
60
+ type: "",
55
61
  visible: true,
56
- bgColor: '',
57
- borderColor: '',
58
- textColor: ''
62
+ bgColor: "",
63
+ borderColor: "",
64
+ textColor: ""
59
65
  };
60
66
  var _default = exports.default = CustomTag;
package/build/index.js CHANGED
@@ -365,6 +365,12 @@ Object.defineProperty(exports, "ElevationDemo", {
365
365
  return _ElevationDemo.default;
366
366
  }
367
367
  });
368
+ Object.defineProperty(exports, "EntityOverviewLayout", {
369
+ enumerable: true,
370
+ get: function get() {
371
+ return _EntityOverviewLayout.default;
372
+ }
373
+ });
368
374
  Object.defineProperty(exports, "FeedbackWidget", {
369
375
  enumerable: true,
370
376
  get: function get() {
@@ -491,6 +497,12 @@ Object.defineProperty(exports, "Preview", {
491
497
  return _Preview.default;
492
498
  }
493
499
  });
500
+ Object.defineProperty(exports, "ProfileDataWidget", {
501
+ enumerable: true,
502
+ get: function get() {
503
+ return _ProfileDataWidget.default;
504
+ }
505
+ });
494
506
  Object.defineProperty(exports, "ProgressiveStepsWidget", {
495
507
  enumerable: true,
496
508
  get: function get() {
@@ -744,6 +756,8 @@ var _CustomDocumentViewer = _interopRequireDefault(require("./dev/oa-component-d
744
756
  var _DocumentSideModal = _interopRequireDefault(require("./dev/oa-widget-document-modal/DocumentSideModal"));
745
757
  var _PaymentAndConsent = _interopRequireDefault(require("./layout/paymentAndConsent/PaymentAndConsent"));
746
758
  var _GenricLayOut = _interopRequireDefault(require("./layout/GenricLayOut/GenricLayOut"));
759
+ var _EntityOverviewLayout = _interopRequireDefault(require("./layout/EntityOverviewLayout/EntityOverviewLayout"));
760
+ var _ProfileDataWidget = _interopRequireDefault(require("./widgets/oa-widget-profile-data/ProfileDataWidget"));
747
761
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
748
762
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
749
763
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.object.assign.js");
5
+ require("core-js/modules/es.weak-map.js");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = EntityOverviewLayout;
10
+ require("core-js/modules/web.dom-collections.iterator.js");
11
+ require("core-js/modules/es.promise.js");
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _entityOverviewLayoutReducer = require("./reducer/entityOverviewLayoutReducer");
14
+ var _GlobalCss = _interopRequireDefault(require("../../global-css/GlobalCss"));
15
+ var _staticConfigResolver = _interopRequireDefault(require("../GenricLayOut/resolver/staticConfigResolver"));
16
+ var _CustomNotification = _interopRequireDefault(require("../../components/oa-component-notification/CustomNotification"));
17
+ var _styles = require("./styles");
18
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
19
+ var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
20
+ var _CustomButton = _interopRequireDefault(require("../../components/oa-component-button/CustomButton"));
21
+ var _antd = require("antd");
22
+ var _ProfileDataWidget = _interopRequireDefault(require("../../widgets/oa-widget-profile-data/ProfileDataWidget"));
23
+ var _Accordion = _interopRequireDefault(require("../../components/oa-component-accordion/Accordion"));
24
+ var _KeyValueWidget = _interopRequireDefault(require("../../widgets/oa-widget-key-value/KeyValueWidget"));
25
+ var _CustomDrawer = _interopRequireDefault(require("../../components/oa-component-drawer/CustomDrawer"));
26
+ var _DetailDataLayout = _interopRequireDefault(require("../DetailDataLayout/DetailDataLayout"));
27
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
30
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
34
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
35
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable */
36
+ function EntityOverviewLayout(_ref) {
37
+ var _backButton$iconConfi, _backButton$iconConfi2, _drawer$data, _drawer$data$drawer$a, _drawer$data2;
38
+ let {
39
+ config,
40
+ getInitialData,
41
+ handlers: {
42
+ handleBackButton,
43
+ addUserClick,
44
+ deleteUserClick,
45
+ editUserClick,
46
+ handleDrawerData
47
+ }
48
+ } = _ref;
49
+ const [state, dispatch] = (0, _react.useReducer)(_entityOverviewLayoutReducer.entityOverviewLayoutReducer, config !== null && config !== void 0 ? config : _entityOverviewLayoutReducer.initialState);
50
+ const stateRef = (0, _react.useRef)(state);
51
+ const notificationRef = (0, _react.useRef)(null);
52
+ const openNotification = (0, _react.useCallback)(params => notificationRef.current.openNotification(params), []);
53
+ const {
54
+ pageTitle,
55
+ backButton,
56
+ profileData,
57
+ accordionData,
58
+ drawer,
59
+ modal
60
+ } = state !== null && state !== void 0 ? state : {};
61
+ (0, _react.useEffect)(() => {
62
+ init();
63
+ }, []);
64
+ (0, _react.useEffect)(() => {
65
+ stateRef.current = state;
66
+ }, [state]);
67
+ const init = async () => {
68
+ dispatch({
69
+ type: _entityOverviewLayoutReducer.actionTypes.SET_LOADING,
70
+ payload: true
71
+ });
72
+ if (getInitialData) {
73
+ var _state$misc;
74
+ const {
75
+ error,
76
+ data
77
+ } = await (getInitialData === null || getInitialData === void 0 ? void 0 : getInitialData(_objectSpread({}, (_state$misc = state === null || state === void 0 ? void 0 : state.misc) !== null && _state$misc !== void 0 ? _state$misc : {})));
78
+ if (error) {
79
+ showErrorNotification(error);
80
+ const dynamicConfig = (0, _staticConfigResolver.default)(config, {});
81
+ dispatch({
82
+ type: _entityOverviewLayoutReducer.actionTypes.INIT,
83
+ payload: dynamicConfig
84
+ });
85
+ } else {
86
+ const dynamicConfig = (0, _staticConfigResolver.default)(config, data !== null && data !== void 0 ? data : {});
87
+ dispatch({
88
+ type: _entityOverviewLayoutReducer.actionTypes.INIT,
89
+ payload: dynamicConfig
90
+ });
91
+ }
92
+ } else {
93
+ const dynamicConfig = (0, _staticConfigResolver.default)(config, {});
94
+ dispatch({
95
+ type: _entityOverviewLayoutReducer.actionTypes.INIT,
96
+ payload: dynamicConfig
97
+ });
98
+ }
99
+ dispatch({
100
+ type: _entityOverviewLayoutReducer.actionTypes.SET_LOADING,
101
+ payload: false
102
+ });
103
+ };
104
+ const showErrorNotification = message => {
105
+ openNotification({
106
+ description: message,
107
+ type: "failure",
108
+ mode: "dark",
109
+ showIcon: true,
110
+ placement: "bottomRight"
111
+ });
112
+ };
113
+ const showSuccessNotification = message => {
114
+ openNotification({
115
+ description: message,
116
+ type: "success",
117
+ mode: "dark",
118
+ showIcon: true,
119
+ placement: "bottomRight"
120
+ });
121
+ };
122
+ const handleActionClick = (actionType, actionData) => {
123
+ var _config$drawer, _drawerDetailData$dat, _state$drawer;
124
+ switch (actionType) {
125
+ case "PROFILE-DRAWER":
126
+ const record = _objectSpread({}, config === null || config === void 0 || (_config$drawer = config.drawer) === null || _config$drawer === void 0 || (_config$drawer = _config$drawer.data) === null || _config$drawer === void 0 ? void 0 : _config$drawer[actionData === null || actionData === void 0 ? void 0 : actionData.drawerKey]);
127
+ const drawerDetailData = handleDrawerData(actionData === null || actionData === void 0 ? void 0 : actionData.drawerData);
128
+ console.log(record, "record");
129
+ console.log(drawerDetailData, "drawerDetailData");
130
+ const dynamicConfig = (0, _staticConfigResolver.default)(record, (_drawerDetailData$dat = drawerDetailData === null || drawerDetailData === void 0 ? void 0 : drawerDetailData.data) !== null && _drawerDetailData$dat !== void 0 ? _drawerDetailData$dat : {});
131
+ dispatch({
132
+ type: _entityOverviewLayoutReducer.actionTypes.SET_DRAWER,
133
+ payload: {
134
+ data: _objectSpread(_objectSpread({}, (state === null || state === void 0 || (_state$drawer = state.drawer) === null || _state$drawer === void 0 ? void 0 : _state$drawer.data) || {}), {}, {
135
+ [actionData === null || actionData === void 0 ? void 0 : actionData.drawerKey]: dynamicConfig
136
+ }),
137
+ active: actionData === null || actionData === void 0 ? void 0 : actionData.drawerKey
138
+ }
139
+ });
140
+ dispatch({
141
+ type: _entityOverviewLayoutReducer.actionTypes.TOGGLE_DRAWER,
142
+ payload: "profile-edit"
143
+ });
144
+ break;
145
+ default:
146
+ console.log("Unknown action type:", actionType);
147
+ }
148
+ };
149
+ console.log(state, "EntityOverviewLayout state");
150
+ return /*#__PURE__*/_react.default.createElement(_styles.ProfilePageStyle, null, /*#__PURE__*/_react.default.createElement("div", {
151
+ className: "fullPageLayout"
152
+ }, /*#__PURE__*/_react.default.createElement(_GlobalCss.default, null, /*#__PURE__*/_react.default.createElement("div", {
153
+ className: "oaRightLayouts"
154
+ }, /*#__PURE__*/_react.default.createElement("div", {
155
+ className: "oaTopHeaderAndBtnSec"
156
+ }, /*#__PURE__*/_react.default.createElement("div", {
157
+ className: "headerContent"
158
+ }, (backButton === null || backButton === void 0 ? void 0 : backButton.visible) && /*#__PURE__*/_react.default.createElement("div", {
159
+ className: "backButton",
160
+ onClick: () => {
161
+ handleBackButton();
162
+ }
163
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
164
+ color: (backButton === null || backButton === void 0 || (_backButton$iconConfi = backButton.iconConfig) === null || _backButton$iconConfi === void 0 ? void 0 : _backButton$iconConfi.color) || "primary-content",
165
+ size: (backButton === null || backButton === void 0 || (_backButton$iconConfi2 = backButton.iconConfig) === null || _backButton$iconConfi2 === void 0 ? void 0 : _backButton$iconConfi2.size) || 24,
166
+ icon: backButton.iconConfig.icon
167
+ })), (pageTitle === null || pageTitle === void 0 ? void 0 : pageTitle.visible) && (pageTitle === null || pageTitle === void 0 ? void 0 : pageTitle.title) && /*#__PURE__*/_react.default.createElement(_Typography.default, {
168
+ color: pageTitle === null || pageTitle === void 0 ? void 0 : pageTitle.title.color,
169
+ typography: pageTitle === null || pageTitle === void 0 ? void 0 : pageTitle.title.type,
170
+ className: "pageTitle"
171
+ }, pageTitle.title))), /*#__PURE__*/_react.default.createElement("div", {
172
+ className: "profileContent"
173
+ }, (profileData === null || profileData === void 0 ? void 0 : profileData.visible) && /*#__PURE__*/_react.default.createElement(_ProfileDataWidget.default, _extends({}, profileData === null || profileData === void 0 ? void 0 : profileData.data, {
174
+ alignProfile: profileData === null || profileData === void 0 ? void 0 : profileData.alignProfile
175
+ })), (accordionData === null || accordionData === void 0 ? void 0 : accordionData.visible) && Array.isArray(accordionData === null || accordionData === void 0 ? void 0 : accordionData.data) && /*#__PURE__*/_react.default.createElement("div", {
176
+ className: "accordionsContainer"
177
+ }, accordionData.data.map((accordion, index) => /*#__PURE__*/_react.default.createElement("div", {
178
+ key: accordion.key || index,
179
+ className: "accordion-item"
180
+ }, /*#__PURE__*/_react.default.createElement(_Accordion.default, {
181
+ key: accordion.key || index,
182
+ headerText: accordion.headerText,
183
+ defaultActiveKey: accordion.defaultActiveKey,
184
+ activeKey: accordion.activeKey,
185
+ subtext: accordion.subText,
186
+ componentConfig: accordion.componentConfig,
187
+ disabled: accordion.disabled,
188
+ hasContentPadding: accordion.hasContentPadding,
189
+ onChange: activeKeys => {
190
+ if (accordion.onChange) {
191
+ accordion.onChange(activeKeys);
192
+ }
193
+ },
194
+ customBody: accordion.customBody,
195
+ onActionClick: handleActionClick
196
+ })))))), /*#__PURE__*/_react.default.createElement(_CustomNotification.default, {
197
+ ref: notificationRef
198
+ }), /*#__PURE__*/_react.default.createElement(_CustomDrawer.default, {
199
+ className: "oaDrawer",
200
+ open: (drawer === null || drawer === void 0 ? void 0 : drawer.visible) === true,
201
+ onClose: () => dispatch({
202
+ type: _entityOverviewLayoutReducer.actionTypes.CLOSE_DRAWER
203
+ }),
204
+ title: drawer === null || drawer === void 0 || (_drawer$data = drawer.data) === null || _drawer$data === void 0 || (_drawer$data = _drawer$data[drawer === null || drawer === void 0 ? void 0 : drawer.active]) === null || _drawer$data === void 0 ? void 0 : _drawer$data.title,
205
+ width: 860,
206
+ footer: null
207
+ }, /*#__PURE__*/_react.default.createElement(_DetailDataLayout.default, _extends({}, (_drawer$data$drawer$a = drawer === null || drawer === void 0 || (_drawer$data2 = drawer.data) === null || _drawer$data2 === void 0 ? void 0 : _drawer$data2[drawer === null || drawer === void 0 ? void 0 : drawer.active]) !== null && _drawer$data$drawer$a !== void 0 ? _drawer$data$drawer$a : {}, {
208
+ customPageModal: modal,
209
+ addUserClick: addUserClick,
210
+ deleteUserClick: deleteUserClick,
211
+ editUserClick: editUserClick
212
+ }))))));
213
+ }
214
+ EntityOverviewLayout.propTypes = {};
215
+ EntityOverviewLayout.defaultProps = {};