Skip to content

Commit

Permalink
refactor(sanity): remove NodePresence since it's a copy of `FormFie…
Browse files Browse the repository at this point in the history
…ldPresence`
  • Loading branch information
mariuslundgard committed Oct 4, 2022
1 parent a4092b2 commit cc10714
Show file tree
Hide file tree
Showing 15 changed files with 29 additions and 32 deletions.
1 change: 0 additions & 1 deletion packages/sanity/src/_exports/_unstable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ export type {
MissingKeysError,
MixedArray,
MoveItemEvent,
NodePresence,
NodeValidation,
NumberFieldProps,
NumberFormNode,
Expand Down
1 change: 0 additions & 1 deletion packages/sanity/src/_exports/desk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,6 @@ export type {
MissingKeysError,
MixedArray,
MoveItemEvent,
NodePresence,
NodeValidation,
NumberFieldProps,
NumberFormNode,
Expand Down
1 change: 0 additions & 1 deletion packages/sanity/src/_exports/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,6 @@ export type {
MissingKeysError,
MixedArray,
MoveItemEvent,
NodePresence,
NodeValidation,
NumberFieldProps,
NumberInputProps,
Expand Down
6 changes: 3 additions & 3 deletions packages/sanity/src/form/components/formField/FormField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import {Stack} from '@sanity/ui'
import React, {memo} from 'react'

import {NodePresence, NodeValidation} from '../../types/common'
import {FormFieldPresence} from '../../../presence'
import {NodeValidation} from '../../types/common'
import {FormFieldHeader} from './FormFieldHeader'

export interface FormFieldProps {
Expand All @@ -14,7 +14,7 @@ export interface FormFieldProps {
/**
* @alpha
*/
__unstable_presence?: NodePresence[]
__unstable_presence?: FormFieldPresence[]
children: React.ReactNode
description?: React.ReactNode
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import React, {memo} from 'react'
import {Box, Flex} from '@sanity/ui'
import {FieldPresence} from '../../../presence'
import {NodePresence, NodeValidation} from '../../types'
import {FieldPresence, FormFieldPresence} from '../../../presence'
import {NodeValidation} from '../../types'
import {FormFieldHeaderText} from './FormFieldHeaderText'

export interface FormFieldHeaderProps {
Expand All @@ -14,7 +14,7 @@ export interface FormFieldHeaderProps {
/**
* @alpha
*/
__unstable_presence?: NodePresence[]
__unstable_presence?: FormFieldPresence[]
description?: React.ReactNode
/**
* The unique ID used to target the actual input element
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import {Box, Flex, Grid, rem, Stack, Text, Theme, useForwardedRef} from '@sanity/ui'
import React, {forwardRef, useCallback, useMemo} from 'react'
import styled, {css} from 'styled-components'
import {FieldPresence} from '../../../presence'
import {NodePresence, NodeValidation} from '../../types'
import {FieldPresence, FormFieldPresence} from '../../../presence'
import {NodeValidation} from '../../types'
import {FormFieldValidationStatus} from './FormFieldValidationStatus'
import {FormFieldSetLegend} from './FormFieldSetLegend'
import {focusRingStyle} from './styles'
Expand All @@ -13,7 +13,7 @@ export interface FormFieldSetProps {
/**
* @alpha
*/
__unstable_presence?: NodePresence[]
__unstable_presence?: FormFieldPresence[]
children: React.ReactNode | (() => React.ReactNode)
collapsed?: boolean
collapsible?: boolean
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import {SchemaType} from '@sanity/types'
import React from 'react'
import {NodePresence, NodeValidation, RenderPreviewCallback} from '../../../../types'
import {FormFieldPresence} from '../../../../../presence'
import {NodeValidation, RenderPreviewCallback} from '../../../../types'

export interface ItemLayoutProps {
index: number
Expand All @@ -10,7 +11,7 @@ export interface ItemLayoutProps {
onFocus?: (event: React.FocusEvent) => void
onInsert: (event: {items: unknown[]; position: 'before' | 'after'}) => void
onRemove: () => void
presence: NodePresence[]
presence: FormFieldPresence[]
readOnly?: boolean
renderPreview: RenderPreviewCallback
type?: SchemaType // note: type might be undefined here if the value doesn't have a matching schema type definition
Expand Down
5 changes: 3 additions & 2 deletions packages/sanity/src/form/store/types/nodes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import {
SchemaType,
StringSchemaType,
} from '@sanity/types'
import {NodePresence, NodeValidation} from '../../types/common'
import {FormFieldPresence} from '../../../presence'
import {NodeValidation} from '../../types/common'
import {ArrayOfObjectsMember, ArrayOfPrimitivesMember, ObjectMember} from './members'
import {FormFieldGroup} from './fieldGroup'

Expand All @@ -19,7 +20,7 @@ export interface BaseFormNode<T = unknown, S extends SchemaType = SchemaType> {
path: Path

// state
presence: NodePresence[]
presence: FormFieldPresence[]
validation: NodeValidation[]
value: T | undefined
readOnly?: boolean
Expand Down
3 changes: 0 additions & 3 deletions packages/sanity/src/form/types/common.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
import {Path} from '@sanity/types'
import {FormFieldPresence} from '../../presence'

export type NodePresence = FormFieldPresence

export interface NodeValidation {
level: 'error' | 'warning' | 'info'
Expand Down
5 changes: 3 additions & 2 deletions packages/sanity/src/form/types/fieldProps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
SchemaType,
StringSchemaType,
} from '@sanity/types'
import {FormFieldPresence} from '../../presence'
import {
ArrayOfObjectsInputProps,
ArrayOfPrimitivesInputProps,
Expand All @@ -15,13 +16,13 @@ import {
ObjectInputProps,
StringInputProps,
} from './inputProps'
import {NodePresence, NodeValidation} from './common'
import {NodeValidation} from './common'

export interface BaseFieldProps {
schemaType: SchemaType
title: string | undefined
description: string | undefined
presence: NodePresence[]
presence: FormFieldPresence[]
validation: NodeValidation[]
level: number
inputId: string
Expand Down
5 changes: 3 additions & 2 deletions packages/sanity/src/form/types/itemProps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import {
StringSchemaType,
} from '@sanity/types'
import React from 'react'
import {NodePresence, NodeValidation} from './common'
import {FormFieldPresence} from '../../presence'
import {NodeValidation} from './common'

export interface BaseItemProps {
schemaType: SchemaType
Expand All @@ -33,7 +34,7 @@ export interface BaseItemProps {
children: React.ReactNode | null

validation: NodeValidation[]
presence: NodePresence[]
presence: FormFieldPresence[]
}

export interface ObjectItemProps extends BaseItemProps {
Expand Down
6 changes: 3 additions & 3 deletions packages/sanity/src/presence/FieldPresence.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import {sortBy, uniqBy} from 'lodash'
import {AvatarCounter, AvatarPosition} from '@sanity/ui'
import {useId} from '@reach/auto-id'
import {UserAvatar} from '../components/UserAvatar'
import {NodePresence} from '../form'
import {
AVATAR_DISTANCE,
AVATAR_SIZE,
Expand All @@ -15,9 +14,10 @@ import {FlexWrapper, InnerBox} from './FieldPresence.styled'
import {FormFieldPresenceContext} from './context'
import {PresenceTooltip} from './PresenceTooltip'
import {useReporter} from './overlay/tracker'
import {FormFieldPresence} from './types'

export interface FieldPresenceProps {
presence: NodePresence[]
presence: FormFieldPresence[]
maxAvatars: number
}

Expand Down Expand Up @@ -56,7 +56,7 @@ export function FieldPresenceWithoutOverlay(props: FieldPresenceProps) {

export interface FieldPresenceInnerProps {
maxAvatars?: number
presence: NodePresence[]
presence: FormFieldPresence[]
stack?: boolean
position?: AvatarPosition
animateArrowFrom?: AvatarPosition
Expand Down
4 changes: 2 additions & 2 deletions packages/sanity/src/presence/PresenceTooltip.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import React, {useMemo} from 'react'
import {Box, Flex, Stack, Text, Tooltip} from '@sanity/ui'
import {UserAvatar} from '../components/UserAvatar'
import {NodePresence} from '../form'
import {FormFieldPresence} from './types'

interface PresenceTooltipProps {
children?: React.ReactElement
items: NodePresence[]
items: FormFieldPresence[]
}

/**
Expand Down
3 changes: 1 addition & 2 deletions packages/sanity/src/presence/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import {Path, User} from '@sanity/types'
import {Session, Status} from '../datastores/presence/types'
import {NodePresence} from '../form'

export type Position = 'top' | 'bottom' | 'inside' | null
export type Size = 'xsmall' | 'small' | 'medium'
Expand All @@ -15,7 +14,7 @@ export type RegionWithIntersectionDetails = {

export type FieldPresenceData = {
element: HTMLElement
presence: NodePresence[]
presence: FormFieldPresence[]
maxAvatars: number
}

Expand Down
4 changes: 2 additions & 2 deletions packages/sanity/test/form/renderInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import React, {FocusEvent} from 'react'
import {
createPatchChannel,
FieldMember,
NodePresence,
NodeValidation,
PatchArg,
PatchEvent,
Expand All @@ -22,6 +21,7 @@ import {
import {FormState} from '../../src/form/store/useFormState'
import {EMPTY_ARRAY} from '../../src/form/utils/empty'
import {useSchema} from '../../src/hooks'
import {FormFieldPresence} from '../../src/presence'
import {createMockSanityClient} from '../mocks/mockSanityClient'
import {createTestProvider} from '../testUtils/TestProvider'
import {TestRenderProps} from './types'
Expand All @@ -41,7 +41,7 @@ export interface TestRenderInputProps<ElementProps> {
onPathBlur: (path: Path) => void
onPathFocus: (path: Path) => void
path: Path
presence: NodePresence[]
presence: FormFieldPresence[]
readOnly: boolean | undefined
schemaType: SchemaType
validation: NodeValidation[]
Expand Down

0 comments on commit cc10714

Please sign in to comment.