appos 0.10.2-0 → 0.10.3-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/api/cli.mjs +6 -6
  2. package/dist/api/database.mjs +2 -2
  3. package/dist/api/event.mjs +2 -2
  4. package/dist/api/mailer.mjs +3 -3
  5. package/dist/api/openapi.mjs +2 -2
  6. package/dist/api/server.mjs +3 -3
  7. package/dist/api/ssr.d.mts +2 -0
  8. package/dist/api/ssr.mjs +5 -4
  9. package/dist/api/storage.mjs +3 -3
  10. package/dist/api/workflow.mjs +3 -3
  11. package/dist/{auth-DTdZK0A3.d.ts → auth-DcGxNJMM.d.ts} +25 -25
  12. package/dist/{brand-fAZpdIvA.d.ts → brand-T7flc4kn.d.ts} +4 -4
  13. package/dist/{constants-o5HvFNkU.mjs → constants-Bj0Fwj1k.mjs} +1 -1
  14. package/dist/{database-BZDMbdOn.mjs → database-B9puLKd7.mjs} +1 -1
  15. package/dist/devtools/test.mjs +4 -4
  16. package/dist/devtools/vite.mjs +24 -13
  17. package/dist/{event-Bu2Htl6V.mjs → event-B2E4wFTO.mjs} +1 -1
  18. package/dist/{openapi-BFpeEcgu.mjs → openapi-B-UGCo72.mjs} +1 -1
  19. package/dist/{panel-CaRzDy6Q.mjs → panel-BEKf0o40.mjs} +2 -2
  20. package/dist/panel-BjA8Sxwg.mjs +5 -0
  21. package/dist/routes-C96It2J0.mjs +4 -0
  22. package/dist/{routes-DF2mpOls.mjs → routes-DjUUF4j_.mjs} +1 -1
  23. package/dist/{server-DMLCTlsR.mjs → server-BZ5i2-pR.mjs} +17 -3
  24. package/dist/{utils-DIh7O_tR.d.ts → utils-DcsrJr6q.d.ts} +1 -1
  25. package/dist/web/auth.d.ts +3 -3
  26. package/dist/web/i18n.d.ts +467 -65
  27. package/dist/web/ui/accordion.d.ts +5 -5
  28. package/dist/web/ui/alert-dialog.d.ts +13 -13
  29. package/dist/web/ui/alert.d.ts +5 -5
  30. package/dist/web/ui/animated-check.d.ts +3 -3
  31. package/dist/web/ui/aspect-ratio.d.ts +2 -2
  32. package/dist/web/ui/auth.d.ts +3 -3
  33. package/dist/web/ui/avatar.d.ts +7 -7
  34. package/dist/web/ui/badge.d.ts +3 -3
  35. package/dist/web/ui/brand.d.ts +2 -2
  36. package/dist/web/ui/breadcrumb.d.ts +7 -7
  37. package/dist/web/ui/button-group.d.ts +5 -5
  38. package/dist/web/ui/button.d.ts +6 -6
  39. package/dist/web/ui/calendar.d.ts +3 -3
  40. package/dist/web/ui/card.d.ts +8 -8
  41. package/dist/web/ui/carousel.d.ts +6 -6
  42. package/dist/web/ui/chart.d.ts +5 -5
  43. package/dist/web/ui/checkbox.d.ts +2 -2
  44. package/dist/web/ui/collapsible.d.ts +4 -4
  45. package/dist/web/ui/command.d.ts +10 -10
  46. package/dist/web/ui/context-menu.d.ts +16 -16
  47. package/dist/web/ui/dialog.d.ts +11 -11
  48. package/dist/web/ui/drawer.d.ts +11 -11
  49. package/dist/web/ui/dropdown-menu.d.ts +16 -16
  50. package/dist/web/ui/empty.d.ts +9 -9
  51. package/dist/web/ui/error-page.d.ts +2 -2
  52. package/dist/web/ui/field.d.ts +13 -13
  53. package/dist/web/ui/hover-card.d.ts +4 -4
  54. package/dist/web/ui/input-group.d.ts +11 -11
  55. package/dist/web/ui/input-otp.d.ts +5 -5
  56. package/dist/web/ui/input.d.ts +2 -2
  57. package/dist/web/ui/item.d.ts +14 -14
  58. package/dist/web/ui/kbd.d.ts +3 -3
  59. package/dist/web/ui/label.d.ts +2 -2
  60. package/dist/web/ui/menubar.d.ts +17 -17
  61. package/dist/web/ui/navigation-menu.d.ts +11 -11
  62. package/dist/web/ui/pagination.d.ts +8 -8
  63. package/dist/web/ui/popover.d.ts +7 -7
  64. package/dist/web/ui/progress.d.ts +6 -6
  65. package/dist/web/ui/radio-group.d.ts +3 -3
  66. package/dist/web/ui/resizable.d.ts +4 -4
  67. package/dist/web/ui/scroll-area.d.ts +3 -3
  68. package/dist/web/ui/select.d.ts +10 -10
  69. package/dist/web/ui/separator.d.ts +2 -2
  70. package/dist/web/ui/sheet.d.ts +9 -9
  71. package/dist/web/ui/sidebar.d.ts +22 -22
  72. package/dist/web/ui/skeleton.d.ts +2 -2
  73. package/dist/web/ui/slider.d.ts +2 -2
  74. package/dist/web/ui/sonner.d.ts +2 -2
  75. package/dist/web/ui/spinner.d.ts +2 -2
  76. package/dist/web/ui/switch.d.ts +2 -2
  77. package/dist/web/ui/table.d.ts +9 -9
  78. package/dist/web/ui/tabs.d.ts +7 -7
  79. package/dist/web/ui/textarea.d.ts +2 -2
  80. package/dist/web/ui/theme.d.ts +3 -3
  81. package/dist/web/ui/toggle-group.d.ts +3 -3
  82. package/dist/web/ui/toggle.d.ts +4 -4
  83. package/dist/web/ui/tooltip.d.ts +5 -5
  84. package/dist/{workflow-DrNL3gD-.mjs → workflow-X540Q57w.mjs} +2 -2
  85. package/package.json +21 -21
  86. package/src/web/routes/docs/$.tsx +10 -2
  87. package/src/web/routes/docs/_layout.tsx +18 -4
  88. package/src/web/routes/docs/utils.ts +15 -4
  89. package/src/web/ui/mermaid.tsx +28 -26
  90. package/dist/panel-B0YSnXGN.mjs +0 -5
  91. package/dist/routes-BWc_x5PR.mjs +0 -4
