@gaddario98/react-core 2.1.2 → 2.1.4
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/form/index.d.ts +41 -27
- package/dist/form/index.js +88 -35
- package/dist/form/index.js.map +1 -1
- package/dist/form/index.mjs +88 -35
- package/dist/form/index.mjs.map +1 -1
- package/dist/notifications/index.d.ts +4 -4
- package/dist/pages/index.d.ts +10 -1
- package/dist/pages/index.js +35 -16
- package/dist/pages/index.js.map +1 -1
- package/dist/pages/index.mjs +35 -16
- package/dist/pages/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/form/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../form/config.ts","../../form/containers.tsx","../../form/hooks/useJotaiForm.ts","../../form/FormField.tsx","../../form/atoms/formAtom.ts","../../form/hooks/useFormValues.ts","../../form/hooks/useFormManager.tsx","../../form/FormManager.tsx"],"sourcesContent":["import { atomStateGenerator } from '@gaddario98/react-state'\nimport type { PropsWithChildren } from 'react'\n\nexport interface FormNotificationMessage {\n message: string\n type: 'success' | 'error' | 'info' | 'warning'\n autoHideDuration?: number\n textTransOption?: Record<string, unknown>\n ns?: string\n}\nexport interface FormTranslationOptions {\n [key: string]: string | number | boolean | undefined\n ns?: string\n}\nexport interface FormConfigProps {\n formFieldContainer: React.FC<PropsWithChildren>\n showNotification?: (notification: FormNotificationMessage) => void\n translateText?: (key: string, options?: FormTranslationOptions) => string\n}\n\nconst DefaultContainer = ({ children }: PropsWithChildren) => {\n return children\n}\n// Lazy initialization to avoid side effects at module load time\nconst _formConfig: FormConfigProps = {\n formFieldContainer: DefaultContainer,\n}\n\nexport const {\n atom: formConfigAtom,\n useValue: useFormConfigValue,\n useState: useFormConfigState,\n useReset: useFormConfigReset,\n} = atomStateGenerator<FormConfigProps>({\n key: 'formConfig',\n defaultValue: _formConfig,\n persist: false,\n})\n","import { useCallback } from 'react'\nimport type { FieldValues, ViewSettingsContainerProps } from './types'\n\nexport interface DefaultFormContainerProps {\n children: React.ReactNode\n}\n\nconst createDefaultContainer = () => {\n return ({ children }: ViewSettingsContainerProps) => {\n return children\n }\n}\n\nlet DefaultContainer = createDefaultContainer()\n\nconst setDefaultFormContainer = (\n val: ({\n children,\n }: ViewSettingsContainerProps) => React.ReactNode,\n) => {\n DefaultContainer = val\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DefaultFormContainer = <_T extends FieldValues = FieldValues>({\n children,\n}: ViewSettingsContainerProps) => {\n const handleSubmit = useCallback((e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const form = e.currentTarget\n const submitButton = form.querySelector('button[type=\"submit\"]') as\n | HTMLButtonElement\n | undefined\n submitButton?.click()\n }, [])\n\n return (\n <form onSubmit={handleSubmit} className=\"gap-3 flex flex-col\">\n {children}\n </form>\n )\n}\n\nexport { DefaultContainer, setDefaultFormContainer, DefaultFormContainer }\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useForm } from '@tanstack/react-form'\nimport type {FormOptions} from '@tanstack/react-form';\nimport type { FieldValues } from '../types'\n\nexport interface UseCustomFormOptions<TData extends FieldValues>\n extends FormOptions<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n > {\n formId?: string\n}\n\nexport function useJotaiForm<TData extends FieldValues>(formOptions: UseCustomFormOptions<TData>) {\n const form = useForm<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >(formOptions)\n\n return form\n}\n","/* eslint-disable react-hooks/refs */\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useFormConfigValue } from './config'\nimport type { FieldValues, FormFieldProps } from './types'\n\nexport const FormField = <T extends FieldValues>({\n config,\n onFieldChange,\n ns: globalNs,\n globalErrorNs,\n}: FormFieldProps<T>) => {\n const ns = config.ns ?? globalNs\n const errorNs = config.errorNs ?? globalErrorNs\n const { formFieldContainer, translateText } = useFormConfigValue()\n\n // TanStack Form uses field.state.meta.errors which is an array of ValidationError\n const firstError =\n config.field.state.meta.errors.length > 0\n ? config.field.state.meta.errors[0]\n : undefined\n const errorMessageStr = firstError ? String(firstError) : undefined\n\n const errorMessage = useMemo(() => {\n if (!errorMessageStr) return undefined\n return errorNs\n ? translateText?.(errorMessageStr, {\n ns: errorNs || '',\n defaultValue: '',\n })\n : errorMessageStr\n }, [errorMessageStr, errorNs, translateText])\n\n const label = useMemo(\n () => (ns ? translateText?.(config.label ?? '') : config.label),\n [ns, config.label, translateText],\n )\n\n const helperMessage = useMemo(\n () =>\n config.helper?.text\n ? translateText?.(config.helper.text, config.helper.translationOption)\n : '',\n [config.helper, translateText],\n )\n\n const ref = useRef({ onFieldChange, handleChange: config.field.handleChange })\n\n useEffect(() => {\n ref.current = {\n onFieldChange,\n handleChange: config.field.handleChange,\n }\n }, [config.field.handleChange, onFieldChange])\n\n const handleChange = useCallback((value: T) => {\n // TanStack Form handleChange usually expects just the value for input\n // but if we are manually calling it we should pass the value.\n ref.current.handleChange(value)\n ref.current.onFieldChange?.(value)\n }, [])\n\n const handleBlur = useCallback(() => {\n config.field.handleBlur()\n }, [config.field])\n\n const baseProps = useMemo(\n () => ({\n value: config.field.state.value,\n onChange: handleChange,\n onBlur: handleBlur,\n error: config.field.state.meta.errors.length > 0,\n errorMessage,\n label,\n helperMessage,\n }),\n [\n config.field.state.value,\n handleChange,\n handleBlur,\n config.field.state.meta.errors.length,\n errorMessage,\n label,\n helperMessage,\n ],\n )\n\n const ConfigContainer = useMemo(() => config.container, [config.container])\n const FormFieldContainer = useMemo(\n () => formFieldContainer,\n [formFieldContainer],\n )\n\n if (ConfigContainer) {\n return (\n <ConfigContainer>\n {config.component(baseProps)}\n </ConfigContainer>\n )\n }\n return (\n <FormFieldContainer>\n {config.component(baseProps)}\n </FormFieldContainer>\n )\n}\n","import { atom, useAtom, useAtomValue, useSetAtom } from 'jotai'\nimport { selectAtom } from 'jotai/utils'\nimport { useCallback, useMemo } from 'react'\nimport type { FieldValues, SetValueFunction } from '../types'\n\nexport interface FormStoreEntry<F extends FieldValues = FieldValues> {\n formValues: F\n setValue: SetValueFunction<F>\n}\n\nexport const DEFAULT_FORM_ENTRY: FormStoreEntry<FieldValues> = Object.freeze({\n formValues: {} as FieldValues,\n setValue: () => {},\n})\n\n/**\n * Global atom storing all form state.\n * Key format: \"scopeId:formId\" or just \"formId\" for backward compatibility.\n */\nexport const formAtom = atom<Record<string, FormStoreEntry>>({})\n\n/**\n * Helper to generate composite keys for forms.\n */\nexport const getFormCompositeKey = (scopeId: string, key: string): string =>\n `${scopeId}:${key}`\n\n/**\n * Creates a derived atom for accessing forms of a specific scope.\n */\nexport const createScopeFormsAtom = (scopeId: string) =>\n atom(\n (get) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const scopeForms: Record<string, FormStoreEntry> = {}\n\n for (const [key, value] of Object.entries(allForms)) {\n if (key.startsWith(prefix)) {\n scopeForms[key.slice(prefix.length)] = value\n }\n }\n\n return scopeForms\n },\n (get, set, update: Record<string, FormStoreEntry>) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const newForms = { ...allForms }\n\n // Remove old scope entries\n for (const key of Object.keys(newForms)) {\n if (key.startsWith(prefix)) {\n delete newForms[key]\n }\n }\n\n // Add new scope entries\n for (const [key, value] of Object.entries(update)) {\n newForms[`${prefix}${key}`] = value\n }\n\n set(formAtom, newForms)\n },\n )\n\nexport const createFormSelector = <F extends FieldValues = FieldValues>(\n formId: string,\n) =>\n selectAtom(\n formAtom,\n (forms) => {\n const entry = forms[formId] as FormStoreEntry<F> | undefined\n return entry ?? (DEFAULT_FORM_ENTRY as unknown as FormStoreEntry<F>)\n },\n (a, b) =>\n a === b || (a.formValues === b.formValues && a.setValue === b.setValue),\n )\n\nexport const useFormValue = <F extends FieldValues>(formId: string) => {\n const selectorAtom = useMemo(() => createFormSelector<F>(formId), [formId])\n return useAtomValue(selectorAtom)\n}\n\nexport const useFormState = <F extends FieldValues>() => {\n return useAtom(formAtom) as unknown as [\n Record<string, FormStoreEntry<F>>,\n (value: Record<string, FormStoreEntry<F>>) => void,\n ]\n}\n\nexport const useSetFormState = <F extends FieldValues>(formId: string) => {\n const setForms = useSetAtom(formAtom)\n\n return useCallback(\n (val: Partial<FormStoreEntry<F>>) => {\n setForms((prev) => {\n const prevEntry =\n (prev[formId] as FormStoreEntry<FieldValues> | undefined) ??\n DEFAULT_FORM_ENTRY\n\n return {\n ...prev,\n [formId]: {\n ...(prevEntry as unknown as FormStoreEntry<F>),\n ...(val as unknown as Partial<FormStoreEntry<FieldValues>>),\n } as unknown as FormStoreEntry<FieldValues>,\n }\n })\n },\n [formId, setForms],\n )\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport equal from 'fast-deep-equal'\nimport { useFormValue } from '../atoms'\nimport type {\n FieldValues,\n FormFunctionProps,\n GetFormValuesFunction,\n} from '../types'\nimport type { DeepKeys, DeepValue } from '@tanstack/react-form'\n\nconst getValueAtPath = (\n obj: unknown,\n path: string,\n defaultObj?: unknown,\n): unknown => {\n if (!path) return undefined\n const normalized = path.replace(/\\[(\\d+)\\]/g, '.$1')\n const parts = normalized.split('.').filter(Boolean)\n let current: unknown = obj\n for (const part of parts) {\n if (!current || !Object.keys(current).length) {\n if (!defaultObj) return undefined\n current = { [part]: defaultObj }\n }\n if (typeof current !== 'object') return undefined\n current = (current as Record<string, unknown>)[part]\n }\n\n return current\n}\n\nexport interface UseFormValuesProps {\n formId: string\n scopeId?: string\n}\n\nexport const useFormValues = <F extends FieldValues>({\n formId,\n}: UseFormValuesProps): FormFunctionProps<F> => {\n // We subscribe to the specific form entry in the atoms\n // Note: This subscription is a bit coarse (entire form entry), but we optimize re-renders locally\n // Ideally we would want to subscribe only to specific paths, but Jotai atoms are per-form.\n const formEntry = useFormValue(formId)\n const currentValues = useMemo(\n () => formEntry.formValues,\n [formEntry.formValues],\n )\n\n const subscriptions = useRef(new Map<string, unknown>())\n // trigger state is used to force re-render when a subscribed value changes\n const [trigger, setTrigger] = useState(0)\n\n // Ref to hold the latest values without causing re-renders itself\n const formRef = useRef({\n formValues: formEntry.formValues,\n setValue: formEntry.setValue,\n })\n\n useEffect(() => {\n formRef.current.setValue = formEntry.setValue\n }, [formEntry.setValue])\n\n useEffect(() => {\n let shouldTrigger = false\n subscriptions.current.forEach((_, path) => {\n const newValue = getValueAtPath(currentValues, path)\n const oldValue = getValueAtPath(formRef.current.formValues, path)\n if (!equal(newValue, oldValue)) {\n shouldTrigger = true\n }\n })\n\n formRef.current.formValues = currentValues\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (shouldTrigger) {\n setTrigger((c) => c + 1)\n }\n }, [currentValues])\n\n const get = useCallback(\n (key: string, defaultValue?: unknown) => {\n const val =\n getValueAtPath(formRef.current.formValues, key) ?? defaultValue\n subscriptions.current.set(key, val)\n return subscriptions.current.get(key)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [trigger],\n ) as GetFormValuesFunction<F>\n\n const set = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n value: DeepValue<F, TField>,\n ) => {\n formRef.current.setValue(field, value)\n },\n [],\n )\n\n return { get, set }\n}\n","import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { FormField } from '../FormField'\nimport { useSetFormState } from '../atoms'\nimport { useFormConfigValue } from '../config'\nimport { useFormValues } from './useFormValues'\nimport { useJotaiForm } from './useJotaiForm'\nimport type { FormNotificationMessage } from '../config'\nimport type { DeepKeys, DeepValue, Updater } from '@tanstack/react-form'\nimport type {\n FieldValues,\n FormFieldConfig,\n FormManagerConfig,\n FormManagerProps,\n GenericFieldApi,\n GenericFieldState,\n GenericFormApi,\n SetValueFunction,\n Submit,\n SubmitKeysArg,\n SubmitPayload,\n UseFormManagerProps,\n} from '../types'\nimport type { JSX } from 'react'\n\nexport interface FormElements {\n index: number\n element: JSX.Element\n renderInFooter: boolean\n renderInHeader: boolean\n isSubmit?: boolean\n}\n\ntype PayloadOf<\n F extends FieldValues,\n S extends Submit<F, SubmitKeysArg<F>>,\n> = SubmitPayload<F, S extends Submit<F, infer K> ? K : undefined>\n\nconst trimObject = <T extends object>(obj?: T): T =>\n Object.entries(obj ?? {}).reduce(\n (prev, [key, val]) => ({\n ...prev,\n [key]:\n typeof val === 'string' && !['password', 'pPassword'].includes(key)\n ? val.trim()\n : val,\n }),\n {} as T,\n )\nconst RenderField = <F extends FieldValues = FieldValues>({\n field,\n fieldState,\n fieldProps,\n onFieldChange,\n}: {\n field: GenericFieldApi<F>\n fieldState: GenericFieldState<F>\n fieldProps: FormManagerConfig<F>\n onFieldChange?: (value: F) => void\n}) => {\n const config: FormFieldConfig<F> = useMemo(\n () => ({\n ...fieldProps,\n field,\n fieldState,\n }),\n [fieldProps, field, fieldState],\n )\n return (\n <FormField<F>\n config={config}\n ns={fieldProps.ns}\n globalErrorNs={fieldProps.errorNs}\n onFieldChange={onFieldChange}\n />\n )\n}\n\nconst DynamicFieldItem = <F extends FieldValues>({\n item,\n form,\n globalErrorNs,\n formId,\n}: {\n item: FormManagerProps<F>['data'][number]\n form: GenericFormApi<F>\n globalErrorNs?: string\n formId: string\n}) => {\n const { get, set } = useFormValues<F>({ formId })\n\n const fieldProps = useMemo(() => {\n if (typeof item === 'function') {\n return item({ get, set })\n } else {\n return item\n }\n }, [get, set, item])\n\n const isHidden = useMemo(() => {\n if (!fieldProps.hidden) {\n return false\n } else if (typeof fieldProps.hidden === 'function') {\n return fieldProps.hidden({ get, set })\n } else {\n return !!fieldProps.hidden\n }\n }, [get, set, fieldProps])\n\n const rules = useMemo(() => {\n if (!fieldProps.rules) {\n return undefined\n } else if (typeof fieldProps.rules === 'function') {\n return fieldProps.rules({ get, set })\n } else {\n return fieldProps.rules\n }\n }, [get, set, fieldProps])\n\n const props = useMemo(() => {\n return {\n ...fieldProps,\n errorNs: fieldProps.errorNs ?? globalErrorNs,\n }\n }, [fieldProps, globalErrorNs])\n\n if (isHidden) {\n return <></>\n }\n\n return (\n <form.Field\n name={props.name}\n validators={rules}\n // eslint-disable-next-line react/no-children-prop\n children={(field) => (\n <RenderField<F>\n field={field}\n fieldState={field.state}\n fieldProps={props}\n onFieldChange={props.onFieldChange}\n />\n )}\n />\n )\n}\n\nconst SubmitItem = <F extends FieldValues>({\n item,\n index,\n handlersRef,\n}: {\n item: Submit<F>\n index: number\n handlersRef: React.MutableRefObject<{\n formControl: GenericFormApi<F>\n onInvalidHandle: (err: unknown, submitConfig: Submit<F>) => void\n createSubmitHandler: (\n submitConfig: Submit<F>,\n ) => (data: F) => Promise<unknown>\n }>\n}) => {\n const handleClick = useCallback(async () => {\n const { formControl, createSubmitHandler, onInvalidHandle } =\n handlersRef.current\n\n // Partial or full validation logic\n let isValid = true\n\n const keys = item.values as ReadonlyArray<string> | undefined\n if (keys && keys.length > 0) {\n // Validate only specific fields\n await Promise.all(\n keys.map((key) => formControl.validateField(key, 'change')),\n )\n const hasError = keys.some((key) => {\n // This is a simplified check. TanStack form errors might be structured differently.\n // You might need deep checking if errors are nested objects.\n // For now assume flat or use lodash get if possible, but state.errors is usually flat-ish map in newer versions or object.\n // Checking standard TanStack: form.state.fieldMeta[key]?.errors\n const meta = formControl.getFieldMeta(key)\n return meta?.errors && meta.errors.length > 0\n })\n isValid = !hasError\n } else {\n // Validate all\n await formControl.validateAllFields('submit')\n isValid = formControl.state.isValid\n }\n\n if (!isValid) {\n onInvalidHandle(formControl.state.errors, item)\n return\n }\n\n const values = formControl.state.values\n // Call handlers\n await createSubmitHandler(item)(values)\n }, [item, handlersRef])\n\n const Component = useMemo(() => item.component, [item])\n if (item.hidden || !Component) return <></>\n\n return (\n <Component\n onClick={handleClick}\n index={index}\n key={`submit-${index}`}\n type={item.type || 'button'}\n />\n )\n}\n\nexport const useFormManager = <F extends FieldValues = FieldValues>({\n data,\n onInvalid,\n submit = [],\n notification,\n formOptions,\n onValuesChange,\n globalErrorNs,\n id = 'form-manager',\n}: UseFormManagerProps<F>) => {\n const formControl = useJotaiForm<F>(formOptions)\n const formState = useMemo(() => formControl.state, [formControl.state])\n const errors = useMemo(() => formState.errors, [formState.errors])\n const values = useMemo(() => formState.values, [formState.values])\n const setFormState = useSetFormState<F>(id)\n const { showNotification } = useFormConfigValue()\n\n const setValue = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n updater: Updater<DeepValue<F, TField>>,\n ) => formControl.setFieldValue(field, updater),\n [formControl],\n ) as SetValueFunction<F>\n\n useEffect(() => {\n setFormState({\n setValue,\n formValues: formState.values,\n })\n const unsubscribe = formControl.store.subscribe((store) => {\n setFormState({\n formValues: store.currentVal.values,\n })\n })\n\n return () => {\n unsubscribe()\n } /**/\n }, [formControl.store, setValue, formState.values, setFormState])\n\n const handleNotification = useCallback(\n (props: FormNotificationMessage) => {\n if (props.message) {\n showNotification?.(props)\n }\n },\n [showNotification],\n )\n\n const filterFormData = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n v: F,\n submitConfig: S,\n ): PayloadOf<F, S> => {\n const keys = submitConfig.values as ReadonlyArray<keyof F> | undefined\n if (!keys || keys.length === 0) {\n return v as PayloadOf<F, S>\n }\n\n const out = {} as Record<keyof F, F[keyof F]>\n for (const key of keys) {\n if (key in v) {\n out[key] = v[key]\n }\n }\n return out as PayloadOf<F, S>\n },\n [],\n )\n\n const processSubmit = useCallback(\n async <S extends Submit<F, SubmitKeysArg<F>>>(d: F, submitConfig: S) => {\n const filteredData = filterFormData(d, submitConfig)\n if (submitConfig.onSuccess) {\n return await submitConfig.onSuccess(filteredData)\n }\n throw new Error('No submit handler provided')\n },\n [filterFormData],\n )\n\n const handleError = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n error: unknown,\n submitConfig: S,\n ) => {\n if (submitConfig.onError) {\n submitConfig.onError(error as Error)\n }\n const notificationProps =\n typeof notification?.error === 'function'\n ? notification.error((error as Error).message)\n : notification?.error\n if (notificationProps?.message) {\n handleNotification(notificationProps)\n }\n },\n [handleNotification, notification],\n )\n\n const createSubmitHandler = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(submitConfig: S) =>\n async (dataSubmit: F) => {\n try {\n const res = await processSubmit(\n trimObject<F>(dataSubmit),\n submitConfig,\n )\n const notificationProps =\n typeof notification?.success === 'function'\n ? notification.success(res)\n : notification?.success\n if (notificationProps?.message) {\n handleNotification(notificationProps)\n }\n return res\n } catch (error) {\n handleError(error, submitConfig)\n throw error\n }\n },\n [processSubmit, notification, handleNotification, handleError],\n )\n\n const onInvalidHandle = useCallback(\n (err: unknown, submitConfig: Submit<F>) => {\n onInvalid?.(err)\n handleError(new Error('invalidData'), submitConfig)\n },\n [handleError, onInvalid],\n )\n\n const handlersRef = useRef({\n formControl,\n onInvalidHandle,\n createSubmitHandler,\n setValue: formControl.setFieldValue,\n trigger: formControl.validateField,\n onValuesChange,\n })\n\n useEffect(() => {\n handlersRef.current.onInvalidHandle = onInvalidHandle\n handlersRef.current.createSubmitHandler = createSubmitHandler\n handlersRef.current.setValue = formControl.setFieldValue\n handlersRef.current.trigger = formControl.validateField\n handlersRef.current.onValuesChange = onValuesChange\n }, [onInvalidHandle, createSubmitHandler, formControl, onValuesChange])\n\n const fields = useMemo(\n () =>\n data.map((item, index): FormElements => {\n const staticItem = typeof item === 'function' ? null : item\n return {\n index: staticItem?.index ?? index,\n element: (\n <DynamicFieldItem<F>\n key={staticItem?.name ?? index}\n item={item}\n form={formControl}\n globalErrorNs={globalErrorNs}\n formId={id}\n />\n ),\n renderInFooter: !!staticItem?.renderInFooter,\n renderInHeader: !!staticItem?.renderInHeader,\n }\n }),\n [data, formControl, globalErrorNs, id],\n )\n\n const submits = useMemo(\n () =>\n submit.map((submitConfig, index): FormElements => {\n return {\n index: submitConfig.index === undefined ? index : submitConfig.index,\n element: (\n <SubmitItem<F>\n key={`submit-${index}`}\n item={submitConfig}\n index={index}\n handlersRef={handlersRef}\n />\n ),\n renderInFooter: !!submitConfig.renderInFooter,\n renderInHeader: !!submitConfig.renderInHeader,\n isSubmit: true,\n }\n }),\n [submit],\n )\n\n const elements = useMemo(\n (): Array<FormElements> => fields.concat(submits),\n [fields, submits],\n )\n\n const formContents = useMemo(() => [...data, ...submit], [data, submit])\n\n useEffect(() => {\n handlersRef.current.onValuesChange?.(values, handlersRef.current.setValue)\n }, [values])\n\n return {\n elements,\n formContents,\n errors,\n formValues: values,\n setValue,\n }\n}\n","import { useMemo } from \"react\";\nimport { useFormManager } from \"./hooks\";\nimport { DefaultContainer, DefaultFormContainer } from \"./containers\";\nimport type { FieldValues, FormManagerProps } from \"./types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormManager = <T extends Record<string, any> = FieldValues>({\n data,\n defaultValues,\n onInvalid,\n submit = [],\n ns,\n globalErrorNs,\n notification,\n formSettings,\n viewSettings,\n onValuesChange,\n id = \"form-manager\",\n}: FormManagerProps<T>) => {\n const { elements = [] } = useFormManager({\n data,\n globalErrorNs,\n notification,\n ns,\n onInvalid,\n submit,\n onValuesChange,\n id,\n formOptions: {\n defaultValues: defaultValues,\n ...formSettings,\n formId: id,\n },\n });\n\n // Render logic remains similar\n const render = useMemo(\n () =>\n elements\n .filter((el) => !el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n const renderSubmit = useMemo(\n () =>\n elements\n .filter((el) => el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n\n const Container = viewSettings?.container || DefaultFormContainer<T>;\n const BodyContainer = viewSettings?.bodyContainer || DefaultContainer;\n const SubmitContainer = viewSettings?.submitContainer || DefaultContainer;\n\n return (\n <Container {...(viewSettings?.containerProps || {})}>\n <BodyContainer {...(viewSettings?.bodyContainerProps || {})}>\n {render}\n </BodyContainer>\n <SubmitContainer {...(viewSettings?.submitContainerProps || {})}>\n {renderSubmit}\n </SubmitContainer>\n </Container>\n );\n};\n"],"names":["DefaultContainer","children","_formConfig","formFieldContainer","atom","formConfigAtom","useValue","useFormConfigValue","useState","useFormConfigState","useReset","useFormConfigReset","atomStateGenerator","key","defaultValue","persist","createDefaultContainer","setDefaultFormContainer","val","DefaultFormContainer","t0","$","_c","handleSubmit","_temp","t1","_jsx","onSubmit","className","e","preventDefault","form","currentTarget","submitButton","querySelector","click","useJotaiForm","formOptions","useForm","FormField","config","onFieldChange","ns","globalNs","globalErrorNs","_a","errorNs","_b","translateText","firstError","field","state","meta","errors","length","undefined","errorMessageStr","String","errorMessage","useMemo","label","helperMessage","helper","text","translationOption","ref","useRef","handleChange","useEffect","current","useCallback","value","call","handleBlur","baseProps","onChange","onBlur","error","ConfigContainer","container","FormFieldContainer","component","DEFAULT_FORM_ENTRY","Object","freeze","formValues","setValue","formAtom","getFormCompositeKey","scopeId","createScopeFormsAtom","get","allForms","prefix","scopeForms","entries","startsWith","slice","set","update","newForms","assign","keys","createFormSelector","formId","selectAtom","forms","entry","a","b","useFormValue","selectorAtom","useAtomValue","useFormState","useAtom","useSetFormState","setForms","useSetAtom","prev","prevEntry","getValueAtPath","obj","path","defaultObj","normalized","replace","parts","split","filter","Boolean","part","useFormValues","formEntry","currentValues","subscriptions","Map","trigger","setTrigger","formRef","shouldTrigger","forEach","_","newValue","oldValue","equal","c","trimObject","reduce","includes","trim","RenderField","fieldState","fieldProps","t2","DynamicFieldItem","item","isHidden","hidden","rules","props","Field","name","validators","SubmitItem","index","handlersRef","handleClick","formControl","createSubmitHandler","onInvalidHandle","isValid","values","Promise","all","map","validateField","hasError","some","getFieldMeta","validateAllFields","Component","onClick","type","useFormManager","data","onInvalid","submit","notification","onValuesChange","id","formState","setFormState","showNotification","updater","setFieldValue","unsubscribe","store","subscribe","currentVal","handleNotification","message","filterFormData","v","submitConfig","out","processSubmit","d","filteredData","onSuccess","Error","handleError","onError","notificationProps","dataSubmit","res","success","err","fields","staticItem","element","renderInFooter","renderInHeader","submits","isSubmit","elements","concat","formContents","FormManager","defaultValues","formSettings","viewSettings","t3","t4","t5","t6","t7","t8","sort","_temp2","_temp3","render","t9","_temp4","_temp5","_temp6","renderSubmit","Container","BodyContainer","bodyContainer","SubmitContainer","submitContainer","t10","_jsxs","containerProps","bodyContainerProps","submitContainerProps","el","el_0","el_1","a_0","b_0","el_2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../form/config.ts","../../form/containers.tsx","../../form/hooks/useJotaiForm.ts","../../form/FormField.tsx","../../form/atoms/formAtom.ts","../../form/hooks/useFormValues.ts","../../node_modules/@tanstack/react-store/dist/esm/index.js","../../form/hooks/useFormManager.tsx","../../form/FormManager.tsx"],"sourcesContent":["import { atomStateGenerator } from \"@gaddario98/react-state\";\nimport type { PropsWithChildren } from \"react\";\nimport { ViewSettingsContainerProps } from \"./types\";\n\nexport interface FormNotificationMessage {\n message: string;\n type: \"success\" | \"error\" | \"info\" | \"warning\";\n autoHideDuration?: number;\n textTransOption?: Record<string, unknown>;\n ns?: string;\n id?: string;\n}\nexport interface FormTranslationOptions {\n [key: string]: string | number | boolean | undefined;\n ns?: string;\n}\nexport interface FormConfigProps {\n container?: React.ComponentType<ViewSettingsContainerProps>;\n submitContainer?: React.ComponentType<ViewSettingsContainerProps>;\n bodyContainer?: React.ComponentType<ViewSettingsContainerProps>;\n formFieldContainer: React.FC<PropsWithChildren>;\n showNotification?: (notification: FormNotificationMessage) => void;\n translateText?: (key: string, options?: FormTranslationOptions) => string;\n}\n\nconst DefaultContainer = ({ children }: PropsWithChildren) => {\n return children;\n};\n// Lazy initialization to avoid side effects at module load time\nconst _formConfig: FormConfigProps = {\n formFieldContainer: DefaultContainer,\n};\n\nexport const {\n atom: formConfigAtom,\n useValue: useFormConfigValue,\n useState: useFormConfigState,\n useReset: useFormConfigReset,\n} = atomStateGenerator<FormConfigProps>({\n key: \"formConfig\",\n defaultValue: _formConfig,\n persist: false,\n});\n","import { useCallback } from 'react'\nimport type { FieldValues, ViewSettingsContainerProps } from './types'\n\nexport interface DefaultFormContainerProps {\n children: React.ReactNode\n}\n\nconst createDefaultContainer = () => {\n return ({ children }: ViewSettingsContainerProps) => {\n return children\n }\n}\n\nlet DefaultContainer = createDefaultContainer()\n\nconst setDefaultFormContainer = (\n val: ({\n children,\n }: ViewSettingsContainerProps) => React.ReactNode,\n) => {\n DefaultContainer = val\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DefaultFormContainer = <_T extends FieldValues = FieldValues>({\n children,\n}: ViewSettingsContainerProps) => {\n const handleSubmit = useCallback((e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const form = e.currentTarget\n const submitButton = form.querySelector('button[type=\"submit\"]') as\n | HTMLButtonElement\n | undefined\n submitButton?.click()\n }, [])\n\n return (\n <form onSubmit={handleSubmit} className=\"gap-3 flex flex-col\">\n {children}\n </form>\n )\n}\n\nexport { DefaultContainer, setDefaultFormContainer, DefaultFormContainer }\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useForm } from '@tanstack/react-form'\nimport type {FormOptions} from '@tanstack/react-form';\nimport type { FieldValues } from '../types'\n\nexport interface UseCustomFormOptions<TData extends FieldValues>\n extends FormOptions<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n > {\n formId?: string\n}\n\nexport function useJotaiForm<TData extends FieldValues>(formOptions: UseCustomFormOptions<TData>) {\n const form = useForm<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >(formOptions)\n\n return form\n}\n","/* eslint-disable react-hooks/refs */\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useFormConfigValue } from './config'\nimport type { FieldValues, FormFieldProps } from './types'\n\nexport const FormField = <T extends FieldValues>({\n config,\n onFieldChange,\n ns: globalNs,\n globalErrorNs,\n}: FormFieldProps<T>) => {\n const ns = config.ns ?? globalNs\n const errorNs = config.errorNs ?? globalErrorNs\n const { formFieldContainer, translateText } = useFormConfigValue()\n\n // TanStack Form uses field.state.meta.errors which is an array of ValidationError\n const firstError =\n config.field.state.meta.errors.length > 0\n ? config.field.state.meta.errors[0]\n : undefined\n const errorMessageStr = firstError ? String(firstError) : undefined\n\n const errorMessage = useMemo(() => {\n if (!errorMessageStr) return undefined\n return errorNs\n ? translateText?.(errorMessageStr, {\n ns: errorNs || '',\n defaultValue: '',\n })\n : errorMessageStr\n }, [errorMessageStr, errorNs, translateText])\n\n const label = useMemo(\n () => (ns ? translateText?.(config.label ?? '') : config.label),\n [ns, config.label, translateText],\n )\n\n const helperMessage = useMemo(\n () =>\n config.helper?.text\n ? translateText?.(config.helper.text, config.helper.translationOption)\n : '',\n [config.helper, translateText],\n )\n\n const ref = useRef({ onFieldChange, handleChange: config.field.handleChange })\n\n useEffect(() => {\n ref.current = {\n onFieldChange,\n handleChange: config.field.handleChange,\n }\n }, [config.field.handleChange, onFieldChange])\n\n const handleChange = useCallback((value: T) => {\n // TanStack Form handleChange usually expects just the value for input\n // but if we are manually calling it we should pass the value.\n ref.current.handleChange(value)\n ref.current.onFieldChange?.(value)\n }, [])\n\n const handleBlur = useCallback(() => {\n config.field.handleBlur()\n }, [config.field])\n\n const baseProps = useMemo(\n () => ({\n value: config.field.state.value,\n onChange: handleChange,\n onBlur: handleBlur,\n error: config.field.state.meta.errors.length > 0,\n errorMessage,\n label,\n helperMessage,\n }),\n [\n config.field.state.value,\n handleChange,\n handleBlur,\n config.field.state.meta.errors.length,\n errorMessage,\n label,\n helperMessage,\n ],\n )\n\n const ConfigContainer = useMemo(() => config.container, [config.container])\n const FormFieldContainer = useMemo(\n () => formFieldContainer,\n [formFieldContainer],\n )\n\n if (ConfigContainer) {\n return (\n <ConfigContainer>\n {config.component(baseProps)}\n </ConfigContainer>\n )\n }\n return (\n <FormFieldContainer>\n {config.component(baseProps)}\n </FormFieldContainer>\n )\n}\n","import { atom, useAtom, useAtomValue, useSetAtom } from 'jotai'\nimport { selectAtom } from 'jotai/utils'\nimport { useCallback, useMemo } from 'react'\nimport type { FieldValues, SetValueFunction } from '../types'\n\nexport interface FormStoreEntry<F extends FieldValues = FieldValues> {\n formValues: F\n setValue: SetValueFunction<F>\n}\n\nexport const DEFAULT_FORM_ENTRY: FormStoreEntry<FieldValues> = Object.freeze({\n formValues: {} as FieldValues,\n setValue: () => {},\n})\n\n/**\n * Global atom storing all form state.\n * Key format: \"scopeId:formId\" or just \"formId\" for backward compatibility.\n */\nexport const formAtom = atom<Record<string, FormStoreEntry>>({})\n\n/**\n * Helper to generate composite keys for forms.\n */\nexport const getFormCompositeKey = (scopeId: string, key: string): string =>\n `${scopeId}:${key}`\n\n/**\n * Creates a derived atom for accessing forms of a specific scope.\n */\nexport const createScopeFormsAtom = (scopeId: string) =>\n atom(\n (get) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const scopeForms: Record<string, FormStoreEntry> = {}\n\n for (const [key, value] of Object.entries(allForms)) {\n if (key.startsWith(prefix)) {\n scopeForms[key.slice(prefix.length)] = value\n }\n }\n\n return scopeForms\n },\n (get, set, update: Record<string, FormStoreEntry>) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const newForms = { ...allForms }\n\n // Remove old scope entries\n for (const key of Object.keys(newForms)) {\n if (key.startsWith(prefix)) {\n delete newForms[key]\n }\n }\n\n // Add new scope entries\n for (const [key, value] of Object.entries(update)) {\n newForms[`${prefix}${key}`] = value\n }\n\n set(formAtom, newForms)\n },\n )\n\nexport const createFormSelector = <F extends FieldValues = FieldValues>(\n formId: string,\n) =>\n selectAtom(\n formAtom,\n (forms) => {\n const entry = forms[formId] as FormStoreEntry<F> | undefined\n return entry ?? (DEFAULT_FORM_ENTRY as unknown as FormStoreEntry<F>)\n },\n (a, b) =>\n a === b || (a.formValues === b.formValues && a.setValue === b.setValue),\n )\n\nexport const useFormValue = <F extends FieldValues>(formId: string) => {\n const selectorAtom = useMemo(() => createFormSelector<F>(formId), [formId])\n return useAtomValue(selectorAtom)\n}\n\nexport const useFormState = <F extends FieldValues>() => {\n return useAtom(formAtom) as unknown as [\n Record<string, FormStoreEntry<F>>,\n (value: Record<string, FormStoreEntry<F>>) => void,\n ]\n}\n\nexport const useSetFormState = <F extends FieldValues>(formId: string) => {\n const setForms = useSetAtom(formAtom)\n\n return useCallback(\n (val: Partial<FormStoreEntry<F>>) => {\n setForms((prev) => {\n const prevEntry =\n (prev[formId] as FormStoreEntry<FieldValues> | undefined) ??\n DEFAULT_FORM_ENTRY\n\n return {\n ...prev,\n [formId]: {\n ...(prevEntry as unknown as FormStoreEntry<F>),\n ...(val as unknown as Partial<FormStoreEntry<FieldValues>>),\n } as unknown as FormStoreEntry<FieldValues>,\n }\n })\n },\n [formId, setForms],\n )\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport equal from 'fast-deep-equal'\nimport { useFormValue } from '../atoms'\nimport type {\n FieldValues,\n FormFunctionProps,\n GetFormValuesFunction,\n} from '../types'\nimport type { DeepKeys, DeepValue } from '@tanstack/react-form'\n\nconst getValueAtPath = (\n obj: unknown,\n path: string,\n defaultObj?: unknown,\n): unknown => {\n if (!path) return undefined\n const normalized = path.replace(/\\[(\\d+)\\]/g, '.$1')\n const parts = normalized.split('.').filter(Boolean)\n let current: unknown = obj\n for (const part of parts) {\n if (!current || !Object.keys(current).length) {\n if (!defaultObj) return undefined\n current = { [part]: defaultObj }\n }\n if (typeof current !== 'object') return undefined\n current = (current as Record<string, unknown>)[part]\n }\n\n return current\n}\n\nexport interface UseFormValuesProps {\n formId: string\n scopeId?: string\n}\n\nexport const useFormValues = <F extends FieldValues>({\n formId,\n}: UseFormValuesProps): FormFunctionProps<F> => {\n // We subscribe to the specific form entry in the atoms\n // Note: This subscription is a bit coarse (entire form entry), but we optimize re-renders locally\n // Ideally we would want to subscribe only to specific paths, but Jotai atoms are per-form.\n const formEntry = useFormValue(formId)\n const currentValues = useMemo(\n () => formEntry.formValues,\n [formEntry.formValues],\n )\n\n const subscriptions = useRef(new Map<string, unknown>())\n // trigger state is used to force re-render when a subscribed value changes\n const [trigger, setTrigger] = useState(0)\n\n // Ref to hold the latest values without causing re-renders itself\n const formRef = useRef({\n formValues: formEntry.formValues,\n setValue: formEntry.setValue,\n })\n\n useEffect(() => {\n formRef.current.setValue = formEntry.setValue\n }, [formEntry.setValue])\n\n useEffect(() => {\n let shouldTrigger = false\n subscriptions.current.forEach((_, path) => {\n const newValue = getValueAtPath(currentValues, path)\n const oldValue = getValueAtPath(formRef.current.formValues, path)\n if (!equal(newValue, oldValue)) {\n shouldTrigger = true\n }\n })\n\n formRef.current.formValues = currentValues\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (shouldTrigger) {\n setTrigger((c) => c + 1)\n }\n }, [currentValues])\n\n const get = useCallback(\n (key: string, defaultValue?: unknown) => {\n const val =\n getValueAtPath(formRef.current.formValues, key) ?? defaultValue\n subscriptions.current.set(key, val)\n return subscriptions.current.get(key)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [trigger],\n ) as GetFormValuesFunction<F>\n\n const set = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n value: DeepValue<F, TField>,\n ) => {\n formRef.current.setValue(field, value)\n },\n [],\n )\n\n return { get, set }\n}\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d, options = {}) {\n const equal = options.equal ?? shallow;\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n equal\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = getOwnKeys(objA);\n if (keysA.length !== getOwnKeys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nfunction getOwnKeys(obj) {\n return Object.keys(obj).concat(\n Object.getOwnPropertySymbols(obj)\n );\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { FormField } from \"../FormField\";\nimport { useSetFormState } from \"../atoms\";\nimport { useFormConfigValue } from \"../config\";\nimport { useFormValues } from \"./useFormValues\";\nimport { useJotaiForm } from \"./useJotaiForm\";\nimport { useStore } from \"@tanstack/react-store\";\nimport type { FormNotificationMessage } from \"../config\";\nimport type { DeepKeys, DeepValue, Updater } from \"@tanstack/react-form\";\nimport type {\n FieldValues,\n FormFieldConfig,\n FormManagerConfig,\n FormManagerProps,\n GenericFieldApi,\n GenericFieldState,\n GenericFormApi,\n SetValueFunction,\n Submit,\n SubmitKeysArg,\n SubmitPayload,\n UseFormManagerProps,\n} from \"../types\";\nimport type { JSX } from \"react\";\n\nexport interface FormElements {\n index: number;\n element: JSX.Element;\n renderInFooter: boolean;\n renderInHeader: boolean;\n isSubmit?: boolean;\n}\n\ntype PayloadOf<\n F extends FieldValues,\n S extends Submit<F, SubmitKeysArg<F>>,\n> = SubmitPayload<F, S extends Submit<F, infer K> ? K : undefined>;\n\nconst trimObject = <T extends object>(obj?: T): T =>\n Object.entries(obj ?? {}).reduce(\n (prev, [key, val]) => ({\n ...prev,\n [key]:\n typeof val === \"string\" && ![\"password\", \"pPassword\"].includes(key)\n ? val.trim()\n : val,\n }),\n {} as T,\n );\nconst RenderField = <F extends FieldValues = FieldValues>({\n field,\n fieldState,\n fieldProps,\n onFieldChange,\n}: {\n field: GenericFieldApi<F>;\n fieldState: GenericFieldState<F>;\n fieldProps: FormManagerConfig<F>;\n onFieldChange?: (value: F) => void;\n}) => {\n const config: FormFieldConfig<F> = useMemo(\n () => ({\n ...fieldProps,\n field,\n fieldState,\n }),\n [fieldProps, field, fieldState],\n );\n return (\n <FormField<F>\n config={config}\n ns={fieldProps.ns}\n globalErrorNs={fieldProps.errorNs}\n onFieldChange={onFieldChange}\n />\n );\n};\n\nconst DynamicFieldItem = <F extends FieldValues>({\n item,\n form,\n globalErrorNs,\n formId,\n}: {\n item: FormManagerProps<F>[\"data\"][number];\n form: GenericFormApi<F>;\n globalErrorNs?: string;\n formId: string;\n}) => {\n const { get, set } = useFormValues<F>({ formId });\n\n const fieldProps = useMemo(() => {\n if (typeof item === \"function\") {\n return item({ get, set });\n } else {\n return item;\n }\n }, [get, set, item]);\n\n const isHidden = useMemo(() => {\n if (!fieldProps.hidden) {\n return false;\n } else if (typeof fieldProps.hidden === \"function\") {\n return fieldProps.hidden({ get, set });\n } else {\n return !!fieldProps.hidden;\n }\n }, [get, set, fieldProps]);\n\n const rules = useMemo(() => {\n if (!fieldProps.rules) {\n return undefined;\n } else if (typeof fieldProps.rules === \"function\") {\n return fieldProps.rules({ get, set });\n } else {\n return fieldProps.rules;\n }\n }, [get, set, fieldProps]);\n\n const props = useMemo(() => {\n return {\n ...fieldProps,\n errorNs: fieldProps.errorNs ?? globalErrorNs,\n };\n }, [fieldProps, globalErrorNs]);\n\n if (isHidden) {\n return <></>;\n }\n\n return (\n <form.Field\n name={props.name}\n validators={rules}\n // eslint-disable-next-line react/no-children-prop\n children={(field) => (\n <RenderField<F>\n field={field}\n fieldState={field.state}\n fieldProps={props}\n onFieldChange={props.onFieldChange}\n />\n )}\n />\n );\n};\n\nconst SubmitItem = <F extends FieldValues>({\n item,\n index,\n handlersRef,\n}: {\n item: Submit<F>;\n index: number;\n handlersRef: React.MutableRefObject<{\n formControl: GenericFormApi<F>;\n onInvalidHandle: (err: unknown, submitConfig: Submit<F>) => void;\n createSubmitHandler: (\n submitConfig: Submit<F>,\n ) => (data: F) => Promise<unknown>;\n values: F;\n errors: unknown;\n }>;\n}) => {\n const handleClick = useCallback(async () => {\n const { formControl, createSubmitHandler, onInvalidHandle } =\n handlersRef.current;\n\n // Partial or full validation logic\n let isValid = true;\n\n const keys = item.values as ReadonlyArray<string> | undefined;\n if (keys && keys.length > 0) {\n // Validate only specific fields\n await Promise.all(\n keys.map((key) => formControl.validateField(key, \"change\")),\n );\n const hasError = keys.some((key) => {\n // This is a simplified check. TanStack form errors might be structured differently.\n // You might need deep checking if errors are nested objects.\n // For now assume flat or use lodash get if possible, but state.errors is usually flat-ish map in newer versions or object.\n // Checking standard TanStack: form.state.fieldMeta[key]?.errors\n const meta = formControl.getFieldMeta(key);\n return meta?.errors && meta.errors.length > 0;\n });\n isValid = !hasError;\n } else {\n // Validate all\n await formControl.validateAllFields(\"submit\");\n isValid = formControl.state.isValid;\n }\n\n if (!isValid) {\n onInvalidHandle(handlersRef.current.errors, item);\n return;\n }\n\n const values = handlersRef.current.values;\n // Call handlers\n await createSubmitHandler(item)(values);\n }, [item, handlersRef]);\n\n const Component = useMemo(() => item.component, [item]);\n if (item.hidden || !Component) return <></>;\n\n return (\n <Component\n onClick={handleClick}\n index={index}\n key={`submit-${index}`}\n type={item.type || \"button\"}\n />\n );\n};\n\nexport const useFormManager = <F extends FieldValues = FieldValues>({\n data,\n onInvalid,\n submit = [],\n notification,\n formOptions,\n onValuesChange,\n globalErrorNs,\n id = \"form-manager\",\n}: UseFormManagerProps<F>) => {\n const formControl = useJotaiForm<F>(formOptions);\n const errors = useStore(formControl.store, (state) => state.errors);\n const values = useStore(formControl.store, (state) => state.values);\n const setFormState = useSetFormState<F>(id);\n const { showNotification } = useFormConfigValue();\n\n const setValue = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n updater: Updater<DeepValue<F, TField>>,\n ) => formControl.setFieldValue(field, updater),\n [formControl],\n ) as SetValueFunction<F>;\n\n useEffect(() => {\n setFormState({\n setValue,\n formValues: values,\n });\n }, [setFormState, setValue, values]);\n\n const handleNotification = useCallback(\n (props: FormNotificationMessage) => {\n if (props.message) {\n showNotification?.(props);\n }\n },\n [showNotification],\n );\n\n const filterFormData = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n v: F,\n submitConfig: S,\n ): PayloadOf<F, S> => {\n const keys = submitConfig.values as ReadonlyArray<keyof F> | undefined;\n if (!keys || keys.length === 0) {\n return v as PayloadOf<F, S>;\n }\n\n const out = {} as Record<keyof F, F[keyof F]>;\n for (const key of keys) {\n if (key in v) {\n out[key] = v[key];\n }\n }\n return out as PayloadOf<F, S>;\n },\n [],\n );\n\n const processSubmit = useCallback(\n async <S extends Submit<F, SubmitKeysArg<F>>>(d: F, submitConfig: S) => {\n const filteredData = filterFormData(d, submitConfig);\n if (submitConfig.onSuccess) {\n return await submitConfig.onSuccess(filteredData);\n }\n throw new Error(\"No submit handler provided\");\n },\n [filterFormData],\n );\n\n const handleError = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n error: unknown,\n submitConfig: S,\n ) => {\n if (submitConfig.onError) {\n submitConfig.onError(error as Error);\n }\n const notificationProps =\n typeof notification?.error === \"function\"\n ? notification.error((error as Error).message)\n : notification?.error;\n if (notificationProps?.message) {\n handleNotification(notificationProps);\n }\n },\n [handleNotification, notification],\n );\n\n const createSubmitHandler = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(submitConfig: S) =>\n async (dataSubmit: F) => {\n try {\n const res = await processSubmit(\n trimObject<F>(dataSubmit),\n submitConfig,\n );\n const notificationProps =\n typeof notification?.success === \"function\"\n ? notification.success(res)\n : notification?.success;\n if (notificationProps?.message) {\n handleNotification(notificationProps);\n }\n return res;\n } catch (error) {\n handleError(error, submitConfig);\n throw error;\n }\n },\n [processSubmit, notification, handleNotification, handleError],\n );\n\n const onInvalidHandle = useCallback(\n (err: unknown, submitConfig: Submit<F>) => {\n onInvalid?.(err);\n handleError(new Error(\"invalidData\"), submitConfig);\n },\n [handleError, onInvalid],\n );\n\n const handlersRef = useRef({\n formControl,\n onInvalidHandle,\n createSubmitHandler,\n setValue: formControl.setFieldValue,\n trigger: formControl.validateField,\n onValuesChange,\n values,\n errors,\n });\n\n useEffect(() => {\n handlersRef.current.onInvalidHandle = onInvalidHandle;\n handlersRef.current.createSubmitHandler = createSubmitHandler;\n handlersRef.current.setValue = formControl.setFieldValue;\n handlersRef.current.trigger = formControl.validateField;\n handlersRef.current.onValuesChange = onValuesChange;\n }, [onInvalidHandle, createSubmitHandler, formControl, onValuesChange]);\n\n useEffect(() => {\n handlersRef.current.values = values;\n handlersRef.current.errors = errors;\n }, [values, errors]);\n\n const fields = useMemo(\n () =>\n data.map((item, index): FormElements => {\n const staticItem = typeof item === \"function\" ? null : item;\n return {\n index: staticItem?.index ?? index,\n element: (\n <DynamicFieldItem<F>\n key={staticItem?.name ?? index}\n item={item}\n form={formControl}\n globalErrorNs={globalErrorNs}\n formId={id}\n />\n ),\n renderInFooter: !!staticItem?.renderInFooter,\n renderInHeader: !!staticItem?.renderInHeader,\n };\n }),\n [data, formControl, globalErrorNs, id],\n );\n\n const submits = useMemo(\n () =>\n submit.map((submitConfig, index): FormElements => {\n return {\n index: submitConfig.index === undefined ? index : submitConfig.index,\n element: (\n <SubmitItem<F>\n key={`submit-${index}`}\n item={submitConfig}\n index={index}\n handlersRef={handlersRef}\n />\n ),\n renderInFooter: !!submitConfig.renderInFooter,\n renderInHeader: !!submitConfig.renderInHeader,\n isSubmit: true,\n };\n }),\n [submit],\n );\n\n const elements = useMemo(\n (): Array<FormElements> => fields.concat(submits),\n [fields, submits],\n );\n\n const formContents = useMemo(() => [...data, ...submit], [data, submit]);\n\n useEffect(() => {\n handlersRef.current.onValuesChange?.(values, handlersRef.current.setValue);\n }, [values]);\n\n return {\n elements,\n formContents,\n errors,\n formValues: values,\n setValue,\n };\n};\n","import { useMemo } from \"react\";\nimport { useFormManager } from \"./hooks\";\nimport { DefaultContainer, DefaultFormContainer } from \"./containers\";\nimport type { FieldValues, FormManagerProps } from \"./types\";\nimport { useFormConfigValue } from \"./config\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormManager = <T extends Record<string, any> = FieldValues>({\n data,\n defaultValues,\n onInvalid,\n submit = [],\n ns,\n globalErrorNs,\n notification,\n formSettings,\n viewSettings,\n onValuesChange,\n id = \"form-manager\",\n}: FormManagerProps<T>) => {\n const { elements = [] } = useFormManager({\n data,\n globalErrorNs,\n notification,\n ns,\n onInvalid,\n submit,\n onValuesChange,\n id,\n formOptions: {\n defaultValues: defaultValues,\n ...formSettings,\n formId: id,\n },\n });\n\n // Render logic remains similar\n const render = useMemo(\n () =>\n elements\n .filter((el) => !el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n const renderSubmit = useMemo(\n () =>\n elements\n .filter((el) => el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n const { container, bodyContainer, submitContainer } = useFormConfigValue();\n\n const Container =\n viewSettings?.container || container || DefaultFormContainer<T>;\n const BodyContainer =\n viewSettings?.bodyContainer || bodyContainer || DefaultContainer;\n const SubmitContainer =\n viewSettings?.submitContainer || submitContainer || DefaultContainer;\n\n return (\n <Container {...(viewSettings?.containerProps || {})}>\n <BodyContainer {...(viewSettings?.bodyContainerProps || {})}>\n {render}\n </BodyContainer>\n <SubmitContainer {...(viewSettings?.submitContainerProps || {})}>\n {renderSubmit}\n </SubmitContainer>\n </Container>\n );\n};\n"],"names":["DefaultContainer","children","_formConfig","formFieldContainer","atom","formConfigAtom","useValue","useFormConfigValue","useState","useFormConfigState","useReset","useFormConfigReset","atomStateGenerator","key","defaultValue","persist","createDefaultContainer","setDefaultFormContainer","val","DefaultFormContainer","t0","$","_c","handleSubmit","_temp","t1","_jsx","onSubmit","className","e","preventDefault","form","currentTarget","submitButton","querySelector","click","useJotaiForm","formOptions","useForm","FormField","config","onFieldChange","ns","globalNs","globalErrorNs","_a","errorNs","_b","translateText","firstError","field","state","meta","errors","length","undefined","errorMessageStr","String","errorMessage","useMemo","label","helperMessage","helper","text","translationOption","ref","useRef","handleChange","useEffect","current","useCallback","value","call","handleBlur","baseProps","onChange","onBlur","error","ConfigContainer","container","FormFieldContainer","component","DEFAULT_FORM_ENTRY","Object","freeze","formValues","setValue","formAtom","getFormCompositeKey","scopeId","createScopeFormsAtom","get","allForms","prefix","scopeForms","entries","startsWith","slice","set","update","newForms","assign","keys","createFormSelector","formId","selectAtom","forms","entry","a","b","useFormValue","selectorAtom","useAtomValue","useFormState","useAtom","useSetFormState","setForms","useSetAtom","prev","prevEntry","getValueAtPath","obj","path","defaultObj","normalized","replace","parts","split","filter","Boolean","part","useFormValues","formEntry","currentValues","subscriptions","Map","trigger","setTrigger","formRef","shouldTrigger","forEach","_","newValue","oldValue","equal","c","useSyncExternalStoreWithSelector","trimObject","reduce","includes","trim","RenderField","fieldState","fieldProps","t2","DynamicFieldItem","item","isHidden","hidden","rules","props","Field","name","validators","SubmitItem","index","handlersRef","handleClick","formControl","createSubmitHandler","onInvalidHandle","isValid","values","Promise","all","map","validateField","hasError","some","getFieldMeta","validateAllFields","Component","onClick","type","useFormManager","data","onInvalid","submit","notification","onValuesChange","id","useStore","store","setFormState","showNotification","updater","setFieldValue","handleNotification","message","filterFormData","v","submitConfig","out","processSubmit","d","filteredData","onSuccess","Error","handleError","onError","notificationProps","dataSubmit","res","success","err","fields","staticItem","element","renderInFooter","renderInHeader","submits","isSubmit","elements","concat","formContents","FormManager","defaultValues","formSettings","viewSettings","t3","t4","t5","t6","t7","t8","sort","_temp2","_temp3","render","t9","_temp4","_temp5","_temp6","renderSubmit","bodyContainer","submitContainer","Container","BodyContainer","SubmitContainer","t10","_jsxs","containerProps","bodyContainerProps","submitContainerProps","el","el_0","el_1","a_0","b_0","el_2"],"mappings":"gXAyBA,MAAMA,kBAAgB,GAAGA,CAAC;AAAEC,EAAAA;AAAQ,CAAqB,KAAI;AAC3D,EAAA,OAAOA,QAAQ;AACjB,CAAC;AACD;AACA,MAAMC,WAAW,GAAoB;AACnCC,EAAAA,kBAAkB,EAAEH;CACrB;AAEM,MAAM;AACXI,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,QAAQ,EAAEC,kBAAkB;AAC5BC,EAAAA,QAAQ,EAAEC,kBAAkB;AAC5BC,EAAAA,QAAQ,EAAEC;AAAkB,CAC7B,GAAGC,2BAAkB,CAAkB;AACtCC,EAAAA,GAAG,EAAE,YAAY;AACjBC,EAAAA,YAAY,EAAEZ,WAAW;AACzBa,EAAAA,OAAO,EAAE;AACV,CAAA,ECnCD,MAAMC,sBAAsB,GAAGA,MAAK;AAClC,EAAA,OAAO,CAAC;AAAEf,IAAAA;AAAQ,GAA8B,KAAI;AAClD,IAAA,OAAOA,QAAQ;EACjB,CAAC;AACH,CAAC;AAEGD,wBAAgB,GAAGgB,sBAAsB;AAE7C,MAAMC,uBAAuB,GAC3BC,GAEiD,IAC/C;AACFlB,EAAAA,wBAAgB,GAAGkB,GAAG;AACxB;AAEA;AACA,MAAMC,oBAAoB,GAAGC,EAAA,IAAA;EAAA,MAAAC,CAAA,GAAAC,iBAAA,CAAA,CAAA,CAAA;AAAuC,EAAA,MAAA;AAAArB,IAAAA;AAAA,GAAA,GAAAmB,EAEvC;EAC3B,MAAAG,YAAA,GAAqBC,OAOf;AAAA,EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAApB,QAAA,EAAA;AAGJwB,IAAAA,EAAA,GAAAC,cAAA,CAAA,MAAA,EAAA;AAAAC,MAAAA,QAAA,EAAgBJ,YAAY;AAAAK,MAAAA,SAAA,EAAY,qBAAqB;AAAA3B,MAAAA;AAClD,KAAA,CACJ;AAAAoB,IAAAA,CAAA,MAAApB,QAAA;AAAAoB,IAAAA,CAAA,MAAAI,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAJ,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAFPI,EAEO;AAAA;AAfkB,SAAAD,QAAAK,CAAA,EAAA;EAIzBA,CAAC,CAAAC,cAAe,EAAE;AAClB,EAAA,MAAAC,IAAA,GAAaF,CAAC,CAAAG,aAAc;AAC5B,EAAA,MAAAC,YAAA,GAAqBF,IAAI,CAAAG,aAAc,CAAC,yBAAuB,CAElD;AACbD,EAAAA,YAAY,SAAA,IAAZA,YAAY,KAAA,MAAS,GAArB,MAAqB,GAArBA,YAAY,CAAAE,KAAO,EAAE;AAAA,CCjCzB;AAuBM,SAAAC,aAAAC,WAAA,EAAA;AACJ,EAAA,MAAAN,IAAA,GAAaO,iBAAO,CAalBD,WAAW,CAAC;AAAA,EAAA,OAEPN,IAAI;AAAA,CClCN,MAAMQ,SAAS,GAAGA,CAAwB;EAC/CC,MAAM;EACNC,aAAa;AACbC,EAAAA,EAAE,EAAEC,QAAQ;AACZC,EAAAA;AAAa,CACK,KAAI;;AACtB,EAAA,MAAMF,EAAE,GAAG,CAAAG,EAAA,GAAAL,MAAM,CAACE,EAAE,MAAA,IAAA,IAAAG,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIF,QAAQ;AAChC,EAAA,MAAMG,OAAO,GAAG,CAAAC,EAAA,GAAAP,MAAM,CAACM,OAAO,MAAA,IAAA,IAAAC,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIH,aAAa;EAC/C,MAAM;IAAEzC,kBAAkB;AAAE6C,IAAAA;GAAe,GAAGzC,kBAAkB,EAAE;AAElE;AACA,EAAA,MAAM0C,UAAU,GACdT,MAAM,CAACU,KAAK,CAACC,KAAK,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,GACrCd,MAAM,CAACU,KAAK,CAACC,KAAK,CAACC,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,GACjCE,SAAS;EACf,MAAMC,eAAe,GAAGP,UAAU,GAAGQ,MAAM,CAACR,UAAU,CAAC,GAAGM,SAAS;AAEnE,EAAA,MAAMG,YAAY,GAAGC,aAAO,CAAC,MAAK;AAChC,IAAA,IAAI,CAACH,eAAe,EAAE,OAAOD,SAAS;AACtC,IAAA,OAAOT,OAAO,GACVE,aAAa,KAAA,IAAA,IAAbA,aAAa,uBAAbA,aAAa,CAAGQ,eAAe,EAAE;MAC/Bd,EAAE,EAAEI,OAAO,IAAI,EAAE;AACjBhC,MAAAA,YAAY,EAAE;KACf,CAAC,GACF0C,eAAe;EACrB,CAAC,EAAE,CAACA,eAAe,EAAEV,OAAO,EAAEE,aAAa,CAAC,CAAC;AAE7C,EAAA,MAAMY,KAAK,GAAGD,aAAO,CACnB,MAAK;AAAA,IAAA,IAAAd,IAAA;AAAC,IAAA,OAACH,EAAE,GAAGM,aAAa,KAAA,IAAA,IAAbA,aAAa,uBAAbA,aAAa,CAAG,CAAAH,IAAA,GAAAL,MAAM,CAACoB,KAAK,uCAAI,EAAE,CAAC,GAAGpB,MAAM,CAACoB,KAAK;EAAC,CAAA,EAC/D,CAAClB,EAAE,EAAEF,MAAM,CAACoB,KAAK,EAAEZ,aAAa,CAAC,CAClC;AAED,EAAA,MAAMa,aAAa,GAAGF,aAAO,CAC3B,MAAK;;IACH,OAAA,CAAA,CAAAd,IAAA,GAAAL,MAAM,CAACsB,MAAM,8CAAEC,IAAI,IACff,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAGR,MAAM,CAACsB,MAAM,CAACC,IAAI,EAAEvB,MAAM,CAACsB,MAAM,CAACE,iBAAiB,CAAC,GACpE,EAAE;GAAA,EACR,CAACxB,MAAM,CAACsB,MAAM,EAAEd,aAAa,CAAC,CAC/B;EAED,MAAMiB,GAAG,GAAGC,YAAM,CAAC;IAAEzB,aAAa;AAAE0B,IAAAA,YAAY,EAAE3B,MAAM,CAACU,KAAK,CAACiB;AAAY,GAAE,CAAC;AAE9EC,EAAAA,eAAS,CAAC,MAAK;IACbH,GAAG,CAACI,OAAO,GAAG;MACZ5B,aAAa;AACb0B,MAAAA,YAAY,EAAE3B,MAAM,CAACU,KAAK,CAACiB;KAC5B;EACH,CAAC,EAAE,CAAC3B,MAAM,CAACU,KAAK,CAACiB,YAAY,EAAE1B,aAAa,CAAC,CAAC;AAE9C,EAAA,MAAM0B,YAAY,GAAGG,iBAAW,CAAEC,KAAQ,IAAI;;AAC5C;AACA;AACAN,IAAAA,GAAG,CAACI,OAAO,CAACF,YAAY,CAACI,KAAK,CAAC;AAC/B,IAAA,CAAAxB,IAAA,GAAA,CAAAF,IAAA,GAAAoB,GAAG,CAACI,OAAO,EAAC5B,aAAa,MAAA,IAAA,IAAAM,IAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,IAAA,CAAAyB,IAAA,CAAA3B,IAAA,EAAG0B,KAAK,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,MAAME,UAAU,GAAGH,iBAAW,CAAC,MAAK;AAClC9B,IAAAA,MAAM,CAACU,KAAK,CAACuB,UAAU,EAAE;AAC3B,EAAA,CAAC,EAAE,CAACjC,MAAM,CAACU,KAAK,CAAC,CAAC;AAElB,EAAA,MAAMwB,SAAS,GAAGf,aAAO,CACvB,OAAO;AACLY,IAAAA,KAAK,EAAE/B,MAAM,CAACU,KAAK,CAACC,KAAK,CAACoB,KAAK;AAC/BI,IAAAA,QAAQ,EAAER,YAAY;AACtBS,IAAAA,MAAM,EAAEH,UAAU;AAClBI,IAAAA,KAAK,EAAErC,MAAM,CAACU,KAAK,CAACC,KAAK,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC;IAChDI,YAAY;IACZE,KAAK;AACLC,IAAAA;AACD,GAAA,CAAC,EACF,CACErB,MAAM,CAACU,KAAK,CAACC,KAAK,CAACoB,KAAK,EACxBJ,YAAY,EACZM,UAAU,EACVjC,MAAM,CAACU,KAAK,CAACC,KAAK,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,EACrCI,YAAY,EACZE,KAAK,EACLC,aAAa,CACd,CACF;AAED,EAAA,MAAMiB,eAAe,GAAGnB,aAAO,CAAC,MAAMnB,MAAM,CAACuC,SAAS,EAAE,CAACvC,MAAM,CAACuC,SAAS,CAAC,CAAC;EAC3E,MAAMC,kBAAkB,GAAGrB,aAAO,CAChC,MAAMxD,kBAAkB,EACxB,CAACA,kBAAkB,CAAC,CACrB;AAED,EAAA,IAAI2E,eAAe,EAAE;IACnB,OACEpD,cAAA,CAACoD,eAAe,EAAA;AAAA7E,MAAAA,QAAA,EACbuC,MAAM,CAACyC,SAAS,CAACP,SAAS;AAAC,KAAA,CACZ;AAEtB,EAAA;EACA,OACEhD,cAAA,CAACsD,kBAAkB,EAAA;AAAA/E,IAAAA,QAAA,EAChBuC,MAAM,CAACyC,SAAS,CAACP,SAAS;AAAC,GAAA,CACT;AAEzB,QC9FaQ,kBAAkB,GAAgCC,MAAM,CAACC,MAAM,CAAC;EAC3EC,UAAU,EAAE,EAAiB;EAC7BC,QAAQ,EAAEA,MAAK,CAAE;AAClB,CAAA;AAED;;;AAGG;MACUC,QAAQ,GAAGnF,UAAI,CAAiC,EAAE;AAE/D;;AAEG;AACI,MAAMoF,mBAAmB,GAAGA,CAACC,OAAe,EAAE5E,GAAW,KAC9D,CAAA,EAAG4E,OAAO,CAAA,CAAA,EAAI5E,GAAG,CAAA;AAEnB;;AAEG;AACI,MAAM6E,oBAAoB,GAAID,OAAe,IAClDrF,UAAI,CACDuF,GAAG,IAAI;AACN,EAAA,MAAMC,QAAQ,GAAGD,GAAG,CAACJ,QAAQ,CAAC;AAC9B,EAAA,MAAMM,MAAM,GAAG,CAAA,EAAGJ,OAAO,CAAA,CAAA,CAAG;EAC5B,MAAMK,UAAU,GAAmC,EAAE;AAErD,EAAA,KAAK,MAAM,CAACjF,GAAG,EAAE0D,KAAK,CAAC,IAAIY,MAAM,CAACY,OAAO,CAACH,QAAQ,CAAC,EAAE;AACnD,IAAA,IAAI/E,GAAG,CAACmF,UAAU,CAACH,MAAM,CAAC,EAAE;MAC1BC,UAAU,CAACjF,GAAG,CAACoF,KAAK,CAACJ,MAAM,CAACvC,MAAM,CAAC,CAAC,GAAGiB,KAAK;AAC9C,IAAA;AACF,EAAA;AAEA,EAAA,OAAOuB,UAAU;AACnB,CAAC,EACD,CAACH,GAAG,EAAEO,GAAG,EAAEC,MAAsC,KAAI;AACnD,EAAA,MAAMP,QAAQ,GAAGD,GAAG,CAACJ,QAAQ,CAAC;AAC9B,EAAA,MAAMM,MAAM,GAAG,CAAA,EAAGJ,OAAO,CAAA,CAAA,CAAG;EAC5B,MAAMW,QAAQ,GAAAjB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EAAQT,QAAQ,CAAE;AAEhC;EACA,KAAK,MAAM/E,GAAG,IAAIsE,MAAM,CAACmB,IAAI,CAACF,QAAQ,CAAC,EAAE;AACvC,IAAA,IAAIvF,GAAG,CAACmF,UAAU,CAACH,MAAM,CAAC,EAAE;MAC1B,OAAOO,QAAQ,CAACvF,GAAG,CAAC;AACtB,IAAA;AACF,EAAA;AAEA;AACA,EAAA,KAAK,MAAM,CAACA,GAAG,EAAE0D,KAAK,CAAC,IAAIY,MAAM,CAACY,OAAO,CAACI,MAAM,CAAC,EAAE;IACjDC,QAAQ,CAAC,GAAGP,MAAM,CAAA,EAAGhF,GAAG,CAAA,CAAE,CAAC,GAAG0D,KAAK;AACrC,EAAA;AAEA2B,EAAAA,GAAG,CAACX,QAAQ,EAAEa,QAAQ,CAAC;AACzB,CAAC;AAGE,MAAMG,kBAAkB,GAC7BC,MAAc,IAEdC,gBAAU,CACRlB,QAAQ,EACPmB,KAAK,IAAI;AACR,EAAA,MAAMC,KAAK,GAAGD,KAAK,CAACF,MAAM,CAAkC;EAC5D,OAAOG,KAAK,KAAA,IAAA,IAALA,KAAK,cAALA,KAAK,GAAKzB,kBAAmD;AACtE,CAAC,EACD,CAAC0B,CAAC,EAAEC,CAAC,KACHD,CAAC,KAAKC,CAAC,IAAKD,CAAC,CAACvB,UAAU,KAAKwB,CAAC,CAACxB,UAAU,IAAIuB,CAAC,CAACtB,QAAQ,KAAKuB,CAAC,CAACvB,QAAS;AAGtE,MAAMwB,YAAY,GAAGN,MAAA,IAAA;EAAA,MAAAnF,CAAA,GAAAC,iBAAA,CAAA,CAAA,CAAA;AAAA,EAAA,IAAAF,EAAA;EAAA,IAAAC,CAAA,QAAAmF,MAAA,EAAA;AACSpF,IAAAA,EAAA,GAAAmF,kBAAkB,CAAIC,MAAM,CAAC;AAAAnF,IAAAA,CAAA,MAAAmF,MAAA;AAAAnF,IAAAA,CAAA,MAAAD,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAC,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAAhE,MAAA0F,YAAA,GAAmC3F,EAA6B;EAAW,OACpE4F,kBAAY,CAACD,YAAY,CAAC;AAAA;AAG5B,MAAME,YAAY,GAAGA,MAAA;EAAA,OACnBC,aAAO,CAAC3B,QAAQ,CAGtB;AAAA;AAGI,MAAM4B,eAAe,GAA2BX,MAAc,IAAI;AACvE,EAAA,MAAMY,QAAQ,GAAGC,gBAAU,CAAC9B,QAAQ,CAAC;EAErC,OAAOjB,iBAAW,CACfpD,GAA+B,IAAI;IAClCkG,QAAQ,CAAEE,IAAI,IAAI;;AAChB,MAAA,MAAMC,SAAS,GACb,CAAA1E,EAAA,GAACyE,IAAI,CAACd,MAAM,CAA6C,MAAA,IAAA,IAAA3D,EAAA,KAAA,MAAA,GAAAA,EAAA,GACzDqC,kBAAkB;AAEpB,MAAA,OAAAC,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EACKiB,IAAI,CAAA,EAAA;AACP,QAAA,CAACd,MAAM,GAAGrB,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EACJkB,SAA0C,CAAA,EAC1CrG,GAAuD;AAClB,OAAA,CAAA;AAE/C,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,EACD,CAACsF,MAAM,EAAEY,QAAQ,CAAC,CACnB;AACH,ECtGA,MAAMI,cAAc,GAAGA,CACrBC,GAAY,EACZC,IAAY,EACZC,UAAoB,KACT;AACX,EAAA,IAAI,CAACD,IAAI,EAAE,OAAOnE,SAAS;EAC3B,MAAMqE,UAAU,GAAGF,IAAI,CAACG,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;AACpD,EAAA,MAAMC,KAAK,GAAGF,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC;EACnD,IAAI5D,OAAO,GAAYoD,GAAG;AAC1B,EAAA,KAAK,MAAMS,IAAI,IAAIJ,KAAK,EAAE;AACxB,IAAA,IAAI,CAACzD,OAAO,IAAI,CAACc,MAAM,CAACmB,IAAI,CAACjC,OAAO,CAAC,CAACf,MAAM,EAAE;AAC5C,MAAiB,OAAOC,SAAS;AAEnC,IAAA;AACA,IAAA,IAAI,OAAOc,OAAO,KAAK,QAAQ,EAAE,OAAOd,SAAS;AACjDc,IAAAA,OAAO,GAAIA,OAAmC,CAAC6D,IAAI,CAAC;AACtD,EAAA;AAEA,EAAA,OAAO7D,OAAO;AAChB,CAAC;AAOM,MAAM8D,aAAa,GAAGA,CAAwB;AACnD3B,EAAAA;AAAM,CACa,KAA0B;AAC7C;AACA;AACA;AACA,EAAA,MAAM4B,SAAS,GAAGtB,YAAY,CAACN,MAAM,CAAC;AACtC,EAAA,MAAM6B,aAAa,GAAG1E,aAAO,CAC3B,MAAMyE,SAAS,CAAC/C,UAAU,EAC1B,CAAC+C,SAAS,CAAC/C,UAAU,CAAC,CACvB;EAED,MAAMiD,aAAa,GAAGpE,YAAM,CAAC,IAAIqE,GAAG,EAAmB,CAAC;AACxD;EACA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGjI,cAAQ,CAAC,CAAC,CAAC;AAEzC;EACA,MAAMkI,OAAO,GAAGxE,YAAM,CAAC;IACrBmB,UAAU,EAAE+C,SAAS,CAAC/C,UAAU;IAChCC,QAAQ,EAAE8C,SAAS,CAAC9C;AACrB,GAAA,CAAC;AAEFlB,EAAAA,eAAS,CAAC,MAAK;AACbsE,IAAAA,OAAO,CAACrE,OAAO,CAACiB,QAAQ,GAAG8C,SAAS,CAAC9C,QAAQ;AAC/C,EAAA,CAAC,EAAE,CAAC8C,SAAS,CAAC9C,QAAQ,CAAC,CAAC;AAExBlB,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIuE,aAAa,GAAG,KAAK;IACzBL,aAAa,CAACjE,OAAO,CAACuE,OAAO,CAAC,CAACC,CAAC,EAAEnB,IAAI,KAAI;AACxC,MAAA,MAAMoB,QAAQ,GAAGtB,cAAc,CAACa,aAAa,EAAEX,IAAI,CAAC;MACpD,MAAMqB,QAAQ,GAAGvB,cAAc,CAACkB,OAAO,CAACrE,OAAO,CAACgB,UAAU,EAAEqC,IAAI,CAAC;AACjE,MAAA,IAAI,CAACsB,KAAK,CAACF,QAAQ,EAAEC,QAAQ,CAAC,EAAE;AAC9BJ,QAAAA,aAAa,GAAG,IAAI;AACtB,MAAA;AACF,IAAA,CAAC,CAAC;AAEFD,IAAAA,OAAO,CAACrE,OAAO,CAACgB,UAAU,GAAGgD,aAAa;AAC1C;AACA,IAAA,IAAIM,aAAa,EAAE;AACjBF,MAAAA,UAAU,CAAEQ,CAAC,IAAKA,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAA;AACF,EAAA,CAAC,EAAE,CAACZ,aAAa,CAAC,CAAC;EAEnB,MAAM1C,GAAG,GAAGrB,iBAAW,CACrB,CAACzD,GAAW,EAAEC,YAAsB,KAAI;;IACtC,MAAMI,GAAG,GACP,CAAA2B,EAAA,GAAA2E,cAAc,CAACkB,OAAO,CAACrE,OAAO,CAACgB,UAAU,EAAExE,GAAG,CAAC,MAAA,IAAA,IAAAgC,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAI/B,YAAY;IACjEwH,aAAa,CAACjE,OAAO,CAAC6B,GAAG,CAACrF,GAAG,EAAEK,GAAG,CAAC;AACnC,IAAA,OAAOoH,aAAa,CAACjE,OAAO,CAACsB,GAAG,CAAC9E,GAAG,CAAC;EACvC,CAAC;AACD;EACA,CAAC2H,OAAO,CAAC,CACkB;EAE7B,MAAMtC,GAAG,GAAG5B,iBAAW,CACrB,CACEpB,KAAa,EACbqB,KAA2B,KACzB;IACFmE,OAAO,CAACrE,OAAO,CAACiB,QAAQ,CAACpC,KAAK,EAAEqB,KAAK,CAAC;EACxC,CAAC,EACD,EAAE,CACH;EAED,OAAO;IAAEoB,GAAG;AAAEO,IAAAA;GAAK;AACrB,ECnGA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE;AAC5D,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO;AACxC,EAAE,MAAM,KAAK,GAAGgD,gDAAgC;AAChD,IAAI,KAAK,CAAC,SAAS;AACnB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,KAAK;AACd;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;AAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AAClE,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACpC,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE;AACpD,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,KAAK;AACvD,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;AAChC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AAChD,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7G,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;AAChC,IAAI,MAAM,CAAC,qBAAqB,CAAC,GAAG;AACpC,GAAG;AACH,CCfA,MAAMC,UAAU,GAAsB1B,GAAO,IAC3CtC,MAAM,CAACY,OAAO,CAAC0B,GAAG,aAAHA,GAAG,KAAA,MAAA,GAAHA,GAAG,GAAI,EAAE,CAAC,CAAC2B,MAAM,CAC9B,CAAC9B,IAAI,EAAE,CAACzG,GAAG,EAAEK,GAAG,CAAC,KAAKiE,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EACjBiB,IAAI,CAAA,EAAA;EACP,CAACzG,GAAG,GACF,OAAOK,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAACmI,QAAQ,CAACxI,GAAG,CAAC,GAC/DK,GAAG,CAACoI,IAAI,EAAE,GACVpI;AAAG,CAAA,CACT,EACF,EAAO,CACR;AACH,MAAMqI,WAAW,GAAGnI,EAAA,IAAA;EAAA,MAAAC,CAAA,GAAAC,iBAAA,CAAA,CAAA,CAAA;AAAsC,EAAA,MAAA;IAAA4B,KAAA;IAAAsG,UAAA;IAAAC,UAAA;AAAAhH,IAAAA;AAAA,GAAA,GAAArB,EAUzD;AAAA,EAAA,IAAAK,EAAA;EAAA,IAAAJ,CAAA,CAAA,CAAA,CAAA,KAAA6B,KAAA,IAAA7B,CAAA,QAAAoI,UAAA,IAAApI,CAAA,CAAA,CAAA,CAAA,KAAAmI,UAAA,EAAA;AAES/H,IAAAA,EAAA,GAAA0D,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EACDoD,UAAU,CAAA,EAAA;MAAAvG,KAAA;AAAAsG,MAAAA;AAEH,KAAA,CAAA;AAAAnI,IAAAA,CAAA,MAAA6B,KAAA;AAAA7B,IAAAA,CAAA,MAAAoI,UAAA;AAAApI,IAAAA,CAAA,MAAAmI,UAAA;AAAAnI,IAAAA,CAAA,MAAAI,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAJ,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAJd,MAAAmB,MAAA,GACQf,EAGM;AAGZ,EAAA,IAAAiI,EAAA;AAAA,EAAA,IAAArI,CAAA,CAAA,CAAA,CAAA,KAAAmB,MAAA,IAAAnB,CAAA,CAAA,CAAA,CAAA,KAAAoI,UAAA,CAAA3G,OAAA,IAAAzB,CAAA,QAAAoI,UAAA,CAAA/G,EAAA,IAAArB,CAAA,QAAAoB,aAAA,EAAA;AAEAiH,IAAAA,EAAA,GAAAhI,cAAA,CAACa,SAAS,EAAA;MAAAC,MAAA;MAAAE,EAAA,EAEJ+G,UAAU,CAAA/G,EAAG;MAAAE,aAAA,EACF6G,UAAU,CAAA3G,OAAQ;AAAAL,MAAAA;AACL,KAAA,CAC5B;AAAApB,IAAAA,CAAA,MAAAmB,MAAA;IAAAnB,CAAA,CAAA,CAAA,CAAA,GAAAoI,UAAA,CAAA3G,OAAA;IAAAzB,CAAA,CAAA,CAAA,CAAA,GAAAoI,UAAA,CAAA/G,EAAA;AAAArB,IAAAA,CAAA,MAAAoB,aAAA;AAAApB,IAAAA,CAAA,MAAAqI,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAArI,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALFqI,EAKE;AAAA,CAEL;AAED,MAAMC,gBAAgB,GAAGA,CAAwB;EAC/CC,IAAI;EACJ7H,IAAI;EACJa,aAAa;AACb4D,EAAAA;AAAM,CAMP,KAAI;EACH,MAAM;IAAEb,GAAG;AAAEO,IAAAA;GAAK,GAAGiC,aAAa,CAAI;AAAE3B,IAAAA;AAAM,GAAE,CAAC;AAEjD,EAAA,MAAMiD,UAAU,GAAG9F,aAAO,CAAC,MAAK;AAC9B,IAAA,IAAI,OAAOiG,IAAI,KAAK,UAAU,EAAE;AAC9B,MAAA,OAAOA,IAAI,CAAC;QAAEjE,GAAG;AAAEO,QAAAA;AAAG,OAAE,CAAC;AAC3B,IAAA,CAAC,MAAM;AACL,MAAA,OAAO0D,IAAI;AACb,IAAA;EACF,CAAC,EAAE,CAACjE,GAAG,EAAEO,GAAG,EAAE0D,IAAI,CAAC,CAAC;AAEpB,EAAA,MAAMC,QAAQ,GAAGlG,aAAO,CAAC,MAAK;AAC5B,IAAA,IAAI,CAAC8F,UAAU,CAACK,MAAM,EAAE;AACtB,MAAA,OAAO,KAAK;IACd,CAAC,MAAM,IAAI,OAAOL,UAAU,CAACK,MAAM,KAAK,UAAU,EAAE;MAClD,OAAOL,UAAU,CAACK,MAAM,CAAC;QAAEnE,GAAG;AAAEO,QAAAA;AAAG,OAAE,CAAC;AACxC,IAAA,CAAC,MAAM;AACL,MAAA,OAAO,CAAC,CAACuD,UAAU,CAACK,MAAM;AAC5B,IAAA;EACF,CAAC,EAAE,CAACnE,GAAG,EAAEO,GAAG,EAAEuD,UAAU,CAAC,CAAC;AAE1B,EAAA,MAAMM,KAAK,GAAGpG,aAAO,CAAC,MAAK;AACzB,IAAA,IAAI,CAAC8F,UAAU,CAACM,KAAK,EAAE;AACrB,MAAA,OAAOxG,SAAS;IAClB,CAAC,MAAM,IAAI,OAAOkG,UAAU,CAACM,KAAK,KAAK,UAAU,EAAE;MACjD,OAAON,UAAU,CAACM,KAAK,CAAC;QAAEpE,GAAG;AAAEO,QAAAA;AAAG,OAAE,CAAC;AACvC,IAAA,CAAC,MAAM;MACL,OAAOuD,UAAU,CAACM,KAAK;AACzB,IAAA;EACF,CAAC,EAAE,CAACpE,GAAG,EAAEO,GAAG,EAAEuD,UAAU,CAAC,CAAC;AAE1B,EAAA,MAAMO,KAAK,GAAGrG,aAAO,CAAC,MAAK;;AACzB,IAAA,OAAAwB,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA,EAAA,EACKoD,UAAU,CAAA,EAAA;AACb3G,MAAAA,OAAO,EAAE,CAAAD,EAAA,GAAA4G,UAAU,CAAC3G,OAAO,MAAA,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAID;AAAa,KAAA,CAAA;AAEhD,EAAA,CAAC,EAAE,CAAC6G,UAAU,EAAE7G,aAAa,CAAC,CAAC;AAE/B,EAAA,IAAIiH,QAAQ,EAAE;AACZ,IAAA,OAAOnI,uCAAK;AACd,EAAA;AAEA,EAAA,OACEA,cAAA,CAACK,IAAI,CAACkI,KAAK,EAAA;IACTC,IAAI,EAAEF,KAAK,CAACE,IAAI;AAChBC,IAAAA,UAAU,EAAEJ,KAAK;AACjB;AACA9J,IAAAA,QAAQ,EAAGiD,KAAK,IACdxB,cAAA,CAAC6H,WAAW,EAAA;AACVrG,MAAAA,KAAK,EAAEA,KAAK;MACZsG,UAAU,EAAEtG,KAAK,CAACC,KAAK;AACvBsG,MAAAA,UAAU,EAAEO,KAAK;MACjBvH,aAAa,EAAEuH,KAAK,CAACvH;KAAa;AAErC,GAAA,CACD;AAEN,CAAC;AAED,MAAM2H,UAAU,GAAGA,CAAwB;EACzCR,IAAI;EACJS,KAAK;AACLC,EAAAA;AAAW,CAaZ,KAAI;AACH,EAAA,MAAMC,WAAW,GAAGjG,iBAAW,CAAC,YAAW;IACzC,MAAM;MAAEkG,WAAW;MAAEC,mBAAmB;AAAEC,MAAAA;KAAiB,GACzDJ,WAAW,CAACjG,OAAO;AAErB;IACA,IAAIsG,OAAO,GAAG,IAAI;AAElB,IAAA,MAAMrE,IAAI,GAAGsD,IAAI,CAACgB,MAA2C;AAC7D,IAAA,IAAItE,IAAI,IAAIA,IAAI,CAAChD,MAAM,GAAG,CAAC,EAAE;AAC3B;AACA,MAAA,MAAMuH,OAAO,CAACC,GAAG,CACfxE,IAAI,CAACyE,GAAG,CAAElK,GAAG,IAAK2J,WAAW,CAACQ,aAAa,CAACnK,GAAG,EAAE,QAAQ,CAAC,CAAC,CAC5D;AACD,MAAA,MAAMoK,QAAQ,GAAG3E,IAAI,CAAC4E,IAAI,CAAErK,KAAG,IAAI;AACjC;AACA;AACA;AACA;AACA,QAAA,MAAMuC,IAAI,GAAGoH,WAAW,CAACW,YAAY,CAACtK,KAAG,CAAC;QAC1C,OAAO,CAAAuC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEC,MAAM,KAAID,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC;AAC/C,MAAA,CAAC,CAAC;MACFqH,OAAO,GAAG,CAACM,QAAQ;AACrB,IAAA,CAAC,MAAM;AACL;AACA,MAAA,MAAMT,WAAW,CAACY,iBAAiB,CAAC,QAAQ,CAAC;AAC7CT,MAAAA,OAAO,GAAGH,WAAW,CAACrH,KAAK,CAACwH,OAAO;AACrC,IAAA;IAEA,IAAI,CAACA,OAAO,EAAE;MACZD,eAAe,CAACJ,WAAW,CAACjG,OAAO,CAAChB,MAAM,EAAEuG,IAAI,CAAC;AACjD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMgB,MAAM,GAAGN,WAAW,CAACjG,OAAO,CAACuG,MAAM;AACzC;AACA,IAAA,MAAMH,mBAAmB,CAACb,IAAI,CAAC,CAACgB,MAAM,CAAC;AACzC,EAAA,CAAC,EAAE,CAAChB,IAAI,EAAEU,WAAW,CAAC,CAAC;AAEvB,EAAA,MAAMe,SAAS,GAAG1H,aAAO,CAAC,MAAMiG,IAAI,CAAC3E,SAAS,EAAE,CAAC2E,IAAI,CAAC,CAAC;AACvD,EAAA,IAAIA,IAAI,CAACE,MAAM,IAAI,CAACuB,SAAS,EAAE,OAAO3J,uCAAK;EAE3C,OACEA,cAAA,CAAC2J,SAAS,EAAA;AACRC,IAAAA,OAAO,EAAEf,WAAW;AACpBF,IAAAA,KAAK,EAAEA,KAAK;AAEZkB,IAAAA,IAAI,EAAE3B,IAAI,CAAC2B,IAAI,IAAI;AAAQ,GAAA,EADtB,CAAA,OAAA,EAAUlB,KAAK,CAAA,CAAE,CAEtB;AAEN,CAAC;AAEM,MAAMmB,cAAc,GAAGA,CAAsC;EAClEC,IAAI;EACJC,SAAS;AACTC,EAAAA,MAAM,GAAG,EAAE;EACXC,YAAY;EACZvJ,WAAW;EACXwJ,cAAc;EACdjJ,aAAa;AACbkJ,EAAAA,EAAE,GAAG;AAAc,CACI,KAAI;AAC3B,EAAA,MAAMtB,WAAW,GAAGpI,YAAY,CAAIC,WAAW,CAAC;AAChD,EAAA,MAAMgB,MAAM,GAAG0I,QAAQ,CAACvB,WAAW,CAACwB,KAAK,EAAG7I,KAAK,IAAKA,KAAK,CAACE,MAAM,CAAC;AACnE,EAAA,MAAMuH,MAAM,GAAGmB,QAAQ,CAACvB,WAAW,CAACwB,KAAK,EAAG7I,OAAK,IAAKA,OAAK,CAACyH,MAAM,CAAC;AACnE,EAAA,MAAMqB,YAAY,GAAG9E,eAAe,CAAI2E,EAAE,CAAC;EAC3C,MAAM;AAAEI,IAAAA;GAAkB,GAAG3L,kBAAkB,EAAE;EAEjD,MAAM+E,QAAQ,GAAGhB,iBAAW,CAC1B,CACEpB,KAAa,EACbiJ,OAAsC,KACnC3B,WAAW,CAAC4B,aAAa,CAAClJ,KAAK,EAAEiJ,OAAO,CAAC,EAC9C,CAAC3B,WAAW,CAAC,CACS;AAExBpG,EAAAA,eAAS,CAAC,MAAK;AACb6H,IAAAA,YAAY,CAAC;MACX3G,QAAQ;AACRD,MAAAA,UAAU,EAAEuF;AACb,KAAA,CAAC;EACJ,CAAC,EAAE,CAACqB,YAAY,EAAE3G,QAAQ,EAAEsF,MAAM,CAAC,CAAC;AAEpC,EAAA,MAAMyB,kBAAkB,GAAG/H,iBAAW,CACnC0F,KAA8B,IAAI;IACjC,IAAIA,KAAK,CAACsC,OAAO,EAAE;AACjBJ,MAAAA,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAGlC,KAAK,CAAC;AAC3B,IAAA;AACF,EAAA,CAAC,EACD,CAACkC,gBAAgB,CAAC,CACnB;EAED,MAAMK,cAAc,GAAGjI,iBAAW,CAChC,CACEkI,CAAI,EACJC,YAAe,KACI;AACnB,IAAA,MAAMnG,IAAI,GAAGmG,YAAY,CAAC7B,MAA4C;IACtE,IAAI,CAACtE,IAAI,IAAIA,IAAI,CAAChD,MAAM,KAAK,CAAC,EAAE;AAC9B,MAAA,OAAOkJ,CAAoB;AAC7B,IAAA;IAEA,MAAME,GAAG,GAAG,EAAiC;AAC7C,IAAA,KAAK,MAAM7L,GAAG,IAAIyF,IAAI,EAAE;MACtB,IAAIzF,GAAG,IAAI2L,CAAC,EAAE;AACZE,QAAAA,GAAG,CAAC7L,GAAG,CAAC,GAAG2L,CAAC,CAAC3L,GAAG,CAAC;AACnB,MAAA;AACF,IAAA;AACA,IAAA,OAAO6L,GAAsB;EAC/B,CAAC,EACD,EAAE,CACH;EAED,MAAMC,aAAa,GAAGrI,iBAAW,CAC/B,OAA8CsI,CAAI,EAAEH,cAAe,KAAI;AACrE,IAAA,MAAMI,YAAY,GAAGN,cAAc,CAACK,CAAC,EAAEH,cAAY,CAAC;IACpD,IAAIA,cAAY,CAACK,SAAS,EAAE;AAC1B,MAAA,OAAO,MAAML,cAAY,CAACK,SAAS,CAACD,YAAY,CAAC;AACnD,IAAA;AACA,IAAA,MAAM,IAAIE,KAAK,CAAC,4BAA4B,CAAC;AAC/C,EAAA,CAAC,EACD,CAACR,cAAc,CAAC,CACjB;EAED,MAAMS,WAAW,GAAG1I,iBAAW,CAC7B,CACEO,KAAc,EACd4H,cAAe,KACb;IACF,IAAIA,cAAY,CAACQ,OAAO,EAAE;AACxBR,MAAAA,cAAY,CAACQ,OAAO,CAACpI,KAAc,CAAC;AACtC,IAAA;IACA,MAAMqI,iBAAiB,GACrB,QAAOtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAE/G,KAAK,CAAA,KAAK,UAAU,GACrC+G,YAAY,CAAC/G,KAAK,CAAEA,KAAe,CAACyH,OAAO,CAAC,GAC5CV,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAE/G,KAAK;AACzB,IAAA,IAAIqI,iBAAiB,aAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAEZ,OAAO,EAAE;MAC9BD,kBAAkB,CAACa,iBAAiB,CAAC;AACvC,IAAA;AACF,EAAA,CAAC,EACD,CAACb,kBAAkB,EAAET,YAAY,CAAC,CACnC;EAED,MAAMnB,mBAAmB,GAAGnG,iBAAW,CACGmI,cAAe,IACrD,MAAOU,UAAa,IAAI;IACtB,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMT,aAAa,CAC7BxD,UAAU,CAAIgE,UAAU,CAAC,EACzBV,cAAY,CACb;AACD,MAAA,MAAMS,mBAAiB,GACrB,QAAOtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEyB,OAAO,CAAA,KAAK,UAAU,GACvCzB,YAAY,CAACyB,OAAO,CAACD,GAAG,CAAC,GACzBxB,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAEyB,OAAO;AAC3B,MAAA,IAAIH,mBAAiB,aAAjBA,mBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,mBAAiB,CAAEZ,OAAO,EAAE;QAC9BD,kBAAkB,CAACa,mBAAiB,CAAC;AACvC,MAAA;AACA,MAAA,OAAOE,GAAG;IACZ,CAAC,CAAC,OAAOvI,OAAK,EAAE;AACdmI,MAAAA,WAAW,CAACnI,OAAK,EAAE4H,cAAY,CAAC;AAChC,MAAA,MAAM5H,OAAK;AACb,IAAA;EACF,CAAC,EACH,CAAC8H,aAAa,EAAEf,YAAY,EAAES,kBAAkB,EAAEW,WAAW,CAAC,CAC/D;EAED,MAAMtC,eAAe,GAAGpG,iBAAW,CACjC,CAACgJ,GAAY,EAAEb,cAAuB,KAAI;AACxCf,IAAAA,SAAS,aAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAG4B,GAAG,CAAC;IAChBN,WAAW,CAAC,IAAID,KAAK,CAAC,aAAa,CAAC,EAAEN,cAAY,CAAC;AACrD,EAAA,CAAC,EACD,CAACO,WAAW,EAAEtB,SAAS,CAAC,CACzB;EAED,MAAMpB,WAAW,GAAGpG,YAAM,CAAC;IACzBsG,WAAW;IACXE,eAAe;IACfD,mBAAmB;IACnBnF,QAAQ,EAAEkF,WAAW,CAAC4B,aAAa;IACnC5D,OAAO,EAAEgC,WAAW,CAACQ,aAAa;IAClCa,cAAc;IACdjB,MAAM;AACNvH,IAAAA;AACD,GAAA,CAAC;AAEFe,EAAAA,eAAS,CAAC,MAAK;AACbkG,IAAAA,WAAW,CAACjG,OAAO,CAACqG,eAAe,GAAGA,eAAe;AACrDJ,IAAAA,WAAW,CAACjG,OAAO,CAACoG,mBAAmB,GAAGA,mBAAmB;AAC7DH,IAAAA,WAAW,CAACjG,OAAO,CAACiB,QAAQ,GAAGkF,WAAW,CAAC4B,aAAa;AACxD9B,IAAAA,WAAW,CAACjG,OAAO,CAACmE,OAAO,GAAGgC,WAAW,CAACQ,aAAa;AACvDV,IAAAA,WAAW,CAACjG,OAAO,CAACwH,cAAc,GAAGA,cAAc;EACrD,CAAC,EAAE,CAACnB,eAAe,EAAED,mBAAmB,EAAED,WAAW,EAAEqB,cAAc,CAAC,CAAC;AAEvEzH,EAAAA,eAAS,CAAC,MAAK;AACbkG,IAAAA,WAAW,CAACjG,OAAO,CAACuG,MAAM,GAAGA,MAAM;AACnCN,IAAAA,WAAW,CAACjG,OAAO,CAAChB,MAAM,GAAGA,MAAM;AACrC,EAAA,CAAC,EAAE,CAACuH,MAAM,EAAEvH,MAAM,CAAC,CAAC;AAEpB,EAAA,MAAMkK,MAAM,GAAG5J,aAAO,CACpB,MACE8H,IAAI,CAACV,GAAG,CAAC,CAACnB,IAAI,EAAES,KAAK,KAAkB;;IACrC,MAAMmD,UAAU,GAAG,OAAO5D,IAAI,KAAK,UAAU,GAAG,IAAI,GAAGA,IAAI;IAC3D,OAAO;AACLS,MAAAA,KAAK,EAAE,CAAAxH,EAAA,GAAA2K,UAAU,KAAA,IAAA,IAAVA,UAAU,uBAAVA,UAAU,CAAEnD,KAAK,MAAA,IAAA,IAAAxH,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIwH,KAAK;AACjCoD,MAAAA,OAAO,EACL/L,cAAA,CAACiI,gBAAgB;AAEfC,QAAAA,IAAI,EAAEA,IAAI;AACV7H,QAAAA,IAAI,EAAEyI,WAAW;AACjB5H,QAAAA,aAAa,EAAEA,aAAa;AAC5B4D,QAAAA,MAAM,EAAEsF;AAAE,OAAA,EAJL,CAAA/I,EAAA,GAAAyK,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEtD,IAAI,MAAA,IAAA,IAAAnH,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIsH,KAAK,CAMjC;AACDqD,MAAAA,cAAc,EAAE,CAAC,EAACF,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEE,cAAc,CAAA;AAC5CC,MAAAA,cAAc,EAAE,CAAC,EAACH,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEG,cAAc;KAC7C;EACH,CAAC,CAAC,EACJ,CAAClC,IAAI,EAAEjB,WAAW,EAAE5H,aAAa,EAAEkJ,EAAE,CAAC,CACvC;AAED,EAAA,MAAM8B,OAAO,GAAGjK,aAAO,CACrB,MACEgI,MAAM,CAACZ,GAAG,CAAC,CAAC0B,cAAY,EAAEpC,OAAK,KAAkB;IAC/C,OAAO;MACLA,KAAK,EAAEoC,cAAY,CAACpC,KAAK,KAAK9G,SAAS,GAAG8G,OAAK,GAAGoC,cAAY,CAACpC,KAAK;AACpEoD,MAAAA,OAAO,EACL/L,cAAA,CAAC0I,UAAU;AAETR,QAAAA,IAAI,EAAE6C,cAAY;AAClBpC,QAAAA,KAAK,EAAEA,OAAK;AACZC,QAAAA,WAAW,EAAEA;SAHR,CAAA,OAAA,EAAUD,OAAK,CAAA,CAAE,CAKzB;AACDqD,MAAAA,cAAc,EAAE,CAAC,CAACjB,cAAY,CAACiB,cAAc;AAC7CC,MAAAA,cAAc,EAAE,CAAC,CAAClB,cAAY,CAACkB,cAAc;AAC7CE,MAAAA,QAAQ,EAAE;KACX;AACH,EAAA,CAAC,CAAC,EACJ,CAAClC,MAAM,CAAC,CACT;AAED,EAAA,MAAMmC,QAAQ,GAAGnK,aAAO,CACtB,MAA2B4J,MAAM,CAACQ,MAAM,CAACH,OAAO,CAAC,EACjD,CAACL,MAAM,EAAEK,OAAO,CAAC,CAClB;AAED,EAAA,MAAMI,YAAY,GAAGrK,aAAO,CAAC,MAAM,CAAC,GAAG8H,IAAI,EAAE,GAAGE,MAAM,CAAC,EAAE,CAACF,IAAI,EAAEE,MAAM,CAAC,CAAC;AAExEvH,EAAAA,eAAS,CAAC,MAAK;;AACb,IAAA,CAAArB,IAAA,GAAA,CAAAF,IAAA,GAAAyH,WAAW,CAACjG,OAAO,EAACwH,cAAc,MAAA,IAAA,IAAA9I,IAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,IAAA,CAAAyB,IAAA,CAAA3B,IAAA,EAAG+H,MAAM,EAAEN,WAAW,CAACjG,OAAO,CAACiB,QAAQ,CAAC;AAC5E,EAAA,CAAC,EAAE,CAACsF,MAAM,CAAC,CAAC;EAEZ,OAAO;IACLkD,QAAQ;IACRE,YAAY;IACZ3K,MAAM;AACNgC,IAAAA,UAAU,EAAEuF,MAAM;AAClBtF,IAAAA;GACD;AACH,ECjaA;AACO,MAAM2I,WAAW,GAAG7M,EAAA,IAAA;EAAA,MAAAC,CAAA,GAAAC,iBAAA,CAAA,EAAA,CAAA;AAA8C,EAAA,MAAA;IAAAmK,IAAA;IAAAyC,aAAA;IAAAxC,SAAA;AAAAC,IAAAA,MAAA,EAAAlK,EAAA;IAAAiB,EAAA;IAAAE,aAAA;IAAAgJ,YAAA;IAAAuC,YAAA;IAAAC,YAAA;IAAAvC,cAAA;AAAAC,IAAAA,EAAA,EAAApC;AAAA,GAAA,GAAAtI,EAYnD;AAAA,EAAA,IAAAiN,EAAA;EAAA,IAAAhN,CAAA,QAAAI,EAAA,EAAA;AARpB4M,IAAAA,EAAA,GAAA5M,EAAW,KAAX8B,SAAW,GAAX,EAAW,GAAX9B,EAAW;AAAAJ,IAAAA,CAAA,MAAAI,EAAA;AAAAJ,IAAAA,CAAA,MAAAgN,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAhN,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAAX,MAAAsK,MAAA,GAAA0C,EAAW;EAOX,MAAAvC,EAAA,GAAApC,EAAmB,KAAnBnG,SAAmB,GAAnB,cAAmB,GAAnBmG,EAAmB;AAAA,EAAA,IAAA4E,EAAA;EAAA,IAAAjN,CAAA,CAAA,CAAA,CAAA,KAAA6M,aAAA,IAAA7M,CAAA,QAAA8M,YAAA,IAAA9M,CAAA,CAAA,CAAA,CAAA,KAAAyK,EAAA,EAAA;IAWNwC,EAAA,GAAAnJ,MAAA,CAAAkB,MAAA,CAAAlB,MAAA,CAAAkB,MAAA,CAAA;AAAA6H,MAAAA;KACmB,EACzBC,YAAY,CAAA,EAAA;AAAA3H,MAAAA,MAAA,EACPsF;AAAE,KAAA,CACX;AAAAzK,IAAAA,CAAA,MAAA6M,aAAA;AAAA7M,IAAAA,CAAA,MAAA8M,YAAA;AAAA9M,IAAAA,CAAA,MAAAyK,EAAA;AAAAzK,IAAAA,CAAA,MAAAiN,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAjN,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkN,EAAA;AAAA,EAAA,IAAAlN,CAAA,CAAA,CAAA,CAAA,KAAAoK,IAAA,IAAApK,CAAA,CAAA,CAAA,CAAA,KAAAuB,aAAA,IAAAvB,CAAA,QAAAyK,EAAA,IAAAzK,CAAA,CAAA,CAAA,CAAA,KAAAuK,YAAA,IAAAvK,CAAA,CAAA,EAAA,CAAA,KAAAqB,EAAA,IAAArB,CAAA,CAAA,EAAA,CAAA,KAAAqK,SAAA,IAAArK,CAAA,CAAA,EAAA,CAAA,KAAAwK,cAAA,IAAAxK,CAAA,CAAA,EAAA,CAAA,KAAAsK,MAAA,IAAAtK,CAAA,SAAAiN,EAAA,EAAA;IAbsCC,EAAA,GAAA;MAAA9C,IAAA;MAAA7I,aAAA;MAAAgJ,YAAA;MAAAlJ,EAAA;MAAAgJ,SAAA;MAAAC,MAAA;MAAAE,cAAA;MAAAC,EAAA;AAAAzJ,MAAAA,WAAA,EAS5BiM;KAKZ;AAAAjN,IAAAA,CAAA,MAAAoK,IAAA;AAAApK,IAAAA,CAAA,MAAAuB,aAAA;AAAAvB,IAAAA,CAAA,MAAAyK,EAAA;AAAAzK,IAAAA,CAAA,MAAAuK,YAAA;AAAAvK,IAAAA,CAAA,OAAAqB,EAAA;AAAArB,IAAAA,CAAA,OAAAqK,SAAA;AAAArK,IAAAA,CAAA,OAAAwK,cAAA;AAAAxK,IAAAA,CAAA,OAAAsK,MAAA;AAAAtK,IAAAA,CAAA,OAAAiN,EAAA;AAAAjN,IAAAA,CAAA,OAAAkN,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAlN,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;AAdD,EAAA,MAAA;AAAAyM,IAAAA,QAAA,EAAAU;GAAA,GAA0BhD,cAAc,CAAC+C,EAcxC,CAAC;AAAC,EAAA,IAAAE,EAAA;EAAA,IAAApN,CAAA,SAAAmN,EAAA,EAAA;AAdKC,IAAAA,EAAA,GAAAD,EAAa,KAAbjL,SAAa,GAAb,EAAa,GAAbiL,EAAa;AAAAnN,IAAAA,CAAA,OAAAmN,EAAA;AAAAnN,IAAAA,CAAA,OAAAoN,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAApN,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;EAAb,MAAAyM,QAAA,GAAAW,EAAa;AAAA,EAAA,IAAAC,EAAA;EAAA,IAAArN,CAAA,SAAAyM,QAAA,EAAA;AAmBjBY,IAAAA,EAAA,GAAAZ,QAAQ,CAAA9F,MACC,CAACxG,KAAoB,CAAC,CAAAmN,IACxB,CAACC,MAA2B,CAAC,CAAA7D,GAC9B,CAAC8D,MAAkB,CAAC;AAAAxN,IAAAA,CAAA,OAAAyM,QAAA;AAAAzM,IAAAA,CAAA,OAAAqN,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAArN,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;EAL9B,MAAAyN,MAAA,GAEIJ,EAG0B;AAE5B,EAAA,IAAAK,EAAA;EAAA,IAAA1N,CAAA,SAAAyM,QAAA,EAAA;AAGEiB,IAAAA,EAAA,GAAAjB,QAAQ,CAAA9F,MACC,CAACgH,MAAmB,CAAC,CAAAL,IACvB,CAACM,MAA2B,CAAC,CAAAlE,GAC9B,CAACmE,MAAkB,CAAC;AAAA7N,IAAAA,CAAA,OAAAyM,QAAA;AAAAzM,IAAAA,CAAA,OAAA0N,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAA1N,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;EAL9B,MAAA8N,YAAA,GAEIJ,EAG0B;AAG9B,EAAA,MAAA;IAAAhK,SAAA;IAAAqK,aAAA;AAAAC,IAAAA;GAAA,GAAsD9O,kBAAkB,EAAE;EAE1E,MAAA+O,SAAA,GACE,CAAAlB,YAAY,SAAA,IAAZA,YAAY,KAAA,MAAW,GAAvB,MAAuB,GAAvBA,YAAY,CAAArJ,SAAwB,KAApCA,SAA+D,IAA/D5D,oBAA+D;EACjE,MAAAoO,aAAA,GACE,CAAAnB,YAAY,SAAA,IAAZA,YAAY,KAAA,MAAe,GAA3B,MAA2B,GAA3BA,YAAY,CAAAgB,aAAgC,KAA5CA,aAAgE,IAAhEpP,wBAAgE;EAClE,MAAAwP,eAAA,GACE,CAAApB,YAAY,SAAA,IAAZA,YAAY,KAAA,MAAiB,GAA7B,MAA6B,GAA7BA,YAAY,CAAAiB,eAAoC,KAAhDA,eAAoE,IAApErP,wBAAoE;AAAC,EAAA,IAAAyP,GAAA;EAAA,IAAApO,CAAA,SAAAkO,aAAA,IAAAlO,CAAA,CAAA,EAAA,CAAA,KAAAiO,SAAA,IAAAjO,CAAA,CAAA,EAAA,CAAA,KAAAmO,eAAA,IAAAnO,CAAA,CAAA,EAAA,CAAA,KAAAyN,MAAA,IAAAzN,CAAA,SAAA8N,YAAA,IAAA9N,CAAA,CAAA,EAAA,CAAA,KAAA+M,YAAA,EAAA;AAGrEqB,IAAAA,GAAA,GAAAC,eAAA,CAACJ,SAAS,EAAAnK,MAAA,CAAAkB,MAAA,CAAA,EAAA,EAAM,CAAA+H,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAgB,GAA5B,MAA4B,GAA5BA,YAAY,CAAAuB,cAAsB,KAAlC,EAAkC,EAAC;AAAA1P,MAAAA,QAAA,EAAA,CACjDyB,cAAA,CAAC6N,aAAa,EAAApK,MAAA,CAAAkB,MAAA,CAAA,EAAA,EAAM,CAAA+H,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAoB,GAAhC,MAAgC,GAAhCA,YAAY,CAAAwB,kBAA0B,KAAtC,EAAsC,EAAC;AAAA3P,QAAAA,QAAA,EACxD6O;AAAM,OAAA,CAAA,CACO,EAChBpN,cAAA,CAAC8N,eAAe,EAAArK,MAAA,CAAAkB,MAAA,CAAA,EAAA,EAAM,CAAA+H,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAsB,GAAlC,MAAkC,GAAlCA,YAAY,CAAAyB,oBAA4B,KAAxC,EAAwC,EAAC;AAAA5P,QAAAA,QAAA,EAC5DkP;AAAY,OAAA,CAAA,CACG;AAAA,KAAA,CAAA,CACR;AAAA9N,IAAAA,CAAA,OAAAkO,aAAA;AAAAlO,IAAAA,CAAA,OAAAiO,SAAA;AAAAjO,IAAAA,CAAA,OAAAmO,eAAA;AAAAnO,IAAAA,CAAA,OAAAyN,MAAA;AAAAzN,IAAAA,CAAA,OAAA8N,YAAA;AAAA9N,IAAAA,CAAA,OAAA+M,YAAA;AAAA/M,IAAAA,CAAA,OAAAoO,GAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAA,GAAApO,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPZoO,GAOY;AAAA;AA/DW,SAAAjO,MAAAsO,EAAA,EAAA;EAAA,OAiCH,CAACA,EAAE,CAAAjC,QAAS;AAAA;AAjCT,SAAAe,MAAAA,CAAAhI,CAAA,EAAAC,CAAA,EAAA;AAAA,EAAA,OAkCHD,CAAC,CAAAyD,KAAM,GAAGxD,CAAC,CAAAwD,KAAM;AAAA;AAlCd,SAAAwE,OAAAkB,IAAA,EAAA;EAAA,OAmCND,IAAE,CAAArC,OAAQ;AAAA;AAnCJ,SAAAuB,OAAAgB,IAAA,EAAA;EAAA,OAyCHF,IAAE,CAAAjC,QAAS;AAAA;AAzCR,SAAAoB,MAAAA,CAAAgB,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OA0CHtJ,GAAC,CAAAyD,KAAM,GAAGxD,GAAC,CAAAwD,KAAM;AAAA;AA1Cd,SAAA6E,OAAAiB,IAAA,EAAA;EAAA,OA2CNL,IAAE,CAAArC,OAAQ;AAAA","x_google_ignoreList":[6]}
|
package/dist/form/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {atomStateGenerator}from'../state/index.mjs';import {c}from'react/compiler-runtime';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useRef,useEffect,useCallback,useState}from'react';import {atom,useAtom,useAtomValue,useSetAtom}from'jotai';import {selectAtom}from'jotai/utils';import equal from'fast-deep-equal';import {useForm}from'@tanstack/react-form';const DefaultContainer$1 = ({
|
|
1
|
+
import {atomStateGenerator}from'../state/index.mjs';import {c}from'react/compiler-runtime';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useRef,useEffect,useCallback,useState}from'react';import {atom,useAtom,useAtomValue,useSetAtom}from'jotai';import {selectAtom}from'jotai/utils';import equal from'fast-deep-equal';import {useForm}from'@tanstack/react-form';import {useSyncExternalStoreWithSelector}from'use-sync-external-store/shim/with-selector.js';const DefaultContainer$1 = ({
|
|
2
2
|
children
|
|
3
3
|
}) => {
|
|
4
4
|
return children;
|
|
@@ -13,7 +13,7 @@ const {
|
|
|
13
13
|
useState: useFormConfigState,
|
|
14
14
|
useReset: useFormConfigReset
|
|
15
15
|
} = atomStateGenerator({
|
|
16
|
-
key:
|
|
16
|
+
key: "formConfig",
|
|
17
17
|
defaultValue: _formConfig,
|
|
18
18
|
persist: false
|
|
19
19
|
});const createDefaultContainer = () => {
|
|
@@ -263,8 +263,59 @@ const useFormValues = ({
|
|
|
263
263
|
get,
|
|
264
264
|
set
|
|
265
265
|
};
|
|
266
|
-
};
|
|
267
|
-
|
|
266
|
+
};function useStore(store, selector = (d) => d, options = {}) {
|
|
267
|
+
const equal = options.equal ?? shallow;
|
|
268
|
+
const slice = useSyncExternalStoreWithSelector(
|
|
269
|
+
store.subscribe,
|
|
270
|
+
() => store.state,
|
|
271
|
+
() => store.state,
|
|
272
|
+
selector,
|
|
273
|
+
equal
|
|
274
|
+
);
|
|
275
|
+
return slice;
|
|
276
|
+
}
|
|
277
|
+
function shallow(objA, objB) {
|
|
278
|
+
if (Object.is(objA, objB)) {
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
if (objA instanceof Map && objB instanceof Map) {
|
|
285
|
+
if (objA.size !== objB.size) return false;
|
|
286
|
+
for (const [k, v] of objA) {
|
|
287
|
+
if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;
|
|
288
|
+
}
|
|
289
|
+
return true;
|
|
290
|
+
}
|
|
291
|
+
if (objA instanceof Set && objB instanceof Set) {
|
|
292
|
+
if (objA.size !== objB.size) return false;
|
|
293
|
+
for (const v of objA) {
|
|
294
|
+
if (!objB.has(v)) return false;
|
|
295
|
+
}
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
if (objA instanceof Date && objB instanceof Date) {
|
|
299
|
+
if (objA.getTime() !== objB.getTime()) return false;
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
const keysA = getOwnKeys(objA);
|
|
303
|
+
if (keysA.length !== getOwnKeys(objB).length) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
for (let i = 0; i < keysA.length; i++) {
|
|
307
|
+
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return true;
|
|
312
|
+
}
|
|
313
|
+
function getOwnKeys(obj) {
|
|
314
|
+
return Object.keys(obj).concat(
|
|
315
|
+
Object.getOwnPropertySymbols(obj)
|
|
316
|
+
);
|
|
317
|
+
}const trimObject = obj => Object.entries(obj !== null && obj !== void 0 ? obj : {}).reduce((prev, [key, val]) => Object.assign(Object.assign({}, prev), {
|
|
318
|
+
[key]: typeof val === "string" && !["password", "pPassword"].includes(key) ? val.trim() : val
|
|
268
319
|
}), {});
|
|
269
320
|
const RenderField = t0 => {
|
|
270
321
|
const $ = c(9);
|
|
@@ -319,7 +370,7 @@ const DynamicFieldItem = ({
|
|
|
319
370
|
formId
|
|
320
371
|
});
|
|
321
372
|
const fieldProps = useMemo(() => {
|
|
322
|
-
if (typeof item ===
|
|
373
|
+
if (typeof item === "function") {
|
|
323
374
|
return item({
|
|
324
375
|
get,
|
|
325
376
|
set
|
|
@@ -331,7 +382,7 @@ const DynamicFieldItem = ({
|
|
|
331
382
|
const isHidden = useMemo(() => {
|
|
332
383
|
if (!fieldProps.hidden) {
|
|
333
384
|
return false;
|
|
334
|
-
} else if (typeof fieldProps.hidden ===
|
|
385
|
+
} else if (typeof fieldProps.hidden === "function") {
|
|
335
386
|
return fieldProps.hidden({
|
|
336
387
|
get,
|
|
337
388
|
set
|
|
@@ -343,7 +394,7 @@ const DynamicFieldItem = ({
|
|
|
343
394
|
const rules = useMemo(() => {
|
|
344
395
|
if (!fieldProps.rules) {
|
|
345
396
|
return undefined;
|
|
346
|
-
} else if (typeof fieldProps.rules ===
|
|
397
|
+
} else if (typeof fieldProps.rules === "function") {
|
|
347
398
|
return fieldProps.rules({
|
|
348
399
|
get,
|
|
349
400
|
set
|
|
@@ -389,7 +440,7 @@ const SubmitItem = ({
|
|
|
389
440
|
const keys = item.values;
|
|
390
441
|
if (keys && keys.length > 0) {
|
|
391
442
|
// Validate only specific fields
|
|
392
|
-
await Promise.all(keys.map(key => formControl.validateField(key,
|
|
443
|
+
await Promise.all(keys.map(key => formControl.validateField(key, "change")));
|
|
393
444
|
const hasError = keys.some(key_0 => {
|
|
394
445
|
// This is a simplified check. TanStack form errors might be structured differently.
|
|
395
446
|
// You might need deep checking if errors are nested objects.
|
|
@@ -401,14 +452,14 @@ const SubmitItem = ({
|
|
|
401
452
|
isValid = !hasError;
|
|
402
453
|
} else {
|
|
403
454
|
// Validate all
|
|
404
|
-
await formControl.validateAllFields(
|
|
455
|
+
await formControl.validateAllFields("submit");
|
|
405
456
|
isValid = formControl.state.isValid;
|
|
406
457
|
}
|
|
407
458
|
if (!isValid) {
|
|
408
|
-
onInvalidHandle(
|
|
459
|
+
onInvalidHandle(handlersRef.current.errors, item);
|
|
409
460
|
return;
|
|
410
461
|
}
|
|
411
|
-
const values =
|
|
462
|
+
const values = handlersRef.current.values;
|
|
412
463
|
// Call handlers
|
|
413
464
|
await createSubmitHandler(item)(values);
|
|
414
465
|
}, [item, handlersRef]);
|
|
@@ -417,7 +468,7 @@ const SubmitItem = ({
|
|
|
417
468
|
return jsx(Component, {
|
|
418
469
|
onClick: handleClick,
|
|
419
470
|
index: index,
|
|
420
|
-
type: item.type ||
|
|
471
|
+
type: item.type || "button"
|
|
421
472
|
}, `submit-${index}`);
|
|
422
473
|
};
|
|
423
474
|
const useFormManager = ({
|
|
@@ -428,12 +479,11 @@ const useFormManager = ({
|
|
|
428
479
|
formOptions,
|
|
429
480
|
onValuesChange,
|
|
430
481
|
globalErrorNs,
|
|
431
|
-
id =
|
|
482
|
+
id = "form-manager"
|
|
432
483
|
}) => {
|
|
433
484
|
const formControl = useJotaiForm(formOptions);
|
|
434
|
-
const
|
|
435
|
-
const
|
|
436
|
-
const values = useMemo(() => formState.values, [formState.values]);
|
|
485
|
+
const errors = useStore(formControl.store, state => state.errors);
|
|
486
|
+
const values = useStore(formControl.store, state_0 => state_0.values);
|
|
437
487
|
const setFormState = useSetFormState(id);
|
|
438
488
|
const {
|
|
439
489
|
showNotification
|
|
@@ -442,17 +492,9 @@ const useFormManager = ({
|
|
|
442
492
|
useEffect(() => {
|
|
443
493
|
setFormState({
|
|
444
494
|
setValue,
|
|
445
|
-
formValues:
|
|
446
|
-
});
|
|
447
|
-
const unsubscribe = formControl.store.subscribe(store => {
|
|
448
|
-
setFormState({
|
|
449
|
-
formValues: store.currentVal.values
|
|
450
|
-
});
|
|
495
|
+
formValues: values
|
|
451
496
|
});
|
|
452
|
-
|
|
453
|
-
unsubscribe();
|
|
454
|
-
}; /**/
|
|
455
|
-
}, [formControl.store, setValue, formState.values, setFormState]);
|
|
497
|
+
}, [setFormState, setValue, values]);
|
|
456
498
|
const handleNotification = useCallback(props => {
|
|
457
499
|
if (props.message) {
|
|
458
500
|
showNotification === null || showNotification === void 0 ? void 0 : showNotification(props);
|
|
@@ -476,13 +518,13 @@ const useFormManager = ({
|
|
|
476
518
|
if (submitConfig_0.onSuccess) {
|
|
477
519
|
return await submitConfig_0.onSuccess(filteredData);
|
|
478
520
|
}
|
|
479
|
-
throw new Error(
|
|
521
|
+
throw new Error("No submit handler provided");
|
|
480
522
|
}, [filterFormData]);
|
|
481
523
|
const handleError = useCallback((error, submitConfig_1) => {
|
|
482
524
|
if (submitConfig_1.onError) {
|
|
483
525
|
submitConfig_1.onError(error);
|
|
484
526
|
}
|
|
485
|
-
const notificationProps = typeof (notification === null || notification === void 0 ? void 0 : notification.error) ===
|
|
527
|
+
const notificationProps = typeof (notification === null || notification === void 0 ? void 0 : notification.error) === "function" ? notification.error(error.message) : notification === null || notification === void 0 ? void 0 : notification.error;
|
|
486
528
|
if (notificationProps === null || notificationProps === void 0 ? void 0 : notificationProps.message) {
|
|
487
529
|
handleNotification(notificationProps);
|
|
488
530
|
}
|
|
@@ -490,7 +532,7 @@ const useFormManager = ({
|
|
|
490
532
|
const createSubmitHandler = useCallback(submitConfig_2 => async dataSubmit => {
|
|
491
533
|
try {
|
|
492
534
|
const res = await processSubmit(trimObject(dataSubmit), submitConfig_2);
|
|
493
|
-
const notificationProps_0 = typeof (notification === null || notification === void 0 ? void 0 : notification.success) ===
|
|
535
|
+
const notificationProps_0 = typeof (notification === null || notification === void 0 ? void 0 : notification.success) === "function" ? notification.success(res) : notification === null || notification === void 0 ? void 0 : notification.success;
|
|
494
536
|
if (notificationProps_0 === null || notificationProps_0 === void 0 ? void 0 : notificationProps_0.message) {
|
|
495
537
|
handleNotification(notificationProps_0);
|
|
496
538
|
}
|
|
@@ -502,7 +544,7 @@ const useFormManager = ({
|
|
|
502
544
|
}, [processSubmit, notification, handleNotification, handleError]);
|
|
503
545
|
const onInvalidHandle = useCallback((err, submitConfig_3) => {
|
|
504
546
|
onInvalid === null || onInvalid === void 0 ? void 0 : onInvalid(err);
|
|
505
|
-
handleError(new Error(
|
|
547
|
+
handleError(new Error("invalidData"), submitConfig_3);
|
|
506
548
|
}, [handleError, onInvalid]);
|
|
507
549
|
const handlersRef = useRef({
|
|
508
550
|
formControl,
|
|
@@ -510,7 +552,9 @@ const useFormManager = ({
|
|
|
510
552
|
createSubmitHandler,
|
|
511
553
|
setValue: formControl.setFieldValue,
|
|
512
554
|
trigger: formControl.validateField,
|
|
513
|
-
onValuesChange
|
|
555
|
+
onValuesChange,
|
|
556
|
+
values,
|
|
557
|
+
errors
|
|
514
558
|
});
|
|
515
559
|
useEffect(() => {
|
|
516
560
|
handlersRef.current.onInvalidHandle = onInvalidHandle;
|
|
@@ -519,9 +563,13 @@ const useFormManager = ({
|
|
|
519
563
|
handlersRef.current.trigger = formControl.validateField;
|
|
520
564
|
handlersRef.current.onValuesChange = onValuesChange;
|
|
521
565
|
}, [onInvalidHandle, createSubmitHandler, formControl, onValuesChange]);
|
|
566
|
+
useEffect(() => {
|
|
567
|
+
handlersRef.current.values = values;
|
|
568
|
+
handlersRef.current.errors = errors;
|
|
569
|
+
}, [values, errors]);
|
|
522
570
|
const fields = useMemo(() => data.map((item, index) => {
|
|
523
571
|
var _a, _b;
|
|
524
|
-
const staticItem = typeof item ===
|
|
572
|
+
const staticItem = typeof item === "function" ? null : item;
|
|
525
573
|
return {
|
|
526
574
|
index: (_a = staticItem === null || staticItem === void 0 ? void 0 : staticItem.index) !== null && _a !== void 0 ? _a : index,
|
|
527
575
|
element: jsx(DynamicFieldItem, {
|
|
@@ -656,9 +704,14 @@ const FormManager = t0 => {
|
|
|
656
704
|
t9 = $[21];
|
|
657
705
|
}
|
|
658
706
|
const renderSubmit = t9;
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
707
|
+
const {
|
|
708
|
+
container,
|
|
709
|
+
bodyContainer,
|
|
710
|
+
submitContainer
|
|
711
|
+
} = useFormConfigValue();
|
|
712
|
+
const Container = (viewSettings === null || viewSettings === void 0 ? void 0 : viewSettings.container) || container || DefaultFormContainer;
|
|
713
|
+
const BodyContainer = (viewSettings === null || viewSettings === void 0 ? void 0 : viewSettings.bodyContainer) || bodyContainer || DefaultContainer;
|
|
714
|
+
const SubmitContainer = (viewSettings === null || viewSettings === void 0 ? void 0 : viewSettings.submitContainer) || submitContainer || DefaultContainer;
|
|
662
715
|
let t10;
|
|
663
716
|
if ($[22] !== BodyContainer || $[23] !== Container || $[24] !== SubmitContainer || $[25] !== render || $[26] !== renderSubmit || $[27] !== viewSettings) {
|
|
664
717
|
t10 = jsxs(Container, Object.assign({}, (viewSettings === null || viewSettings === void 0 ? void 0 : viewSettings.containerProps) || {}, {
|