@rovela-ai/sdk 0.16.1 → 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 (89) hide show
  1. package/dist/admin/components/AdminAccountPage.d.ts.map +1 -1
  2. package/dist/admin/components/AdminAccountPage.js +2 -1
  3. package/dist/admin/components/AdminAccountPage.js.map +1 -1
  4. package/dist/admin/components/AdminDateTimePicker.js +1 -1
  5. package/dist/admin/components/AdminDateTimePicker.js.map +1 -1
  6. package/dist/admin/components/AdminLayout.d.ts.map +1 -1
  7. package/dist/admin/components/AdminLayout.js +2 -1
  8. package/dist/admin/components/AdminLayout.js.map +1 -1
  9. package/dist/admin/components/AdminNav.d.ts +17 -9
  10. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  11. package/dist/admin/components/AdminNav.js +44 -34
  12. package/dist/admin/components/AdminNav.js.map +1 -1
  13. package/dist/admin/components/AdminPageHeader.d.ts +23 -0
  14. package/dist/admin/components/AdminPageHeader.d.ts.map +1 -0
  15. package/dist/admin/components/AdminPageHeader.js +32 -0
  16. package/dist/admin/components/AdminPageHeader.js.map +1 -0
  17. package/dist/admin/components/AdminTopBar.d.ts +13 -0
  18. package/dist/admin/components/AdminTopBar.d.ts.map +1 -0
  19. package/dist/admin/components/AdminTopBar.js +48 -0
  20. package/dist/admin/components/AdminTopBar.js.map +1 -0
  21. package/dist/admin/components/AdminUserMenu.d.ts +3 -1
  22. package/dist/admin/components/AdminUserMenu.d.ts.map +1 -1
  23. package/dist/admin/components/AdminUserMenu.js +2 -2
  24. package/dist/admin/components/AdminUserMenu.js.map +1 -1
  25. package/dist/admin/components/CustomerAddressPanel.js +2 -2
  26. package/dist/admin/components/CustomerAddressPanel.js.map +1 -1
  27. package/dist/admin/components/CustomerDetails.d.ts.map +1 -1
  28. package/dist/admin/components/CustomerDetails.js +3 -2
  29. package/dist/admin/components/CustomerDetails.js.map +1 -1
  30. package/dist/admin/components/CustomerGroupsManager.d.ts.map +1 -1
  31. package/dist/admin/components/CustomerGroupsManager.js +2 -2
  32. package/dist/admin/components/CustomerGroupsManager.js.map +1 -1
  33. package/dist/admin/components/CustomerTable.d.ts.map +1 -1
  34. package/dist/admin/components/CustomerTable.js +6 -12
  35. package/dist/admin/components/CustomerTable.js.map +1 -1
  36. package/dist/admin/components/DiscountsManager.d.ts.map +1 -1
  37. package/dist/admin/components/DiscountsManager.js +6 -5
  38. package/dist/admin/components/DiscountsManager.js.map +1 -1
  39. package/dist/admin/components/EmailsManager.d.ts.map +1 -1
  40. package/dist/admin/components/EmailsManager.js +11 -10
  41. package/dist/admin/components/EmailsManager.js.map +1 -1
  42. package/dist/admin/components/FilesManager.d.ts.map +1 -1
  43. package/dist/admin/components/FilesManager.js +3 -2
  44. package/dist/admin/components/FilesManager.js.map +1 -1
  45. package/dist/admin/components/InviteUserDialog.js +1 -1
  46. package/dist/admin/components/InviteUserDialog.js.map +1 -1
  47. package/dist/admin/components/LocationsManager.d.ts.map +1 -1
  48. package/dist/admin/components/LocationsManager.js +3 -2
  49. package/dist/admin/components/LocationsManager.js.map +1 -1
  50. package/dist/admin/components/OrderDetails.d.ts.map +1 -1
  51. package/dist/admin/components/OrderDetails.js +3 -2
  52. package/dist/admin/components/OrderDetails.js.map +1 -1
  53. package/dist/admin/components/PaymentMethodsManager.d.ts.map +1 -1
  54. package/dist/admin/components/PaymentMethodsManager.js +2 -2
  55. package/dist/admin/components/PaymentMethodsManager.js.map +1 -1
  56. package/dist/admin/components/PaymentSettings.d.ts.map +1 -1
  57. package/dist/admin/components/PaymentSettings.js +3 -2
  58. package/dist/admin/components/PaymentSettings.js.map +1 -1
  59. package/dist/admin/components/ProductForm.js +1 -1
  60. package/dist/admin/components/ProductForm.js.map +1 -1
  61. package/dist/admin/components/ShippingSettings.d.ts.map +1 -1
  62. package/dist/admin/components/ShippingSettings.js +2 -1
  63. package/dist/admin/components/ShippingSettings.js.map +1 -1
  64. package/dist/admin/components/TaxSettings.d.ts.map +1 -1
  65. package/dist/admin/components/TaxSettings.js +3 -2
  66. package/dist/admin/components/TaxSettings.js.map +1 -1
  67. package/dist/admin/components/UsersTable.d.ts.map +1 -1
  68. package/dist/admin/components/UsersTable.js +8 -2
  69. package/dist/admin/components/UsersTable.js.map +1 -1
  70. package/dist/admin/components/emails/ColorField.d.ts.map +1 -1
  71. package/dist/admin/components/emails/ColorField.js +1 -0
  72. package/dist/admin/components/emails/ColorField.js.map +1 -1
  73. package/dist/admin/components/index.d.ts +4 -0
  74. package/dist/admin/components/index.d.ts.map +1 -1
  75. package/dist/admin/components/index.js +2 -0
  76. package/dist/admin/components/index.js.map +1 -1
  77. package/dist/admin/hooks/useAdminSession.d.ts.map +1 -1
  78. package/dist/admin/hooks/useAdminSession.js +14 -2
  79. package/dist/admin/hooks/useAdminSession.js.map +1 -1
  80. package/dist/admin/index.d.ts +2 -2
  81. package/dist/admin/index.d.ts.map +1 -1
  82. package/dist/admin/index.js +5 -1
  83. package/dist/admin/index.js.map +1 -1
  84. package/dist/admin/styles/admin-theme.css +321 -15
  85. package/dist/analytics/components/AnalyticsTabNav.d.ts +5 -2
  86. package/dist/analytics/components/AnalyticsTabNav.d.ts.map +1 -1
  87. package/dist/analytics/components/AnalyticsTabNav.js +1 -1
  88. package/dist/analytics/components/AnalyticsTabNav.js.map +1 -1
  89. package/package.json +1 -1
@@ -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 {
@@ -4217,6 +4218,54 @@
4217
4218
  gap: var(--admin-space-2);
4218
4219
  }
4219
4220
 
4221
+ /* AdminPageHeader structural slots (2026-07 architecture pass). The header
4222
+ is the ONE place a page states its title + primary action; managers no
4223
+ longer duplicate it in a card header. */
4224
+ .rovela-admin-theme .admin-page-header-main {
4225
+ display: flex;
4226
+ align-items: flex-start;
4227
+ gap: var(--admin-space-3);
4228
+ min-width: 0;
4229
+ }
4230
+
4231
+ .rovela-admin-theme .admin-page-header-titles {
4232
+ min-width: 0;
4233
+ }
4234
+
4235
+ /* Framed 28px back affordance — replaces the floating bare-arrow pattern. */
4236
+ .rovela-admin-theme .admin-page-header-back {
4237
+ display: inline-flex;
4238
+ align-items: center;
4239
+ justify-content: center;
4240
+ width: 1.75rem;
4241
+ height: 1.75rem;
4242
+ flex: none;
4243
+ margin-top: 1px;
4244
+ border-radius: var(--admin-radius-sm);
4245
+ border: var(--admin-border-width) solid hsl(var(--admin-border));
4246
+ background: hsl(var(--admin-card));
4247
+ color: hsl(var(--admin-foreground-muted));
4248
+ cursor: pointer;
4249
+ transition: background var(--admin-transition-fast), color var(--admin-transition-fast),
4250
+ border-color var(--admin-transition-fast);
4251
+ }
4252
+
4253
+ .rovela-admin-theme .admin-page-header-back:hover {
4254
+ background: hsl(var(--admin-sidebar-hover));
4255
+ border-color: hsl(var(--admin-border-hover));
4256
+ color: hsl(var(--admin-foreground));
4257
+ }
4258
+
4259
+ /* Title row carries an optional inline status badge — flex keeps the badge
4260
+ optically centered against the 20px title. */
4261
+ .rovela-admin-theme .admin-page-header .admin-page-title {
4262
+ display: flex;
4263
+ align-items: center;
4264
+ flex-wrap: wrap;
4265
+ gap: var(--admin-space-2-5);
4266
+ min-width: 0;
4267
+ }
4268
+
4220
4269
  /* Narrow content column for settings/detail pages (tables stay full width). */
