@ziky/ui 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 (83) hide show
  1. package/README.md +34 -0
  2. package/dist/index.d.ts +20 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +50 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/layout/AppConfig.d.ts +4 -0
  7. package/dist/layout/AppConfig.d.ts.map +1 -0
  8. package/dist/layout/AppConfig.js +83 -0
  9. package/dist/layout/AppConfig.js.map +1 -0
  10. package/dist/layout/AppFooter.d.ts +3 -0
  11. package/dist/layout/AppFooter.d.ts.map +1 -0
  12. package/dist/layout/AppFooter.js +11 -0
  13. package/dist/layout/AppFooter.js.map +1 -0
  14. package/dist/layout/AppMenu.d.ts +7 -0
  15. package/dist/layout/AppMenu.d.ts.map +1 -0
  16. package/dist/layout/AppMenu.js +16 -0
  17. package/dist/layout/AppMenu.js.map +1 -0
  18. package/dist/layout/AppMenuitem.d.ts +4 -0
  19. package/dist/layout/AppMenuitem.d.ts.map +1 -0
  20. package/dist/layout/AppMenuitem.js +55 -0
  21. package/dist/layout/AppMenuitem.js.map +1 -0
  22. package/dist/layout/AppSidebar.d.ts +7 -0
  23. package/dist/layout/AppSidebar.d.ts.map +1 -0
  24. package/dist/layout/AppSidebar.js +12 -0
  25. package/dist/layout/AppSidebar.js.map +1 -0
  26. package/dist/layout/AppTopbar.d.ts +5 -0
  27. package/dist/layout/AppTopbar.d.ts.map +1 -0
  28. package/dist/layout/AppTopbar.js +93 -0
  29. package/dist/layout/AppTopbar.js.map +1 -0
  30. package/dist/layout/RidinAdminLayout.d.ts +4 -0
  31. package/dist/layout/RidinAdminLayout.d.ts.map +1 -0
  32. package/dist/layout/RidinAdminLayout.js +9 -0
  33. package/dist/layout/RidinAdminLayout.js.map +1 -0
  34. package/dist/layout/RidinAdminLayoutContext.d.ts +3 -0
  35. package/dist/layout/RidinAdminLayoutContext.d.ts.map +1 -0
  36. package/dist/layout/RidinAdminLayoutContext.js +7 -0
  37. package/dist/layout/RidinAdminLayoutContext.js.map +1 -0
  38. package/dist/layout/SakaiLayout.d.ts +4 -0
  39. package/dist/layout/SakaiLayout.d.ts.map +1 -0
  40. package/dist/layout/SakaiLayout.js +13 -0
  41. package/dist/layout/SakaiLayout.js.map +1 -0
  42. package/dist/layout/context/layoutcontext.d.ts +5 -0
  43. package/dist/layout/context/layoutcontext.d.ts.map +1 -0
  44. package/dist/layout/context/layoutcontext.js +67 -0
  45. package/dist/layout/context/layoutcontext.js.map +1 -0
  46. package/dist/layout/context/menucontext.d.ts +5 -0
  47. package/dist/layout/context/menucontext.d.ts.map +1 -0
  48. package/dist/layout/context/menucontext.js +16 -0
  49. package/dist/layout/context/menucontext.js.map +1 -0
  50. package/dist/layout/layout.d.ts +8 -0
  51. package/dist/layout/layout.d.ts.map +1 -0
  52. package/dist/layout/layout.js +146 -0
  53. package/dist/layout/layout.js.map +1 -0
  54. package/dist/menu/adminMenu.d.ts +30 -0
  55. package/dist/menu/adminMenu.d.ts.map +1 -0
  56. package/dist/menu/adminMenu.js +65 -0
  57. package/dist/menu/adminMenu.js.map +1 -0
  58. package/dist/providers/RidinProviders.d.ts +5 -0
  59. package/dist/providers/RidinProviders.d.ts.map +1 -0
  60. package/dist/providers/RidinProviders.js +12 -0
  61. package/dist/providers/RidinProviders.js.map +1 -0
  62. package/dist/styles/index.d.ts +6 -0
  63. package/dist/styles/index.d.ts.map +1 -0
  64. package/dist/styles/index.js +8 -0
  65. package/dist/styles/index.js.map +1 -0
  66. package/dist/styles/index.ts +5 -0
  67. package/dist/styles/layout/_config.scss +54 -0
  68. package/dist/styles/layout/_content.scss +17 -0
  69. package/dist/styles/layout/_footer.scss +10 -0
  70. package/dist/styles/layout/_main.scss +27 -0
  71. package/dist/styles/layout/_menu.scss +159 -0
  72. package/dist/styles/layout/_mixins.scss +13 -0
  73. package/dist/styles/layout/_responsive.scss +101 -0
  74. package/dist/styles/layout/_topbar.scss +152 -0
  75. package/dist/styles/layout/_typography.scss +65 -0
  76. package/dist/styles/layout/_utils.scss +40 -0
  77. package/dist/styles/layout/_variables.scss +3 -0
  78. package/dist/styles/layout/layout.scss +11 -0
  79. package/dist/types.d.ts +89 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +3 -0
  82. package/dist/types.js.map +1 -0
  83. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SakaiLayout.d.ts","sourceRoot":"","sources":["../../src/layout/SakaiLayout.tsx"],"names":[],"mappings":"AACA,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAMlD"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SakaiLayout = SakaiLayout;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const layout_1 = __importDefault(require("./layout"));
