@deix/rossini-core 2.2.0 → 2.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/Avatar/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAyExC,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/buttons/Avatar/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA+ExC,CAAC"}
@@ -20,10 +20,10 @@ export const Avatar = ({ logoutUrl, accountSettingsUrl, }) => {
20
20
  // User data
21
21
  const userInfo = useUserInfo();
22
22
  return (React.createElement(React.Fragment, null,
23
- React.createElement(Tooltip, { title: userInfo?.preferredUsername || 'Anonymous User' },
24
- React.createElement(IconButton, { component: 'span', "aria-label": 'toggle dark mode', onClick: handleClick },
25
- React.createElement(PersonIcon, { htmlColor: muiTheme.palette.topbar.contrastText }))),
26
- React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: handleClose, anchorOrigin: {
23
+ (userInfo || accountSettingsUrl || logoutUrl) && (React.createElement(Tooltip, { title: userInfo?.preferredUsername || 'Anonymous User' },
24
+ React.createElement(IconButton, { component: 'span', "aria-label": 'user menu', onClick: handleClick },
25
+ React.createElement(PersonIcon, { htmlColor: muiTheme.palette.topbar.contrastText })))),
26
+ (accountSettingsUrl || logoutUrl) && (React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: handleClose, anchorOrigin: {
27
27
  vertical: 'bottom',
28
28
  horizontal: 'right',
29
29
  }, transformOrigin: {
@@ -45,5 +45,5 @@ export const Avatar = ({ logoutUrl, accountSettingsUrl, }) => {
45
45
  React.createElement(MenuItem, { onClick: handleClose },
46
46
  React.createElement(ListItemIcon, null,
47
47
  React.createElement(LogoutIcon, { fontSize: 'small' })),
48
- React.createElement(ListItemText, null, "Logout")))))));
48
+ React.createElement(ListItemText, null, "Logout"))))))));
49
49
  };
@@ -42,9 +42,17 @@ interface StandardLayoutProps {
42
42
  */
43
43
  languages?: Language[];
44
44
  /**
45
- * List of React nodes to be rendered in the Topbar
45
+ * List of React nodes to be rendered in the Topbar (on the left side)
46
46
  */
47
- topbarActions?: ReactNode[];
47
+ topbarLeftItems?: ReactNode[];
48
+ /**
49
+ * List of React nodes to be rendered in the Topbar (on the right side)
50
+ */
51
+ topbarRightItems?: ReactNode[];
52
+ /**
53
+ * Hide the button to switch theme
54
+ */
55
+ disableDarkMode?: boolean;
48
56
  }
49
57
  declare const StandardLayout: React.FC<StandardLayoutProps>;
50
58
  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;AAIrE,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,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkHjD,CAAC;AAEF,eAAe,cAAc,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;AAIrE,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;CAC3B;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsHjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -10,8 +10,7 @@ import TopLine from '../components/Topline/TopLine';
10
10
  import { useLocale, usePersistedState } from '../../../utils';
11
11
  import ServerDown from '../assets/ServerDown';
12
12
  import t from './translations.json';
13
- const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLinks = [], avatar, languages, children, topbarActions = [], // Aggiungi la gestione di topbarActions
14
- }) => {
13
+ const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLinks = [], avatar, languages, children, topbarLeftItems = [], topbarRightItems = [], disableDarkMode, }) => {
15
14
  const theme = useMUITheme();
16
15
  const locale = useLocale();
17
16
  // Get if we are dealing with mobile client
@@ -33,7 +32,7 @@ const StandardLayout = ({ isLoading, isError, error, appLogo, footer, sidebarLin
33
32
  background: theme.palette.background.default,
34
33
  } },
35
34
  React.createElement(TopLine, null),
36
- React.createElement(Topbar, { hasSidebar: sidebarLinks && sidebarLinks.length > 0, onSidebarClose: () => setSidebarOpen(false), onSidebarOpen: () => setSidebarOpen(true), open: sidebarOpen, locale: locale, languages: languages, avatar: avatar, additionalNodes: topbarActions }),
35
+ 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 }),
37
36
  isLoading && React.createElement(CircularLoading, { locale: locale }),
38
37
  !isLoading && isError && (React.createElement(Box, { sx: {
39
38
  flexGrow: 1,
@@ -31,11 +31,17 @@ interface TopbarProps {
31
31
  */
32
32
  avatar?: AvatarProps;
33
33
  /**
34
- * Array of React nodes to display dynamically in the topbar.
34
+ * Array of additional React nodes to display dynamically in the topbar (on the left side).
35
35
  */
36
- additionalNodes?: ReactNode[];
37
- backgroundColor?: string;
38
- iconsColor?: string;
36
+ additionalLeftItems?: ReactNode[];
37
+ /**
38
+ * Array of additional React nodes to display dynamically in the topbar (on the right side).
39
+ */
40
+ additionalRightItems?: ReactNode[];
41
+ /**
42
+ * Hide the button to switch theme
43
+ */
44
+ disableDarkMode?: boolean;
39
45
  }
40
46
  declare const Topbar: React.FC<TopbarProps>;
41
47
  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;AAcrD,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,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2EjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
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,CAsFjC,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, additionalNodes = [], } = props;
13
+ const { hasSidebar = false, onSidebarClose, onSidebarOpen, open, locale, languages, avatar, additionalLeftItems = [], additionalRightItems = [], disableDarkMode, } = 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 }));
@@ -25,14 +25,15 @@ const Topbar = (props) => {
25
25
  React.createElement(Toolbar, null,
26
26
  hasSidebar && (React.createElement(Tooltip, { title: menuMessage, arrow: true },
27
27
  React.createElement(IconButton, { color: 'inherit', "aria-label": 'open drawer', onClick: () => (open ? onSidebarClose() : onSidebarOpen()), edge: 'start' }, SidebarIcon))),
28
+ additionalLeftItems.map((item, index) => (React.createElement(React.Fragment, { key: index }, item))),
28
29
  React.createElement("div", { style: { flexGrow: 1 } }),
29
- additionalNodes.map((node, index) => (React.createElement(React.Fragment, { key: index }, node))),
30
- React.createElement(LanguageSelect, { locale: locale, languages: languages }),
30
+ additionalRightItems.map((item, index) => (React.createElement(React.Fragment, { key: index }, item))),
31
+ languages && languages.length > 1 && (React.createElement(LanguageSelect, { locale: locale, languages: languages })),
31
32
  React.createElement(Avatar, { ...avatar }),
32
- React.createElement(Tooltip, { title: themeMode === 'light'
33
+ !disableDarkMode && (React.createElement(Tooltip, { title: themeMode === 'light'
33
34
  ? t['enableDark'][locale]
34
35
  : t['disableDark'][locale] },
35
36
  React.createElement(IconButton, { component: 'span', "aria-label": 'toggle dark mode', onClick: () => setThemeMode(themeMode === 'light' ? 'dark' : 'light') },
36
- React.createElement(ModeNightIcon, { htmlColor: muiTheme.palette.topbar.contrastText })))))));
37
+ React.createElement(ModeNightIcon, { htmlColor: muiTheme.palette.topbar.contrastText }))))))));
37
38
  };
38
39
  export default Topbar;