@deix/rossini-core 0.1.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.
Files changed (82) hide show
  1. package/README.md +3 -0
  2. package/lib/package.json +73 -0
  3. package/lib/src/components/buttons/Avatar/Avatar.d.ts +8 -0
  4. package/lib/src/components/buttons/Avatar/Avatar.d.ts.map +1 -0
  5. package/lib/src/components/buttons/Avatar/Avatar.js +52 -0
  6. package/lib/src/components/buttons/LanguageSelect/LanguageSelect.d.ts +16 -0
  7. package/lib/src/components/buttons/LanguageSelect/LanguageSelect.d.ts.map +1 -0
  8. package/lib/src/components/buttons/LanguageSelect/LanguageSelect.js +52 -0
  9. package/lib/src/components/buttons/LanguageSelect/translations.json +9 -0
  10. package/lib/src/components/buttons/ToggleButtonGroup/ToggleButtonGroup.d.ts +41 -0
  11. package/lib/src/components/buttons/ToggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
  12. package/lib/src/components/buttons/ToggleButtonGroup/ToggleButtonGroup.js +20 -0
  13. package/lib/src/components/buttons/index.d.ts +4 -0
  14. package/lib/src/components/buttons/index.d.ts.map +1 -0
  15. package/lib/src/components/buttons/index.js +3 -0
  16. package/lib/src/components/layout/MinimalLayout/MinimalLayout.d.ts +12 -0
  17. package/lib/src/components/layout/MinimalLayout/MinimalLayout.d.ts.map +1 -0
  18. package/lib/src/components/layout/MinimalLayout/MinimalLayout.js +57 -0
  19. package/lib/src/components/layout/MinimalLayout/translations.json +8 -0
  20. package/lib/src/components/layout/StandardLayout/StandardLayout.d.ts +16 -0
  21. package/lib/src/components/layout/StandardLayout/StandardLayout.d.ts.map +1 -0
  22. package/lib/src/components/layout/StandardLayout/StandardLayout.js +67 -0
  23. package/lib/src/components/layout/StandardLayout/translations.json +8 -0
  24. package/lib/src/components/layout/components/AppLogo/AppLogo.d.ts +19 -0
  25. package/lib/src/components/layout/components/AppLogo/AppLogo.d.ts.map +1 -0
  26. package/lib/src/components/layout/components/AppLogo/AppLogo.js +25 -0
  27. package/lib/src/components/layout/components/Footer/Footer.d.ts +27 -0
  28. package/lib/src/components/layout/components/Footer/Footer.d.ts.map +1 -0
  29. package/lib/src/components/layout/components/Footer/Footer.js +100 -0
  30. package/lib/src/components/layout/components/Sidebar/Sidebar.d.ts +23 -0
  31. package/lib/src/components/layout/components/Sidebar/Sidebar.d.ts.map +1 -0
  32. package/lib/src/components/layout/components/Sidebar/Sidebar.js +206 -0
  33. package/lib/src/components/layout/components/Topbar/ElevationScroll.d.ts +7 -0
  34. package/lib/src/components/layout/components/Topbar/ElevationScroll.d.ts.map +1 -0
  35. package/lib/src/components/layout/components/Topbar/ElevationScroll.js +13 -0
  36. package/lib/src/components/layout/components/Topbar/Topbar.d.ts +13 -0
  37. package/lib/src/components/layout/components/Topbar/Topbar.d.ts.map +1 -0
  38. package/lib/src/components/layout/components/Topbar/Topbar.js +46 -0
  39. package/lib/src/components/layout/components/Topbar/Topbar.styles.d.ts +18 -0
  40. package/lib/src/components/layout/components/Topbar/Topbar.styles.d.ts.map +1 -0
  41. package/lib/src/components/layout/components/Topbar/Topbar.styles.js +8 -0
  42. package/lib/src/components/layout/components/Topbar/translations.json +26 -0
  43. package/lib/src/components/layout/components/Topline/TopLine.d.ts +4 -0
  44. package/lib/src/components/layout/components/Topline/TopLine.d.ts.map +1 -0
  45. package/lib/src/components/layout/components/Topline/TopLine.js +13 -0
  46. package/lib/src/components/layout/index.d.ts +3 -0
  47. package/lib/src/components/layout/index.d.ts.map +1 -0
  48. package/lib/src/components/layout/index.js +2 -0
  49. package/lib/src/components/progress/CircularLoading/CircularLoading.d.ts +8 -0
  50. package/lib/src/components/progress/CircularLoading/CircularLoading.d.ts.map +1 -0
  51. package/lib/src/components/progress/CircularLoading/CircularLoading.js +16 -0
  52. package/lib/src/components/progress/CircularLoading/translations.json +8 -0
  53. package/lib/src/components/progress/DotWaveLoading/DotWaveLoading.d.ts +8 -0
  54. package/lib/src/components/progress/DotWaveLoading/DotWaveLoading.d.ts.map +1 -0
  55. package/lib/src/components/progress/DotWaveLoading/DotWaveLoading.js +18 -0
  56. package/lib/src/components/progress/DotWaveLoading/translations.json +8 -0
  57. package/lib/src/components/progress/index.d.ts +3 -0
  58. package/lib/src/components/progress/index.d.ts.map +1 -0
  59. package/lib/src/components/progress/index.js +2 -0
  60. package/lib/src/types/api.d.ts +16 -0
  61. package/lib/src/types/api.d.ts.map +1 -0
  62. package/lib/src/types/api.js +1 -0
  63. package/lib/src/types/languages.d.ts +12 -0
  64. package/lib/src/types/languages.d.ts.map +1 -0
  65. package/lib/src/types/languages.js +3 -0
  66. package/lib/src/types/palette.d.ts +16 -0
  67. package/lib/src/types/palette.d.ts.map +1 -0
  68. package/lib/src/types/palette.js +1 -0
  69. package/lib/src/utils/hooks/useAPI.d.ts +3 -0
  70. package/lib/src/utils/hooks/useAPI.d.ts.map +1 -0
  71. package/lib/src/utils/hooks/useAPI.js +9 -0
  72. package/lib/src/utils/hooks/useKeycloak.d.ts +8 -0
  73. package/lib/src/utils/hooks/useKeycloak.d.ts.map +1 -0
  74. package/lib/src/utils/hooks/useKeycloak.js +69 -0
  75. package/lib/src/utils/hooks/useLocale.d.ts +3 -0
  76. package/lib/src/utils/hooks/useLocale.d.ts.map +1 -0
  77. package/lib/src/utils/hooks/useLocale.js +6 -0
  78. package/lib/src/utils/hooks/usePersistedState.d.ts +2 -0
  79. package/lib/src/utils/hooks/usePersistedState.d.ts.map +1 -0
  80. package/lib/src/utils/hooks/usePersistedState.js +27 -0
  81. package/lib/tsconfig-lib.tsbuildinfo +1 -0
  82. package/package.json +73 -0
