asab_webui_shell 27.3.15 → 27.4.1

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 (36) hide show
  1. package/dist/containers/Alerts/index.js +8 -4
  2. package/dist/containers/Header/ApplicationScreenTitle/ApplicationScreenTitle.js +2 -3
  3. package/dist/containers/Header/Help/HelpButton.js +12 -5
  4. package/dist/containers/Router/ApplicationHashRouter.js +48 -0
  5. package/dist/containers/Router/ApplicationHashRouter.jsx +42 -0
  6. package/dist/containers/Router/ApplicationRouter.js +2 -3
  7. package/dist/containers/Sidebar/NavbarBrand.js +6 -1
  8. package/dist/containers/Sidebar/SidebarBottomItem.js +5 -9
  9. package/dist/containers/Sidebar/SidebarIcon.js +2 -4
  10. package/dist/containers/Sidebar/SidebarItem.js +25 -22
  11. package/dist/containers/Sidebar/SidebarItemRenderer.js +6 -6
  12. package/dist/containers/Sidebar/index.js +15 -6
  13. package/dist/containers/Sidepanel/Sidepanel.js +17 -7
  14. package/dist/containers/Toast/ToastComponent.js +3 -5
  15. package/dist/containers/Toast/ToastContainer.js +8 -3
  16. package/dist/index.js +8 -1
  17. package/dist/modules/about/AboutScreen.js +8 -4
  18. package/dist/modules/attentionrequired/components/OfflineIndication.js +2 -3
  19. package/dist/modules/attentionrequired/service.js +3 -5
  20. package/dist/modules/auth/components/SessionExpirationAlert.js +3 -6
  21. package/dist/modules/auth/header.js +2 -3
  22. package/dist/modules/auth/index.js +1 -3
  23. package/dist/modules/auth/screens/AccessControlScreen.js +3 -4
  24. package/dist/modules/i18n/dropdown.js +8 -12
  25. package/dist/modules/invite/InvitationScreen.js +15 -6
  26. package/dist/modules/tenant/TenantDropdown.js +3 -6
  27. package/dist/modules/tenant/access/AccessDeniedCard.js +11 -5
  28. package/dist/screens/InvalidRouteScreen.js +2 -3
  29. package/dist/screens/SuspenseScreen.js +6 -1
  30. package/dist/screens/UnauthorizedAccessScreen.js +2 -3
  31. package/dist/styles/constants/animations.scss +18 -0
  32. package/dist/styles/constants/index.scss +1 -0
  33. package/dist/styles/constants/theme-print.scss +4 -0
  34. package/dist/theme/ThemeButton.js +4 -6
  35. package/dist/utils/jsonParseWithBigInt.js +2 -4
  36. package/package.json +1 -1
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = AlertsComponent;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _asab_webui_components = require("asab_webui_components");
9
11
  var _reactstrap = require("reactstrap");
@@ -12,12 +14,14 @@ var _reactI18next = require("react-i18next");
12
14
  require("./alerts.scss");