package/dist/api/cli.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import "../auth-schema-DF53iTDS.mjs";
2
2
  import "../redis-DwTSiGWI.mjs";
3
- import { S as WEB_DIR, a as COMMANDS_DIR, d as EMAIL_THEME_FILE, g as MAIN_ENTRY, m as FIXTURES_DIR, o as DATABASES_DIR, p as FILE_EXT, r as BUILD_DIR, t as APPOS_DIR, w as version, x as TEST_EXTENSIONS, y as ROOT_CSS_FILE } from "../constants-o5HvFNkU.mjs";
4
- import { a as loadEvents } from "../event-Bu2Htl6V.mjs";
5
- import { i as loadWorkflows } from "../workflow-DrNL3gD-.mjs";
6
- import { r as defineMigrationOpts } from "../database-BZDMbdOn.mjs";
7
- import { t as defineServer } from "../server-DMLCTlsR.mjs";
3
+ import { S as WEB_DIR, a as COMMANDS_DIR, d as EMAIL_THEME_FILE, g as MAIN_ENTRY, m as FIXTURES_DIR, o as DATABASES_DIR, p as FILE_EXT, r as BUILD_DIR, t as APPOS_DIR, w as version, x as TEST_EXTENSIONS, y as ROOT_CSS_FILE } from "../constants-Bj0Fwj1k.mjs";
4
+ import { a as loadEvents } from "../event-B2E4wFTO.mjs";
5
+ import { i as loadWorkflows } from "../workflow-X540Q57w.mjs";
6
+ import { r as defineMigrationOpts } from "../database-B9puLKd7.mjs";
7
+ import { t as defineServer } from "../server-BZ5i2-pR.mjs";
8
8
  import "../instrumentation-NIH3Iibm.mjs";
9
9
  import "../app-context-D1ZdyKbf.mjs";
10
- import "../openapi-BFpeEcgu.mjs";
10
+ import "../openapi-B-UGCo72.mjs";
11
11
  import "../context-tMoLkr9-.mjs";
12
12
  import { t as defineWorker } from "../worker-Dv-oM9rL.mjs";
13
13
  import { createRequire } from "node:module";
@@ -1,5 +1,5 @@
1
- import "../constants-o5HvFNkU.mjs";
2
- import { a as migrationsSchema, i as defineTestDatabase, n as defineDatabase, r as defineMigrationOpts, t as dbChanges } from "../database-BZDMbdOn.mjs";
1
+ import "../constants-Bj0Fwj1k.mjs";
2
+ import { a as migrationsSchema, i as defineTestDatabase, n as defineDatabase, r as defineMigrationOpts, t as dbChanges } from "../database-B9puLKd7.mjs";
3
3
 
4
4
  export * from "drizzle-orm"
5
5
 
@@ -1,5 +1,5 @@
1
1
  import "../redis-DwTSiGWI.mjs";
2
- import "../constants-o5HvFNkU.mjs";
3
- import { a as loadEvents, i as defineEventBus, n as dbChangesEvent, r as defineEvent, t as dbChangeInputSchema } from "../event-Bu2Htl6V.mjs";
2
+ import "../constants-Bj0Fwj1k.mjs";
3
+ import { a as loadEvents, i as defineEventBus, n as dbChangesEvent, r as defineEvent, t as dbChangeInputSchema } from "../event-B2E4wFTO.mjs";
4
4
 
5
5
  export { dbChangeInputSchema, dbChangesEvent, defineEvent, defineEventBus, loadEvents };
@@ -1,8 +1,8 @@
1
1
  import "../auth-schema-DF53iTDS.mjs";
2
2
  import "../redis-DwTSiGWI.mjs";
3
- import { S as WEB_DIR, d as EMAIL_THEME_FILE, i as BUILD_OUTPUT_DIR, y as ROOT_CSS_FILE } from "../constants-o5HvFNkU.mjs";
4
- import "../event-Bu2Htl6V.mjs";
5
- import { a as sendEmail } from "../workflow-DrNL3gD-.mjs";
3
+ import { S as WEB_DIR, d as EMAIL_THEME_FILE, i as BUILD_OUTPUT_DIR, y as ROOT_CSS_FILE } from "../constants-Bj0Fwj1k.mjs";
4
+ import "../event-B2E4wFTO.mjs";
5
+ import { a as sendEmail } from "../workflow-X540Q57w.mjs";
6
6
  import { n as parseThemeFromString } from "../colors-DRAZU8e-.mjs";
7
7
  import { join } from "node:path";
8
8
  import { existsSync, readFileSync } from "node:fs";
@@ -1,5 +1,5 @@
1
- import "../constants-o5HvFNkU.mjs";
1
+ import "../constants-Bj0Fwj1k.mjs";
2
2
  import "../app-context-D1ZdyKbf.mjs";