@@ -0,0 +1,100 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import React from 'react';
38
+ import Image from 'next/image';
39
+ import { Box, Typography, useTheme } from '@mui/material';
40
+ import { useQuery } from 'react-query';
41
+ import packageInfo from '../../../../../package.json';
42
+ import { useAPI } from '../../../../utils/hooks/useAPI';
43
+ var Footer = function (_a) {
44
+ var logoSource = _a.logoSource, _b = _a.text, text = _b === void 0 ? 'Deix Srl' : _b, _c = _a.textURL, textURL = _c === void 0 ? 'https://deixsrl.com' : _c, apiURL = _a.apiURL, children = _a.children;
45
+ var muiTheme = useTheme();
46
+ // Get API info (name and version) from backend
47
+ var apiClient = useAPI(apiURL);
48
+ var getAPIInfo = function () { return __awaiter(void 0, void 0, void 0, function () {
49
+ var data;
50
+ return __generator(this, function (_a) {
51
+ switch (_a.label) {
52
+ case 0: return [4 /*yield*/, apiClient.get('info')];
53
+ case 1:
54
+ data = (_a.sent()).data;
55
+ return [2 /*return*/, data];
56
+ }
57
+ });
58
+ }); };
59
+ var apiInfo = useQuery('api-info', getAPIInfo, {
60
+ keepPreviousData: true,
61
+ staleTime: Infinity,
62
+ cacheTime: Infinity,
63
+ }).data;
64
+ return (React.createElement(Box, { sx: {
65
+ display: 'flex',
66
+ flexDirection: 'column',
67
+ background: muiTheme.palette.background.default,
68
+ } },
69
+ React.createElement(React.Fragment, null,
70
+ React.createElement("div", { style: {
71
+ display: 'flex',
72
+ flexWrap: 'wrap',
73
+ justifyContent: 'center',
74
+ alignItems: 'center',
75
+ width: '100%',
76
+ textAlign: 'center',
77
+ } },
78
+ logoSource && (React.createElement(Image, { src: logoSource, alt: 'Logo', width: 14, height: 14 })),
79
+ React.createElement(Typography, { variant: 'caption', style: {
80
+ alignSelf: 'center',
81
+ color: muiTheme.palette.text.secondary,
82
+ marginLeft: '5px',
83
+ } },
84
+ React.createElement("a", { href: textURL, target: '_blank', rel: 'noreferrer', style: {
85
+ textDecoration: 'none',
86
+ color: muiTheme.palette.text.secondary,
87
+ } }, text))),
88
+ React.createElement(Typography, { variant: 'caption', style: {
89
+ alignSelf: 'center',
90
+ color: muiTheme.palette.text.secondary,
91
+ marginLeft: '5px',
92
+ } },
93
+ packageInfo.name,
94
+ " v",
95
+ packageInfo.version,
96
+ ' ',
97
+ apiInfo ? "(".concat(apiInfo.name, " ").concat(apiInfo.version, ")") : ''),
98
+ children)));
99
+ };
100
+ export default Footer;
@@ -0,0 +1,23 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { Variant } from '@mui/material/styles/createTypography';
3
+ import { Locale, StringTranslation } from '../../../../types/languages';
4
+ export interface SidebarLink {
5
+ id: string;
6
+ path: string;
7
+ label?: StringTranslation;
8
+ labelVariant?: Variant;
9
+ sidebarOrder: number;
10
+ sidebarIcon?: (color: string) => ReactElement;
11
+ subPages?: SidebarLink[];
12
+ }
13
+ interface SidebarProps {
14
+ links: SidebarLink[];
15
+ open: boolean;
16
+ isMobile: boolean;
17
+ logo?: ReactElement;
18
+ locale: Locale;
19
+ onClose: () => void;
20
+ }
21
+ declare const Sidebar: React.FC<SidebarProps>;
22
+ export default Sidebar;
23
+ //# sourceMappingURL=Sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAY,MAAM,OAAO,CAAC;AAuBtD,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9C,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AACD,UAAU,YAAY;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA+UnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,206 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React, { useState } from 'react';
13
+ import ArrowRightOutlinedIcon from '@mui/icons-material/ArrowRightOutlined';
14
+ import ExpandLessIcon from '@mui/icons-material/ExpandLess';
15
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
16
+ import { Collapse, Drawer, IconButton, List, ListItemButton, ListItemIcon, ListItemText, Menu, MenuItem, Tooltip, Typography, } from '@mui/material';
17
+ import { useTheme as useMUITheme } from '@mui/material/styles';
18
+ import Link from 'next/link';
19
+ import { useRouter } from 'next/router';
20
+ import { usePersistedState } from '../../../../utils/hooks/usePersistedState';
21
+ var Sidebar = function (_a) {
22
+ var links = _a.links, open = _a.open, isMobile = _a.isMobile, logo = _a.logo, locale = _a.locale, onClose = _a.onClose;
23
+ var muiTheme = useMUITheme();
24
+ var pathname = useRouter().pathname;
25
+ // Handle default item icon and change color according to selection
26
+ var icons = function (link, selected) {
27
+ var color = selected
28
+ ? muiTheme.palette.primary.main
29
+ : muiTheme.palette.linkNotActive.main;
30
+ return (React.createElement(ListItemIcon, { color: color }, link.sidebarIcon ? (link.sidebarIcon(color)) : (React.createElement(ArrowRightOutlinedIcon, { htmlColor: color }))));
31
+ };
32
+ // Persist which items of the sidebar are open to avoid resetting on page change
33
+ var _b = usePersistedState('sidebarItemOpen', {}), sidebarItemOpen = _b[0], setSidebarItemOpen = _b[1];
34
+ var handleOpenSidebarItem = function (item) {
35
+ var oldOpenState = __assign({}, sidebarItemOpen);
36
+ oldOpenState[item] =
37
+ oldOpenState[item] === undefined ? true : !oldOpenState[item];
38
+ setSidebarItemOpen(oldOpenState);
39
+ };
40
+ var _c = useState({}), subPagesMenuAnchorEl = _c[0], setSubPagesMenuAnchorEl = _c[1];
41
+ var handleOpenSidebarMenu = function (sidebarItemId, event) {
42
+ var _a;
43
+ setSubPagesMenuAnchorEl(__assign(__assign({}, subPagesMenuAnchorEl), (_a = {}, _a[sidebarItemId] = event.currentTarget, _a)));
44
+ };
45
+ var handleCloseSidebarMenu = function (sidebarItemId) {
46
+ var _a;
47
+ setSubPagesMenuAnchorEl(__assign(__assign({}, subPagesMenuAnchorEl), (_a = {}, _a[sidebarItemId] = null, _a)));
48
+ };
49
+ // Function to generate sidebar items. To be called recursively
50
+ var handler = function (links, options) {
51
+ if (open) {
52
+ // Render all items with their labels
53
+ return links
54
+ .sort(function (a, b) {
55
+ if (a.sidebarOrder === undefined || b.sidebarOrder === undefined) {
56
+ return 1;
57
+ }
58
+ else {
59
+ return a.sidebarOrder > b.sidebarOrder ? 1 : -1;
60
+ }
61
+ })
62
+ .map(function (link) {
63
+ var selected = link.path === '/'
64
+ ? pathname === '/'
65
+ : pathname.slice(1).startsWith(link.path.slice(1));
66
+ if (!link.subPages) {
67
+ return (React.createElement(Link, { key: link.id, href: link.path },
68
+ React.createElement(ListItemButton, { selected: selected, style: {
69
+ paddingLeft: options.level === 1 && open ? '32px' : '22px',
70
+ paddingTop: options.level === 1 ? 0 : 8,
71
+ paddingBottom: options.level === 1 ? 0 : 8,
72
+ borderTopRightRadius: '20px',
73
+ borderBottomRightRadius: '20px',
74
+ } },
75
+ icons(link, selected),
76
+ React.createElement(ListItemText, { style: {
77
+ color: selected
78
+ ? "".concat(muiTheme.palette.primary.main, " !important")
79
+ : "".concat(muiTheme.palette.linkNotActive.main, " !important"),
80
+ marginLeft: '-20px',
81
+ visibility: 'visible',
82
+ }, disableTypography: true, primary: React.createElement(Typography, { variant: link.labelVariant || 'h6', style: selected
83
+ ? { color: muiTheme.palette.primary.main }
84
+ : { color: muiTheme.palette.linkNotActive.main } }, link.label ? link.label[locale] : 'unknown') }))));
85
+ }
86
+ return (React.createElement("div", { key: link.id },
87
+ React.createElement(Link, { href: link.path },
88
+ React.createElement(ListItemButton, { key: link.id, selected: selected, style: {
89
+ paddingLeft: '22px',
90
+ paddingTop: 8,
91
+ paddingBottom: 8,
92
+ borderTopRightRadius: '20px',
93
+ borderBottomRightRadius: '20px',
94
+ }, onClick: function (_evt) {
95
+ if (!sidebarItemOpen[link.id]) {
96
+ handleOpenSidebarItem(link.id);
97
+ }
98
+ } },
99
+ icons(link, selected),
100
+ React.createElement(ListItemText, { style: {
101
+ color: selected
102
+ ? "".concat(muiTheme.palette.primary.main, " !important")
103
+ : "".concat(muiTheme.palette.linkNotActive.main, " !important"),
104
+ marginLeft: '-20px',
105
+ visibility: 'visible',
106
+ }, disableTypography: true, primary: React.createElement(Typography, { variant: link.labelVariant || 'h6', style: selected
107
+ ? { color: muiTheme.palette.primary.main }
108
+ : { color: muiTheme.palette.linkNotActive.main } }, link.label ? link.label[locale] : 'unknown') }),
109
+ sidebarItemOpen[link.id] ? (React.createElement(IconButton, { onClick: function (e) {
110
+ e.stopPropagation();
111
+ handleOpenSidebarItem(link.id);
112
+ } },
113
+ React.createElement(ExpandLessIcon, null))) : (React.createElement(IconButton, { onClick: function (e) {
114
+ e.stopPropagation();
115
+ handleOpenSidebarItem(link.id);
116
+ } },
117
+ React.createElement(ExpandMoreIcon, null))))),
118
+ React.createElement(Collapse, { in: sidebarItemOpen[link.id], timeout: 'auto', unmountOnExit: true }, handler(link.subPages, { level: 1 }))));
119
+ });
120
+ }
121
+ else {
122
+ // Return only level 0 items and show level 1 items in a menu
123
+ return (links
124
+ .sort(function (a, b) {
125
+ if (a.sidebarOrder === undefined || b.sidebarOrder === undefined) {
126
+ return 1;
127
+ }
128
+ else {
129
+ return a.sidebarOrder > b.sidebarOrder ? 1 : -1;
130
+ }
131
+ })
132
+ // .filter((l) => l.id !== 'settings')
133
+ .map(function (link) {
134
+ var _a, _b;
135
+ var selected = link.path === '/'
136
+ ? pathname === '/'
137
+ : pathname.slice(1).startsWith(link.path.slice(1));
138
+ if (link.subPages) {
139
+ return (React.createElement("div", { key: link.id },
140
+ React.createElement(ListItemButton, { selected: selected, style: {
141
+ paddingLeft: '22px',
142
+ paddingTop: 8,
143
+ paddingBottom: 8,
144
+ borderTopRightRadius: '20px',
145
+ borderBottomRightRadius: '20px',
146
+ }, onClick: function (evt) { return handleOpenSidebarMenu(link.id, evt); } },
147
+ React.createElement(Tooltip, { title: (((_a = link.label) === null || _a === void 0 ? void 0 : _a[locale]) ? link.label[locale] : '') || '', placement: 'right', enterDelay: 600, enterNextDelay: 600, arrow: true }, icons(link, selected))),
148
+ React.createElement(Menu, { id: "".concat(link.id, "-subpages-menu"), anchorEl: subPagesMenuAnchorEl[link.id], open: Boolean(subPagesMenuAnchorEl[link.id]), onClose: function (_evt) { return handleCloseSidebarMenu(link.id); }, anchorOrigin: {
149
+ vertical: 'top',
150
+ horizontal: 'right',
151
+ }, transformOrigin: {
152
+ vertical: 'top',
153
+ horizontal: 'left',
154
+ }, PaperProps: {
155
+ sx: {
156
+ borderRadius: '2px',
157
+ padding: '2px',
158
+ overflow: 'visible',
159
+ },
160
+ } }, link.subPages.map(function (subPage) { return (React.createElement(Link, { key: subPage.id, href: subPage.path },
161
+ React.createElement(MenuItem, null,
162
+ icons(subPage, selected),
163
+ React.createElement(ListItemText, { style: {
164
+ color: selected
165
+ ? "".concat(muiTheme.palette.primary.main, " !important")
166
+ : "".concat(muiTheme.palette.linkNotActive.main, " !important"),
167
+ } }, subPage.label ? subPage.label[locale] : 'unknown')))); }))));
168
+ }
169
+ else {
170
+ return (React.createElement(Link, { key: link.id, href: link.path },
171
+ React.createElement(ListItemButton, { selected: selected, style: {
172
+ paddingLeft: '22px',
173
+ paddingTop: 8,
174
+ paddingBottom: 8,
175
+ borderTopRightRadius: '20px',
176
+ borderBottomRightRadius: '20px',
177
+ } },
178
+ React.createElement(Tooltip, { title: (((_b = link.label) === null || _b === void 0 ? void 0 : _b[locale]) ? link.label[locale] : '') || '', placement: 'right', enterDelay: 600, enterNextDelay: 600, arrow: true }, icons(link, selected)))));
179
+ }
180
+ }));
181
+ }
182
+ };
183
+ return (React.createElement(Drawer, { anchor: 'left', onClose: onClose, open: open, variant: isMobile ? 'temporary' : 'permanent', sx: {
184
+ flexShrink: 0,
185
+ whiteSpace: 'nowrap',
186
+ height: '100%',
187
+ width: {
188
+ xs: open ? '65%' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
189
+ sm: open ? '50%' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
190
+ md: open ? '300px' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
191
+ },
192
+ }, PaperProps: {
193
+ sx: {
194
+ pr: 1,
195
+ width: {
196
+ xs: open ? '65%' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
197
+ sm: open ? '50%' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
198
+ md: open ? '300px' : "".concat(parseInt(muiTheme.spacing(9), 10) + 1, "px"),
199
+ },
200
+ },
201
+ } },
202
+ React.createElement(List, { style: { marginTop: '19px' } }, handler(links, { level: 0 })),
203
+ React.createElement("div", { style: { flexGrow: 1 } }),
204
+ logo));
205
+ };
206
+ export default Sidebar;
@@ -0,0 +1,7 @@
1
+ import { ReactElement } from 'react';
2
+ interface ElevationScrollProps {
3
+ children: ReactElement;
4
+ }
5
+ declare const ElevationScroll: ({ children }: ElevationScrollProps) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
6
+ export default ElevationScroll;
7
+ //# sourceMappingURL=ElevationScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElevationScroll.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/Topbar/ElevationScroll.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEnD,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,QAAA,MAAM,eAAe,iBAAkB,oBAAoB,2EAS1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import useScrollTrigger from '@mui/material/useScrollTrigger';
2
+ import { cloneElement } from 'react';
3
+ var ElevationScroll = function (_a) {
4
+ var children = _a.children;
5
+ var trigger = useScrollTrigger({
6
+ disableHysteresis: true,
7
+ threshold: 0,
8
+ });
9
+ return cloneElement(children, {
10
+ elevation: trigger ? 2 : 0,
11
+ });
12
+ };
13
+ export default ElevationScroll;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { Locale } from '../../../../types/languages';
3
+ interface TopbarProps {
4
+ open: boolean;
5
+ locale: Locale;
6
+ onClose: () => void;
7
+ onOpen: () => void;
8
+ logoutUrl?: string;
9
+ accountSettingsUrl?: string;
10
+ }
11
+ declare const Topbar: React.FC<TopbarProps>;
12
+ export default Topbar;
13
+ //# sourceMappingURL=Topbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/Topbar/Topbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0DjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,46 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { useTheme } from 'next-themes';
14
+ import MenuOpenTwoToneIcon from '@mui/icons-material/MenuOpenTwoTone';
15
+ import MenuTwoToneIcon from '@mui/icons-material/MenuTwoTone';
16
+ import ModeNightIcon from '@mui/icons-material/ModeNight';
17
+ import { IconButton, Toolbar, Tooltip, useTheme as useMUITheme, } from '@mui/material';
18
+ import { LanguageSelect } from '../../../buttons';
19
+ import Avatar from '../../../buttons/Avatar/Avatar';
20
+ import ElevationScroll from './ElevationScroll';
21
+ import * as S from './Topbar.styles';
22
+ import t from './translations.json';
23
+ var Topbar = function (props) {
24
+ var onClose = props.onClose, onOpen = props.onOpen, open = props.open, locale = props.locale, logoutUrl = props.logoutUrl, accountSettingsUrl = props.accountSettingsUrl;
25
+ var _a = useTheme(), resolvedTheme = _a.resolvedTheme, setTheme = _a.setTheme;
26
+ var muiTheme = useMUITheme();
27
+ var SidebarIcon = open ? (React.createElement(MenuOpenTwoToneIcon, { color: 'primary' })) : (React.createElement(MenuTwoToneIcon, { color: 'primary' }));
28
+ var menuMessage = open ? t['menuClose'][locale] : t['menuOpen'][locale];
29
+ return (React.createElement(ElevationScroll, __assign({}, props),
30
+ React.createElement(S.StyledAppBar, { position: 'static', theme: muiTheme },
31
+ React.createElement(Toolbar, null,
32
+ React.createElement(Tooltip, { title: menuMessage, arrow: true },
33
+ React.createElement(IconButton, { color: 'inherit', "aria-label": 'open drawer', onClick: function () { return (open ? onClose() : onOpen()); }, edge: 'start' }, SidebarIcon)),
34
+ React.createElement("div", { style: { flexGrow: 1 } }),
35
+ React.createElement(LanguageSelect, { locale: locale }),
36
+ React.createElement(IconButton, { component: 'span', "aria-label": 'user options' },
37
+ React.createElement(Avatar, { logoutUrl: logoutUrl, accountSettingsUrl: accountSettingsUrl })),
38
+ React.createElement(Tooltip, { title: resolvedTheme === 'light'
39
+ ? t['enableDark'][locale]
40
+ : t['disableDark'][locale] },
41
+ React.createElement(IconButton, { component: 'span', "aria-label": 'toggle dark mode', onClick: function () {
42
+ return setTheme(resolvedTheme === 'light' ? 'dark' : 'light');
43
+ } },
44
+ React.createElement(ModeNightIcon, null)))))));
45
+ };
46
+ export default Topbar;
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { Theme } from '@mui/material';
3
+ interface AppBarProps {
4
+ theme: Theme;
5
+ }
6
+ export declare const StyledAppBar: import("@emotion/styled").StyledComponent<Omit<import("@mui/material").PaperProps<"div", {}>, "classes" | "color" | "position"> & {
7
+ classes?: Partial<import("@mui/material").AppBarClasses> | undefined;
8
+ color?: "inherit" | "default" | "transparent" | "primary" | "secondary" | undefined;
9
+ enableColorOnDark?: boolean | undefined;
10
+ position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
11
+ sx?: import("@mui/material").SxProps<Theme> | undefined;
12
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "key" | keyof import("react").HTMLAttributes<HTMLElement>> & {
13
+ ref?: ((instance: HTMLElement | null) => void) | import("react").RefObject<HTMLElement> | null | undefined;
14
+ }, "onError" | "ref" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | keyof import("@mui/material/OverridableComponent").CommonProps | "sx" | "key" | "elevation" | "square" | "variant" | "position" | "enableColorOnDark"> & {
15
+ theme?: import("@emotion/react").Theme | undefined;
16
+ } & AppBarProps, {}, {}>;
17
+ export {};
18
+ //# sourceMappingURL=Topbar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Topbar.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/Topbar/Topbar.styles.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,YAAY;;;;;;;;;;wBAOxB,CAAC"}
@@ -0,0 +1,8 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import styled from '@emotion/styled';
6
+ import AppBar from '@mui/material/AppBar';
7
+ export var StyledAppBar = styled(AppBar)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n && {\n @supports (backdrop-filter: saturate(180%) blur(35px)) {\n background-color: ", ";\n backdrop-filter: saturate(180%) blur(35px);\n }\n }\n"], ["\n && {\n @supports (backdrop-filter: saturate(180%) blur(35px)) {\n background-color: ", ";\n backdrop-filter: saturate(180%) blur(35px);\n }\n }\n"])), function (props) { return props.theme.palette.topbar.main; });
8
+ var templateObject_1;
@@ -0,0 +1,26 @@
1
+ {
2
+ "menuOpen": {
3
+ "de": "Menü öffnen",
4
+ "en": "Open menu",
5
+ "fr": "Ouvrir le menu",
6
+ "it": "Apri menu"
7
+ },
8
+ "menuClose": {
9
+ "de": "Menü schließen",
10
+ "en": "Close menu",
11
+ "fr": "Fermer le menu",
12
+ "it": "Chiudi menu"
13
+ },
14
+ "enableDark": {
15
+ "de": "Dark-Mode aktivieren",
16
+ "en": "Enable dark mode",
17
+ "fr": "Activer le mode sombre",
18
+ "it": "Attiva modalità scura"
19
+ },
20
+ "disableDark": {
21
+ "de": "Dark-Mode deaktivieren",
22
+ "en": "Disable dark mode",
23
+ "fr": "Désactiver le mode sombre",
24
+ "it": "Disattiva modalità scura"
25
+ }
26
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ declare const TopLine: React.FC<Record<string, never>>;
3
+ export default TopLine;
4
+ //# sourceMappingURL=TopLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopLine.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/Topline/TopLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAa5C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { useTheme } from '@mui/material';
3
+ var TopLine = function () {
4
+ var theme = useTheme();
5
+ return (React.createElement("div", { style: {
6
+ height: '3px',
7
+ width: '100%',
8
+ zIndex: 9999,
9
+ position: 'fixed',
10
+ background: theme.palette.gradient.main,
11
+ } }));
12
+ };
13
+ export default TopLine;
@@ -0,0 +1,3 @@
1
+ export { default as StandardLayout } from './StandardLayout/StandardLayout';
2
+ export { default as MinimalLayout } from './MinimalLayout/MinimalLayout';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default as StandardLayout } from './StandardLayout/StandardLayout';
2
+ export { default as MinimalLayout } from './MinimalLayout/MinimalLayout';
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Locale } from '../../../types/languages';
3
+ interface CircularLoadingProps {
4
+ locale?: Locale;
5
+ }
6
+ declare const CircularLoading: React.FC<CircularLoadingProps>;
7
+ export default CircularLoading;
8
+ //# sourceMappingURL=CircularLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularLoading.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/CircularLoading/CircularLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAenD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Box, CircularProgress, Typography } from '@mui/material';
3
+ import t from './translations.json';
4
+ var CircularLoading = function (_a) {
5
+ var _b = _a.locale, locale = _b === void 0 ? 'en' : _b;
6
+ return (React.createElement(Box, { sx: {
7
+ display: 'flex',
8
+ flexDirection: 'column',
9
+ alignItems: 'center',
10
+ justifyContent: 'center',
11
+ height: '100%',
12
+ } },
13
+ React.createElement(CircularProgress, null),
14
+ React.createElement(Typography, { variant: 'body1' }, t['loading'][locale])));
15
+ };
16
+ export default CircularLoading;
@@ -0,0 +1,8 @@
1
+ {
2
+ "loading": {
3
+ "de": "Loading...",
4
+ "en": "Loading...",
5
+ "fr": "Chargement...",
6
+ "it": "Caricamento in corso..."
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Locale } from '../../../types/languages';
3
+ interface DotWaveLoadingProps {
4
+ locale?: Locale;
5
+ }
6
+ declare const DotWaveLoading: React.FC<DotWaveLoadingProps>;
7
+ export default DotWaveLoading;
8
+ //# sourceMappingURL=DotWaveLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotWaveLoading.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/DotWaveLoading/DotWaveLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkBjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { Box, Typography, useTheme } from '@mui/material';
3
+ import { DotWave as UiBallDotWave } from '@uiball/loaders';
4
+ import t from './translations.json';
5
+ var DotWaveLoading = function (_a) {
6
+ var _b = _a.locale, locale = _b === void 0 ? 'en' : _b;
7
+ var theme = useTheme();
8
+ return (React.createElement(Box, { sx: {
9
+ display: 'flex',
10
+ flexDirection: 'column',
11
+ alignItems: 'center',
12
+ justifyContent: 'center',
13
+ height: '100%',
14
+ } },
15
+ React.createElement(UiBallDotWave, { color: theme.palette.primary.main }),
16
+ React.createElement(Typography, { variant: 'body1' }, t['loading'][locale])));
17
+ };
18
+ export default DotWaveLoading;
@@ -0,0 +1,8 @@
1
+ {
2
+ "loading": {
3
+ "de": "Loading...",
4
+ "en": "Loading...",
5
+ "fr": "Chargement...",
6
+ "it": "Caricamento in corso..."
7
+ }
8
+ }
@@ -0,0 +1,3 @@
1
+ export { default as CircularLoading } from './CircularLoading/CircularLoading';
2
+ export { default as DotWaveLoading } from './DotWaveLoading/DotWaveLoading';
3
+ //# sourceMappingURL=index.d.ts.map