9
+ const layoutcontext_1 = require("./context/layoutcontext");
10
+ function SakaiLayout(props) {
11
+ return ((0, jsx_runtime_1.jsx)(layoutcontext_1.LayoutProvider, { children: (0, jsx_runtime_1.jsx)(layout_1.default, { ...props }) }));
12
+ }
13
+ //# sourceMappingURL=SakaiLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SakaiLayout.js","sourceRoot":"","sources":["../../src/layout/SakaiLayout.tsx"],"names":[],"mappings":";;;;;AAMA,kCAMC;;AAXD,sDAAoD;AACpD,2DAAyD;AAIzD,SAAgB,WAAW,CAAC,KAAuB;IACjD,OAAO,CACL,uBAAC,8BAAc,cACb,uBAAC,gBAAM,OAAK,KAAK,GAAI,GACN,CAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { ChildContainerProps, LayoutContextProps } from "../../types";
3
+ export declare const LayoutContext: React.Context<LayoutContextProps>;
4
+ export declare const LayoutProvider: ({ children }: ChildContainerProps) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=layoutcontext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutcontext.d.ts","sourceRoot":"","sources":["../../../src/layout/context/layoutcontext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,eAAO,MAAM,aAAa,mCAA0C,CAAC;AAErE,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,4CAmE/D,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LayoutProvider = exports.LayoutContext = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ exports.LayoutContext = (0, react_1.createContext)({});
7
+ const LayoutProvider = ({ children }) => {
8
+ const [layoutConfig, setLayoutConfig] = (0, react_1.useState)({
9
+ ripple: false,
10
+ inputStyle: "outlined",
11
+ menuMode: "static",
12
+ colorScheme: "light",
13
+ theme: "lara-light-indigo",
14
+ scale: 14,
15
+ });
16
+ const [layoutState, setLayoutState] = (0, react_1.useState)({
17
+ staticMenuDesktopInactive: false,
18
+ overlayMenuActive: false,
19
+ profileSidebarVisible: false,
20
+ configSidebarVisible: false,
21
+ staticMenuMobileActive: false,
22
+ menuHoverActive: false,
23
+ });
24
+ const onMenuToggle = () => {
25
+ if (isOverlay()) {
26
+ setLayoutState((prevLayoutState) => ({
27
+ ...prevLayoutState,
28
+ overlayMenuActive: !prevLayoutState.overlayMenuActive,
29
+ }));
30
+ }
31
+ if (isDesktop()) {
32
+ setLayoutState((prevLayoutState) => ({
33
+ ...prevLayoutState,
34
+ staticMenuDesktopInactive: !prevLayoutState.staticMenuDesktopInactive,
35
+ }));
36
+ }
37
+ else {
38
+ setLayoutState((prevLayoutState) => ({
39
+ ...prevLayoutState,
40
+ staticMenuMobileActive: !prevLayoutState.staticMenuMobileActive,
41
+ }));
42
+ }
43
+ };
44
+ const showProfileSidebar = () => {
45
+ setLayoutState((prevLayoutState) => ({
46
+ ...prevLayoutState,
47
+ profileSidebarVisible: !prevLayoutState.profileSidebarVisible,
48
+ }));
49
+ };
50
+ const isOverlay = () => {
51
+ return layoutConfig.menuMode === "overlay";
52
+ };
53
+ const isDesktop = () => {
54
+ return window.innerWidth > 991;
55
+ };
56
+ const value = {
57
+ layoutConfig,
58
+ setLayoutConfig,
59
+ layoutState,
60
+ setLayoutState,
61
+ onMenuToggle,
62
+ showProfileSidebar,
63
+ };
64
+ return ((0, jsx_runtime_1.jsx)(exports.LayoutContext.Provider, { value: value, children: children }));
65
+ };
66
+ exports.LayoutProvider = LayoutProvider;
67
+ //# sourceMappingURL=layoutcontext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutcontext.js","sourceRoot":"","sources":["../../../src/layout/context/layoutcontext.tsx"],"names":[],"mappings":";;;;AAAA,iCAAuD;AAO1C,QAAA,aAAa,GAAG,IAAA,qBAAa,EAAC,EAAwB,CAAC,CAAC;AAE9D,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAuB,EAAE,EAAE;IAClE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAe;QAC7D,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAc;QAC1D,yBAAyB,EAAE,KAAK;QAChC,iBAAiB,EAAE,KAAK;QACxB,qBAAqB,EAAE,KAAK;QAC5B,oBAAoB,EAAE,KAAK;QAC3B,sBAAsB,EAAE,KAAK;QAC7B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,eAAe;gBAClB,iBAAiB,EAAE,CAAC,eAAe,CAAC,iBAAiB;aACtD,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,eAAe;gBAClB,yBAAyB,EAAE,CAAC,eAAe,CAAC,yBAAyB;aACtE,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,eAAe;gBAClB,sBAAsB,EAAE,CAAC,eAAe,CAAC,sBAAsB;aAChE,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,eAAe;YAClB,qBAAqB,EAAE,CAAC,eAAe,CAAC,qBAAqB;SAC9D,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,OAAO,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,OAAO,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAuB;QAChC,YAAY;QACZ,eAAe;QACf,WAAW;QACX,cAAc;QACd,YAAY;QACZ,kBAAkB;KACnB,CAAC;IAEF,OAAO,CACL,uBAAC,qBAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAC1E,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,cAAc,kBAmEzB"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { ChildContainerProps, MenuContextProps } from "../../types";
3
+ export declare const MenuContext: React.Context<MenuContextProps>;
4
+ export declare const MenuProvider: ({ children }: ChildContainerProps) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=menucontext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menucontext.d.ts","sourceRoot":"","sources":["../../../src/layout/context/menucontext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,WAAW,iCAAwC,CAAC;AAEjE,eAAO,MAAM,YAAY,GAAI,cAAc,mBAAmB,4CAS7D,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuProvider = exports.MenuContext = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ exports.MenuContext = (0, react_1.createContext)({});
7
+ const MenuProvider = ({ children }) => {
8
+ const [activeMenu, setActiveMenu] = (0, react_1.useState)("");
9
+ const value = {
10
+ activeMenu,
11
+ setActiveMenu,
12
+ };
13
+ return (0, jsx_runtime_1.jsx)(exports.MenuContext.Provider, { value: value, children: children });
14
+ };
15
+ exports.MenuProvider = MenuProvider;
16
+ //# sourceMappingURL=menucontext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menucontext.js","sourceRoot":"","sources":["../../../src/layout/context/menucontext.tsx"],"names":[],"mappings":";;;;AAAA,iCAAuD;AAG1C,QAAA,WAAW,GAAG,IAAA,qBAAa,EAAC,EAAsB,CAAC,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAuB,EAAE,EAAE;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG;QACZ,UAAU;QACV,aAAa;KACd,CAAC;IAEF,OAAO,uBAAC,mBAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAwB,CAAC;AAC/E,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
@@ -0,0 +1,8 @@
1
+ import type { AppMenuItem, AppTopbarProps, ChildContainerProps } from "../types";
2
+ export type LayoutProps = ChildContainerProps & {
3
+ menuModel: AppMenuItem[];
4
+ topbarProps?: AppTopbarProps;
5
+ };
6
+ declare const Layout: ({ children, menuModel, topbarProps }: LayoutProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default Layout;
8
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/layout/layout.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG;IAC9C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,MAAM,GAAI,sCAAsC,WAAW,4CAwIhE,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ /* eslint-disable react-hooks/exhaustive-deps */
41
+ const hooks_1 = require("primereact/hooks");
42
+ const react_1 = __importStar(require("react"));
43
+ const utils_1 = require("primereact/utils");
44
+ const AppFooter_1 = __importDefault(require("./AppFooter"));
45
+ const AppSidebar_1 = __importDefault(require("./AppSidebar"));
46
+ const AppTopbar_1 = __importDefault(require("./AppTopbar"));
47
+ const AppConfig_1 = __importDefault(require("./AppConfig"));
48
+ const layoutcontext_1 = require("./context/layoutcontext");
49
+ const api_1 = require("primereact/api");
50
+ const react_router_dom_1 = require("react-router-dom");
51
+ const Layout = ({ children, menuModel, topbarProps }) => {
52
+ const { layoutConfig, layoutState, setLayoutState } = (0, react_1.useContext)(layoutcontext_1.LayoutContext);
53
+ const { setRipple } = (0, react_1.useContext)(api_1.PrimeReactContext);
54
+ const topbarRef = (0, react_1.useRef)(null);
55
+ const sidebarRef = (0, react_1.useRef)(null);
56
+ const [bindMenuOutsideClickListener, unbindMenuOutsideClickListener] = (0, hooks_1.useEventListener)({
57
+ type: "click",
58
+ listener: (event) => {
59
+ const isOutsideClicked = !(sidebarRef.current?.isSameNode(event.target) ||
60
+ sidebarRef.current?.contains(event.target) ||
61
+ topbarRef.current?.menubutton?.isSameNode(event.target) ||
62
+ topbarRef.current?.menubutton?.contains(event.target));
63
+ if (isOutsideClicked) {
64
+ hideMenu();
65
+ }
66
+ },
67
+ });
68
+ const location = (0, react_router_dom_1.useLocation)();
69
+ (0, react_1.useEffect)(() => {
70
+ hideMenu();
71
+ hideProfileMenu();
72
+ }, [location.pathname, location.search]);
73
+ const [bindProfileMenuOutsideClickListener, unbindProfileMenuOutsideClickListener,] = (0, hooks_1.useEventListener)({
74
+ type: "click",
75
+ listener: (event) => {
76
+ const isOutsideClicked = !(topbarRef.current?.topbarmenu?.isSameNode(event.target) ||
77
+ topbarRef.current?.topbarmenu?.contains(event.target) ||
78
+ topbarRef.current?.topbarmenubutton?.isSameNode(event.target) ||
79
+ topbarRef.current?.topbarmenubutton?.contains(event.target));
80
+ if (isOutsideClicked) {
81
+ hideProfileMenu();
82
+ }
83
+ },
84
+ });
85
+ const hideMenu = () => {
86
+ setLayoutState((prevLayoutState) => ({
87
+ ...prevLayoutState,
88
+ overlayMenuActive: false,
89
+ staticMenuMobileActive: false,
90
+ menuHoverActive: false,
91
+ }));
92
+ unbindMenuOutsideClickListener();
93
+ unblockBodyScroll();
94
+ };
95
+ const hideProfileMenu = () => {
96
+ setLayoutState((prevLayoutState) => ({
97
+ ...prevLayoutState,
98
+ profileSidebarVisible: false,
99
+ }));
100
+ unbindProfileMenuOutsideClickListener();
101
+ };
102
+ const blockBodyScroll = () => {
103
+ if (document.body.classList) {
104
+ document.body.classList.add("blocked-scroll");
105
+ }
106
+ else {
107
+ document.body.className += " blocked-scroll";
108
+ }
109
+ };
110
+ const unblockBodyScroll = () => {
111
+ if (document.body.classList) {
112
+ document.body.classList.remove("blocked-scroll");
113
+ }
114
+ else {
115
+ document.body.className = document.body.className.replace(new RegExp("(^|\\b)" + "blocked-scroll".split(" ").join("|") + "(\\b|$)", "gi"), " ");
116
+ }
117
+ };
118
+ (0, react_1.useEffect)(() => {
119
+ if (layoutState.overlayMenuActive || layoutState.staticMenuMobileActive) {
120
+ bindMenuOutsideClickListener();
121
+ }
122
+ layoutState.staticMenuMobileActive && blockBodyScroll();
123
+ }, [layoutState.overlayMenuActive, layoutState.staticMenuMobileActive]);
124
+ (0, react_1.useEffect)(() => {
125
+ if (layoutState.profileSidebarVisible) {
126
+ bindProfileMenuOutsideClickListener();
127
+ }
128
+ }, [layoutState.profileSidebarVisible]);
129
+ (0, hooks_1.useUnmountEffect)(() => {
130
+ unbindMenuOutsideClickListener();
131
+ unbindProfileMenuOutsideClickListener();
132
+ });
133
+ const containerClass = (0, utils_1.classNames)("layout-wrapper", {
134
+ "layout-overlay": layoutConfig.menuMode === "overlay",
135
+ "layout-static": layoutConfig.menuMode === "static",
136
+ "layout-static-inactive": layoutState.staticMenuDesktopInactive &&
137
+ layoutConfig.menuMode === "static",
138
+ "layout-overlay-active": layoutState.overlayMenuActive,
139
+ "layout-mobile-active": layoutState.staticMenuMobileActive,
140
+ "p-input-filled": layoutConfig.inputStyle === "filled",
141
+ "p-ripple-disabled": !layoutConfig.ripple,
142
+ });
143
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: containerClass, children: [(0, jsx_runtime_1.jsx)(AppTopbar_1.default, { ref: topbarRef, ...topbarProps }), (0, jsx_runtime_1.jsx)("div", { ref: sidebarRef, className: "layout-sidebar", children: (0, jsx_runtime_1.jsx)(AppSidebar_1.default, { menuModel: menuModel }) }), (0, jsx_runtime_1.jsxs)("div", { className: "layout-main-container", children: [(0, jsx_runtime_1.jsx)("div", { className: "layout-main", children: children }), (0, jsx_runtime_1.jsx)(AppFooter_1.default, {})] }), (0, jsx_runtime_1.jsx)(AppConfig_1.default, {}), (0, jsx_runtime_1.jsx)("div", { className: "layout-mask" })] }) }));
144
+ };
145
+ exports.default = Layout;
146
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout/layout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export type NavigateFn = (to: string) => void;
2
+ export type TranslateFn = (key: string) => string;
3
+ export declare function buildAdminMenuModel(navigate: NavigateFn, basePath?: string, t?: TranslateFn): {
4
+ label: string;
5
+ icon: string;
6
+ items: {
7
+ label: string;
8
+ icon: string;
9
+ command: () => void;
10
+ }[];
11
+ }[];
12
+ export declare function buildCatalogMenuModel(navigate: NavigateFn, basePath?: string, t?: TranslateFn): {
13
+ label: string;
14
+ icon: string;
15
+ items: {
16
+ label: string;
17
+ icon: string;
18
+ command: () => void;
19
+ }[];
20
+ }[];
21
+ export declare function buildSystemMenuModel(navigate: NavigateFn, basePath?: string, t?: TranslateFn): {
22
+ label: string;
23
+ icon: string;
24
+ items: {
25
+ label: string;
26
+ icon: string;
27
+ command: () => void;
28
+ }[];
29
+ }[];
30
+ //# sourceMappingURL=adminMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminMenu.d.ts","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAclD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAW,EACnB,CAAC,CAAC,EAAE,WAAW;;;;;;;;IAsBhB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAa,EACrB,CAAC,CAAC,EAAE,WAAW;;;;;;;;IAchB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAY,EACpB,CAAC,CAAC,EAAE,WAAW;;;;;;;;IAchB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAdminMenuModel = buildAdminMenuModel;
4
+ exports.buildCatalogMenuModel = buildCatalogMenuModel;
5
+ exports.buildSystemMenuModel = buildSystemMenuModel;
6
+ function joinPath(basePath, subPath) {
7
+ const normalizedBase = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
8
+ const normalizedSub = subPath.startsWith("/") ? subPath.slice(1) : subPath;
9
+ if (!normalizedSub)
10
+ return normalizedBase || "/";
11
+ if (!normalizedBase)
12
+ return `/${normalizedSub}`;
13
+ return `${normalizedBase}/${normalizedSub}`;
14
+ }
15
+ function tr(t, key, fallback) {
16
+ return t ? t(key) : fallback;
17
+ }
18
+ function buildAdminMenuModel(navigate, basePath = "/admin", t) {
19
+ const go = (subPath = "") => navigate(joinPath(basePath, subPath));
20
+ return [
21
+ {
22
+ label: tr(t, "nav.home", "Home"),
23
+ icon: "pi pi-home",
24
+ items: [
25
+ { label: tr(t, "nav.dashboard", "Dashboard"), icon: "pi pi-home", command: () => go("") },
26
+ { label: tr(t, "nav.userManager", "Users"), icon: "pi pi-users", command: () => go("users") }
27
+ ]
28
+ },
29
+ {
30
+ label: tr(t, "nav.account", "Account"),
31
+ icon: "pi pi-id-card",
32
+ items: [
33
+ { label: tr(t, "topbar.profile", "Profile"), icon: "pi pi-user", command: () => go("profile") },
34
+ { label: tr(t, "topbar.settings", "Settings"), icon: "pi pi-sliders-h", command: () => go("settings") }
35
+ ]
36
+ }
37
+ ];
38
+ }
39
+ function buildCatalogMenuModel(navigate, basePath = "/catalog", t) {
40
+ const go = (subPath = "") => navigate(joinPath(basePath, subPath));
41
+ return [
42
+ {
43
+ label: tr(t, "nav.catalog", "Catalog"),
44
+ icon: "pi pi-book",
45
+ items: [
46
+ { label: tr(t, "nav.books", "Books"), icon: "pi pi-bookmark", command: () => go("books") },
47
+ { label: tr(t, "nav.authors", "Authors"), icon: "pi pi-user-edit", command: () => go("authors") }
48
+ ]
49
+ }
50
+ ];
51
+ }
52
+ function buildSystemMenuModel(navigate, basePath = "/system", t) {
53
+ const go = (subPath = "") => navigate(joinPath(basePath, subPath));
54
+ return [
55
+ {
56
+ label: tr(t, "nav.system", "System"),
57
+ icon: "pi pi-cog",
58
+ items: [
59
+ { label: tr(t, "nav.systemLog", "System log"), icon: "pi pi-exclamation-triangle", command: () => go("errors") },
60
+ { label: tr(t, "nav.emailManager", "System email"), icon: "pi pi-envelope", command: () => go("emails") }
61
+ ]
62
+ }
63
+ ];
64
+ }
65
+ //# sourceMappingURL=adminMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminMenu.js","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ export declare function RidinProviders({ children }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=RidinProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RidinProviders.d.ts","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAWnE"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RidinProviders = RidinProviders;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const api_1 = require("primereact/api");
6
+ function RidinProviders({ children }) {
7
+ return ((0, jsx_runtime_1.jsx)(api_1.PrimeReactProvider, { value: {
8
+ ripple: true,
9
+ hideOverlaysOnDocumentScrolling: false
10
+ }, children: children }));
11
+ }
12
+ //# sourceMappingURL=RidinProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RidinProviders.js","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":";;AAGA,wCAWC;;AAbD,wCAAoD;AAEpD,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAA2B;IAClE,OAAO,CACL,uBAAC,wBAAkB,IACjB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,+BAA+B,EAAE,KAAK;SACvC,YAEA,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import "primeflex/primeflex.css";
2
+ import "primereact/resources/primereact.min.css";
3
+ import "primereact/resources/themes/lara-light-indigo/theme.css";
4
+ import "primeicons/primeicons.css";
5
+ import "./layout/layout.scss";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,yCAAyC,CAAC;AACjD,OAAO,yDAAyD,CAAC;AACjE,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("primeflex/primeflex.css");
4
+ require("primereact/resources/primereact.min.css");
5
+ require("primereact/resources/themes/lara-light-indigo/theme.css");
6
+ require("primeicons/primeicons.css");
7
+ require("./layout/layout.scss");
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,mDAAiD;AACjD,mEAAiE;AACjE,qCAAmC;AACnC,gCAA8B"}
@@ -0,0 +1,5 @@
1
+ import "primeflex/primeflex.css";
2
+ import "primereact/resources/primereact.min.css";
3
+ import "primereact/resources/themes/lara-light-indigo/theme.css";
4
+ import "primeicons/primeicons.css";
5
+ import "./layout/layout.scss";
@@ -0,0 +1,54 @@
1
+ .layout-config-button {
2
+ display: block;
3
+ position: fixed;
4
+ width: 3rem;
5
+ height: 3rem;
6
+ line-height: 3rem;
7
+ background: var(--primary-color);
8
+ color: var(--primary-color-text);
9
+ text-align: center;
10
+ top: 50%;
11
+ right: 0;
12
+ margin-top: -1.5rem;
13
+ border-top-left-radius: var(--border-radius);
14
+ border-bottom-left-radius: var(--border-radius);
15
+ border-top-right-radius: 0;
16
+ border-bottom-right-radius: 0;
17
+ transition: background-color var(--transition-duration);
18
+ overflow: hidden;
19
+ cursor: pointer;
20
+ z-index: 999;
21
+ box-shadow: -.25rem 0 1rem rgba(0,0,0,.15);
22
+
23
+
24
+ &.config-link {
25
+ font-size: 1rem;
26
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
27
+ border: none;
28
+ }
29
+ .config-link:focus {
30
+ outline: 0 none;
31
+ outline-offset: 0;
32
+ box-shadow: 0 0 0 1px var(--focus-ring);
33
+ }
34
+
35
+ i {
36
+ font-size: 2rem;
37
+ line-height: inherit;
38
+ transform: rotate(0deg);
39
+ transition: transform 1s;
40
+ }
41
+
42
+ &:hover {
43
+ background: var(--primary-400);
44
+ }
45
+ }
46
+
47
+ .layout-config-sidebar {
48
+ &.p-sidebar {
49
+ .p-sidebar-content {
50
+ padding-left: 2rem;
51
+ padding-right: 2rem;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,17 @@
1
+ @use './_variables' as vars;
2
+
3
+ .layout-main-container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ min-height: 100vh;
7
+ justify-content: space-between;
8
+ padding: 7rem 2rem 2rem 4rem;
9
+ transition: margin-left vars.$transitionDuration;
10
+ }
11
+
12
+ .layout-main {
13
+ flex: 1 1 auto;
14
+ display: flex;
15
+ flex-direction: column;
16
+ min-height: 0;
17
+ }
@@ -0,0 +1,10 @@
1
+ @use './_variables' as vars;
2
+
3
+ .layout-footer {
4
+ transition: margin-left vars.$transitionDuration;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ padding-top: 1rem;
9
+ border-top: 1px solid var(--surface-border);
10
+ }
@@ -0,0 +1,27 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ html {
6
+ height: 100%;
7
+ }
8
+
9
+ body {
10
+ font-family: var(--font-family);
11
+ color: var(--text-color);
12
+ background-color: var(--surface-ground);
13
+ margin: 0;
14
+ padding: 0;
15
+ min-height: 100%;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
19
+
20
+ a {
21
+ text-decoration: none;
22
+ color: var(--primary-color);
23
+ }
24
+
25
+ .layout-wrapper {
26
+ min-height: 100vh;
27
+ }