@rovela-ai/sdk 0.16.2 → 0.16.3

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 (31) hide show
  1. package/dist/admin/components/AdminLayout.d.ts.map +1 -1
  2. package/dist/admin/components/AdminLayout.js +2 -1
  3. package/dist/admin/components/AdminLayout.js.map +1 -1
  4. package/dist/admin/components/AdminNav.d.ts +17 -9
  5. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  6. package/dist/admin/components/AdminNav.js +44 -34
  7. package/dist/admin/components/AdminNav.js.map +1 -1
  8. package/dist/admin/components/AdminTopBar.d.ts +13 -0
  9. package/dist/admin/components/AdminTopBar.d.ts.map +1 -0
  10. package/dist/admin/components/AdminTopBar.js +48 -0
  11. package/dist/admin/components/AdminTopBar.js.map +1 -0
  12. package/dist/admin/components/AdminUserMenu.d.ts +3 -1
  13. package/dist/admin/components/AdminUserMenu.d.ts.map +1 -1
  14. package/dist/admin/components/AdminUserMenu.js +2 -2
  15. package/dist/admin/components/AdminUserMenu.js.map +1 -1
  16. package/dist/admin/components/emails/ColorField.d.ts.map +1 -1
  17. package/dist/admin/components/emails/ColorField.js +1 -0
  18. package/dist/admin/components/emails/ColorField.js.map +1 -1
  19. package/dist/admin/components/index.d.ts +2 -0
  20. package/dist/admin/components/index.d.ts.map +1 -1
  21. package/dist/admin/components/index.js +1 -0
  22. package/dist/admin/components/index.js.map +1 -1
  23. package/dist/admin/hooks/useAdminSession.d.ts.map +1 -1
  24. package/dist/admin/hooks/useAdminSession.js +14 -2
  25. package/dist/admin/hooks/useAdminSession.js.map +1 -1
  26. package/dist/admin/index.d.ts +2 -2
  27. package/dist/admin/index.d.ts.map +1 -1
  28. package/dist/admin/index.js +3 -1
  29. package/dist/admin/index.js.map +1 -1
  30. package/dist/admin/styles/admin-theme.css +273 -15
  31. package/package.json +1 -1
@@ -1 +1 @@
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;AAQtC,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,2CA0B1B"}
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;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,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,2CA2B1B"}
@@ -8,6 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  * User menu is rendered in the sidebar footer via AdminNav.
9
9
  */
10
10
  import { AdminNav } from './AdminNav';
11
+ import { AdminTopBar } from './AdminTopBar';
11
12
  // `ExampleContentBanner` (R107) was retired in favor of the SetupGuide,
12
13
  // which subsumes the "review your example content" nudge into its
13
14
  // "Add or edit your first product" task. The banner component is still
@@ -34,6 +35,6 @@ import '../styles/admin-theme.css';
34
35
  * ```
35
36
  */
36
37
  export function AdminLayout({ children, activeNav, storeName = 'Admin', storeUrl = '/', navItems, logo, className = '', }) {
37
- 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 }) })] }) }));
38
+ return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-shell", children: [_jsx(AdminTopBar, { storeName: storeName, logo: logo, storeUrl: storeUrl }), _jsxs("div", { className: "admin-shell-body", children: [_jsx(AdminNav, { activeNav: activeNav, items: navItems }), _jsx("div", { className: "admin-layout-main", children: _jsx("main", { className: "admin-layout-content", children: children }) })] })] }) }));
38
39
  }
39
40
  //# 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;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AAInD,wEAAwE;AACxE,kEAAkE;AAClE,uEAAuE;AACvE,2DAA2D;AAE3D,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,YAKnC,QAAQ,GACJ,GACH,IACF,GACF,CACP,CAAA;AACH,CAAC"}
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;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,wEAAwE;AACxE,kEAAkE;AAClE,uEAAuE;AACvE,2DAA2D;AAE3D,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,YAI/C,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,WAAW,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAErE,eAAK,SAAS,EAAC,kBAAkB,aAE/B,KAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAI,EAGnD,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,sBAAsB,YAKnC,QAAQ,GACJ,GACH,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC"}
@@ -1,11 +1,19 @@
1
1
  /**
2
2
  * @rovela/sdk/admin/components/AdminNav
3
3
  *
4
- * Admin sidebar navigation component with grouped navigation,
5
- * elegant styling, and Rovela branding.
4
+ * Admin sidebar navigation 2026-07 revamp: NAVIGATION ONLY.
6
5
  *
7
- * Automatically reads store logo from NEXT_PUBLIC_STORE_LOGO_URL env var
8
- * and store name from StoreSettingsProvider (with prop fallback).
6
+ * Store identity, the View/Edit store links and the account menu moved up
7
+ * into `AdminTopBar` (Shopify's architecture): the top bar carries the one
8
+ * accent-washed hairline, and this column gets its full height back for
9
+ * nav. Core groups fit without scrolling on ≥640px viewports; when a
10
+ * merchant's custom Features pages overflow it, the nav scrolls with a
11
+ * hidden-until-hover scrollbar and directional fades as the indicator.
12
+ *
13
+ * Internal links are `next/link`, NEVER bare anchors: a plain <a> forced a
14
+ * full document reload on every click, remounting the whole tree (session +
15
+ * settings refetched, names flashed to fallbacks). Soft navigation keeps
16
+ * the layout, providers and sidebar state alive.
9
17
  */
10
18
  import { type ReactNode } from 'react';
11
19
  export interface NavItem {
@@ -23,11 +31,11 @@ export interface AdminNavProps {
23
31
  activeNav?: string;
24
32
  /** Navigation items (defaults to standard admin nav) */
25
33
  items?: NavItem[];
26
- /** Store name to display */
34
+ /** @deprecated Identity moved to AdminTopBar — accepted for back-compat, unused. */
27
35
  storeName?: string;
28
- /** Logo element */
36
+ /** @deprecated Identity moved to AdminTopBar — accepted for back-compat, unused. */
29
37
  logo?: ReactNode;
30
- /** Store URL for "View Store" link */
38
+ /** @deprecated The View-store link moved to AdminTopBar — accepted for back-compat, unused. */
31
39
  storeUrl?: string;
32
40
  /** Custom className */
33
41
  className?: string;
@@ -37,8 +45,8 @@ export interface AdminNavProps {
37
45
  *
38
46
  * @example
39
47
  * ```tsx
