@vitnode/core 1.2.0-canary.21 → 1.2.0-canary.23

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 (84) hide show
  1. package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
  2. package/dist/src/api/models/user/sign-up.js +1 -2
  3. package/dist/src/api/models/user.d.ts.map +1 -1
  4. package/dist/src/api/modules/users/routes/sign-up.route.d.ts +10 -2
  5. package/dist/src/api/modules/users/routes/sign-up.route.d.ts.map +1 -1
  6. package/dist/src/api/modules/users/routes/sign-up.route.js +14 -4
  7. package/dist/src/api/modules/users/users.module.d.ts +10 -2
  8. package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
  9. package/dist/src/app_admin/core/users/page.js +1 -1
  10. package/dist/src/components/form/auto-form.js +1 -1
  11. package/dist/src/components/form/fields/combobox-async.d.ts +21 -0
  12. package/dist/src/components/form/fields/combobox-async.d.ts.map +1 -0
  13. package/dist/src/components/form/fields/combobox-async.js +115 -0
  14. package/dist/src/components/form/fields/combobox.d.ts +2 -1
  15. package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
  16. package/dist/src/components/form/fields/combobox.js +4 -5
  17. package/dist/src/components/table/content.js +2 -2
  18. package/dist/src/components/table/order-table-head.js +1 -1
  19. package/dist/src/components/table/pagination.js +3 -3
  20. package/dist/src/components/ui/alert-dialog.js +2 -2
  21. package/dist/src/components/ui/button.d.ts +1 -1
  22. package/dist/src/components/ui/button.d.ts.map +1 -1
  23. package/dist/src/components/ui/button.js +1 -0
  24. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  25. package/dist/src/components/ui/dialog.js +1 -1
  26. package/dist/src/lib/fetcher/core.d.ts +15 -0
  27. package/dist/src/lib/fetcher/core.d.ts.map +1 -0
  28. package/dist/src/lib/fetcher/core.js +39 -0
  29. package/dist/src/lib/fetcher/helpers-server.d.ts +3 -0
  30. package/dist/src/lib/fetcher/helpers-server.d.ts.map +1 -0
  31. package/dist/src/lib/fetcher/helpers-server.js +18 -0
  32. package/dist/src/lib/fetcher/helpers.d.ts +0 -1
  33. package/dist/src/lib/fetcher/helpers.d.ts.map +1 -1
  34. package/dist/src/lib/fetcher/helpers.js +0 -17
  35. package/dist/src/lib/fetcher-client.d.ts +8 -0
  36. package/dist/src/lib/fetcher-client.d.ts.map +1 -0
  37. package/dist/src/lib/fetcher-client.js +11 -0
  38. package/dist/src/lib/fetcher.d.ts +2 -1
  39. package/dist/src/lib/fetcher.d.ts.map +1 -1
  40. package/dist/src/lib/fetcher.js +14 -33
  41. package/dist/src/lib/helpers/auto-form.d.ts.map +1 -1
  42. package/dist/src/lib/helpers/auto-form.js +28 -16
  43. package/dist/src/lib/helpers/auto-form.test.js +49 -0
  44. package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
  45. package/dist/src/views/admin/layouts/sidebar/nav/item.js +38 -4
  46. package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js +1 -1
  47. package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
  48. package/dist/src/views/admin/views/core/test.js +108 -103
  49. package/dist/src/views/auth/sign-in/form/form.js +1 -1
  50. package/dist/src/views/auth/sign-in/form/{hooks/mutation-api.d.ts → mutation-api.d.ts} +1 -1
  51. package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +1 -0
  52. package/dist/src/views/auth/sign-in/form/{hooks/mutation-api.js → mutation-api.js} +3 -3
  53. package/dist/src/views/auth/sign-in/form/use-form.d.ts.map +1 -0
  54. package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts +4 -0
  55. package/dist/src/views/auth/sign-up/email-confirmation-view.d.ts.map +1 -0
  56. package/dist/src/views/auth/sign-up/email-confirmation-view.js +55 -0
  57. package/dist/src/views/auth/sign-up/form/form.js +1 -1
  58. package/dist/src/views/auth/sign-up/form/mutation-api.d.ts +14 -0
  59. package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +1 -0
  60. package/dist/src/views/auth/sign-up/form/mutation-api.js +29 -0
  61. package/dist/src/views/auth/sign-up/form/use-form.d.ts.map +1 -0
  62. package/dist/src/views/auth/sign-up/form/{hooks/use-form.js → use-form.js} +7 -3
  63. package/dist/src/views/auth/sign-up/sign-up-view.d.ts.map +1 -1
  64. package/dist/src/views/auth/sign-up/sign-up-view.js +38 -35
  65. package/dist/src/views/auth/sign-up/wrapper.d.ts +8 -0
  66. package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -0
  67. package/dist/src/views/auth/sign-up/wrapper.js +19 -0
  68. package/dist/src/views/auth/sso/buttons/sso-buttons.d.ts.map +1 -1
  69. package/dist/src/views/auth/sso/buttons/sso-buttons.js +5 -3
  70. package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
  71. package/dist/src/views/layouts/theme/header/header.js +24 -21
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +3 -2
  74. package/src/app_admin/core/users/page.tsx +1 -1
  75. package/src/locales/en.json +7 -0
  76. package/dist/src/views/auth/sign-in/form/hooks/mutation-api.d.ts.map +0 -1
  77. package/dist/src/views/auth/sign-in/form/hooks/use-form.d.ts.map +0 -1
  78. package/dist/src/views/auth/sign-up/form/hooks/mutation-api.d.ts +0 -6
  79. package/dist/src/views/auth/sign-up/form/hooks/mutation-api.d.ts.map +0 -1
  80. package/dist/src/views/auth/sign-up/form/hooks/mutation-api.js +0 -18
  81. package/dist/src/views/auth/sign-up/form/hooks/use-form.d.ts.map +0 -1
  82. /package/dist/src/views/auth/sign-in/form/{hooks/use-form.d.ts → use-form.d.ts} +0 -0
  83. /package/dist/src/views/auth/sign-in/form/{hooks/use-form.js → use-form.js} +0 -0
  84. /package/dist/src/views/auth/sign-up/form/{hooks/use-form.d.ts → use-form.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ import type { BaseBuildModuleReturn, BuildModuleReturn } from '../api/lib/module';
2
+ import type { Route } from '../api/lib/route';
3
+ import type { FetcherParams, GetModulePaths, GetValidMethodForPath, GetValidPathsForModule, InferResponseType } from './fetcher/types';
4
+ export declare function fetcherClient<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>(moduleReturn: BuildModuleReturn<string, M, Routes, Modules>, { path, method, module, args, options, withPagination, }: FetcherParams<M, Routes, Modules, ModuleName, SelectedPath, Method> & {
5
+ options?: Omit<RequestInit, 'body'>;
6
+ withPagination?: boolean;
7
+ }): Promise<InferResponseType<M, Routes, Modules, ModuleName, SelectedPath, Method>>;
8
+ //# sourceMappingURL=fetcher-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher-client.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAIzB,wBAAsB,aAAa,CACjC,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAsB,GACvB,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CASA"}
@@ -0,0 +1,11 @@
1
+ import { coreFetcher } from "./fetcher/core.js";
2
+ export async function fetcherClient(moduleReturn, { path, method, module, args, options, withPagination = false }) {
3
+ return coreFetcher(moduleReturn, {
4
+ path,
5
+ method,
6
+ module,
7
+ args,
8
+ options,
9
+ withPagination
10
+ });
11
+ }
@@ -1,7 +1,8 @@
1
+ import 'server-only';
1
2
  import type { BaseBuildModuleReturn, BuildModuleReturn } from '../api/lib/module';
2
3
  import type { Route } from '../api/lib/route';
3
4
  import type { FetcherParams, GetModulePaths, GetValidMethodForPath, GetValidPathsForModule, InferResponseType } from './fetcher/types';
4
- export declare function fetcher<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>({ pluginId }: BuildModuleReturn<string, M, Routes, Modules>, { path, method, module, args, options, allowSaveCookies, withPagination, }: FetcherParams<M, Routes, Modules, ModuleName, SelectedPath, Method> & {
5
+ export declare function fetcher<M extends string, Routes extends Route[], Modules extends BaseBuildModuleReturn[], ModuleName extends GetModulePaths<M, Modules>, SelectedPath extends GetValidPathsForModule<ModuleName, M, Routes, Modules>, Method extends GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules> = GetValidMethodForPath<ModuleName, SelectedPath, M, Routes, Modules>>(moduleReturn: BuildModuleReturn<string, M, Routes, Modules>, { path, method, module, args, options, allowSaveCookies, withPagination, }: FetcherParams<M, Routes, Modules, ModuleName, SelectedPath, Method> & {
5
6
  allowSaveCookies?: boolean;
6
7
  options?: Omit<RequestInit, 'body'>;
7
8
  withPagination?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,wBAAsB,OAAO,CAC3B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,gBAAwB,EACxB,cAAsB,GACvB,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CA+DA"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,wBAAsB,OAAO,CAC3B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,gBAAwB,EACxB,cAAsB,GACvB,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CA+BA"}
@@ -1,45 +1,26 @@
1
+ import "server-only";
1
2
  import { cookies, headers } from "next/headers";
2
- import { CONFIG } from "./config.js";
3
- import { buildSearchParams, handleSetCookiesFetcher } from "./fetcher/helpers.js";
4
- export async function fetcher({ pluginId }, { path, method, module, args, options, allowSaveCookies = false, withPagination = false }) {
5
- let currentPath = path;
6
- // Replace path parameters
7
- if (args && 'params' in args && args.params) {
8
- for (const [key, value] of Object.entries(args.params)){
9
- currentPath = currentPath.replaceAll(`{${key}}`, String(value));
10
- }
11
- }
12
- // Ensure path starts with a slash
13
- const formattedPath = currentPath.startsWith('/') ? currentPath : `/${currentPath}`;
14
- // Construct the base URL
15
- const url = new URL(`/api/${pluginId}/${module}${formattedPath}`, CONFIG.backend.origin);
16
- // Add query parameters if they exist
17
- if (args && 'query' in args && args.query) {
18
- const queryParams = args.query;
19
- const searchParams = buildSearchParams({
20
- ...args.query,
21
- ...withPagination && {
22
- first: !queryParams.last ? queryParams.first ?? '10' : undefined,
23
- search: queryParams.search ?? ''
24
- }
25
- });
26
- url.search = searchParams.toString();
27
- }
3
+ import { coreFetcher } from "./fetcher/core.js";
4
+ import { handleSetCookiesFetcher } from "./fetcher/helpers-server.js";
5
+ export async function fetcher(moduleReturn, { path, method, module, args, options, allowSaveCookies = false, withPagination = false }) {
28
6
  const [nextInternalHeaders, cookie] = await Promise.all([
29
7
  headers(),
30
8
  cookies()
31
9
  ]);
32
- const response = await fetch(url, {
33
- method: method.toUpperCase(),
34
- headers: new Headers({
35
- 'Content-Type': 'application/json',
10
+ const response = await coreFetcher(moduleReturn, {
11
+ path,
12
+ method,
13
+ module,
14
+ args,
15
+ options,
16
+ withPagination,
17
+ additionalHeaders: {
36
18
  Cookie: cookie.toString(),
37
19
  ['user-agent']: nextInternalHeaders.get('user-agent') ?? 'node',
38
20
  ['x-forwarded-for']: nextInternalHeaders.get('x-forwarded-for') ?? '0.0.0.0'
39
- }),
40
- body: args && 'body' in args ? JSON.stringify(args.body) : undefined,
41
- ...options
21
+ }
42
22
  });
23
+ // Handle cookies on server-side for successful responses
43
24
  if (response.status >= 200 && response.status < 300 && allowSaveCookies) {
44
25
  await handleSetCookiesFetcher(response);
45
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC7E,IAAI,MAAM,KACT,IAAI,GAAG,CAAC,CAAC,MAMX,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,kBAAkB,GAEzB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAUvB;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAClD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,GAAG,CAAC,CAYV;AAMD,eAAO,MAAM,WAAW,GAAI,QAAQ,CAAC,CAAC,UAAU,KAAG,MAIlD,CAAC;AAKF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAevE;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EACnE,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAmC1C"}
1
+ {"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC7E,IAAI,MAAM,KACT,IAAI,GAAG,CAAC,CAAC,MAMX,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,kBAAkB,GAEzB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAUvB;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAClD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,GAAG,CAAC,CAYV;AAMD,eAAO,MAAM,WAAW,GAAI,QAAQ,CAAC,CAAC,UAAU,KAAG,MAIlD,CAAC;AAKF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CA2CvE;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EACnE,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CA8B1C"}
@@ -37,17 +37,33 @@ export function getObjectFormSchema(schema) {
37
37
  return baseSchema ? baseSchema._def.typeName : '';
38
38
  };
39
39
  /**
40
- * Search for a "ZodDefult" in the Zod stack and return its value.
40
+ * Search for a "ZodDefault" in the Zod stack and return its value.
41
41
  */ export function getDefaultValueInZodStack(schema) {
42
+ // Check if this is a ZodDefault and return its value
42
43
  if (schema._def.typeName === z.ZodFirstPartyTypeKind.ZodDefault) {
43
- return schema._def.defaultValue();
44
+ const defaultValue = schema._def.defaultValue();
45
+ // If defaultValue is a function, call it to get the actual value
46
+ return typeof defaultValue === 'function' ? defaultValue() : defaultValue;
44
47
  }
45
- if ('innerType' in schema._def) {
46
- return getDefaultValueInZodStack(schema._def.innerType);
48
+ // Traverse through ZodEffects (like refinements) - check this first as it wraps the actual schema
49
+ if (schema._def.typeName === z.ZodFirstPartyTypeKind.ZodEffects) {
50
+ return getDefaultValueInZodStack(schema._def.schema);
47
51
  }
52
+ // Traverse through other types that have schema property
48
53
  if ('schema' in schema._def) {
49
54
  return getDefaultValueInZodStack(schema._def.schema);
50
55
  }
56
+ // Traverse through ZodOptional, ZodNullable, etc.
57
+ if ('innerType' in schema._def) {
58
+ return getDefaultValueInZodStack(schema._def.innerType);
59
+ }
60
+ // Traverse through ZodArray's element type
61
+ if ('type' in schema._def && schema._def.typeName === z.ZodFirstPartyTypeKind.ZodArray) {
62
+ const innerDefault = getDefaultValueInZodStack(schema._def.type);
63
+ return innerDefault !== undefined ? [
64
+ innerDefault
65
+ ] : undefined;
66
+ }
51
67
  return undefined;
52
68
  }
53
69
  /**
@@ -59,23 +75,19 @@ export function getDefaultValues(schema) {
59
75
  if (!shape) return defaultValues;
60
76
  for (const key of Object.keys(shape)){
61
77
  const item = shape[key];
62
- if (getBaseType(item) === 'ZodObject') {
78
+ // First, try to get any default value from the current item (including nested defaults)
79
+ const defaultValue = getDefaultValueInZodStack(item);
80
+ if (defaultValue !== undefined) {
81
+ defaultValues[key] = defaultValue;
82
+ } else if (getBaseType(item) === 'ZodObject') {
83
+ // Only recurse into object shape if there's no default value at the current level
63
84
  const baseSchema = getBaseSchema(item);
64
85
  if (baseSchema && 'shape' in baseSchema._def) {
65
86
  const defaultItems = getDefaultValues(baseSchema);
66
- if (defaultItems !== null) {
67
- const obj = {};
68
- for (const defaultItemKey of Object.keys(defaultItems)){
69
- obj[defaultItemKey] = defaultItems[defaultItemKey];
70
- defaultValues[key] = obj;
71
- }
87
+ if (defaultItems && Object.keys(defaultItems).length > 0) {
88
+ defaultValues[key] = defaultItems;
72
89
  }
73
90
  }
74
- } else {
75
- const defaultValue = getDefaultValueInZodStack(item);
76
- if (defaultValue !== undefined) {
77
- defaultValues[key] = defaultValue;
78
- }
79
91
  }
80
92
  }
81
93
  return defaultValues;
@@ -117,6 +117,55 @@ describe('auto-form helpers', ()=>{
117
117
  const defaults = getDefaultValues(schema);
118
118
  expect(defaults).toEqual({});
119
119
  });
120
+ it('should handle complex default values with conditional logic', ()=>{
121
+ const data = {
122
+ category: {
123
+ id: 123,
124
+ title: 'Technology'
125
+ }
126
+ };
127
+ const schema = z.object({
128
+ title: z.string().default('Default Title'),
129
+ categoryId: z.object({
130
+ value: z.string(),
131
+ label: z.string()
132
+ }).default(data?.category ? {
133
+ value: data.category.id.toString(),
134
+ label: data.category.title
135
+ } : {
136
+ value: '',
137
+ label: ''
138
+ })
139
+ });
140
+ const defaults = getDefaultValues(schema);
141
+ expect(defaults).toEqual({
142
+ title: 'Default Title',
143
+ categoryId: {
144
+ value: '123',
145
+ label: 'Technology'
146
+ }
147
+ });
148
+ });
149
+ it('should handle complex default values with falsy data', ()=>{
150
+ // Test with a simpler approach - using a function that returns the default value
151
+ const getDefaultCategoryId = ()=>({
152
+ value: '',
153
+ label: ''
154
+ });
155
+ const schema = z.object({
156
+ categoryId: z.object({
157
+ value: z.string(),
158
+ label: z.string()
159
+ }).default(getDefaultCategoryId())
160
+ });
161
+ const defaults = getDefaultValues(schema);
162
+ expect(defaults).toEqual({
163
+ categoryId: {
164
+ value: '',
165
+ label: ''
166
+ }
167
+ });
168
+ });
120
169
  it('should return empty object for schema without shape', ()=>{
121
170
  const schema = z.string();
122
171
  const defaults = getDefaultValues(schema);
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAmBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,4CA8DA,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAoBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,4CAuHA,CAAC"}
@@ -2,11 +2,25 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { ChevronRight, MenuIcon } from "lucide-react";
4
4
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../../../components/ui/collapsible.js";
5
- import { SidebarMenuButton } from "../../../../../components/ui/sidebar.js";
5
+ import { SidebarMenuButton, useSidebar } from "../../../../../components/ui/sidebar.js";
6
6
  import { SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem } from "../../../../../components/ui/sidebar.js";
7
- import { Link } from "../../../../../lib/navigation.js";
7
+ import { useIsMobile } from "../../../../../hooks/use-mobile.js";
8
+ import { Link, usePathname } from "../../../../../lib/navigation.js";
8
9
  import { cn } from "../../../../../lib/utils.js";
9
10
  export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=>{
11
+ const { toggleSidebar } = useSidebar();
12
+ const isMobile = useIsMobile();
13
+ const pathname = usePathname();
14
+ // Helper function to normalize URLs for comparison
15
+ const normalizeUrl = (url)=>{
16
+ return url.endsWith('/') && url.length > 1 ? url.slice(0, -1) : url;
17
+ };
18
+ // Check if current path matches href (with normalization)
19
+ const isActive = normalizeUrl(pathname) === normalizeUrl(href);
20
+ // Check if any child item is active
21
+ const hasActiveChild = items.some((item)=>normalizeUrl(pathname) === normalizeUrl(item.href));
22
+ // Open collapsible by default if has active child
23
+ const defaultOpen = hasActiveChild;
10
24
  const content = /*#__PURE__*/ _jsxs(_Fragment, {
11
25
  children: [
12
26
  icon ?? /*#__PURE__*/ _jsx(MenuIcon, {}),
@@ -19,9 +33,16 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
19
33
  return /*#__PURE__*/ _jsx(SidebarMenuItem, {
20
34
  children: /*#__PURE__*/ _jsx(SidebarMenuButton, {
21
35
  asChild: true,
36
+ isActive: isActive,
22
37
  tooltip: title,
23
38
  children: /*#__PURE__*/ _jsx(Link, {
39
+ className: cn('relative', isActive && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
24
40
  href: href,
41
+ onClick: ()=>{
42
+ if (isMobile) {
43
+ toggleSidebar();
44
+ }
45
+ },
25
46
  prefetch: true,
26
47
  rel: isOpenInNewTab ? 'noopener noreferrer' : undefined,
27
48
  target: isOpenInNewTab ? '_blank' : undefined,
@@ -33,11 +54,14 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
33
54
  return /*#__PURE__*/ _jsx(Collapsible, {
34
55
  asChild: true,
35
56
  className: "group/collapsible",
57
+ defaultOpen: defaultOpen,
36
58
  children: /*#__PURE__*/ _jsxs(SidebarMenuItem, {
37
59
  children: [
38
60
  /*#__PURE__*/ _jsx(CollapsibleTrigger, {
39
61
  asChild: true,
40
62
  children: /*#__PURE__*/ _jsxs(SidebarMenuButton, {
63
+ className: cn('relative', (isActive || hasActiveChild) && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
64
+ isActive: isActive || hasActiveChild,
41
65
  tooltip: title,
42
66
  children: [
43
67
  content,
@@ -50,18 +74,28 @@ export const ItemNavAdmin = ({ href, title, icon, items = [], isOpenInNewTab })=
50
74
  /*#__PURE__*/ _jsx(CollapsibleContent, {
51
75
  className: cn('text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-none'),
52
76
  children: /*#__PURE__*/ _jsx(SidebarMenuSub, {
53
- children: items.map((item)=>/*#__PURE__*/ _jsx(SidebarMenuSubItem, {
77
+ children: items.map((item)=>{
78
+ const isChildActive = normalizeUrl(pathname) === normalizeUrl(item.href);
79
+ return /*#__PURE__*/ _jsx(SidebarMenuSubItem, {
54
80
  children: /*#__PURE__*/ _jsx(SidebarMenuSubButton, {
55
81
  asChild: true,
82
+ isActive: isChildActive,
56
83
  children: /*#__PURE__*/ _jsx(Link, {
84
+ className: cn('relative', isChildActive && 'before:bg-primary before:absolute before:bottom-1 before:left-0 before:top-1 before:h-auto before:w-1 before:rounded-r-sm'),
57
85
  href: item.href,
86
+ onClick: ()=>{
87
+ if (isMobile) {
88
+ toggleSidebar();
89
+ }
90
+ },
58
91
  prefetch: true,
59
92
  rel: item.isOpenInNewTab ? 'noopener noreferrer' : undefined,
60
93
  target: item.isOpenInNewTab ? '_blank' : undefined,
61
94
  children: item.title
62
95
  })
63
96
  })
64
- }, item.href))
97
+ }, item.href);
98
+ })
65
99
  })
66
100
  })
67
101
  ]
@@ -11,7 +11,7 @@ export const DashboardAdminView = async ()=>{
11
11
  if (!session) return null;
12
12
  const { vitnode_version } = session;
13
13
  return /*#__PURE__*/ _jsxs("div", {
14
- className: "container mx-auto p-4",
14
+ className: "p-4",
15
15
  children: [
16
16
  /*#__PURE__*/ _jsx(HeaderContent, {
17
17
  desc: t('version', {
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/views/core/test.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,+CA0IpB,CAAC"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/views/admin/views/core/test.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,QAAQ,+CA6IpB,CAAC"}
@@ -9,6 +9,7 @@ import { AutoFormRadioGroup } from "../../../../components/form/fields/radio-gro
9
9
  import { AutoFormSelect } from "../../../../components/form/fields/select.js";
10
10
  import { AutoFormSwitch } from "../../../../components/form/fields/switch.js";
11
11
  import { AutoFormTextarea } from "../../../../components/form/fields/textarea.js";
12
+ import { Card } from "../../../../components/ui/card.js";
12
13
  export const TestView = ()=>{
13
14
  const formSchema = z.object({
14
15
  provider: z.string().min(1, {
@@ -37,110 +38,114 @@ export const TestView = ()=>{
37
38
  ])
38
39
  });
39
40
  return /*#__PURE__*/ _jsx("div", {
40
- className: "container mx-auto p-4",
41
- children: /*#__PURE__*/ _jsx(AutoForm, {
42
- fields: [
43
- {
44
- id: 'provider',
45
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormInput, {
46
- description: "This is the provider for your application. It should be a valid provider name.",
47
- label: "Provider",
48
- ...props
49
- })
50
- },
51
- {
52
- id: 'client_secret',
53
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormTextarea, {
54
- description: "This is the client secret for your application. It should be kept secret and not shared with anyone.",
55
- label: "Client Secret",
56
- ...props
57
- })
58
- },
59
- {
60
- id: 'terms',
61
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormCheckbox, {
62
- description: "By checking this box, you agree to the terms and conditions.",
63
- label: "I agree to the terms and conditions",
64
- ...props
65
- })
66
- },
67
- {
68
- id: 'options',
69
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormRadioGroup, {
70
- description: "By checking this box, you agree to the terms and conditions.",
71
- label: "I agree to the terms and conditions",
72
- labels: [
73
- {
74
- value: 'option1',
75
- label: 'Option 1 with a very long label that should be truncated'
76
- },
77
- {
78
- value: 'option2',
79
- label: 'Option 2'
80
- },
81
- {
82
- value: 'option3',
83
- label: 'Option 3'
84
- }
85
- ],
86
- ...props
87
- })
88
- },
89
- {
90
- id: 'options_long',
91
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormSelect, {
92
- description: "By checking this box, you agree to the terms and conditions.",
93
- label: "I agree to the terms and conditions",
94
- labels: [
95
- {
96
- value: 'option1',
97
- label: 'Option 1 with a very long label that should be truncated'
98
- },
99
- {
100
- value: 'option2',
101
- label: 'Option 2'
102
- },
103
- {
104
- value: 'option3',
105
- label: 'Option 3'
106
- }
107
- ],
108
- placeholder: "Select an option from the list",
109
- ...props
110
- })
111
- },
112
- {
113
- id: 'switch',
114
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormSwitch, {
115
- description: "By checking this box, you agree to the terms and conditions.",
116
- label: "I agree to the terms and conditions",
117
- ...props
118
- })
119
- },
120
- {
121
- id: 'type',
122
- component: (props)=>/*#__PURE__*/ _jsx(AutoFormCombobox, {
123
- description: "By checking this box, you agree to the terms and conditions.",
124
- label: "Type",
125
- labels: [
126
- {
127
- value: 'option-one',
128
- label: 'Option One'
129
- },
130
- {
131
- value: 'option-two',
132
- label: 'Option Two'
133
- }
134
- ],
135
- ...props
136
- })
41
+ className: "p-4",
42
+ children: /*#__PURE__*/ _jsx(Card, {
43
+ className: "p-6",
44
+ children: /*#__PURE__*/ _jsx(AutoForm, {
45
+ fields: [
46
+ {
47
+ id: 'provider',
48
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormInput, {
49
+ description: "This is the provider for your application. It should be a valid provider name.",
50
+ label: "Provider",
51
+ ...props
52
+ })
53
+ },
54
+ {
55
+ id: 'client_secret',
56
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormTextarea, {
57
+ description: "This is the client secret for your application. It should be kept secret and not shared with anyone.",
58
+ label: "Client Secret",
59
+ ...props
60
+ })
61
+ },
62
+ {
63
+ id: 'terms',
64
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormCheckbox, {
65
+ description: "By checking this box, you agree to the terms and conditions.",
66
+ label: "I agree to the terms and conditions",
67
+ ...props
68
+ })
69
+ },
70
+ {
71
+ id: 'options',
72
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormRadioGroup, {
73
+ description: "By checking this box, you agree to the terms and conditions.",
74
+ label: "I agree to the terms and conditions",
75
+ labels: [
76
+ {
77
+ value: 'option1',
78
+ label: 'Option 1 with a very long label that should be truncated'
79
+ },
80
+ {
81
+ value: 'option2',
82
+ label: 'Option 2'
83
+ },
84
+ {
85
+ value: 'option3',
86
+ label: 'Option 3'
87
+ }
88
+ ],
89
+ ...props
90
+ })
91
+ },
92
+ {
93
+ id: 'options_long',
94
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormSelect, {
95
+ description: "By checking this box, you agree to the terms and conditions.",
96
+ label: "I agree to the terms and conditions",
97
+ labels: [
98
+ {
99
+ value: 'option1',
100
+ label: 'Option 1 with a very long label that should be truncated'
101
+ },
102
+ {
103
+ value: 'option2',
104
+ label: 'Option 2'
105
+ },
106
+ {
107
+ value: 'option3',
108
+ label: 'Option 3'
109
+ }
110
+ ],
111
+ placeholder: "Select an option from the list",
112
+ ...props
113
+ })
114
+ },
115
+ {
116
+ id: 'switch',
117
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormSwitch, {
118
+ description: "By checking this box, you agree to the terms and conditions.",
119
+ label: "I agree to the terms and conditions",
120
+ ...props
121
+ })
122
+ },
123
+ {
124
+ id: 'type',
125
+ component: (props)=>/*#__PURE__*/ _jsx(AutoFormCombobox, {
126
+ description: "By checking this box, you agree to the terms and conditions.",
127
+ label: "Type",
128
+ labels: [
129
+ {
130
+ value: 'option-one',
131
+ label: 'Option One'
132
+ },
133
+ {
134
+ value: 'option-two',
135
+ label: 'Option Two'
136
+ }
137
+ ],
138
+ ...props
139
+ })
140
+ }
141
+ ],
142
+ formSchema: formSchema,
143
+ onSubmit: async (values)=>{
144
+ // eslint-disable-next-line no-console
145
+ console.log('Form submitted', values);
146
+ await new Promise((resolve)=>setTimeout(resolve, 3000));
137
147
  }
138
- ],
139
- formSchema: formSchema,
140
- onSubmit: (values)=>{
141
- // eslint-disable-next-line no-console
142
- console.log('Form submitted', values);
143
- }
148
+ })
144
149
  })
145
150
  });
146
151
  };
@@ -5,7 +5,7 @@ import { useTranslations } from "next-intl";
5
5
  import { AutoForm } from "../../../../components/form/auto-form.js";
6
6
  import { AutoFormInput } from "../../../../components/form/fields/input.js";
7
7
  import { Alert, AlertDescription, AlertTitle } from "../../../../components/ui/alert.js";
8
- import { useFormSignIn } from "./hooks/use-form.js";
8
+ import { useFormSignIn } from "./use-form.js";
9
9
  export const FormSignIn = ({ isAdmin })=>{
10
10
  const t = useTranslations('core.auth.sign_in');
11
11
  const { onSubmit, error, formSchema } = useFormSignIn({
@@ -1,5 +1,5 @@
1
1
  import type { z } from 'zod';
2
- import type { zodSignInSchema } from '../../../../../api/modules/users/routes/sign-in.route';
2
+ import type { zodSignInSchema } from '../../../../api/modules/users/routes/sign-in.route';
3
3
  export declare const mutationApi: (input: z.infer<typeof zodSignInSchema> & {
4
4
  isAdmin?: boolean;
5
5
  }) => Promise<{
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-api.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/mutation-api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAMhF,eAAO,MAAM,WAAW,GACtB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;cA6BF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  'use server';
2
2
  import { revalidatePath } from "next/cache";
3
- import { usersModule } from "../../../../../api/modules/users/users.module.js";
4
- import { fetcher } from "../../../../../lib/fetcher.js";
5
- import { redirect } from "../../../../../lib/navigation.js";
3
+ import { usersModule } from "../../../../api/modules/users/users.module.js";
4
+ import { fetcher } from "../../../../lib/fetcher.js";
5
+ import { redirect } from "../../../../lib/navigation.js";
6
6
  export const mutationApi = async (input)=>{
7
7
  const res = await fetcher(usersModule, {
8
8
  path: '/sign_in',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/sign-in/form/use-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,GAAI,aAAa;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;uBAe9B,CAAC,CAAC,KAAK;;;;;;;;;OAAmB;;;;;;;;;;;;CAiB3D,CAAC"}