@nextsparkjs/core 0.1.0-beta.186 → 0.1.0-beta.188

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 (163) hide show
  1. package/dist/components/app/guards/DeveloperGuard.d.ts.map +1 -1
  2. package/dist/components/app/guards/DeveloperGuard.js +8 -4
  3. package/dist/components/app/guards/SuperAdminGuard.d.ts.map +1 -1
  4. package/dist/components/app/guards/SuperAdminGuard.js +8 -4
  5. package/dist/components/dashboard/mobile/MobileTopBar.d.ts +10 -1
  6. package/dist/components/dashboard/mobile/MobileTopBar.d.ts.map +1 -1
  7. package/dist/components/dashboard/mobile/MobileTopBar.js +2 -1
  8. package/dist/components/devtools/api-explorer/ApiExplorer.js +4 -4
  9. package/dist/components/patterns/pages/PatternEditPage.d.ts +5 -1
  10. package/dist/components/patterns/pages/PatternEditPage.d.ts.map +1 -1
  11. package/dist/components/patterns/pages/PatternEditPage.js +16 -5
  12. package/dist/components/patterns/pages/PatternsCreatePage.d.ts +2 -1
  13. package/dist/components/patterns/pages/PatternsCreatePage.d.ts.map +1 -1
  14. package/dist/components/patterns/pages/PatternsCreatePage.js +17 -5
  15. package/dist/lib/api/entities.js +2 -1
  16. package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
  17. package/dist/lib/api/entity/generic-handler.js +18 -4
  18. package/dist/lib/api/entity-handler.js +2 -2
  19. package/dist/lib/auth-client.d.ts.map +1 -1
  20. package/dist/lib/auth-client.js +9 -1
  21. package/dist/lib/auth.d.ts.map +1 -1
  22. package/dist/lib/auth.js +24 -3
  23. package/dist/lib/email/templates.d.ts +3 -3
  24. package/dist/lib/email/templates.d.ts.map +1 -1
  25. package/dist/lib/entities/api-generator.js +5 -5
  26. package/dist/lib/entities/types.d.ts +12 -0
  27. package/dist/lib/entities/types.d.ts.map +1 -1
  28. package/dist/lib/services/api-docs.service.d.ts +5 -1
  29. package/dist/lib/services/api-docs.service.d.ts.map +1 -1
  30. package/dist/lib/services/api-presets.service.d.ts +6 -1
  31. package/dist/lib/services/api-presets.service.d.ts.map +1 -1
  32. package/dist/lib/services/feature.service.d.ts +58 -4
  33. package/dist/lib/services/feature.service.d.ts.map +1 -1
  34. package/dist/lib/services/permission.service.d.ts +10 -4
  35. package/dist/lib/services/permission.service.d.ts.map +1 -1
  36. package/dist/lib/services/plugin.service.d.ts +1 -1
  37. package/dist/lib/services/plugin.service.d.ts.map +1 -1
  38. package/dist/lib/template-resolver.d.ts +3 -3
  39. package/dist/lib/utils/cors.d.ts +13 -0
  40. package/dist/lib/utils/cors.d.ts.map +1 -1
  41. package/dist/lib/utils/cors.js +20 -0
  42. package/dist/messages/de/index.d.ts +2 -0
  43. package/dist/messages/de/index.d.ts.map +1 -1
  44. package/dist/messages/de/navigation.json +3 -1
  45. package/dist/messages/en/index.d.ts +2 -0
  46. package/dist/messages/en/index.d.ts.map +1 -1
  47. package/dist/messages/en/navigation.json +3 -1
  48. package/dist/messages/es/index.d.ts +2 -0
  49. package/dist/messages/es/index.d.ts.map +1 -1
  50. package/dist/messages/es/navigation.json +3 -1
  51. package/dist/messages/fr/index.d.ts +2 -0
  52. package/dist/messages/fr/index.d.ts.map +1 -1
  53. package/dist/messages/fr/navigation.json +3 -1
  54. package/dist/messages/it/index.d.ts +2 -0
  55. package/dist/messages/it/index.d.ts.map +1 -1
  56. package/dist/messages/it/navigation.json +3 -1
  57. package/dist/messages/pt/index.d.ts +2 -0
  58. package/dist/messages/pt/index.d.ts.map +1 -1
  59. package/dist/messages/pt/navigation.json +3 -1
  60. package/dist/nextspark-registries.d.ts +580 -236
  61. package/dist/templates/app/layout.ppr.tsx +6 -1
  62. package/dist/templates/app/layout.tsx +11 -2
  63. package/package.json +2 -2
  64. package/templates/app/layout.ppr.tsx +6 -1
  65. package/templates/app/layout.tsx +11 -2
  66. package/dist/components/app/misc/ThemeToggle.d.js +0 -0
  67. package/dist/components/teams/TeamSwitchModal.d.js +0 -0
  68. package/dist/components/ui/accordion.d.js +0 -0
  69. package/dist/components/ui/avatar.d.js +0 -0
  70. package/dist/components/ui/badge.d.js +0 -0
  71. package/dist/components/ui/button.d.js +0 -0
  72. package/dist/components/ui/card.d.js +0 -0
  73. package/dist/components/ui/dialog.d.js +0 -0
  74. package/dist/components/ui/dropdown-menu.d.js +0 -0
  75. package/dist/components/ui/input.d.js +0 -0
  76. package/dist/components/ui/progress.d.js +0 -0
  77. package/dist/components/ui/scroll-area.d.js +0 -0
  78. package/dist/components/ui/select.d.js +0 -0
  79. package/dist/components/ui/separator.d.js +0 -0
  80. package/dist/components/ui/table.d.js +0 -0
  81. package/dist/components/ui/textarea.d.js +0 -0
  82. package/dist/contexts/TeamContext.d.js +0 -0
  83. package/dist/hooks/useAuth.d.js +0 -0
  84. package/dist/hooks/useLastAuthMethod.d.js +0 -0
  85. package/dist/hooks/useOrigin.d.js +0 -0
  86. package/dist/lib/api/auth/dual-auth.d.js +0 -0
  87. package/dist/lib/api/auth.d.js +0 -0
  88. package/dist/lib/api/cache.d.js +0 -0
  89. package/dist/lib/api/keys.d.js +0 -0
  90. package/dist/lib/auth-client.d.js +0 -0
  91. package/dist/lib/auth-context.d.js +0 -0
  92. package/dist/lib/auth.d.js +0 -0
  93. package/dist/lib/billing/config-types.d.js +0 -0
  94. package/dist/lib/billing/enforcement.d.js +0 -0
  95. package/dist/lib/billing/helpers.d.js +0 -0
  96. package/dist/lib/billing/jobs.d.js +0 -0
  97. package/dist/lib/billing/types.d.js +0 -0
  98. package/dist/lib/blocks/loader.d.js +0 -0
  99. package/dist/lib/config/app.config.d.js +0 -0
  100. package/dist/lib/config/config-loader.d.js +0 -0
  101. package/dist/lib/config/config-sync.d.js +0 -0
  102. package/dist/lib/config/config-types.d.js +0 -0
  103. package/dist/lib/config/config-utils.d.js +0 -0
  104. package/dist/lib/config/dashboard-types.d.js +0 -0
  105. package/dist/lib/config/dashboard.config.d.js +0 -0
  106. package/dist/lib/config/icon-map.d.js +0 -0
  107. package/dist/lib/config/index.d.js +0 -7
  108. package/dist/lib/config/nextspark-types.d.js +0 -0
  109. package/dist/lib/config/roles-merge.d.js +0 -0
  110. package/dist/lib/config/types.d.js +0 -0
  111. package/dist/lib/db.d.js +0 -0
  112. package/dist/lib/email/factory.d.js +0 -0
  113. package/dist/lib/email/index.d.js +0 -3
  114. package/dist/lib/email/providers/console.d.js +0 -0
  115. package/dist/lib/email/providers/resend.d.js +0 -0
  116. package/dist/lib/email/templates.d.js +0 -0
  117. package/dist/lib/email/types.d.js +0 -0
  118. package/dist/lib/entities/types.d.js +0 -0
  119. package/dist/lib/permissions/system.d.js +0 -0
  120. package/dist/lib/permissions/types.d.js +0 -0
  121. package/dist/lib/plugins/hook-system.d.js +0 -0
  122. package/dist/lib/scheduled-actions/cleanup.d.js +0 -0
  123. package/dist/lib/scheduled-actions/index.d.js +0 -19
  124. package/dist/lib/scheduled-actions/initializer.d.js +0 -1
  125. package/dist/lib/scheduled-actions/processor.d.js +0 -0
  126. package/dist/lib/scheduled-actions/registry.d.js +0 -0
  127. package/dist/lib/scheduled-actions/scheduler.d.js +0 -0
  128. package/dist/lib/scheduled-actions/types.d.js +0 -0
  129. package/dist/lib/services/api-routes.service.d.js +0 -0
  130. package/dist/lib/services/entity-type.service.d.js +0 -0
  131. package/dist/lib/services/index.d.js +0 -40
  132. package/dist/lib/services/invoice.service.d.js +0 -0
  133. package/dist/lib/services/membership.service.d.js +0 -0
  134. package/dist/lib/services/meta.service.d.js +0 -0
  135. package/dist/lib/services/middleware.service.d.js +0 -0
  136. package/dist/lib/services/namespace.service.d.js +0 -0
  137. package/dist/lib/services/permission.service.d.js +0 -0
  138. package/dist/lib/services/plan.service.d.js +0 -0
  139. package/dist/lib/services/plugin.service.d.js +0 -0
  140. package/dist/lib/services/route-handler.service.d.js +0 -0
  141. package/dist/lib/services/scope.service.d.js +0 -0
  142. package/dist/lib/services/subscription.service.d.js +0 -0
  143. package/dist/lib/services/team-member.service.d.js +0 -0
  144. package/dist/lib/services/team.service.d.js +0 -0
  145. package/dist/lib/services/theme.service.d.js +0 -0
  146. package/dist/lib/services/usage.service.d.js +0 -0
  147. package/dist/lib/services/user-flags.service.d.js +0 -0
  148. package/dist/lib/services/user.service.d.js +0 -0
  149. package/dist/lib/teams/helpers.d.js +0 -0
  150. package/dist/lib/teams/permissions.d.js +0 -0
  151. package/dist/lib/teams/types.d.js +0 -0
  152. package/dist/lib/utils/config-merge.d.js +0 -0
  153. package/dist/lib/utils/file-logger.d.js +0 -0
  154. package/dist/lib/utils.d.js +0 -0
  155. package/dist/types/auth.d.js +0 -0
  156. package/dist/types/blocks.d.js +0 -0
  157. package/dist/types/meta.types.d.js +0 -0
  158. package/dist/types/plugin.d.js +0 -0
  159. package/dist/types/testing.types.d.js +0 -0
  160. package/dist/types/theme.d.js +0 -0
  161. package/dist/types/user.types.d.js +0 -0
  162. /package/dist/{components/app/layouts/PublicFooter.d.js → nextspark-registries.d.js} +0 -0
  163. /package/dist/{components/app/layouts/PublicNavbar.d.js → types/use-intl-react-shim.d.js} +0 -0
