From 3bbfa822d7dbbb6b91271e2c306fac6bf222bc43 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Tue, 19 Mar 2024 16:58:20 -0400 Subject: [PATCH] chore: update ui refs in plugins --- .../Forms/DynamicPriceSelector.tsx | 7 +++--- .../plugin-search/src/Search/ui/index.tsx | 3 ++- .../plugin-seo/src/fields/MetaDescription.tsx | 16 +++++++++----- packages/plugin-seo/src/fields/MetaImage.tsx | 19 ++++++++-------- packages/plugin-seo/src/fields/MetaTitle.tsx | 22 +++++++++---------- packages/plugin-seo/src/types.ts | 2 +- .../plugin-seo/src/ui/LengthIndicator.tsx | 2 +- packages/plugin-seo/src/ui/Overview.tsx | 3 ++- packages/plugin-seo/src/ui/Preview.tsx | 5 ++++- packages/richtext-lexical/src/field/index.tsx | 1 - packages/ui/src/elements/Upload/index.tsx | 2 +- packages/ui/src/fields/Array/index.tsx | 4 ++-- packages/ui/src/fields/Blocks/index.tsx | 4 ++-- packages/ui/src/fields/Checkbox/index.tsx | 2 +- packages/ui/src/fields/Checkbox/types.ts | 2 +- packages/ui/src/fields/Code/index.tsx | 4 ++-- packages/ui/src/fields/Collapsible/index.tsx | 4 ++-- .../ui/src/fields/ConfirmPassword/index.tsx | 2 +- packages/ui/src/fields/DateTime/index.tsx | 4 ++-- packages/ui/src/fields/Email/index.tsx | 4 ++-- packages/ui/src/fields/Group/index.tsx | 4 ++-- packages/ui/src/fields/JSON/index.tsx | 4 ++-- packages/ui/src/fields/Number/index.tsx | 4 ++-- packages/ui/src/fields/Password/index.tsx | 4 ++-- packages/ui/src/fields/Point/index.tsx | 4 ++-- packages/ui/src/fields/RadioGroup/index.tsx | 4 ++-- packages/ui/src/fields/Relationship/index.tsx | 2 +- packages/ui/src/fields/Relationship/types.ts | 2 +- packages/ui/src/fields/RichText/index.tsx | 2 +- packages/ui/src/fields/Row/index.tsx | 2 +- packages/ui/src/fields/Row/types.ts | 2 +- packages/ui/src/fields/Select/index.tsx | 4 ++-- packages/ui/src/fields/Tabs/index.tsx | 4 ++-- packages/ui/src/fields/Text/Input.tsx | 2 +- packages/ui/src/fields/Text/index.tsx | 2 +- packages/ui/src/fields/Text/types.ts | 2 +- packages/ui/src/fields/Textarea/Input.tsx | 2 +- packages/ui/src/fields/Textarea/index.tsx | 2 +- packages/ui/src/fields/Textarea/types.ts | 2 +- packages/ui/src/fields/Upload/Input.tsx | 2 +- packages/ui/src/fields/Upload/index.tsx | 2 ++ packages/ui/src/fields/Upload/types.ts | 2 +- packages/ui/src/fields/index.tsx | 2 ++ .../fields/{shared.ts => shared/index.tsx} | 0 packages/ui/src/forms/Form/index.tsx | 7 ++++++ packages/ui/src/forms/useField/index.tsx | 2 ++ .../buildComponentMap/mapFields.tsx | 2 +- 47 files changed, 103 insertions(+), 82 deletions(-) rename packages/ui/src/fields/{shared.ts => shared/index.tsx} (100%) diff --git a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx index df215e3b4f..05481b4421 100644 --- a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx +++ b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx @@ -1,10 +1,11 @@ 'use client' -import type { TextFieldProps } from '@payloadcms/ui/forms' +import type { TextFieldProps } from '@payloadcms/ui/fields/Text' import type { Data } from 'payload/types' -import { useLocale, useWatchForm } from '@payloadcms/ui' -import { Text } from '@payloadcms/ui/forms' +import { Text } from '@payloadcms/ui/fields/Text' +import { useWatchForm } from '@payloadcms/ui/forms/Form' +import { useLocale } from '@payloadcms/ui/providers/Locale' import React, { useEffect, useState } from 'react' type FieldWithID = { diff --git a/packages/plugin-search/src/Search/ui/index.tsx b/packages/plugin-search/src/Search/ui/index.tsx index d5de2c5ab1..e053e43db3 100644 --- a/packages/plugin-search/src/Search/ui/index.tsx +++ b/packages/plugin-search/src/Search/ui/index.tsx @@ -1,6 +1,7 @@ import type { FormState, UIField } from 'payload/types' -import { useConfig, useWatchForm } from '@payloadcms/ui' +import { useWatchForm } from '@payloadcms/ui/forms/Form' +import { useConfig } from '@payloadcms/ui/providers/Config' import React from 'react' // TODO: fix this import to work in dev mode within the monorepo in a way that is backwards compatible with 1.x // import CopyToClipboard from 'payload/dist/admin/components/elements/CopyToClipboard' diff --git a/packages/plugin-seo/src/fields/MetaDescription.tsx b/packages/plugin-seo/src/fields/MetaDescription.tsx index 5459945ec2..4642e4b427 100644 --- a/packages/plugin-seo/src/fields/MetaDescription.tsx +++ b/packages/plugin-seo/src/fields/MetaDescription.tsx @@ -1,11 +1,15 @@ 'use client' -import type { FieldType, FormFieldBase, Options } from '@payloadcms/ui' +import type { FormFieldBase } from '@payloadcms/ui/fields/shared' +import type { FieldType, Options } from '@payloadcms/ui/forms/useField' -import { useFieldPath } from '@payloadcms/ui' -import { useTranslation } from '@payloadcms/ui' -import { TextareaInput } from '@payloadcms/ui' -import { useAllFormFields, useDocumentInfo, useField, useLocale } from '@payloadcms/ui' +import { TextareaInput } from '@payloadcms/ui/fields/Textarea' +import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider' +import { useAllFormFields } from '@payloadcms/ui/forms/Form' +import { useField } from '@payloadcms/ui/forms/useField' +import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo' +import { useLocale } from '@payloadcms/ui/providers/Locale' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { useCallback } from 'react' import type { GenerateDescription } from '../types.js' @@ -23,7 +27,7 @@ type MetaDescriptionProps = FormFieldBase & { export const MetaDescription: React.FC = (props) => { const { Label, hasGenerateDescriptionFn, path, required } = props - const { path: pathFromContext } = useFieldPath() + const { path: pathFromContext } = useFieldProps() const { t } = useTranslation() diff --git a/packages/plugin-seo/src/fields/MetaImage.tsx b/packages/plugin-seo/src/fields/MetaImage.tsx index 016288d89b..d306d39ff1 100644 --- a/packages/plugin-seo/src/fields/MetaImage.tsx +++ b/packages/plugin-seo/src/fields/MetaImage.tsx @@ -1,16 +1,15 @@ 'use client' -import type { FieldType, Options, UploadInputProps } from '@payloadcms/ui' +import type { UploadInputProps } from '@payloadcms/ui/fields/Upload' +import type { FieldType, Options } from '@payloadcms/ui/forms/useField' -import { - UploadInput, - useAllFormFields, - useConfig, - useDocumentInfo, - useField, - useLocale, - useTranslation, -} from '@payloadcms/ui' +import { UploadInput } from '@payloadcms/ui/fields/Upload' +import { useAllFormFields } from '@payloadcms/ui/forms/Form' +import { useField } from '@payloadcms/ui/forms/useField' +import { useConfig } from '@payloadcms/ui/providers/Config' +import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo' +import { useLocale } from '@payloadcms/ui/providers/Locale' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { useCallback } from 'react' import type { GenerateImage } from '../types.js' diff --git a/packages/plugin-seo/src/fields/MetaTitle.tsx b/packages/plugin-seo/src/fields/MetaTitle.tsx index f643e3e381..3fbe3df90b 100644 --- a/packages/plugin-seo/src/fields/MetaTitle.tsx +++ b/packages/plugin-seo/src/fields/MetaTitle.tsx @@ -1,16 +1,16 @@ 'use client' -import type { FieldType, FormFieldBase, Options } from '@payloadcms/ui' +import type { FormFieldBase } from '@payloadcms/ui/fields/shared' +import type { Options } from '@payloadcms/ui/forms/useField' +import type { FieldType } from '@payloadcms/ui/forms/useField' -import { useFieldPath } from '@payloadcms/ui' -import { - TextInput, - useAllFormFields, - useDocumentInfo, - useField, - useLocale, - useTranslation, -} from '@payloadcms/ui' +import { TextInput } from '@payloadcms/ui/fields/Text' +import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider' +import { useAllFormFields } from '@payloadcms/ui/forms/Form' +import { useField } from '@payloadcms/ui/forms/useField' +import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo' +import { useLocale } from '@payloadcms/ui/providers/Locale' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { useCallback } from 'react' import type { GenerateTitle } from '../types.js' @@ -28,7 +28,7 @@ type MetaTitleProps = FormFieldBase & { export const MetaTitle: React.FC = (props) => { const { Label, hasGenerateTitleFn, path, required } = props || {} - const { path: pathFromContext } = useFieldPath() + const { path: pathFromContext } = useFieldProps() const { t } = useTranslation() diff --git a/packages/plugin-seo/src/types.ts b/packages/plugin-seo/src/types.ts index 0538de3694..f3012320d1 100644 --- a/packages/plugin-seo/src/types.ts +++ b/packages/plugin-seo/src/types.ts @@ -1,4 +1,4 @@ -import type { DocumentInfoContext } from '@payloadcms/ui/providers' +import type { DocumentInfoContext } from '@payloadcms/ui/providers/DocumentInfo' import type { Field, TextField, TextareaField, UploadField } from 'payload/types' export type GenerateTitle = ( diff --git a/packages/plugin-seo/src/ui/LengthIndicator.tsx b/packages/plugin-seo/src/ui/LengthIndicator.tsx index 45ce9a4055..d93dfe55a4 100644 --- a/packages/plugin-seo/src/ui/LengthIndicator.tsx +++ b/packages/plugin-seo/src/ui/LengthIndicator.tsx @@ -1,6 +1,6 @@ 'use client' -import { useTranslation } from '@payloadcms/ui' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { Fragment, useEffect, useState } from 'react' import { Pill } from './Pill.js' diff --git a/packages/plugin-seo/src/ui/Overview.tsx b/packages/plugin-seo/src/ui/Overview.tsx index d2df9aadd8..4a51120012 100644 --- a/packages/plugin-seo/src/ui/Overview.tsx +++ b/packages/plugin-seo/src/ui/Overview.tsx @@ -2,7 +2,8 @@ import type { FormField } from 'payload/types' -import { useAllFormFields, useForm, useTranslation } from '@payloadcms/ui' +import { useAllFormFields, useForm } from '@payloadcms/ui/forms/Form' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { useCallback, useEffect, useState } from 'react' import { defaults } from '../defaults.js' diff --git a/packages/plugin-seo/src/ui/Preview.tsx b/packages/plugin-seo/src/ui/Preview.tsx index 04bf22490b..5c8b3cd21d 100644 --- a/packages/plugin-seo/src/ui/Preview.tsx +++ b/packages/plugin-seo/src/ui/Preview.tsx @@ -2,7 +2,10 @@ import type { FormField, UIField } from 'payload/types' -import { useAllFormFields, useDocumentInfo, useLocale, useTranslation } from '@payloadcms/ui' +import { useAllFormFields } from '@payloadcms/ui/forms/Form' +import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo' +import { useLocale } from '@payloadcms/ui/providers/Locale' +import { useTranslation } from '@payloadcms/ui/providers/Translation' import React, { useEffect, useState } from 'react' import type { GenerateURL } from '../types.js' diff --git a/packages/richtext-lexical/src/field/index.tsx b/packages/richtext-lexical/src/field/index.tsx index 9a7c58b035..eec7e93733 100644 --- a/packages/richtext-lexical/src/field/index.tsx +++ b/packages/richtext-lexical/src/field/index.tsx @@ -2,7 +2,6 @@ import type { EditorConfig as LexicalEditorConfig } from 'lexical/LexicalEditor.js' import { type FormFieldBase, ShimmerEffect } from '@payloadcms/ui' -import { useFieldPath } from '@payloadcms/ui/forms' import { useClientFunctions } from '@payloadcms/ui/providers' import React, { Suspense, lazy, useEffect, useState } from 'react' diff --git a/packages/ui/src/elements/Upload/index.tsx b/packages/ui/src/elements/Upload/index.tsx index 8d6f782e20..3686acd0c9 100644 --- a/packages/ui/src/elements/Upload/index.tsx +++ b/packages/ui/src/elements/Upload/index.tsx @@ -4,7 +4,7 @@ import type { FormState, SanitizedCollectionConfig } from 'payload/types' import { isImage } from 'payload/utilities' import React, { useCallback, useEffect, useState } from 'react' -import { fieldBaseClass } from '../../fields/shared.js' +import { fieldBaseClass } from '../../fields/shared/index.js' import { Error } from '../../forms/Error/index.js' import { useFormSubmitted } from '../../forms/Form/context.js' import { useField } from '../../forms/useField/index.js' diff --git a/packages/ui/src/fields/Array/index.tsx b/packages/ui/src/fields/Array/index.tsx index 96dfc0a713..013fa8d3d9 100644 --- a/packages/ui/src/fields/Array/index.tsx +++ b/packages/ui/src/fields/Array/index.tsx @@ -7,7 +7,7 @@ import { getTranslation } from '@payloadcms/translations' import React, { useCallback } from 'react' import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { Banner } from '../../elements/Banner/index.js' import { Button } from '../../elements/Button/index.js' @@ -23,7 +23,7 @@ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js' import { useLocale } from '../../providers/Locale/index.js' import { useTranslation } from '../../providers/Translation/index.js' import { scrollToID } from '../../utilities/scrollToID.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { ArrayRow } from './ArrayRow.js' import './index.scss' diff --git a/packages/ui/src/fields/Blocks/index.tsx b/packages/ui/src/fields/Blocks/index.tsx index 4999a22bbe..331bdb9ede 100644 --- a/packages/ui/src/fields/Blocks/index.tsx +++ b/packages/ui/src/fields/Blocks/index.tsx @@ -18,7 +18,7 @@ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js' import { useLocale } from '../../providers/Locale/index.js' import { useTranslation } from '../../providers/Translation/index.js' import { scrollToID } from '../../utilities/scrollToID.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { BlockRow } from './BlockRow.js' import { BlocksDrawer } from './BlocksDrawer/index.js' import './index.scss' @@ -32,7 +32,7 @@ import type { FieldMap, ReducedBlock, } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type BlocksFieldProps = FormFieldBase & { blocks?: ReducedBlock[] diff --git a/packages/ui/src/fields/Checkbox/index.tsx b/packages/ui/src/fields/Checkbox/index.tsx index f0afb1e597..400637924e 100644 --- a/packages/ui/src/fields/Checkbox/index.tsx +++ b/packages/ui/src/fields/Checkbox/index.tsx @@ -10,7 +10,7 @@ import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { generateFieldID } from '../../utilities/generateFieldID.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { CheckboxInput } from './Input.js' import './index.scss' diff --git a/packages/ui/src/fields/Checkbox/types.ts b/packages/ui/src/fields/Checkbox/types.ts index 178c25eb79..6ee087d612 100644 --- a/packages/ui/src/fields/Checkbox/types.ts +++ b/packages/ui/src/fields/Checkbox/types.ts @@ -1,6 +1,6 @@ import type { FieldBase } from 'payload/types' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type CheckboxFieldProps = FormFieldBase & { checked?: boolean diff --git a/packages/ui/src/fields/Code/index.tsx b/packages/ui/src/fields/Code/index.tsx index 11543441a6..384ba3bfea 100644 --- a/packages/ui/src/fields/Code/index.tsx +++ b/packages/ui/src/fields/Code/index.tsx @@ -4,13 +4,13 @@ import type { CodeField as CodeFieldType, FieldBase } from 'payload/types' import React, { useCallback } from 'react' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { CodeEditor } from '../../elements/CodeEditor/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type CodeFieldProps = FormFieldBase & { diff --git a/packages/ui/src/fields/Collapsible/index.tsx b/packages/ui/src/fields/Collapsible/index.tsx index f9fbcfa0f5..ba88b92732 100644 --- a/packages/ui/src/fields/Collapsible/index.tsx +++ b/packages/ui/src/fields/Collapsible/index.tsx @@ -14,7 +14,7 @@ import { withCondition } from '../../forms/withCondition/index.js' import { useDocumentInfo } from '../../providers/DocumentInfo/index.js' import { usePreferences } from '../../providers/Preferences/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' const baseClass = 'collapsible-field' @@ -23,7 +23,7 @@ import type { FieldPermissions } from 'payload/auth' import type { FieldBase } from 'payload/types' import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type CollapsibleFieldProps = FormFieldBase & { fieldMap: FieldMap diff --git a/packages/ui/src/fields/ConfirmPassword/index.tsx b/packages/ui/src/fields/ConfirmPassword/index.tsx index 750c59abf0..f2a753a588 100644 --- a/packages/ui/src/fields/ConfirmPassword/index.tsx +++ b/packages/ui/src/fields/ConfirmPassword/index.tsx @@ -8,7 +8,7 @@ import { useFormFields } from '../../forms/Form/context.js' import { Label } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type ConfirmPasswordFieldProps = { diff --git a/packages/ui/src/fields/DateTime/index.tsx b/packages/ui/src/fields/DateTime/index.tsx index 8fb27c5eba..b20a97a232 100644 --- a/packages/ui/src/fields/DateTime/index.tsx +++ b/packages/ui/src/fields/DateTime/index.tsx @@ -9,14 +9,14 @@ import { DatePickerField } from '../../elements/DatePicker/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' const baseClass = 'date-time-field' import type { DateField, FieldBase } from 'payload/types' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { withCondition } from '../../forms/withCondition/index.js' diff --git a/packages/ui/src/fields/Email/index.tsx b/packages/ui/src/fields/Email/index.tsx index af26f74d84..a557551bf1 100644 --- a/packages/ui/src/fields/Email/index.tsx +++ b/packages/ui/src/fields/Email/index.tsx @@ -5,13 +5,13 @@ import type { EmailField as EmailFieldType, FieldBase } from 'payload/types' import { getTranslation } from '@payloadcms/translations' import React, { useCallback } from 'react' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type EmailFieldProps = FormFieldBase & { diff --git a/packages/ui/src/fields/Group/index.tsx b/packages/ui/src/fields/Group/index.tsx index 575dc17dbd..a3be9a066c 100644 --- a/packages/ui/src/fields/Group/index.tsx +++ b/packages/ui/src/fields/Group/index.tsx @@ -5,7 +5,7 @@ import type { FieldBase } from 'payload/types' import React, { Fragment } from 'react' import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { useCollapsible } from '../../elements/Collapsible/provider.js' import { ErrorPill } from '../../elements/ErrorPill/index.js' @@ -17,7 +17,7 @@ import { withCondition } from '../../forms/withCondition/index.js' import { useTranslation } from '../../providers/Translation/index.js' import { useRow } from '../Row/provider.js' import { useTabs } from '../Tabs/provider.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' import { GroupProvider, useGroup } from './provider.js' diff --git a/packages/ui/src/fields/JSON/index.tsx b/packages/ui/src/fields/JSON/index.tsx index 6a486def60..a1b7a67a0f 100644 --- a/packages/ui/src/fields/JSON/index.tsx +++ b/packages/ui/src/fields/JSON/index.tsx @@ -7,14 +7,14 @@ import { CodeEditor } from '../../elements/CodeEditor/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' const baseClass = 'json-field' import type { FieldBase, JSONField as JSONFieldType } from 'payload/types' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type JSONFieldProps = FormFieldBase & { editorOptions?: JSONFieldType['admin']['editorOptions'] diff --git a/packages/ui/src/fields/Number/index.tsx b/packages/ui/src/fields/Number/index.tsx index 88923408d5..c0cc8edf4a 100644 --- a/packages/ui/src/fields/Number/index.tsx +++ b/packages/ui/src/fields/Number/index.tsx @@ -7,14 +7,14 @@ import { isNumber } from 'payload/utilities' import React, { useCallback, useEffect, useState } from 'react' import type { Option } from '../../elements/ReactSelect/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { ReactSelect } from '../../elements/ReactSelect/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type NumberFieldProps = FormFieldBase & { diff --git a/packages/ui/src/fields/Password/index.tsx b/packages/ui/src/fields/Password/index.tsx index 1fcb04b8bd..2cc215acb8 100644 --- a/packages/ui/src/fields/Password/index.tsx +++ b/packages/ui/src/fields/Password/index.tsx @@ -3,12 +3,12 @@ import type { ClientValidate, Description, Validate } from 'payload/types' import React, { useCallback } from 'react' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type PasswordFieldProps = FormFieldBase & { diff --git a/packages/ui/src/fields/Point/index.tsx b/packages/ui/src/fields/Point/index.tsx index 20ddf40f0b..db46b485ee 100644 --- a/packages/ui/src/fields/Point/index.tsx +++ b/packages/ui/src/fields/Point/index.tsx @@ -9,12 +9,12 @@ import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' const baseClass = 'point' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type PointFieldProps = FormFieldBase & { label?: FieldBase['label'] diff --git a/packages/ui/src/fields/RadioGroup/index.tsx b/packages/ui/src/fields/RadioGroup/index.tsx index f2d85645dd..54d4f6f08f 100644 --- a/packages/ui/src/fields/RadioGroup/index.tsx +++ b/packages/ui/src/fields/RadioGroup/index.tsx @@ -10,13 +10,13 @@ import { useForm } from '../../forms/Form/context.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { Radio } from './Radio/index.js' import './index.scss' const baseClass = 'radio-group' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type RadioFieldProps = FormFieldBase & { label?: FieldBase['label'] diff --git a/packages/ui/src/fields/Relationship/index.tsx b/packages/ui/src/fields/Relationship/index.tsx index f6cadecb45..2d47e217d8 100644 --- a/packages/ui/src/fields/Relationship/index.tsx +++ b/packages/ui/src/fields/Relationship/index.tsx @@ -18,7 +18,7 @@ import { useAuth } from '../../providers/Auth/index.js' import { useConfig } from '../../providers/Config/index.js' import { useLocale } from '../../providers/Locale/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { AddNewRelation } from './AddNew/index.js' import { createRelationMap } from './createRelationMap.js' import { findOptionsByValue } from './findOptionsByValue.js' diff --git a/packages/ui/src/fields/Relationship/types.ts b/packages/ui/src/fields/Relationship/types.ts index 2aecb5b87c..5b9aae2fe4 100644 --- a/packages/ui/src/fields/Relationship/types.ts +++ b/packages/ui/src/fields/Relationship/types.ts @@ -2,7 +2,7 @@ import type { I18n } from '@payloadcms/translations' import type { RelationshipField, SanitizedCollectionConfig } from 'payload/types' import type { SanitizedConfig } from 'payload/types' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type RelationshipFieldProps = FormFieldBase & { allowCreate?: RelationshipField['admin']['allowCreate'] diff --git a/packages/ui/src/fields/RichText/index.tsx b/packages/ui/src/fields/RichText/index.tsx index 4dcfe4e8ee..a8cbed81cd 100644 --- a/packages/ui/src/fields/RichText/index.tsx +++ b/packages/ui/src/fields/RichText/index.tsx @@ -1,7 +1,7 @@ import type React from 'react' import type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type RichTextFieldProps = FormFieldBase & { richTextComponentMap?: Map diff --git a/packages/ui/src/fields/Row/index.tsx b/packages/ui/src/fields/Row/index.tsx index ecacf8f183..d9bb20f7fe 100644 --- a/packages/ui/src/fields/Row/index.tsx +++ b/packages/ui/src/fields/Row/index.tsx @@ -6,7 +6,7 @@ import type { RowFieldProps } from './types.js' import { useFieldProps } from '../../forms/FieldPropsProvider/index.js' import { RenderFields } from '../../forms/RenderFields/index.js' import { withCondition } from '../../forms/withCondition/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' import { RowProvider, useRow } from './provider.js' diff --git a/packages/ui/src/fields/Row/types.ts b/packages/ui/src/fields/Row/types.ts index afb06dd4cd..d7a8ce88cf 100644 --- a/packages/ui/src/fields/Row/types.ts +++ b/packages/ui/src/fields/Row/types.ts @@ -1,7 +1,7 @@ import type { FieldPermissions } from 'payload/auth' import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type RowFieldProps = FormFieldBase & { fieldMap: FieldMap diff --git a/packages/ui/src/fields/Select/index.tsx b/packages/ui/src/fields/Select/index.tsx index 0d957962e7..4349e97cf6 100644 --- a/packages/ui/src/fields/Select/index.tsx +++ b/packages/ui/src/fields/Select/index.tsx @@ -5,14 +5,14 @@ import type { ClientValidate, FieldBase, Option, OptionObject } from 'payload/ty import { getTranslation } from '@payloadcms/translations' import React, { useCallback, useState } from 'react' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { ReactSelect } from '../../elements/ReactSelect/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export type SelectFieldProps = FormFieldBase & { diff --git a/packages/ui/src/fields/Tabs/index.tsx b/packages/ui/src/fields/Tabs/index.tsx index 3f14cc42c6..64333a6666 100644 --- a/packages/ui/src/fields/Tabs/index.tsx +++ b/packages/ui/src/fields/Tabs/index.tsx @@ -7,7 +7,7 @@ import { toKebabCase } from 'payload/utilities' import React, { useCallback, useEffect, useState } from 'react' import type { FieldMap, MappedTab } from '../../providers/ComponentMap/buildComponentMap/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' import { useCollapsible } from '../../elements/Collapsible/provider.js' import { useFieldProps } from '../../forms/FieldPropsProvider/index.js' @@ -16,7 +16,7 @@ import { withCondition } from '../../forms/withCondition/index.js' import { useDocumentInfo } from '../../providers/DocumentInfo/index.js' import { usePreferences } from '../../providers/Preferences/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import { TabComponent } from './Tab/index.js' import './index.scss' import { TabsProvider } from './provider.js' diff --git a/packages/ui/src/fields/Text/Input.tsx b/packages/ui/src/fields/Text/Input.tsx index 86d996154b..f8cb020432 100644 --- a/packages/ui/src/fields/Text/Input.tsx +++ b/packages/ui/src/fields/Text/Input.tsx @@ -6,7 +6,7 @@ import type { TextInputProps } from './types.js' import { ReactSelect } from '../../elements/ReactSelect/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export const TextInput: React.FC = (props) => { diff --git a/packages/ui/src/fields/Text/index.tsx b/packages/ui/src/fields/Text/index.tsx index 2f163a546d..e03a90cd9c 100644 --- a/packages/ui/src/fields/Text/index.tsx +++ b/packages/ui/src/fields/Text/index.tsx @@ -12,7 +12,7 @@ import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useConfig } from '../../providers/Config/index.js' import { useLocale } from '../../providers/Locale/index.js' -import { isFieldRTL } from '../shared.js' +import { isFieldRTL } from '../shared/index.js' import { TextInput } from './Input.js' import './index.scss' diff --git a/packages/ui/src/fields/Text/types.ts b/packages/ui/src/fields/Text/types.ts index 6449b52169..208e7773d6 100644 --- a/packages/ui/src/fields/Text/types.ts +++ b/packages/ui/src/fields/Text/types.ts @@ -2,7 +2,7 @@ import type { FieldBase, TextField } from 'payload/types' import type { ChangeEvent } from 'react' import type { Option } from '../../elements/ReactSelect/types.js' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type TextFieldProps = FormFieldBase & { hasMany?: boolean diff --git a/packages/ui/src/fields/Textarea/Input.tsx b/packages/ui/src/fields/Textarea/Input.tsx index 201c71c398..a4a6d257b2 100644 --- a/packages/ui/src/fields/Textarea/Input.tsx +++ b/packages/ui/src/fields/Textarea/Input.tsx @@ -5,7 +5,7 @@ import React from 'react' import type { TextAreaInputProps } from './types.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' export const TextareaInput: React.FC = (props) => { diff --git a/packages/ui/src/fields/Textarea/index.tsx b/packages/ui/src/fields/Textarea/index.tsx index 0c8fed027d..6f97db97d4 100644 --- a/packages/ui/src/fields/Textarea/index.tsx +++ b/packages/ui/src/fields/Textarea/index.tsx @@ -12,7 +12,7 @@ import { useField } from '../../forms/useField/index.js' import { withCondition } from '../../forms/withCondition/index.js' import { useConfig } from '../../providers/Config/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { isFieldRTL } from '../shared.js' +import { isFieldRTL } from '../shared/index.js' import { TextareaInput } from './Input.js' import './index.scss' diff --git a/packages/ui/src/fields/Textarea/types.ts b/packages/ui/src/fields/Textarea/types.ts index f72b0a4c04..2a4ad1f95d 100644 --- a/packages/ui/src/fields/Textarea/types.ts +++ b/packages/ui/src/fields/Textarea/types.ts @@ -2,7 +2,7 @@ import type { FieldBase, TextareaField as TextareaFieldType } from 'payload/type import { type ChangeEvent } from 'react' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type TextareaFieldProps = FormFieldBase & { label?: FieldBase['label'] diff --git a/packages/ui/src/fields/Upload/Input.tsx b/packages/ui/src/fields/Upload/Input.tsx index 03b4f40736..8e55e4ef02 100644 --- a/packages/ui/src/fields/Upload/Input.tsx +++ b/packages/ui/src/fields/Upload/Input.tsx @@ -15,7 +15,7 @@ import FileDetails from '../../elements/FileDetails/index.js' import { useListDrawer } from '../../elements/ListDrawer/index.js' import { Label as LabelComp } from '../../forms/Label/index.js' import { useTranslation } from '../../providers/Translation/index.js' -import { fieldBaseClass } from '../shared.js' +import { fieldBaseClass } from '../shared/index.js' import './index.scss' const baseClass = 'upload' diff --git a/packages/ui/src/fields/Upload/index.tsx b/packages/ui/src/fields/Upload/index.tsx index 2644b1b6f4..4e5f1c3605 100644 --- a/packages/ui/src/fields/Upload/index.tsx +++ b/packages/ui/src/fields/Upload/index.tsx @@ -1,6 +1,7 @@ 'use client' import React, { useCallback } from 'react' +import type { UploadInputProps } from './Input.js' import type { UploadFieldProps } from './types.js' import { Label as LabelComp } from '../../forms/Label/index.js' @@ -10,6 +11,7 @@ import { UploadInput } from './Input.js' import './index.scss' export { UploadFieldProps, UploadInput } +export type { UploadInputProps } export const Upload: React.FC = (props) => { const { diff --git a/packages/ui/src/fields/Upload/types.ts b/packages/ui/src/fields/Upload/types.ts index 6cb7d930d4..961652f449 100644 --- a/packages/ui/src/fields/Upload/types.ts +++ b/packages/ui/src/fields/Upload/types.ts @@ -1,6 +1,6 @@ import type { UploadField } from 'payload/types' -import type { FormFieldBase } from '../shared.js' +import type { FormFieldBase } from '../shared/index.js' export type UploadFieldProps = FormFieldBase & { filterOptions?: UploadField['filterOptions'] diff --git a/packages/ui/src/fields/index.tsx b/packages/ui/src/fields/index.tsx index 506b80225b..11d1b5bd1a 100644 --- a/packages/ui/src/fields/index.tsx +++ b/packages/ui/src/fields/index.tsx @@ -25,6 +25,8 @@ import { Textarea as textarea } from './Textarea/index.js' import { UI as ui } from './UI/index.js' import { Upload as upload } from './Upload/index.js' +export * from './shared/index.js' + export const fieldComponents: FieldTypes = { array, blocks, diff --git a/packages/ui/src/fields/shared.ts b/packages/ui/src/fields/shared/index.tsx similarity index 100% rename from packages/ui/src/fields/shared.ts rename to packages/ui/src/fields/shared/index.tsx diff --git a/packages/ui/src/forms/Form/index.tsx b/packages/ui/src/forms/Form/index.tsx index 4a21488b95..ad311a5a26 100644 --- a/packages/ui/src/forms/Form/index.tsx +++ b/packages/ui/src/forms/Form/index.tsx @@ -586,6 +586,13 @@ export const Form: React.FC = (props) => { export * from './types.js' export { + FormContext, + FormFieldsContext, + FormWatchContext, + ModifiedContext, + ProcessingContext, + SubmittedContext, + useAllFormFields, useForm, useFormFields, useFormModified, diff --git a/packages/ui/src/forms/useField/index.tsx b/packages/ui/src/forms/useField/index.tsx index 3e61ad7d2e..14e92c5078 100644 --- a/packages/ui/src/forms/useField/index.tsx +++ b/packages/ui/src/forms/useField/index.tsx @@ -4,6 +4,8 @@ import { useCallback, useMemo, useRef } from 'react' import type { UPDATE } from '../Form/types.js' import type { FieldType, Options } from './types.js' +export type { FieldType, Options } + import useThrottledEffect from '../../hooks/useThrottledEffect.js' import { useAuth } from '../../providers/Auth/index.js' import { useConfig } from '../../providers/Config/index.js' diff --git a/packages/ui/src/providers/ComponentMap/buildComponentMap/mapFields.tsx b/packages/ui/src/providers/ComponentMap/buildComponentMap/mapFields.tsx index 87c4c2d393..26508a5e59 100644 --- a/packages/ui/src/providers/ComponentMap/buildComponentMap/mapFields.tsx +++ b/packages/ui/src/providers/ComponentMap/buildComponentMap/mapFields.tsx @@ -22,7 +22,7 @@ import type { TabsFieldProps } from '../../../fields/Tabs/index.js' import type { TextFieldProps } from '../../../fields/Text/types.js' import type { TextareaFieldProps } from '../../../fields/Textarea/types.js' import type { UploadFieldProps } from '../../../fields/Upload/types.js' -import type { FormFieldBase } from '../../../fields/shared.js' +import type { FormFieldBase } from '../../../fields/shared/index.js' import type { Props as FieldDescription } from '../../../forms/FieldDescription/types.js' import type { FieldComponentProps,