3
- import { a as generateOpenAPIDocument, c as scanAPIRoutes, i as defineTypedResponses, l as writeOpenAPISpecs, n as defineOpenAPIConfig, o as loadAndRegisterAPIRoutes, r as defineOpenAPIEndpoint, s as registerRoutes, t as defineOpenAPI } from "../openapi-BFpeEcgu.mjs";
3
+ import { a as generateOpenAPIDocument, c as scanAPIRoutes, i as defineTypedResponses, l as writeOpenAPISpecs, n as defineOpenAPIConfig, o as loadAndRegisterAPIRoutes, r as defineOpenAPIEndpoint, s as registerRoutes, t as defineOpenAPI } from "../openapi-B-UGCo72.mjs";
4
4
 
5
5
  export { defineOpenAPI, defineOpenAPIConfig, defineOpenAPIEndpoint, defineTypedResponses, generateOpenAPIDocument, loadAndRegisterAPIRoutes, registerRoutes, scanAPIRoutes, writeOpenAPISpecs };
@@ -1,8 +1,8 @@
1
- import "../constants-o5HvFNkU.mjs";
2
- import { a as loadMiddleware, i as defineMiddleware, n as defaultI18nConfig, r as defineI18n, t as defineServer } from "../server-DMLCTlsR.mjs";
1
+ import "../constants-Bj0Fwj1k.mjs";
2
+ import { a as loadMiddleware, i as defineMiddleware, n as defaultI18nConfig, r as defineI18n, t as defineServer } from "../server-BZ5i2-pR.mjs";
3
3
  import "../instrumentation-NIH3Iibm.mjs";
4
4
  import "../app-context-D1ZdyKbf.mjs";
5
- import "../openapi-BFpeEcgu.mjs";
5
+ import "../openapi-B-UGCo72.mjs";
6
6
  import "../context-tMoLkr9-.mjs";
7
7
 
8
8
  export { defaultI18nConfig, defineI18n, defineMiddleware, defineServer, loadMiddleware };
@@ -335,6 +335,8 @@ declare global {
335
335
  var __APPOS_DOCS_LATEST_VERSION__: string | null | undefined;
336
336
  var __APPOS_DOCS_DIR__: string | undefined;
337
337
  var __APPOS_DOCS_BASE_PATH__: string | undefined;
338
+ var __APPOS_DOCS_AVAILABLE_LOCALES__: string[] | undefined;
339
+ var __APPOS_DOCS_DEFAULT_LANGUAGE__: string | undefined;
338
340
  }
