@agilemotion/oui-react-js 1.8.48 → 1.8.50

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 (174) hide show
  1. package/dist/ViewContext.js +7 -2
  2. package/dist/components/DocumentViewer.js +1 -0
  3. package/dist/components/TabPanel.bck.js +201 -0
  4. package/dist/components/Toolbar.js +1 -17
  5. package/dist/components/WordDocumentViewer.js +2 -2
  6. package/dist/components/dashboard/FoldingSideTabDashboard.bck.js +332 -0
  7. package/dist/components/dashboard/FoldingSideTabDashboard.css +5 -0
  8. package/dist/components/dashboard/FoldingSideTabDashboard.js +254 -124
  9. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.bck.js +321 -0
  10. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.css +164 -6
  11. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +251 -173
  12. package/dist/components/form/ImageEditor_bck.js +466 -0
  13. package/dist/components/layout/CollapsiblePanel.css +9 -9
  14. package/dist/components/layout/Layout.css +8 -8
  15. package/dist/components/layout/View.css +17 -2
  16. package/dist/components/layout/ViewPort.js +4 -3
  17. package/dist/components/layout/Window.js +6 -6
  18. package/dist/components/loader.css +36 -36
  19. package/dist/components/media/ClosablePanel.css +1 -1
  20. package/dist/components/media/MediaSoupHelper.js +3 -2
  21. package/dist/components/media/Toolbar.js +34 -41
  22. package/dist/components/media/TrainingRoom.js +1 -1
  23. package/dist/components/media/VCRoomWorkspace.js +2 -2
  24. package/dist/components/media/Video.css +4 -4
  25. package/dist/components/signatures/ResponsiveTable.css +91 -91
  26. package/dist/components/signatures/widgets.css +126 -126
  27. package/dist/view/Dashboard.bck.js +562 -0
  28. package/dist/view/Dashboard.js +11 -10
  29. package/dist/view/security/ChangePasswordBasic.js +5 -1
  30. package/dist/view/security/ForgotPasswordBasic.js +5 -1
  31. package/dist/view/security/LoginBasic.js +5 -1
  32. package/dist/view/security/LoginInteractionPortal.js +5 -1
  33. package/dist/view/security/ResetPasswordBasic.js +5 -1
  34. package/package.json +3 -6
  35. package/dist/assets/css/black-dashboard-react.css +0 -12531
  36. package/dist/assets/css/black-dashboard-react.css.map +0 -134
  37. package/dist/assets/css/black-dashboard-react.min.css +0 -1
  38. package/dist/assets/css/nucleo-icons.css +0 -543
  39. package/dist/assets/scss/black-dashboard-react/bootstrap/_alert.scss +0 -51
  40. package/dist/assets/scss/black-dashboard-react/bootstrap/_badge.scss +0 -47
  41. package/dist/assets/scss/black-dashboard-react/bootstrap/_breadcrumb.scss +0 -41
  42. package/dist/assets/scss/black-dashboard-react/bootstrap/_button-group.scss +0 -172
  43. package/dist/assets/scss/black-dashboard-react/bootstrap/_buttons.scss +0 -143
  44. package/dist/assets/scss/black-dashboard-react/bootstrap/_card.scss +0 -301
  45. package/dist/assets/scss/black-dashboard-react/bootstrap/_carousel.scss +0 -236
  46. package/dist/assets/scss/black-dashboard-react/bootstrap/_close.scss +0 -35
  47. package/dist/assets/scss/black-dashboard-react/bootstrap/_code.scss +0 -48
  48. package/dist/assets/scss/black-dashboard-react/bootstrap/_custom-forms.scss +0 -433
  49. package/dist/assets/scss/black-dashboard-react/bootstrap/_dropdown.scss +0 -166
  50. package/dist/assets/scss/black-dashboard-react/bootstrap/_forms.scss +0 -333
  51. package/dist/assets/scss/black-dashboard-react/bootstrap/_functions.scss +0 -86
  52. package/dist/assets/scss/black-dashboard-react/bootstrap/_grid.scss +0 -52
  53. package/dist/assets/scss/black-dashboard-react/bootstrap/_images.scss +0 -42
  54. package/dist/assets/scss/black-dashboard-react/bootstrap/_input-group.scss +0 -173
  55. package/dist/assets/scss/black-dashboard-react/bootstrap/_jumbotron.scss +0 -16
  56. package/dist/assets/scss/black-dashboard-react/bootstrap/_list-group.scss +0 -115
  57. package/dist/assets/scss/black-dashboard-react/bootstrap/_media.scss +0 -8
  58. package/dist/assets/scss/black-dashboard-react/bootstrap/_mixins.scss +0 -41
  59. package/dist/assets/scss/black-dashboard-react/bootstrap/_modal.scss +0 -180
  60. package/dist/assets/scss/black-dashboard-react/bootstrap/_nav.scss +0 -118
  61. package/dist/assets/scss/black-dashboard-react/bootstrap/_navbar.scss +0 -299
  62. package/dist/assets/scss/black-dashboard-react/bootstrap/_pagination.scss +0 -78
  63. package/dist/assets/scss/black-dashboard-react/bootstrap/_popover.scss +0 -185
  64. package/dist/assets/scss/black-dashboard-react/bootstrap/_print.scss +0 -141
  65. package/dist/assets/scss/black-dashboard-react/bootstrap/_progress.scss +0 -34
  66. package/dist/assets/scss/black-dashboard-react/bootstrap/_reboot.scss +0 -482
  67. package/dist/assets/scss/black-dashboard-react/bootstrap/_root.scss +0 -19
  68. package/dist/assets/scss/black-dashboard-react/bootstrap/_tables.scss +0 -187
  69. package/dist/assets/scss/black-dashboard-react/bootstrap/_tooltip.scss +0 -115
  70. package/dist/assets/scss/black-dashboard-react/bootstrap/_transitions.scss +0 -22
  71. package/dist/assets/scss/black-dashboard-react/bootstrap/_type.scss +0 -125
  72. package/dist/assets/scss/black-dashboard-react/bootstrap/_utilities.scss +0 -15
  73. package/dist/assets/scss/black-dashboard-react/bootstrap/_variables.scss +0 -952
  74. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_alert.scss +0 -13
  75. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_background-variant.scss +0 -21
  76. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_badge.scss +0 -12
  77. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_border-radius.scss +0 -35
  78. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_box-shadow.scss +0 -5
  79. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_breakpoints.scss +0 -123
  80. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_buttons.scss +0 -109
  81. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_caret.scss +0 -66
  82. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_clearfix.scss +0 -7
  83. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_float.scss +0 -11
  84. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_forms.scss +0 -147
  85. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_gradients.scss +0 -45
  86. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid-framework.scss +0 -67
  87. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid.scss +0 -54
  88. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_hover.scss +0 -37
  89. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_image.scss +0 -36
  90. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_list-group.scss +0 -21
  91. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_lists.scss +0 -7
  92. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_nav-divider.scss +0 -10
  93. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_pagination.scss +0 -22
  94. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_reset-text.scss +0 -17
  95. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_resize.scss +0 -6
  96. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_screen-reader.scss +0 -33
  97. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_size.scss +0 -6
  98. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_table-row.scss +0 -30
  99. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-emphasis.scss +0 -14
  100. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-hide.scss +0 -13
  101. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-truncate.scss +0 -8
  102. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_transition.scss +0 -13
  103. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_visibility.scss +0 -7
  104. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_align.scss +0 -8
  105. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_background.scss +0 -19
  106. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_borders.scss +0 -59
  107. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_clearfix.scss +0 -3
  108. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_display.scss +0 -38
  109. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_embed.scss +0 -54
  110. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_flex.scss +0 -51
  111. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_float.scss +0 -9
  112. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_position.scss +0 -37
  113. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_screenreaders.scss +0 -11
  114. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_shadows.scss +0 -6
  115. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_sizing.scss +0 -12
  116. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_spacing.scss +0 -51
  117. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_text.scss +0 -58
  118. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_visibility.scss +0 -11
  119. package/dist/assets/scss/black-dashboard-react/custom/_alerts.scss +0 -103
  120. package/dist/assets/scss/black-dashboard-react/custom/_badges.scss +0 -3
  121. package/dist/assets/scss/black-dashboard-react/custom/_buttons.scss +0 -242
  122. package/dist/assets/scss/black-dashboard-react/custom/_card.scss +0 -232
  123. package/dist/assets/scss/black-dashboard-react/custom/_checkboxes-radio.scss +0 -154
  124. package/dist/assets/scss/black-dashboard-react/custom/_dropdown.scss +0 -359
  125. package/dist/assets/scss/black-dashboard-react/custom/_fixed-plugin.scss +0 -324
  126. package/dist/assets/scss/black-dashboard-react/custom/_footer.scss +0 -94
  127. package/dist/assets/scss/black-dashboard-react/custom/_forms.scss +0 -133
  128. package/dist/assets/scss/black-dashboard-react/custom/_functions.scss +0 -23
  129. package/dist/assets/scss/black-dashboard-react/custom/_images.scss +0 -7
  130. package/dist/assets/scss/black-dashboard-react/custom/_input-group.scss +0 -333
  131. package/dist/assets/scss/black-dashboard-react/custom/_misc.scss +0 -228
  132. package/dist/assets/scss/black-dashboard-react/custom/_mixins.scss +0 -15
  133. package/dist/assets/scss/black-dashboard-react/custom/_modal.scss +0 -161
  134. package/dist/assets/scss/black-dashboard-react/custom/_navbar.scss +0 -436
  135. package/dist/assets/scss/black-dashboard-react/custom/_rtl.scss +0 -245
  136. package/dist/assets/scss/black-dashboard-react/custom/_sidebar-and-main-panel.scss +0 -763
  137. package/dist/assets/scss/black-dashboard-react/custom/_tables.scss +0 -165
  138. package/dist/assets/scss/black-dashboard-react/custom/_type.scss +0 -174
  139. package/dist/assets/scss/black-dashboard-react/custom/_utilities.scss +0 -9
  140. package/dist/assets/scss/black-dashboard-react/custom/_variables.scss +0 -996
  141. package/dist/assets/scss/black-dashboard-react/custom/_white-content.scss +0 -299
  142. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-chart.scss +0 -73
  143. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-map.scss +0 -3
  144. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-plain.scss +0 -16
  145. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-task.scss +0 -30
  146. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-user.scss +0 -77
  147. package/dist/assets/scss/black-dashboard-react/custom/mixins/_alert.scss +0 -14
  148. package/dist/assets/scss/black-dashboard-react/custom/mixins/_background-variant.scss +0 -18
  149. package/dist/assets/scss/black-dashboard-react/custom/mixins/_badges.scss +0 -15
  150. package/dist/assets/scss/black-dashboard-react/custom/mixins/_buttons.scss +0 -343
  151. package/dist/assets/scss/black-dashboard-react/custom/mixins/_dropdown.scss +0 -26
  152. package/dist/assets/scss/black-dashboard-react/custom/mixins/_forms.scss +0 -127
  153. package/dist/assets/scss/black-dashboard-react/custom/mixins/_icon.scss +0 -4
  154. package/dist/assets/scss/black-dashboard-react/custom/mixins/_inputs.scss +0 -234
  155. package/dist/assets/scss/black-dashboard-react/custom/mixins/_modals.scss +0 -15
  156. package/dist/assets/scss/black-dashboard-react/custom/mixins/_page-header.scss +0 -7
  157. package/dist/assets/scss/black-dashboard-react/custom/mixins/_popovers.scss +0 -41
  158. package/dist/assets/scss/black-dashboard-react/custom/mixins/_vendor-prefixes.scss +0 -209
  159. package/dist/assets/scss/black-dashboard-react/custom/mixins/_wizard.scss +0 -26
  160. package/dist/assets/scss/black-dashboard-react/custom/mixins/opacity.scss +0 -8
  161. package/dist/assets/scss/black-dashboard-react/custom/utilities/_backgrounds.scss +0 -42
  162. package/dist/assets/scss/black-dashboard-react/custom/utilities/_floating.scss +0 -54
  163. package/dist/assets/scss/black-dashboard-react/custom/utilities/_helper.scss +0 -62
  164. package/dist/assets/scss/black-dashboard-react/custom/utilities/_position.scss +0 -19
  165. package/dist/assets/scss/black-dashboard-react/custom/utilities/_shadows.scss +0 -10
  166. package/dist/assets/scss/black-dashboard-react/custom/utilities/_sizing.scss +0 -5
  167. package/dist/assets/scss/black-dashboard-react/custom/utilities/_spacing.scss +0 -105
  168. package/dist/assets/scss/black-dashboard-react/custom/utilities/_text.scss +0 -40
  169. package/dist/assets/scss/black-dashboard-react/custom/utilities/_transform.scss +0 -8
  170. package/dist/assets/scss/black-dashboard-react/custom/vendor/_plugin-perfect-scrollbar.scss +0 -116
  171. package/dist/assets/scss/black-dashboard-react/custom/vendor/_plugin-react-notification-alert.scss +0 -4
  172. package/dist/assets/scss/black-dashboard-react/react-differences/_inputs.scss +0 -3
  173. package/dist/assets/scss/black-dashboard-react/react-differences/react-differences.scss +0 -1
  174. package/dist/assets/scss/black-dashboard-react.scss +0 -105
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Utils = _interopRequireDefault(require("../../../../../Utils"));
10
+ var _reactstrap = require("reactstrap");
11
+ var _MenuLink = _interopRequireDefault(require("../../../../menu/MenuLink"));
12
+ var _CardAvatar = _interopRequireDefault(require("../../../../card/CardAvatar"));
13
+ var _material = require("@mui/material");
14
+ var _RestUtils = require("../../../../../RestUtils");
15
+ require("./FoldingTabSidebar.css");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ /*eslint-disable*/
18
+
19
+ const TAB = 16;
20
+ class FoldingTabSidebar extends _react.default.Component {
21
+ constructor(props) {
22
+ super(props);
23
+ this.state = {
24
+ ...this.getCollapseStates(props.routes),
25
+ isLoading: false,
26
+ error: false,
27
+ routes: undefined,
28
+ activeRouteMenu: {
29
+ id: 'dashboard',
30
+ name: 'Dashboard'
31
+ }
32
+ };
33
+ }
34
+
35
+ /* ----------------- menu building helpers ----------------- */
36
+ getViews = (menus, level) => {
37
+ const newViews = [];
38
+ for (let i = 0; i < menus.length; i++) {
39
+ const createView = {
40
+ name: menus[i].attributes.label,
41
+ id: menus[i].id,
42
+ mini: 'SS',
43
+ layout: '/admin',
44
+ level
45
+ };
46
+ if (menus[i].subMenu) {
47
+ createView.collapse = true;
48
+ createView.state = menus[i].id + 'Collapse';
49
+ createView.views = this.getItems(menus[i].subMenu.items, level + 1);
50
+ } else {
51
+ createView.item = menus[i];
52
+ }
53
+ newViews.push(createView);
54
+ }
55
+ return newViews;
56
+ };
57
+ getItems = (items, level) => {
58
+ const newItems = [];
59
+ for (let i = 0; i < items.length; i++) {
60
+ const createItem = {
61
+ name: items[i].attributes.label,
62
+ id: items[i].id,
63
+ mini: 'SS',
64
+ layout: '/admin',
65
+ item: items[i],
66
+ level
67
+ };
68
+ if (!_Utils.default.isNull(items[i].subMenu)) {
69
+ createItem.collapse = true;
70
+ createItem.state = items[i].id + 'SubMenuCollapse';
71
+ createItem.views = this.getItems(items[i].subMenu.items, level + 1);
72
+ }
73
+ newItems.push(createItem);
74
+ }
75
+ return newItems;
76
+ };
77
+ getCollapseStates = routes => {
78
+ let initialState = {};
79
+ if (routes) {
80
+ routes.forEach(prop => {
81
+ if (prop.collapse) {
82
+ initialState = {
83
+ [prop.state]: this.getCollapseInitialState(prop.views),
84
+ ...this.getCollapseStates(prop.views),
85
+ ...initialState
86
+ };
87
+ }
88
+ });
89
+ }
90
+ return initialState;
91
+ };
92
+ getCollapseInitialState(routes) {
93
+ if (!routes) return false;
94
+ for (let i = 0; i < routes.length; i++) {
95
+ if (!routes[i].views) return true;
96
+ if (routes[i].collapse && this.getCollapseInitialState(routes[i].views)) {
97
+ return true;
98
+ } else if (window.location.href.indexOf(routes[i].path) !== -1) {
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
104
+ getMenu = route => new Promise(resolve => {
105
+ const service = {
106
+ url: '/ui/api/v1/menu/get',
107
+ parameters: [{
108
+ name: 'id',
109
+ value: route.menu,
110
+ httpParameterType: 'QUERY_PARAMETER'
111
+ }, {
112
+ name: 'version',
113
+ value: 1.0,
114
+ httpParameterType: 'QUERY_PARAMETER'
115
+ }],
116
+ contentType: 'application/json'
117
+ };
118
+ (0, _RestUtils.invokeRest)(service, {
119
+ api: {
120
+ get id() {
121
+ return 'dashboard-sidebar';
122
+ }
123
+ }
124
+ }, 'dashboard-sidebar', result => resolve(this.getViews(result.menus, route.level + 1)), e => {
125
+ console.error(e);
126
+ resolve(null);
127
+ }, null);
128
+ });
129
+ getLiClassName = prop => 'li-' + prop.level;
130
+
131
+ /* ----------------- link rendering ----------------- */
132
+ createLinks = routes => {
133
+ const {
134
+ secondaryThemeColor
135
+ } = this.props;
136
+ return routes.map((prop, key) => {
137
+ if (prop.redirect) return null;
138
+ if ((prop.collapse || prop.isParent) && prop.name !== 'Dashboard' && prop.name !== 'My Work Items') {
139
+ const st = {
140
+ [prop.state]: !this.state[prop.state]
141
+ };
142
+ return /*#__PURE__*/_react.default.createElement("li", {
143
+ className: prop.collapse ? this.getCollapseInitialState(prop.views) + '-' + prop.level ? 'active ' + this.getLiClassName(prop) : this.getLiClassName(prop) : this.getLiClassName(prop),
144
+ key: key
145
+ }, /*#__PURE__*/_react.default.createElement("a", {
146
+ href: "#pablo",
147
+ className: 'li-link-' + prop.level,
148
+ "data-toggle": "collapse",
149
+ style: {
150
+ marginLeft: (prop.level + 1) * TAB + 'px'
151
+ },
152
+ "aria-expanded": this.state[prop.state],
153
+ onClick: e => {
154
+ if (!prop.views) {
155
+ this.getMenu(prop).then(views => {
156
+ if (views) {
157
+ prop.views = views;
158
+ this.setState(st);
159
+ }
160
+ });
161
+ } else {
162
+ this.setState(st);
163
+ }
164
+ e.preventDefault();
165
+ }
166
+ }, prop.icon !== undefined ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("i", {
167
+ className: prop.icon,
168
+ style: {
169
+ width: '28px'
170
+ }
171
+ }), ' ', /*#__PURE__*/_react.default.createElement("span", null, prop.name, " ", prop.collapse ? /*#__PURE__*/_react.default.createElement("span", {
172
+ className: "caret",
173
+ style: {
174
+ marginTop: 0
175
+ }
176
+ }) : null)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
177
+ className: "sidebar-normal",
178
+ style: {
179
+ paddingLeft: '4px'
180
+ }
181
+ }, prop.name, " ", /*#__PURE__*/_react.default.createElement("b", {
182
+ className: "caret"
183
+ })))), prop.collapse && prop.views ? /*#__PURE__*/_react.default.createElement(_reactstrap.Collapse, {
184
+ isOpen: this.state[prop.state]
185
+ }, /*#__PURE__*/_react.default.createElement("ul", {
186
+ className: "nav"
187
+ }, this.createLinks(prop.views))) : null);
188
+ }
189
+ return /*#__PURE__*/_react.default.createElement("li", {
190
+ className: `${'menu-link-li' + (this.activeRoute(prop.id) ? '-active' : '') + (prop.name === 'Dashboard' ? ' dashboard-link' : '')}`,
191
+ key: key,
192
+ style: this.activeRoute(prop.id) ? {
193
+ backgroundColor: (0, _material.lighten)(secondaryThemeColor, 0.9),
194
+ borderRadius: '16px',
195
+ color: secondaryThemeColor,
196
+ fontWeight: 500
197
+ } : {}
198
+ }, /*#__PURE__*/_react.default.createElement(_MenuLink.default, {
199
+ config: prop.item,
200
+ clickCallback: prop.name === 'Dashboard' ? item => {
201
+ this.props.dashboardLauncher();
202
+ this.setState({
203
+ ...this.state,
204
+ activeRouteMenu: item
205
+ });
206
+ } : item => this.setState({
207
+ ...this.state,
208
+ activeRouteMenu: item
209
+ }),
210
+ autoClick: prop.name === 'My Work Items' || prop.item && prop.item.defaultItem,
211
+ viewId: "menuBar",
212
+ icon: prop.icon,
213
+ iconColor: (prop.name === 'Dashboard' || prop.name === 'My Work Items') && this.activeRoute(prop.id) ? this.props.secondaryThemeColor : null,
214
+ backgroundColor: this.activeRoute(prop.id) ? (0, _material.lighten)(this.props.secondaryThemeColor, 0.9) : null,
215
+ name: prop.name,
216
+ id: prop.id,
217
+ level: prop.level,
218
+ tab: TAB,
219
+ color: this.activeRoute(prop.id) ? this.props.secondaryThemeColor : null
220
+ }));
221
+ });
222
+ };
223
+ activeRoute = routeName => this.state.activeRouteMenu.id === routeName;
224
+
225
+ /* ----------------- lifecycle ----------------- */
226
+ componentDidMount() {
227
+ const service = {
228
+ url: '/ui/api/v1/menu/filter',
229
+ parameters: [{
230
+ value: this.props.routes,
231
+ httpParameterType: 'REQUEST_BODY'
232
+ }],
233
+ method: 'POST',
234
+ contentType: 'application/json'
235
+ };
236
+ (0, _RestUtils.invokeRest)(service, {
237
+ api: {
238
+ get id() {
239
+ return 'dashboard-sidebar';
240
+ }
241
+ }
242
+ }, 'dashboard-sidebar', result => this.setState({
243
+ ...this.state,
244
+ routes: result
245
+ }), e => console.error(e), null);
246
+ }
247
+ componentWillUnmount() {
248
+ /* cleanup any custom scroll plugins if you add them */
249
+ }
250
+
251
+ /* ----------------- render ----------------- */
252
+ render() {
253
+ const {
254
+ activeColor,
255
+ logo,
256
+ className,
257
+ heading,
258
+ appLogoPath
259
+ } = this.props;
260
+ const routes = this.state.routes;
261
+ let logoImg = null;
262
+ if (!_Utils.default.isNull(logo)) {
263
+ logoImg = /*#__PURE__*/_react.default.createElement("a", {
264
+ href: logo.outterLink,
265
+ className: "sidebar__brand",
266
+ onClick: this.props.closeSidebar,
267
+ "aria-label": "Home",
268
+ style: this.props.logoStyle
269
+ }, /*#__PURE__*/_react.default.createElement("img", {
270
+ src: logo.imgSrc,
271
+ alt: "logo",
272
+ className: "sidebar__brand-img"
273
+ }));
274
+ }
275
+ return /*#__PURE__*/_react.default.createElement("aside", {
276
+ className: `${className || ''} sidebar`,
277
+ data: activeColor
278
+ }, /*#__PURE__*/_react.default.createElement("div", {
279
+ className: "sidebar__top"
280
+ }, logoImg ? /*#__PURE__*/_react.default.createElement("div", {
281
+ className: "sidebar__logo"
282
+ }, logoImg) : null, !_Utils.default.isNull(heading) ? /*#__PURE__*/_react.default.createElement("div", {
283
+ className: "sidebar__heading"
284
+ }, heading) : null), /*#__PURE__*/_react.default.createElement("div", {
285
+ className: "sidebar__scroll"
286
+ }, routes ? /*#__PURE__*/_react.default.createElement(_reactstrap.Nav, {
287
+ className: "nav-wrapper"
288
+ }, this.createLinks(routes)) : null), /*#__PURE__*/_react.default.createElement("div", {
289
+ className: "sidebar__bottom"
290
+ }, !_Utils.default.isNull(appLogoPath) ? /*#__PURE__*/_react.default.createElement("div", {
291
+ className: "sidebar__app-logo"
292
+ }, /*#__PURE__*/_react.default.createElement(_CardAvatar.default, {
293
+ plain: true
294
+ }, /*#__PURE__*/_react.default.createElement("img", {
295
+ src: appLogoPath,
296
+ alt: ""
297
+ }))) : null, /*#__PURE__*/_react.default.createElement("div", {
298
+ className: "sidebar__copyright"
299
+ }, "\xA9 ", new Date().getFullYear())));
300
+ }
301
+ }
302
+ FoldingTabSidebar.propTypes = {
303
+ activeColor: _propTypes.default.oneOf(['primary', 'blue', 'green', 'orange', 'red', 'agility']),
304
+ secondaryThemeColor: _propTypes.default.string.isRequired,
305
+ rtlActive: _propTypes.default.bool,
306
+ routes: _propTypes.default.array.isRequired,
307
+ logo: _propTypes.default.oneOfType([_propTypes.default.shape({
308
+ innerLink: _propTypes.default.string.isRequired,
309
+ imgSrc: _propTypes.default.string.isRequired,
310
+ text: _propTypes.default.string.isRequired
311
+ }), _propTypes.default.shape({
312
+ outterLink: _propTypes.default.string.isRequired,
313
+ imgSrc: _propTypes.default.string.isRequired,
314
+ text: _propTypes.default.string.isRequired
315
+ })]),
316
+ heading: _propTypes.default.string,
317
+ appLogoPath: _propTypes.default.string,
318
+ closeSidebar: _propTypes.default.func,
319
+ dashboardLauncher: _propTypes.default.func
320
+ };
321
+ var _default = exports.default = FoldingTabSidebar;
@@ -6,13 +6,38 @@
6
6
  content: none !important;
7
7
  }
8
8
 
9
+ .caret {
10
+ width: 0;
11
+ height: 0;
12
+ vertical-align: middle;
13
+ border-top: 4px dashed;
14
+ border-right: 4px solid transparent;
15
+ border-left: 4px solid transparent;
16
+ position: absolute;
17
+ right: 0 !important;
18
+ left: unset !important;
19
+ margin: 24px 8px 0 0 !important;
20
+ top: 0;
21
+ }
22
+
23
+ /* When collapsed: point to the right */
24
+ .caret-closed {
25
+ transform: rotate(-90deg);
26
+ }
27
+
28
+ /* When expanded: point down (or “default” orientation) */
29
+ .caret-open {
30
+ transform: rotate(0deg);
31
+ }
32
+
9
33
  /* Root sidebar container (lives under a global header using --header-h) */
10
34
  .sidebar {
11
35
  display: flex;
12
36
  flex-direction: column;
13
37
  inline-size: 100%;
14
38
  block-size: calc(100dvh - var(--header-h, 0px));
15
- overflow: hidden; /* only the middle section scrolls */
39
+ overflow: hidden;
40
+ padding: 16px;
16
41
  }
17
42
 
18
43
  /* If you don't have a global header for some screens, you can toggle this class instead */
@@ -31,7 +56,9 @@
31
56
  }