4221
4270
  .rovela-admin-theme .admin-content-narrow {
4222
4271
  max-width: 60rem;
@@ -4375,3 +4424,260 @@ a.rovela-admin-theme .admin-id:hover,
4375
4424
  .rovela-admin-theme .admin-stat-icon {
4376
4425
  display: none;
4377
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
+ }
@@ -1,6 +1,9 @@
1
1
  export interface AnalyticsTabNavProps {
2
- /** Header above the tab strip (default: 'Insights'). */
3
- title?: string;
2
+ /** Header above the tab strip (default: 'Insights'). Pass `null` to render
3
+ * ONLY the tab strip — used by the store admin, where the page header is
4
+ * owned by AdminPageHeader (LEDGER page architecture) and this component
5
+ * must not emit a second title. The platform mirror keeps the default. */
6
+ title?: string | null;
4
7
  /** Subtitle under the header (optional). */
5
8
  subtitle?: string;
6
9
  /** Base href for the three tab routes. Defaults to the admin path so the
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsTabNav.d.ts","sourceRoot":"","sources":["../../../src/analytics/components/AnalyticsTabNav.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;oEAEgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAwBD,wBAAgB,eAAe,CAAC,EAC9B,KAAkB,EAClB,QAAQ,EACR,QAA6B,EAC7B,QAAQ,GACT,EAAE,oBAAoB,2CA4CtB"}
1
+ {"version":3,"file":"AnalyticsTabNav.d.ts","sourceRoot":"","sources":["../../../src/analytics/components/AnalyticsTabNav.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,oBAAoB;IACnC;;;+EAG2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;oEAEgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAwBD,wBAAgB,eAAe,CAAC,EAC9B,KAAkB,EAClB,QAAQ,EACR,QAA6B,EAC7B,QAAQ,GACT,EAAE,oBAAoB,2CAkDtB"}
@@ -32,7 +32,7 @@ function resolveActiveTab(pathname, baseHref) {
32
32
  export function AnalyticsTabNav({ title = 'Insights', subtitle, baseHref = '/admin/analytics', trailing, }) {
33
33
  const pathname = usePathname();
34
34
  const active = resolveActiveTab(pathname, baseHref);
35
- return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-foreground sm:text-3xl", children: title }), subtitle && (_jsx("p", { className: "mt-1 text-muted-foreground", children: subtitle }))] }), trailing && _jsx("div", { className: "flex items-center gap-2", children: trailing })] }), _jsx("div", { className: "border-b border-border", children: _jsx("nav", { className: "-mb-px flex gap-6", children: TABS.map((tab) => {
35
+ return (_jsxs("div", { className: "space-y-4", children: [title !== null && (_jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-foreground sm:text-3xl", children: title }), subtitle && (_jsx("p", { className: "mt-1 text-muted-foreground", children: subtitle }))] }), trailing && _jsx("div", { className: "flex items-center gap-2", children: trailing })] })), title === null && trailing && (_jsx("div", { className: "flex items-center justify-end gap-2", children: trailing })), _jsx("div", { className: "border-b border-border", children: _jsx("nav", { className: "-mb-px flex gap-6", children: TABS.map((tab) => {
36
36
  const isActive = active === tab.id;
37
37
  return (_jsx(Link, { href: `${baseHref}${tab.sub}`, "aria-current": isActive ? 'page' : undefined, className: isActive
38
38
  ? 'border-b-2 border-foreground px-1 pb-3 pt-1 text-sm font-semibold text-foreground'
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsTabNav.js","sourceRoot":"","sources":["../../../src/analytics/components/AnalyticsTabNav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAsB7C,MAAM,IAAI,GAAU;IAClB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE;IAClD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;IACjD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE;CACxD,CAAA;AAED,SAAS,gBAAgB,CAAC,QAAuB,EAAE,QAAgB;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAA;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAA;IAClF,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnE,OAAO,UAAU,CAAA;IACnB,0DAA0D;IAC1D,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,GAAG,UAAU,EAClB,QAAQ,EACR,QAAQ,GAAG,kBAAkB,EAC7B,QAAQ,GACa;IACrB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEnD,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,oEAAoE,aACjF,0BACE,aAAI,SAAS,EAAC,gDAAgD,YAC3D,KAAK,GACH,EACJ,QAAQ,IAAI,CACX,YAAG,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAK,CACzD,IACG,EACL,QAAQ,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,IAClE,EAGN,cAAK,SAAS,EAAC,wBAAwB,YACrC,cAAK,SAAS,EAAC,mBAAmB,YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,GAAG,CAAC,EAAE,CAAA;wBAClC,OAAO,CACL,KAAC,IAAI,IAEH,IAAI,EAAE,GAAG,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,kBACf,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3C,SAAS,EACP,QAAQ;gCACN,CAAC,CAAC,mFAAmF;gCACrF,CAAC,CAAC,gIAAgI,YAGrI,GAAG,CAAC,KAAK,IATL,GAAG,CAAC,EAAE,CAUN,CACR,CAAA;oBACH,CAAC,CAAC,GACE,GACF,IAEF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"AnalyticsTabNav.js","sourceRoot":"","sources":["../../../src/analytics/components/AnalyticsTabNav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAyB7C,MAAM,IAAI,GAAU;IAClB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE;IAClD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;IACjD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE;CACxD,CAAA;AAED,SAAS,gBAAgB,CAAC,QAAuB,EAAE,QAAgB;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAA;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAA;IAClF,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnE,OAAO,UAAU,CAAA;IACnB,0DAA0D;IAC1D,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,GAAG,UAAU,EAClB,QAAQ,EACR,QAAQ,GAAG,kBAAkB,EAC7B,QAAQ,GACa;IACrB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEnD,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aAGvB,KAAK,KAAK,IAAI,IAAI,CACjB,eAAK,SAAS,EAAC,oEAAoE,aACjF,0BACE,aAAI,SAAS,EAAC,gDAAgD,YAC3D,KAAK,GACH,EACJ,QAAQ,IAAI,CACX,YAAG,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAK,CACzD,IACG,EACL,QAAQ,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,IAClE,CACP,EACA,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,CAC7B,cAAK,SAAS,EAAC,qCAAqC,YAAE,QAAQ,GAAO,CACtE,EAGD,cAAK,SAAS,EAAC,wBAAwB,YACrC,cAAK,SAAS,EAAC,mBAAmB,YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,GAAG,CAAC,EAAE,CAAA;wBAClC,OAAO,CACL,KAAC,IAAI,IAEH,IAAI,EAAE,GAAG,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,kBACf,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3C,SAAS,EACP,QAAQ;gCACN,CAAC,CAAC,mFAAmF;gCACrF,CAAC,CAAC,gIAAgI,YAGrI,GAAG,CAAC,KAAK,IATL,GAAG,CAAC,EAAE,CAUN,CACR,CAAA;oBACH,CAAC,CAAC,GACE,GACF,IAEF,CACP,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rovela-ai/sdk",
3
- "version": "0.16.1",
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",