@gaddario98/react-core 2.1.7 → 2.1.9
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.js +7 -32
- package/dist/form/index.js.map +1 -1
- package/dist/form/index.mjs +5 -30
- package/dist/form/index.mjs.map +1 -1
- package/dist/pages/index.d.ts +14 -11
- package/dist/pages/index.js +80 -143
- package/dist/pages/index.js.map +1 -1
- package/dist/pages/index.mjs +80 -143
- package/dist/pages/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/form/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","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/useStore.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 { useCallback } from \"react\";\nimport { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector\";\nfunction defaultCompare(a, b) {\n return a === b;\n}\nfunction useStore(atom, selector, compare = defaultCompare) {\n const subscribe = useCallback(\n (handleStoreChange) => {\n if (!atom) {\n return () => {\n };\n }\n const { unsubscribe } = atom.subscribe(handleStoreChange);\n return unsubscribe;\n },\n [atom]\n );\n const boundGetSnapshot = useCallback(() => atom?.get(), [atom]);\n const selectedSnapshot = useSyncExternalStoreWithSelector(\n subscribe,\n boundGetSnapshot,\n boundGetSnapshot,\n selector,\n compare\n );\n return selectedSnapshot;\n}\nexport {\n useStore\n};\n//# sourceMappingURL=useStore.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","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":"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","x_google_ignoreList":[6]}
|
|
1
|
+
{"version":3,"file":"index.mjs","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\";\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 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 {\n useStore,\n type DeepKeys,\n type DeepValue,\n type Updater,\n} 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","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":"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"}
|
package/dist/pages/index.d.ts
CHANGED
|
@@ -1091,24 +1091,27 @@ declare const usePageConfig: <F extends FieldValues, Q extends QueriesArray, V e
|
|
|
1091
1091
|
variables?: V;
|
|
1092
1092
|
pageId: string;
|
|
1093
1093
|
}) => {
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1094
|
+
mergedConfig: {
|
|
1095
|
+
formData: {
|
|
1096
|
+
formContents: (_gaddario98_react_form.Submit<F, _gaddario98_react_form.SubmitKeysArg<F>> | _gaddario98_react_form.FormManagerConfig<F>)[];
|
|
1097
|
+
elements: _gaddario98_react_form.FormElements[];
|
|
1098
|
+
errors: any[];
|
|
1099
|
+
formValues: F;
|
|
1100
|
+
setValue: _gaddario98_react_form.SetValueFunction<F>;
|
|
1101
|
+
};
|
|
1102
|
+
form: FormPageProps$1<F, Q, V> | undefined;
|
|
1103
|
+
mappedViewSettings: ViewSettings$1;
|
|
1104
|
+
meta: MetadataConfig$1<F, Q, Record<string, unknown>> | undefined;
|
|
1105
|
+
globalConfig: PageConfigProps;
|
|
1100
1106
|
};
|
|
1101
|
-
|
|
1102
|
-
mappedViewSettings: ViewSettings$1;
|
|
1103
|
-
meta: MetadataConfig$1<F, Q, Record<string, unknown>> | undefined;
|
|
1104
|
-
globalConfig: PageConfigProps;
|
|
1107
|
+
refreshQueries: () => void;
|
|
1105
1108
|
};
|
|
1106
1109
|
|
|
1107
1110
|
interface GenerateContentProps<F extends FieldValues, Q extends QueriesArray, V extends Record<string, unknown> = Record<string, unknown>> {
|
|
1108
1111
|
pageId: string;
|
|
1109
1112
|
ns?: string;
|
|
1110
1113
|
contents: ContentItemsType$1<F, Q, V>;
|
|
1111
|
-
pageConfig: ReturnType<typeof usePageConfig<F, Q, V
|
|
1114
|
+
pageConfig: ReturnType<typeof usePageConfig<F, Q, V>>["mergedConfig"];
|
|
1112
1115
|
}
|
|
1113
1116
|
declare const useGenerateContent: <F extends FieldValues, Q extends QueriesArray, V extends Record<string, unknown> = Record<string, unknown>>({ pageId, ns, contents, pageConfig, }: GenerateContentProps<F, Q, V>) => {
|
|
1114
1117
|
header: react_jsx_runtime.JSX.Element[];
|
package/dist/pages/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var jsxRuntime=require('react/jsx-runtime'),react=require('react'),
|
|
1
|
+
'use strict';var jsxRuntime=require('react/jsx-runtime'),react=require('react'),compilerRuntime=require('react/compiler-runtime'),index_ts$2=require('../state/index.js'),equal=require('fast-deep-equal'),index_ts$1=require('../form/index.js'),jotai=require('jotai'),index_ts=require('../queries/index.js'),jotaiFamily=require('jotai-family'),reactQuery=require('@tanstack/react-query');/******************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation.
|
|
3
3
|
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -1534,147 +1534,88 @@ function useFormData({
|
|
|
1534
1534
|
formData
|
|
1535
1535
|
};
|
|
1536
1536
|
};const EMPTY_ARRAY = [];
|
|
1537
|
-
const usePageConfig =
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
} = t0;
|
|
1548
|
-
const queries = t1 === undefined ? EMPTY_ARRAY : t1;
|
|
1549
|
-
let t3;
|
|
1550
|
-
if ($[0] !== t2) {
|
|
1551
|
-
t3 = t2 === undefined ? {} : t2;
|
|
1552
|
-
$[0] = t2;
|
|
1553
|
-
$[1] = t3;
|
|
1554
|
-
} else {
|
|
1555
|
-
t3 = $[1];
|
|
1556
|
-
}
|
|
1557
|
-
const viewSettings = t3;
|
|
1537
|
+
const usePageConfig = ({
|
|
1538
|
+
queries = EMPTY_ARRAY,
|
|
1539
|
+
form,
|
|
1540
|
+
ns,
|
|
1541
|
+
viewSettings = {},
|
|
1542
|
+
meta,
|
|
1543
|
+
variables,
|
|
1544
|
+
pageId
|
|
1545
|
+
}) => {
|
|
1546
|
+
// Use global config usage if needed, but per-page config is primary
|
|
1558
1547
|
const globalConfig = usePageConfigValue();
|
|
1559
|
-
|
|
1560
|
-
if ($[2] !== form || $[3] !== ns || $[4] !== pageId) {
|
|
1561
|
-
t4 = {
|
|
1562
|
-
form,
|
|
1563
|
-
pageId,
|
|
1564
|
-
ns
|
|
1565
|
-
};
|
|
1566
|
-
$[2] = form;
|
|
1567
|
-
$[3] = ns;
|
|
1568
|
-
$[4] = pageId;
|
|
1569
|
-
$[5] = t4;
|
|
1570
|
-
} else {
|
|
1571
|
-
t4 = $[5];
|
|
1572
|
-
}
|
|
1548
|
+
// 1. Form Management
|
|
1573
1549
|
const {
|
|
1574
1550
|
formData
|
|
1575
|
-
} = usePageFormManager(
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
initialValues: variables
|
|
1581
|
-
};
|
|
1582
|
-
$[6] = pageId;
|
|
1583
|
-
$[7] = variables;
|
|
1584
|
-
$[8] = t5;
|
|
1585
|
-
} else {
|
|
1586
|
-
t5 = $[8];
|
|
1587
|
-
}
|
|
1551
|
+
} = usePageFormManager({
|
|
1552
|
+
form,
|
|
1553
|
+
pageId,
|
|
1554
|
+
ns
|
|
1555
|
+
});
|
|
1588
1556
|
const {
|
|
1589
1557
|
get,
|
|
1590
1558
|
set
|
|
1591
|
-
} = usePageValues(
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
$[17] = t7;
|
|
1641
|
-
} else {
|
|
1642
|
-
t7 = $[17];
|
|
1643
|
-
}
|
|
1644
|
-
index_ts.useApi(processedQueries, t7);
|
|
1645
|
-
let t8;
|
|
1646
|
-
if ($[18] !== pageId || $[19] !== viewSettings) {
|
|
1647
|
-
t8 = {
|
|
1648
|
-
viewSettings,
|
|
1649
|
-
pageId
|
|
1650
|
-
};
|
|
1651
|
-
$[18] = pageId;
|
|
1652
|
-
$[19] = viewSettings;
|
|
1653
|
-
$[20] = t8;
|
|
1654
|
-
} else {
|
|
1655
|
-
t8 = $[20];
|
|
1656
|
-
}
|
|
1657
|
-
const mappedViewSettings = useViewSettings(t8);
|
|
1658
|
-
let t9;
|
|
1659
|
-
if ($[21] !== form || $[22] !== formData || $[23] !== globalConfig || $[24] !== mappedViewSettings || $[25] !== meta) {
|
|
1660
|
-
t9 = {
|
|
1559
|
+
} = usePageValues({
|
|
1560
|
+
pageId,
|
|
1561
|
+
initialValues: variables
|
|
1562
|
+
});
|
|
1563
|
+
// 2. Query Generation
|
|
1564
|
+
const processedQueries = react.useMemo(() => {
|
|
1565
|
+
return queries.map(q => {
|
|
1566
|
+
if (q.type === "mutation") {
|
|
1567
|
+
const mutationConfig = typeof q.mutationConfig === "function" ? q.mutationConfig({
|
|
1568
|
+
get,
|
|
1569
|
+
set
|
|
1570
|
+
}) : q.mutationConfig;
|
|
1571
|
+
return Object.assign(Object.assign({}, q), {
|
|
1572
|
+
mutationConfig
|
|
1573
|
+
});
|
|
1574
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
1575
|
+
} else if (q.type === "query") {
|
|
1576
|
+
const queryConfig = typeof q.queryConfig === "function" ? q.queryConfig({
|
|
1577
|
+
get,
|
|
1578
|
+
set
|
|
1579
|
+
}) : q.queryConfig;
|
|
1580
|
+
return Object.assign(Object.assign({}, q), {
|
|
1581
|
+
queryConfig
|
|
1582
|
+
});
|
|
1583
|
+
}
|
|
1584
|
+
return q;
|
|
1585
|
+
});
|
|
1586
|
+
}, [queries, get, set]);
|
|
1587
|
+
index_ts.useApi(processedQueries, {
|
|
1588
|
+
persistToAtoms: true,
|
|
1589
|
+
scopeId: pageId
|
|
1590
|
+
});
|
|
1591
|
+
const {
|
|
1592
|
+
invalidateQueries
|
|
1593
|
+
} = index_ts.useInvalidateQueries();
|
|
1594
|
+
const refreshQueries = react.useCallback(() => {
|
|
1595
|
+
processedQueries.filter(el => el.type === "query").forEach(({
|
|
1596
|
+
queryConfig: queryConfig_0
|
|
1597
|
+
}) => {
|
|
1598
|
+
if (queryConfig_0 === null || queryConfig_0 === void 0 ? void 0 : queryConfig_0.queryKey) invalidateQueries([queryConfig_0 === null || queryConfig_0 === void 0 ? void 0 : queryConfig_0.queryKey]);
|
|
1599
|
+
});
|
|
1600
|
+
}, [processedQueries]);
|
|
1601
|
+
const mappedViewSettings = useViewSettings({
|
|
1602
|
+
viewSettings,
|
|
1603
|
+
pageId
|
|
1604
|
+
});
|
|
1605
|
+
// Merge custom configuration with defaults
|
|
1606
|
+
const mergedConfig = react.useMemo(() => {
|
|
1607
|
+
return {
|
|
1661
1608
|
formData,
|
|
1662
1609
|
form,
|
|
1663
1610
|
mappedViewSettings,
|
|
1664
1611
|
meta,
|
|
1665
|
-
globalConfig
|
|
1612
|
+
globalConfig // Expose global config if needed
|
|
1666
1613
|
};
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
$[26] = t9;
|
|
1673
|
-
} else {
|
|
1674
|
-
t9 = $[26];
|
|
1675
|
-
}
|
|
1676
|
-
const mergedConfig = t9;
|
|
1677
|
-
return mergedConfig;
|
|
1614
|
+
}, [formData, form, mappedViewSettings, meta, globalConfig]);
|
|
1615
|
+
return {
|
|
1616
|
+
mergedConfig,
|
|
1617
|
+
refreshQueries
|
|
1618
|
+
};
|
|
1678
1619
|
};/**
|
|
1679
1620
|
* Hook for evaluating and managing dynamic metadata.
|
|
1680
1621
|
*
|
|
@@ -1921,7 +1862,10 @@ const MetadataManager = MetadataManagerImpl;const PageGenerator = _a => {
|
|
|
1921
1862
|
viewSettings,
|
|
1922
1863
|
ns
|
|
1923
1864
|
} = react.useMemo(() => selectedProps, [selectedProps]);
|
|
1924
|
-
const
|
|
1865
|
+
const {
|
|
1866
|
+
mergedConfig,
|
|
1867
|
+
refreshQueries
|
|
1868
|
+
} = usePageConfig({
|
|
1925
1869
|
queries,
|
|
1926
1870
|
form,
|
|
1927
1871
|
ns: ns !== null && ns !== void 0 ? ns : "",
|
|
@@ -1929,9 +1873,6 @@ const MetadataManager = MetadataManagerImpl;const PageGenerator = _a => {
|
|
|
1929
1873
|
pageId: id,
|
|
1930
1874
|
variables
|
|
1931
1875
|
});
|
|
1932
|
-
const {
|
|
1933
|
-
mappedViewSettings
|
|
1934
|
-
} = config;
|
|
1935
1876
|
const {
|
|
1936
1877
|
allContents,
|
|
1937
1878
|
body,
|
|
@@ -1941,8 +1882,11 @@ const MetadataManager = MetadataManagerImpl;const PageGenerator = _a => {
|
|
|
1941
1882
|
contents,
|
|
1942
1883
|
pageId: id,
|
|
1943
1884
|
ns,
|
|
1944
|
-
pageConfig:
|
|
1885
|
+
pageConfig: mergedConfig
|
|
1945
1886
|
});
|
|
1887
|
+
const {
|
|
1888
|
+
mappedViewSettings
|
|
1889
|
+
} = mergedConfig;
|
|
1946
1890
|
const LayoutComponent = react.useMemo(() => {
|
|
1947
1891
|
var _a_0;
|
|
1948
1892
|
return (_a_0 = mappedViewSettings.layoutComponent) !== null && _a_0 !== void 0 ? _a_0 : BodyContainer;
|
|
@@ -1960,13 +1904,6 @@ const MetadataManager = MetadataManagerImpl;const PageGenerator = _a => {
|
|
|
1960
1904
|
return (_a_3 = mappedViewSettings.pageContainerProps) !== null && _a_3 !== void 0 ? _a_3 : {};
|
|
1961
1905
|
}, [mappedViewSettings.pageContainerProps]);
|
|
1962
1906
|
const layoutBody = react.useMemo(() => body, [body]);
|
|
1963
|
-
const store = jotai.useStore();
|
|
1964
|
-
const refreshQueries = react.useCallback(() => {
|
|
1965
|
-
const val = store.get(index_ts.queriesAtom);
|
|
1966
|
-
Object.values(val).forEach(query => {
|
|
1967
|
-
query.refetch();
|
|
1968
|
-
});
|
|
1969
|
-
}, [store]);
|
|
1970
1907
|
return jsxRuntime.jsxs(PageContainerComponent, Object.assign({
|
|
1971
1908
|
id: id
|
|
1972
1909
|
}, pageContainerProps, {
|