13
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
16
  function AlertsComponent(props) {
15
- var [seconds, setSeconds] = (0, _react.useState)(0);
17
+ var _useState = (0, _react.useState)(0),
18
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
19
+ seconds = _useState2[0],
20
+ setSeconds = _useState2[1];
16
21
  var store = props.app.AppStore;
17
22
  var alerts = (0, _asab_webui_components.useAppSelector)(state => state.alerts.alerts);
18
- var {
19
- t
20
- } = (0, _reactI18next.useTranslation)();
23
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
24
+ t = _useTranslation.t;
21
25
 
22
26
  // Expire old alerts
23
27
  (0, _react.useEffect)(() => {
@@ -45,9 +45,8 @@ var ApplicationScreenTitle = props => {
45
45
  var _state$config2;
46
46
  return state === null || state === void 0 || (_state$config2 = state.config) === null || _state$config2 === void 0 ? void 0 : _state$config2.hasHeaderTitle;
47
47
  });
48
- var {
49
- t
50
- } = (0, _reactI18next.useTranslation)();
48
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
49
+ t = _useTranslation.t;
51
50
  var route = (_props$routes = props.routes) === null || _props$routes === void 0 ? void 0 : _props$routes[0];
52
51
  var routeName = (0, _react.useMemo)(() => {
53
52
  if (route && route.name) {
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = HelpButton;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _reactI18next = require("react-i18next");
9
11
  var _asab_webui_components = require("asab_webui_components");
@@ -11,11 +13,16 @@ var _reactstrap = require("reactstrap");
11
13
  require("./HelpButton.scss");
12
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
15
  function HelpButton() {
14
- var {
15
- t
16
- } = (0, _reactI18next.useTranslation)();
17
- var [modal, setModal] = (0, _react.useState)(false);
18
- var [isIframeLoading, setIsIframeLoading] = (0, _react.useState)(true);
16
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
17
+ t = _useTranslation.t;
18
+ var _useState = (0, _react.useState)(false),
19
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
20
+ modal = _useState2[0],
21
+ setModal = _useState2[1];
22
+ var _useState3 = (0, _react.useState)(true),
23
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
24
+ isIframeLoading = _useState4[0],
25
+ setIsIframeLoading = _useState4[1];
19
26
  var path = (0, _asab_webui_components.useAppSelector)(state => {
20
27
  var _state$header;
21
28
  return state === null || state === void 0 || (_state$header = state.header) === null || _state$header === void 0 ? void 0 : _state$header.helpPath;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ApplicationHashRouter;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactRouter = require("react-router");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
+ /*
11
+ Usage in the bootstrap.js file of the application:
12
+
13
+ import React from 'react';
14
+ import { createRoot } from 'react-dom/client';
15
+ import { ApplicationHashRouter, Application } from 'asab_webui_shell';
16
+
17
+ const ConfigDefaults = { ... };
18
+ const modules = [ ... ];
19
+
20
+ const root = createRoot(document.getElementById('app'));
21
+
22
+ root.render(
23
+ <ApplicationHashRouter>
24
+ <Application
25
+ configdefaults={ConfigDefaults}
26
+ modules={modules}
27
+ />
28
+ </ApplicationHashRouter>,);
29
+ */
30
+
31
+ function ApplicationHashRouter(_ref) {
32
+ var children = _ref.children;
33
+ /*
34
+ Using ref to avoid re-creation of the router for every component instance.
35
+ In dev mode it can cause multiple route renders (in strict mode).
36
+ */
37
+ var routerRef = (0, _react.useRef)(null);
38
+ if (routerRef.current === null) {
39
+ routerRef.current = (0, _reactRouter.createHashRouter)([{
40
+ path: '*',
41
+ // Allowing all routes here is OK since routing itself is handled by the ApplicationRouter
42
+ element: children
43
+ }]);
44
+ }
45
+ return /*#__PURE__*/_react.default.createElement(_reactRouter.RouterProvider, {
46
+ router: routerRef.current
47
+ });
48
+ }
@@ -0,0 +1,42 @@
1
+ import React, { useRef } from 'react';
2
+ import { createHashRouter, RouterProvider } from 'react-router';
3
+
4
+ /*
5
+ Usage in the bootstrap.js file of the application:
6
+
7
+ import React from 'react';
8
+ import { createRoot } from 'react-dom/client';
9
+ import { ApplicationHashRouter, Application } from 'asab_webui_shell';
10
+
11
+ const ConfigDefaults = { ... };
12
+ const modules = [ ... ];
13
+
14
+ const root = createRoot(document.getElementById('app'));
15
+
16
+ root.render(
17
+ <ApplicationHashRouter>
18
+ <Application
19
+ configdefaults={ConfigDefaults}
20
+ modules={modules}
21
+ />
22
+ </ApplicationHashRouter>,);
23
+ */
24
+
25
+ export default function ApplicationHashRouter({ children }) {
26
+
27
+ /*
28
+ Using ref to avoid re-creation of the router for every component instance.
29
+ In dev mode it can cause multiple route renders (in strict mode).
30
+ */
31
+ const routerRef = useRef(null);
32
+ if (routerRef.current === null) {
33
+ routerRef.current = createHashRouter([
34
+ {
35
+ path: '*', // Allowing all routes here is OK since routing itself is handled by the ApplicationRouter
36
+ element: children
37
+ }
38
+ ]);
39
+ }
40
+
41
+ return <RouterProvider router={routerRef.current} />;
42
+ }
@@ -46,9 +46,8 @@ function RouteRenderer(props) {
46
46
  var _state$auth;
47
47
  return (_state$auth = state.auth) !== null && _state$auth !== void 0 && _state$auth.resources ? state.auth.resources : [];
48
48
  });
49
- var {
50
- dispatch
51
- } = (0, _asab_webui_components.useAppStore)();
49
+ var _useAppStore = (0, _asab_webui_components.useAppStore)(),
50
+ dispatch = _useAppStore.dispatch;
52
51
  var defaultHelp = props.app.Config.get("help");
53
52
 
54
53
  // Set up and dispatch help content
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _reactRouter = require("react-router");
9
11
  var _BrandImage = require("../../components/branding/BrandImage");
@@ -11,7 +13,10 @@ var _asab_webui_components = require("asab_webui_components");
11
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
14
  var NavbarBrand = props => {
13
15
  var _brandImage$href;
14
- var [brandImage, setBrandImage] = (0, _react.useState)({});
16
+ var _useState = (0, _react.useState)({}),
17
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
+ brandImage = _useState2[0],
19
+ setBrandImage = _useState2[1];
15
20
  var theme = (0, _asab_webui_components.useAppSelector)(state => state.theme);
16
21
  var title = (0, _asab_webui_components.useAppSelector)(state => {
17
22
  var _state$config;
@@ -11,19 +11,15 @@ var _reactI18next = require("react-i18next");
11
11
  var _asab_webui_components = require("asab_webui_components");
12
12
  var _actions = require("../../actions");
13
13
  var SidebarBottomItem = _ref => {
14
- var {
15
- sidebarLogo
16
- } = _ref;
14
+ var sidebarLogo = _ref.sidebarLogo;
17
15
  var isSidebarCollapsed = (0, _asab_webui_components.useAppSelector)(state => {
18
16
  var _state$sidebar;
19
17
  return state === null || state === void 0 || (_state$sidebar = state.sidebar) === null || _state$sidebar === void 0 ? void 0 : _state$sidebar.isSidebarCollapsed;
20
18
  });
21
- var {
22
- t
23
- } = (0, _reactI18next.useTranslation)();
24
- var {
25
- dispatch
26
- } = (0, _asab_webui_components.useAppStore)();
19
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
20
+ t = _useTranslation.t;
21
+ var _useAppStore = (0, _asab_webui_components.useAppStore)(),
22
+ dispatch = _useAppStore.dispatch;
27
23
 
28
24
  // Handle toggle of the sidebar's collapsed state
29
25
  var onCollapse = event => {
@@ -7,10 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var Icon = _ref => {
10
- var {
11
- icon,
12
- className
13
- } = _ref;
10
+ var icon = _ref.icon,
11
+ className = _ref.className;
14
12
  if (typeof icon === "string") {
15
13
  return /*#__PURE__*/_react.default.createElement("i", {
16
14
  className: "".concat(icon, " ").concat(className, " sidebar-item-icon")
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.SidebarItem = exports.SidebarCollapsibleItem = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _reactRouter = require("react-router");
10
11
  var _reactI18next = require("react-i18next");
@@ -14,23 +15,24 @@ var _SidebarIcon = _interopRequireDefault(require("./SidebarIcon"));
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
16
  var SidebarItem = _ref => {
16
17
  var _item$name;
17
- var {
18
- item,
19
- disabled,
20
- isOpen,
21
- setOpen,
22
- isSmallResolution,
23
- beacon = undefined
24
- } = _ref;
18
+ var item = _ref.item,
19
+ disabled = _ref.disabled,
20
+ isOpen = _ref.isOpen,
21
+ setOpen = _ref.setOpen,
22
+ isSmallResolution = _ref.isSmallResolution,
23
+ _ref$beacon = _ref.beacon,
24
+ beacon = _ref$beacon === void 0 ? undefined : _ref$beacon;
25
25
  var location = (0, _reactRouter.useLocation)();
26
- var {
27
- t
28
- } = (0, _reactI18next.useTranslation)();
26
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
27
+ t = _useTranslation.t;
29
28
  var isSidebarCollapsed = (0, _asab_webui_components.useAppSelector)(state => {
30
29
  var _state$sidebar;
31
30
  return (_state$sidebar = state.sidebar) === null || _state$sidebar === void 0 ? void 0 : _state$sidebar.isSidebarCollapsed;
32
31
  });
33
- var [isActive, setActive] = (0, _react.useState)(false);
32
+ var _useState = (0, _react.useState)(false),
33
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
+ isActive = _useState2[0],
35
+ setActive = _useState2[1];
34
36
  var lowercasedItemName = item === null || item === void 0 || (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.toLowerCase();
35
37
  // Attention requred flag
36
38
  var itemBeacon = beacon ? beacon["beacon.".concat(lowercasedItemName)] : {};
@@ -73,17 +75,18 @@ var SidebarItem = _ref => {
73
75
  };
74
76
  exports.SidebarItem = SidebarItem;
75
77
  var SidebarCollapsibleItem = _ref2 => {
76
- var {
77
- item,
78
- disabled,
79
- isSmallResolution,
80
- beacon = undefined
81
- } = _ref2;
82
- var [isOpen, setOpen] = (0, _react.useState)(false);
78
+ var item = _ref2.item,
79
+ disabled = _ref2.disabled,
80
+ isSmallResolution = _ref2.isSmallResolution,
81
+ _ref2$beacon = _ref2.beacon,
82
+ beacon = _ref2$beacon === void 0 ? undefined : _ref2$beacon;
83
+ var _useState3 = (0, _react.useState)(false),
84
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
85
+ isOpen = _useState4[0],
86
+ setOpen = _useState4[1];
83
87
  var location = (0, _reactRouter.useLocation)();
84
- var {
85
- t
86
- } = (0, _reactI18next.useTranslation)();
88
+ var _useTranslation2 = (0, _reactI18next.useTranslation)(),
89
+ t = _useTranslation2.t;
87
90
  var isSidebarCollapsed = (0, _asab_webui_components.useAppSelector)(state => {
88
91
  var _state$sidebar2;
89
92
  return (_state$sidebar2 = state.sidebar) === null || _state$sidebar2 === void 0 ? void 0 : _state$sidebar2.isSidebarCollapsed;
@@ -8,12 +8,12 @@ exports.SidebarItemRenderer = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _SidebarItem = require("./SidebarItem");
10
10
  var SidebarItemRenderer = _ref => {
11
- var {
12
- sidebarItems,
13
- sessionExpired,
14
- isSmallResolution = undefined,
15
- beacon = undefined
16
- } = _ref;
11
+ var sidebarItems = _ref.sidebarItems,
12
+ sessionExpired = _ref.sessionExpired,
13
+ _ref$isSmallResolutio = _ref.isSmallResolution,
14
+ isSmallResolution = _ref$isSmallResolutio === void 0 ? undefined : _ref$isSmallResolutio,
15
+ _ref$beacon = _ref.beacon,
16
+ beacon = _ref$beacon === void 0 ? undefined : _ref$beacon;
17
17
  return /*#__PURE__*/_react.default.createElement("nav", {
18
18
  className: "nav flex-column"
19
19
  }, sidebarItems.map((item, idx) => item.children ? /*#__PURE__*/_react.default.createElement(_SidebarItem.SidebarCollapsibleItem, {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = Sidebar;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _asab_webui_components = require("asab_webui_components");
10
11
  var _reactstrap = require("reactstrap");
@@ -37,9 +38,18 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
37
38
  */
38
39
 
39
40
  function Sidebar(props) {
40
- var [isSmallResolution, setIsSmallResolution] = (0, _react.useState)(false);
41
- var [sidebarBottomBranding, setSidebarBottomBranding] = (0, _react.useState)({});
42
- var [windowWidth, setWindowWidth] = (0, _react.useState)(window.innerWidth);
41
+ var _useState = (0, _react.useState)(false),
42
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
43
+ isSmallResolution = _useState2[0],
44
+ setIsSmallResolution = _useState2[1];
45
+ var _useState3 = (0, _react.useState)({}),
46
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
47
+ sidebarBottomBranding = _useState4[0],
48
+ setSidebarBottomBranding = _useState4[1];
49
+ var _useState5 = (0, _react.useState)(window.innerWidth),
50
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
51
+ windowWidth = _useState6[0],
52
+ setWindowWidth = _useState6[1];
43
53
  var sidebarItems = (0, _asab_webui_components.useAppSelector)(state => {
44
54
  var _state$navigation;
45
55
  return (_state$navigation = state.navigation) === null || _state$navigation === void 0 ? void 0 : _state$navigation.navItems;
@@ -58,9 +68,8 @@ function Sidebar(props) {
58
68
  var _state$attentionrequi;
59
69
  return state === null || state === void 0 || (_state$attentionrequi = state.attentionrequired) === null || _state$attentionrequi === void 0 ? void 0 : _state$attentionrequi.beacon;
60
70
  });
61
- var {
62
- dispatch
63
- } = (0, _asab_webui_components.useAppStore)();
71
+ var _useAppStore = (0, _asab_webui_components.useAppStore)(),
72
+ dispatch = _useAppStore.dispatch;
64
73
 
65
74
  // Handling sidebar-hidden app class
66
75
  (0, _react.useEffect)(() => {
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = Sidepanel;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _reactstrap = require("reactstrap");
9
11
  var _asab_webui_components = require("asab_webui_components");
@@ -28,13 +30,21 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
28
30
 
29
31
  // Application sidepanel
30
32
  function Sidepanel(props) {
31
- var {
32
- publish,
33
- subscribe
34
- } = (0, _asab_webui_components.usePubSub)();
35
- var [sidepanelContent, setSidepanelContent] = (0, _react.useState)(undefined);
36
- var [mode, setMode] = (0, _react.useState)('dock');
37
- var [isOpen, setIsOpen] = (0, _react.useState)(false);
33
+ var _usePubSub = (0, _asab_webui_components.usePubSub)(),
34
+ publish = _usePubSub.publish,
35
+ subscribe = _usePubSub.subscribe;
36
+ var _useState = (0, _react.useState)(undefined),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
+ sidepanelContent = _useState2[0],
39
+ setSidepanelContent = _useState2[1];
40
+ var _useState3 = (0, _react.useState)('dock'),
41
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
+ mode = _useState4[0],
43
+ setMode = _useState4[1];
44
+ var _useState5 = (0, _react.useState)(false),
45
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
46
+ isOpen = _useState6[0],
47
+ setIsOpen = _useState6[1];
38
48
  (0, _react.useEffect)(() => {
39
49
  var handleEvent = message => {
40
50
  if (message.mode === 'close') {
@@ -12,11 +12,9 @@ var _actions = require("../../actions");
12
12
 
13
13
  // Component for displaying Toast messages
14
14
  function ToastComponent(_ref) {
15
- var {
16
- app,
17
- content,
18
- dispatch
19
- } = _ref;
15
+ var app = _ref.app,
16
+ content = _ref.content,
17
+ dispatch = _ref.dispatch;
20
18
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Toast, {
21
19
  fade: true,
22
20
  className: "toast d-print-none"
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = ToastContainer;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _asab_webui_components = require("asab_webui_components");
9
11
  var _actions = require("../../actions");
@@ -21,9 +23,12 @@ function ToastContainer(props) {
21
23
  var toastData = (attentionRequired === null || attentionRequired === void 0 || (_attentionRequired$be = attentionRequired['beacon.toast']) === null || _attentionRequired$be === void 0 ? void 0 : _attentionRequired$be.data) || [];
22
24
 
23
25
  // useReducer to manage the local state of toasts
24
- var [state, dispatch] = (0, _react.useReducer)(_reducer.toastReducer, {
25
- toasts: []
26
- });
26
+ var _useReducer = (0, _react.useReducer)(_reducer.toastReducer, {
27
+ toasts: []
28
+ }),
29
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
30
+ state = _useReducer2[0],
31
+ dispatch = _useReducer2[1];
27
32
 
28
33
  // Handle new toast data from attention required store
29
34
  (0, _react.useEffect)(() => {
package/dist/index.js CHANGED
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "Application", {
16
16
  return _Application.default;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "ApplicationHashRouter", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _ApplicationHashRouter.default;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "AttentionRequiredModule", {
20
26
  enumerable: true,
21
27
  get: function get() {
@@ -60,4 +66,5 @@ var _tenant = _interopRequireDefault(require("./modules/tenant"));
60
66
  var _auth = _interopRequireDefault(require("./modules/auth"));
61
67
  var _about = _interopRequireDefault(require("./modules/about"));
62
68
  var _index2 = _interopRequireDefault(require("./modules/attentionrequired/index.js"));
63
- var _invite = _interopRequireDefault(require("./modules/invite"));
69
+ var _invite = _interopRequireDefault(require("./modules/invite"));
70
+ var _ApplicationHashRouter = _interopRequireDefault(require("./containers/Router/ApplicationHashRouter.js"));
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _reactI18next = require("react-i18next");
9
11
  var _asab_webui_components = require("asab_webui_components");
@@ -11,7 +13,10 @@ var _BrandImage = require("../../components/branding/BrandImage");
11
13
  var _reactstrap = require("reactstrap");
12
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
15
  function AboutScreen(props) {
14
- var [brandImage, setBrandImage] = (0, _react.useState)(undefined);
16
+ var _useState = (0, _react.useState)(undefined),
17
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
+ brandImage = _useState2[0],
19
+ setBrandImage = _useState2[1];
15
20
  var theme = (0, _asab_webui_components.useAppSelector)(state => state.theme);
16
21
  (0, _react.useEffect)(() => {
17
22
  setBrandImage((0, _BrandImage.getBrandImage)(props, theme));
@@ -49,9 +54,8 @@ var _default = exports.default = AboutScreen;
49
54
  */
50
55
  // TODO: add info about version release and date of the release
51
56
  function AboutCard(props) {
52
- var {
53
- t
54
- } = (0, _reactI18next.useTranslation)();
57
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
58
+ t = _useTranslation.t;
55
59
  var title = (0, _asab_webui_components.useAppSelector)(state => {
56
60
  var _state$config;
57
61
  return (_state$config = state.config) === null || _state$config === void 0 ? void 0 : _state$config.title;
@@ -9,9 +9,8 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _reactI18next = require("react-i18next");
10
10
  // Header badge for displaying offline status
11
11
  function OfflineIndication() {
12
- var {
13
- t
14
- } = (0, _reactI18next.useTranslation)();
12
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
13
+ t = _useTranslation.t;
15
14
  return /*#__PURE__*/_react.default.createElement("i", {
16
15
  title: t('General|You are offline. Functionality of the Application may be limited.'),
17
16
  className: "bi bi-wifi-off mx-3",
@@ -125,11 +125,9 @@ class AttentionRequiredService extends _asab_webui_components.Service {
125
125
  return {};
126
126
  }
127
127
  return inputData.reduce((acc, entry) => {
128
- var {
129
- type,
130
- _c,
131
- reference_path
132
- } = entry;
128
+ var type = entry.type,
129
+ _c = entry._c,
130
+ reference_path = entry.reference_path;
133
131
 
134
132
  // Identify the dynamic key (it could be 'library', 'configuration', 'services', etc.)
135
133
  var dynamicKey = Object.keys(entry).find(key => typeof entry[key] === 'object' && entry[key] !== null && !Array.isArray(entry[key]));
@@ -10,12 +10,9 @@ var _reactI18next = require("react-i18next");
10
10
  var _reactstrap = require("reactstrap");
11
11
  // Session expiration custom Alert component
12
12
  function SessionExpirationAlert(_ref) {
13
- var {
14
- alert
15
- } = _ref;
16
- var {
17
- t
18
- } = (0, _reactI18next.useTranslation)(); // Use the hook inside the functional component
13
+ var alert = _ref.alert;
14
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
15
+ t = _useTranslation.t; // Use the hook inside the functional component
19
16
 
20
17
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Alert, {
21
18
  key: alert.key,
@@ -34,9 +34,8 @@ require("./header.scss");
34
34
 
35
35
  function AuthHeaderDropdown(props) {
36
36
  var _props$app;
37
- var {
38
- t
39
- } = (0, _reactI18next.useTranslation)();
37
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
38
+ t = _useTranslation.t;
40
39
  var tenant = (0, _asab_webui_components.useAppSelector)(state => {
41
40
  var _state$tenant;
42
41
  return (_state$tenant = state.tenant) === null || _state$tenant === void 0 ? void 0 : _state$tenant.current;
@@ -249,9 +249,7 @@ class AuthModule extends _asab_webui_components.Module {
249
249
  }
250
250
  validateNavigation(_ref) {
251
251
  var _state$navigation, _this$App$AppStore$di, _this$App$AppStore;
252
- var {
253
- resources
254
- } = _ref;
252
+ var resources = _ref.resources;
255
253
  var state = this.App.AppStore.getState();
256
254
  var navItems = (_state$navigation = state.navigation) === null || _state$navigation === void 0 ? void 0 : _state$navigation.navItems;
257
255
  var authorizedNavItems = [];
@@ -36,10 +36,9 @@ function AccessControlScreen(props) {
36
36
  }
37
37
  var _default = exports.default = AccessControlScreen;
38
38
  function AccessControlCard(props) {
39
- var {
40
- t,
41
- i18n
42
- } = (0, _reactI18next.useTranslation)();
39
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
40
+ t = _useTranslation.t,
41
+ i18n = _useTranslation.i18n;
43
42
  var tenant = (0, _asab_webui_components.useAppSelector)(state => {
44
43
  var _state$tenant;
45
44
  return (_state$tenant = state.tenant) === null || _state$tenant === void 0 ? void 0 : _state$tenant.current;
@@ -11,18 +11,16 @@ var _asab_webui_components = require("asab_webui_components");
11
11
  var _reactstrap = require("reactstrap");
12
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
13
  function LanguageDropdown(props) {
14
- var {
15
- t,
16
- i18n
17
- } = (0, _reactI18next.useTranslation)();
14
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
15
+ t = _useTranslation.t,
16
+ i18n = _useTranslation.i18n;
18
17
  var changeLanguage = language => {
19
18
  i18n.changeLanguage(language).then(() => {
20
19
  // if the hard refresh is needed: window.location.reload(false);
21
20
  });
22
21
  };
23
- var {
24
- dispatch
25
- } = (0, _asab_webui_components.useAppStore)();
22
+ var _useAppStore = (0, _asab_webui_components.useAppStore)(),
23
+ dispatch = _useAppStore.dispatch;
26
24
  (0, _react.useEffect)(() => {
27
25
  var _i18n$language;
28
26
  dispatch({
@@ -67,11 +65,9 @@ function LanguageDropdown(props) {
67
65
  })));
68
66
  }
69
67
  function LanguageFlag(_ref) {
70
- var {
71
- language,
72
- className,
73
- style
74
- } = _ref;
68
+ var language = _ref.language,
69
+ className = _ref.className,
70
+ style = _ref.style;
75
71
  return /*#__PURE__*/_react.default.createElement("img", {
76
72
  className: className,
77
73
  src: "media/locale/".concat(language, ".svg"),
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = InvitationScreen;
8
8
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _reactI18next = require("react-i18next");
11
12
  var _reactRouter = require("react-router");
@@ -16,16 +17,24 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
16
17
  // Component that handles user invitation
17
18
  function InvitationScreen(props) {
18
19
  var _location$state2;
19
- var [emailValue, setEmailValue] = (0, _react.useState)('');
20
- var [responseData, setResponseData] = (0, _react.useState)(undefined);
21
- var [isSubmitting, setIsSubmitting] = (0, _react.useState)(false);
20
+ var _useState = (0, _react.useState)(''),
21
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
22
+ emailValue = _useState2[0],
23
+ setEmailValue = _useState2[1];
24
+ var _useState3 = (0, _react.useState)(undefined),
25
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
26
+ responseData = _useState4[0],
27
+ setResponseData = _useState4[1];
28
+ var _useState5 = (0, _react.useState)(false),
29
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
30
+ isSubmitting = _useState6[0],
31
+ setIsSubmitting = _useState6[1];
22
32
  var tenant = (0, _asab_webui_components.useAppSelector)(state => {
23
33
  var _state$tenant;
24
34
  return (_state$tenant = state.tenant) === null || _state$tenant === void 0 ? void 0 : _state$tenant.current;
25
35
  });
26
- var {
27
- t
28
- } = (0, _reactI18next.useTranslation)();
36
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
37
+ t = _useTranslation.t;
29
38
  var navigate = (0, _reactRouter.useNavigate)();
30
39
  var SeaCatAuthAPI = props.app.axiosCreate('seacat-auth');
31
40
  var canAccessCredentialsDetail = (0, _seacatAuth.isAuthorized)(['seacat:credentials:access'], props.app);
@@ -10,9 +10,8 @@ var _reactI18next = require("react-i18next");
10
10
  var _reactstrap = require("reactstrap");
11
11
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
12
  function TenantDropdown() {
13
- var {
14
- t
15
- } = (0, _reactI18next.useTranslation)();
13
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
14
+ t = _useTranslation.t;
16
15
  var current = (0, _asab_webui_components.useAppSelector)(state => {
17
16
  var _state$tenant;
18
17
  return state === null || state === void 0 || (_state$tenant = state.tenant) === null || _state$tenant === void 0 ? void 0 : _state$tenant.current;
@@ -44,8 +43,6 @@ function TenantDropdown() {
44
43
  })))) : null);
45
44
  }
46
45
  function TenantLabel(_ref) {
47
- var {
48
- tenant
49
- } = _ref;
46
+ var tenant = _ref.tenant;
50
47
  return /*#__PURE__*/_react.default.createElement("span", null, tenant);
51
48
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _reactI18next = require("react-i18next");
11
12
  var _reactstrap = require("reactstrap");
@@ -13,11 +14,16 @@ var _locationReplace = require("../../../components/locationReplace");
13
14
  require("./AccessDeniedCard.scss");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
16
  function AccessDeniedCard(props) {
16
- var {
17
- t
18
- } = (0, _reactI18next.useTranslation)();
19
- var [accessDenied, setAccessDenied] = (0, _react.useState)(false);
20
- var [deniedTenant, setDeniedTenant] = (0, _react.useState)("");
17
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
18
+ t = _useTranslation.t;
19
+ var _useState = (0, _react.useState)(false),
20
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
21
+ accessDenied = _useState2[0],
22
+ setAccessDenied = _useState2[1];
23
+ var _useState3 = (0, _react.useState)(""),
24
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
25
+ deniedTenant = _useState4[0],
26
+ setDeniedTenant = _useState4[1];
21
27
  (0, _react.useEffect)(() => {
22
28
  var qs = new URLSearchParams(window.location.search);
23
29
  var errorType = qs.get('error');
@@ -11,9 +11,8 @@ var _reactstrap = require("reactstrap");
11
11
  var _asab_webui_components = require("asab_webui_components");
12
12
  require("./InvalidRouteScreen.scss");
13
13
  function InvalidRouteScreen(props) {
14
- var {
15
- t
16
- } = (0, _reactI18next.useTranslation)();
14
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
15
+ t = _useTranslation.t;
17
16
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Container, {
18
17
  className: "invalid-route-container h-100"
19
18
  }, /*#__PURE__*/_react.default.createElement(_reactstrap.Card, {
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = SuspenseScreen;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _react = _interopRequireWildcard(require("react"));
8
10
  var _asab_webui_components = require("asab_webui_components");
9
11
  var _reactstrap = require("reactstrap");
@@ -11,7 +13,10 @@ var _BrandImage = require("../components/branding/BrandImage");
11
13
  require("./SuspenseScreen.scss");
12
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
15
  function SuspenseScreen(props) {
14
- var [brandImage, setBrandImage] = (0, _react.useState)(undefined);
16
+ var _useState = (0, _react.useState)(undefined),
17
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
+ brandImage = _useState2[0],
19
+ setBrandImage = _useState2[1];
15
20
  var theme = (0, _asab_webui_components.useAppSelector)(state => state.theme);
16
21
  (0, _react.useEffect)(() => {
17
22
  setBrandImage((0, _BrandImage.getBrandImage)(props, theme));
@@ -20,9 +20,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
20
20
  screen.
21
21
  */
22
22
  function UnauthorizedAccessScreen(props) {
23
- var {
24
- t
25
- } = (0, _reactI18next.useTranslation)();
23
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
24
+ t = _useTranslation.t;
26
25
  var resources = (0, _asab_webui_components.useAppSelector)(state => {
27
26
  var _state$auth;
28
27
  return (_state$auth = state.auth) !== null && _state$auth !== void 0 && _state$auth.resources ? state.auth.resources : [];
@@ -0,0 +1,18 @@
1
+ .animation-glow-pulse-primary {
2
+ animation: glow-pulse-primary 1500ms infinite;
3
+ }
4
+
5
+ // Changes background, glow, and text color
6
+ @keyframes glow-pulse-primary {
7
+ 0%, 100% {
8
+ background-color: var(--bs-primary);
9
+ box-shadow: 0 0 3px var(--bs-primary);
10
+ color: var(--white)
11
+ }
12
+
13
+ 50% {
14
+ background-color: var(--bs-card-bg);
15
+ box-shadow: 0 0 10px var(--bs-card-bg);
16
+ color: var(--bs-primary);
17
+ }
18
+ }
@@ -2,6 +2,7 @@
2
2
  @use './theme-light.scss';
3
3
  @use './theme-dark.scss';
4
4
  @use './theme-print.scss';
5
+ @use './animations.scss';
5
6
 
6
7
  // Universal styling goes here
7
8
  // It means fonts, borders but no colors
@@ -180,6 +180,10 @@
180
180
  position: unset !important;
181
181
  transform: unset !important;
182
182
  text-align: initial;
183
+ break-inside: avoid;
184
+ }
185
+ .react-grid-item:not(:has(.recharts-responsive-container)) {
186
+ height: initial !important; /* Allow table widgets to expand and show all content */
183
187
  }
184
188
  }
185
189
  }
@@ -11,12 +11,10 @@ var _reactstrap = require("reactstrap");
11
11
  var _actions = require("./actions");
12
12
  var _asab_webui_components = require("asab_webui_components");
13
13
  var ThemeButton = () => {
14
- var {
15
- t
16
- } = (0, _reactI18next.useTranslation)();
17
- var {
18
- dispatch
19
- } = (0, _asab_webui_components.useAppStore)();
14
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
15
+ t = _useTranslation.t;
16
+ var _useAppStore = (0, _asab_webui_components.useAppStore)(),
17
+ dispatch = _useAppStore.dispatch;
20
18
  var theme = (0, _asab_webui_components.useAppSelector)(state => state.theme);
21
19
  var changeTheme = () => {
22
20
  var newTheme = theme == 'light' ? 'dark' : 'light';
@@ -61,10 +61,8 @@ function jsonParseWithBigInt(source, bigIntKeys) {
61
61
  var convertedArray = [...value];
62
62
  var numericSources = pending.get(value) || [];
63
63
  numericSources.forEach(_ref => {
64
- var {
65
- index,
66
- src
67
- } = _ref;
64
+ var index = _ref.index,
65
+ src = _ref.src;
68
66
  convertedArray[index] = BigInt(src);
69
67
  });
70
68
  return convertedArray;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asab_webui_shell",
3
- "version": "27.3.15",
3
+ "version": "27.4.1",
4
4
  "license": "BSD-3-Clause",
5
5
  "description": "TeskaLabs ASAB WebUI Shell Application",
6
6
  "contributors": [