@deix/rossini-core 5.2.1 → 6.0.2
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.
- package/LICENSE +8 -0
- package/lib/components/layout/StandardLayout/StandardLayout.d.ts +4 -0
- package/lib/components/layout/StandardLayout/StandardLayout.d.ts.map +1 -1
- package/lib/components/layout/StandardLayout/StandardLayout.js +2 -2
- package/lib/components/layout/components/Sidebar/Sidebar.d.ts +4 -0
- package/lib/components/layout/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/lib/components/layout/components/Sidebar/Sidebar.js +2 -2
- package/lib/components/layout/components/Topbar/Topbar.d.ts +4 -0
- package/lib/components/layout/components/Topbar/Topbar.d.ts.map +1 -1
- package/lib/components/layout/components/Topbar/Topbar.js +2 -2
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -16
package/LICENSE
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Copyright (c) 2024-2025 Deix s.r.l.
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
This software and its source code are the exclusive property of Deix s.r.l..
|
|
5
|
+
No part of this software may be copied, modified, distributed, or used
|
|
6
|
+
in any form without explicit written permission from the copyright holder.
|
|
7
|
+
|
|
8
|
+
The software is provided "as is", without warranty of any kind, express or implied.
|
|
@@ -53,6 +53,10 @@ interface StandardLayoutProps {
|
|
|
53
53
|
* Hide the button to switch theme
|
|
54
54
|
*/
|
|
55
55
|
disableDarkMode?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Disable features that rely on authentication and user info
|
|
58
|
+
*/
|
|
59
|
+
disableAuth?: boolean;
|
|
56
60
|
}
|
|
57
61
|
declare const StandardLayout: React.FC<StandardLayoutProps>;
|
|
58
62
|
export default StandardLayout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/StandardLayout/StandardLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQzC,OAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,UAAU,mBAAmB;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/StandardLayout/StandardLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQzC,OAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,UAAU,mBAAmB;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuHjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -9,7 +9,7 @@ import Topbar from '../components/Topbar/Topbar';
|
|
|
9
9
|
import { useLocale, usePersistedState } from '../../../utils';
|
|
10
10
|
import ServerDown from '../assets/ServerDown';
|
|
11
11
|
import t from './translations.json';
|
|
12
|
-
const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLinks = [], avatar, languages, children, topbarLeftItems = [], topbarRightItems = [], disableDarkMode, }) => {
|
|
12
|
+
const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLinks = [], avatar, languages, children, topbarLeftItems = [], topbarRightItems = [], disableDarkMode, disableAuth, }) => {
|
|
13
13
|
const theme = useMUITheme();
|
|
14
14
|
const locale = useLocale();
|
|
15
15
|
// Get if we are dealing with mobile client
|
|
@@ -30,7 +30,7 @@ const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLin
|
|
|
30
30
|
width: '100%',
|
|
31
31
|
background: theme.palette.background.default,
|
|
32
32
|
} },
|
|
33
|
-
React.createElement(Topbar, { hasSidebar: sidebarLinks && sidebarLinks.length > 0, onSidebarClose: () => setSidebarOpen(false), onSidebarOpen: () => setSidebarOpen(true), open: sidebarOpen, locale: locale, languages: languages, avatar: avatar, additionalLeftItems: topbarLeftItems, additionalRightItems: topbarRightItems, disableDarkMode: disableDarkMode }),
|
|
33
|
+
React.createElement(Topbar, { hasSidebar: sidebarLinks && sidebarLinks.length > 0, onSidebarClose: () => setSidebarOpen(false), onSidebarOpen: () => setSidebarOpen(true), open: sidebarOpen, locale: locale, languages: languages, avatar: avatar, additionalLeftItems: topbarLeftItems, additionalRightItems: topbarRightItems, disableDarkMode: disableDarkMode, disableUserMenu: disableAuth }),
|
|
34
34
|
isLoading && React.createElement(CircularLoading, { locale: locale }),
|
|
35
35
|
!isLoading && isError && (React.createElement(Box, { sx: {
|
|
36
36
|
flexGrow: 1,
|
|
@@ -60,6 +60,10 @@ export interface SidebarProps {
|
|
|
60
60
|
* Internationalization locale.
|
|
61
61
|
*/
|
|
62
62
|
locale: Locale;
|
|
63
|
+
/**
|
|
64
|
+
* Don't rely on user info endpoint to hide sidebar items. Useful for pages that don't require authentication
|
|
65
|
+
*/
|
|
66
|
+
disableUserInfo?: boolean;
|
|
63
67
|
onClose: () => void;
|
|
64
68
|
}
|
|
65
69
|
declare const Sidebar: React.FC<SidebarProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAY,MAAM,OAAO,CAAC;AAsBtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAEL,MAAM,EACN,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAIrC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AACD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAY,MAAM,OAAO,CAAC;AAsBtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAEL,MAAM,EACN,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAIrC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AACD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoanC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -9,11 +9,11 @@ import { Link } from '../../../i18n';
|
|
|
9
9
|
import { isStringTranslation, } from '../../../../types/languages';
|
|
10
10
|
import { useLocale, usePathname, usePersistedState } from '../../../../utils';
|
|
11
11
|
import { useUserInfo } from '../../..';
|
|
12
|
-
const Sidebar = ({ links, open, isMobile, logo, onClose, }) => {
|
|
12
|
+
const Sidebar = ({ links, open, isMobile, logo, disableUserInfo, onClose, }) => {
|
|
13
13
|
const muiTheme = useMUITheme();
|
|
14
14
|
const pathname = usePathname();
|
|
15
15
|
const locale = useLocale();
|
|
16
|
-
const userInfo = useUserInfo();
|
|
16
|
+
const userInfo = disableUserInfo ? undefined : useUserInfo();
|
|
17
17
|
const selectedTextColor = muiTheme.palette.sidebar.contrastText;
|
|
18
18
|
const unselectedTextColor = alpha(selectedTextColor, 0.9);
|
|
19
19
|
const borderRadius = '8px';
|
|
@@ -42,6 +42,10 @@ interface TopbarProps {
|
|
|
42
42
|
* Hide the button to switch theme
|
|
43
43
|
*/
|
|
44
44
|
disableDarkMode?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Hide the avatar and the user menu
|
|
47
|
+
*/
|
|
48
|
+
disableUserMenu?: boolean;
|
|
45
49
|
}
|
|
46
50
|
declare const Topbar: React.FC<TopbarProps>;
|
|
47
51
|
export default Topbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/components/Topbar/Topbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAarD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAU,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKrE,UAAU,WAAW;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/components/Topbar/Topbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAarD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAU,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKrE,UAAU,WAAW;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuFjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -10,7 +10,7 @@ import ElevationScroll from './ElevationScroll';
|
|
|
10
10
|
import t from './translations.json';
|
|
11
11
|
import { ThemeModeContext } from '../../../provider/ThemeProvider';
|
|
12
12
|
const Topbar = (props) => {
|
|
13
|
-
const { hasSidebar = false, onSidebarClose, onSidebarOpen, open, locale, languages, avatar, additionalLeftItems = [], additionalRightItems = [], disableDarkMode, } = props;
|
|
13
|
+
const { hasSidebar = false, onSidebarClose, onSidebarOpen, open, locale, languages, avatar, additionalLeftItems = [], additionalRightItems = [], disableDarkMode, disableUserMenu, } = props;
|
|
14
14
|
const { themeMode, setThemeMode } = useContext(ThemeModeContext);
|
|
15
15
|
const muiTheme = useMUITheme();
|
|
16
16
|
const SidebarIcon = open ? (React.createElement(MenuOpenTwoToneIcon, { htmlColor: muiTheme.palette.topbar.contrastText })) : (React.createElement(MenuTwoToneIcon, { htmlColor: muiTheme.palette.topbar.contrastText }));
|
|
@@ -29,7 +29,7 @@ const Topbar = (props) => {
|
|
|
29
29
|
React.createElement("div", { style: { flexGrow: 1 } }),
|
|
30
30
|
additionalRightItems.map((item, index) => (React.createElement(React.Fragment, { key: index }, item))),
|
|
31
31
|
languages && languages.length > 1 && (React.createElement(LanguageSelect, { locale: locale, languages: languages })),
|
|
32
|
-
React.createElement(Avatar, { ...avatar }),
|
|
32
|
+
!disableUserMenu && React.createElement(Avatar, { ...avatar }),
|
|
33
33
|
!disableDarkMode && (React.createElement(Tooltip, { title: themeMode === 'light'
|
|
34
34
|
? t['enableDark'][locale]
|
|
35
35
|
: t['disableDark'][locale] },
|