32
57
 
33
58
  /* Control the height of the logo area via CSS var */
34
- :root { --sidebar-logo-h: 96px; }
59
+ :root {
60
+ --sidebar-logo-h: 96px;
61
+ }
35
62
 
36
63
  .sidebar__logo {
37
64
  inline-size: 100%;
@@ -42,13 +69,18 @@
42
69
  display: block;
43
70
  inline-size: 100%;
44
71
  block-size: 100%;
72
+ max-height: 60px;
45
73
  }
46
74
 
47
75
  .sidebar__brand-img {
48
76
  display: block;
49
77
  inline-size: 100%;
50
78
  block-size: 100%;
51
- object-fit: contain; /* switch to 'cover' if you want edge-to-edge crop */
79
+ object-fit: contain; /* switch to 'cover' if you want edge-to-edge crop */
80
+ }
81
+
82
+ .sidebar--mini .sidebar__brand-img {
83
+ min-height: 60px;
52
84
  }
53
85
 
54
86
  /* Heading text under the brand (optional) */
@@ -61,7 +93,7 @@
61
93
  /* ---------- MIDDLE: menu (the ONLY scroller) ---------- */
62
94
  .sidebar__scroll {
63
95
  flex: 1 1 auto;
64
- min-block-size: 0; /* crucial for flex scrolling */
96
+ min-block-size: 0; /* crucial for flex scrolling */
65
97
  overflow-y: auto;
66
98
  overflow-x: hidden;
67
99
  padding: 8px 0;
@@ -69,8 +101,8 @@
69
101
 
70
102
  /* ---------- BOTTOM: app logo + copyright ---------- */
71
103
  .sidebar__bottom {
72
- margin-top: auto; /* pins to bottom */
73
- flex: 0 0 auto; /* never shrink off-screen */
104
+ margin-top: auto; /* pins to bottom */
105
+ flex: 0 0 auto; /* never shrink off-screen */
74
106
  padding: 12px 10px;
75
107
  display: grid;
76
108
  gap: 8px;
@@ -99,3 +131,129 @@
99
131
  margin: 8px;
100
132
  }
101
133
 
134
+ /* --- Fix MUI list layout inside legacy .sidebar .nav --- */
135
+
136
+ /* Make sure the nav container behaves like a vertical list, not flex-row/inline */
137
+ .sidebar .nav {
138
+ display: block !important;
139
+ padding: 0;
140
+ margin: 0;
141
+ }
142
+
143
+ /* Bootstrap / old theme often float nav <li> – kill that so items stack */
144
+ .sidebar .nav li {
145
+ float: none !important;
146
+ display: block !important;
147
+ width: 100% !important;
148
+ }
149
+
150
+ /* Ensure the MUI list items behave like full-width rows */
151
+ .sidebar .nav .MuiListItem-root {
152
+ display: block !important;
153
+ width: 100% !important;
154
+ }
155
+
156
+ /* The clickable row stays flex, full width */
157
+ .sidebar .nav .MuiListItemButton-root {
158
+ display: flex;
159
+ width: 100%;
160
+ box-sizing: border-box;
161
+ }
162
+
163
+ /* Prevent weird inline spacing around anchors inside MenuLink */
164
+ .sidebar .nav .MuiListItemButton-root a {
165
+ display: block;
166
+ width: 100%;
167
+ }
168
+
169
+ .sidebar .dashboard-link a,
170
+ .sidebar .dashboard-link-active a {
171
+ margin-left: 0 !important;
172
+ }
173
+
174
+ .sidebar .menu-link-li,
175
+ .sidebar .menu-link-li-active {
176
+ margin-left: 8px;
177
+ width: calc(100% - 4px);
178
+ margin-top: 4px;
179
+ }
180
+
181
+ .sidebar .dashboard-link,
182
+ .sidebar .dashboard-link-active,
183
+ .sidebar .li-0,
184
+ .sidebar .li-0-active,
185
+ .sidebar .li-1,
186
+ .sidebar .li-1-active,
187
+ .sidebar .menu-link-li,
188
+ .sidebar .menu-link-li-active {
189
+ height: 48px !important;
190
+ padding: 4px 8px !important;
191
+ }
192
+
193
+
194
+ .sidebar .dashboard-link span,
195
+ .sidebar .dashboard-link-active span,
196
+ .sidebar .li-0 span,
197
+ .sidebar .li-0-active span,
198
+ .sidebar .li-1 span,
199
+ .sidebar .li-1-active span,
200
+ .sidebar .menu-link-li span,
201
+ .sidebar .menu-link-li-active span {
202
+ font-size: .85rem;
203
+ padding-top: 0;
204
+ }
205
+
206
+ /* ===================== */
207
+ /* MINI (drawer closed) */
208
+ /* ===================== */
209
+
210
+ .sidebar--mini {
211
+ padding-inline: 8px;
212
+ }
213
+
214
+ /* Remove extra left margin so items don't get clipped in narrow width */
215
+ .sidebar--mini .menu-link-li,
216
+ .sidebar--mini .menu-link-li-active,
217
+ .sidebar--mini .dashboard-link,
218
+ .sidebar--mini .dashboard-link-active {
219
+ margin-left: 0 !important;
220
+ width: 100% !important;
221
+ }
222
+
223
+ /* Center and tighten the footer so the year is fully visible */
224
+ .sidebar--mini .sidebar__bottom {
225
+ margin-left: 0;
226
+ margin-right: 0;
227
+ padding-inline: 4px;
228
+ text-align: center;
229
+ }
230
+
231
+ /* Optional: hide app logo when mini to give year more space */
232
+ .sidebar--mini .sidebar__app-logo {
233
+ display: none;
234
+ }
235
+
236
+ /* Make sure the year is fully readable */
237
+ .sidebar__copyright {
238
+ width: 100%;
239
+ text-align: center;
240
+ }
241
+
242
+ /* Center icons when drawer is closed */
243
+ .sidebar--mini .nav .MuiListItemButton-root {
244
+ justify-content: center !important;
245
+ padding-left: 0 !important;
246
+ padding-right: 0 !important;
247
+ }
248
+
249
+ /* Make sure the icon itself is centered with no extra right margin */
250
+ .sidebar--mini .nav .MuiListItemIcon-root {
251
+ margin-right: 0 !important;
252
+ justify-content: center;
253
+ }
254
+
255
+ .sidebar--mini .menu-link-li,
256
+ .sidebar--mini .menu-link-li-active {
257
+ margin-left: 0 !important;
258
+ }
259
+