@@ -79,7 +79,12 @@ export default async function RootLayout({
79
79
  <NextThemeProvider
80
80
  attribute="class"
81
81
  defaultTheme={DEFAULT_THEME_MODE}
82
- enableSystem={DEFAULT_THEME_MODE === 'system'}
82
+ // Always true here: this layout never passes forcedTheme, so
83
+ // ThemeToggle is unconditionally visible and offers "System" as one
84
+ // of its 3 choices — gating on DEFAULT_THEME_MODE === 'system' had
85
+ // the same bug as the non-PPR layout (see #175): a build-time
86
+ // default of 'light'/'dark' silently broke the "System" option.
87
+ enableSystem
83
88
  disableTransitionOnChange
84
89
  >
85
90
  <CustomThemeProvider>
@@ -81,8 +81,17 @@ export default async function RootLayout({
81
81
  defaultTheme={defaultMode}
82
82
  // When allowUserToggle is false, force the theme and ignore localStorage/system
83
83
  forcedTheme={!allowUserToggle ? defaultMode : undefined}
84
- // Only detect OS preference when theme configures defaultMode: 'system' AND user can toggle
85
- enableSystem={allowUserToggle && defaultMode === 'system'}
84
+ // Detect OS preference whenever the user can toggle at all. ThemeToggle
85
+ // always offers "System" as one of its 3 choices when toggling is
86
+ // allowed, so the provider must be able to resolve it whenever that's
87
+ // true — gating on `defaultMode === 'system'` looks equivalent at
88
+ // first render, but defaultMode is the user's last SAVED preference
89
+ // for a logged-in user (see getThemeSettings), not a static "is
90
+ // system-matching enabled" flag. That made "System" silently write a
91
+ // literal, unmatched `class="system"` for anyone whose saved
92
+ // preference (or the theme's own config default) wasn't already
93
+ // 'system' — see #175.
94
+ enableSystem={allowUserToggle}
86
95
  // Force a theme on the routes declared in theme.config.ts (forcedThemeRoutes)
87
96
  forcedThemeRoutes={forcedThemeRoutes}
88
97
  disableTransitionOnChange
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextsparkjs/core",
3
- "version": "0.1.0-beta.186",
3
+ "version": "0.1.0-beta.188",
4
4
  "description": "NextSpark - The complete SaaS framework for Next.js",
5
5
  "license": "MIT",
6
6
  "author": "NextSpark <hello@nextspark.dev>",
@@ -479,7 +479,7 @@
479
479
  "tailwind-merge": "^3.3.1",
480
480
  "uuid": "^13.0.0",
481
481
  "zod": "^4.3.6",
482
- "@nextsparkjs/testing": "0.1.0-beta.186"
482
+ "@nextsparkjs/testing": "0.1.0-beta.188"
483
483
  },
484
484
  "scripts": {
485
485
  "postinstall": "node scripts/postinstall.mjs || true",
@@ -79,7 +79,12 @@ export default async function RootLayout({
79
79
  <NextThemeProvider
80
80
  attribute="class"
81
81
  defaultTheme={DEFAULT_THEME_MODE}
82
- enableSystem={DEFAULT_THEME_MODE === 'system'}
82
+ // Always true here: this layout never passes forcedTheme, so
83
+ // ThemeToggle is unconditionally visible and offers "System" as one
84
+ // of its 3 choices — gating on DEFAULT_THEME_MODE === 'system' had
85
+ // the same bug as the non-PPR layout (see #175): a build-time
86
+ // default of 'light'/'dark' silently broke the "System" option.
87
+ enableSystem
83
88
  disableTransitionOnChange
84
89
  >
85
90
  <CustomThemeProvider>
@@ -81,8 +81,17 @@ export default async function RootLayout({
81
81
  defaultTheme={defaultMode}
82
82
  // When allowUserToggle is false, force the theme and ignore localStorage/system
83
83
  forcedTheme={!allowUserToggle ? defaultMode : undefined}
84
- // Only detect OS preference when theme configures defaultMode: 'system' AND user can toggle
85
- enableSystem={allowUserToggle && defaultMode === 'system'}
84
+ // Detect OS preference whenever the user can toggle at all. ThemeToggle
85
+ // always offers "System" as one of its 3 choices when toggling is
86
+ // allowed, so the provider must be able to resolve it whenever that's
87
+ // true — gating on `defaultMode === 'system'` looks equivalent at
88
+ // first render, but defaultMode is the user's last SAVED preference
89
+ // for a logged-in user (see getThemeSettings), not a static "is
90
+ // system-matching enabled" flag. That made "System" silently write a
91
+ // literal, unmatched `class="system"` for anyone whose saved
92
+ // preference (or the theme's own config default) wasn't already
93
+ // 'system' — see #175.
94
+ enableSystem={allowUserToggle}
86
95
  // Force a theme on the routes declared in theme.config.ts (forcedThemeRoutes)
87
96
  forcedThemeRoutes={forcedThemeRoutes}
88
97
  disableTransitionOnChange
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +0,0 @@
1
- export * from "./config-utils.js";
2
- export * from "./config-loader.js";
3
- export * from "./config-sync.js";
4
- import { defineConfig } from "./nextspark-types.js";
5
- export {
6
- defineConfig
7
- };
File without changes
File without changes
File without changes
package/dist/lib/db.d.js DELETED
File without changes
File without changes
@@ -1,3 +0,0 @@
1
- export * from "./types.js";
2
- export * from "./factory.js";
3
- export * from "./templates.js";
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,19 +0,0 @@
1
- import { registerScheduledAction, getActionHandler, getAllRegisteredActions, isActionRegistered, clearActionRegistry } from "./registry.js";
2
- import { scheduleAction, scheduleRecurringAction, cancelScheduledAction } from "./scheduler.js";
3
- import { processPendingActions } from "./processor.js";
4
- import { cleanupOldActions } from "./cleanup.js";
5
- import { initializeScheduledActions, initializeRecurringActions } from "./initializer.js";
6
- export {
7
- cancelScheduledAction,
8
- cleanupOldActions,
9
- clearActionRegistry,
10
- getActionHandler,
11
- getAllRegisteredActions,
12
- initializeRecurringActions,
13
- initializeScheduledActions,
14
- isActionRegistered,
15
- processPendingActions,
16
- registerScheduledAction,
17
- scheduleAction,
18
- scheduleRecurringAction
19
- };
@@ -1 +0,0 @@
1
- import "server-only";
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,40 +0,0 @@
1
- import { UserService } from "./user.service.js";
2
- import { MetaService } from "./meta.service.js";
3
- import { PlanService } from "./plan.service.js";
4
- import { SubscriptionService } from "./subscription.service.js";
5
- import { UsageService } from "./usage.service.js";
6
- import { InvoiceService } from "./invoice.service.js";
7
- import { TeamService } from "./team.service.js";
8
- import { TeamMemberService } from "./team-member.service.js";
9
- import { PermissionService } from "./permission.service.js";
10
- import { MembershipService, TeamMembership } from "./membership.service.js";
11
- import { ThemeService } from "./theme.service.js";
12
- import { EntityTypeService } from "./entity-type.service.js";
13
- import { NamespaceService } from "./namespace.service.js";
14
- import { MiddlewareService } from "./middleware.service.js";
15
- import { ScopeService } from "./scope.service.js";
16
- import { RouteHandlerService } from "./route-handler.service.js";
17
- import { PluginService, usePlugin } from "./plugin.service.js";
18
- import { ApiRoutesService } from "./api-routes.service.js";
19
- export {
20
- ApiRoutesService,
21
- EntityTypeService,
22
- InvoiceService,
23
- MembershipService,
24
- MetaService,
25
- MiddlewareService,
26
- NamespaceService,
27
- PermissionService,
28
- PlanService,
29
- PluginService,
30
- RouteHandlerService,
31
- ScopeService,
32
- SubscriptionService,
33
- TeamMemberService,
34
- TeamMembership,
35
- TeamService,
36
- ThemeService,
37
- UsageService,
38
- UserService,
39
- usePlugin
40
- };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes