wcz-layout 8.3.1 → 8.3.2
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/{Approval-Cx-EUX2I.js → Approval-BTJTexDo.js} +1 -1
- package/dist/{Approval-Cx-EUX2I.js.map → Approval-BTJTexDo.js.map} +1 -1
- package/dist/{DialogsContext-DkePghS6.js → DialogsContext-DLqA8RJ_.js} +1 -1
- package/dist/{DialogsContext-DkePghS6.js.map → DialogsContext-DLqA8RJ_.js.map} +1 -1
- package/dist/{Email-CCL5C-C0.js → Email-C9qwj7GD.js} +1 -1
- package/dist/{Email-CCL5C-C0.js.map → Email-C9qwj7GD.js.map} +1 -1
- package/dist/{FileMeta-DCFvkQQC.js → FileMeta-DDqUju1Y.js} +1 -1
- package/dist/{FileMeta-DCFvkQQC.js.map → FileMeta-DDqUju1Y.js.map} +1 -1
- package/dist/{FileMeta-DrEMs4Gq.d.ts → FileMeta-ILLTOjaM.d.ts} +1 -1
- package/dist/{NotificationContext-FQRaNZRx.js → NotificationContext-CgwUOeW0.js} +1 -1
- package/dist/{NotificationContext-FQRaNZRx.js.map → NotificationContext-CgwUOeW0.js.map} +1 -1
- package/dist/{RouterListItemButton-p9U4Z0SW.js → RouterListItemButton-owZVvuC_.js} +1 -1
- package/dist/{RouterListItemButton-p9U4Z0SW.js.map → RouterListItemButton-owZVvuC_.js.map} +1 -1
- package/dist/{User-DVU1zqml.d.ts → User-CT_IDGuG.d.ts} +1 -1
- package/dist/{apiMiddleware-CwCEvg3r.js → apiMiddleware-CtY4rOFU.js} +2 -2
- package/dist/{apiMiddleware-CwCEvg3r.js.map → apiMiddleware-CtY4rOFU.js.map} +1 -1
- package/dist/components.d.ts +4 -5
- package/dist/components.js +3 -3
- package/dist/components.js.map +1 -1
- package/dist/data/client.d.ts +49 -51
- package/dist/data/client.js +3 -3
- package/dist/data/client.js.map +1 -1
- package/dist/data/server.d.ts +14 -18
- package/dist/data/server.js +4 -4
- package/dist/data/server.js.map +1 -1
- package/dist/data.js +1 -1
- package/dist/{env-Dgbk8SQN.js → env-ON-cyE3N.js} +1 -1
- package/dist/{env-Dgbk8SQN.js.map → env-ON-cyE3N.js.map} +1 -1
- package/dist/{file-Dv1BsCsM.js → file-BUdLb7H1.js} +5 -5
- package/dist/{file-Dv1BsCsM.js.map → file-BUdLb7H1.js.map} +1 -1
- package/dist/{file-DcIx8gtK.js → file-Dsht7yOP.js} +3 -3
- package/dist/{file-DcIx8gtK.js.map → file-Dsht7yOP.js.map} +1 -1
- package/dist/hooks.d.ts +48 -51
- package/dist/hooks.js +3 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +120 -97
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts +9 -11
- package/dist/middleware.js +3 -3
- package/dist/middleware.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.js +3 -3
- package/dist/models.js.map +1 -1
- package/dist/{msalClient-C2LlaBzj.d.ts → msalClient-CYiQAFnY.d.ts} +3 -4
- package/dist/{msalServer-B3AztUoH.js → msalServer-B9sVqpQ2.js} +2 -2
- package/dist/{msalServer-B3AztUoH.js.map → msalServer-B9sVqpQ2.js.map} +1 -1
- package/dist/{peoplesoft--FioEbzn.js → peoplesoft-BCjRje6b.js} +3 -3
- package/dist/{peoplesoft--FioEbzn.js.map → peoplesoft-BCjRje6b.js.map} +1 -1
- package/dist/{peoplesoft-BG_AV3zS.d.ts → peoplesoft-Cze2ngGd.d.ts} +58 -60
- package/dist/{queryClient-1OJ5Va3i.js → queryClient-D64McLhZ.js} +1 -1
- package/dist/{queryClient-1OJ5Va3i.js.map → queryClient-D64McLhZ.js.map} +1 -1
- package/dist/{useDialogs-imgl4bIl.js → useDialogs-BJVhBr8S.js} +2 -2
- package/dist/useDialogs-BJVhBr8S.js.map +1 -0
- package/dist/{utils-B7LPctqx.js → utils-BMUmv2ws.js} +3 -2
- package/dist/{utils-B7LPctqx.js.map → utils-BMUmv2ws.js.map} +1 -1
- package/dist/{utils-DgrP27XP.d.ts → utils-CvvyM8Xw.d.ts} +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +2 -2
- package/dist/vite.js +1 -1
- package/dist/vite.js.map +1 -1
- package/package.json +5 -5
- package/skills/services/SKILL.md +2 -1
- package/skills/start/SKILL.md +12 -13
- package/dist/useDialogs-imgl4bIl.js.map +0 -1
- package/skills/start/steps/02-dependency-check.md +0 -11
- /package/skills/start/steps/{03-project-name-setup.md → 02-project-name-setup.md} +0 -0
- /package/skills/start/steps/{04-apm-setup.md → 03-apm-setup.md} +0 -0
- /package/skills/start/steps/{05-database-setup.md → 04-database-setup.md} +0 -0
- /package/skills/start/steps/{06-entra-setup.md → 05-entra-setup.md} +0 -0
- /package/skills/start/steps/{07-vault-setup.md → 06-vault-setup.md} +0 -0
- /package/skills/start/steps/{08-generate-favicon.md → 07-generate-favicon.md} +0 -0
- /package/skills/start/steps/{09-commit.md → 08-commit.md} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-Dv1BsCsM.js","names":["createServerFn","Upload","uuidv7","z","serverEnv","getAppToken","apiMiddleware","FileMeta","FileMetaSchema","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","middleware","baseURL","scopeKey","handler","data","context","queryParams","URLSearchParams","append","fileMetas","api","request","Array","url","toString","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","FILE_BASE_URL","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/data/server/file.ts"],"sourcesContent":["import { createServerFn } from \"@tanstack/react-start\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport { apiMiddleware } from \"~/middleware/apiMiddleware\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n const { data: fileMetas } = await context.api.request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n });\n return fileMetas;\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data });\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-BUdLb7H1.js","names":["createServerFn","Upload","uuidv7","z","serverEnv","getAppToken","apiMiddleware","FileMeta","FileMetaSchema","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","middleware","baseURL","scopeKey","handler","data","context","queryParams","URLSearchParams","append","fileMetas","api","request","Array","url","toString","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","FILE_BASE_URL","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/data/server/file.ts"],"sourcesContent":["import { createServerFn } from \"@tanstack/react-start\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport { apiMiddleware } from \"~/middleware/apiMiddleware\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n const { data: fileMetas } = await context.api.request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n });\n return fileMetas;\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data });\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as queryClient } from "./queryClient-
|
|
2
|
-
import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, l as getFileMetas, o as deleteFile, s as downloadFile, u as getFileThumbnail } from "./file-
|
|
1
|
+
import { t as queryClient } from "./queryClient-D64McLhZ.js";
|
|
2
|
+
import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, l as getFileMetas, o as deleteFile, s as downloadFile, u as getFileThumbnail } from "./file-BUdLb7H1.js";
|
|
3
3
|
import { mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
4
4
|
import saveAs from "file-saver";
|
|
5
5
|
//#region src/data/client/file.ts
|
|
@@ -97,4 +97,4 @@ const useUploadFile = ({ onSuccess, onError } = {}) => {
|
|
|
97
97
|
//#endregion
|
|
98
98
|
export { fileQueryOptions as a, updateFileMetaMutationOptions as c, fileMetasQueryOptions as i, useUploadFile as l, deleteFileMutationOptions as n, fileThumbnailQueryOptions as o, downloadFileMutationOptions as r, openFileMutationOptions as s, batchDeleteFilesMutationOptions as t };
|
|
99
99
|
|
|
100
|
-
//# sourceMappingURL=file-
|
|
100
|
+
//# sourceMappingURL=file-Dsht7yOP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-
|
|
1
|
+
{"version":3,"file":"file-Dsht7yOP.js","names":["mutationOptions","queryOptions","saveAs","z","queryClient","batchDeleteFiles","deleteFile","downloadFile","getFile","getFileMetas","getFileThumbnail","updateFileMeta","uploadFile","FileSchema","GetFileMetasSchema","UpdateFileMetaSchema","UploadFileMetaSchema","QUERY_KEY","HOUR","baseOptions","staleTime","gcTime","refetchOnWindowFocus","responseToObjectUrl","response","Response","Promise","blob","URL","createObjectURL","fileMetasQueryOptions","params","input","queryKey","appName","subId","queryFn","data","fileThumbnailQueryOptions","id","enabled","fileQueryOptions","downloadFileMutationOptions","mutationFn","fileName","fileExtension","openFileMutationOptions","Error","window","open","updateFileMetaMutationOptions","onSettled","invalidateQueries","exact","deleteFileMutationOptions","batchDeleteFilesMutationOptions","UseUploadFileProps","onSuccess","result","Awaited","ReturnType","onError","error","useUploadFile","mutate"],"sources":["../src/data/client/file.ts"],"sourcesContent":["import { mutationOptions, queryOptions } from \"@tanstack/react-query\";\nimport saveAs from \"file-saver\";\nimport type { z } from \"zod\";\nimport { queryClient } from \"~/lib/queryClient\";\nimport {\n batchDeleteFiles,\n deleteFile,\n downloadFile,\n getFile,\n getFileMetas,\n getFileThumbnail,\n updateFileMeta,\n uploadFile,\n} from \"~/data/server/file\";\nimport type {\n FileSchema,\n GetFileMetasSchema,\n UpdateFileMetaSchema,\n UploadFileMetaSchema,\n} from \"~/data/server/file\";\n\nconst QUERY_KEY = \"file\";\nconst HOUR = 1000 * 60 * 60;\n\nconst baseOptions = {\n staleTime: HOUR,\n gcTime: HOUR,\n refetchOnWindowFocus: false,\n};\n\nasync function responseToObjectUrl(response: Response): Promise<string> {\n const blob = await response.blob();\n return URL.createObjectURL(blob);\n}\n\nexport const fileMetasQueryOptions = (params: z.input<typeof GetFileMetasSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"meta\", params.appName, params.subId],\n queryFn: () => getFileMetas({ data: params }),\n ...baseOptions,\n });\n\nexport const fileThumbnailQueryOptions = (params: z.input<typeof FileSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName, params.id],\n queryFn: async () => responseToObjectUrl(await getFileThumbnail({ data: params })),\n enabled: !!params.id,\n ...baseOptions,\n });\n\nexport const fileQueryOptions = (params: z.input<typeof FileSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, params.appName, params.id],\n queryFn: async () => responseToObjectUrl(await getFile({ data: params })),\n enabled: !!params.id,\n ...baseOptions,\n });\n\nexport const downloadFileMutationOptions = () =>\n mutationOptions({\n mutationFn: async (\n data: z.input<typeof FileSchema> & { fileName: string; fileExtension: string },\n ) => {\n const response = await downloadFile({ data });\n saveAs(await response.blob(), `${data.fileName}.${data.fileExtension}`);\n },\n });\n\nexport const openFileMutationOptions = () =>\n mutationOptions<void, Error, z.input<typeof FileSchema>>({\n mutationFn: async (data) => {\n const response = await getFile({ data });\n window.open(await responseToObjectUrl(response));\n },\n });\n\nexport const updateFileMetaMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof UpdateFileMetaSchema>) => updateFileMeta({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\nexport const deleteFileMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof FileSchema>) => deleteFile({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\nexport const batchDeleteFilesMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof GetFileMetasSchema>) => batchDeleteFiles({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\ninterface UseUploadFileProps {\n onSuccess?: (result: Awaited<ReturnType<typeof uploadFile>>) => void;\n onError?: (error: Error) => void;\n}\n\nexport const useUploadFile = ({ onSuccess, onError }: UseUploadFileProps = {}) => {\n const mutate = async (data: z.input<typeof UploadFileMetaSchema>) => {\n if (!data.subId) throw new Error(\"subId is required for file upload\");\n\n try {\n const result = await uploadFile({ data });\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEY, \"meta\", data.appName, data.subId],\n exact: false,\n });\n onSuccess?.(result);\n } catch (error) {\n onError?.(error as Error);\n }\n };\n\n return { mutate };\n};\n"],"mappings":";;;;;AAqBA,MAAMiB,YAAY;AAClB,MAAMC,OAAO,MAAO,KAAK;AAEzB,MAAMC,cAAc;CAClBC,WAAWF;CACXG,QAAQH;CACRI,sBAAsB;AACxB;AAEA,eAAeC,oBAAoBC,UAAqC;CACtE,MAAMG,OAAO,MAAMH,SAASG,KAAK;CACjC,OAAOC,IAAIC,gBAAgBF,IAAI;AACjC;AAEA,MAAaG,yBAAyBC,WACpC9B,aAAa;CACXgC,UAAU;EAAChB;EAAW;EAAQc,OAAOG;EAASH,OAAOI;CAAK;CAC1DC,eAAe3B,aAAa,EAAE4B,MAAMN,OAAO,CAAC;CAC5C,GAAGZ;AACL,CAAC;AAEH,MAAamB,6BAA6BP,WACxC9B,aAAa;CACXgC,UAAU;EAAChB;EAAW;EAAac,OAAOG;EAASH,OAAOQ;CAAE;CAC5DH,SAAS,YAAYb,oBAAoB,MAAMb,iBAAiB,EAAE2B,MAAMN,OAAO,CAAC,CAAC;CACjFS,SAAS,CAAC,CAACT,OAAOQ;CAClB,GAAGpB;AACL,CAAC;AAEH,MAAasB,oBAAoBV,WAC/B9B,aAAa;CACXgC,UAAU;EAAChB;EAAWc,OAAOG;EAASH,OAAOQ;CAAE;CAC/CH,SAAS,YAAYb,oBAAoB,MAAMf,QAAQ,EAAE6B,MAAMN,OAAO,CAAC,CAAC;CACxES,SAAS,CAAC,CAACT,OAAOQ;CAClB,GAAGpB;AACL,CAAC;AAEH,MAAauB,oCACX1C,gBAAgB,EACd2C,YAAY,OACVN,SACG;CAEHnC,OAAO,OAAMsB,MADUjB,aAAa,EAAE8B,KAAK,CAAC,GACtBV,KAAK,GAAG,GAAGU,KAAKO,SAAQ,GAAIP,KAAKQ,eAAe;AACxE,EACF,CAAC;AAEH,MAAaC,gCACX9C,gBAAyD,EACvD2C,YAAY,OAAON,SAAS;CAC1B,MAAMb,WAAW,MAAMhB,QAAQ,EAAE6B,KAAK,CAAC;CACvCW,OAAOC,KAAK,MAAM1B,oBAAoBC,QAAQ,CAAC;AACjD,EACF,CAAC;AAEH,MAAa0B,sCACXlD,gBAAgB;CACd2C,aAAaN,SAA+C1B,eAAe,EAAE0B,KAAK,CAAC;CACnFc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAEH,MAAaC,kCACXtD,gBAAgB;CACd2C,aAAaN,SAAqC/B,WAAW,EAAE+B,KAAK,CAAC;CACrEc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAEH,MAAaE,wCACXvD,gBAAgB;CACd2C,aAAaN,SAA6ChC,iBAAiB,EAAEgC,KAAK,CAAC;CACnFc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAOH,MAAaU,iBAAiB,EAAEN,WAAWI,YAAgC,CAAC,MAAM;CAChF,MAAMG,SAAS,OAAO3B,SAA+C;EACnE,IAAI,CAACA,KAAKF,OAAO,MAAM,IAAIY,MAAM,mCAAmC;EAEpE,IAAI;GACF,MAAMW,SAAS,MAAM9C,WAAW,EAAEyB,KAAK,CAAC;GACxCjC,YAAYgD,kBAAkB;IAC5BnB,UAAU;KAAChB;KAAW;KAAQoB,KAAKH;KAASG,KAAKF;IAAK;IACtDkB,OAAO;GACT,CAAC;GACDI,YAAYC,MAAM;EACpB,SAASI,OAAO;GACdD,UAAUC,KAAc;EAC1B;CACF;CAEA,OAAO,EAAEE,OAAO;AAClB"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { t as FormOmittedProps } from "./utils-
|
|
1
|
+
import { t as FormOmittedProps } from "./utils-CvvyM8Xw.js";
|
|
2
2
|
import { AutocompleteProps, ButtonProps, CheckboxProps, RadioGroupProps, SliderProps, SwitchProps, TextFieldProps } from "@mui/material";
|
|
3
|
-
import * as _$react from "react";
|
|
4
3
|
import { FC, ReactNode } from "react";
|
|
5
4
|
import { useTranslation } from "react-i18next";
|
|
6
5
|
import { AlertColor } from "@mui/material/Alert";
|
|
7
6
|
import { useInView } from "react-intersection-observer";
|
|
8
|
-
import * as _$_tanstack_react_form0 from "@tanstack/react-form";
|
|
9
7
|
import { DatePickerProps, DateRangePickerProps, DateTimePickerProps, DateTimeRangePickerProps, TimePickerProps, TimeRangePickerProps } from "@mui/x-date-pickers-pro";
|
|
10
|
-
import * as _$_tanstack_form_core0 from "@tanstack/form-core";
|
|
11
8
|
import { InputAttributes, NumericFormatProps } from "react-number-format/types/types";
|
|
12
9
|
import { PickersTextFieldProps } from "@mui/x-date-pickers/PickersTextField";
|
|
13
10
|
|
|
@@ -84,58 +81,58 @@ interface FormDateTimeRangePickerProps extends Omit<DateTimeRangePickerProps, Fo
|
|
|
84
81
|
//#endregion
|
|
85
82
|
//#region src/components/form/FormSubmitButton.d.ts
|
|
86
83
|
type FormSubmitButtonProps = Omit<ButtonProps, "loading" | "disabled" | "onClick" | "type">;
|
|
87
|
-
declare const useLayoutForm: <TFormData, TOnMount extends
|
|
88
|
-
readonly TextField:
|
|
89
|
-
readonly NumberField:
|
|
90
|
-
readonly Autocomplete:
|
|
91
|
-
readonly Checkbox:
|
|
92
|
-
readonly Switch:
|
|
93
|
-
readonly RadioGroup:
|
|
94
|
-
readonly Slider:
|
|
95
|
-
readonly DatePicker:
|
|
96
|
-
readonly DateRangePicker:
|
|
97
|
-
readonly TimePicker:
|
|
98
|
-
readonly TimeRangePicker:
|
|
99
|
-
readonly DateTimePicker:
|
|
100
|
-
readonly DateTimeRangePicker:
|
|
84
|
+
declare const useLayoutForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: import("@tanstack/form-core").FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => import("@tanstack/react-form").AppFieldExtendedReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
|
|
85
|
+
readonly TextField: import("react").FC<FormTextFieldProps>;
|
|
86
|
+
readonly NumberField: import("react").FC<FormNumberFieldProps>;
|
|
87
|
+
readonly Autocomplete: import("react").FC<FormAutocompleteProps>;
|
|
88
|
+
readonly Checkbox: import("react").FC<FormCheckboxProps>;
|
|
89
|
+
readonly Switch: import("react").FC<FormSwitchProps>;
|
|
90
|
+
readonly RadioGroup: import("react").FC<FormRadioGroupProps>;
|
|
91
|
+
readonly Slider: import("react").FC<FormSliderProps>;
|
|
92
|
+
readonly DatePicker: import("react").FC<FormDatePickerProps>;
|
|
93
|
+
readonly DateRangePicker: import("react").FC<FormDateRangePickerProps>;
|
|
94
|
+
readonly TimePicker: import("react").FC<FormTimePickerProps>;
|
|
95
|
+
readonly TimeRangePicker: import("react").FC<FormTimeRangePickerProps>;
|
|
96
|
+
readonly DateTimePicker: import("react").FC<FormDateTimePickerProps>;
|
|
97
|
+
readonly DateTimeRangePicker: import("react").FC<FormDateTimeRangePickerProps>;
|
|
101
98
|
}, {
|
|
102
|
-
readonly SubmitButton:
|
|
103
|
-
}>, withLayoutForm: <TFormData, TOnMount extends
|
|
99
|
+
readonly SubmitButton: import("react").FC<FormSubmitButtonProps>;
|
|
100
|
+
}>, withLayoutForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends object = {}>({
|
|
104
101
|
render,
|
|
105
102
|
props
|
|
106
|
-
}:
|
|
107
|
-
readonly TextField:
|
|
108
|
-
readonly NumberField:
|
|
109
|
-
readonly Autocomplete:
|
|
110
|
-
readonly Checkbox:
|
|
111
|
-
readonly Switch:
|
|
112
|
-
readonly RadioGroup:
|
|
113
|
-
readonly Slider:
|
|
114
|
-
readonly DatePicker:
|
|
115
|
-
readonly DateRangePicker:
|
|
116
|
-
readonly TimePicker:
|
|
117
|
-
readonly TimeRangePicker:
|
|
118
|
-
readonly DateTimePicker:
|
|
119
|
-
readonly DateTimeRangePicker:
|
|
103
|
+
}: import("@tanstack/react-form").WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
|
|
104
|
+
readonly TextField: import("react").FC<FormTextFieldProps>;
|
|
105
|
+
readonly NumberField: import("react").FC<FormNumberFieldProps>;
|
|
106
|
+
readonly Autocomplete: import("react").FC<FormAutocompleteProps>;
|
|
107
|
+
readonly Checkbox: import("react").FC<FormCheckboxProps>;
|
|
108
|
+
readonly Switch: import("react").FC<FormSwitchProps>;
|
|
109
|
+
readonly RadioGroup: import("react").FC<FormRadioGroupProps>;
|
|
110
|
+
readonly Slider: import("react").FC<FormSliderProps>;
|
|
111
|
+
readonly DatePicker: import("react").FC<FormDatePickerProps>;
|
|
112
|
+
readonly DateRangePicker: import("react").FC<FormDateRangePickerProps>;
|
|
113
|
+
readonly TimePicker: import("react").FC<FormTimePickerProps>;
|
|
114
|
+
readonly TimeRangePicker: import("react").FC<FormTimeRangePickerProps>;
|
|
115
|
+
readonly DateTimePicker: import("react").FC<FormDateTimePickerProps>;
|
|
116
|
+
readonly DateTimeRangePicker: import("react").FC<FormDateTimeRangePickerProps>;
|
|
120
117
|
}, {
|
|
121
|
-
readonly SubmitButton:
|
|
122
|
-
}, TRenderProps>) =>
|
|
123
|
-
form:
|
|
124
|
-
readonly TextField:
|
|
125
|
-
readonly NumberField:
|
|
126
|
-
readonly Autocomplete:
|
|
127
|
-
readonly Checkbox:
|
|
128
|
-
readonly Switch:
|
|
129
|
-
readonly RadioGroup:
|
|
130
|
-
readonly Slider:
|
|
131
|
-
readonly DatePicker:
|
|
132
|
-
readonly DateRangePicker:
|
|
133
|
-
readonly TimePicker:
|
|
134
|
-
readonly TimeRangePicker:
|
|
135
|
-
readonly DateTimePicker:
|
|
136
|
-
readonly DateTimeRangePicker:
|
|
118
|
+
readonly SubmitButton: import("react").FC<FormSubmitButtonProps>;
|
|
119
|
+
}, TRenderProps>) => import("react").FunctionComponent<import("react").PropsWithChildren<NoInfer<[unknown] extends [TRenderProps] ? any : TRenderProps> & {
|
|
120
|
+
form: import("@tanstack/react-form").AppFieldExtendedReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnDynamic] ? [TOnDynamic] extends [TOnDynamic & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamic : TOnDynamic, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnDynamicAsync] ? [TOnDynamicAsync] extends [TOnDynamicAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamicAsync : TOnDynamicAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, {
|
|
121
|
+
readonly TextField: import("react").FC<FormTextFieldProps>;
|
|
122
|
+
readonly NumberField: import("react").FC<FormNumberFieldProps>;
|
|
123
|
+
readonly Autocomplete: import("react").FC<FormAutocompleteProps>;
|
|
124
|
+
readonly Checkbox: import("react").FC<FormCheckboxProps>;
|
|
125
|
+
readonly Switch: import("react").FC<FormSwitchProps>;
|
|
126
|
+
readonly RadioGroup: import("react").FC<FormRadioGroupProps>;
|
|
127
|
+
readonly Slider: import("react").FC<FormSliderProps>;
|
|
128
|
+
readonly DatePicker: import("react").FC<FormDatePickerProps>;
|
|
129
|
+
readonly DateRangePicker: import("react").FC<FormDateRangePickerProps>;
|
|
130
|
+
readonly TimePicker: import("react").FC<FormTimePickerProps>;
|
|
131
|
+
readonly TimeRangePicker: import("react").FC<FormTimeRangePickerProps>;
|
|
132
|
+
readonly DateTimePicker: import("react").FC<FormDateTimePickerProps>;
|
|
133
|
+
readonly DateTimeRangePicker: import("react").FC<FormDateTimeRangePickerProps>;
|
|
137
134
|
}, {
|
|
138
|
-
readonly SubmitButton:
|
|
135
|
+
readonly SubmitButton: import("react").FC<FormSubmitButtonProps>;
|
|
139
136
|
}>;
|
|
140
137
|
}>>;
|
|
141
138
|
//#endregion
|
package/dist/hooks.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as getFieldStatus } from "./utils-
|
|
2
|
-
import { t as NotificationContext } from "./NotificationContext-
|
|
3
|
-
import { t as useDialogs } from "./useDialogs-
|
|
1
|
+
import { a as getFieldStatus } from "./utils-BMUmv2ws.js";
|
|
2
|
+
import { t as NotificationContext } from "./NotificationContext-CgwUOeW0.js";
|
|
3
|
+
import { t as useDialogs } from "./useDialogs-BJVhBr8S.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { Autocomplete, Button, Checkbox, FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup, Slider, Switch, TextField } from "@mui/material";
|
|
6
6
|
import { useContext, useEffect, useRef } from "react";
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","names":["Autocomplete","TextField","AutocompleteProps","TextFieldProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormAutocompleteProps","Omit","textFieldProps","FormAutocomplete","t0","$","_c","$i","Symbol","for","autocompleteProps","field","t1","isTouched","hasError","helperText","t2","t3","freeSolo","_","value","handleChange","__0","value_0","reason","t4","name","parameters","t5","handleBlur","state","Checkbox","FormControl","FormControlLabel","FormHelperText","CheckboxProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormCheckboxProps","Omit","label","FormCheckbox","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","name","t2","Boolean","state","value","t3","event","handleChange","target","checked","t4","handleBlur","t5","t6","t7","t8","DatePicker","Dayjs","PickersTextFieldProps","DatePickerProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDatePickerProps","Omit","textFieldProps","Partial","FormDatePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateRangePicker","PickersTextFieldProps","DateRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateRangePickerProps","Omit","textFieldProps","Partial","FormDateRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TimePicker","PickersTextFieldProps","TimePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTimePickerProps","Omit","textFieldProps","Partial","FormTimePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TimeRangePicker","PickersTextFieldProps","TimeRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTimeRangePickerProps","Omit","textFieldProps","Partial","FormTimeRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateTimePicker","Dayjs","PickersTextFieldProps","DateTimePickerProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateTimePickerProps","Omit","textFieldProps","Partial","FormDateTimePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateTimeRangePicker","PickersTextFieldProps","DateTimeRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateTimeRangePickerProps","Omit","textFieldProps","Partial","FormDateTimeRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TextField","NumericFormat","InputAttributes","NumericFormatProps","FC","TextFieldProps","FormOmittedProps","useFieldContext","getFieldStatus","FormNumberFieldProps","Omit","defaultValue","options","FormNumberField","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","state","value","t3","t4","floatValue","handleChange","t5","t6","handleBlur","name","FormControl","FormControlLabel","FormHelperText","FormLabel","Radio","RadioGroup","RadioGroupProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","Option","label","value","FormRadioGroupProps","Omit","options","Array","FormRadioGroup","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","t3","name","t4","state","t5","event","handleChange","target","t6","handleBlur","t7","t8","map","_temp","t9","t10","t11","option","FormControl","FormHelperText","FormLabel","Slider","SliderProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormSliderProps","Omit","label","FormSlider","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","t3","state","value","t4","_","handleChange","Array","isArray","t5","handleBlur","name","t6","t7","Button","ButtonProps","FC","useFormContext","FormSubmitButtonProps","Omit","FormSubmitButton","props","$","_c","$i","Symbol","for","form","t0","event","preventDefault","stopPropagation","handleSubmit","handleClick","t1","t2","canSubmit","isSubmitting","Subscribe","_temp","state","FormControl","FormControlLabel","FormHelperText","Switch","SwitchProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormSwitchProps","Omit","label","FormSwitch","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","name","t2","Boolean","state","value","t3","event","handleChange","target","checked","t4","handleBlur","t5","t6","t7","t8","TextField","TextFieldProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTextFieldProps","Omit","type","FormTextField","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","state","value","t2","event","handleChange","target","t3","t4","t5","handleBlur","name","createFormHook","createFormHookContexts","FormAutocomplete","Autocomplete","FormCheckbox","Checkbox","FormDatePicker","DatePicker","FormDateRangePicker","DateRangePicker","FormTimePicker","TimePicker","FormTimeRangePicker","TimeRangePicker","FormDateTimePicker","DateTimePicker","FormDateTimeRangePicker","DateTimeRangePicker","FormNumberField","NumberField","FormRadioGroup","RadioGroup","FormSlider","Slider","FormSubmitButton","SubmitButton","FormSwitch","Switch","FormTextField","TextField","fieldContext","useFieldContext","formContext","useFormContext","useAppForm","useLayoutForm","withForm","withLayoutForm","fieldComponents","formComponents","useContext","NotificationContext","useNotification","$","_c","$i","Symbol","for","context","Error","useEffect","useRef","BufferCharacter","time","char","Buffer","current","Array","Config","timeToEvaluate","averageWaitTime","startCharacter","endCharacter","onComplete","code","onError","error","minLength","ignoreIfFocusOn","Node","stopPropagation","preventDefault","container","enabled","useScanDetection","t0","$","_c","$i","Symbol","for","t1","t2","t3","t4","t5","t6","t7","t8","t9","undefined","t10","t11","document","t12","buffer","timeout","t13","clearBuffer","t14","clearTimeout","sum","map","_temp","slice","reduce","_temp2","avg","length","filter","_temp3","_temp4","join","evaluateBuffer","t15","event","currentTarget","includes","key","setTimeout","push","performance","now","onKeyDown","t16","t17","t18","addEventListener","EventListener","removeEventListener","t19","k","arr","total","delta","char_0"],"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/useForm.ts","../src/hooks/UseNotification.ts","../src/hooks/UseScanDetection.ts"],"sourcesContent":["import { Autocomplete, TextField } from \"@mui/material\";\nimport type { AutocompleteProps, TextFieldProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormAutocompleteProps extends Omit<\n AutocompleteProps<any, boolean, boolean, boolean>,\n FormOmittedProps\n> {\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\n}\n\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({\n textFieldProps,\n ...autocompleteProps\n}) => {\n const field = useFieldContext();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <Autocomplete\n value={field.state.value}\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\n onInputChange={(_, value, reason) =>\n reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)\n }\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...autocompleteProps}\n renderInput={(parameters) => (\n <TextField\n {...parameters}\n name={field.name}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n {...textFieldProps}\n />\n )}\n />\n );\n};\n","import { Checkbox, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\nimport type { CheckboxProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\n const field = useFieldContext<boolean | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n <FormControlLabel\n control={\n <Checkbox\n name={field.name}\n checked={Boolean(field.state.value)}\n onChange={(event) => field.handleChange(event.target.checked)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n }\n label={props.label ?? \"\"}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { DatePicker } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DatePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DatePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateRangePickerProps extends Omit<DateRangePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateRangePicker: FC<FormDateRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TimePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { TimePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTimePickerProps extends Omit<TimePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormTimePicker: FC<FormTimePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TimePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TimeRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { TimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTimeRangePickerProps extends Omit<TimeRangePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormTimeRangePicker: FC<FormTimeRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TimeRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateTimePicker } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateTimePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateTimeRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateTimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateTimeRangePickerProps extends Omit<\n DateTimeRangePickerProps,\n FormOmittedProps\n> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateTimeRangePicker: FC<FormDateTimeRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateTimeRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TextField } from \"@mui/material\";\nimport { NumericFormat } from \"react-number-format\";\nimport type { InputAttributes, NumericFormatProps } from \"react-number-format/types/types\";\nimport type { FC } from \"react\";\nimport type { TextFieldProps } from \"@mui/material\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\n defaultValue?: number | null;\n options?: Omit<\n NumericFormatProps<InputAttributes>,\n \"customInput\" | \"onValueChange\" | keyof InputAttributes\n >;\n}\n\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\n const field = useFieldContext<number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <NumericFormat\n customInput={TextField}\n name={field.name}\n value={field.state.value ?? \"\"}\n onValueChange={({ floatValue }) => field.handleChange(floatValue)}\n onBlur={field.handleBlur}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n aria-label={field.name}\n {...props}\n {...options}\n />\n );\n};\n","import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n FormLabel,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport type { RadioGroupProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\ninterface Option {\n label: string;\n value: string | number;\n}\n\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\n label?: string;\n options: Array<Option>;\n}\n\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\n const field = useFieldContext<string | number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\n <RadioGroup\n name={field.name}\n value={field.state.value ?? \"\"}\n onChange={(event) => field.handleChange(event.target.value)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n >\n {options.map((option) => (\n <FormControlLabel\n key={option.value}\n value={option.value}\n control={<Radio />}\n label={option.label}\n />\n ))}\n </RadioGroup>\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { FormControl, FormHelperText, FormLabel, Slider } from \"@mui/material\";\nimport type { SliderProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\n const field = useFieldContext<number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n {label && <FormLabel>{label}</FormLabel>}\n <Slider\n name={field.name}\n value={field.state.value ?? 0}\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { Button } from \"@mui/material\";\nimport type { ButtonProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport { useFormContext } from \"~/hooks/useForm\";\n\nexport type FormSubmitButtonProps = Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\" | \"type\">;\n\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\n const form = useFormContext();\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n form.handleSubmit();\n };\n\n return (\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\n {([canSubmit, isSubmitting]) => (\n <Button\n loading={isSubmitting}\n disabled={!canSubmit}\n onClick={handleClick}\n type=\"submit\"\n aria-label=\"submit\"\n {...props}\n />\n )}\n </form.Subscribe>\n );\n};\n","import { FormControl, FormControlLabel, FormHelperText, Switch } from \"@mui/material\";\nimport type { SwitchProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\n const field = useFieldContext<boolean | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n <FormControlLabel\n control={\n <Switch\n name={field.name}\n checked={Boolean(field.state.value)}\n onChange={(event) => field.handleChange(event.target.checked)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n }\n label={props.label ?? \"\"}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { TextField } from \"@mui/material\";\nimport type { TextFieldProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\";\n}\n\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\n const field = useFieldContext<string | number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TextField\n name={field.name}\n value={field.state.value ?? \"\"}\n onChange={(event) => field.handleChange(event.target.value)}\n onBlur={field.handleBlur}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { createFormHook, createFormHookContexts } from \"@tanstack/react-form\";\nimport { FormAutocomplete as Autocomplete } from \"~/components/form/FormAutocomplete\";\nimport { FormCheckbox as Checkbox } from \"~/components/form/FormCheckbox\";\nimport { FormDatePicker as DatePicker } from \"~/components/form/FormDatePicker\";\nimport { FormDateRangePicker as DateRangePicker } from \"~/components/form/FormDateRangePicker\";\nimport { FormTimePicker as TimePicker } from \"~/components/form/FormTimePicker\";\nimport { FormTimeRangePicker as TimeRangePicker } from \"~/components/form/FormTimeRangePicker\";\nimport { FormDateTimePicker as DateTimePicker } from \"~/components/form/FormDateTimePicker\";\nimport { FormDateTimeRangePicker as DateTimeRangePicker } from \"~/components/form/FormDateTimeRangePicker\";\nimport { FormNumberField as NumberField } from \"~/components/form/FormNumberField\";\nimport { FormRadioGroup as RadioGroup } from \"~/components/form/FormRadioGroup\";\nimport { FormSlider as Slider } from \"~/components/form/FormSlider\";\nimport { FormSubmitButton as SubmitButton } from \"~/components/form/FormSubmitButton\";\nimport { FormSwitch as Switch } from \"~/components/form/FormSwitch\";\nimport { FormTextField as TextField } from \"~/components/form/FormTextField\";\n\nexport const { fieldContext, useFieldContext, formContext, useFormContext } =\n createFormHookContexts();\n\nexport const { useAppForm: useLayoutForm, withForm: withLayoutForm } = createFormHook({\n fieldComponents: {\n TextField,\n NumberField,\n Autocomplete,\n Checkbox,\n Switch,\n RadioGroup,\n Slider,\n DatePicker,\n DateRangePicker,\n TimePicker,\n TimeRangePicker,\n DateTimePicker,\n DateTimeRangePicker,\n },\n formComponents: {\n SubmitButton,\n },\n fieldContext,\n formContext,\n});\n","import { useContext } from \"react\";\nimport { NotificationContext } from \"~/contexts/NotificationContext\";\n\nexport function useNotification() {\n const context = useContext(NotificationContext);\n if (!context) throw new Error(\"useNotification must be used within a NotificationProvider\");\n return context;\n}\n","import { useEffect, useRef } from \"react\";\n\ninterface BufferCharacter {\n time: number;\n char: string;\n}\n\ninterface Buffer {\n current: Array<BufferCharacter>;\n}\n\ninterface Config {\n /** Time to wait from last character to then trigger an evaluation of the buffer. */\n timeToEvaluate?: number;\n /** Average time between characters in milliseconds. Used to determine if input is from keyboard or a scanner. Defaults to 50ms.*/\n averageWaitTime?: number;\n /** Character that barcode scanner prefixes input with.*/\n startCharacter?: Array<string>;\n /** Character that barcode scanner suffixes input with. Defaults to line return.*/\n endCharacter?: Array<string>;\n /** Callback to use on complete scan input.*/\n onComplete: (code: string) => void;\n /** Callback to use on error. */\n onError?: (error: string) => void;\n /** Minimum length a scanned code should be. Defaults to 0.*/\n minLength?: number;\n /** Ignore scan input if this node is focused.*/\n ignoreIfFocusOn?: Node;\n /** Stop propagation on keydown event. Defaults to false.*/\n stopPropagation?: boolean;\n /** Prevent default on keydown event. Defaults to false.*/\n preventDefault?: boolean;\n /** Bind keydown event to this node. Defaults to document.*/\n container?: Node;\n /** Indicates if the scanning is enabled. */\n enabled?: boolean;\n}\n\nexport const useScanDetection = ({\n timeToEvaluate = 100,\n averageWaitTime = 50,\n startCharacter = [],\n endCharacter = [\"Enter\", \"Escape\"],\n onComplete,\n onError,\n minLength = 1,\n ignoreIfFocusOn,\n stopPropagation = false,\n preventDefault = false,\n container = document,\n enabled = true,\n}: Config) => {\n const buffer: Buffer = useRef([]);\n const timeout: any = useRef(false);\n\n const clearBuffer = () => {\n buffer.current = [];\n };\n const evaluateBuffer = () => {\n clearTimeout(timeout.current);\n const sum = buffer.current\n .map(({ time }, k, arr) => (k > 0 ? time - arr[k - 1].time : 0))\n .slice(1)\n .reduce((total, delta) => total + delta, 0);\n const avg = sum / (buffer.current.length - 1);\n\n const code = buffer.current\n .slice(startCharacter.length > 0 ? 1 : 0)\n .filter(({ char }) => char !== \"Shift\" && char !== \"Tab\")\n .map(({ char }) => char)\n .join(\"\");\n\n if (\n avg <= averageWaitTime &&\n buffer.current.slice(startCharacter.length > 0 ? 1 : 0).length >= minLength\n ) {\n onComplete(code);\n } else {\n avg <= averageWaitTime && !!onError && onError(code);\n }\n clearBuffer();\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n\n if (event.currentTarget !== ignoreIfFocusOn) {\n if (endCharacter.includes(event.key)) {\n evaluateBuffer();\n }\n if (\n buffer.current.length > 0 ||\n startCharacter.includes(event.key) ||\n startCharacter.length === 0\n ) {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(evaluateBuffer, timeToEvaluate);\n buffer.current.push({ time: performance.now(), char: event.key });\n }\n }\n if (stopPropagation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timeout.current);\n };\n }, []);\n\n useEffect(() => {\n container.addEventListener(\"keydown\", onKeyDown as EventListener);\n return () => {\n container.removeEventListener(\"keydown\", onKeyDown as EventListener);\n };\n }, [onKeyDown]);\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAaW,oBAA8CC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAA,IAAAK;CAAA,IAAAR;CAAA,IAAAG,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,mBAAAQ,qBAAAN;EAG3DC,EAAA,KAAAD;EAAAC,EAAA,KAAAK;EAAAL,EAAA,KAAAH;QAAA;EAAAQ,oBAAAL,EAAA;EAAAH,iBAAAG,EAAA;;CACC,MAAAM,QAAcb,iBAAiB;CAAC,IAAAc;CAAA,IAAAP,EAAA,OAAAM,OAAA;EACYC,KAAAb,eAAeY,MAAM;EAAAN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;QAAAA,KAAAP,EAAA;CAAjE,MAAA,EAAAQ,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAC;CAAA,IAAAZ,EAAA,OAAAK,kBAAAQ,YAAAb,EAAA,OAAAM,OAAA;EAKpDK,MAAAG,GAAAC,UAAc,CAACV,kBAAiBQ,YAAaP,MAAKU,aAAcD,MAAM;EACjEH,MAAAK,KAAAC,SAAAC,WACbA,WAAW,WAAWd,kBAAiBQ,YAAaP,MAAKU,aAAcD,QAAM;EAAAf,EAAA,KAAAK,kBAAAQ;EAAAb,EAAA,KAAAM;EAAAN,EAAA,KAAAW;EAAAX,EAAA,KAAAY;QAAA;EAAAD,KAAAX,EAAA;EAAAY,KAAAZ,EAAA;;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAM,MAAAe,QAAArB,EAAA,QAAAS,YAAAT,EAAA,QAAAU,cAAAV,EAAA,QAAAQ,aAAAR,EAAA,QAAAH,gBAAA;EAKlEuB,MAAAE,eACX,oBAAC,WAAD;GAAU,GACJA;GACE,MAAAhB,MAAKe;GACJ,OAAAb,aAAAC;GACK,YAAAD,aAAAE;GAAuB,GAC/Bb;GAEP,CAAA;EAAAG,EAAA,MAAAM,MAAAe;EAAArB,EAAA,MAAAS;EAAAT,EAAA,MAAAU;EAAAV,EAAA,MAAAQ;EAAAR,EAAA,MAAAH;EAAAG,EAAA,MAAAoB;QAAAA,KAAApB,EAAA;CAAA,IAAAuB;CAAA,IAAAvB,EAAA,QAAAK,qBAAAL,EAAA,QAAAM,MAAAkB,cAAAxB,EAAA,QAAAM,MAAAe,QAAArB,EAAA,QAAAM,MAAAmB,MAAAV,SAAAf,EAAA,QAAAW,MAAAX,EAAA,QAAAY,MAAAZ,EAAA,QAAAoB,IAAA;EAjBHG,KAAA,oBAAC,cAAD;GACS,OAAAjB,MAAKmB,MAAMV;GACR,UAAAJ;GACK,eAAAC;GAGP,QAAAN,MAAKkB;GACD,cAAAlB,MAAKe;GAAK,GAClBhB;GACS,aAAAe;GASb,CAAA;EAAApB,EAAA,MAAAK;EAAAL,EAAA,MAAAM,MAAAkB;EAAAxB,EAAA,MAAAM,MAAAe;EAAArB,EAAA,MAAAM,MAAAmB,MAAAV;EAAAf,EAAA,MAAAW;EAAAX,EAAA,MAAAY;EAAAZ,EAAA,MAAAoB;EAAApB,EAAA,MAAAuB;QAAAA,KAAAvB,EAAA;CAAA,OAlBFuB;;;;ACXJ,MAAae,gBAAsCC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACjD,MAAAK,QAAcZ,iBAA6C;CAAC,IAAAa;CAAA,IAAAN,EAAA,OAAAK,OAAA;EAChBC,KAAAZ,eAAeW,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAO5B,MAAAI,KAAAL,MAAKM;CACF,MAAAC,KAAAC,QAAQR,MAAKS,MAAMC,MAAO;CAAA,IAAAC;CAAA,IAAAhB,EAAA,OAAAK,OAAA;EACzBW,MAAAC,UAAWZ,MAAKa,aAAcD,MAAKE,OAAOC,QAAS;EAAApB,EAAA,KAAAK;EAAAL,EAAA,KAAAgB;QAAAA,KAAAhB,EAAA;CAAA,IAAAqB;CAAA,IAAArB,EAAA,OAAAK,MAAAiB,cAAAtB,EAAA,OAAAK,MAAAM,QAAAX,EAAA,OAAAD,SAAAC,EAAA,OAAAY,MAAAZ,EAAA,OAAAgB,IAAA;EAH/DK,KAAA,oBAAC,UAAD;GACQ,MAAAX;GACG,SAAAE;GACC,UAAAI;GACF,QAAAX,MAAKiB;GACD,cAAAjB,MAAKM;GAAK,GAClBZ;GACJ,CAAA;EAAAC,EAAA,KAAAK,MAAAiB;EAAAtB,EAAA,KAAAK,MAAAM;EAAAX,EAAA,KAAAD;EAAAC,EAAA,KAAAY;EAAAZ,EAAA,KAAAgB;EAAAhB,EAAA,MAAAqB;QAAAA,KAAArB,EAAA;CAEG,MAAAuB,KAAAxB,MAAKF,SAAL;CAAiB,IAAA2B;CAAA,IAAAxB,EAAA,QAAAqB,MAAArB,EAAA,QAAAuB,IAAA;EAX1BC,KAAA,oBAAC,kBAAD;GAEI,SAAAH;GASK,OAAAE;GACP,CAAA;EAAAvB,EAAA,MAAAqB;EAAArB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;QAAAA,KAAAxB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAQ,YAAAR,EAAA,QAAAS,cAAAT,EAAA,QAAAO,WAAA;EACDkB,KAAAlB,aAAAC,YAAyB,oBAAC,gBAAD;GAAuBA,OAAAA;aAAWC;GAA4B,CAAA;EAAAT,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;EAAAT,EAAA,MAAAO;EAAAP,EAAA,MAAAyB;QAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAwB,MAAAxB,EAAA,QAAAyB,IAAA;EAd1FC,KAAA,qBAAC,aAAD;GAAuB,WAAA;aAAvB,CACEF,IAaCC,GACW;;EAAAzB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAA0B;QAAAA,KAAA1B,EAAA;CAAA,OAfd0B;;;;ACHJ,MAAaa,kBAA0CC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACrD,MAAAK,QAAcb,iBAA2C;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EACdC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,YAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACLJ,MAAae,uBAAoDC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAC/D,MAAAK,QAAcb,iBAA2D;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EAC9BC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,iBAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACLJ,MAAae,kBAA0CC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACrD,MAAAK,QAAcb,iBAA2C;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EACdC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,YAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACLJ,MAAae,uBAAoDC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAC/D,MAAAK,QAAcb,iBAA2D;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EAC9BC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,iBAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACLJ,MAAae,sBAAkDC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAC7D,MAAAK,QAAcb,iBAA2C;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EACdC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,gBAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACFJ,MAAae,2BAA4DC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACvE,MAAAK,QAAcb,iBAA2D;CAAC,IAAAc;CAAA,IAAAN,EAAA,OAAAK,OAAA;EAC9BC,KAAAb,eAAeY,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAV,EAAA,OAAAK,OAAA;EAMpDK,MAAAC,UAAWN,MAAKO,aAAcD,MAAM;EAAAX,EAAA,KAAAK;EAAAL,EAAA,KAAAU;QAAAA,KAAAV,EAAA;CAInC,MAAAa,KAAAN,aAAAC;CACK,MAAAM,KAAAP,aAAAE;CAAuB,IAAAM;CAAA,IAAAf,EAAA,OAAAK,MAAAW,cAAAhB,EAAA,OAAAD,MAAAH,kBAAAI,EAAA,OAAAa,MAAAb,EAAA,OAAAc,IAAA;EAH1BC,KAAA;GAAAE,QACDZ,MAAKW;GAAWE,OACjBL;GAAqBJ,YAChBK;GAAuB,GAChCf,MAAKH;GACT;EAAAI,EAAA,KAAAK,MAAAW;EAAAhB,EAAA,KAAAD,MAAAH;EAAAI,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAD,MAAAqB,aAAApB,EAAA,QAAAe,IAAA;EANQI,KAAA;GAAAE,WACEN;GAKV,GACEhB,MAAKqB;GACT;EAAApB,EAAA,MAAAD,MAAAqB;EAAApB,EAAA,MAAAe;EAAAf,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAK,MAAAkB,QAAAvB,EAAA,QAAAK,MAAAmB,MAAAb,SAAAX,EAAA,QAAAD,SAAAC,EAAA,QAAAU,MAAAV,EAAA,QAAAmB,IAAA;EAZHG,KAAA,oBAAC,qBAAD;GACQ,MAAAjB,MAAKkB;GACJ,OAAAlB,MAAKmB,MAAMb;GACR,UAAAD;GACC,WAAAS;GASC,cAAAd,MAAKkB;GAAK,GAClBxB;GACJ,CAAA;EAAAC,EAAA,MAAAK,MAAAkB;EAAAvB,EAAA,MAAAK,MAAAmB,MAAAb;EAAAX,EAAA,MAAAD;EAAAC,EAAA,MAAAU;EAAAV,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OAfFsB;;;;ACJJ,MAAagB,mBAA4CC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAA,IAAAH;CAAA,IAAAQ;CAAA,IAAAL,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,YAAAQ,SAAAN;EAAqBC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAK;QAAA;EAAAR,UAAAG,EAAA;EAAAK,QAAAL,EAAA;;CAC7E,MAAAM,QAAcd,iBAA4C;CAAC,IAAAe;CAAA,IAAAP,EAAA,OAAAM,OAAA;EACfC,KAAAd,eAAea,MAAM;EAAAN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;QAAAA,KAAAP,EAAA;CAAjE,MAAA,EAAAQ,WAAAC,UAAAC,eAA4CH;CAMjC,MAAAI,KAAAL,MAAKM,MAAMC,SAAX;CAAuB,IAAAC;CAAA,IAAAd,EAAA,OAAAM,OAAA;EACfQ,MAAAC,OAAA;GAAC,MAAA,EAAAC,eAAAD;GAAc,OAAKT,MAAKW,aAAcD,WAAW;;EAAAhB,EAAA,KAAAM;EAAAN,EAAA,KAAAc;QAAAA,KAAAd,EAAA;CAE1D,MAAAe,KAAAP,aAAAC;CACK,MAAAS,KAAAV,aAAAE;CAAuB,IAAAS;CAAA,IAAAnB,EAAA,OAAAM,MAAAc,cAAApB,EAAA,OAAAM,MAAAe,QAAArB,EAAA,QAAAH,WAAAG,EAAA,QAAAK,SAAAL,EAAA,QAAAW,MAAAX,EAAA,QAAAc,MAAAd,EAAA,QAAAe,MAAAf,EAAA,QAAAkB,IAAA;EAPrCC,KAAA,oBAAC,eAAD;GACelC,aAAAA;GACP,MAAAqB,MAAKe;GACJ,OAAAV;GACQ,eAAAG;GACP,QAAAR,MAAKc;GACN,OAAAL;GACK,YAAAG;GACA,cAAAZ,MAAKe;GAAK,GAClBhB;GAAK,GACLR;GACJ,CAAA;EAAAG,EAAA,KAAAM,MAAAc;EAAApB,EAAA,KAAAM,MAAAe;EAAArB,EAAA,MAAAH;EAAAG,EAAA,MAAAK;EAAAL,EAAA,MAAAW;EAAAX,EAAA,MAAAc;EAAAd,EAAA,MAAAe;EAAAf,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,OAXFmB;;;;ACEJ,MAAaqB,kBAA0CC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAA,IAAAR;CAAA,IAAAI;CAAA,IAAAS;CAAA,IAAAL,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAP,OAAAI,YAAAS,SAAAN;EAA4BC,EAAA,KAAAD;EAAAC,EAAA,KAAAR;EAAAQ,EAAA,KAAAJ;EAAAI,EAAA,KAAAK;QAAA;EAAAb,QAAAQ,EAAA;EAAAJ,UAAAI,EAAA;EAAAK,QAAAL,EAAA;;CAClF,MAAAM,QAAcjB,iBAAqD;CAAC,IAAAkB;CAAA,IAAAP,EAAA,OAAAM,OAAA;EACxBC,KAAAjB,eAAegB,MAAM;EAAAN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;QAAAA,KAAAP,EAAA;CAAjE,MAAA,EAAAQ,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAX,EAAA,OAAAR,OAAA;EAI7DmB,KAAAnB,SAAS,oBAAC,WAAD;GAAqB,WAAA;aAAUA;GAAkB,CAAA;EAAAQ,EAAA,KAAAR;EAAAQ,EAAA,KAAAW;QAAAA,KAAAX,EAAA;CAEnD,MAAAY,KAAAN,MAAKO;CACJ,MAAAC,KAAAR,MAAKS,MAAMtB,SAAX;CAAuB,IAAAuB;CAAA,IAAAhB,EAAA,OAAAM,OAAA;EACpBU,MAAAC,UAAWX,MAAKY,aAAcD,MAAKE,OAAO1B,MAAO;EAAAO,EAAA,KAAAM;EAAAN,EAAA,MAAAgB;QAAAA,KAAAhB,EAAA;CACnD,MAAAoB,KAAAd,MAAKe;CACD,MAAAC,KAAAhB,MAAKO;CAAK,IAAAU;CAAA,IAAAvB,EAAA,QAAAJ,SAAA;EAGrB2B,KAAA3B,QAAO4B,IAAKC,QAOX;EAAAzB,EAAA,MAAAJ;EAAAI,EAAA,MAAAuB;QAAAA,KAAAvB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAM,MAAAe,cAAArB,EAAA,QAAAM,MAAAO,QAAAb,EAAA,QAAAK,SAAAL,EAAA,QAAAc,MAAAd,EAAA,QAAAgB,MAAAhB,EAAA,QAAAuB,IAAA;EAfJG,KAAA,oBAAC,YAAD;GACQ,MAAAd;GACC,OAAAE;GACG,UAAAE;GACF,QAAAI;GACI,cAAAE;GAAU,GAClBjB;aAEHkB;GAQU,CAAA;EAAAvB,EAAA,MAAAM,MAAAe;EAAArB,EAAA,MAAAM,MAAAO;EAAAb,EAAA,MAAAK;EAAAL,EAAA,MAAAc;EAAAd,EAAA,MAAAgB;EAAAhB,EAAA,MAAAuB;EAAAvB,EAAA,MAAA0B;QAAAA,KAAA1B,EAAA;CAAA,IAAA2B;CAAA,IAAA3B,EAAA,QAAAS,YAAAT,EAAA,QAAAU,cAAAV,EAAA,QAAAQ,WAAA;EACZmB,MAAAnB,aAAAC,YAAyB,oBAAC,gBAAD;GAAuBA,OAAAA;aAAWC;GAA4B,CAAA;EAAAV,EAAA,MAAAS;EAAAT,EAAA,MAAAU;EAAAV,EAAA,MAAAQ;EAAAR,EAAA,MAAA2B;QAAAA,MAAA3B,EAAA;CAAA,IAAA4B;CAAA,IAAA5B,EAAA,QAAA2B,OAAA3B,EAAA,QAAAW,MAAAX,EAAA,QAAA0B,IAAA;EAnB1FE,MAAA,qBAAC,aAAD;GAAuB,WAAA;aAAvB;IACGjB;IACDe;IAiBCC;IACW;;EAAA3B,EAAA,MAAA2B;EAAA3B,EAAA,MAAAW;EAAAX,EAAA,MAAA0B;EAAA1B,EAAA,MAAA4B;QAAAA,MAAA5B,EAAA;CAAA,OApBd4B;;AALmD,SAAAH,QAAAI,QAAA;CAAA,OAgB7C,oBAAC,kBAAD;EAES,OAAAA,OAAMpC;EACJ,SAAA,oBAAC,OAAD,EAAQ,CAAA;EACV,OAAAoC,OAAMrC;EACb,EAJKqC,OAAMpC,MAIX;;;;AClCZ,MAAaiD,cAAkCC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAA,IAAAH;CAAA,IAAAQ;CAAA,IAAAL,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAF,UAAAQ,SAAAN;EAAmBC,EAAA,KAAAD;EAAAC,EAAA,KAAAH;EAAAG,EAAA,KAAAK;QAAA;EAAAR,QAAAG,EAAA;EAAAK,QAAAL,EAAA;;CACjE,MAAAM,QAAcb,iBAA4C;CAAC,IAAAc;CAAA,IAAAP,EAAA,OAAAM,OAAA;EACfC,KAAAb,eAAeY,MAAM;EAAAN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;QAAAA,KAAAP,EAAA;CAAjE,MAAA,EAAAQ,WAAAC,UAAAC,eAA4CH;CAAsB,IAAAI;CAAA,IAAAX,EAAA,OAAAH,OAAA;EAI7Dc,KAAAd,SAAS,oBAAC,WAAD,EAAA,UAAYA,OAAkB,CAAA;EAAAG,EAAA,KAAAH;EAAAG,EAAA,KAAAW;QAAAA,KAAAX,EAAA;CAG/B,MAAAY,KAAAN,MAAKO,MAAMC,SAAX;CAAsB,IAAAC;CAAA,IAAAf,EAAA,OAAAM,OAAA;EACnBS,MAAAC,GAAAF,UAAcR,MAAKW,aAAcC,MAAKC,QAASL,MAAyB,GAAhBA,MAAK,KAA5BA,MAAwC;EAAAd,EAAA,KAAAM;EAAAN,EAAA,KAAAe;QAAAA,KAAAf,EAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAM,MAAAe,cAAArB,EAAA,QAAAM,MAAAgB,QAAAtB,EAAA,QAAAK,SAAAL,EAAA,QAAAY,MAAAZ,EAAA,QAAAe,IAAA;EAHrFK,KAAA,oBAAC,QAAD;GACQ,MAAAd,MAAKgB;GACJ,OAAAV;GACG,UAAAG;GACF,QAAAT,MAAKe;GACD,cAAAf,MAAKgB;GAAK,GAClBjB;GACJ,CAAA;EAAAL,EAAA,MAAAM,MAAAe;EAAArB,EAAA,MAAAM,MAAAgB;EAAAtB,EAAA,MAAAK;EAAAL,EAAA,MAAAY;EAAAZ,EAAA,MAAAe;EAAAf,EAAA,MAAAoB;QAAAA,KAAApB,EAAA;CAAA,IAAAuB;CAAA,IAAAvB,EAAA,QAAAS,YAAAT,EAAA,QAAAU,cAAAV,EAAA,QAAAQ,WAAA;EACDe,KAAAf,aAAAC,YAAyB,oBAAC,gBAAD;GAAuBA,OAAAA;aAAWC;GAA4B,CAAA;EAAAV,EAAA,MAAAS;EAAAT,EAAA,MAAAU;EAAAV,EAAA,MAAAQ;EAAAR,EAAA,MAAAuB;QAAAA,KAAAvB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAW,MAAAX,EAAA,QAAAoB,MAAApB,EAAA,QAAAuB,IAAA;EAV1FC,KAAA,qBAAC,aAAD;GAAuB,WAAA;aAAvB;IACGb;IACDS;IAQCG;IACW;;EAAAvB,EAAA,MAAAW;EAAAX,EAAA,MAAAoB;EAAApB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;QAAAA,KAAAxB,EAAA;CAAA,OAXdwB;;;;ACTJ,MAAaO,oBAA8CC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACzD,MAAAK,OAAaV,gBAAgB;CAAC,IAAAW;CAAA,IAAAN,EAAA,OAAAK,MAAA;EAEVC,MAAAC,UAAA;GAClBA,MAAKC,gBAAiB;GACtBD,MAAKE,iBAAkB;GACvBJ,KAAIK,cAAe;;EACpBV,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAJD,MAAAW,cAAoBL;CAIlB,IAAAM;CAAA,IAAAZ,EAAA,OAAAW,eAAAX,EAAA,OAAAD,OAAA;EAIGa,MAAAC,OAAA;GAAC,MAAA,CAAAC,WAAAC,gBAAAF;GAAyB,OACzB,oBAAC,QAAD;IACWE,SAAAA;IACC,UAAA,CAACD;IACFH,SAAAA;IACJ,MAAA;IACM,cAAA;IAAQ,GACfZ;IACJ,CAAA;;EACHC,EAAA,KAAAW;EAAAX,EAAA,KAAAD;EAAAC,EAAA,KAAAY;QAAAA,KAAAZ,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAK,KAAAW,aAAAhB,EAAA,OAAAY,IAAA;EAVHC,KAAA,oBAAA,KAAA,WAAA;GAA0B,UAAAI;aACvBL;GAUc,CAAA;EAAAZ,EAAA,KAAAK,KAAAW;EAAAhB,EAAA,KAAAY;EAAAZ,EAAA,KAAAa;QAAAA,KAAAb,EAAA;CAAA,OAXjBa;;AAVuD,SAAAI,QAAAC,OAAA;CAAA,OAUlB,CAACA,MAAKJ,WAAYI,MAAKH,aAAc;;;;ACN9E,MAAagB,cAAkCC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAC7C,MAAAK,QAAcZ,iBAA6C;CAAC,IAAAa;CAAA,IAAAN,EAAA,OAAAK,OAAA;EAChBC,KAAAZ,eAAeW,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAO5B,MAAAI,KAAAL,MAAKM;CACF,MAAAC,KAAAC,QAAQR,MAAKS,MAAMC,MAAO;CAAA,IAAAC;CAAA,IAAAhB,EAAA,OAAAK,OAAA;EACzBW,MAAAC,UAAWZ,MAAKa,aAAcD,MAAKE,OAAOC,QAAS;EAAApB,EAAA,KAAAK;EAAAL,EAAA,KAAAgB;QAAAA,KAAAhB,EAAA;CAAA,IAAAqB;CAAA,IAAArB,EAAA,OAAAK,MAAAiB,cAAAtB,EAAA,OAAAK,MAAAM,QAAAX,EAAA,OAAAD,SAAAC,EAAA,OAAAY,MAAAZ,EAAA,OAAAgB,IAAA;EAH/DK,KAAA,oBAAC,QAAD;GACQ,MAAAX;GACG,SAAAE;GACC,UAAAI;GACF,QAAAX,MAAKiB;GACD,cAAAjB,MAAKM;GAAK,GAClBZ;GACJ,CAAA;EAAAC,EAAA,KAAAK,MAAAiB;EAAAtB,EAAA,KAAAK,MAAAM;EAAAX,EAAA,KAAAD;EAAAC,EAAA,KAAAY;EAAAZ,EAAA,KAAAgB;EAAAhB,EAAA,MAAAqB;QAAAA,KAAArB,EAAA;CAEG,MAAAuB,KAAAxB,MAAKF,SAAL;CAAiB,IAAA2B;CAAA,IAAAxB,EAAA,QAAAqB,MAAArB,EAAA,QAAAuB,IAAA;EAX1BC,KAAA,oBAAC,kBAAD;GAEI,SAAAH;GASK,OAAAE;GACP,CAAA;EAAAvB,EAAA,MAAAqB;EAAArB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;QAAAA,KAAAxB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAQ,YAAAR,EAAA,QAAAS,cAAAT,EAAA,QAAAO,WAAA;EACDkB,KAAAlB,aAAAC,YAAyB,oBAAC,gBAAD;GAAuBA,OAAAA;aAAWC;GAA4B,CAAA;EAAAT,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;EAAAT,EAAA,MAAAO;EAAAP,EAAA,MAAAyB;QAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAwB,MAAAxB,EAAA,QAAAyB,IAAA;EAd1FC,KAAA,qBAAC,aAAD;GAAuB,WAAA;aAAvB,CACEF,IAaCC,GACW;;EAAAzB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAA0B;QAAAA,KAAA1B,EAAA;CAAA,OAfd0B;;;;ACLJ,MAAaU,iBAAwCC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACnD,MAAAK,QAAcZ,iBAAqD;CAAC,IAAAa;CAAA,IAAAN,EAAA,OAAAK,OAAA;EACxBC,KAAAZ,eAAeW,MAAM;EAAAL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;QAAAA,KAAAN,EAAA;CAAjE,MAAA,EAAAO,WAAAC,UAAAC,eAA4CH;CAKjC,MAAAI,KAAAL,MAAKM,MAAMC,SAAX;CAAuB,IAAAC;CAAA,IAAAb,EAAA,OAAAK,OAAA;EACpBQ,MAAAC,UAAWT,MAAKU,aAAcD,MAAKE,OAAOJ,MAAO;EAAAZ,EAAA,KAAAK;EAAAL,EAAA,KAAAa;QAAAA,KAAAb,EAAA;CAEpD,MAAAiB,KAAAV,aAAAC;CACK,MAAAU,KAAAX,aAAAE;CAAuB,IAAAU;CAAA,IAAAnB,EAAA,OAAAK,MAAAe,cAAApB,EAAA,OAAAK,MAAAgB,QAAArB,EAAA,OAAAD,SAAAC,EAAA,OAAAU,MAAAV,EAAA,OAAAa,MAAAb,EAAA,QAAAiB,MAAAjB,EAAA,QAAAkB,IAAA;EANrCC,KAAA,oBAAC,WAAD;GACQ,MAAAd,MAAKgB;GACJ,OAAAX;GACG,UAAAG;GACF,QAAAR,MAAKe;GACN,OAAAH;GACK,YAAAC;GACA,cAAAb,MAAKgB;GAAK,GAClBtB;GACJ,CAAA;EAAAC,EAAA,KAAAK,MAAAe;EAAApB,EAAA,KAAAK,MAAAgB;EAAArB,EAAA,KAAAD;EAAAC,EAAA,KAAAU;EAAAV,EAAA,KAAAa;EAAAb,EAAA,MAAAiB;EAAAjB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;QAAAA,KAAAnB,EAAA;CAAA,OATFmB;;;;ACAJ,MAAa,EAAEiC,cAAcC,iBAAiBC,aAAaC,mBACzDhC,wBAAwB;AAE1B,MAAa,EAAEiC,YAAYC,eAAeC,UAAUC,mBAAmBrC,eAAe;CACpFsC,iBAAiB;EACfT,WAAAA;EACAV,aAAAA;EACAhB,cAAAA;EACAE,UAAAA;EACAsB,QAAAA;EACAN,YAAAA;EACAE,QAAAA;EACAhB,YAAAA;EACAE,iBAAAA;EACAE,YAAAA;EACAE,iBAAAA;EACAE,gBAAAA;EACAE,qBAAAA;EACD;CACDsB,gBAAgB,EACdd,cAAAA,kBACD;CACDK;CACAE;CACD,CAAC;;;ACrCF,SAAOU,kBAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CACL,MAAAK,UAAgBR,WAAWC,oBAAoB;CAC/C,IAAI,CAACO,SAAS,MAAM,IAAIC,MAAM,6DAA6D;CAAC,OACrFD;;;;ACgCT,MAAa0B,oBAAmBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAC,MAAA,EAAAjB,gBAAAsB,IAAArB,iBAAAsB,IAAArB,gBAAAsB,IAAArB,cAAAsB,IAAArB,YAAAE,SAAAE,WAAAkB,IAAAjB,iBAAAE,iBAAAgB,IAAAf,gBAAAgB,IAAAf,WAAAgB,IAAAf,SAAAgB,OAAAd;CAC/B,MAAAhB,iBAAAsB,OAAAS,KAAAA,IAAA,MAAAT;CACA,MAAArB,kBAAAsB,OAAAQ,KAAAA,IAAA,KAAAR;CAAoB,IAAAS;CAAA,IAAAf,EAAA,OAAAO,IAAA;EACpBQ,MAAAR,OAAAO,KAAAA,IAAA,EAAmB,GAAnBP;EAAmBP,EAAA,KAAAO;EAAAP,EAAA,KAAAe;QAAAA,MAAAf,EAAA;CAAnB,MAAAf,iBAAA8B;CAAmB,IAAAC;CAAA,IAAAhB,EAAA,OAAAQ,IAAA;EACnBQ,MAAAR,OAAAM,KAAAA,IAAA,CAAgB,SAAS,SAAS,GAAlCN;EAAkCR,EAAA,KAAAQ;EAAAR,EAAA,KAAAgB;QAAAA,MAAAhB,EAAA;CAAlC,MAAAd,eAAA8B;CAGA,MAAAzB,YAAAkB,OAAAK,KAAAA,IAAA,IAAAL;CAEA,MAAAf,kBAAAgB,OAAAI,KAAAA,IAAA,QAAAJ;CACA,MAAAf,iBAAAgB,OAAAG,KAAAA,IAAA,QAAAH;CACA,MAAAf,YAAAgB,OAAAE,KAAAA,IAAAG,WAAAL;CACA,MAAAf,UAAAgB,OAAAC,KAAAA,IAAA,OAAAD;CAAc,IAAAK;CAAA,IAAAlB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;EAEgBc,MAAA,EAAE;EAAAlB,EAAA,KAAAkB;QAAAA,MAAAlB,EAAA;CAAhC,MAAAmB,SAAuB5C,OAAO2C,IAAG;CACjC,MAAAE,UAAqB7C,OAAO,MAAM;CAAC,IAAA8C;CAAA,IAAArB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;EAEfiB,YAAA;GAClBF,OAAMvC,UAAW,EAAH;;EACfoB,EAAA,KAAAqB;QAAAA,MAAArB,EAAA;CAFD,MAAAsB,cAAoBD;CAElB,IAAAE;CAAA,IAAAvB,EAAA,OAAAhB,mBAAAgB,EAAA,OAAAT,aAAAS,EAAA,OAAAb,cAAAa,EAAA,QAAAX,WAAAW,EAAA,QAAAf,gBAAA;EACqBsC,YAAA;GACrBC,aAAaJ,QAAOxC,QAAS;GAK7B,MAAAmD,MAJYZ,OAAMvC,QAAQ8C,IACnBC,MAA2D,CAAAC,MACzD,EAAE,CAAAC,OACDC,QAAiC,EAC5B,IAAIX,OAAMvC,QAAQoD,SAAU;GAE3C,MAAA5C,OAAa+B,OAAMvC,QAAQgD,MAClB3C,eAAc+C,SAAU,IAAxB,IAAA,EAAkC,CAAAC,OACjCC,OAAiD,CAAAR,IACpDS,OAAmB,CAAAC,KAClB,GAAG;GAEX,IACEL,OAAO/C,mBACPmC,OAAMvC,QAAQgD,MAAO3C,eAAc+C,SAAU,IAAxB,IAAA,EAAkC,CAAAA,UAAWzC,WAElEJ,WAAWC,KAAK;QAEhB2C,OAAO/C,mBAAqBK,WAAWA,QAAQD,KAAK;GAEtDkC,aAAa;;EACdtB,EAAA,KAAAhB;EAAAgB,EAAA,KAAAT;EAAAS,EAAA,KAAAb;EAAAa,EAAA,MAAAX;EAAAW,EAAA,MAAAf;EAAAe,EAAA,MAAAuB;QAAAA,MAAAvB,EAAA;CAvBD,MAAAqC,iBAAuBd;CAuBrB,IAAAe;CAAA,IAAAtC,EAAA,QAAAH,WAAAG,EAAA,QAAAd,gBAAAc,EAAA,QAAAqC,kBAAArC,EAAA,QAAAR,mBAAAQ,EAAA,QAAAL,kBAAAK,EAAA,QAAAf,kBAAAe,EAAA,QAAAN,mBAAAM,EAAA,QAAAjB,gBAAA;EAEgBuD,OAAAC,UAAA;GAChB,IAAI,CAAC1C,SAAO;GAEZ,IAAI0C,MAAKC,kBAAmBhD,iBAAe;IACzC,IAAIN,aAAYuD,SAAUF,MAAKG,IAAK,EAClCL,gBAAgB;IAElB,IACElB,OAAMvC,QAAQoD,SAAU,KACxB/C,eAAcwD,SAAUF,MAAKG,IACF,IAA3BzD,eAAc+C,WAAY,GAAC;KAE3BR,aAAaJ,QAAOxC,QAAS;KAC7BwC,QAAOxC,UAAW+D,WAAWN,gBAAgBtD,eAA9B;KACfoC,OAAMvC,QAAQgE,KAAM;MAAAnE,MAAQoE,YAAWC,KAAM;MAAApE,MAAQ6D,MAAKG;MAAM,CAAC;;;GAGrE,IAAIhD,iBACF6C,MAAK7C,iBAAkB;GAEzB,IAAIC,gBACF4C,MAAK5C,gBAAiB;;EAEzBK,EAAA,MAAAH;EAAAG,EAAA,MAAAd;EAAAc,EAAA,MAAAqC;EAAArC,EAAA,MAAAR;EAAAQ,EAAA,MAAAL;EAAAK,EAAA,MAAAf;EAAAe,EAAA,MAAAN;EAAAM,EAAA,MAAAjB;EAAAiB,EAAA,MAAAsC;QAAAA,MAAAtC,EAAA;CAvBD,MAAA+C,YAAkBT;CAuBhB,IAAAU;CAAA,IAAAC;CAAA,IAAAjD,EAAA,QAAAG,OAAAC,IAAA,4BAAA,EAAA;EAEQ4C,kBACD;GACLxB,aAAaJ,QAAOxC,QAAS;;EAE9BqE,MAAA,EAAE;EAAAjD,EAAA,MAAAgD;EAAAhD,EAAA,MAAAiD;QAAA;EAAAD,MAAAhD,EAAA;EAAAiD,MAAAjD,EAAA;;CAJL1B,UAAU0E,KAIPC,IAAG;CAAA,IAAAC;CAAA,IAAAlD,EAAA,QAAAJ,aAAAI,EAAA,QAAA+C,WAAA;EAEIG,YAAA;GACRtD,UAASuD,iBAAkB,WAAWJ,UAA2B;GAAA,aAC1D;IACLnD,UAASyD,oBAAqB,WAAWN,UAA2B;;;EAEvE/C,EAAA,MAAAJ;EAAAI,EAAA,MAAA+C;EAAA/C,EAAA,MAAAkD;QAAAA,MAAAlD,EAAA;CAAA,IAAAsD;CAAA,IAAAtD,EAAA,QAAA+C,WAAA;EAAEO,MAAA,CAACP,UAAU;EAAA/C,EAAA,MAAA+C;EAAA/C,EAAA,MAAAsD;QAAAA,MAAAtD,EAAA;CALd1B,UAAU4E,KAKPI,IAAY;;AAjFe,SAAA3B,MAAA5B,IAAAwD,GAAAC,KAAA;CAuBpB,MAAA,EAAA/E,SAAAsB;CAAQ,OAAcwD,IAAI,IAAI9E,OAAO+E,IAAID,IAAI,GAAE9E,OAAzB;;AAvBF,SAAAqD,OAAA2B,OAAAC,OAAA;CAAA,OAyBAD,QAAQC;;AAzBR,SAAAxB,OAAAnC,IAAA;CA8BjB,MAAA,EAAArB,SAAAqB;CAAQ,OAAKrB,SAAS,WAAWA,SAAS;;AA9BzB,SAAAyD,OAAApC,IAAA;CA+BpB,MAAA,EAAArB,MAAAiF,WAAA5D;CAAQ,OAAKrB"}
|
|
1
|
+
{"version":3,"file":"hooks.js","names":["Autocomplete","TextField","AutocompleteProps","TextFieldProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormAutocompleteProps","Omit","textFieldProps","FormAutocomplete","t0","$","_c","$i","Symbol","for","autocompleteProps","field","t1","isTouched","hasError","helperText","t2","t3","freeSolo","_","value","handleChange","__0","value_0","reason","t4","name","parameters","t5","handleBlur","state","Checkbox","FormControl","FormControlLabel","FormHelperText","CheckboxProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormCheckboxProps","Omit","label","FormCheckbox","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","name","t2","Boolean","state","value","t3","event","handleChange","target","checked","t4","handleBlur","t5","t6","t7","t8","DatePicker","Dayjs","PickersTextFieldProps","DatePickerProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDatePickerProps","Omit","textFieldProps","Partial","FormDatePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateRangePicker","PickersTextFieldProps","DateRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateRangePickerProps","Omit","textFieldProps","Partial","FormDateRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TimePicker","PickersTextFieldProps","TimePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTimePickerProps","Omit","textFieldProps","Partial","FormTimePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TimeRangePicker","PickersTextFieldProps","TimeRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTimeRangePickerProps","Omit","textFieldProps","Partial","FormTimeRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateTimePicker","Dayjs","PickersTextFieldProps","DateTimePickerProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateTimePickerProps","Omit","textFieldProps","Partial","FormDateTimePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","DateTimeRangePicker","PickersTextFieldProps","DateTimeRangePickerProps","Dayjs","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormDateTimeRangePickerProps","Omit","textFieldProps","Partial","FormDateTimeRangePicker","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","value","handleChange","t2","t3","t4","handleBlur","onBlur","error","t5","slotProps","textField","t6","name","state","TextField","NumericFormat","InputAttributes","NumericFormatProps","FC","TextFieldProps","FormOmittedProps","useFieldContext","getFieldStatus","FormNumberFieldProps","Omit","defaultValue","options","FormNumberField","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","state","value","t3","t4","floatValue","handleChange","t5","t6","handleBlur","name","FormControl","FormControlLabel","FormHelperText","FormLabel","Radio","RadioGroup","RadioGroupProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","Option","label","value","FormRadioGroupProps","Omit","options","Array","FormRadioGroup","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","t3","name","t4","state","t5","event","handleChange","target","t6","handleBlur","t7","t8","map","_temp","t9","t10","t11","option","FormControl","FormHelperText","FormLabel","Slider","SliderProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormSliderProps","Omit","label","FormSlider","t0","$","_c","$i","Symbol","for","props","field","t1","isTouched","hasError","helperText","t2","t3","state","value","t4","_","handleChange","Array","isArray","t5","handleBlur","name","t6","t7","Button","ButtonProps","FC","useFormContext","FormSubmitButtonProps","Omit","FormSubmitButton","props","$","_c","$i","Symbol","for","form","t0","event","preventDefault","stopPropagation","handleSubmit","handleClick","t1","t2","canSubmit","isSubmitting","Subscribe","_temp","state","FormControl","FormControlLabel","FormHelperText","Switch","SwitchProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormSwitchProps","Omit","label","FormSwitch","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","name","t2","Boolean","state","value","t3","event","handleChange","target","checked","t4","handleBlur","t5","t6","t7","t8","TextField","TextFieldProps","FC","FormOmittedProps","useFieldContext","getFieldStatus","FormTextFieldProps","Omit","type","FormTextField","props","$","_c","$i","Symbol","for","field","t0","isTouched","hasError","helperText","t1","state","value","t2","event","handleChange","target","t3","t4","t5","handleBlur","name","createFormHook","createFormHookContexts","FormAutocomplete","Autocomplete","FormCheckbox","Checkbox","FormDatePicker","DatePicker","FormDateRangePicker","DateRangePicker","FormTimePicker","TimePicker","FormTimeRangePicker","TimeRangePicker","FormDateTimePicker","DateTimePicker","FormDateTimeRangePicker","DateTimeRangePicker","FormNumberField","NumberField","FormRadioGroup","RadioGroup","FormSlider","Slider","FormSubmitButton","SubmitButton","FormSwitch","Switch","FormTextField","TextField","fieldContext","useFieldContext","formContext","useFormContext","useAppForm","useLayoutForm","withForm","withLayoutForm","fieldComponents","formComponents","useContext","NotificationContext","useNotification","$","_c","$i","Symbol","for","context","Error","useEffect","useRef","BufferCharacter","time","char","Buffer","current","Array","Config","timeToEvaluate","averageWaitTime","startCharacter","endCharacter","onComplete","code","onError","error","minLength","ignoreIfFocusOn","Node","stopPropagation","preventDefault","container","enabled","useScanDetection","t0","$","_c","$i","Symbol","for","t1","t2","t3","t4","t5","t6","t7","t8","t9","undefined","t10","t11","document","t12","buffer","timeout","t13","clearBuffer","t14","clearTimeout","sum","map","_temp","slice","reduce","_temp2","avg","length","filter","_temp3","_temp4","join","evaluateBuffer","t15","event","currentTarget","includes","key","setTimeout","push","performance","now","onKeyDown","t16","t17","t18","addEventListener","EventListener","removeEventListener","t19","k","arr","total","delta","char_0"],"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/useForm.ts","../src/hooks/UseNotification.ts","../src/hooks/UseScanDetection.ts"],"sourcesContent":["import { Autocomplete, TextField } from \"@mui/material\";\nimport type { AutocompleteProps, TextFieldProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormAutocompleteProps extends Omit<\n AutocompleteProps<any, boolean, boolean, boolean>,\n FormOmittedProps\n> {\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\n}\n\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({\n textFieldProps,\n ...autocompleteProps\n}) => {\n const field = useFieldContext();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <Autocomplete\n value={field.state.value}\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\n onInputChange={(_, value, reason) =>\n reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)\n }\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...autocompleteProps}\n renderInput={(parameters) => (\n <TextField\n {...parameters}\n name={field.name}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n {...textFieldProps}\n />\n )}\n />\n );\n};\n","import { Checkbox, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\nimport type { CheckboxProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\n const field = useFieldContext<boolean | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n <FormControlLabel\n control={\n <Checkbox\n name={field.name}\n checked={Boolean(field.state.value)}\n onChange={(event) => field.handleChange(event.target.checked)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n }\n label={props.label ?? \"\"}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { DatePicker } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DatePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DatePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateRangePickerProps extends Omit<DateRangePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateRangePicker: FC<FormDateRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TimePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { TimePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTimePickerProps extends Omit<TimePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormTimePicker: FC<FormTimePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TimePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TimeRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { TimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTimeRangePickerProps extends Omit<TimeRangePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormTimeRangePicker: FC<FormTimeRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TimeRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateTimePicker } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\n const field = useFieldContext<Dayjs | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateTimePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { DateTimeRangePicker } from \"@mui/x-date-pickers-pro\";\nimport type { PickersTextFieldProps } from \"@mui/x-date-pickers/PickersTextField\";\nimport type { DateTimeRangePickerProps } from \"@mui/x-date-pickers-pro\";\nimport type { Dayjs } from \"dayjs\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormDateTimeRangePickerProps extends Omit<\n DateTimeRangePickerProps,\n FormOmittedProps\n> {\n textFieldProps?: Partial<PickersTextFieldProps>;\n}\n\nexport const FormDateTimeRangePicker: FC<FormDateTimeRangePickerProps> = (props) => {\n const field = useFieldContext<[Dayjs | null, Dayjs | null] | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <DateTimeRangePicker\n name={field.name}\n value={field.state.value}\n onChange={(value) => field.handleChange(value)}\n slotProps={{\n textField: {\n onBlur: field.handleBlur,\n error: isTouched && hasError,\n helperText: isTouched && helperText,\n ...props.textFieldProps,\n },\n ...props.slotProps,\n }}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { TextField } from \"@mui/material\";\nimport { NumericFormat } from \"react-number-format\";\nimport type { InputAttributes, NumericFormatProps } from \"react-number-format/types/types\";\nimport type { FC } from \"react\";\nimport type { TextFieldProps } from \"@mui/material\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\n defaultValue?: number | null;\n options?: Omit<\n NumericFormatProps<InputAttributes>,\n \"customInput\" | \"onValueChange\" | keyof InputAttributes\n >;\n}\n\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\n const field = useFieldContext<number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <NumericFormat\n customInput={TextField}\n name={field.name}\n value={field.state.value ?? \"\"}\n onValueChange={({ floatValue }) => field.handleChange(floatValue)}\n onBlur={field.handleBlur}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n aria-label={field.name}\n {...props}\n {...options}\n />\n );\n};\n","import {\n FormControl,\n FormControlLabel,\n FormHelperText,\n FormLabel,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\nimport type { RadioGroupProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\ninterface Option {\n label: string;\n value: string | number;\n}\n\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\n label?: string;\n options: Array<Option>;\n}\n\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\n const field = useFieldContext<string | number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\n <RadioGroup\n name={field.name}\n value={field.state.value ?? \"\"}\n onChange={(event) => field.handleChange(event.target.value)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n >\n {options.map((option) => (\n <FormControlLabel\n key={option.value}\n value={option.value}\n control={<Radio />}\n label={option.label}\n />\n ))}\n </RadioGroup>\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { FormControl, FormHelperText, FormLabel, Slider } from \"@mui/material\";\nimport type { SliderProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\n const field = useFieldContext<number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n {label && <FormLabel>{label}</FormLabel>}\n <Slider\n name={field.name}\n value={field.state.value ?? 0}\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { Button } from \"@mui/material\";\nimport type { ButtonProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport { useFormContext } from \"~/hooks/useForm\";\n\nexport type FormSubmitButtonProps = Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\" | \"type\">;\n\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\n const form = useFormContext();\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n form.handleSubmit();\n };\n\n return (\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\n {([canSubmit, isSubmitting]) => (\n <Button\n loading={isSubmitting}\n disabled={!canSubmit}\n onClick={handleClick}\n type=\"submit\"\n aria-label=\"submit\"\n {...props}\n />\n )}\n </form.Subscribe>\n );\n};\n","import { FormControl, FormControlLabel, FormHelperText, Switch } from \"@mui/material\";\nimport type { SwitchProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\n label?: string;\n}\n\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\n const field = useFieldContext<boolean | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <FormControl component=\"fieldset\">\n <FormControlLabel\n control={\n <Switch\n name={field.name}\n checked={Boolean(field.state.value)}\n onChange={(event) => field.handleChange(event.target.checked)}\n onBlur={field.handleBlur}\n aria-label={field.name}\n {...props}\n />\n }\n label={props.label ?? \"\"}\n />\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import { TextField } from \"@mui/material\";\nimport type { TextFieldProps } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { FormOmittedProps } from \"~/lib/utils\";\nimport { useFieldContext } from \"~/hooks/useForm\";\nimport { getFieldStatus } from \"~/lib/utils\";\n\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\";\n}\n\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\n const field = useFieldContext<string | number | null | undefined>();\n const { isTouched, hasError, helperText } = getFieldStatus(field);\n\n return (\n <TextField\n name={field.name}\n value={field.state.value ?? \"\"}\n onChange={(event) => field.handleChange(event.target.value)}\n onBlur={field.handleBlur}\n error={isTouched && hasError}\n helperText={isTouched && helperText}\n aria-label={field.name}\n {...props}\n />\n );\n};\n","import { createFormHook, createFormHookContexts } from \"@tanstack/react-form\";\nimport { FormAutocomplete as Autocomplete } from \"~/components/form/FormAutocomplete\";\nimport { FormCheckbox as Checkbox } from \"~/components/form/FormCheckbox\";\nimport { FormDatePicker as DatePicker } from \"~/components/form/FormDatePicker\";\nimport { FormDateRangePicker as DateRangePicker } from \"~/components/form/FormDateRangePicker\";\nimport { FormTimePicker as TimePicker } from \"~/components/form/FormTimePicker\";\nimport { FormTimeRangePicker as TimeRangePicker } from \"~/components/form/FormTimeRangePicker\";\nimport { FormDateTimePicker as DateTimePicker } from \"~/components/form/FormDateTimePicker\";\nimport { FormDateTimeRangePicker as DateTimeRangePicker } from \"~/components/form/FormDateTimeRangePicker\";\nimport { FormNumberField as NumberField } from \"~/components/form/FormNumberField\";\nimport { FormRadioGroup as RadioGroup } from \"~/components/form/FormRadioGroup\";\nimport { FormSlider as Slider } from \"~/components/form/FormSlider\";\nimport { FormSubmitButton as SubmitButton } from \"~/components/form/FormSubmitButton\";\nimport { FormSwitch as Switch } from \"~/components/form/FormSwitch\";\nimport { FormTextField as TextField } from \"~/components/form/FormTextField\";\n\nexport const { fieldContext, useFieldContext, formContext, useFormContext } =\n createFormHookContexts();\n\nexport const { useAppForm: useLayoutForm, withForm: withLayoutForm } = createFormHook({\n fieldComponents: {\n TextField,\n NumberField,\n Autocomplete,\n Checkbox,\n Switch,\n RadioGroup,\n Slider,\n DatePicker,\n DateRangePicker,\n TimePicker,\n TimeRangePicker,\n DateTimePicker,\n DateTimeRangePicker,\n },\n formComponents: {\n SubmitButton,\n },\n fieldContext,\n formContext,\n});\n","import { useContext } from \"react\";\nimport { NotificationContext } from \"~/contexts/NotificationContext\";\n\nexport function useNotification() {\n const context = useContext(NotificationContext);\n if (!context) throw new Error(\"useNotification must be used within a NotificationProvider\");\n return context;\n}\n","import { useEffect, useRef } from \"react\";\n\ninterface BufferCharacter {\n time: number;\n char: string;\n}\n\ninterface Buffer {\n current: Array<BufferCharacter>;\n}\n\ninterface Config {\n /** Time to wait from last character to then trigger an evaluation of the buffer. */\n timeToEvaluate?: number;\n /** Average time between characters in milliseconds. Used to determine if input is from keyboard or a scanner. Defaults to 50ms.*/\n averageWaitTime?: number;\n /** Character that barcode scanner prefixes input with.*/\n startCharacter?: Array<string>;\n /** Character that barcode scanner suffixes input with. Defaults to line return.*/\n endCharacter?: Array<string>;\n /** Callback to use on complete scan input.*/\n onComplete: (code: string) => void;\n /** Callback to use on error. */\n onError?: (error: string) => void;\n /** Minimum length a scanned code should be. Defaults to 0.*/\n minLength?: number;\n /** Ignore scan input if this node is focused.*/\n ignoreIfFocusOn?: Node;\n /** Stop propagation on keydown event. Defaults to false.*/\n stopPropagation?: boolean;\n /** Prevent default on keydown event. Defaults to false.*/\n preventDefault?: boolean;\n /** Bind keydown event to this node. Defaults to document.*/\n container?: Node;\n /** Indicates if the scanning is enabled. */\n enabled?: boolean;\n}\n\nexport const useScanDetection = ({\n timeToEvaluate = 100,\n averageWaitTime = 50,\n startCharacter = [],\n endCharacter = [\"Enter\", \"Escape\"],\n onComplete,\n onError,\n minLength = 1,\n ignoreIfFocusOn,\n stopPropagation = false,\n preventDefault = false,\n container = document,\n enabled = true,\n}: Config) => {\n const buffer: Buffer = useRef([]);\n const timeout: any = useRef(false);\n\n const clearBuffer = () => {\n buffer.current = [];\n };\n const evaluateBuffer = () => {\n clearTimeout(timeout.current);\n const sum = buffer.current\n .map(({ time }, k, arr) => (k > 0 ? time - arr[k - 1].time : 0))\n .slice(1)\n .reduce((total, delta) => total + delta, 0);\n const avg = sum / (buffer.current.length - 1);\n\n const code = buffer.current\n .slice(startCharacter.length > 0 ? 1 : 0)\n .filter(({ char }) => char !== \"Shift\" && char !== \"Tab\")\n .map(({ char }) => char)\n .join(\"\");\n\n if (\n avg <= averageWaitTime &&\n buffer.current.slice(startCharacter.length > 0 ? 1 : 0).length >= minLength\n ) {\n onComplete(code);\n } else {\n avg <= averageWaitTime && !!onError && onError(code);\n }\n clearBuffer();\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n\n if (event.currentTarget !== ignoreIfFocusOn) {\n if (endCharacter.includes(event.key)) {\n evaluateBuffer();\n }\n if (\n buffer.current.length > 0 ||\n startCharacter.includes(event.key) ||\n startCharacter.length === 0\n ) {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(evaluateBuffer, timeToEvaluate);\n buffer.current.push({ time: performance.now(), char: event.key });\n }\n }\n if (stopPropagation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timeout.current);\n };\n }, []);\n\n useEffect(() => {\n container.addEventListener(\"keydown\", onKeyDown as EventListener);\n return () => {\n container.removeEventListener(\"keydown\", onKeyDown as EventListener);\n };\n }, [onKeyDown]);\n};\n"],"mappings":"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"}
|