40
- * <AdminNav activeNav="dashboard" storeName="My Store" />
48
+ * <AdminNav activeNav="dashboard" />
41
49
  * ```
42
50
  */
43
- export declare function AdminNav({ activeNav, items, storeName: storeNameProp, logo, storeUrl, className, }: AdminNavProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function AdminNav({ activeNav, items, className, }: AdminNavProps): import("react/jsx-runtime").JSX.Element;
44
52
  //# sourceMappingURL=AdminNav.d.ts.map
@@ -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;AAW7C,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;AAyJD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,aAAa,2CAuLf"}
1
+ {"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAc,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAU1E,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,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAsJD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAc,GACf,EAAE,aAAa,2CA6Hf"}
@@ -1,20 +1,27 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * @rovela/sdk/admin/components/AdminNav
5
5
  *
6
- * Admin sidebar navigation component with grouped navigation,
7
- * elegant styling, and Rovela branding.
6
+ * Admin sidebar navigation 2026-07 revamp: NAVIGATION ONLY.
8
7
  *
9
- * Automatically reads store logo from NEXT_PUBLIC_STORE_LOGO_URL env var
10
- * and store name from StoreSettingsProvider (with prop fallback).
8
+ * Store identity, the View/Edit store links and the account menu moved up
9
+ * into `AdminTopBar` (Shopify's architecture): the top bar carries the one
10
+ * accent-washed hairline, and this column gets its full height back for
11
+ * nav. Core groups fit without scrolling on ≥640px viewports; when a
12
+ * merchant's custom Features pages overflow it, the nav scrolls with a
13
+ * hidden-until-hover scrollbar and directional fades as the indicator.
14
+ *
15
+ * Internal links are `next/link`, NEVER bare anchors: a plain <a> forced a
16
+ * full document reload on every click, remounting the whole tree (session +
17
+ * settings refetched, names flashed to fallbacks). Soft navigation keeps
18
+ * the layout, providers and sidebar state alive.
11
19
  */
12
- import React from 'react';
20
+ import React, { useEffect, useRef, useState } from 'react';
21
+ import Link from 'next/link';
13
22
  import { usePathname } from 'next/navigation';
14
- import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings, ExternalLink, Truck, CreditCard, Tag, Receipt, BarChart3, Pencil, MapPin, Mail, Image as ImageGlyph } from 'lucide-react';
15
- import { useStoreSettingsOptional } from '../../core';
23
+ import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings, Truck, CreditCard, Tag, Receipt, BarChart3, MapPin, Mail, Image as ImageGlyph } from 'lucide-react';
16
24
  import { useAdminAuth } from '../hooks/useAdminAuth';
17
- import { AdminUserMenu } from './AdminUserMenu';
18
25
  // =============================================================================
19
26
  // Default Navigation Groups
20
27
  // =============================================================================
@@ -112,7 +119,7 @@ const iconMap = {
112
119
  // =============================================================================
113
120
  function NavItemButton({ item, isActive, }) {
114
121
  const Icon = item.icon || iconMap[item.id];
115
- return (_jsxs("a", { href: item.href, className: `admin-sidebar-item ${isActive ? 'active' : ''}`, children: [_jsx("span", { className: "admin-sidebar-indicator" }), _jsx("span", { className: "admin-sidebar-item-icon", children: Icon && (React.isValidElement(Icon)
122
+ return (_jsxs(Link, { href: item.href, className: `admin-sidebar-item ${isActive ? 'active' : ''}`, children: [_jsx("span", { className: "admin-sidebar-item-icon", children: Icon && (React.isValidElement(Icon)
116
123
  ? Icon
117
124
  : React.createElement(Icon, { className: 'admin-sidebar-item-svg' })) }), _jsx("span", { className: "admin-sidebar-item-label", children: item.label })] }));
118
125
  }
@@ -124,27 +131,14 @@ function NavItemButton({ item, isActive, }) {
124
131
  *
125
132
  * @example
126
133
  * ```tsx
