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.
@@ -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-DKyKGba7.js";
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-hWKTwLCr.js.map
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":";;;;;;;;;AAaA,MAAM,YAAY;AAClB,MAAM,OAAO,MAAO,KAAK;AACzB,MAAM,WAAW,YAAY,UAAU,cAAc;AAUbA,WAAE,OAAO;AAAA,EAC7C,SAASA,WAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,QAAQ,EAAE,SAAA;AAAA,EACtD,OAAOA,WAAE,KAAA;AACb,CAAC;AAIM,MAAM,kBAAkB,CAAC,QAA4B,YAA4C;AACpG,QAAM,cAAc,IAAI,gBAAA;AACxB,cAAY,OAAO,WAAW,OAAO,WAAW,QAAQ;AACxD,cAAY,OAAO,SAAS,OAAO,KAAK;AAExC,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,QAAQ,OAAO,WAAW,UAAU,OAAO,KAAK;AAAA,IACtE,SAAS,CAAC,EAAE,aAAa,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,YAAY,YAAY,UAAU;AAAA,MACpD,QAAQ;AAAA,MACR;AAAA,IAAA,CACH;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAAA,CACzB;AACL;AAE4CA,WAAE,OAAO;AAAA,EACjD,SAASA,WAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,QAAQ,EAAE,SAAA;AAAA,EACtD,MAAM,eAAe,QAAA;AACzB,CAAC;AAIM,MAAM,sBAAsB,CAAC,QAAgC,YAAmC;AACnG,QAAM,cAAc,IAAI,gBAAA;AACxB,cAAY,OAAO,WAAW,OAAO,WAAW,QAAQ;AACxD,cAAY,OAAO,MAAM,OAAO,MAAM,MAAM,EAAE;AAE9C,SAAO,SAA8B;AAAA,IACjC,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,aAAa,OAAO,WAAW,UAAU,OAAO,MAAM,EAAE;AAAA,IAC9E,SAAS,CAAC,EAAE,aAAa,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,iBAAiB,YAAY,UAAU;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,MACA,cAAc;AAAA,IAAA,CACjB;AAAA,IACD,QAAQ,CAAA,SAAQ,IAAI,gBAAgB,IAAI;AAAA,IACxC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,IACtB,SAAS,CAAC,CAAC,OAAO,QAAQ,SAAS,YAAY;AAAA,EAAA,CAClD;AACL;AAEmCA,WAAE,OAAO;AAAA,EACxC,SAASA,WAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,QAAQ,EAAE,SAAA;AAAA,EACtD,MAAM,eAAe,QAAA;AACzB,CAAC;AAIM,MAAM,aAAa,CAAC,QAAuB,YAAmC;AACjF,QAAM,cAAc,IAAI,gBAAA;AACxB,cAAY,OAAO,WAAW,OAAO,WAAW,QAAQ;AACxD,cAAY,OAAO,MAAM,OAAO,MAAM,MAAM,EAAE;AAE9C,SAAO,SAA8B;AAAA,IACjC,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,OAAO,WAAW,UAAU,OAAO,MAAM,EAAE;AAAA,IACjE,SAAS,CAAC,EAAE,aAAa,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,OAAO,YAAY,UAAU;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,MACA,cAAc;AAAA,IAAA,CACjB;AAAA,IACD,QAAQ,CAAA,SAAQ,IAAI,gBAAgB,IAAI;AAAA,IACxC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,IACtB,SAAS,CAAC,CAAC,OAAO,QAAQ,SAAS,YAAY;AAAA,EAAA,CAClD;AACL;AAEO,MAAM,kBAAkB,CAAC,YAAsC;AAClE,SAAO,YAAmC;AAAA,IACtC,GAAG;AAAA,IACH,YAAY,CAAA,SAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAI,SAAS,wBAAwB,QAAQ,OAAO,KAAK,EAAE;AAAA,MAChE,QAAQ;AAAA,MACR,cAAc;AAAA,IAAA,CACjB;AAAA,IACD,WAAW,CAAC,MAAM,cAAc,OAAO,MAAM,GAAG,UAAU,QAAQ,IAAI,UAAU,aAAa,EAAE;AAAA,EAAA,CAClG;AACL;AAEO,MAAM,cAAc,CAAC,YAAsC;AAC9D,SAAO,YAAmC;AAAA,IACtC,GAAG;AAAA,IACH,YAAY,CAAA,SAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAI,SAAS,eAAe,QAAQ,OAAO,KAAK,EAAE;AAAA,MACvD,QAAQ;AAAA,MACR,cAAc;AAAA,IAAA,CACjB;AAAA,IACD,WAAW,CAAA,SAAQ;AAAE,aAAO,KAAK,IAAI,gBAAgB,IAAI,CAAC;AAAA,IAAG;AAAA,EAAA,CAChE;AACL;AAEO,MAAM,oBAAoB,CAAC,YAA0C;AACxE,QAAM,cAAc,eAAA;AAEpB,SAAO,YAAuC;AAAA,IAC1C,GAAG;AAAA,IACH,YAAY,CAAA,SAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAI,SAAS,oBAAoB,QAAQ,OAAO,KAAK,EAAE;AAAA,MAC5D,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,CACT;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,MAAM,GAAG,OAAO,MAAA,CAAO;AAAA,EAAA,CACjG;AACL;AAEO,MAAM,gBAAgB,CAAC,YAA0C;AACpE,QAAM,cAAc,eAAA;AAEpB,SAAO,YAAuC;AAAA,IAC1C,GAAG;AAAA,IACH,YAAY,CAAA,SAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAI,SAAS,eAAe,QAAQ,OAAO,KAAK,EAAE;AAAA,MACvD,QAAQ;AAAA,IAAA,CACX;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,MAAM,GAAG,OAAO,MAAA,CAAO;AAAA,EAAA,CACjG;AACL;AAEO,MAAM,iBAAiB,CAAC,YAAwC;AACnE,QAAM,cAAc,eAAA;AAEpB,SAAO,YAAmC;AAAA,IACtC,GAAG;AAAA,IACH,YAAY,CAAA,UAAS,WAAW,QAAQ;AAAA,MACpC,KAAK,IAAI,SAAS,eAAe,QAAQ,UAAU,KAAK;AAAA,MACxD,QAAQ;AAAA,IAAA,CACX;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,MAAM,GAAG,OAAO,MAAA,CAAO;AAAA,EAAA,CACjG;AACL;AAQO,MAAM,gBAAgB,CAAC,EAAE,OAAO,WAAW,cAAkC;AAChF,QAAM,CAAC,UAAU,WAAW,IAAI,SAAiB,CAAC;AAClD,QAAM,cAAc,eAAA;AAEpB,QAAM,SAAS,OAAO,SAAe;AACjC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAE/D,UAAM,WAAoE;AAAA,MACtE,IAAI,OAAA;AAAA,MACJ,SAAS;AAAA,MACT;AAAA,MACA,UAAU,KAAK;AAAA,IAAA;AAGnB,UAAM,SAAS,IAAIC,OAAU,MAAM;AAAA,MAC/B,UAAU,GAAG,UAAU,YAAY,IAAI,SAAS;AAAA,MAChD,WAAW;AAAA;AAAA,MACX,UAAU;AAAA,QACN,IAAI,SAAS;AAAA,QACb,SAAS,SAAS;AAAA,QAClB,OAAO,SAAS;AAAA,QAChB,UAAU,SAAS;AAAA,QACnB,eAAe,KAAK;AAAA,MAAA;AAAA;AAAA,MAGxB,SAAS,CAAC,UAAU;AAChB,oBAAY,CAAC;AACb,kBAAU,KAAK;AAAA,MACnB;AAAA,MACA,YAAY,CAAC,eAAe,eAAe;AACvC,oBAAa,gBAAgB,aAAc,GAAG;AAAA,MAClD;AAAA,MACA,WAAW,MAAM;AACb,oBAAY,CAAC;AACb,oBAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,QAAQ,KAAK,GAAG,OAAO,OAAO;AACpF,oBAAY,QAAQ;AAAA,MACxB;AAAA,IAAA,CACH;AAED,UAAM,kBAAkB,MAAM,OAAO,oBAAA;AACrC,QAAI,gBAAgB,SAAS,GAAG;AAC5B,aAAO,yBAAyB,gBAAgB,CAAC,CAAC;AAAA,IACtD;AAEA,WAAO,MAAA;AAAA,EACX;AAEA,SAAO,EAAE,QAAQ,SAAA;AACrB;"}
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 { t } from "i18next";
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
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -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-hWKTwLCr.js";
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-DKyKGba7.js";
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-DKyKGba7.js";
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-hWKTwLCr.js";
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-DKyKGba7.js";
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
@@ -36,6 +36,4 @@ export declare const db: NodePgDatabase<Record<string, never>> & {
36
36
  $client: Pool;
37
37
  };
38
38
 
39
- export { Pool }
40
-
41
39
  export { }
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: Pool2, types } = pg;
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 Pool2 ? new NodePgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
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 Pool2) {
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
  };