@rovela-ai/sdk 0.1.39 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AdminLayout.d.ts +4 -2
- package/dist/admin/components/AdminLayout.d.ts.map +1 -1
- package/dist/admin/components/AdminLayout.js +5 -4
- package/dist/admin/components/AdminLayout.js.map +1 -1
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +2 -1
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/styles/admin-theme.css +48 -0
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @rovela/sdk/admin/components/AdminLayout
|
|
3
3
|
*
|
|
4
|
-
* Admin dashboard layout with sidebar
|
|
4
|
+
* Admin dashboard layout with sidebar navigation.
|
|
5
5
|
* Applies the Rovela admin theme for consistent branding.
|
|
6
|
+
* User menu is rendered in the sidebar footer via AdminNav.
|
|
6
7
|
*/
|
|
7
8
|
import { type NavItem } from './AdminNav';
|
|
8
9
|
import type { AdminLayoutProps } from '../types';
|
|
@@ -19,7 +20,8 @@ interface ExtendedAdminLayoutProps extends AdminLayoutProps {
|
|
|
19
20
|
logo?: ReactNode;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
* Admin dashboard layout with sidebar navigation
|
|
23
|
+
* Admin dashboard layout with sidebar navigation.
|
|
24
|
+
* User menu is integrated into the sidebar footer.
|
|
23
25
|
*
|
|
24
26
|
* @example
|
|
25
27
|
* ```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,2BAA2B,CAAA;AAMlC,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,SAAmB,EACnB,QAAc,EACd,QAAQ,EACR,IAAI,EACJ,SAAc,GACf,EAAE,wBAAwB,2CAsB1B"}
|
|
@@ -3,18 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
/**
|
|
4
4
|
* @rovela/sdk/admin/components/AdminLayout
|
|
5
5
|
*
|
|
6
|
-
* Admin dashboard layout with sidebar
|
|
6
|
+
* Admin dashboard layout with sidebar navigation.
|
|
7
7
|
* Applies the Rovela admin theme for consistent branding.
|
|
8
|
+
* User menu is rendered in the sidebar footer via AdminNav.
|
|
8
9
|
*/
|
|
9
10
|
import { AdminNav } from './AdminNav';
|
|
10
|
-
import { AdminUserMenu } from './AdminUserMenu';
|
|
11
11
|
// Import Rovela admin theme CSS
|
|
12
12
|
import '../styles/admin-theme.css';
|
|
13
13
|
// =============================================================================
|
|
14
14
|
// Component
|
|
15
15
|
// =============================================================================
|
|
16
16
|
/**
|
|
17
|
-
* Admin dashboard layout with sidebar navigation
|
|
17
|
+
* Admin dashboard layout with sidebar navigation.
|
|
18
|
+
* User menu is integrated into the sidebar footer.
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
20
21
|
* ```tsx
|
|
@@ -29,6 +30,6 @@ import '../styles/admin-theme.css';
|
|
|
29
30
|
* ```
|
|
30
31
|
*/
|
|
31
32
|
export function AdminLayout({ children, activeNav, storeName = 'Admin', storeUrl = '/', navItems, logo, className = '', }) {
|
|
32
|
-
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-layout", children: [_jsx(AdminNav, { activeNav: activeNav, items: navItems, storeName: storeName, logo: logo, storeUrl: storeUrl }),
|
|
33
|
+
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-layout", children: [_jsx(AdminNav, { activeNav: activeNav, items: navItems, storeName: storeName, logo: logo, storeUrl: storeUrl }), _jsx("div", { className: "admin-layout-main", children: _jsx("main", { className: "admin-layout-content", children: children }) })] }) }));
|
|
33
34
|
}
|
|
34
35
|
//# sourceMappingURL=AdminLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AAInD,gCAAgC;AAChC,OAAO,2BAA2B,CAAA;AAiBlC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,SAAS,GAAG,OAAO,EACnB,QAAQ,GAAG,GAAG,EACd,QAAQ,EACR,IAAI,EACJ,SAAS,GAAG,EAAE,GACW;IACzB,OAAO,CACL,cAAK,SAAS,EAAE,sBAAsB,SAAS,EAAE,YAC/C,eAAK,SAAS,EAAC,cAAc,aAE3B,KAAC,QAAQ,IACP,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,GAClB,EAGF,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,sBAAsB,YACnC,QAAQ,GACJ,GACH,IACF,GACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAU7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+FD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,aAAa,2CAoJf"}
|
|
@@ -13,6 +13,7 @@ import React from 'react';
|
|
|
13
13
|
import { usePathname } from 'next/navigation';
|
|
14
14
|
import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, Settings, ExternalLink } from 'lucide-react';
|
|
15
15
|
import { useStoreSettingsOptional } from '../../core';
|
|
16
|
+
import { AdminUserMenu } from './AdminUserMenu';
|
|
16
17
|
// =============================================================================
|
|
17
18
|
// Default Navigation Groups
|
|
18
19
|
// =============================================================================
|
|
@@ -109,6 +110,6 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
|
|
|
109
110
|
// Grouped navigation
|
|
110
111
|
_jsx("div", { className: "admin-sidebar-groups", children: defaultNavGroups.map((group) => (_jsxs("div", { className: "admin-sidebar-section", children: [_jsx("p", { className: "admin-sidebar-section-title", children: group.label }), _jsx("ul", { className: "admin-sidebar-items", children: group.items.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: resolvedActiveNav === item.id }) }, item.id))) })] }, group.label))) })) : (
|
|
111
112
|
// Flat navigation (custom items)
|
|
112
|
-
_jsx("ul", { className: "admin-sidebar-items", children: items?.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: resolvedActiveNav === item.id }) }, item.id))) })) }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: resolvedActiveNav === 'settings' }), _jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-link", children: [_jsx(ExternalLink, { className: "admin-sidebar-item-icon" }), "View Store"] }), _jsxs("a", { href: "https://rovela.ai", target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-powered-by", children: [_jsx("span", { children: "Powered by" }), _jsx(RovelaLogo, { className: "admin-rovela-logo" }), _jsx("span", { className: "admin-powered-by-name", children: "Rovela" })] })] }) })] }));
|
|
113
|
+
_jsx("ul", { className: "admin-sidebar-items", children: items?.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: resolvedActiveNav === item.id }) }, item.id))) })) }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: resolvedActiveNav === 'settings' }), _jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-link", children: [_jsx(ExternalLink, { className: "admin-sidebar-item-icon" }), "View Store"] }), _jsx("div", { className: "admin-sidebar-user-menu", children: _jsx(AdminUserMenu, {}) }), _jsxs("a", { href: "https://rovela.ai", target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-powered-by", children: [_jsx("span", { children: "Powered by" }), _jsx(RovelaLogo, { className: "admin-rovela-logo" }), _jsx("span", { className: "admin-powered-by-name", children: "Rovela" })] })] }) })] }));
|
|
113
114
|
}
|
|
114
115
|
//# sourceMappingURL=AdminNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AAEH,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1267,6 +1267,54 @@
|
|
|
1267
1267
|
opacity: 0.9;
|
|
1268
1268
|
}
|
|
1269
1269
|
|
|
1270
|
+
/* Sidebar user menu - positioned in footer */
|
|
1271
|
+
.rovela-admin-theme .admin-sidebar-user-menu {
|
|
1272
|
+
padding: var(--admin-space-2) 0;
|
|
1273
|
+
border-top: var(--admin-border-width) solid hsl(var(--admin-sidebar-border) / 0.3);
|
|
1274
|
+
margin-top: var(--admin-space-2);
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
/* Override user menu button styles for sidebar context */
|
|
1278
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-user-menu {
|
|
1279
|
+
position: static;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-user-menu-btn {
|
|
1283
|
+
width: 100%;
|
|
1284
|
+
background: transparent;
|
|
1285
|
+
border: none;
|
|
1286
|
+
box-shadow: none;
|
|
1287
|
+
padding: var(--admin-space-2) var(--admin-space-3);
|
|
1288
|
+
border-radius: var(--admin-radius-md);
|
|
1289
|
+
color: hsl(var(--admin-sidebar-foreground));
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-user-menu-btn:hover {
|
|
1293
|
+
background: hsl(var(--admin-sidebar-hover));
|
|
1294
|
+
box-shadow: none;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-user-menu-name {
|
|
1298
|
+
color: hsl(var(--admin-sidebar-foreground));
|
|
1299
|
+
flex: 1;
|
|
1300
|
+
text-align: left;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-avatar {
|
|
1304
|
+
background: hsl(var(--admin-primary));
|
|
1305
|
+
color: hsl(var(--admin-primary-foreground));
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
/* Dropdown opens UPWARD in sidebar (near bottom of screen) */
|
|
1309
|
+
.rovela-admin-theme .admin-sidebar-user-menu .admin-dropdown-content {
|
|
1310
|
+
top: auto;
|
|
1311
|
+
bottom: 100%;
|
|
1312
|
+
margin-top: 0;
|
|
1313
|
+
margin-bottom: var(--admin-space-1);
|
|
1314
|
+
left: 0;
|
|
1315
|
+
right: 0;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1270
1318
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
1271
1319
|
HEADER COMPONENT (Legacy - kept for backwards compatibility)
|
|
1272
1320
|
═══════════════════════════════════════════════════════════════════════════ */
|