339
341
  /**
340
342
  * Creates middleware for handling raw MDX file requests.
package/dist/api/ssr.mjs CHANGED
@@ -256,12 +256,13 @@ function defineDocsRoutes(options = {}) {
256
256
  };
257
257
  const versions = providedVersions || discoverVersions(dir, i18n?.defaultLanguage);
258
258
  const latestVersion = versions.length > 0 ? versions[versions.length - 1] : null;
259
- if (versions.length > 0) {
260
- globalThis.__APPOS_DOCS_VERSIONS__ = versions;
261
- globalThis.__APPOS_DOCS_LATEST_VERSION__ = latestVersion;
262
- }
259
+ const availableLocales = readdirSync(join(process.cwd(), dir), { withFileTypes: true }).filter((d) => d.isDirectory() && !d.name.startsWith(".") && !d.name.startsWith("v")).map((d) => d.name);
260
+ globalThis.__APPOS_DOCS_VERSIONS__ = versions;
261
+ globalThis.__APPOS_DOCS_LATEST_VERSION__ = latestVersion;
263
262
  globalThis.__APPOS_DOCS_DIR__ = dir;
264
263
  globalThis.__APPOS_DOCS_BASE_PATH__ = basePath;
264
+ globalThis.__APPOS_DOCS_AVAILABLE_LOCALES__ = availableLocales;
265
+ globalThis.__APPOS_DOCS_DEFAULT_LANGUAGE__ = i18n?.defaultLanguage;
265
266
  const basePart = basePath.startsWith("/") ? basePath.slice(1) : basePath;
266
267
  const resourceRoutes = [
267
268
  route(`${basePart}/search`, resolveRoutePath("docs/search.ts")),
@@ -1,8 +1,8 @@
1
1
  import "../auth-schema-DF53iTDS.mjs";
2
2
  import "../redis-DwTSiGWI.mjs";
3
- import "../constants-o5HvFNkU.mjs";
4
- import "../event-Bu2Htl6V.mjs";
5
- import { c as generatePreview, l as generateImageVariant, o as purgeAttachment, u as extractBlobMetadata } from "../workflow-DrNL3gD-.mjs";
3
+ import "../constants-Bj0Fwj1k.mjs";
4
+ import "../event-B2E4wFTO.mjs";
5
+ import { c as generatePreview, l as generateImageVariant, o as purgeAttachment, u as extractBlobMetadata } from "../workflow-X540Q57w.mjs";
6
6
  import { and, eq, isNull, lt, sql } from "drizzle-orm";
7
7
  import { index, pgTable, unique } from "drizzle-orm/pg-core";
8
8
  import { join } from "node:path";
@@ -1,7 +1,7 @@
1
1
  import "../auth-schema-DF53iTDS.mjs";
2
2
  import "../redis-DwTSiGWI.mjs";
3
- import "../constants-o5HvFNkU.mjs";
4
- import "../event-Bu2Htl6V.mjs";
5
- import { i as loadWorkflows, n as defineScheduledWorkflow, r as defineWorkflow, s as trackDbChanges, t as defineQueue } from "../workflow-DrNL3gD-.mjs";
3
+ import "../constants-Bj0Fwj1k.mjs";
4
+ import "../event-B2E4wFTO.mjs";
5
+ import { i as loadWorkflows, n as defineScheduledWorkflow, r as defineWorkflow, s as trackDbChanges, t as defineQueue } from "../workflow-X540Q57w.mjs";
6
6
 
7
7
  export { defineQueue, defineScheduledWorkflow, defineWorkflow, loadWorkflows, trackDbChanges };
@@ -1,8 +1,8 @@
1
- import { n as BrandProps } from "./brand-fAZpdIvA.js";
1
+ import { n as BrandProps } from "./brand-T7flc4kn.js";
2
2
  import * as _better_auth_passkey_client3 from "@better-auth/passkey/client";
3
3
  import * as React$1 from "react";
4
4
  import { PropsWithChildren, ReactNode } from "react";
5
- import * as react_jsx_runtime276 from "react/jsx-runtime";
5
+ import * as react_jsx_runtime275 from "react/jsx-runtime";
6
6
  import { z } from "zod";
7
7
  import * as _better_auth_passkey5 from "@better-auth/passkey";
8
8
  import * as better_auth_client106 from "better-auth/client";
@@ -276,7 +276,7 @@ declare function AuthCard({
276
276
  logo,
277
277
  showSecurityIcon,
278
278
  className
279
- }: AuthCardProps): react_jsx_runtime276.JSX.Element;
279
+ }: AuthCardProps): react_jsx_runtime275.JSX.Element;
280
280
  //#endregion
281
281
  //#region src/web/ui/auth/trust-signals.d.ts
282
282
  type ComplianceBadge = "soc2" | "gdpr" | "hipaa" | "iso27001";
@@ -346,7 +346,7 @@ declare function TrustSignals({
346
346
  customBadges,
347
347
  securityMessage,
348
348
  className
349
- }: TrustSignalsProps): react_jsx_runtime276.JSX.Element | null;
349
+ }: TrustSignalsProps): react_jsx_runtime275.JSX.Element | null;
350
350
  //#endregion
351
351
  //#region src/web/ui/auth/auth-layout.d.ts
352
352
  /**
@@ -434,7 +434,7 @@ declare function AuthLayout({
434
434
  trustSignals,
435
435
  className,
436
436
  formClassName
437
- }: AuthLayoutProps): react_jsx_runtime276.JSX.Element;
437
+ }: AuthLayoutProps): react_jsx_runtime275.JSX.Element;
438
438
  //#endregion
439
439
  //#region src/web/ui/auth/brand-content.d.ts
440
440
  /**
@@ -461,7 +461,7 @@ interface BrandContentProps {
461
461
  declare function BrandContent({
462
462
  brand,
463
463
  className
464
- }: BrandContentProps): react_jsx_runtime276.JSX.Element;
464
+ }: BrandContentProps): react_jsx_runtime275.JSX.Element;
465
465
  //#endregion
466
466
  //#region src/web/ui/auth/captcha-widget.d.ts
467
467
  interface CaptchaWidgetProps {
@@ -523,7 +523,7 @@ declare function CaptchaWidget({
523
523
  onExpire,
524
524
  resetRef,
525
525
  executingRef
526
- }: CaptchaWidgetProps): react_jsx_runtime276.JSX.Element | null;
526
+ }: CaptchaWidgetProps): react_jsx_runtime275.JSX.Element | null;
527
527
  //#endregion
528
528
  //#region src/web/ui/auth/context.d.ts
529
529
  /**
@@ -575,7 +575,7 @@ interface AuthProviderProps {
575
575
  declare function AuthProvider({
576
576
  auth,
577
577
  children
578
- }: AuthProviderProps): react_jsx_runtime276.JSX.Element;
578
+ }: AuthProviderProps): react_jsx_runtime275.JSX.Element;
579
579
  /**
580
580
  * Access the auth context.
581
581
  * Must be used within an AuthProvider.
@@ -621,7 +621,7 @@ declare function EmailInput({
621
621
  showIcon,
622
622
  className,
623
623
  ...props
624
- }: EmailInputProps): react_jsx_runtime276.JSX.Element;
624
+ }: EmailInputProps): react_jsx_runtime275.JSX.Element;
625
625
  //#endregion
626
626
  //#region src/web/ui/auth/forms/email-otp-form.d.ts
627
627
  /**
@@ -681,7 +681,7 @@ declare function EmailOTPForm({
681
681
  description,
682
682
  logo,
683
683
  onSuccess
684
- }: EmailOTPFormProps): react_jsx_runtime276.JSX.Element | null;
684
+ }: EmailOTPFormProps): react_jsx_runtime275.JSX.Element | null;
685
685
  //#endregion
686
686
  //#region src/web/ui/auth/forms/forgot-password-form.d.ts
687
687
  /**
@@ -745,7 +745,7 @@ declare function ForgotPasswordForm({
745
745
  description,
746
746
  logo,
747
747
  onSuccess
748
- }: ForgotPasswordFormProps): react_jsx_runtime276.JSX.Element;
748
+ }: ForgotPasswordFormProps): react_jsx_runtime275.JSX.Element;
749
749
  //#endregion
750
750
  //#region src/web/ui/auth/forms/login-form.d.ts
751
751
  /**
@@ -834,7 +834,7 @@ declare function LoginForm({
834
834
  logo,
835
835
  showSecurityIcon,
836
836
  onSuccess
837
- }: LoginFormProps): react_jsx_runtime276.JSX.Element;
837
+ }: LoginFormProps): react_jsx_runtime275.JSX.Element;
838
838
  //#endregion
839
839
  //#region src/web/ui/auth/forms/phone-otp-form.d.ts
840
840
  /**
@@ -912,7 +912,7 @@ declare function PhoneOTPForm({
912
912
  description,
913
913
  logo,
914
914
  onSuccess
915
- }: PhoneOTPFormProps): react_jsx_runtime276.JSX.Element | null;
915
+ }: PhoneOTPFormProps): react_jsx_runtime275.JSX.Element | null;
916
916
  //#endregion
917
917
  //#region src/web/ui/auth/forms/reset-password-form.d.ts
918
918
  /**
@@ -998,7 +998,7 @@ declare function ResetPasswordForm({
998
998
  description,
999
999
  logo,
1000
1000
  onSuccess
1001
- }: ResetPasswordFormProps): react_jsx_runtime276.JSX.Element;
1001
+ }: ResetPasswordFormProps): react_jsx_runtime275.JSX.Element;
1002
1002
  //#endregion
1003
1003
  //#region src/web/ui/auth/forms/signup-form.d.ts
1004
1004
  /**
@@ -1122,7 +1122,7 @@ declare function SignupForm({
1122
1122
  termsUrl,
1123
1123
  privacyUrl,
1124
1124
  onSuccess
1125
- }: SignupFormProps): react_jsx_runtime276.JSX.Element;
1125
+ }: SignupFormProps): react_jsx_runtime275.JSX.Element;
1126
1126
  //#endregion
1127
1127
  //#region src/web/ui/auth/forms/two-factor-form.d.ts
1128
1128
  /**
@@ -1216,7 +1216,7 @@ declare function TwoFactorForm({
1216
1216
  showTrustDevice,
1217
1217
  onSuccess,
1218
1218
  onBack
1219
- }: TwoFactorFormProps): react_jsx_runtime276.JSX.Element;
1219
+ }: TwoFactorFormProps): react_jsx_runtime275.JSX.Element;
1220
1220
  //#endregion
1221
1221
  //#region src/web/ui/auth/forms/verify-email-form.d.ts
1222
1222
  interface VerifyEmailFormProps {
@@ -1283,7 +1283,7 @@ declare function VerifyEmailForm({
1283
1283
  description,
1284
1284
  logo,
1285
1285
  onSuccess
1286
- }: VerifyEmailFormProps): react_jsx_runtime276.JSX.Element;
1286
+ }: VerifyEmailFormProps): react_jsx_runtime275.JSX.Element;
1287
1287
  //#endregion
1288
1288
  //#region src/web/ui/auth/hooks.d.ts
1289
1289
  /**
@@ -4206,7 +4206,7 @@ declare function MagicLinkForm({
4206
4206
  className,
4207
4207
  successMessage,
4208
4208
  onSuccess
4209
- }: MagicLinkFormProps): react_jsx_runtime276.JSX.Element | null;
4209
+ }: MagicLinkFormProps): react_jsx_runtime275.JSX.Element | null;
4210
4210
  //#endregion
4211
4211
  //#region src/web/ui/auth/otp-input.d.ts
4212
4212
  interface OtpInputProps {
@@ -4270,7 +4270,7 @@ declare function OtpInput({
4270
4270
  onComplete,
4271
4271
  showSeparator,
4272
4272
  helpText
4273
- }: OtpInputProps): react_jsx_runtime276.JSX.Element;
4273
+ }: OtpInputProps): react_jsx_runtime275.JSX.Element;
4274
4274
  //#endregion
4275
4275
  //#region src/web/ui/auth/passkey-button.d.ts
4276
4276
  interface PasskeyButtonProps {
@@ -4317,7 +4317,7 @@ declare function PasskeyButton({
4317
4317
  label,
4318
4318
  onSuccess,
4319
4319
  onError
4320
- }: PasskeyButtonProps): react_jsx_runtime276.JSX.Element | null;
4320
+ }: PasskeyButtonProps): react_jsx_runtime275.JSX.Element | null;
4321
4321
  //#endregion
4322
4322
  //#region src/web/ui/auth/passkey-register-button.d.ts
4323
4323
  interface PasskeyRegisterButtonProps {
@@ -4362,7 +4362,7 @@ declare function PasskeyRegisterButton({
4362
4362
  label,
4363
4363
  onSuccess,
4364
4364
  onError
4365
- }: PasskeyRegisterButtonProps): react_jsx_runtime276.JSX.Element | null;
4365
+ }: PasskeyRegisterButtonProps): react_jsx_runtime275.JSX.Element | null;
4366
4366
  //#endregion
4367
4367
  //#region src/web/ui/auth/password-input.d.ts
4368
4368
  interface PasswordInputProps extends Omit<React$1.ComponentProps<"input">, "type"> {
@@ -4421,7 +4421,7 @@ declare function PasswordInput({
4421
4421
  showIcon,
4422
4422
  className,
4423
4423
  ...props
4424
- }: PasswordInputProps): react_jsx_runtime276.JSX.Element;
4424
+ }: PasswordInputProps): react_jsx_runtime275.JSX.Element;
4425
4425
  //#endregion
4426
4426
  //#region src/web/ui/auth/phone-input.d.ts
4427
4427
  interface PhoneInputProps extends Omit<React$1.ComponentProps<"input">, "type"> {
@@ -4462,7 +4462,7 @@ declare function PhoneInput({
4462
4462
  className,
4463
4463
  placeholder,
4464
4464
  ...props
4465
- }: PhoneInputProps): react_jsx_runtime276.JSX.Element;
4465
+ }: PhoneInputProps): react_jsx_runtime275.JSX.Element;
4466
4466
  //#endregion
4467
4467
  //#region src/web/ui/auth/social-buttons.d.ts
4468
4468
  interface SocialButtonsProps {
@@ -4506,7 +4506,7 @@ declare function SocialButtons({
4506
4506
  disabled,
4507
4507
  layout,
4508
4508
  onSuccess
4509
- }: SocialButtonsProps): react_jsx_runtime276.JSX.Element | null;
4509
+ }: SocialButtonsProps): react_jsx_runtime275.JSX.Element | null;
4510
4510
  //#endregion
4511
4511
  //#region src/web/ui/auth/sso-button.d.ts
4512
4512
  interface SSOButtonProps {
@@ -4553,7 +4553,7 @@ declare function SSOButton({
4553
4553
  className,
4554
4554
  disabled,
4555
4555
  label
4556
- }: SSOButtonProps): react_jsx_runtime276.JSX.Element | null;
4556
+ }: SSOButtonProps): react_jsx_runtime275.JSX.Element | null;
4557
4557
  //#endregion
4558
4558
  //#region src/api/auth.d.ts
4559
4559
  /**
@@ -1,14 +1,14 @@
1
- import { n as Size, t as Orientation } from "./utils-DIh7O_tR.js";
1
+ import { n as Size, t as Orientation } from "./utils-DcsrJr6q.js";
2
2
  import { ReactNode } from "react";
3
3
  import * as react_jsx_runtime46 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
- import * as class_variance_authority_types4 from "class-variance-authority/types";
5
+ import * as class_variance_authority_types1 from "class-variance-authority/types";
6
6
 
7
7
  //#region src/web/ui/brand.d.ts
8
8
  declare const brandVariants: (props?: ({
9
- size?: "default" | "sm" | "xs" | "lg" | "xl" | null | undefined;
9
+ size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
10
10
  orientation?: "horizontal" | "vertical" | null | undefined;
11
- } & class_variance_authority_types4.ClassProp) | undefined) => string;
11
+ } & class_variance_authority_types1.ClassProp) | undefined) => string;
12
12
  interface BrandProps extends VariantProps<typeof brandVariants> {
13
13
  /**
14
14
  * Additional CSS class names to apply to the container.
@@ -2,7 +2,7 @@ import { join } from "node:path";
2
2
  import { existsSync } from "node:fs";
3
3
 
4
4
  //#region package.json
5
- var version = "0.10.2-0";
5
+ var version = "0.10.3-0";
6
6
 
7
7
  //#endregion
8
8
  //#region src/constants.ts
@@ -1,5 +1,5 @@
1
1
  import { n as __reExport, t as __exportAll } from "./chunk-Bjknorp7.mjs";
2
- import { o as DATABASES_DIR, t as APPOS_DIR } from "./constants-o5HvFNkU.mjs";
2
+ import { o as DATABASES_DIR, t as APPOS_DIR } from "./constants-Bj0Fwj1k.mjs";
3
3
  import { getTableName, sql } from "drizzle-orm";
4
4
  import { join } from "node:path";
5
5
  import { migrate } from "drizzle-orm/node-postgres/migrator";
@@ -1,10 +1,10 @@
1
1
  import { n as __reExport, t as __exportAll } from "../chunk-Bjknorp7.mjs";
2
- import "../constants-o5HvFNkU.mjs";
3
- import { i as defineTestDatabase } from "../database-BZDMbdOn.mjs";
4
- import { t as defineServer } from "../server-DMLCTlsR.mjs";
2
+ import "../constants-Bj0Fwj1k.mjs";
3
+ import { i as defineTestDatabase } from "../database-B9puLKd7.mjs";
4
+ import { t as defineServer } from "../server-BZ5i2-pR.mjs";
5
5
  import "../instrumentation-NIH3Iibm.mjs";
6
6
  import "../app-context-D1ZdyKbf.mjs";
7
- import "../openapi-BFpeEcgu.mjs";
7
+ import "../openapi-B-UGCo72.mjs";
8
8
  import "../context-tMoLkr9-.mjs";
9
9
  import { join } from "node:path";
10
10
  import { mkdirSync, mkdtempSync } from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import { n as __reExport, r as __require, t as __exportAll } from "../chunk-Bjknorp7.mjs";
2
- import { S as WEB_DIR, h as LOCALES_DIR, l as DOCS_DIR, s as DESIGN_SYSTEM_PATH, t as APPOS_DIR, u as EMAILS_DIR, v as PUBLIC_DIR, y as ROOT_CSS_FILE } from "../constants-o5HvFNkU.mjs";
3
- import { r as setViteServer } from "../routes-DF2mpOls.mjs";
4
- import "../panel-CaRzDy6Q.mjs";
2
+ import { S as WEB_DIR, h as LOCALES_DIR, l as DOCS_DIR, s as DESIGN_SYSTEM_PATH, t as APPOS_DIR, u as EMAILS_DIR, v as PUBLIC_DIR, y as ROOT_CSS_FILE } from "../constants-Bj0Fwj1k.mjs";
3
+ import { r as setViteServer } from "../routes-DjUUF4j_.mjs";
4
+ import "../panel-BEKf0o40.mjs";
5
5
  import { createRequire } from "node:module";
6
6
  import { dirname, join } from "node:path";
7
7
  import { existsSync, readdirSync } from "node:fs";
@@ -96,7 +96,7 @@ function viteDevtoolsPlugin(config) {
96
96
  configureServer(_server) {
97
97
  const emailsPattern = `${APPOS_DIR}/${EMAILS_DIR}/`;
98
98
  _server.watcher.on("add", (file) => {
99
- if (file.includes(emailsPattern) && file.endsWith(".tsx")) import("../routes-BWc_x5PR.mjs").then(({ clearEmailCache }) => {
99
+ if (file.includes(emailsPattern) && file.endsWith(".tsx")) import("../routes-C96It2J0.mjs").then(({ clearEmailCache }) => {
100
100
  clearEmailCache();
101
101
  _server.ws.send({
102
102
  type: "custom",
@@ -106,7 +106,7 @@ function viteDevtoolsPlugin(config) {
106
106
  });
107
107
  });
108
108
  _server.watcher.on("unlink", (file) => {
109
- if (file.includes(emailsPattern) && file.endsWith(".tsx")) import("../routes-BWc_x5PR.mjs").then(({ clearEmailCache }) => {
109
+ if (file.includes(emailsPattern) && file.endsWith(".tsx")) import("../routes-C96It2J0.mjs").then(({ clearEmailCache }) => {
110
110
  clearEmailCache();
111
111
  _server.ws.send({
112
112
  type: "custom",
@@ -1074,16 +1074,26 @@ export const source = {
1074
1074
  if (HAS_I18N) {
1075
1075
  // With i18n: all locales have folders (including default)
1076
1076
  const effectiveLocale = locale || DEFAULT_LANGUAGE;
1077
- paths.push(
1078
- '/${DOCS_DIR}/' + effectiveLocale + '/' + slugs.join('/') + '.mdx',
1079
- '/${DOCS_DIR}/' + effectiveLocale + '/' + slugs.join('/') + '/index.mdx',
1080
- );
1077
+ if (slugs.length === 0) {
1078
+ // Empty slugs = index page
1079
+ paths.push('/${DOCS_DIR}/' + effectiveLocale + '/index.mdx');
1080
+ } else {
1081
+ paths.push(
1082
+ '/${DOCS_DIR}/' + effectiveLocale + '/' + slugs.join('/') + '.mdx',
1083
+ '/${DOCS_DIR}/' + effectiveLocale + '/' + slugs.join('/') + '/index.mdx',
1084
+ );
1085
+ }
1081
1086
  } else {
1082
1087
  // Without i18n: no locale folders
1083
- paths.push(
1084
- '/${DOCS_DIR}/' + slugs.join('/') + '.mdx',
1085
- '/${DOCS_DIR}/' + slugs.join('/') + '/index.mdx',
1086
- );
1088
+ if (slugs.length === 0) {
1089
+ // Empty slugs = index page
1090
+ paths.push('/${DOCS_DIR}/index.mdx');
1091
+ } else {
1092
+ paths.push(
1093
+ '/${DOCS_DIR}/' + slugs.join('/') + '.mdx',
1094
+ '/${DOCS_DIR}/' + slugs.join('/') + '/index.mdx',
1095
+ );
1096
+ }
1087
1097
  }
1088
1098
 
1089
1099
  for (const path of paths) {
@@ -1120,6 +1130,7 @@ import { buildDocsPageUrl } from "appos/api/ssr";
1120
1130
  // Build-time discovered versions (embedded for production)
1121
1131
  export const versions = ${JSON.stringify(versions)};
1122
1132
  export const latestVersion = ${JSON.stringify(latestVersion)};
1133
+ export const defaultLanguage = "${defaultLanguage}";
1123
1134
 
1124
1135
  // Set globalThis for utility functions that can't import from this module
1125
1136
  globalThis.__APPOS_DOCS_VERSIONS__ = versions;
@@ -1,5 +1,5 @@
1
1
  import { t as defineRedisClient } from "./redis-DwTSiGWI.mjs";
2
- import { f as EVENTS_DIR, p as FILE_EXT, t as APPOS_DIR } from "./constants-o5HvFNkU.mjs";
2
+ import { f as EVENTS_DIR, p as FILE_EXT, t as APPOS_DIR } from "./constants-Bj0Fwj1k.mjs";
3
3
  import { z } from "zod";
4
4
  import { basename, join } from "node:path";
5
5
  import { glob } from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { b as ROUTES_DIR, p as FILE_EXT, t as APPOS_DIR, v as PUBLIC_DIR } from "./constants-o5HvFNkU.mjs";
1
+ import { b as ROUTES_DIR, p as FILE_EXT, t as APPOS_DIR, v as PUBLIC_DIR } from "./constants-Bj0Fwj1k.mjs";
2
2
  import { t as defineAppContext } from "./app-context-D1ZdyKbf.mjs";
3
3
  import { z } from "zod";
4
4
  import { join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- import { n as APPOS_VERSION } from "./constants-o5HvFNkU.mjs";
2
- import { n as emailsModule } from "./routes-DF2mpOls.mjs";
1
+ import { n as APPOS_VERSION } from "./constants-Bj0Fwj1k.mjs";
2
+ import { n as emailsModule } from "./routes-DjUUF4j_.mjs";
3
3
  import express from "ultimate-express";
4
4
 
5
5
  //#region src/devtools/panel/index.ts
@@ -0,0 +1,5 @@
1
+ import "./constants-Bj0Fwj1k.mjs";
2
+ import { r as setViteServer } from "./routes-DjUUF4j_.mjs";
3
+ import { t as defineDevtoolsMiddleware } from "./panel-BEKf0o40.mjs";
4
+
5
+ export { defineDevtoolsMiddleware };
@@ -0,0 +1,4 @@
1
+ import "./constants-Bj0Fwj1k.mjs";
2
+ import { n as emailsModule, r as setViteServer, t as clearEmailCache } from "./routes-DjUUF4j_.mjs";
3
+
4
+ export { clearEmailCache };
@@ -1,4 +1,4 @@
1
- import { t as APPOS_DIR, u as EMAILS_DIR } from "./constants-o5HvFNkU.mjs";
1
+ import { t as APPOS_DIR, u as EMAILS_DIR } from "./constants-Bj0Fwj1k.mjs";
2
2
  import { basename, extname, join, relative } from "node:path";
3
3
  import { existsSync, statSync } from "node:fs";
4
4
  import { readFile, readdir } from "node:fs/promises";
@@ -1,6 +1,6 @@
1
- import { S as WEB_DIR, _ as MIDDLEWARE_DIR, c as DEVTOOLS_PATH, h as LOCALES_DIR, i as BUILD_OUTPUT_DIR, p as FILE_EXT, s as DESIGN_SYSTEM_PATH, t as APPOS_DIR, v as PUBLIC_DIR } from "./constants-o5HvFNkU.mjs";
1
+ import { S as WEB_DIR, _ as MIDDLEWARE_DIR, c as DEVTOOLS_PATH, h as LOCALES_DIR, i as BUILD_OUTPUT_DIR, p as FILE_EXT, s as DESIGN_SYSTEM_PATH, t as APPOS_DIR, v as PUBLIC_DIR } from "./constants-Bj0Fwj1k.mjs";
2
2
  import { t as instrumentation_exports } from "./instrumentation-NIH3Iibm.mjs";
3
- import { o as loadAndRegisterAPIRoutes } from "./openapi-BFpeEcgu.mjs";
3
+ import { o as loadAndRegisterAPIRoutes } from "./openapi-B-UGCo72.mjs";
4
4
  import { t as appLoadContext } from "./context-tMoLkr9-.mjs";
5
5
  import { t as isLocalDev } from "./env-Dy3oGNWp.mjs";
6
6
  import { RouterContextProvider } from "react-router";
@@ -1702,7 +1702,7 @@ async function defineServer({ container }) {
1702
1702
  if (translations) res.json(translations);
1703
1703
  else res.status(404).json({ error: "Locale not found" });
1704
1704
  });
1705
- const { defineDevtoolsMiddleware } = await import("./panel-B0YSnXGN.mjs");
1705
+ const { defineDevtoolsMiddleware } = await import("./panel-BjA8Sxwg.mjs");
1706
1706
  app.use(DEVTOOLS_PATH, defineDevtoolsMiddleware(container));
1707
1707
  }
1708
1708
  if (process.env.NODE_ENV === "production") {
@@ -1720,6 +1720,13 @@ async function defineServer({ container }) {
1720
1720
  const serverBuild = await import(resolve(process.cwd(), BUILD_OUTPUT_DIR, "server/index.js"));
1721
1721
  const buildAppLoadContext = serverBuild.entry.module.appLoadContext;
1722
1722
  const createLoadContext = async (req) => {
1723
+ const docsBasePath = globalThis.__APPOS_DOCS_BASE_PATH__;
1724
+ const availableLocales = globalThis.__APPOS_DOCS_AVAILABLE_LOCALES__;
1725
+ const defaultLang = globalThis.__APPOS_DOCS_DEFAULT_LANGUAGE__;
1726
+ if (docsBasePath && req.path.startsWith(docsBasePath) && availableLocales && defaultLang && !availableLocales.includes(req.language)) {
1727
+ req.language = defaultLang;
1728
+ req.dir = container.i18n.dir(defaultLang);
1729
+ }
1723
1730
  const provider = new RouterContextProvider();
1724
1731
  provider.set(buildAppLoadContext, await defineAppContext({
1725
1732
  apiKey: req.apiKey,
@@ -1745,6 +1752,13 @@ async function defineServer({ container }) {
1745
1752
  * Creates RouterContextProvider with AppContext for React Router loaders/actions.
1746
1753
  */
1747
1754
  const createLoadContext = async (req) => {
1755
+ const docsBasePath = globalThis.__APPOS_DOCS_BASE_PATH__;
1756
+ const availableLocales = globalThis.__APPOS_DOCS_AVAILABLE_LOCALES__;
1757
+ const defaultLang = globalThis.__APPOS_DOCS_DEFAULT_LANGUAGE__;
1758
+ if (docsBasePath && req.path.startsWith(docsBasePath) && availableLocales && defaultLang && !availableLocales.includes(req.language)) {
1759
+ req.language = defaultLang;
1760
+ req.dir = container.i18n.dir(defaultLang);
1761
+ }
1748
1762
  const provider = new RouterContextProvider();
1749
1763
  provider.set(appLoadContext, await defineAppContext({
1750
1764
  apiKey: req.apiKey,
@@ -21,8 +21,8 @@ import { z } from "zod";
21
21
  */
22
22
  declare const sizeSchema: z.ZodEnum<{
23
23
  default: "default";
24
- sm: "sm";
25
24
  xs: "xs";
25
+ sm: "sm";
26
26
  lg: "lg";
27
27
  xl: "xl";
28
28
  }>;
@@ -1,4 +1,4 @@
1
- import { J as useAuthContext, a as defineAuthFeatures, i as defineAuthClient, n as DefineAuthClientOptions, q as AuthProvider, r as DefineAuthClientResult, t as AuthFeatures } from "../auth-DTdZK0A3.js";
2
- import "../utils-DIh7O_tR.js";
3
- import "../brand-fAZpdIvA.js";
1
+ import { J as useAuthContext, a as defineAuthFeatures, i as defineAuthClient, n as DefineAuthClientOptions, q as AuthProvider, r as DefineAuthClientResult, t as AuthFeatures } from "../auth-DcGxNJMM.js";
2
+ import "../utils-DcsrJr6q.js";
3
+ import "../brand-T7flc4kn.js";
4
4
  export { AuthFeatures, AuthProvider, DefineAuthClientOptions, DefineAuthClientResult, defineAuthClient, defineAuthFeatures, useAuthContext };