127
- * <AdminNav activeNav="dashboard" storeName="My Store" />
134
+ * <AdminNav activeNav="dashboard" />
128
135
  * ```
129
136
  */
130
- export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin', logo, storeUrl = '/', className = '', }) {
131
- // Get store settings from context (optional - works even outside provider)
132
- const storeSettings = useStoreSettingsOptional();
137
+ export function AdminNav({ activeNav, items, className = '', }) {
133
138
  // Get the current admin's role for nav filtering. Safe to call even when
134
139
  // AdminNav is mounted outside a SessionProvider — useAdminAuth defends
135
140
  // against that and returns `{ admin: null }`.
136
141
  const { admin } = useAdminAuth();
137
- // Deep-link back to the Rovela editor (/generate/[id]) so the merchant has a
138
- // clean Manage ↔ Edit loop from the admin sidebar. Only rendered when
139
- // NEXT_PUBLIC_ROVELA_PROJECT_ID is set (present on every store rebuilt since
140
- // buildStoreEnvVars started emitting it); older stores show nothing. These
141
- // must be literal `process.env.NEXT_PUBLIC_*` reads so the consuming store's
142
- // Next.js build statically inlines them. Base falls back to prod rovela.ai.
143
- const rovelaProjectId = process.env.NEXT_PUBLIC_ROVELA_PROJECT_ID;
144
- const rovelaBase = process.env.NEXT_PUBLIC_ROVELA_URL || 'https://rovela.ai';
145
- const editStoreUrl = rovelaProjectId
146
- ? `${rovelaBase.replace(/\/$/, '')}/generate/${rovelaProjectId}`
147
- : null;
148
142
  // Auto-detect active nav from pathname when not explicitly provided
149
143
  const pathname = usePathname();
150
144
  const resolvedActiveNav = activeNav ?? (() => {
@@ -183,10 +177,6 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
183
177
  }
184
178
  return undefined;
185
179
  })();
186
- // Resolve store name: prop > context > default
187
- const storeName = storeNameProp !== 'Admin' ? storeNameProp : (storeSettings?.storeName || storeNameProp);
188
- // Get logo URL from context (database) first, fall back to env var for instant updates
189
- const logoUrl = storeSettings?.logoUrl || process.env.NEXT_PUBLIC_STORE_LOGO_URL || null;
190
180
  // Filter role-gated items (currently just `users`) before appending any
191
181
  // custom "Features" group.
192
182
  const baseGroups = filterNavGroupsByRole(defaultNavGroups, admin?.role ?? null);
@@ -194,10 +184,30 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
194
184
  const navGroups = items
195
185
  ? [...baseGroups, { label: 'Features', items }]
196
186
  : baseGroups;
197
- return (_jsxs("nav", { className: `admin-sidebar ${className}`, children: [_jsx("div", { className: "admin-sidebar-header", children: logo || (logoUrl ? (
198
- // Logo image from environment variable
199
- _jsxs("a", { href: "/admin", className: "admin-sidebar-header-link", children: [_jsx("img", { src: logoUrl, alt: storeName, className: "admin-sidebar-logo" }), _jsxs("div", { className: "admin-sidebar-header-text", children: [_jsx("span", { className: "admin-sidebar-store-name", children: storeName }), _jsx("span", { className: "admin-sidebar-subtitle", children: "Admin" })] })] })) : (
200
- // Fallback: Store initial badge
201
- _jsxs(_Fragment, { children: [_jsx("div", { className: "admin-sidebar-badge", children: storeName.charAt(0).toUpperCase() }), _jsxs("div", { className: "admin-sidebar-header-text", children: [_jsx("span", { className: "admin-sidebar-store-name", children: storeName }), _jsx("span", { className: "admin-sidebar-subtitle", children: "Admin" })] })] }))) }), _jsx("div", { className: "admin-sidebar-nav", children: _jsx("div", { className: "admin-sidebar-groups", children: navGroups.map((group, groupIndex) => (_jsxs("div", { className: "admin-sidebar-section", children: [group.label && (_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 || `group-${groupIndex}`))) }) }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: resolvedActiveNav === 'settings' }), editStoreUrl && (_jsxs("a", { href: editStoreUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-link", children: [_jsx(Pencil, { className: "admin-sidebar-item-icon" }), "Edit Store"] })), _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" })] })] }) })] }));
187
+ // Directional scroll fades the scroll indicator. Each fade shows only
188
+ // when content continues in that direction; the scrollbar itself stays
189
+ // hidden until hover. Initial sync runs in a rAF so the measurement
190
+ // happens after paint (and setState never fires synchronously in the
191
+ // effect body).
192
+ const navScrollRef = useRef(null);
193
+ const [fade, setFade] = useState({ up: false, down: false });
194
+ useEffect(() => {
195
+ const el = navScrollRef.current;
196
+ if (!el)
197
+ return;
198
+ const sync = () => setFade({
199
+ up: el.scrollTop > 4,
200
+ down: el.scrollTop + el.clientHeight < el.scrollHeight - 4,
201
+ });
202
+ const raf = requestAnimationFrame(sync);
203
+ el.addEventListener('scroll', sync, { passive: true });
204
+ window.addEventListener('resize', sync);
205
+ return () => {
206
+ cancelAnimationFrame(raf);
207
+ el.removeEventListener('scroll', sync);
208
+ window.removeEventListener('resize', sync);
209
+ };
210
+ }, [items, admin?.role]);
211
+ return (_jsxs("nav", { className: `admin-sidebar admin-sidebar-slim ${className}`, children: [_jsxs("div", { className: "admin-sidebar-scrollwrap", children: [_jsx("div", { className: "admin-sidebar-nav", ref: navScrollRef, children: _jsx("div", { className: "admin-sidebar-groups", children: navGroups.map((group, groupIndex) => (_jsxs("div", { className: "admin-sidebar-section", children: [group.label && (_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 || `group-${groupIndex}`))) }) }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-up ${fade.up ? 'show' : ''}`, "aria-hidden": "true" }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-down ${fade.down ? 'show' : ''}`, "aria-hidden": "true" })] }), _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: "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" })] })] }) })] }));
202
212
  }
203
213
  //# sourceMappingURL=AdminNav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface AdminTopBarProps {
3
+ /** Store name (falls back to StoreSettingsProvider, then 'Admin'). */
4
+ storeName?: string;
5
+ /** Custom logo element — replaces the tile entirely. */
6
+ logo?: ReactNode;
7
+ /** Storefront URL for the View-store link. */
8
+ storeUrl?: string;
9
+ /** Custom className */
10
+ className?: string;
11
+ }
12
+ export declare function AdminTopBar({ storeName: storeNameProp, logo, storeUrl, className, }: AdminTopBarProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=AdminTopBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminTopBar.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,gBAAgB,2CA4ElB"}
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * @rovela/sdk/admin/components/AdminTopBar
5
+ *
6
+ * The admin's identity band (2026-07 sidebar revamp, Shopify's architecture):
7
+ * a 52px sticky bar spanning the full width. Left: logo tile + store name +
8
+ * Admin chip, the whole cluster linking to /admin. Right: View store, Edit
9
+ * store (when the Rovela project id env is present) and the account menu.
10
+ *
11
+ * It carries the ONE accent wash + hairline of the app's top — the sidebar
12
+ * below is pure navigation and page headers stay quiet, so there is exactly
13
+ * one horizontal line at the top of the admin and nothing to misalign.
14
+ *
15
+ * Identity is never painted wrong: while store settings load, the name slot
16
+ * renders a skeleton (a wrong value that corrects itself reads as a glitch).
17
+ */
18
+ import Link from 'next/link';
19
+ import { ExternalLink, Pencil } from 'lucide-react';
20
+ import { useStoreSettingsOptional } from '../../core';
21
+ import { AdminUserMenu } from './AdminUserMenu';
22
+ // =============================================================================
23
+ // Component
24
+ // =============================================================================
25
+ export function AdminTopBar({ storeName: storeNameProp = 'Admin', logo, storeUrl = '/', className = '', }) {
26
+ // Store name + logo resolve from context (optional — works outside the
27
+ // provider too). Same precedence AdminNav used before the revamp:
28
+ // prop > context > default.
29
+ const storeSettings = useStoreSettingsOptional();
30
+ const settingsLoading = storeNameProp === 'Admin' && !!storeSettings?.isLoading && !storeSettings?.settings;
31
+ const storeName = storeNameProp !== 'Admin' ? storeNameProp : (storeSettings?.storeName || storeNameProp);
32
+ const logoUrl = storeSettings?.logoUrl || process.env.NEXT_PUBLIC_STORE_LOGO_URL || null;
33
+ // Deep-link back to the Rovela editor (/generate/[id]) so the merchant has
34
+ // a clean Manage ↔ Edit loop. Only rendered when NEXT_PUBLIC_ROVELA_PROJECT_ID
35
+ // is set (present on every store rebuilt since buildStoreEnvVars started
36
+ // emitting it); older stores show nothing. These must be literal
37
+ // `process.env.NEXT_PUBLIC_*` reads so the consuming store's Next.js build
38
+ // statically inlines them. Base falls back to prod rovela.ai.
39
+ const rovelaProjectId = process.env.NEXT_PUBLIC_ROVELA_PROJECT_ID;
40
+ const rovelaBase = process.env.NEXT_PUBLIC_ROVELA_URL || 'https://rovela.ai';
41
+ const editStoreUrl = rovelaProjectId
42
+ ? `${rovelaBase.replace(/\/$/, '')}/generate/${rovelaProjectId}`
43
+ : null;
44
+ return (_jsxs("header", { className: `admin-topbar ${className}`.trim(), children: [_jsxs(Link, { href: "/admin", className: "admin-topbar-brand", children: [logo || (_jsx("span", { className: `admin-brand-tile ${logoUrl ? '' : 'admin-brand-tile-monogram'}`, children: logoUrl ? (
45
+ // eslint-disable-next-line @next/next/no-img-element
46
+ _jsx("img", { src: logoUrl, alt: "" })) : settingsLoading ? (_jsx("span", { className: "admin-skeleton admin-brand-tile-skeleton" })) : (storeName.charAt(0).toUpperCase()) })), settingsLoading ? (_jsx("span", { className: "admin-skeleton admin-topbar-name-skeleton" })) : (_jsx("span", { className: "admin-topbar-store", children: storeName })), _jsx("span", { className: "admin-topbar-tag", children: "Admin" })] }), _jsxs("div", { className: "admin-topbar-actions", children: [_jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", children: [_jsx(ExternalLink, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), "View store"] }), editStoreUrl && (_jsxs("a", { href: editStoreUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), "Edit store"] })), _jsx("span", { className: "admin-topbar-divider", "aria-hidden": "true" }), _jsx(AdminUserMenu, { compact: true })] })] }));
47
+ }
48
+ //# sourceMappingURL=AdminTopBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminTopBar.js","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface AdminUserMenuProps {
2
2
  /** Custom className */
3
3
  className?: string;
4
+ /** Compact trigger (avatar + chevron, no name) — used by the top bar. */
5
+ compact?: boolean;
4
6
  }
5
7
  /**
6
8
  * Floating user menu with avatar and dropdown actions.
@@ -10,5 +12,5 @@ export interface AdminUserMenuProps {
10
12
  * <AdminUserMenu />
11
13
  * ```
12
14
  */
13
- export declare function AdminUserMenu({ className, }: AdminUserMenuProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function AdminUserMenu({ className, compact, }: AdminUserMenuProps): import("react/jsx-runtime").JSX.Element;
14
16
  //# sourceMappingURL=AdminUserMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminUserMenu.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAc,GACf,EAAE,kBAAkB,2CA2FpB"}
1
+ {"version":3,"file":"AdminUserMenu.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAc,EACd,OAAe,GAChB,EAAE,kBAAkB,2CAwGpB"}
@@ -21,7 +21,7 @@ import { useLinkedCustomerStatus } from '../hooks/useLinkedCustomerStatus';
21
21
  * <AdminUserMenu />
22
22
  * ```
23
23
  */
24
- export function AdminUserMenu({ className = '', }) {
24
+ export function AdminUserMenu({ className = '', compact = false, }) {
25
25
  const { admin, signOut } = useAdminAuth();
26
26
  const linkedCustomer = useLinkedCustomerStatus();
27
27
  const [isMenuOpen, setIsMenuOpen] = useState(false);
@@ -29,6 +29,6 @@ export function AdminUserMenu({ className = '', }) {
29
29
  await signOut();
30
30
  window.location.href = '/admin/login';
31
31
  }, [signOut]);
32
- return (_jsx("div", { className: `admin-user-menu ${className}`, children: _jsxs("div", { className: "admin-dropdown", children: [_jsxs("button", { onClick: () => setIsMenuOpen(!isMenuOpen), className: "admin-user-menu-btn", children: [_jsx("div", { className: "admin-avatar admin-avatar-sm", children: admin?.name?.charAt(0).toUpperCase() || 'A' }), _jsx("span", { className: "admin-user-menu-name", children: admin?.name || 'Admin' }), _jsx(ChevronDown, { className: `h-4 w-4 admin-text-muted transition-transform ${isMenuOpen ? 'rotate-180' : ''}` })] }), isMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "admin-dropdown-backdrop", onClick: () => setIsMenuOpen(false) }), _jsxs("div", { className: "admin-dropdown-content", children: [_jsxs("div", { className: "admin-dropdown-header", children: [_jsx("p", { className: "admin-dropdown-header-name", children: admin?.name }), _jsx("p", { className: "admin-dropdown-header-email", children: admin?.email }), admin?.role === 'owner' && (_jsx("span", { className: "admin-badge admin-badge-primary mt-2", children: "Owner" }))] }), _jsxs("div", { className: "py-1", children: [_jsxs("a", { href: "/admin", className: "admin-dropdown-item w-full", children: [_jsx(LayoutDashboard, { className: "h-4 w-4", strokeWidth: 1.5 }), "My admin dashboard"] }), linkedCustomer === 'linked' && (_jsxs("a", { href: "/account", target: "_blank", rel: "noopener noreferrer", className: "admin-dropdown-item w-full", children: [_jsx(ShoppingBag, { className: "h-4 w-4", strokeWidth: 1.5 }), "My customer account"] })), _jsxs("a", { href: "/admin/account", className: "admin-dropdown-item w-full", children: [_jsx(User, { className: "h-4 w-4", strokeWidth: 1.5 }), "My account"] }), _jsxs("button", { onClick: handleSignOut, className: "admin-dropdown-item admin-dropdown-item-destructive w-full", children: [_jsx(LogOut, { className: "h-4 w-4", strokeWidth: 1.5 }), "Sign Out"] })] })] })] }))] }) }));
32
+ return (_jsx("div", { className: `admin-user-menu ${compact ? 'admin-user-menu-compact' : ''} ${className}`, children: _jsxs("div", { className: "admin-dropdown", children: [_jsxs("button", { onClick: () => setIsMenuOpen(!isMenuOpen), className: "admin-user-menu-btn", "aria-label": "Account menu", children: [_jsx("div", { className: "admin-avatar admin-avatar-sm", children: admin ? (admin.name?.charAt(0).toUpperCase() || admin.email.charAt(0).toUpperCase()) : (_jsx("span", { className: "admin-skeleton admin-avatar-skeleton" })) }), !compact && (admin ? (_jsx("span", { className: "admin-user-menu-name", children: admin.name })) : (_jsx("span", { className: "admin-skeleton admin-user-menu-name-skeleton" }))), _jsx(ChevronDown, { className: `h-4 w-4 admin-text-muted transition-transform ${isMenuOpen ? 'rotate-180' : ''}` })] }), isMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "admin-dropdown-backdrop", onClick: () => setIsMenuOpen(false) }), _jsxs("div", { className: "admin-dropdown-content", children: [_jsxs("div", { className: "admin-dropdown-header", children: [_jsx("p", { className: "admin-dropdown-header-name", children: admin?.name }), _jsx("p", { className: "admin-dropdown-header-email", children: admin?.email }), admin?.role === 'owner' && (_jsx("span", { className: "admin-badge admin-badge-primary mt-2", children: "Owner" }))] }), _jsxs("div", { className: "py-1", children: [_jsxs("a", { href: "/admin", className: "admin-dropdown-item w-full", children: [_jsx(LayoutDashboard, { className: "h-4 w-4", strokeWidth: 1.5 }), "My admin dashboard"] }), linkedCustomer === 'linked' && (_jsxs("a", { href: "/account", target: "_blank", rel: "noopener noreferrer", className: "admin-dropdown-item w-full", children: [_jsx(ShoppingBag, { className: "h-4 w-4", strokeWidth: 1.5 }), "My customer account"] })), _jsxs("a", { href: "/admin/account", className: "admin-dropdown-item w-full", children: [_jsx(User, { className: "h-4 w-4", strokeWidth: 1.5 }), "My account"] }), _jsxs("button", { onClick: handleSignOut, className: "admin-dropdown-item admin-dropdown-item-destructive w-full", children: [_jsx(LogOut, { className: "h-4 w-4", strokeWidth: 1.5 }), "Sign Out"] })] })] })] }))] }) }));
33
33
  }
34
34
  //# sourceMappingURL=AdminUserMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminUserMenu.js","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminUserMenu.js","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA6F/F"}
1
+ {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA8F/F"}
@@ -18,6 +18,7 @@ export function ColorField({ label, hint, value, fallback, onChange, disabled })
18
18
  // Pattern A — reset the draft when the outside value changes (brand
19
19
  // swatch click, theme reset) without clobbering in-progress typing.
20
20
  useEffect(() => {
21
+ // eslint-disable-next-line react-hooks/set-state-in-effect
21
22
  setHexDraft(value ?? '');
22
23
  }, [value]);
23
24
  // Close on outside click.
@@ -1 +1 @@
1
- {"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export type { AdminForgotPasswordFormProps } from './AdminForgotPasswordForm';
10
10
  export { AdminResetPasswordForm } from './AdminResetPasswordForm';
11
11
  export type { AdminResetPasswordFormProps } from './AdminResetPasswordForm';
12
12
  export { AdminLayout } from './AdminLayout';
13
+ export { AdminTopBar } from './AdminTopBar';
14
+ export type { AdminTopBarProps } from './AdminTopBar';
13
15
  export { AdminNav } from './AdminNav';
14
16
  export { AdminUserMenu } from './AdminUserMenu';
15
17
  export type { AdminUserMenuProps } from './AdminUserMenu';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export { AdminResetPasswordForm } from './AdminResetPasswordForm';
14
14
  // Layout Components
15
15
  // =============================================================================
16
16
  export { AdminLayout } from './AdminLayout';
17
+ export { AdminTopBar } from './AdminTopBar';
17
18
  export { AdminNav } from './AdminNav';
18
19
  export { AdminUserMenu } from './AdminUserMenu';
19
20
  export { ExampleContentBanner } from './ExampleContentBanner';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAdminSession.d.ts","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAoDA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEhF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClD;AAYD,wBAAgB,eAAe,IAAI,qBAAqB,CAiEvD"}
1
+ {"version":3,"file":"useAdminSession.d.ts","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAoDA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEhF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClD;AAmBD,wBAAgB,eAAe,IAAI,qBAAqB,CAuEvD"}
@@ -50,9 +50,15 @@ const ADMIN_SESSION_URL = '/api/admin-auth/session';
50
50
  // =============================================================================
51
51
  // Hook
52
52
  // =============================================================================
53
+ // Module-level last-known-session cache (2026-07 sidebar revamp): a fresh
54
+ // hook consumer (remount, new component) paints the cached identity
55
+ // instantly instead of a loading fallback, then the mount fetch reconciles.
56
+ // Cleared whenever the server says unauthenticated. JS-session only —
57
+ // never persisted, dies with the tab.
58
+ let lastKnownSession = null;
53
59
  export function useAdminSession() {
54
- const [data, setData] = useState(null);
55
- const [status, setStatus] = useState('loading');
60
+ const [data, setData] = useState(lastKnownSession);
61
+ const [status, setStatus] = useState(lastKnownSession ? 'authenticated' : 'loading');
56
62
  const mountedRef = useRef(true);
57
63
  const fetchSession = useCallback(async () => {
58
64
  try {
@@ -61,6 +67,7 @@ export function useAdminSession() {
61
67
  headers: { Accept: 'application/json' },
62
68
  });
63
69
  if (!res.ok) {
70
+ lastKnownSession = null;
64
71
  if (!mountedRef.current)
65
72
  return null;
66
73
  setData(null);
@@ -69,6 +76,10 @@ export function useAdminSession() {
69
76
  }
70
77
  const json = (await res.json());
71
78
  const hasUser = !!(json && json.user?.id);
79
+ if (hasUser)
80
+ lastKnownSession = json;
81
+ else
82
+ lastKnownSession = null;
72
83
  if (!mountedRef.current)
73
84
  return hasUser ? json : null;
74
85
  if (hasUser) {
@@ -82,6 +93,7 @@ export function useAdminSession() {
82
93
  return null;
83
94
  }
84
95
  catch {
96
+ lastKnownSession = null;
85
97
  if (!mountedRef.current)
86
98
  return null;
87
99
  setData(null);
@@ -1 +1 @@
1
- {"version":3,"file":"useAdminSession.js","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AA8BhE,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEnD,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAA;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAA;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAyC,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE;gBACzC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACxC,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACb,SAAS,CAAC,iBAAiB,CAAC,CAAA;gBAC5B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgD,CAAA;YAC9E,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAK,IAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,CAAC,CAAE,IAA4B,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9E,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,IAA2B,CAAA;gBAC3C,OAAO,CAAC,OAAO,CAAC,CAAA;gBAChB,SAAS,CAAC,eAAe,CAAC,CAAA;gBAC1B,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,SAAS,CAAC,iBAAiB,CAAC,CAAA;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACpC,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,SAAS,CAAC,iBAAiB,CAAC,CAAA;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,mDAAmD;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,KAAK,YAAY,EAAE,CAAA;QAEnB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/C,KAAK,YAAY,EAAE,CAAA;YACrB,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEzC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAA;YAC1B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC,CAAA;QACD,oEAAoE;QACpE,iEAAiE;QACjE,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"useAdminSession.js","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,6 @@ export { getProducts, createProduct, getProduct, updateProduct, deleteProduct, a
61
61
  export { useAdminAuth, useAdminSession, useAdminStats, useAdminProducts, useAdminProductMetrics, useAdminOrders, useAdminCategories, useAdminCustomers, useAdminCustomerGroups, useAdminPaymentMethods, useAdminDiscounts, useAdminLocations, useBulkSelection, runChunkedBulk, BULK_CHUNK_SIZE, useAdminUsers, useAdminPermissions, useAdminMe, useLinkedCustomerStatus, useSetupGuide, } from './hooks';
62
62
  export type { AdminSessionPayload, AdminSessionStatus, UseAdminSessionReturn, SetupTaskId as SetupGuideTaskId, SetupTier as SetupGuideTier, SetupTask as SetupGuideTaskItem, SetupGuideData, ManualMarkKey as SetupGuideManualMarkKey, } from './hooks';
63
63
  export type { CategoryTreeItem } from './hooks/useAdminCategories';
64
- export { AdminGuard, AdminLoginForm, AdminLayout, AdminNav, ExampleContentBanner, StatsCards, RecentOrders, LowStockAlert, RevenueChart, OrderStatusChart, PrimaryMetricsRow, SecondaryMetricsRow, PeriodSelector, SetupGuide, ProductTable, ProductForm, InventoryEditor, CategorySelect, CategoryForm, SEOPreview, TagInput, VariantManager, OrderTable, OrderDetails, RefundDialog, StoreSettings, LogoUpload, PaymentSettings, PaymentMethodsManager, DiscountsManager, LocationsManager, AdminDateTimePicker, FilesManager, EmailsManager, MediaLibraryPicker, ShippingSettings, TaxSettings, CustomerTable, CustomerDetails, CustomerGroupsManager, UsersTable, AdminForgotPasswordForm, AdminResetPasswordForm, InviteUserDialog, AdminAcceptInviteForm, AdminAccountPage, PermissionsMatrix, DeleteConfirmDialog, BulkActionBar, AdminPageHeader, } from './components';
65
- export type { RevenueChartProps, OrderStatusChartProps, PrimaryMetricsRowProps, SecondaryMetricsRowProps, PeriodSelectorProps, CategorySelectProps, CategoryFormProps, SEOPreviewProps, TagInputProps, VariantManagerProps, VariantOption, VariantData, DeleteConfirmDialogProps, LogoUploadProps, PermissionsMatrixProps, AdminPageHeaderProps, } from './components';
64
+ export { AdminGuard, AdminLoginForm, AdminLayout, AdminNav, ExampleContentBanner, StatsCards, RecentOrders, LowStockAlert, RevenueChart, OrderStatusChart, PrimaryMetricsRow, SecondaryMetricsRow, PeriodSelector, SetupGuide, ProductTable, ProductForm, InventoryEditor, CategorySelect, CategoryForm, SEOPreview, TagInput, VariantManager, OrderTable, OrderDetails, RefundDialog, StoreSettings, LogoUpload, PaymentSettings, PaymentMethodsManager, DiscountsManager, LocationsManager, AdminDateTimePicker, FilesManager, EmailsManager, MediaLibraryPicker, ShippingSettings, TaxSettings, CustomerTable, CustomerDetails, CustomerGroupsManager, UsersTable, AdminForgotPasswordForm, AdminResetPasswordForm, InviteUserDialog, AdminAcceptInviteForm, AdminAccountPage, PermissionsMatrix, DeleteConfirmDialog, BulkActionBar, AdminPageHeader, AdminTopBar, } from './components';
65
+ export type { RevenueChartProps, OrderStatusChartProps, PrimaryMetricsRowProps, SecondaryMetricsRowProps, PeriodSelectorProps, CategorySelectProps, CategoryFormProps, SEOPreviewProps, TagInputProps, VariantManagerProps, VariantOption, VariantData, DeleteConfirmDialogProps, LogoUploadProps, PermissionsMatrixProps, AdminPageHeaderProps, AdminTopBarProps, } from './components';
66
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
@@ -146,5 +146,7 @@ PermissionsMatrix,
146
146
  // Utility
147
147
  DeleteConfirmDialog, BulkActionBar,
148
148
  // Page chrome — THE page header every admin route opens with
149
- AdminPageHeader, } from './components';
149
+ AdminPageHeader,
150
+ // Identity top bar (2026-07 sidebar revamp)
151
+ AdminTopBar, } from './components';
150
152
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
@@ -1090,7 +1090,8 @@
1090
1090
  font-size: var(--admin-text-2xs);
1091
1091
  font-weight: var(--admin-font-semibold);
1092
1092
  text-transform: uppercase;
1093
- letter-spacing: var(--admin-tracking-wide);
1093
+ /* Matches the page-header eyebrow — ONE eyebrow spec across the system. */
1094
+ letter-spacing: 0.14em;
1094
1095
  color: hsl(var(--admin-sidebar-foreground-muted) / 0.75);
1095
1096
  }
1096
1097
 
@@ -1135,17 +1136,20 @@
1135
1136
  }
1136
1137
 
1137
1138
  .rovela-admin-theme .admin-sidebar-item-icon {
1138
- width: 1.125rem;
1139
- height: 1.125rem;
1139
+ /* 16px at 1.5 stroke beside 13px labels (LAW 07) — was 18px / 2. */
1140
+ width: 1rem;
1141
+ height: 1rem;
1140
1142
  flex-shrink: 0;
1141
1143
  }
1142
1144
 
1143
1145
  /* Sidebar item icon (svg) - ensure consistent sizing */
1144
1146
  .rovela-admin-theme .admin-sidebar-item svg,
1145
1147
  .rovela-admin-theme .admin-sidebar-item-svg {
1146
- width: 1.125rem;
1147
- height: 1.125rem;
1148
+ width: 1rem;
1149
+ height: 1rem;
1148
1150
  flex-shrink: 0;
1151
+ /* CSS presentation property beats lucide's stroke-width="2" attribute. */
1152
+ stroke-width: 1.5;
1149
1153
  }
1150
1154
 
1151
1155
  /* Sidebar item label */
@@ -4174,13 +4178,12 @@
4174
4178
  }
4175
4179
 
4176
4180
  /* ═══════════════════════════════════════════════════════════════════════════
4177
- PAGE HEADER BAND the Rovela identity zone (2026-07 premium pass)
4181
+ PAGE HEADER — quiet since the 2026-07 sidebar revamp.
4178
4182
 
4179
- The platform's signature (/ops, /developers): an accent-washed gradient
4180
- band with an uppercase eyebrow and the 20px title, hairline bottom. Full
4181
- bleed against the sidebar via negative margins that cancel the content
4182
- padding. Every admin page opens with this it is what makes the admin
4183
- read as Rovela at a glance.
4183
+ The accent wash + hairline moved UP into the AdminTopBar (the app's one
4184
+ identity band, Shopify's architecture). Page headers keep their structure
4185
+ (eyebrow / title / subtitle / actions via AdminPageHeader) but sit plainly
4186
+ on the cream fewer horizontal lines, calmer chrome, nothing to misalign.
4184
4187
  ═══════════════════════════════════════════════════════════════════════════ */
4185
4188
 
4186
4189
  .rovela-admin-theme .admin-page-header {
@@ -4189,10 +4192,8 @@
4189
4192
  justify-content: space-between;
4190
4193
  flex-wrap: wrap;
4191
4194
  gap: var(--admin-space-4);
4192
- margin: calc(var(--admin-space-6) * -1) calc(var(--admin-space-6) * -1) var(--admin-space-6);
4193
- padding: var(--admin-space-6) var(--admin-space-6) var(--admin-space-5);
4194
- background: linear-gradient(to bottom, hsl(var(--admin-accent) / 0.055), transparent);
4195
- border-bottom: var(--admin-border-width) solid hsl(var(--admin-border) / 0.7);
4195
+ padding-top: var(--admin-space-1);
4196
+ margin-bottom: var(--admin-space-2);
4196
4197
  }
4197
4198
 
4198
4199
  .rovela-admin-theme .admin-page-header-eyebrow {
@@ -4423,3 +4424,260 @@ a.rovela-admin-theme .admin-id:hover,
4423
4424
  .rovela-admin-theme .admin-stat-icon {
4424
4425
  display: none;
4425
4426
  }
4427
+
4428
+ /* ═══════════════════════════════════════════════════════════════════════════
4429
+ TOP BAR + SLIM SIDEBAR — 2026-07 sidebar revamp (Shopify's architecture)
4430
+
4431
+ Identity moved OUT of the sidebar into a 52px sticky top bar spanning the
4432
+ full width. The top bar carries the app's ONE accent wash + hairline (the
4433
+ page headers went quiet); the sidebar below is pure navigation with its
4434
+ own scroll region, hidden-until-hover scrollbar and directional fade
4435
+ indicators. All classes here are ADDITIVE — the legacy .admin-layout /
4436
+ .admin-sidebar-header / .admin-sidebar-link rules above stay for stores
4437
+ pinned to older SDKs and CC-authored custom chrome.
4438
+ ═══════════════════════════════════════════════════════════════════════════ */
4439
+
4440
+ .rovela-admin-theme {
4441
+ --admin-topbar-h: 3.25rem; /* 52px */
4442
+ }
4443
+
4444
+ /* ── Shell: top bar over (sidebar | main) ─────────────────────────────── */
4445
+ .rovela-admin-theme .admin-shell {
4446
+ display: flex;
4447
+ flex-direction: column;
4448
+ height: 100vh;
4449
+ width: 100%;
4450
+ }
4451
+
4452
+ .rovela-admin-theme .admin-shell-body {
4453
+ display: flex;
4454
+ flex: 1;
4455
+ min-height: 0;
4456
+ width: 100%;
4457
+ }
4458
+
4459
+ /* ── Top bar — the identity band ──────────────────────────────────────── */
4460
+ .rovela-admin-theme .admin-topbar {
4461
+ display: flex;
4462
+ align-items: center;
4463
+ justify-content: space-between;
4464
+ gap: var(--admin-space-4);
4465
+ height: var(--admin-topbar-h);
4466
+ flex-shrink: 0;
4467
+ padding: 0 var(--admin-space-3) 0 var(--admin-space-4);
4468
+ background:
4469
+ linear-gradient(to bottom, hsl(var(--admin-accent) / 0.05), hsl(var(--admin-accent) / 0.012)),
4470
+ hsl(var(--admin-sidebar));
4471
+ border-bottom: var(--admin-border-width) solid hsl(var(--admin-border) / 0.7);
4472
+ position: relative;
4473
+ z-index: var(--admin-z-sticky, 40);
4474
+ }
4475
+
4476
+ .rovela-admin-theme .admin-topbar-brand {
4477
+ display: flex;
4478
+ align-items: center;
4479
+ gap: var(--admin-space-2-5);
4480
+ min-width: 0;
4481
+ text-decoration: none;
4482
+ color: inherit;
4483
+ }
4484
+
4485
+ /* Framed logo tile: merchant logos are arbitrary — the tile makes them all
4486
+ read clean. White + hairline when an image exists; ink monogram fallback
4487
+ (never the accent — LAW 02). */
4488
+ .rovela-admin-theme .admin-brand-tile {
4489
+ display: flex;
4490
+ align-items: center;
4491
+ justify-content: center;
4492
+ width: 1.75rem;
4493
+ height: 1.75rem;
4494
+ border-radius: var(--admin-radius-sm);
4495
+ background: hsl(var(--admin-card));
4496
+ border: var(--admin-border-width) solid hsl(var(--admin-border));
4497
+ box-shadow: var(--admin-shadow-sm);
4498
+ overflow: hidden;
4499
+ flex-shrink: 0;
4500
+ }
4501
+
4502
+ .rovela-admin-theme .admin-brand-tile img {
4503
+ width: 100%;
4504
+ height: 100%;
4505
+ object-fit: contain;
4506
+ padding: 2px;
4507
+ }
4508
+
4509
+ .rovela-admin-theme .admin-brand-tile-monogram {
4510
+ background: hsl(var(--admin-foreground));
4511
+ border-color: hsl(var(--admin-foreground));
4512
+ color: hsl(var(--admin-background));
4513
+ font-size: var(--admin-text-xs);
4514
+ font-weight: var(--admin-font-bold);
4515
+ }
4516
+
4517
+ .rovela-admin-theme .admin-brand-tile-skeleton {
4518
+ display: block;
4519
+ width: 100%;
4520
+ height: 100%;
4521
+ }
4522
+
4523
+ .rovela-admin-theme .admin-topbar-store {
4524
+ font-size: var(--admin-text-md);
4525
+ font-weight: var(--admin-font-bold);
4526
+ white-space: nowrap;
4527
+ overflow: hidden;
4528
+ text-overflow: ellipsis;
4529
+ }
4530
+
4531
+ .rovela-admin-theme .admin-topbar-name-skeleton {
4532
+ display: inline-block;
4533
+ width: 6rem;
4534
+ height: 0.875rem;
4535
+ border-radius: var(--admin-radius-xs);
4536
+ }
4537
+
4538
+ .rovela-admin-theme .admin-topbar-tag {
4539
+ font-size: 0.625rem;
4540
+ font-weight: var(--admin-font-bold);
4541
+ letter-spacing: 0.08em;
4542
+ text-transform: uppercase;
4543
+ color: hsl(var(--admin-foreground-muted));
4544
+ background: hsl(var(--admin-sidebar-hover));
4545
+ border-radius: var(--admin-radius-full);
4546
+ padding: 2px 7px;
4547
+ flex-shrink: 0;
4548
+ }
4549
+
4550
+ .rovela-admin-theme .admin-topbar-actions {
4551
+ display: flex;
4552
+ align-items: center;
4553
+ gap: 2px;
4554
+ flex-shrink: 0;
4555
+ }
4556
+
4557
+ .rovela-admin-theme .admin-topbar-btn {
4558
+ display: inline-flex;
4559
+ align-items: center;
4560
+ gap: var(--admin-space-1-5);
4561
+ height: 1.75rem;
4562
+ padding: 0 var(--admin-space-2-5);
4563
+ border-radius: var(--admin-radius-sm);
4564
+ font-size: var(--admin-text-xs);
4565
+ font-weight: var(--admin-font-semibold);
4566
+ color: hsl(var(--admin-foreground-muted));
4567
+ text-decoration: none;
4568
+ transition: background var(--admin-transition-fast), color var(--admin-transition-fast);
4569
+ }
4570
+
4571
+ .rovela-admin-theme .admin-topbar-btn:hover {
4572
+ background: hsl(var(--admin-foreground) / 0.05);
4573
+ color: hsl(var(--admin-foreground));
4574
+ }
4575
+
4576
+ .rovela-admin-theme .admin-topbar-divider {
4577
+ width: var(--admin-border-width);
4578
+ height: 1rem;
4579
+ background: hsl(var(--admin-border));
4580
+ margin: 0 var(--admin-space-1-5);
4581
+ }
4582
+
4583
+ /* Compact account trigger in the top bar: avatar + chevron, ghost. */
4584
+ .rovela-admin-theme .admin-topbar .admin-user-menu-btn {
4585
+ background: transparent;
4586
+ border: none;
4587
+ padding: var(--admin-space-1);
4588
+ gap: var(--admin-space-1);
4589
+ border-radius: var(--admin-radius-full);
4590
+ }
4591
+
4592
+ .rovela-admin-theme .admin-topbar .admin-user-menu-btn:hover {
4593
+ background: hsl(var(--admin-foreground) / 0.05);
4594
+ }
4595
+
4596
+ /* Identity is never painted wrong — skeleton slots while loading. */
4597
+ .rovela-admin-theme .admin-avatar-skeleton {
4598
+ display: block;
4599
+ width: 100%;
4600
+ height: 100%;
4601
+ border-radius: var(--admin-radius-full);
4602
+ }
4603
+
4604
+ .rovela-admin-theme .admin-user-menu-name-skeleton {
4605
+ display: inline-block;
4606
+ width: 5rem;
4607
+ height: 0.75rem;
4608
+ border-radius: var(--admin-radius-xs);
4609
+ }
4610
+
4611
+ /* ── Slim sidebar — navigation only, own scroll region ────────────────── */
4612
+ .rovela-admin-theme .admin-sidebar-slim {
4613
+ min-height: 0;
4614
+ height: 100%;
4615
+ flex-shrink: 0;
4616
+ }
4617
+
4618
+ .rovela-admin-theme .admin-sidebar-scrollwrap {
4619
+ position: relative;
4620
+ flex: 1;
4621
+ min-height: 0;
4622
+ display: flex;
4623
+ flex-direction: column;
4624
+ }
4625
+
4626
+ .rovela-admin-theme .admin-sidebar-slim .admin-sidebar-nav {
4627
+ flex: 1;
4628
+ min-height: 0;
4629
+ overflow-y: auto;
4630
+ /* Scrollbar hidden until hover — the fades are the indicator. */
4631
+ scrollbar-width: none;
4632
+ }
4633
+
4634
+ .rovela-admin-theme .admin-sidebar-slim .admin-sidebar-nav::-webkit-scrollbar {
4635
+ width: 0;
4636
+ height: 0;
4637
+ }
4638
+
4639
+ .rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav {
4640
+ scrollbar-width: thin;
4641
+ scrollbar-color: hsl(var(--admin-border-hover)) transparent;
4642
+ }
4643
+
4644
+ .rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav::-webkit-scrollbar {
4645
+ width: 6px;
4646
+ }
4647
+
4648
+ .rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav::-webkit-scrollbar-thumb {
4649
+ background: hsl(var(--admin-border-hover));
4650
+ border-radius: var(--admin-radius-full);
4651
+ }
4652
+
4653
+ /* Directional fades — each shows ONLY while content continues that way. */
4654
+ .rovela-admin-theme .admin-sidebar-fade {
4655
+ position: absolute;
4656
+ left: 0;
4657
+ right: 0;
4658
+ height: 2rem;
4659
+ pointer-events: none;
4660
+ opacity: 0;
4661
+ transition: opacity var(--admin-transition-base);
4662
+ z-index: 2;
4663
+ }
4664
+
4665
+ .rovela-admin-theme .admin-sidebar-fade-up {
4666
+ top: 0;
4667
+ background: linear-gradient(to top, hsl(var(--admin-sidebar) / 0), hsl(var(--admin-sidebar)) 80%);
4668
+ }
4669
+
4670
+ .rovela-admin-theme .admin-sidebar-fade-down {
4671
+ bottom: 0;
4672
+ background: linear-gradient(to bottom, hsl(var(--admin-sidebar) / 0), hsl(var(--admin-sidebar)) 80%);
4673
+ }
4674
+
4675
+ .rovela-admin-theme .admin-sidebar-fade.show {
4676
+ opacity: 1;
4677
+ }
4678
+
4679
+ @media (prefers-reduced-motion: reduce) {
4680
+ .rovela-admin-theme .admin-sidebar-fade {
4681
+ transition: none;
4682
+ }
4683
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rovela-ai/sdk",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "Rovela SDK - Pre-built e-commerce components for AI-powered store generation",
5
5
  "type": "module",
6
6
  "license": "MIT",