wcz-test 6.10.0 → 6.10.1
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.
- package/dist/{FileHooks-hWKTwLCr.js → FileHooks-BbjesS5D.js} +2 -2
- package/dist/{FileHooks-hWKTwLCr.js.map → FileHooks-BbjesS5D.js.map} +1 -1
- package/dist/client.d.ts +0 -6
- package/dist/client.js +2 -6
- package/dist/client.js.map +1 -1
- package/dist/components.js +1 -1
- package/dist/hooks.d.ts +0 -3
- package/dist/hooks.js +1 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/queries.js +2 -2
- package/dist/server.d.ts +0 -2
- package/dist/server.js +3 -5
- package/dist/server.js.map +1 -1
- package/dist/{utils-DKyKGba7.js → utils-JYv9O0GI.js} +1 -2
- package/dist/utils-JYv9O0GI.js.map +1 -0
- package/package.json +1 -5
- package/dist/utils-DKyKGba7.js.map +0 -1
- package/dist/utils.d.ts +0 -11
- package/dist/utils.js +0 -9
- package/dist/utils.js.map +0 -1
|
@@ -5,7 +5,7 @@ import { Upload } from "tus-js-client";
|
|
|
5
5
|
import { uuidv7 } from "uuidv7";
|
|
6
6
|
import z__default from "zod";
|
|
7
7
|
import { F as FileMetaSchema } from "./FileMeta-G1oT3mYK.js";
|
|
8
|
-
import { t as toKebabCase, h as httpClient } from "./utils-
|
|
8
|
+
import { t as toKebabCase, h as httpClient } from "./utils-JYv9O0GI.js";
|
|
9
9
|
import { c as clientEnv } from "./env-CoxTjaDr.js";
|
|
10
10
|
const QUERY_KEY = "file";
|
|
11
11
|
const HOUR = 1e3 * 60 * 60;
|
|
@@ -192,4 +192,4 @@ export {
|
|
|
192
192
|
useUploadFile as h,
|
|
193
193
|
useGetFileMetas as u
|
|
194
194
|
};
|
|
195
|
-
//# sourceMappingURL=FileHooks-
|
|
195
|
+
//# sourceMappingURL=FileHooks-BbjesS5D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileHooks-hWKTwLCr.js","sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_API_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n // headers: { \"Authorization\": `Bearer ${await getToken()}` }, //TODO: implement token retrieval\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"names":["z","TusUpload"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileHooks-BbjesS5D.js","sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_API_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n // headers: { \"Authorization\": `Bearer ${await getToken()}` }, //TODO: implement token retrieval\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"names":["z","TusUpload"],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -12,9 +12,7 @@ import { RetryOptions } from '@better-fetch/fetch';
|
|
|
12
12
|
import { SessionQueryParams } from 'better-auth';
|
|
13
13
|
import { StandardSchemaV1 } from '@better-fetch/fetch';
|
|
14
14
|
import { SuccessContext } from '@better-fetch/fetch';
|
|
15
|
-
import { t } from 'i18next';
|
|
16
15
|
import { u } from 'node_modules/better-auth/dist/helper-DU33OcfW.d.mts';
|
|
17
|
-
import { useTranslation } from 'react-i18next';
|
|
18
16
|
import { WritableAtom } from 'nanostores';
|
|
19
17
|
|
|
20
18
|
export declare const authClient: {
|
|
@@ -714,10 +712,6 @@ export declare class Platform {
|
|
|
714
712
|
private static get userAgent();
|
|
715
713
|
}
|
|
716
714
|
|
|
717
|
-
export { t }
|
|
718
|
-
|
|
719
|
-
export { useTranslation }
|
|
720
|
-
|
|
721
715
|
export declare const WISTRON_PRIMARY_COLOR = "#00506E";
|
|
722
716
|
|
|
723
717
|
export declare const WISTRON_SECONDARY_COLOR = "#64DC00";
|
package/dist/client.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { W, b, a } from "./auth-client-B6cIXYDV.js";
|
|
2
|
-
import {
|
|
3
|
-
import { useTranslation } from "react-i18next";
|
|
4
|
-
import { P } from "./utils-DKyKGba7.js";
|
|
2
|
+
import { P } from "./utils-JYv9O0GI.js";
|
|
5
3
|
export {
|
|
6
4
|
P as Platform,
|
|
7
5
|
W as WISTRON_PRIMARY_COLOR,
|
|
8
6
|
b as WISTRON_SECONDARY_COLOR,
|
|
9
|
-
a as authClient
|
|
10
|
-
t,
|
|
11
|
-
useTranslation
|
|
7
|
+
a as authClient
|
|
12
8
|
};
|
|
13
9
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/components.js
CHANGED
|
@@ -9,7 +9,7 @@ import { grey } from "@mui/material/colors";
|
|
|
9
9
|
import { useInView } from "react-intersection-observer";
|
|
10
10
|
import Delete from "@mui/icons-material/Delete";
|
|
11
11
|
import FileDownload from "@mui/icons-material/FileDownload";
|
|
12
|
-
import { c as useDownloadFile, f as useDeleteFile, a as useGetFileThumbnail, d as useOpenFile, b as useGetFile, u as useGetFileMetas } from "./FileHooks-
|
|
12
|
+
import { c as useDownloadFile, f as useDeleteFile, a as useGetFileThumbnail, d as useOpenFile, b as useGetFile, u as useGetFileMetas } from "./FileHooks-BbjesS5D.js";
|
|
13
13
|
import AttachFile from "@mui/icons-material/AttachFile";
|
|
14
14
|
import Image from "@mui/icons-material/Image";
|
|
15
15
|
import SmartDisplay from "@mui/icons-material/SmartDisplay";
|
package/dist/hooks.d.ts
CHANGED
|
@@ -22,7 +22,6 @@ import { SwitchProps } from '@mui/material';
|
|
|
22
22
|
import { TextFieldProps } from '@mui/material';
|
|
23
23
|
import { TimePickerProps } from '@mui/x-date-pickers-pro';
|
|
24
24
|
import { TimeRangePickerProps } from '@mui/x-date-pickers-pro';
|
|
25
|
-
import { useInView } from 'react-intersection-observer';
|
|
26
25
|
import { WithFormProps } from '@tanstack/react-form';
|
|
27
26
|
|
|
28
27
|
declare interface AlertOptions {
|
|
@@ -133,8 +132,6 @@ export declare const useFieldContext: <TData>() => FieldApi<any, string, TData,
|
|
|
133
132
|
|
|
134
133
|
export declare const useFormContext: () => ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any, any, any>;
|
|
135
134
|
|
|
136
|
-
export { useInView }
|
|
137
|
-
|
|
138
135
|
export declare const useLayoutForm: <TFormData, TOnMount extends FormValidateOrFn<TFormData> | undefined, TOnChange extends FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => AppFieldExtendedReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
|
|
139
136
|
readonly TextField: FC<FormTextFieldProps>;
|
|
140
137
|
readonly NumberField: FC<FormNumberFieldProps>;
|
package/dist/hooks.js
CHANGED
|
@@ -2,10 +2,9 @@ import { createFormHookContexts, createFormHook } from "@tanstack/react-form";
|
|
|
2
2
|
import { j as jsxRuntimeExports } from "./DialogsHooks-Bi8dZoyu.js";
|
|
3
3
|
import { u } from "./DialogsHooks-Bi8dZoyu.js";
|
|
4
4
|
import { Autocomplete, TextField, FormControl, FormControlLabel, Checkbox, FormHelperText, FormLabel, RadioGroup, Radio, Slider, Button, Switch } from "@mui/material";
|
|
5
|
-
import { g as getFieldStatus } from "./utils-
|
|
5
|
+
import { g as getFieldStatus } from "./utils-JYv9O0GI.js";
|
|
6
6
|
import { DatePicker, DateRangePicker, TimePicker, TimeRangePicker, DateTimePicker, DateTimeRangePicker } from "@mui/x-date-pickers-pro";
|
|
7
7
|
import { NumericFormat } from "react-number-format";
|
|
8
|
-
import { useInView } from "react-intersection-observer";
|
|
9
8
|
const FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
|
|
10
9
|
const field = useFieldContext();
|
|
11
10
|
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
@@ -346,7 +345,6 @@ export {
|
|
|
346
345
|
u as useDialogs,
|
|
347
346
|
useFieldContext,
|
|
348
347
|
useFormContext,
|
|
349
|
-
useInView,
|
|
350
348
|
useLayoutForm,
|
|
351
349
|
withLayoutForm
|
|
352
350
|
};
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../src/components/form/FormAutocomplete.tsx","../src/components/form/FormCheckbox.tsx","../src/components/form/FormDatePicker.tsx","../src/components/form/FormDateRangePicker.tsx","../src/components/form/FormTimePicker.tsx","../src/components/form/FormTimeRangePicker.tsx","../src/components/form/FormDateTimePicker.tsx","../src/components/form/FormDateTimeRangePicker.tsx","../src/components/form/FormNumberField.tsx","../src/components/form/FormRadioGroup.tsx","../src/components/form/FormSlider.tsx","../src/components/form/FormSubmitButton.tsx","../src/components/form/FormSwitch.tsx","../src/components/form/FormTextField.tsx","../src/hooks/FormHooks.ts"],"sourcesContent":["import { Autocomplete, TextField } from \"@mui/material\";\r\nimport type { AutocompleteProps, TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormAutocompleteProps extends Omit<AutocompleteProps<any, boolean, boolean, boolean>, FormOmittedProps> {\r\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\r\n}\r\n\r\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({ textFieldProps, ...autocompleteProps }) => {\r\n const field = useFieldContext();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <Autocomplete\r\n value={field.state.value}\r\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\r\n onInputChange={(_, value, reason) => reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...autocompleteProps}\r\n renderInput={(parameters) =>\r\n <TextField\r\n {...parameters}\r\n name={field.name}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n {...textFieldProps}\r\n />\r\n }\r\n />\r\n );\r\n};","import { Checkbox, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\r\nimport type { CheckboxProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};","import { DatePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DatePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DatePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateRangePickerProps extends Omit<DateRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateRangePicker: FC<FormDateRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TimePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { TimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTimePickerProps extends Omit<TimePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormTimePicker: FC<FormTimePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TimePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TimeRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { TimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTimeRangePickerProps extends Omit<TimeRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormTimeRangePicker: FC<FormTimeRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TimeRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateTimePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps,\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateTimeRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateTimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateTimeRangePickerProps extends Omit<DateTimeRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimeRangePicker: FC<FormDateTimeRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimeRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport type { InputAttributes, NumericFormatProps } from \"react-number-format/types/types\";\r\nimport type { FC } from \"react\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n\tdefaultValue?: number | null;\r\n\toptions?: Omit<NumericFormatProps<InputAttributes>, \"customInput\" | \"onValueChange\" | keyof InputAttributes>;\r\n}\r\n\r\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\r\n\tconst field = useFieldContext<number | null | undefined>();\r\n\tconst { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n\treturn (\r\n\t\t<NumericFormat\r\n\t\t\tcustomInput={TextField}\r\n\t\t\tname={field.name}\r\n\t\t\tvalue={field.state.value ?? \"\"}\r\n\t\t\tonValueChange={({ floatValue }) => field.handleChange(floatValue)}\r\n\t\t\tonBlur={field.handleBlur}\r\n\t\t\terror={isTouched && hasError}\r\n\t\t\thelperText={isTouched && helperText}\r\n\t\t\taria-label={field.name}\r\n\t\t\t{...props}\r\n\t\t\t{...options}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup } from \"@mui/material\";\r\nimport type { RadioGroupProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\ninterface Option {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\r\n label?: string;\r\n options: Array<Option>;\r\n}\r\n\r\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\r\n <RadioGroup\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={(event) => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n >\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n value={option.value}\r\n control={<Radio />}\r\n label={option.label}\r\n />\r\n ))}\r\n </RadioGroup>\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { FormControl, FormHelperText, FormLabel, Slider } from \"@mui/material\";\r\nimport type { SliderProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\r\n const field = useFieldContext<number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel>{label}</FormLabel>}\r\n <Slider\r\n name={field.name}\r\n value={field.state.value ?? 0}\r\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport type { ButtonProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport { useFormContext } from \"~/hooks/FormHooks\";\r\n\r\nexport type FormSubmitButtonProps = Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\" | \"type\">;\r\n\r\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\r\n const form = useFormContext();\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n form.handleSubmit();\r\n };\r\n\r\n return (\r\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\r\n {([canSubmit, isSubmitting]) => (\r\n <Button\r\n loading={isSubmitting}\r\n disabled={!canSubmit}\r\n onClick={handleClick}\r\n type=\"submit\"\r\n aria-label=\"submit\"\r\n {...props}\r\n />\r\n )}\r\n </form.Subscribe>\r\n );\r\n};","import { FormControl, FormControlLabel, FormHelperText, Switch } from \"@mui/material\";\r\nimport type { SwitchProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Switch\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\"\r\n}\r\n\r\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TextField\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={event => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};","import { createFormHook, createFormHookContexts } from \"@tanstack/react-form\";\r\nimport { FormAutocomplete as Autocomplete } from \"~/components/form/FormAutocomplete\";\r\nimport { FormCheckbox as Checkbox } from \"~/components/form/FormCheckbox\";\r\nimport { FormDatePicker as DatePicker } from \"~/components/form/FormDatePicker\";\r\nimport { FormDateRangePicker as DateRangePicker } from \"~/components/form/FormDateRangePicker\";\r\nimport { FormTimePicker as TimePicker } from \"~/components/form/FormTimePicker\";\r\nimport { FormTimeRangePicker as TimeRangePicker } from \"~/components/form/FormTimeRangePicker\";\r\nimport { FormDateTimePicker as DateTimePicker } from \"~/components/form/FormDateTimePicker\";\r\nimport { FormDateTimeRangePicker as DateTimeRangePicker } from \"~/components/form/FormDateTimeRangePicker\";\r\nimport { FormNumberField as NumberField } from \"~/components/form/FormNumberField\";\r\nimport { FormRadioGroup as RadioGroup } from \"~/components/form/FormRadioGroup\";\r\nimport { FormSlider as Slider } from \"~/components/form/FormSlider\";\r\nimport { FormSubmitButton as SubmitButton } from \"~/components/form/FormSubmitButton\";\r\nimport { FormSwitch as Switch } from \"~/components/form/FormSwitch\";\r\nimport { FormTextField as TextField } from \"~/components/form/FormTextField\";\r\n\r\nexport const { fieldContext, useFieldContext, formContext, useFormContext } = createFormHookContexts();\r\n\r\nexport const { useAppForm: useLayoutForm, withForm: withLayoutForm } =\r\n createFormHook({\r\n fieldComponents: {\r\n TextField,\r\n NumberField,\r\n Autocomplete,\r\n Checkbox,\r\n Switch,\r\n RadioGroup,\r\n Slider,\r\n DatePicker,\r\n DateRangePicker,\r\n TimePicker,\r\n TimeRangePicker,\r\n DateTimePicker,\r\n DateTimeRangePicker,\r\n },\r\n formComponents: {\r\n SubmitButton,\r\n },\r\n fieldContext,\r\n formContext,\r\n });\r\n"],"names":["jsx","jsxs","TextField","NumberField","Autocomplete","Checkbox","Switch","RadioGroup","Slider","DatePicker","DateRangePicker","TimePicker","TimeRangePicker","DateTimePicker","DateTimeRangePicker","SubmitButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../src/components/form/FormAutocomplete.tsx","../src/components/form/FormCheckbox.tsx","../src/components/form/FormDatePicker.tsx","../src/components/form/FormDateRangePicker.tsx","../src/components/form/FormTimePicker.tsx","../src/components/form/FormTimeRangePicker.tsx","../src/components/form/FormDateTimePicker.tsx","../src/components/form/FormDateTimeRangePicker.tsx","../src/components/form/FormNumberField.tsx","../src/components/form/FormRadioGroup.tsx","../src/components/form/FormSlider.tsx","../src/components/form/FormSubmitButton.tsx","../src/components/form/FormSwitch.tsx","../src/components/form/FormTextField.tsx","../src/hooks/FormHooks.ts"],"sourcesContent":["import { Autocomplete, TextField } from \"@mui/material\";\r\nimport type { AutocompleteProps, TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormAutocompleteProps extends Omit<AutocompleteProps<any, boolean, boolean, boolean>, FormOmittedProps> {\r\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\r\n}\r\n\r\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({ textFieldProps, ...autocompleteProps }) => {\r\n const field = useFieldContext();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <Autocomplete\r\n value={field.state.value}\r\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\r\n onInputChange={(_, value, reason) => reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...autocompleteProps}\r\n renderInput={(parameters) =>\r\n <TextField\r\n {...parameters}\r\n name={field.name}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n {...textFieldProps}\r\n />\r\n }\r\n />\r\n );\r\n};","import { Checkbox, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\r\nimport type { CheckboxProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};","import { DatePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DatePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DatePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateRangePickerProps extends Omit<DateRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateRangePicker: FC<FormDateRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TimePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { TimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTimePickerProps extends Omit<TimePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormTimePicker: FC<FormTimePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TimePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TimeRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { TimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTimeRangePickerProps extends Omit<TimeRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormTimeRangePicker: FC<FormTimeRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TimeRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateTimePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\r\n const field = useFieldContext<Dayjs | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps,\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { DateTimeRangePicker } from \"@mui/x-date-pickers-pro\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateTimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateTimeRangePickerProps extends Omit<DateTimeRangePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimeRangePicker: FC<FormDateTimeRangePickerProps> = (props) => {\r\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimeRangePicker\r\n name={field.name}\r\n value={field.state.value}\r\n onChange={(value) => field.handleChange(value)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport type { InputAttributes, NumericFormatProps } from \"react-number-format/types/types\";\r\nimport type { FC } from \"react\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n\tdefaultValue?: number | null;\r\n\toptions?: Omit<NumericFormatProps<InputAttributes>, \"customInput\" | \"onValueChange\" | keyof InputAttributes>;\r\n}\r\n\r\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\r\n\tconst field = useFieldContext<number | null | undefined>();\r\n\tconst { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n\treturn (\r\n\t\t<NumericFormat\r\n\t\t\tcustomInput={TextField}\r\n\t\t\tname={field.name}\r\n\t\t\tvalue={field.state.value ?? \"\"}\r\n\t\t\tonValueChange={({ floatValue }) => field.handleChange(floatValue)}\r\n\t\t\tonBlur={field.handleBlur}\r\n\t\t\terror={isTouched && hasError}\r\n\t\t\thelperText={isTouched && helperText}\r\n\t\t\taria-label={field.name}\r\n\t\t\t{...props}\r\n\t\t\t{...options}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup } from \"@mui/material\";\r\nimport type { RadioGroupProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\ninterface Option {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\r\n label?: string;\r\n options: Array<Option>;\r\n}\r\n\r\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\r\n <RadioGroup\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={(event) => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n >\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n value={option.value}\r\n control={<Radio />}\r\n label={option.label}\r\n />\r\n ))}\r\n </RadioGroup>\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { FormControl, FormHelperText, FormLabel, Slider } from \"@mui/material\";\r\nimport type { SliderProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\r\n const field = useFieldContext<number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel>{label}</FormLabel>}\r\n <Slider\r\n name={field.name}\r\n value={field.state.value ?? 0}\r\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport type { ButtonProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport { useFormContext } from \"~/hooks/FormHooks\";\r\n\r\nexport type FormSubmitButtonProps = Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\" | \"type\">;\r\n\r\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\r\n const form = useFormContext();\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n form.handleSubmit();\r\n };\r\n\r\n return (\r\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\r\n {([canSubmit, isSubmitting]) => (\r\n <Button\r\n loading={isSubmitting}\r\n disabled={!canSubmit}\r\n onClick={handleClick}\r\n type=\"submit\"\r\n aria-label=\"submit\"\r\n {...props}\r\n />\r\n )}\r\n </form.Subscribe>\r\n );\r\n};","import { FormControl, FormControlLabel, FormHelperText, Switch } from \"@mui/material\";\r\nimport type { SwitchProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Switch\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\"\r\n}\r\n\r\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TextField\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={event => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};","import { createFormHook, createFormHookContexts } from \"@tanstack/react-form\";\r\nimport { FormAutocomplete as Autocomplete } from \"~/components/form/FormAutocomplete\";\r\nimport { FormCheckbox as Checkbox } from \"~/components/form/FormCheckbox\";\r\nimport { FormDatePicker as DatePicker } from \"~/components/form/FormDatePicker\";\r\nimport { FormDateRangePicker as DateRangePicker } from \"~/components/form/FormDateRangePicker\";\r\nimport { FormTimePicker as TimePicker } from \"~/components/form/FormTimePicker\";\r\nimport { FormTimeRangePicker as TimeRangePicker } from \"~/components/form/FormTimeRangePicker\";\r\nimport { FormDateTimePicker as DateTimePicker } from \"~/components/form/FormDateTimePicker\";\r\nimport { FormDateTimeRangePicker as DateTimeRangePicker } from \"~/components/form/FormDateTimeRangePicker\";\r\nimport { FormNumberField as NumberField } from \"~/components/form/FormNumberField\";\r\nimport { FormRadioGroup as RadioGroup } from \"~/components/form/FormRadioGroup\";\r\nimport { FormSlider as Slider } from \"~/components/form/FormSlider\";\r\nimport { FormSubmitButton as SubmitButton } from \"~/components/form/FormSubmitButton\";\r\nimport { FormSwitch as Switch } from \"~/components/form/FormSwitch\";\r\nimport { FormTextField as TextField } from \"~/components/form/FormTextField\";\r\n\r\nexport const { fieldContext, useFieldContext, formContext, useFormContext } = createFormHookContexts();\r\n\r\nexport const { useAppForm: useLayoutForm, withForm: withLayoutForm } =\r\n createFormHook({\r\n fieldComponents: {\r\n TextField,\r\n NumberField,\r\n Autocomplete,\r\n Checkbox,\r\n Switch,\r\n RadioGroup,\r\n Slider,\r\n DatePicker,\r\n DateRangePicker,\r\n TimePicker,\r\n TimeRangePicker,\r\n DateTimePicker,\r\n DateTimeRangePicker,\r\n },\r\n formComponents: {\r\n SubmitButton,\r\n },\r\n fieldContext,\r\n formContext,\r\n });\r\n"],"names":["jsx","jsxs","TextField","NumberField","Autocomplete","Checkbox","Switch","RadioGroup","Slider","DatePicker","DateRangePicker","TimePicker","TimeRangePicker","DateTimePicker","DateTimeRangePicker","SubmitButton"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ import Logout from "@mui/icons-material/Logout";
|
|
|
45
45
|
import SettingsBrightness from "@mui/icons-material/SettingsBrightness";
|
|
46
46
|
import Translate from "@mui/icons-material/Translate";
|
|
47
47
|
import Done from "@mui/icons-material/Done";
|
|
48
|
-
import { r } from "./utils-
|
|
48
|
+
import { r } from "./utils-JYv9O0GI.js";
|
|
49
49
|
function DialogsProvider({ children, unmountAfter = 1e3 }) {
|
|
50
50
|
const [stack, setStack] = useState([]);
|
|
51
51
|
const keyPrefix = useId();
|
package/dist/queries.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f, g, c, b, u, a, d, e, h } from "./FileHooks-
|
|
1
|
+
import { f, g, c, b, u, a, d, e, h } from "./FileHooks-BbjesS5D.js";
|
|
2
2
|
import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
|
|
3
|
-
import { h as httpClient, t as toKebabCase } from "./utils-
|
|
3
|
+
import { h as httpClient, t as toKebabCase } from "./utils-JYv9O0GI.js";
|
|
4
4
|
import { createIsomorphicFn } from "@tanstack/react-start";
|
|
5
5
|
import z__default from "zod";
|
|
6
6
|
import { c as clientEnv } from "./env-CoxTjaDr.js";
|
package/dist/server.d.ts
CHANGED
package/dist/server.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import pg, { Pool as Pool$1 } from "pg";
|
|
2
|
-
import { Pool } from "pg";
|
|
3
2
|
import { s as serverEnv } from "./env-CoxTjaDr.js";
|
|
4
3
|
import { betterAuth } from "better-auth";
|
|
5
4
|
import { B as BetterAuthError, l as logger, T as TTY_COLORS, g as getColorDepth } from "./error-BhAKg8LX-X0sdNXNa.js";
|
|
@@ -6313,7 +6312,7 @@ class PgTransaction extends PgDatabase {
|
|
|
6313
6312
|
return this.session.execute(sql`set transaction ${this.getTransactionConfigSQL(config)}`);
|
|
6314
6313
|
}
|
|
6315
6314
|
}
|
|
6316
|
-
const { Pool
|
|
6315
|
+
const { Pool, types } = pg;
|
|
6317
6316
|
class NodePgPreparedQuery extends PgPreparedQuery {
|
|
6318
6317
|
constructor(client, queryString, params, logger2, cache, queryMetadata, cacheConfig, fields, name, _isResponseInArrayMode, customResultMapper) {
|
|
6319
6318
|
super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
|
|
@@ -6484,7 +6483,7 @@ class NodePgSession extends PgSession {
|
|
|
6484
6483
|
);
|
|
6485
6484
|
}
|
|
6486
6485
|
async transaction(transaction, config) {
|
|
6487
|
-
const session2 = this.client instanceof
|
|
6486
|
+
const session2 = this.client instanceof Pool ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
|
|
6488
6487
|
const tx = new NodePgTransaction(this.dialect, session2, this.schema);
|
|
6489
6488
|
await tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);
|
|
6490
6489
|
try {
|
|
@@ -6495,7 +6494,7 @@ class NodePgSession extends PgSession {
|
|
|
6495
6494
|
await tx.execute(sql`rollback`);
|
|
6496
6495
|
throw error;
|
|
6497
6496
|
} finally {
|
|
6498
|
-
if (this.client instanceof
|
|
6497
|
+
if (this.client instanceof Pool) {
|
|
6499
6498
|
session2.client.release();
|
|
6500
6499
|
}
|
|
6501
6500
|
}
|
|
@@ -8729,7 +8728,6 @@ const auth = betterAuth({
|
|
|
8729
8728
|
plugins: [tanstackStartCookies()]
|
|
8730
8729
|
});
|
|
8731
8730
|
export {
|
|
8732
|
-
Pool,
|
|
8733
8731
|
auth,
|
|
8734
8732
|
db
|
|
8735
8733
|
};
|