sanity-plugin-workflow 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.esm.js +4 -1925
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +4 -1924
- package/lib/index.js.map +1 -1
- package/package.json +4 -3
package/lib/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/types/index.ts","../src/constants/index.ts","../src/components/UserAssignment.tsx","../src/hooks/useWorkflowMetadata.tsx","../src/components/WorkflowContext.tsx","../src/actions/AssignWorkflow.tsx","../src/actions/BeginWorkflow.tsx","../src/actions/CompleteWorkflow.tsx","../src/helpers/arraysContainMatchingString.ts","../src/actions/UpdateWorkflow.tsx","../src/badges/AssigneesBadge.tsx","../src/badges/StateBadge.tsx","../src/components/WorkflowSignal.tsx","../src/components/DocumentCard/EditButton.tsx","../src/components/DocumentCard/Field.tsx","../src/components/UserAssignmentInput.tsx","../src/helpers/initialRank.ts","../src/schema/workflow/workflow.metadata.ts","../src/helpers/filterItemsAndSort.ts","../src/hooks/useWorkflowDocuments.tsx","../src/components/DocumentCard/AvatarGroup.tsx","../src/components/UserDisplay.tsx","../src/components/DocumentCard/CompleteButton.tsx","../src/components/DocumentCard/core/TimeAgo.tsx","../src/components/DocumentCard/core/DraftStatus.tsx","../src/components/DocumentCard/core/PublishedStatus.tsx","../src/components/DocumentCard/Validate.tsx","../src/components/DocumentCard/ValidationStatus.tsx","../src/components/DocumentCard/index.tsx","../src/components/DocumentList.tsx","../src/components/Filters.tsx","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/@emotion/stylis/dist/stylis.esm.js","../node_modules/@emotion/unitless/dist/unitless.esm.js","../node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/styled-components/dist/styled-components.esm.js","../src/components/StateTitle/Status.tsx","../src/components/StateTitle/index.tsx","../src/helpers/generateMultipleOrderRanks.ts","../src/components/FloatingCard.tsx","../src/components/Verify.tsx","../src/components/WorkflowTool.tsx","../src/tools/index.ts","../src/index.ts"],"sourcesContent":["import {SanityDocumentLike} from 'sanity'\n\nexport type State = {\n id: string\n transitions: string[]\n title: string\n roles?: string[]\n requireAssignment?: boolean\n requireValidation?: boolean\n // From document badges\n color?: 'primary' | 'success' | 'warning' | 'danger'\n}\n\nexport type StateCheck<Id, States> = {\n id: Id\n // Transitions is an array of State ids\n transitions?: States extends {id: infer Id2}[] ? Id2[] : never\n} & State\n\nexport type WorkflowConfig = {\n schemaTypes: string[]\n states?: State[]\n}\n\nexport function defineStates<\n Id extends string,\n States extends StateCheck<Id, States>[]\n>(states: States): States {\n return states\n}\n\nexport type User = {\n createdAt: string\n displayName: string\n email: string\n familyName: string\n givenName: string\n id: string\n imageUrl: string\n isCurrentUser: boolean\n middleName: string\n projectId: string\n provider: string\n sanityUserId: string\n updatedAt: string\n}\n\nexport type DragData = {\n documentId?: string\n x?: number\n y?: number\n state?: string\n}\n\nexport type Metadata = SanityDocumentLike & {\n _rev: string\n assignees: string[]\n documentId: string\n state: string\n orderRank: string\n}\n\nexport type KeyedMetadata = {[key: string]: Metadata}\n\nexport type SanityDocumentWithMetadata = {\n _metadata: Metadata\n _id: string\n _type: string\n _rev: string\n _updatedAt: string\n}\n","import {defineStates, WorkflowConfig} from '../types'\n\nexport const API_VERSION = `2023-01-01`\n\nexport const DEFAULT_CONFIG: Required<WorkflowConfig> = {\n schemaTypes: [],\n states: defineStates([\n {\n id: 'inReview',\n title: 'In review',\n color: 'primary',\n roles: ['editor', 'administrator'],\n transitions: ['changesRequested', 'approved'],\n },\n {\n id: 'changesRequested',\n title: 'Changes requested',\n color: 'warning',\n roles: ['editor', 'administrator'],\n transitions: ['approved'],\n },\n {\n id: 'approved',\n title: 'Approved',\n color: 'success',\n roles: ['administrator'],\n transitions: ['changesRequested'],\n requireAssignment: true,\n },\n ]),\n}\n","import React from 'react'\nimport {useToast} from '@sanity/ui'\nimport {UserSelectMenu} from 'sanity-plugin-utils'\nimport {useClient} from 'sanity'\n\nimport {User} from '../types'\nimport {API_VERSION} from '../constants'\n\ntype UserAssignmentProps = {\n userList: User[]\n assignees: string[]\n documentId: string\n}\n\nexport default function UserAssignment(props: UserAssignmentProps) {\n const {assignees, userList, documentId} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n const addAssignee = React.useCallback(\n (userId: string) => {\n const user = userList.find((u) => u.id === userId)\n\n if (!userId || !user) {\n return toast.push({\n status: 'error',\n title: 'Could not find User',\n })\n }\n\n return client\n .patch(`workflow-metadata.${documentId}`)\n .setIfMissing({assignees: []})\n .insert(`after`, `assignees[-1]`, [userId])\n .commit()\n .then(() => {\n return toast.push({\n title: `Added ${user.displayName} to assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to add assignee`,\n description: userId,\n status: 'error',\n })\n })\n },\n [documentId, client, toast, userList]\n )\n\n const removeAssignee = React.useCallback(\n (userId: string) => {\n const user = userList.find((u) => u.id === userId)\n\n if (!userId || !user) {\n return toast.push({\n status: 'error',\n title: 'Could not find User',\n })\n }\n\n return client\n .patch(`workflow-metadata.${documentId}`)\n .unset([`assignees[@ == \"${userId}\"]`])\n .commit()\n .then(() => {\n return toast.push({\n title: `Removed ${user.displayName} from assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to remove assignee`,\n description: documentId,\n status: 'error',\n })\n })\n },\n [client, toast, documentId, userList]\n )\n\n const clearAssignees = React.useCallback(() => {\n return client\n .patch(`workflow-metadata.${documentId}`)\n .unset([`assignees`])\n .commit()\n .then(() => {\n return toast.push({\n title: `Cleared assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to clear assignees`,\n description: documentId,\n status: 'error',\n })\n })\n }, [client, toast, documentId])\n\n return (\n <UserSelectMenu\n style={{maxHeight: 300}}\n value={assignees || []}\n userList={userList}\n onAdd={addAssignee}\n onClear={clearAssignees}\n onRemove={removeAssignee}\n />\n )\n}\n","import {useMemo} from 'react'\nimport {useListeningQuery} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {KeyedMetadata, Metadata} from '../types'\n\n/**\n * Takes the published ID of documents and return the metadata for those documents.\n *\n * @param ids Source document published IDs\n */\nexport function useWorkflowMetadata(ids: string[]): {\n data: KeyedMetadata\n loading: boolean\n error: boolean | unknown | ProgressEvent\n} {\n const {\n data: rawData,\n loading,\n error,\n } = useListeningQuery<Metadata[]>(\n `*[_type == \"workflow.metadata\" && documentId in $ids]{\n _id,\n _type,\n _rev,\n assignees,\n documentId,\n state,\n orderRank\n }`,\n {\n params: {ids},\n options: {apiVersion: API_VERSION},\n }\n )\n\n const keyedMetadata = useMemo(() => {\n if (!rawData || rawData.length === 0) return {}\n\n return rawData.reduce<KeyedMetadata>((acc, cur) => {\n return {\n ...acc,\n [cur.documentId]: cur,\n }\n }, {})\n }, [rawData])\n\n return {data: keyedMetadata, loading, error}\n}\n","import {useCallback, useContext, useState} from 'react'\nimport {createContext} from 'react'\nimport {LayoutProps} from 'sanity'\n\nimport {DEFAULT_CONFIG} from '../constants'\nimport {useWorkflowMetadata} from '../hooks/useWorkflowMetadata'\nimport {KeyedMetadata, WorkflowConfig} from '../types'\n\nexport type WorkflowContextValue = Required<WorkflowConfig> & {\n data: KeyedMetadata\n loading: boolean\n error: boolean | unknown | ProgressEvent\n ids: string[]\n addId: (id: string) => void\n removeId: (id: string) => void\n}\n\nconst WorkflowContext = createContext<WorkflowContextValue>({\n data: {},\n loading: false,\n error: false,\n ids: [],\n addId: () => null,\n removeId: () => null,\n ...DEFAULT_CONFIG,\n})\n\nexport function useWorkflowContext(id?: string) {\n const current = useContext(WorkflowContext)\n\n return {...current, metadata: id ? current.data[id] : null}\n}\n\ntype WorkflowProviderProps = LayoutProps & {workflow: Required<WorkflowConfig>}\n\n/**\n * This Provider wraps the Studio and provides the workflow context to document actions and badges.\n * This is so individual actions and badges do not need to all register their own listeners.\n * Instead, each document \"signals\" its ID up to the provider, which then registers a single listener\n * This is performed inside of a component loaded at the root level of the Document Form\n */\nexport function WorkflowProvider(props: WorkflowProviderProps) {\n const [ids, setIds] = useState<string[]>([])\n const addId = useCallback(\n (id: string) =>\n setIds((current) => (current.includes(id) ? current : [...current, id])),\n []\n )\n const removeId = useCallback(\n (id: string) => setIds((current) => current.filter((i) => i !== id)),\n []\n )\n const {data, loading, error} = useWorkflowMetadata(ids)\n\n return (\n <WorkflowContext.Provider\n value={{\n data,\n loading,\n error,\n ids,\n addId,\n removeId,\n states: props.workflow.states,\n schemaTypes: props.workflow.schemaTypes,\n }}\n >\n {props.renderDefault(props)}\n </WorkflowContext.Provider>\n )\n}\n","import {UsersIcon} from '@sanity/icons'\nimport {useState} from 'react'\nimport {DocumentActionProps} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport UserAssignment from '../components/UserAssignment'\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function AssignWorkflow(props: DocumentActionProps) {\n const {id} = props\n const {metadata, loading, error} = useWorkflowContext(id)\n const [isDialogOpen, setDialogOpen] = useState(false)\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n if (error) {\n console.error(error)\n }\n\n if (!metadata) {\n return null\n }\n\n return {\n icon: UsersIcon,\n type: 'dialog',\n disabled: !metadata || loading || error,\n label: `Assign`,\n title: metadata ? null : `Document is not in Workflow`,\n dialog: isDialogOpen && {\n type: 'popover',\n onClose: () => {\n setDialogOpen(false)\n },\n content: (\n <UserAssignment\n userList={userList}\n assignees={metadata?.assignees?.length > 0 ? metadata.assignees : []}\n documentId={id}\n />\n ),\n },\n onHandle: () => {\n setDialogOpen(true)\n },\n }\n}\n","import {SplitVerticalIcon} from '@sanity/icons'\nimport {useToast} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport {useCallback, useState} from 'react'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function BeginWorkflow(props: DocumentActionProps) {\n const {id, draft} = props\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n const [beginning, setBeginning] = useState(false)\n const [complete, setComplete] = useState(false)\n\n if (error) {\n console.error(error)\n }\n\n const handle = useCallback(async () => {\n setBeginning(true)\n const lowestOrderFirstState = await client.fetch(\n `*[_type == \"workflow.metadata\" && state == $state]|order(orderRank)[0].orderRank`,\n {state: states[0].id}\n )\n client\n .createIfNotExists({\n _id: `workflow-metadata.${id}`,\n _type: `workflow.metadata`,\n documentId: id,\n state: states[0].id,\n orderRank: lowestOrderFirstState\n ? LexoRank.parse(lowestOrderFirstState).genNext().toString()\n : LexoRank.min().toString(),\n })\n .then(() => {\n toast.push({\n status: 'success',\n title: 'Workflow started',\n description: `Document is now \"${states[0].title}\"`,\n })\n setBeginning(false)\n // Optimistically remove action\n setComplete(true)\n })\n }, [id, states, client, toast])\n\n if (!draft || complete || metadata) {\n return null\n }\n\n return {\n icon: SplitVerticalIcon,\n type: 'dialog',\n disabled: metadata || loading || error || beginning || complete,\n label: beginning ? `Beginning...` : `Begin Workflow`,\n onHandle: () => {\n handle()\n },\n }\n}\n","import {CheckmarkIcon} from '@sanity/icons'\nimport {useCallback} from 'react'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function CompleteWorkflow(props: DocumentActionProps) {\n const {id} = props\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const client = useClient({apiVersion: API_VERSION})\n\n if (error) {\n console.error(error)\n }\n\n const handle = useCallback(() => {\n client.delete(`workflow-metadata.${id}`)\n }, [id, client])\n\n if (!metadata) {\n return null\n }\n\n const state = states.find((s) => s.id === metadata.state)\n const isLastState = state?.id === states[states.length - 1].id\n\n return {\n icon: CheckmarkIcon,\n type: 'dialog',\n disabled: loading || error || !isLastState,\n label: `Complete Workflow`,\n title: isLastState\n ? `Removes the document from the Workflow process`\n : `Cannot remove from workflow until in the last state`,\n onHandle: () => {\n handle()\n },\n color: 'positive',\n }\n}\n","export function arraysContainMatchingString(\n one: string[],\n two: string[]\n): boolean {\n return one.some((item) => two.includes(item))\n}\n","import {ArrowLeftIcon, ArrowRightIcon} from '@sanity/icons'\nimport {useToast} from '@sanity/ui'\nimport {useCurrentUser, useValidationStatus} from 'sanity'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\nimport {arraysContainMatchingString} from '../helpers/arraysContainMatchingString'\nimport {State} from '../types'\n\n// eslint-disable-next-line complexity\nexport function UpdateWorkflow(props: DocumentActionProps, actionState: State) {\n const {id, type} = props\n\n const user = useCurrentUser()\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n const currentUser = useCurrentUser()\n\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const currentState = states.find((s) => s.id === metadata?.state)\n const {assignees = []} = metadata ?? {}\n\n // TODO: Shouldn't the document action props contain this?\n const {validation, isValidating} = useValidationStatus(id, type)\n const hasValidationErrors =\n currentState?.requireValidation &&\n !isValidating &&\n validation?.length > 0 &&\n validation.find((v) => v.level === 'error')\n\n if (error) {\n console.error(error)\n }\n\n const onHandle = (documentId: string, newState: State) => {\n client\n .patch(`workflow-metadata.${documentId}`)\n .set({state: newState.id})\n .commit()\n .then(() => {\n props.onComplete()\n toast.push({\n status: 'success',\n title: `Document state now \"${newState.title}\"`,\n })\n })\n .catch((err) => {\n props.onComplete()\n console.error(err)\n toast.push({\n status: 'error',\n title: `Document state update failed`,\n })\n })\n }\n\n // Remove button if:\n // Document is not in Workflow OR\n // The current State is the same as this actions State\n if (!metadata || (currentState && currentState.id === actionState.id)) {\n return null\n }\n\n const currentStateIndex = states.findIndex((s) => s.id === currentState?.id)\n const actionStateIndex = states.findIndex((s) => s.id === actionState.id)\n const direction = actionStateIndex > currentStateIndex ? 'promote' : 'demote'\n const DirectionIcon = direction === 'promote' ? ArrowRightIcon : ArrowLeftIcon\n const directionLabel = direction === 'promote' ? 'Promote' : 'Demote'\n\n const userRoleCanUpdateState =\n user?.roles?.length && actionState?.roles?.length\n ? // If the Action state is limited to specific roles\n // check that the current user has one of those roles\n arraysContainMatchingString(\n user.roles.map((r) => r.name),\n actionState.roles\n )\n : // No roles specified on the next state, so anyone can update\n actionState?.roles?.length !== 0\n\n const actionStateIsAValidTransition =\n currentState?.id && currentState?.transitions?.length\n ? // If the Current State limits transitions to specific States\n // Check that the Action State is in Current State's transitions array\n currentState.transitions.includes(actionState.id)\n : // Otherwise this isn't a problem\n true\n\n const userAssignmentCanUpdateState = actionState.requireAssignment\n ? // If the Action State requires assigned users\n // Check the current user ID is in the assignees array\n currentUser && assignees?.length && assignees.includes(currentUser.id)\n : // Otherwise this isn't a problem\n true\n\n let title = `${directionLabel} State to \"${actionState.title}\"`\n\n if (!userRoleCanUpdateState) {\n title = `Your User role cannot ${directionLabel} State to \"${actionState.title}\"`\n } else if (!actionStateIsAValidTransition) {\n title = `You cannot ${directionLabel} State to \"${actionState.title}\" from \"${currentState?.title}\"`\n } else if (!userAssignmentCanUpdateState) {\n title = `You must be assigned to the document to ${directionLabel} State to \"${actionState.title}\"`\n } else if (currentState?.requireValidation && isValidating) {\n title = `Document is validating, cannot ${directionLabel} State to \"${actionState.title}\"`\n } else if (hasValidationErrors) {\n title = `Document has validation errors, cannot ${directionLabel} State to \"${actionState.title}\"`\n }\n\n return {\n icon: DirectionIcon,\n disabled:\n loading ||\n error ||\n (currentState?.requireValidation && isValidating) ||\n hasValidationErrors ||\n !currentState ||\n !userRoleCanUpdateState ||\n !actionStateIsAValidTransition ||\n !userAssignmentCanUpdateState,\n title,\n label: actionState.title,\n onHandle: () => onHandle(id, actionState),\n }\n}\n","import {CurrentUser, DocumentBadgeDescription} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function AssigneesBadge(\n documentId: string,\n currentUser: CurrentUser | null\n): DocumentBadgeDescription | null {\n const {metadata, loading, error} = useWorkflowContext(documentId)\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n if (loading || error || !metadata) {\n if (error) {\n console.error(error)\n }\n\n return null\n }\n\n if (!metadata?.assignees?.length) {\n return {\n label: 'Unassigned',\n }\n }\n\n const {assignees} = metadata ?? []\n const hasMe = currentUser\n ? assignees.some((assignee) => assignee === currentUser.id)\n : false\n const assigneesCount = hasMe ? assignees.length - 1 : assignees.length\n const assigneeUsers = userList.filter((user) => assignees.includes(user.id))\n const title = assigneeUsers.map((user) => user.displayName).join(', ')\n\n let label\n\n if (hasMe && assigneesCount === 0) {\n label = 'Assigned to Me'\n } else if (hasMe && assigneesCount > 0) {\n label = `Me and ${assigneesCount} ${\n assigneesCount === 1 ? 'other' : 'others'\n }`\n } else {\n label = `${assigneesCount} assigned`\n }\n\n return {\n label,\n title,\n color: 'primary',\n }\n}\n","import {DocumentBadgeDescription} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\n\nexport function StateBadge(\n documentId: string\n): DocumentBadgeDescription | null {\n const {metadata, loading, error, states} = useWorkflowContext(documentId)\n const state = states.find((s) => s.id === metadata?.state)\n\n if (loading || error) {\n if (error) {\n console.error(error)\n }\n\n return null\n }\n\n if (!state) {\n return null\n }\n\n return {\n label: state.title,\n // title: state.title,\n color: state?.color,\n }\n}\n","import {useEffect} from 'react'\nimport {ObjectInputProps} from 'sanity'\n\nimport {useWorkflowContext} from './WorkflowContext'\n\n// This component is loaded at the root level of the Document Form\n// It is used to signal the document ID to the WorkflowProvider\nexport default function WorkflowSignal(props: ObjectInputProps) {\n const documentId = props?.value?._id\n ? props.value._id.replace(`drafts.`, ``)\n : null\n\n const {addId, removeId} = useWorkflowContext()\n\n useEffect(() => {\n // On mount, add to the query of listening documents\n if (documentId) {\n addId(documentId)\n }\n\n // On unmount, remove from the query of listening documents\n return () => {\n if (documentId) {\n removeId(documentId)\n }\n }\n }, [documentId, addId, removeId])\n\n return props.renderDefault(props)\n}\n","import {Button} from '@sanity/ui'\nimport {EditIcon} from '@sanity/icons'\nimport {useRouter} from 'sanity/router'\n\ntype EditButtonProps = {\n id: string\n type: string\n disabled?: boolean\n}\n\nexport default function EditButton(props: EditButtonProps) {\n const {id, type, disabled = false} = props\n const {navigateIntent} = useRouter()\n\n return (\n <Button\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => navigateIntent('edit', {id, type})}\n mode=\"ghost\"\n fontSize={1}\n padding={2}\n tabIndex={-1}\n icon={EditIcon}\n text=\"Edit\"\n disabled={disabled}\n />\n )\n}\n","import {Flex, Card, Spinner} from '@sanity/ui'\nimport {Preview, SanityDocument, StringInputProps, useSchema} from 'sanity'\nimport {useListeningQuery, Feedback} from 'sanity-plugin-utils'\n\nimport EditButton from './EditButton'\n\n// TODO: Update this to use the same component as the Tool\nexport default function Field(props: StringInputProps) {\n const schema = useSchema()\n const {data, loading, error} = useListeningQuery<SanityDocument>(\n `*[_id in [$id, $draftId]]|order(_updatedAt)[0]`,\n {\n params: {\n id: String(props.value),\n draftId: `drafts.${String(props.value)}`,\n },\n }\n )\n\n if (loading) {\n return <Spinner />\n }\n\n const schemaType = schema.get(data?._type ?? ``)\n\n if (error || !data?._type || !schemaType) {\n return <Feedback tone=\"critical\" title=\"Error with query\" />\n }\n\n return (\n <Card border padding={2}>\n <Flex align=\"center\" justify=\"space-between\" gap={2}>\n <Preview layout=\"default\" value={data} schemaType={schemaType} />\n <EditButton id={data._id} type={data._type} />\n </Flex>\n </Card>\n )\n}\n","import {Card} from '@sanity/ui'\nimport {FunctionComponent} from 'react'\nimport {ArraySchemaType, ArrayOfPrimitivesInputProps, useFormValue} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport UserAssignment from './UserAssignment'\n\nconst UserAssignmentInput: FunctionComponent<\n ArrayOfPrimitivesInputProps<string | number | boolean, ArraySchemaType>\n> = (props) => {\n const documentId = useFormValue([`documentId`])\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n const stringValue =\n Array.isArray(props?.value) && props?.value?.length\n ? props.value.map((item) => String(item))\n : []\n\n return (\n <Card border padding={1}>\n <UserAssignment userList={userList} assignees={stringValue} documentId={String(documentId)} />\n </Card>\n )\n}\n\nexport default UserAssignmentInput\n","import {LexoRank} from 'lexorank'\n\n// Use in initial value field by passing in the rank value of the last document\n// If not value passed, generate a sensibly low rank\nexport default function initialRank(lastRankValue = ``): string {\n const lastRank =\n lastRankValue && typeof lastRankValue === 'string'\n ? LexoRank.parse(lastRankValue)\n : LexoRank.min()\n const nextRank = lastRank.genNext().genNext()\n\n return (nextRank as any).value\n}\n","import {defineField, defineType} from 'sanity'\n\nimport Field from '../../components/DocumentCard/Field'\nimport UserAssignmentInput from '../../components/UserAssignmentInput'\nimport {API_VERSION} from '../../constants'\nimport initialRank from '../../helpers/initialRank'\nimport {State} from '../../types'\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport default (states: State[]) =>\n defineType({\n type: 'document',\n name: 'workflow.metadata',\n title: 'Workflow metadata',\n liveEdit: true,\n fields: [\n defineField({\n name: 'state',\n description: `The current \"State\" of the document. Field is read only as changing it would not fire the state's \"operation\" setting. These are fired in the Document Actions and in the custom Tool.`,\n readOnly: true,\n type: 'string',\n options: {\n list: states.length\n ? states.map((state) => ({\n value: state.id,\n title: state.title,\n }))\n : [],\n layout: 'radio',\n },\n }),\n defineField({\n name: 'documentId',\n title: 'Document ID',\n description:\n 'Used to help identify the target document that this metadata is tracking state for.',\n type: 'string',\n readOnly: true,\n components: {\n input: Field,\n },\n }),\n defineField({\n name: 'orderRank',\n description: 'Used to maintain order position of cards in the Tool.',\n type: 'string',\n readOnly: true,\n initialValue: async (p, {getClient}) => {\n const lastDocOrderRank = await getClient({\n apiVersion: API_VERSION,\n }).fetch(`*[_type == $type]|order(@[$order] desc)[0][$order]`, {\n order: `orderRank`,\n type: `workflow.metadata`,\n })\n\n return initialRank(lastDocOrderRank)\n },\n }),\n defineField({\n type: 'array',\n name: 'assignees',\n of: [{type: 'string'}],\n components: {\n input: UserAssignmentInput,\n },\n }),\n ],\n })\n","import {SanityDocumentWithMetadata} from '../types'\n\nexport function filterItemsAndSort(\n items: SanityDocumentWithMetadata[],\n stateId: string,\n selectedUsers: string[] = [],\n selectedSchemaTypes: null | string[] = []\n): SanityDocumentWithMetadata[] {\n return (\n items\n // Only items that have existing documents\n .filter((item) => item?._id)\n // Only items of this state\n .filter((item) => item?._metadata?.state === stateId)\n // Only items with selected users, if the document has any assigned users\n .filter((item) =>\n selectedUsers.length && item._metadata?.assignees?.length\n ? item._metadata?.assignees.some((assignee) =>\n selectedUsers.includes(assignee)\n )\n : !selectedUsers.length\n )\n // Only items of selected schema types, if any are selected\n .filter((item) => {\n if (!selectedSchemaTypes) {\n return true\n }\n\n return selectedSchemaTypes.length\n ? selectedSchemaTypes.includes(item._type)\n : false\n })\n // Sort by metadata orderRank, a string field\n .sort((a, b) => {\n const aOrderRank = a._metadata?.orderRank || '0'\n const bOrderRank = b._metadata?.orderRank || '0'\n\n return aOrderRank.localeCompare(bOrderRank)\n })\n )\n}\n","import {DraggableLocation} from '@hello-pangea/dnd'\nimport {useToast} from '@sanity/ui'\nimport groq from 'groq'\nimport React from 'react'\nimport {useClient} from 'sanity'\nimport {useListeningQuery} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {SanityDocumentWithMetadata, State} from '../types'\n\nconst QUERY = groq`*[_type == \"workflow.metadata\"]|order(orderRank){\n \"_metadata\": {\n _rev,\n assignees,\n documentId,\n state,\n orderRank,\n \"draftDocumentId\": \"drafts.\" + documentId,\n }\n}{\n ...,\n ...(\n *[_id == ^._metadata.documentId || _id == ^._metadata.draftDocumentId]|order(_updatedAt)[0]{ \n _id, \n _type, \n _rev, \n _updatedAt \n }\n )\n}`\n\ntype WorkflowDocuments = {\n workflowData: {\n data: SanityDocumentWithMetadata[]\n loading: boolean\n error: boolean | unknown | ProgressEvent\n }\n operations: {\n move: (\n draggedId: string,\n destination: DraggableLocation,\n states: State[],\n newOrder: string\n ) => void\n }\n}\n\nexport function useWorkflowDocuments(schemaTypes: string[]): WorkflowDocuments {\n const toast = useToast()\n const client = useClient({apiVersion: API_VERSION})\n\n // Get and listen to changes on documents + workflow metadata documents\n const {data, loading, error} = useListeningQuery<\n SanityDocumentWithMetadata[]\n >(QUERY, {\n params: {schemaTypes},\n initialValue: [],\n })\n\n const [localDocuments, setLocalDocuments] = React.useState<\n SanityDocumentWithMetadata[]\n >([])\n\n React.useEffect(() => {\n if (data) {\n setLocalDocuments(data)\n }\n }, [data])\n\n const move = React.useCallback(\n async (\n draggedId: string,\n destination: DraggableLocation,\n states: State[],\n newOrder: string\n ) => {\n // Optimistic update\n const currentLocalData = localDocuments\n const newLocalDocuments = localDocuments.map((item) => {\n if (item?._metadata?.documentId === draggedId) {\n return {\n ...item,\n _metadata: {\n ...item._metadata,\n state: destination.droppableId,\n orderRank: newOrder,\n // This value won't be written to the document\n // It's done so that un/publish operations don't happen twice\n // Because a moved document's card will update once optimistically\n // and then again when the document is updated\n optimistic: true,\n },\n }\n }\n\n return item\n })\n\n setLocalDocuments(newLocalDocuments)\n\n // Now client-side update\n const newStateId = destination.droppableId\n const newState = states.find((s) => s.id === newStateId)\n const document = localDocuments.find(\n (d) => d?._metadata?.documentId === draggedId\n )\n\n if (!newState?.id) {\n toast.push({\n title: `Could not find target state ${newStateId}`,\n status: 'error',\n })\n return null\n }\n\n if (!document) {\n toast.push({\n title: `Could not find dragged document in data`,\n status: 'error',\n })\n return null\n }\n\n // We need to know if it's a draft or not\n const {_id, _type} = document\n\n // Metadata + useDocumentOperation always uses Published id\n const {documentId, _rev} = document._metadata || {}\n\n await client\n .patch(`workflow-metadata.${documentId}`)\n .ifRevisionId(_rev)\n .set({state: newStateId, orderRank: newOrder})\n .commit()\n .then((res) => {\n toast.push({\n title:\n newState.id === document._metadata.state\n ? `Reordered in \"${newState?.title ?? newStateId}\"`\n : `Moved to \"${newState?.title ?? newStateId}\"`,\n status: 'success',\n })\n return res\n })\n .catch((err) => {\n // Revert optimistic update\n setLocalDocuments(currentLocalData)\n\n toast.push({\n title: `Failed to move to \"${newState?.title ?? newStateId}\"`,\n description: err.message,\n status: 'error',\n })\n return null\n })\n\n // Send back to the workflow board so a document update can happen\n return {_id, _type, documentId, state: newState as State}\n },\n [client, toast, localDocuments]\n )\n\n return {\n workflowData: {data: localDocuments, loading, error},\n operations: {move},\n }\n}\n","import React from 'react'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {useCurrentUser, UserAvatar} from 'sanity'\n\nimport {User} from '../../types'\n\ntype AvatarGroupProps = {\n users: User[]\n max?: number\n}\n\nexport default function AvatarGroup(props: AvatarGroupProps) {\n const currentUser = useCurrentUser()\n const {users, max = 4} = props\n\n const len = users?.length\n const {me, visibleUsers} = React.useMemo(() => {\n return {\n me: currentUser?.id ? users.find((u) => u.id === currentUser.id) : undefined,\n visibleUsers: users.filter((u) => u.id !== currentUser?.id).slice(0, max - 1),\n }\n }, [users, max, currentUser])\n\n if (!users?.length) {\n return null\n }\n\n return (\n <Flex align=\"center\" gap={1}>\n {me ? <UserAvatar user={me} /> : null}\n {visibleUsers.map((user) => (\n <Box key={user.id} style={{marginRight: -8}}>\n <UserAvatar user={user} />\n </Box>\n ))}\n {len > max && (\n <Box paddingLeft={2}>\n <Text size={1}>+{len - max}</Text>\n </Box>\n )}\n </Flex>\n )\n}\n","import React from 'react'\nimport {Button, Grid, Popover, useClickOutside} from '@sanity/ui'\nimport {AddIcon} from '@sanity/icons'\n\nimport AvatarGroup from './DocumentCard/AvatarGroup'\nimport {User} from '../types'\nimport UserAssignment from './UserAssignment'\n\ntype UserDisplayProps = {\n userList: User[]\n assignees: string[]\n documentId: string\n disabled?: boolean\n}\n\nexport default function UserDisplay(props: UserDisplayProps) {\n const {assignees, userList, documentId, disabled = false} = props\n\n const [button] = React.useState(null)\n const [popover, setPopover] = React.useState(null)\n const [isOpen, setIsOpen] = React.useState(false)\n\n const close = React.useCallback(() => setIsOpen(false), [])\n const open = React.useCallback(() => setIsOpen(true), [])\n\n useClickOutside(close, [button, popover])\n\n return (\n <Popover\n // @ts-ignore\n ref={setPopover}\n content={<UserAssignment userList={userList} assignees={assignees} documentId={documentId} />}\n portal\n open={isOpen}\n >\n {!assignees || assignees.length === 0 ? (\n <Button\n onClick={open}\n fontSize={1}\n padding={2}\n tabIndex={-1}\n icon={AddIcon}\n text=\"Assign\"\n tone=\"positive\"\n mode=\"ghost\"\n disabled={disabled}\n />\n ) : (\n <Grid>\n <Button onClick={open} padding={0} mode=\"bleed\" disabled={disabled}>\n <AvatarGroup users={userList.filter((u) => assignees.includes(u.id))} />\n </Button>\n </Grid>\n )}\n </Popover>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons'\nimport {Box, Button, Text, Tooltip, useToast} from '@sanity/ui'\nimport React from 'react'\nimport {useClient} from 'sanity'\n\nimport {API_VERSION} from '../../constants'\n\ntype CompleteButtonProps = {\n documentId: string\n disabled: boolean\n}\n\nexport default function CompleteButton(props: CompleteButtonProps) {\n const {documentId, disabled = false} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n const handleComplete: React.MouseEventHandler<HTMLButtonElement> =\n React.useCallback(\n (event) => {\n const id = event.currentTarget.value\n\n if (!id) {\n return\n }\n\n client\n .delete(`workflow-metadata.${id}`)\n .then(() => {\n toast.push({\n status: 'success',\n title: 'Workflow completed',\n })\n })\n .catch(() => {\n toast.push({\n status: 'error',\n title: 'Could not complete Workflow',\n })\n })\n },\n [client, toast]\n )\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>Remove this document from Workflow</Text>\n </Box>\n }\n >\n <Button\n value={documentId}\n onClick={handleComplete}\n text=\"Complete\"\n icon={CheckmarkIcon}\n tone=\"positive\"\n mode=\"ghost\"\n fontSize={1}\n padding={2}\n tabIndex={-1}\n disabled={disabled}\n />\n </Tooltip>\n )\n}\n","import {useTimeAgo} from 'sanity'\n\nexport interface TimeAgoProps {\n time: string | Date\n}\n\nexport function TimeAgo({time}: TimeAgoProps) {\n const timeAgo = useTimeAgo(time)\n\n return <span title={timeAgo}>{timeAgo} ago</span>\n}\n","import {EditIcon} from '@sanity/icons'\nimport {PreviewValue, SanityDocument} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\nimport {TimeAgo} from './TimeAgo'\n\nexport function DraftStatus(props: {document?: PreviewValue | Partial<SanityDocument> | null}) {\n const {document} = props\n const updatedAt = document && '_updatedAt' in document && document._updatedAt\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Edited {updatedAt && <TimeAgo time={updatedAt} />}</>\n ) : (\n <>No unpublished edits</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"caution\" dimmed={!document} muted={!document} size={1}>\n <EditIcon />\n </TextWithTone>\n </Tooltip>\n )\n}\n","import {PublishIcon} from '@sanity/icons'\nimport {PreviewValue, SanityDocument} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\nimport {TimeAgo} from './TimeAgo'\n\nexport function PublishedStatus(props: {\n document?: PreviewValue | Partial<SanityDocument> | null\n}) {\n const {document} = props\n const updatedAt = document && '_updatedAt' in document && document._updatedAt\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Published {updatedAt && <TimeAgo time={updatedAt} />}</>\n ) : (\n <>Not published</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone\n tone=\"positive\"\n dimmed={!document}\n muted={!document}\n size={1}\n >\n <PublishIcon />\n </TextWithTone>\n </Tooltip>\n )\n}\n","import {useEffect} from 'react'\nimport {useValidationStatus, ValidationStatus} from 'sanity'\n\ntype ValidateProps = {\n documentId: string\n type: string\n onChange: (validation: ValidationStatus) => void\n}\n\n// Document validation is siloed into its own component\n// Because it's not performant to run on a lot of documents\nexport default function Validate(props: ValidateProps) {\n const {documentId, type, onChange} = props\n const {isValidating, validation = []} = useValidationStatus(documentId, type)\n\n useEffect(() => {\n onChange({isValidating, validation})\n }, [onChange, isValidating, validation])\n\n return null\n}\n","import {ErrorOutlineIcon, WarningOutlineIcon} from '@sanity/icons'\nimport {ValidationMarker} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\ntype ValidationStatusProps = {\n validation: ValidationMarker[]\n}\n\nexport function ValidationStatus(props: ValidationStatusProps) {\n const {validation = []} = props\n\n if (!validation.length) {\n return null\n }\n\n const hasError = validation.some((item) => item.level === 'error')\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {validation.length === 1\n ? `1 validation issue`\n : `${validation.length} validation issues`}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone={hasError ? `critical` : `caution`} size={1}>\n {hasError ? <ErrorOutlineIcon /> : <WarningOutlineIcon />}\n </TextWithTone>\n </Tooltip>\n )\n}\n","/* eslint-disable react/prop-types */\nimport {DragHandleIcon} from '@sanity/icons'\nimport {Box, Card, CardTone, Flex, Stack, useTheme} from '@sanity/ui'\nimport {useCallback, useEffect, useMemo, useState} from 'react'\nimport {\n SchemaType,\n useSchema,\n ValidationStatus as ValidationStatusType,\n} from 'sanity'\nimport {Preview} from 'sanity'\n\nimport {SanityDocumentWithMetadata, State, User} from '../../types'\nimport UserDisplay from '../UserDisplay'\nimport CompleteButton from './CompleteButton'\nimport {DraftStatus} from './core/DraftStatus'\nimport {PublishedStatus} from './core/PublishedStatus'\nimport EditButton from './EditButton'\nimport Validate from './Validate'\nimport {ValidationStatus} from './ValidationStatus'\n\ntype DocumentCardProps = {\n isDragDisabled: boolean\n isPatching: boolean\n userRoleCanDrop: boolean\n isDragging: boolean\n item: SanityDocumentWithMetadata\n states: State[]\n toggleInvalidDocumentId: (\n documentId: string,\n action: 'ADD' | 'REMOVE'\n ) => void\n userList: User[]\n}\n\nexport function DocumentCard(props: DocumentCardProps) {\n const {\n isDragDisabled,\n isPatching,\n userRoleCanDrop,\n isDragging,\n item,\n states,\n toggleInvalidDocumentId,\n userList,\n } = props\n const {assignees = [], documentId} = item._metadata ?? {}\n const schema = useSchema()\n const state = states.find((s) => s.id === item._metadata?.state)\n\n const isDarkMode = useTheme().sanity.color.dark\n const defaultCardTone = isDarkMode ? `transparent` : `default`\n\n // Validation only runs if the state requests it\n // Because it's not performant to run it on many documents simultaneously\n // So we fake it here, and maybe set it inside <Validate />\n const [optimisticValidation, setOptimisticValidation] =\n useState<ValidationStatusType>({\n isValidating: state?.requireValidation ?? false,\n validation: [],\n })\n\n const {isValidating, validation} = optimisticValidation\n\n const handleValidation = useCallback((updates: ValidationStatusType) => {\n setOptimisticValidation(updates)\n }, [])\n\n const cardTone = useMemo(() => {\n let tone: CardTone = defaultCardTone\n\n if (!userRoleCanDrop) return isDarkMode ? `default` : `transparent`\n if (!documentId) return tone\n if (isPatching) tone = isDarkMode ? `default` : `transparent`\n if (isDragging) tone = `positive`\n\n if (state?.requireValidation && !isValidating && validation.length > 0) {\n if (validation.some((v) => v.level === 'error')) {\n tone = `critical`\n } else {\n tone = `caution`\n }\n }\n\n return tone\n }, [\n defaultCardTone,\n userRoleCanDrop,\n isPatching,\n isDarkMode,\n documentId,\n isDragging,\n isValidating,\n validation,\n state?.requireValidation,\n ])\n\n // Update validation status\n // Cannot be done in the above memo because it would set state during render\n useEffect(() => {\n if (!isValidating && validation.length > 0) {\n if (validation.some((v) => v.level === 'error')) {\n toggleInvalidDocumentId(documentId, 'ADD')\n } else {\n toggleInvalidDocumentId(documentId, 'REMOVE')\n }\n } else {\n toggleInvalidDocumentId(documentId, 'REMOVE')\n }\n }, [documentId, isValidating, toggleInvalidDocumentId, validation])\n\n const hasError = useMemo(\n () => (isValidating ? false : validation.some((v) => v.level === 'error')),\n [isValidating, validation]\n )\n\n const isLastState = useMemo(\n () => states[states.length - 1].id === item._metadata?.state,\n [states, item._metadata.state]\n )\n\n return (\n <>\n {state?.requireValidation ? (\n <Validate\n documentId={documentId}\n type={item._type}\n onChange={handleValidation}\n />\n ) : null}\n <Box paddingBottom={3} paddingX={3}>\n <Card radius={2} shadow={isDragging ? 3 : 1} tone={cardTone}>\n <Stack>\n <Card\n borderBottom\n radius={2}\n paddingRight={2}\n tone={cardTone}\n style={{pointerEvents: 'none'}}\n >\n <Flex align=\"center\" justify=\"space-between\" gap={1}>\n <Box flex={1}>\n <Preview\n layout=\"default\"\n skipVisibilityCheck\n value={item}\n schemaType={schema.get(item._type) as SchemaType}\n />\n </Box>\n <Box style={{flexShrink: 0}}>\n {hasError || isDragDisabled || isPatching ? null : (\n <DragHandleIcon />\n )}\n </Box>\n </Flex>\n </Card>\n\n <Card padding={2} radius={2} tone=\"inherit\">\n <Flex align=\"center\" justify=\"space-between\" gap={3}>\n <Box flex={1}>\n {documentId && (\n <UserDisplay\n userList={userList}\n assignees={assignees}\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n )}\n </Box>\n {validation.length > 0 ? (\n <ValidationStatus validation={validation} />\n ) : null}\n <DraftStatus document={item} />\n <PublishedStatus document={item} />\n <EditButton\n id={item._id}\n type={item._type}\n disabled={!userRoleCanDrop}\n />\n {isLastState && states.length <= 3 ? (\n <CompleteButton\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n ) : null}\n </Flex>\n {isLastState && states.length > 3 ? (\n <Stack paddingTop={2}>\n <CompleteButton\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n </Stack>\n ) : null}\n </Card>\n </Stack>\n </Card>\n </Box>\n </>\n )\n}\n","import {Draggable, DraggableStyle} from '@hello-pangea/dnd'\nimport {useVirtualizer, VirtualItem} from '@tanstack/react-virtual'\nimport {CSSProperties, useMemo, useRef} from 'react'\nimport {CurrentUser} from 'sanity'\nimport {UserExtended} from 'sanity-plugin-utils'\n\nimport {filterItemsAndSort} from '../helpers/filterItemsAndSort'\nimport {SanityDocumentWithMetadata, State} from '../types'\nimport {DocumentCard} from './DocumentCard'\n\ntype DocumentListProps = {\n data: SanityDocumentWithMetadata[]\n invalidDocumentIds: string[]\n patchingIds: string[]\n selectedSchemaTypes: string[]\n selectedUserIds: string[]\n state: State\n states: State[]\n toggleInvalidDocumentId: (\n documentId: string,\n action: 'ADD' | 'REMOVE'\n ) => void\n user: CurrentUser | null\n userList: UserExtended[]\n userRoleCanDrop: boolean\n}\n\nfunction getStyle(\n draggableStyle: DraggableStyle | undefined,\n virtualItem: VirtualItem\n): CSSProperties {\n // Default transform required by tanstack virtual for positioning\n let transform = `translateY(${virtualItem.start}px)`\n\n // If a card is being dragged over, this card needs to move up or down\n if (draggableStyle && draggableStyle.transform) {\n // So get the transform value from beautiful-dnd\n const draggableTransformY = parseInt(\n draggableStyle.transform.split(',')[1].split('px')[0],\n 10\n )\n\n // And apply it to the card\n transform = `translateY(${virtualItem.start + draggableTransformY}px)`\n }\n\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: `${virtualItem.size}px`,\n transform,\n }\n}\n\nexport default function DocumentList(props: DocumentListProps) {\n const {\n data = [],\n invalidDocumentIds,\n patchingIds,\n selectedSchemaTypes,\n selectedUserIds,\n state,\n states,\n toggleInvalidDocumentId,\n user,\n userList,\n userRoleCanDrop,\n } = props\n\n const dataFiltered = useMemo(() => {\n return data.length\n ? filterItemsAndSort(data, state.id, selectedUserIds, selectedSchemaTypes)\n : []\n }, [data, selectedSchemaTypes, selectedUserIds, state.id])\n\n const parentRef = useRef(null)\n\n const virtualizer = useVirtualizer({\n count: dataFiltered.length,\n getScrollElement: () => parentRef.current,\n getItemKey: (index) => dataFiltered[index]?._metadata?.documentId ?? index,\n estimateSize: () => 115,\n overscan: 7,\n measureElement: (element) => {\n return element.getBoundingClientRect().height || 115\n },\n })\n\n if (!data.length || !dataFiltered.length) {\n return null\n }\n\n return (\n <div\n ref={parentRef}\n style={{\n height: `100%`,\n overflow: 'auto',\n // Smooths scrollbar behaviour\n overflowAnchor: 'none',\n scrollBehavior: 'auto',\n paddingTop: 1,\n }}\n >\n <div\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const item = dataFiltered[virtualItem.index]\n\n const {documentId, assignees} = item?._metadata ?? {}\n\n const isInvalid = invalidDocumentIds.includes(documentId)\n const meInAssignees = user?.id ? assignees?.includes(user.id) : false\n const isDragDisabled =\n patchingIds.includes(documentId) ||\n !userRoleCanDrop ||\n isInvalid ||\n !(state.requireAssignment\n ? state.requireAssignment && meInAssignees\n : true)\n\n return (\n <Draggable\n key={virtualItem.key}\n draggableId={documentId}\n index={virtualItem.index}\n isDragDisabled={isDragDisabled}\n >\n {(draggableProvided, draggableSnapshot) => (\n <div\n ref={draggableProvided.innerRef}\n {...draggableProvided.draggableProps}\n {...draggableProvided.dragHandleProps}\n style={getStyle(\n draggableProvided.draggableProps.style,\n virtualItem\n )}\n >\n <div\n ref={virtualizer.measureElement}\n data-index={virtualItem.index}\n >\n <DocumentCard\n userRoleCanDrop={userRoleCanDrop}\n isDragDisabled={isDragDisabled}\n isPatching={patchingIds.includes(documentId)}\n isDragging={draggableSnapshot.isDragging}\n item={item}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n userList={userList}\n states={states}\n />\n </div>\n </div>\n )}\n </Draggable>\n )\n })}\n </div>\n </div>\n )\n}\n","import {ResetIcon, UserIcon} from '@sanity/icons'\nimport {Button, Card, Flex, Menu, MenuButton} from '@sanity/ui'\nimport {useCallback} from 'react'\nimport {useCurrentUser, UserAvatar, useSchema} from 'sanity'\nimport {UserExtended, UserSelectMenu} from 'sanity-plugin-utils'\n\ntype FiltersProps = {\n uniqueAssignedUsers: UserExtended[]\n selectedUserIds: string[]\n schemaTypes: string[]\n selectedSchemaTypes: string[]\n toggleSelectedUser: (userId: string) => void\n resetSelectedUsers: () => void\n toggleSelectedSchemaType: (schemaType: string) => void\n}\n\nexport default function Filters(props: FiltersProps) {\n const {\n uniqueAssignedUsers = [],\n selectedUserIds,\n schemaTypes,\n selectedSchemaTypes,\n toggleSelectedUser,\n resetSelectedUsers,\n toggleSelectedSchemaType,\n } = props\n\n const currentUser = useCurrentUser()\n const schema = useSchema()\n\n const onAdd = useCallback(\n (id: string) => {\n if (!selectedUserIds.includes(id)) {\n toggleSelectedUser(id)\n }\n },\n [selectedUserIds, toggleSelectedUser]\n )\n\n const onRemove = useCallback(\n (id: string) => {\n if (selectedUserIds.includes(id)) {\n toggleSelectedUser(id)\n }\n },\n [selectedUserIds, toggleSelectedUser]\n )\n\n const onClear = useCallback(() => {\n resetSelectedUsers()\n }, [resetSelectedUsers])\n\n if (uniqueAssignedUsers.length === 0 && schemaTypes.length < 2) {\n return null\n }\n\n const meInUniqueAssignees =\n currentUser?.id && uniqueAssignedUsers.find((u) => u.id === currentUser.id)\n const uniqueAssigneesNotMe = uniqueAssignedUsers.filter(\n (u) => u.id !== currentUser?.id\n )\n\n return (\n <Card tone=\"primary\" padding={2} borderBottom style={{overflowX: 'hidden'}}>\n <Flex align=\"center\">\n <Flex align=\"center\" gap={1} flex={1}>\n {uniqueAssignedUsers.length > 5 ? (\n <Card tone=\"default\">\n <MenuButton\n button={\n <Button\n padding={3}\n fontSize={1}\n text=\"Filter Assignees\"\n tone=\"primary\"\n icon={UserIcon}\n />\n }\n id=\"user-filters\"\n menu={\n <Menu>\n <UserSelectMenu\n value={selectedUserIds}\n userList={uniqueAssignedUsers}\n onAdd={onAdd}\n onRemove={onRemove}\n onClear={onClear}\n labels={{\n addMe: 'Filter mine',\n removeMe: 'Clear mine',\n clear: 'Clear filters',\n }}\n />\n </Menu>\n }\n popover={{portal: true}}\n />\n </Card>\n ) : (\n <>\n {meInUniqueAssignees ? (\n <>\n <Button\n padding={0}\n mode={\n selectedUserIds.includes(currentUser.id)\n ? `default`\n : `bleed`\n }\n onClick={() => toggleSelectedUser(currentUser.id)}\n >\n <Flex padding={1} align=\"center\" justify=\"center\">\n <UserAvatar user={currentUser.id} size={1} withTooltip />\n </Flex>\n </Button>\n <Card borderRight style={{height: 30}} tone=\"inherit\" />\n </>\n ) : null}\n {uniqueAssigneesNotMe.map((user) => (\n <Button\n key={user.id}\n padding={0}\n mode={selectedUserIds.includes(user.id) ? `default` : `bleed`}\n onClick={() => toggleSelectedUser(user.id)}\n >\n <Flex padding={1} align=\"center\" justify=\"center\">\n <UserAvatar user={user} size={1} withTooltip />\n </Flex>\n </Button>\n ))}\n\n {selectedUserIds.length > 0 ? (\n <Button\n padding={3}\n fontSize={1}\n text=\"Clear\"\n onClick={resetSelectedUsers}\n mode=\"ghost\"\n icon={ResetIcon}\n />\n ) : null}\n </>\n )}\n </Flex>\n\n {schemaTypes.length > 1 ? (\n <Flex align=\"center\" gap={1}>\n {schemaTypes.map((typeName) => {\n const schemaType = schema.get(typeName)\n\n if (!schemaType) {\n return null\n }\n\n return (\n <Button\n padding={3}\n fontSize={1}\n key={typeName}\n text={schemaType?.title ?? typeName}\n icon={schemaType?.icon ?? undefined}\n mode={\n selectedSchemaTypes.includes(typeName) ? `default` : `ghost`\n }\n onClick={() => toggleSelectedSchemaType(typeName)}\n />\n )\n })}\n </Flex>\n ) : null}\n </Flex>\n </Card>\n )\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useDebugValue as l}from\"react\";import d from\"shallowequal\";import h from\"@emotion/stylis\";import p from\"@emotion/unitless\";import f from\"@emotion/is-prop-valid\";import m from\"hoist-non-react-statics\";function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var y=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},g=function(t){return null!==t&&\"object\"==typeof t&&\"[object Object]\"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!e(t)},S=Object.freeze([]),w=Object.freeze({});function E(e){return\"function\"==typeof e}function b(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function _(e){return e&&\"string\"==typeof e.styledComponentId}var N=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",A=\"5.3.10\",C=\"undefined\"!=typeof window&&\"HTMLElement\"in window,I=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV)),P={},O=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function R(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://git.io/JUIaE#\"+e+\" for more information.\"+(n.length>0?\" Args: \"+n.join(\", \"):\"\")):new Error(R.apply(void 0,[O[e]].concat(n)).trim())}var j=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&D(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+\"/*!sc*/\\n\";return t},e}(),T=new Map,x=new Map,k=1,V=function(e){if(T.has(e))return T.get(e);for(;x.has(k);)k++;var t=k++;return\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>1<<30)&&D(16,\"\"+t),T.set(e,t),x.set(t,e),t},z=function(e){return x.get(e)},B=function(e,t){t>=k&&(k=t+1),T.set(e,t),x.set(t,e)},M=\"style[\"+N+'][data-styled-version=\"5.3.10\"]',G=new RegExp(\"^\"+N+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),L=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},F=function(e,t){for(var n=(t.textContent||\"\").split(\"/*!sc*/\\n\"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(B(u,c),L(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},Y=function(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null},q=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(N))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(N,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.10\");var i=Y();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},H=function(){function e(e){var t=this.element=q(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}D(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&\"string\"==typeof t.cssText?t.cssText:\"\"},e}(),$=function(){function e(e){var t=this.element=q(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),W=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),U=C,J={isServer:!C,useCSSOMInjection:!I},X=function(){function e(e,t,n){void 0===e&&(e=w),void 0===t&&(t={}),this.options=v({},J,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&C&&U&&(U=!1,function(e){for(var t=document.querySelectorAll(M),n=0,r=t.length;n<r;n++){var o=t[n];o&&\"active\"!==o.getAttribute(N)&&(F(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return V(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(v({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new W(o):r?new H(o):new $(o),new j(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(V(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(V(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(V(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=0;o<n;o++){var s=z(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=N+\".g\"+o+'[id=\"'+s+'\"]',u=\"\";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),Z=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Q(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=K(t%52)+n;return(K(t%52)+n).replace(Z,\"$1-$2\")}var ee=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},te=function(e){return ee(5381,e)};function ne(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(E(n)&&!_(n))return!1}return!0}var re=te(\"5.3.10\"),oe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&ne(e),this.componentId=t,this.baseHash=ee(re,t),this.baseStyle=n,X.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=_e(this.rules,e,t,n).join(\"\"),i=Q(ee(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=ee(this.baseHash,n.hash),l=\"\",d=0;d<c;d++){var h=this.rules[d];if(\"string\"==typeof h)l+=h,\"production\"!==process.env.NODE_ENV&&(u=ee(u,h+d));else if(h){var p=_e(h,e,t,n),f=Array.isArray(p)?p.join(\"\"):p;u=ee(u,f+d),l+=f}}if(l){var m=Q(u>>>0);if(!t.hasNameForId(r,m)){var v=n(l,\".\"+m,void 0,r);t.insertRules(r,m,v)}o.push(m)}}return o.join(\" \")},e}(),se=/^\\s*\\/\\/.*$/gm,ie=[\":\",\"[\",\".\",\"#\"];function ae(e){var t,n,r,o,s=void 0===e?w:e,i=s.options,a=void 0===i?w:i,c=s.plugins,u=void 0===c?S:c,l=new h(a),d=[],p=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ie.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(se,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},p,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||D(15),ee(e,t.name)}),5381).toString():\"\",m}var ce=r.createContext(),ue=ce.Consumer,le=r.createContext(),de=(le.Consumer,new X),he=ae();function pe(){return s(ce)||de}function fe(){return s(le)||he}function me(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=pe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ae({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){d(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ce.Provider,{value:u},r.createElement(le.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=he);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return D(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=he),this.name+e.hash},e}(),ye=/([A-Z])/,ge=/([A-Z])/g,Se=/^ms-/,we=function(e){return\"-\"+e.toLowerCase()};function Ee(e){return ye.test(e)?e.replace(ge,we).replace(Se,\"-ms-\"):e}var be=function(e){return null==e||!1===e||\"\"===e};function _e(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)\"\"!==(s=_e(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(be(e))return\"\";if(_(e))return\".\"+e.styledComponentId;if(E(e)){if(\"function\"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return\"production\"!==process.env.NODE_ENV&&t(u)&&console.warn(b(e)+\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"),_e(u,n,r,o)}var l;return e instanceof ve?r?(e.inject(r,o),e.getName(o)):e:g(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!be(t[i])&&(Array.isArray(t[i])&&t[i].isCss||E(t[i])?s.push(Ee(i)+\":\",t[i],\";\"):g(t[i])?s.push.apply(s,e(t[i],i)):s.push(Ee(i)+\": \"+(r=i,null==(o=t[i])||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||r in p||r.startsWith(\"--\")?String(o).trim():o+\"px\")+\";\"));return n?[n+\" {\"].concat(s,[\"}\"]):s}(e):e.toString()}var Ne=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ae(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return E(e)||g(e)?Ne(_e(y(S,[e].concat(n)))):0===n.length&&1===e.length&&\"string\"==typeof e[0]?e:Ne(_e(y(e,n)))}var Ce=/invalid hook call/i,Ie=new Set,Pe=function(e,t){if(\"production\"!==process.env.NODE_ENV){var n=\"The component \"+e+(t?' with the id of \"'+t+'\"':\"\")+\" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",r=console.error;try{var o=!0;console.error=function(e){if(Ce.test(e))o=!1,Ie.delete(n);else{for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];r.apply(void 0,[e].concat(s))}},c(),o&&!Ie.has(n)&&(console.warn(n),Ie.add(n))}catch(e){Ce.test(e.message)&&Ie.delete(n)}finally{console.error=r}}},Oe=function(e,t,n){return void 0===n&&(n=w),e.theme!==n.theme&&e.theme||t||n.theme},Re=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,De=/(^-|-$)/g;function je(e){return e.replace(Re,\"-\").replace(De,\"\")}var Te=function(e){return Q(te(e)>>>0)};function xe(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var ke=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Ve=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ze(e,t,n){var r=e[n];ke(t)&&ke(r)?Be(r,t):e[n]=t}function Be(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(ke(i))for(var a in i)Ve(a)&&ze(e,i[a],a)}return e}var Me=r.createContext(),Ge=Me.Consumer;function Le(e){var t=s(Me),n=i((function(){return function(e,t){if(!e)return D(14);if(E(e)){var n=e(t);return\"production\"===process.env.NODE_ENV||null!==n&&!Array.isArray(n)&&\"object\"==typeof n?n:D(7)}return Array.isArray(e)||\"object\"!=typeof e?D(8):t?v({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(Me.Provider,{value:n},e.children):null}var Fe={};function Ye(e,t,n){var o=_(e),i=!xe(e),a=t.attrs,c=void 0===a?S:a,d=t.componentId,h=void 0===d?function(e,t){var n=\"string\"!=typeof e?\"sc\":je(e);Fe[n]=(Fe[n]||0)+1;var r=n+\"-\"+Te(\"5.3.10\"+n+Fe[n]);return t?t+\"-\"+r:r}(t.displayName,t.parentComponentId):d,p=t.displayName,y=void 0===p?function(e){return xe(e)?\"styled.\"+e:\"Styled(\"+b(e)+\")\"}(e):p,g=t.displayName&&t.componentId?je(t.displayName)+\"-\"+t.componentId:t.componentId||h,N=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;o&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var C,I=new oe(n,g,o?e.componentStyle:void 0),P=I.isStatic&&0===c.length,O=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,d=e.shouldForwardProp,h=e.styledComponentId,p=e.target;\"production\"!==process.env.NODE_ENV&&l(h);var m=function(e,t,n){void 0===e&&(e=w);var r=v({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in E(i)&&(i=i(r)),i)r[t]=o[t]=\"className\"===t?(n=o[t],s=i[t],n&&s?n+\" \"+s:n||s):i[t]})),[r,o]}(Oe(t,s(Me),a)||w,t,o),y=m[0],g=m[1],S=function(e,t,n,r){var o=pe(),s=fe(),i=t?e.generateAndInjectStyles(w,o,s):e.generateAndInjectStyles(n,o,s);return\"production\"!==process.env.NODE_ENV&&l(i),\"production\"!==process.env.NODE_ENV&&!t&&r&&r(i),i}(i,r,y,\"production\"!==process.env.NODE_ENV?e.warnTooManyClasses:void 0),b=n,_=g.$as||t.$as||g.as||t.as||p,N=xe(_),A=g!==t?v({},t,{},g):t,C={};for(var I in A)\"$\"!==I[0]&&\"as\"!==I&&(\"forwardedAs\"===I?C.as=A[I]:(d?d(I,f,_):!N||f(I))&&(C[I]=A[I]));return t.style&&g.style!==t.style&&(C.style=v({},t.style,{},g.style)),C.className=Array.prototype.concat(c,h,S!==h?S:null,t.className,g.className).filter(Boolean).join(\" \"),C.ref=b,u(_,C)}(C,e,t,P)};return O.displayName=y,(C=r.forwardRef(O)).attrs=N,C.componentStyle=I,C.displayName=y,C.shouldForwardProp=A,C.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):S,C.styledComponentId=g,C.target=o?e.target:e,C.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(xe(e)?e:je(b(e)));return Ye(e,v({},o,{attrs:N,componentId:s}),n)},Object.defineProperty(C,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Be({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Pe(y,g),C.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(y,g)),Object.defineProperty(C,\"toString\",{value:function(){return\".\"+C.styledComponentId}}),i&&m(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var qe=function(e){return function e(t,r,o){if(void 0===o&&(o=w),!n(r))return D(1,String(r));var s=function(){return t(r,o,Ae.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v({},o,{},n))},s.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(Ye,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){qe[e]=qe(e)}));var He=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=ne(e),X.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(_e(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&X.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function $e(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ae.apply(void 0,[e].concat(n)),a=\"sc-global-\"+Te(JSON.stringify(i)),u=new He(i,a);function l(e){var t=pe(),n=fe(),o=s(Me),u=c(t.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \"+a+\" was given child JSX. createGlobalStyle does not render children.\"),\"production\"!==process.env.NODE_ENV&&i.some((function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")}))&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.server&&d(u,e,t,o,n),null}function d(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,P,n,o);else{var s=v({},t,{theme:Oe(t,r,l.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Pe(a),r.memo(l)}function We(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ae.apply(void 0,[e].concat(n)).join(\"\"),s=Te(o);return new ve(s,o)}var Ue=/^\\s*<\\/[a-z]/i,Je=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Y();return\"<style \"+[n&&'nonce=\"'+n+'\"',N+'=\"true\"','data-styled-version=\"5.3.10\"'].filter(Boolean).join(\" \")+\">\"+t+\"</style>\"},this.getStyleTags=function(){return e.sealed?D(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return D(2);var n=((t={})[N]=\"\",t[\"data-styled-version\"]=\"5.3.10\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=Y();return o&&(n.nonce=o),[r.createElement(\"style\",v({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new X({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?D(2):r.createElement(me,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){if(C)return D(3);if(this.sealed)return D(2);this.seal();var t=require(\"stream\"),n=(t.Readable,t.Transform),r=e,o=this.instance,s=this._emitSheetCSS,i=new n({transform:function(e,t,n){var r=e.toString(),i=s();if(o.clearTag(),Ue.test(r)){var a=r.indexOf(\">\")+1,c=r.slice(0,a),u=r.slice(a);this.push(c+i+u)}else this.push(i+r);n()}});return r.on(\"error\",(function(e){i.emit(\"error\",e)})),r.pipe(i)},e}(),Xe=function(e){var t=r.forwardRef((function(t,n){var o=s(Me),i=e.defaultProps,a=Oe(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+b(e)+'\"'),r.createElement(e,v({},t,{theme:a,ref:n}))}));return m(t,e),t.displayName=\"WithTheme(\"+b(e)+\")\",t},Ze=function(){return s(Me)},Ke={StyleSheet:X,masterSheet:de};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default qe;export{Je as ServerStyleSheet,ue as StyleSheetConsumer,ce as StyleSheetContext,me as StyleSheetManager,Ge as ThemeConsumer,Me as ThemeContext,Le as ThemeProvider,Ke as __PRIVATE__,$e as createGlobalStyle,Ae as css,_ as isStyledComponent,We as keyframes,Ze as useTheme,A as version,Xe as withTheme};\n//# sourceMappingURL=styled-components.esm.js.map\n","import React from 'react'\nimport {Box, Text, Tooltip} from '@sanity/ui'\n\ntype StatusProps = {\n text: string\n icon: React.ComponentType\n}\n\nexport function Status(props: StatusProps) {\n const {text, icon} = props\n const Icon = icon\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>{text}</Text>\n </Box>\n }\n >\n <Text size={1}>\n <Icon />\n </Text>\n </Tooltip>\n )\n}\n","import {InfoOutlineIcon, UserIcon} from '@sanity/icons'\nimport {Badge, BadgeTone, Box, Card, Flex, Text} from '@sanity/ui'\nimport styled, {css} from 'styled-components'\n\nimport {State} from '../../types'\nimport {Status} from './Status'\n\nconst StyledStickyCard = styled(Card)(\n () => css`\n position: sticky;\n top: 0;\n z-index: 1;\n `\n)\n\ntype StateTitleProps = {\n state: State\n requireAssignment: boolean\n userRoleCanDrop: boolean\n isDropDisabled: boolean\n draggingFrom: string\n documentCount: number\n}\n\nexport default function StateTitle(props: StateTitleProps) {\n const {\n state,\n requireAssignment,\n userRoleCanDrop,\n isDropDisabled,\n draggingFrom,\n documentCount,\n } = props\n\n let tone: BadgeTone = 'default'\n const isSource = draggingFrom === state.id\n\n if (draggingFrom) {\n tone = isDropDisabled || isSource ? 'default' : 'positive'\n }\n\n return (\n <StyledStickyCard paddingY={4} padding={3} tone=\"inherit\">\n <Flex gap={3} align=\"center\">\n <Badge\n mode={\n (draggingFrom && !isDropDisabled) || isSource\n ? 'default'\n : 'outline'\n }\n tone={tone}\n muted={!userRoleCanDrop || isDropDisabled}\n >\n {state.title}\n </Badge>\n {userRoleCanDrop ? null : (\n <Status\n text=\"You do not have permissions to move documents to this State\"\n icon={InfoOutlineIcon}\n />\n )}\n {requireAssignment ? (\n <Status\n text=\"You must be assigned to the document to move documents to this State\"\n icon={UserIcon}\n />\n ) : null}\n <Box flex={1}>\n {documentCount > 0 ? (\n <Text weight=\"semibold\" align=\"right\" size={1}>\n {documentCount}\n </Text>\n ) : null}\n </Box>\n </Flex>\n </StyledStickyCard>\n )\n}\n","import {LexoRank} from 'lexorank'\n\nfunction generateMiddleValue(ranks: (LexoRank | undefined)[]) {\n // Has no undefined values\n if (!ranks.some((rank) => !rank)) {\n return ranks\n }\n\n // Find the first undefined value\n const firstUndefined = ranks.findIndex((rank) => !rank)\n\n // Find the first defined value after the undefined value\n const firstDefinedAfter = ranks.findIndex(\n (rank, index) => rank && index > firstUndefined\n )\n // Find the first defined value before the undefined value\n const firstDefinedBefore = ranks.findLastIndex(\n (rank, index) => rank && index < firstUndefined\n )\n\n if (firstDefinedAfter === -1 || firstDefinedBefore === -1) {\n throw new Error(\n `Unable to generate middle value between indexes ${firstDefinedBefore} and ${firstDefinedAfter}`\n )\n }\n\n const beforeRank = ranks[firstDefinedBefore]\n const afterRank = ranks[firstDefinedAfter]\n\n if (\n !beforeRank ||\n typeof beforeRank === 'undefined' ||\n !afterRank ||\n typeof afterRank === 'undefined'\n ) {\n throw new Error(\n `Unable to generate middle value between indexes ${firstDefinedBefore} and ${firstDefinedAfter}`\n )\n }\n\n // Generate a new value between the two\n const between = beforeRank.between(afterRank)\n\n // Calculate the middle index between the defined values\n const middle = Math.floor((firstDefinedAfter + firstDefinedBefore) / 2)\n\n if (ranks[middle]) {\n throw new Error(`Should not have overwritten value at index ${middle}`)\n }\n\n // Insert the new value into the array\n ranks[middle] = between\n\n // Return as a new array\n return ranks\n}\n\n// Generates an array of LexoRanks between two values\nexport function generateMultipleOrderRanks(\n count: number,\n start?: LexoRank,\n end?: LexoRank\n): LexoRank[] {\n // Begin array with correct size\n let ranks = [...Array(count)]\n\n // Use or create default values\n const rankStart = start ?? LexoRank.min().genNext().genNext()\n const rankEnd = end ?? LexoRank.max().genPrev().genPrev()\n\n ranks[0] = rankStart\n ranks[count - 1] = rankEnd\n\n // Keep processing the array until every value between undefined values is defined\n for (let i = 0; i < count; i++) {\n ranks = generateMiddleValue(ranks)\n }\n\n return ranks.sort((a, b) => a.toString().localeCompare(b.toString()))\n}\n","import {PropsWithChildren} from 'react'\nimport styled, {css} from 'styled-components'\nimport {Card, Grid} from '@sanity/ui'\nimport {motion, AnimatePresence} from 'framer-motion'\n\nconst StyledFloatingCard = styled(Card)(\n () => css`\n position: fixed;\n bottom: 0;\n left: 0;\n z-index: 1000;\n `\n)\n\nexport default function FloatingCard({children}: PropsWithChildren) {\n const childrenHaveValues = Array.isArray(children) ? children.some(Boolean) : Boolean(children)\n\n return (\n <AnimatePresence>\n {childrenHaveValues ? (\n <motion.div key=\"floater\" initial={{opacity: 0}} animate={{opacity: 1}} exit={{opacity: 0}}>\n <StyledFloatingCard shadow={3} padding={3} margin={3} radius={3}>\n <Grid gap={2}>{children}</Grid>\n </StyledFloatingCard>\n </motion.div>\n ) : null}\n </AnimatePresence>\n )\n}\n","import {Button, useToast} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport React from 'react'\nimport {useClient} from 'sanity'\nimport {UserExtended} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {generateMultipleOrderRanks} from '../helpers/generateMultipleOrderRanks'\nimport {SanityDocumentWithMetadata, State} from '../types'\nimport FloatingCard from './FloatingCard'\n\ntype VerifyProps = {\n data: SanityDocumentWithMetadata[]\n userList: UserExtended[]\n states: State[]\n}\n\n// This component checks the validity of the data in the Kanban\n// It will only render something it there is invalid date\n// And will render buttons to fix the data\nexport default function Verify(props: VerifyProps) {\n const {data, userList, states} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n // A lot of error-checking\n const documentsWithoutValidMetadataIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, state} = cur._metadata ?? {}\n const stateExists = states.find((s) => s.id === state)\n\n return !stateExists && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithInvalidUserIds =\n data?.length && userList?.length\n ? data.reduce((acc, cur) => {\n const {documentId, assignees} = cur._metadata ?? {}\n const allAssigneesExist = assignees?.length\n ? assignees?.every((a) => userList.find((u) => u.id === a))\n : true\n\n return !allAssigneesExist && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithoutOrderIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, orderRank} = cur._metadata ?? {}\n\n return !orderRank && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithDuplicatedOrderIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, orderRank} = cur._metadata ?? {}\n\n return orderRank &&\n data.filter((d) => d._metadata?.orderRank === orderRank).length > 1 &&\n documentId\n ? [...acc, documentId]\n : acc\n }, [] as string[])\n : []\n\n // Updates metadata documents to a valid, existing state\n const correctDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Correcting...',\n status: 'info',\n })\n\n const tx = ids.reduce((item, documentId) => {\n return item.patch(`workflow-metadata.${documentId}`, {\n set: {state: states[0].id},\n })\n }, client.transaction())\n\n await tx.commit()\n\n toast.push({\n title: `Corrected ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [client, states, toast]\n )\n\n // Remove users that are no longer in the project from documents\n const removeUsersFromDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Removing users...',\n status: 'info',\n })\n\n const tx = ids.reduce((item, documentId) => {\n const {assignees} =\n data.find((d) => d._id === documentId)?._metadata ?? {}\n const validAssignees = assignees?.length\n ? // eslint-disable-next-line max-nested-callbacks\n assignees.filter((a) => userList.find((u) => u.id === a)?.id)\n : []\n\n return item.patch(`workflow-metadata.${documentId}`, {\n set: {assignees: validAssignees},\n })\n }, client.transaction())\n\n await tx.commit()\n\n toast.push({\n title: `Corrected ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [client, data, toast, userList]\n )\n\n // Add order value to metadata documents\n const addOrderToDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Adding ordering...',\n status: 'info',\n })\n\n // Get first and second order values, if they exist\n const [firstOrder, secondOrder] = [...data]\n .slice(0, 2)\n .map((d) => d._metadata?.orderRank)\n const minLexo = firstOrder ? LexoRank.parse(firstOrder) : undefined\n const maxLexo = secondOrder ? LexoRank.parse(secondOrder) : undefined\n const ranks = generateMultipleOrderRanks(ids.length, minLexo, maxLexo)\n\n const tx = client.transaction()\n\n // Create a new in-between value for each document\n for (let index = 0; index < ids.length; index += 1) {\n tx.patch(`workflow-metadata.${ids[index]}`, {\n set: {orderRank: ranks[index].toString()},\n })\n }\n\n await tx.commit()\n\n toast.push({\n title: `Added order to ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [data, client, toast]\n )\n\n // Reset order value on all metadata documents\n const resetOrderOfAllDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Adding ordering...',\n status: 'info',\n })\n\n const ranks = generateMultipleOrderRanks(ids.length)\n\n const tx = client.transaction()\n\n // Create a new in-between value for each document\n for (let index = 0; index < ids.length; index += 1) {\n tx.patch(`workflow-metadata.${ids[index]}`, {\n set: {orderRank: ranks[index].toString()},\n })\n }\n\n await tx.commit()\n\n toast.push({\n title: `Added order to ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [data, client, toast]\n )\n\n // A document could be deleted and the workflow metadata left behind\n const orphanedMetadataDocumentIds = React.useMemo(() => {\n return data.length\n ? data.filter((doc) => !doc?._id).map((doc) => doc._metadata.documentId)\n : []\n }, [data])\n\n const handleOrphans = React.useCallback(() => {\n toast.push({\n title: 'Removing orphaned metadata...',\n status: 'info',\n })\n\n const tx = client.transaction()\n orphanedMetadataDocumentIds.forEach((id) => {\n tx.delete(`workflow-metadata.${id}`)\n })\n\n tx.commit()\n\n toast.push({\n title: `Removed ${orphanedMetadataDocumentIds.length} orphaned metadata documents`,\n status: 'success',\n })\n }, [client, orphanedMetadataDocumentIds, toast])\n\n return (\n <FloatingCard>\n {documentsWithoutValidMetadataIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => correctDocuments(documentsWithoutValidMetadataIds)}\n text={\n documentsWithoutValidMetadataIds.length === 1\n ? `Correct 1 Document State`\n : `Correct ${documentsWithoutValidMetadataIds.length} Document States`\n }\n />\n ) : null}\n {documentsWithInvalidUserIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => removeUsersFromDocuments(documentsWithInvalidUserIds)}\n text={\n documentsWithInvalidUserIds.length === 1\n ? `Remove Invalid Users from 1 Document`\n : `Remove Invalid Users from ${documentsWithInvalidUserIds.length} Documents`\n }\n />\n ) : null}\n {documentsWithoutOrderIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => addOrderToDocuments(documentsWithoutOrderIds)}\n text={\n documentsWithoutOrderIds.length === 1\n ? `Set Order for 1 Document`\n : `Set Order for ${documentsWithoutOrderIds.length} Documents`\n }\n />\n ) : null}\n {documentsWithDuplicatedOrderIds.length > 0 ? (\n <>\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => addOrderToDocuments(documentsWithDuplicatedOrderIds)}\n text={\n documentsWithDuplicatedOrderIds.length === 1\n ? `Set Unique Order for 1 Document`\n : `Set Unique Order for ${documentsWithDuplicatedOrderIds.length} Documents`\n }\n />\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() =>\n resetOrderOfAllDocuments(\n data.map((doc) => String(doc._metadata?.documentId))\n )\n }\n text={\n data.length === 1\n ? `Reset Order for 1 Document`\n : `Reset Order for all ${data.length} Documents`\n }\n />\n </>\n ) : null}\n {orphanedMetadataDocumentIds.length > 0 ? (\n <Button\n text=\"Cleanup orphaned metadata\"\n onClick={handleOrphans}\n tone=\"caution\"\n mode=\"ghost\"\n />\n ) : null}\n </FloatingCard>\n )\n}\n","import {\n DragDropContext,\n DraggableChildrenFn,\n DragStart,\n Droppable,\n DropResult,\n} from '@hello-pangea/dnd'\nimport {\n Box,\n Card,\n Container,\n Flex,\n Grid,\n Spinner,\n useTheme,\n useToast,\n} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport React from 'react'\nimport {Tool, useCurrentUser} from 'sanity'\nimport {Feedback, useProjectUsers} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {arraysContainMatchingString} from '../helpers/arraysContainMatchingString'\nimport {filterItemsAndSort} from '../helpers/filterItemsAndSort'\nimport {useWorkflowDocuments} from '../hooks/useWorkflowDocuments'\nimport {State, WorkflowConfig} from '../types'\nimport {DocumentCard} from './DocumentCard'\nimport DocumentList from './DocumentList'\nimport Filters from './Filters'\nimport StateTitle from './StateTitle'\nimport Verify from './Verify'\n\ntype WorkflowToolProps = {\n tool: Tool<WorkflowConfig>\n}\n\nexport default function WorkflowTool(props: WorkflowToolProps) {\n const {schemaTypes = [], states = []} = props?.tool?.options ?? {}\n\n const isDarkMode = useTheme().sanity.color.dark\n const defaultCardTone = isDarkMode ? 'default' : 'transparent'\n const toast = useToast()\n\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n const user = useCurrentUser()\n const userRoleNames = user?.roles?.length\n ? user?.roles.map((r) => r.name)\n : []\n\n const {workflowData, operations} = useWorkflowDocuments(schemaTypes)\n const [patchingIds, setPatchingIds] = React.useState<string[]>([])\n\n // Data to display in cards\n const {data, loading, error} = workflowData\n\n // Operations to perform on cards\n const {move} = operations\n\n const [undroppableStates, setUndroppableStates] = React.useState<string[]>([])\n const [draggingFrom, setDraggingFrom] = React.useState(``)\n\n // When drag starts, check for any States we should not allow dropping on\n // Because of either:\n // 1. The \"destination\" State requires user assignment and the user is not assigned to the dragged document\n // 2. The \"source\" State State has a list of transitions and the \"destination\" State is not in that list\n const handleDragStart = React.useCallback(\n (start: DragStart) => {\n const {draggableId, source} = start\n const {droppableId: currentStateId} = source\n setDraggingFrom(currentStateId)\n\n const document = data.find(\n (item) => item._metadata?.documentId === draggableId\n )\n const state = states.find((s) => s.id === currentStateId)\n\n // This shouldn't happen but TypeScript\n if (!document || !state) return\n\n const undroppableStateIds = []\n const statesThatRequireAssignmentIds = states\n .filter((s) => s.requireAssignment)\n .map((s) => s.id)\n\n if (statesThatRequireAssignmentIds.length) {\n const documentAssignees = document._metadata?.assignees ?? []\n const userIsAssignedToDocument = user?.id\n ? documentAssignees.includes(user.id)\n : false\n\n if (!userIsAssignedToDocument) {\n undroppableStateIds.push(...statesThatRequireAssignmentIds)\n }\n }\n\n const statesThatCannotBeTransitionedToIds =\n state.transitions && state.transitions.length\n ? states\n .filter((s) => !state.transitions?.includes(s.id))\n .map((s) => s.id)\n : []\n\n if (statesThatCannotBeTransitionedToIds.length) {\n undroppableStateIds.push(...statesThatCannotBeTransitionedToIds)\n }\n\n // Remove currentStateId from undroppableStates\n const undroppableExceptSelf = undroppableStateIds.filter(\n (id) => id !== currentStateId\n )\n\n if (undroppableExceptSelf.length) {\n setUndroppableStates(undroppableExceptSelf)\n }\n },\n [data, states, user]\n )\n\n const handleDragEnd = React.useCallback(\n async (result: DropResult) => {\n // Reset undroppable states\n setUndroppableStates([])\n setDraggingFrom(``)\n\n const {draggableId, source, destination} = result\n\n if (\n // No destination?\n !destination ||\n // No change in position?\n (destination.droppableId === source.droppableId &&\n destination.index === source.index)\n ) {\n return\n }\n\n // Find all items in current state\n const destinationStateItems = [\n ...filterItemsAndSort(data, destination.droppableId, [], null),\n ]\n const destinationStateIndex = states.findIndex(\n (s) => s.id === destination.droppableId\n )\n const globalStateMinimumRank = data[0]._metadata.orderRank\n const globalStateMaximumRank = data[data.length - 1]._metadata.orderRank\n\n let newOrder\n\n if (!destinationStateItems.length) {\n // Only item in state\n // New minimum rank\n if (destinationStateIndex === 0) {\n // Only the first state should generate an absolute minimum rank\n newOrder = LexoRank.min().toString()\n } else {\n // Otherwise create one rank above the minimum\n newOrder = LexoRank.min().genNext().toString()\n }\n } else if (destination.index === 0) {\n // Now first item in order\n const firstItemOrderRank = [...destinationStateItems].shift()?._metadata\n ?.orderRank\n\n if (firstItemOrderRank && typeof firstItemOrderRank === 'string') {\n newOrder = LexoRank.parse(firstItemOrderRank).genPrev().toString()\n } else if (destinationStateIndex === 0) {\n // Only the first state should generate an absolute minimum rank\n newOrder = LexoRank.min().toString()\n } else {\n // Otherwise create the next rank between min and the globally minimum rank\n newOrder = LexoRank.parse(globalStateMinimumRank)\n .between(LexoRank.min())\n .toString()\n }\n } else if (destination.index + 1 === destinationStateItems.length) {\n // Now last item in order\n const lastItemOrderRank = [...destinationStateItems].pop()?._metadata\n ?.orderRank\n\n if (lastItemOrderRank && typeof lastItemOrderRank === 'string') {\n newOrder = LexoRank.parse(lastItemOrderRank).genNext().toString()\n } else if (destinationStateIndex === states.length - 1) {\n // Only the last state should generate an absolute maximum rank\n newOrder = LexoRank.max().toString()\n } else {\n // Otherwise create the next rank between max and the globally maximum rank\n newOrder = LexoRank.parse(globalStateMaximumRank)\n .between(LexoRank.min())\n .toString()\n }\n } else {\n // Must be between two items\n const itemBefore = destinationStateItems[destination.index - 1]\n const itemBeforeRank = itemBefore?._metadata?.orderRank\n let itemBeforeRankParsed\n if (itemBeforeRank) {\n itemBeforeRankParsed = LexoRank.parse(itemBeforeRank)\n } else if (destinationStateIndex === 0) {\n itemBeforeRankParsed = LexoRank.min()\n } else {\n itemBeforeRankParsed = LexoRank.parse(globalStateMinimumRank)\n }\n\n const itemAfter = destinationStateItems[destination.index]\n const itemAfterRank = itemAfter?._metadata?.orderRank\n let itemAfterRankParsed\n if (itemAfterRank) {\n itemAfterRankParsed = LexoRank.parse(itemAfterRank)\n } else if (destinationStateIndex === states.length - 1) {\n itemAfterRankParsed = LexoRank.max()\n } else {\n itemAfterRankParsed = LexoRank.parse(globalStateMaximumRank)\n }\n\n newOrder = itemBeforeRankParsed.between(itemAfterRankParsed).toString()\n }\n\n setPatchingIds([...patchingIds, draggableId])\n toast.push({\n status: 'info',\n title: 'Updating document state...',\n })\n await move(draggableId, destination, states, newOrder)\n setPatchingIds((ids: string[]) => ids.filter((id) => id !== draggableId))\n },\n [data, patchingIds, toast, move, states]\n )\n\n // Used for the user filter UI\n const uniqueAssignedUsers = React.useMemo(() => {\n const uniqueUserIds = data.reduce((acc, item) => {\n const {assignees = []} = item._metadata ?? {}\n const newAssignees = assignees?.length\n ? assignees.filter((a) => !acc.includes(a))\n : []\n return newAssignees.length ? [...acc, ...newAssignees] : acc\n }, [] as string[])\n\n return userList.filter((u) => uniqueUserIds.includes(u.id))\n }, [data, userList])\n\n // Selected user IDs filter the visible workflow documents\n const [selectedUserIds, setSelectedUserIds] = React.useState<string[]>(\n uniqueAssignedUsers.map((u) => u.id)\n )\n const toggleSelectedUser = React.useCallback((userId: string) => {\n setSelectedUserIds((prev) =>\n prev.includes(userId)\n ? prev.filter((u) => u !== userId)\n : [...prev, userId]\n )\n }, [])\n const resetSelectedUsers = React.useCallback(() => {\n setSelectedUserIds([])\n }, [])\n\n // Selected schema types filter the visible workflow documents\n const [selectedSchemaTypes, setSelectedSchemaTypes] =\n React.useState<string[]>(schemaTypes)\n const toggleSelectedSchemaType = React.useCallback((schemaType: string) => {\n setSelectedSchemaTypes((prev) =>\n prev.includes(schemaType)\n ? prev.filter((u) => u !== schemaType)\n : [...prev, schemaType]\n )\n }, [])\n\n // Document IDs that have validation errors\n const [invalidDocumentIds, setInvalidDocumentIds] = React.useState<string[]>(\n []\n )\n const toggleInvalidDocumentId = React.useCallback(\n (docId: string, action: 'ADD' | 'REMOVE') => {\n setInvalidDocumentIds((prev) =>\n action === 'ADD' ? [...prev, docId] : prev.filter((id) => id !== docId)\n )\n },\n []\n )\n\n const Clone: DraggableChildrenFn = React.useCallback(\n (provided, snapshot, rubric) => {\n const item = data.find(\n (doc) => doc?._metadata?.documentId === rubric.draggableId\n )\n\n return (\n <div\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n ref={provided.innerRef}\n >\n {item ? (\n <DocumentCard\n // Assumed false, if it's dragging it's not disabled\n isDragDisabled={false}\n // Assumed false, if it's dragging it's not patching\n isPatching={false}\n // Assumed true, if you can drag it you can drop it\n userRoleCanDrop\n isDragging={snapshot.isDragging}\n item={item}\n states={states}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n userList={userList}\n />\n ) : (\n <Feedback title=\"Item not found\" tone=\"caution\" />\n )}\n </div>\n )\n },\n [data, states, toggleInvalidDocumentId, userList]\n )\n\n if (!states?.length) {\n return (\n <Container width={1} padding={5}>\n <Feedback\n tone=\"caution\"\n title=\"Plugin options error\"\n description=\"No States defined in plugin config\"\n />\n </Container>\n )\n }\n\n if (error && !data.length) {\n return (\n <Container width={1} padding={5}>\n <Feedback\n tone=\"critical\"\n title=\"Error querying for Workflow documents\"\n />\n </Container>\n )\n }\n\n return (\n <Flex direction=\"column\" height=\"fill\" overflow=\"hidden\">\n <Verify data={data} userList={userList} states={states} />\n\n <Filters\n uniqueAssignedUsers={uniqueAssignedUsers}\n selectedUserIds={selectedUserIds}\n toggleSelectedUser={toggleSelectedUser}\n resetSelectedUsers={resetSelectedUsers}\n schemaTypes={schemaTypes}\n selectedSchemaTypes={selectedSchemaTypes}\n toggleSelectedSchemaType={toggleSelectedSchemaType}\n />\n <DragDropContext onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Grid columns={states.length} height=\"fill\">\n {states.map((state: State, stateIndex: number) => {\n const userRoleCanDrop = state?.roles?.length\n ? arraysContainMatchingString(state.roles, userRoleNames)\n : true\n const isDropDisabled =\n !userRoleCanDrop || undroppableStates.includes(state.id)\n\n return (\n <Card\n key={state.id}\n borderLeft={stateIndex > 0}\n tone={defaultCardTone}\n >\n <Flex direction=\"column\" height=\"fill\">\n <StateTitle\n state={state}\n requireAssignment={state.requireAssignment ?? false}\n userRoleCanDrop={userRoleCanDrop}\n isDropDisabled={isDropDisabled}\n draggingFrom={draggingFrom}\n documentCount={\n filterItemsAndSort(\n data,\n state.id,\n selectedUserIds,\n selectedSchemaTypes\n ).length\n }\n />\n <Box flex={1}>\n <Droppable\n droppableId={state.id}\n isDropDisabled={isDropDisabled}\n // props required for virtualization\n mode=\"virtual\"\n renderClone={Clone}\n >\n {(provided, snapshot) => (\n <Card\n ref={provided.innerRef}\n tone={\n snapshot.isDraggingOver\n ? `primary`\n : defaultCardTone\n }\n height=\"fill\"\n >\n {loading ? (\n <Flex padding={5} align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n ) : null}\n\n <DocumentList\n data={data}\n invalidDocumentIds={invalidDocumentIds}\n patchingIds={patchingIds}\n selectedSchemaTypes={selectedSchemaTypes}\n selectedUserIds={selectedUserIds}\n state={state}\n states={states}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n user={user}\n userList={userList}\n userRoleCanDrop={userRoleCanDrop}\n />\n\n {/* Not required for virtualized lists */}\n {/* {provided.placeholder} */}\n </Card>\n )}\n </Droppable>\n </Box>\n </Flex>\n </Card>\n )\n })}\n </Grid>\n </DragDropContext>\n </Flex>\n )\n}\n","import {SplitVerticalIcon} from '@sanity/icons'\nimport {Tool} from 'sanity'\n\nimport WorkflowTool from '../components/WorkflowTool'\nimport {WorkflowConfig} from '../types'\n\nexport type WorkflowToolConfig = (options: WorkflowConfig) => Tool\n\nexport const workflowTool: WorkflowToolConfig = (options: WorkflowConfig) => ({\n name: 'workflow',\n title: 'Workflow',\n component: WorkflowTool,\n icon: SplitVerticalIcon,\n options,\n})\n","import {definePlugin, DocumentActionProps, isObjectInputProps} from 'sanity'\n\nimport {AssignWorkflow} from './actions/AssignWorkflow'\nimport {BeginWorkflow} from './actions/BeginWorkflow'\nimport {CompleteWorkflow} from './actions/CompleteWorkflow'\nimport {UpdateWorkflow} from './actions/UpdateWorkflow'\nimport {AssigneesBadge} from './badges/AssigneesBadge'\nimport {StateBadge} from './badges/StateBadge'\nimport {WorkflowProvider} from './components/WorkflowContext'\nimport WorkflowSignal from './components/WorkflowSignal'\nimport {DEFAULT_CONFIG} from './constants'\nimport metadata from './schema/workflow/workflow.metadata'\nimport {workflowTool} from './tools'\nimport {WorkflowConfig} from './types'\n\nexport const workflow = definePlugin<WorkflowConfig>(\n (config = DEFAULT_CONFIG) => {\n const {schemaTypes, states} = {...DEFAULT_CONFIG, ...config}\n\n if (!states?.length) {\n throw new Error(`Workflow plugin: Missing \"states\" in config`)\n }\n\n if (!schemaTypes?.length) {\n throw new Error(`Workflow plugin: Missing \"schemaTypes\" in config`)\n }\n\n return {\n name: 'sanity-plugin-workflow',\n schema: {\n types: [metadata(states)],\n },\n // TODO: Remove 'workflow.metadata' from list of new document types\n // ...\n studio: {\n components: {\n layout: (props) =>\n WorkflowProvider({...props, workflow: {schemaTypes, states}}),\n },\n },\n form: {\n components: {\n input: (props) => {\n if (\n props.id === `root` &&\n isObjectInputProps(props) &&\n schemaTypes.includes(props.schemaType.name)\n ) {\n return WorkflowSignal(props)\n }\n\n return props.renderDefault(props)\n },\n },\n },\n document: {\n actions: (prev, context) => {\n if (!schemaTypes.includes(context.schemaType)) {\n return prev\n }\n\n return [\n (props) => BeginWorkflow(props),\n (props) => AssignWorkflow(props),\n ...states.map(\n (state) => (props: DocumentActionProps) =>\n UpdateWorkflow(props, state)\n ),\n (props) => CompleteWorkflow(props),\n ...prev,\n ]\n },\n badges: (prev, context) => {\n if (!schemaTypes.includes(context.schemaType)) {\n return prev\n }\n\n const {documentId, currentUser} = context\n\n if (!documentId) {\n return prev\n }\n\n return [\n () => StateBadge(documentId),\n () => AssigneesBadge(documentId, currentUser),\n ...prev,\n ]\n },\n },\n tools: [\n // TODO: These configs could be read from Context\n workflowTool({schemaTypes, states}),\n ],\n }\n }\n)\n"],"names":["defineStates","states","API_VERSION","DEFAULT_CONFIG","schemaTypes","id","title","color","roles","transitions","requireAssignment","UserAssignment","props","assignees","userList","documentId","client","useClient","apiVersion","toast","useToast","addAssignee","React","useCallback","userId","user","find","u","push","status","patch","concat","setIfMissing","insert","commit","then","displayName","catch","err","console","error","description","removeAssignee","unset","clearAssignees","jsx","UserSelectMenu","style","maxHeight","value","onAdd","onClear","onRemove","useWorkflowMetadata","ids","data","rawData","loading","useListeningQuery","params","options","keyedMetadata","useMemo","length","reduce","acc","cur","WorkflowContext","createContext","addId","removeId","useWorkflowContext","current","useContext","metadata","WorkflowProvider","setIds","useState","includes","filter","i","Provider","workflow","children","renderDefault","AssignWorkflow","_a","isDialogOpen","setDialogOpen","useProjectUsers","icon","UsersIcon","type","disabled","label","dialog","onClose","content","onHandle","BeginWorkflow","draft","beginning","setBeginning","complete","setComplete","handle","lowestOrderFirstState","fetch","state","createIfNotExists","_id","_type","orderRank","LexoRank","parse","genNext","toString","min","SplitVerticalIcon","CompleteWorkflow","delete","s","isLastState","CheckmarkIcon","arraysContainMatchingString","one","two","some","item","UpdateWorkflow","actionState","_b","_c","_d","useCurrentUser","currentUser","currentState","validation","isValidating","useValidationStatus","hasValidationErrors","requireValidation","v","level","newState","set","onComplete","currentStateIndex","findIndex","actionStateIndex","direction","DirectionIcon","ArrowRightIcon","ArrowLeftIcon","directionLabel","userRoleCanUpdateState","map","r","name","actionStateIsAValidTransition","userAssignmentCanUpdateState","AssigneesBadge","hasMe","assignee","assigneesCount","assigneeUsers","join","StateBadge","WorkflowSignal","replace","useEffect","EditButton","navigateIntent","useRouter","Button","onClick","mode","fontSize","padding","tabIndex","EditIcon","text","Field","schema","useSchema","String","draftId","Spinner","schemaType","get","Feedback","tone","Card","border","jsxs","Flex","align","justify","gap","Preview","layout","UserAssignmentInput","useFormValue","stringValue","Array","isArray","initialRank","lastRankValue","lastRank","nextRank","defineType","liveEdit","fields","defineField","readOnly","list","components","input","initialValue","p","_ref","getClient","lastDocOrderRank","order","of","filterItemsAndSort","items","stateId","selectedUsers","arguments","undefined","selectedSchemaTypes","_metadata","sort","a","b","aOrderRank","bOrderRank","localeCompare","QUERY","groq","__template","useWorkflowDocuments","localDocuments","setLocalDocuments","move","draggedId","destination","newOrder","currentLocalData","newLocalDocuments","droppableId","optimistic","newStateId","document","d","_rev","ifRevisionId","res","message","workflowData","operations","AvatarGroup","users","max","len","me","visibleUsers","slice","UserAvatar","Box","marginRight","paddingLeft","Text","size","UserDisplay","button","popover","setPopover","isOpen","setIsOpen","close","open","useClickOutside","Popover","ref","portal","AddIcon","Grid","CompleteButton","handleComplete","event","currentTarget","Tooltip","TimeAgo","_ref2","time","timeAgo","useTimeAgo","DraftStatus","updatedAt","_updatedAt","Fragment","TextWithTone","dimmed","muted","PublishedStatus","PublishIcon","Validate","onChange","ValidationStatus","hasError","ErrorOutlineIcon","WarningOutlineIcon","DocumentCard","isDragDisabled","isPatching","userRoleCanDrop","isDragging","toggleInvalidDocumentId","isDarkMode","useTheme","sanity","dark","defaultCardTone","optimisticValidation","setOptimisticValidation","handleValidation","updates","cardTone","paddingBottom","paddingX","radius","shadow","Stack","borderBottom","paddingRight","pointerEvents","flex","skipVisibilityCheck","flexShrink","DragHandleIcon","paddingTop","getStyle","draggableStyle","virtualItem","transform","start","draggableTransformY","parseInt","split","position","top","left","width","height","DocumentList","invalidDocumentIds","patchingIds","selectedUserIds","dataFiltered","parentRef","useRef","virtualizer","useVirtualizer","count","getScrollElement","getItemKey","index","estimateSize","overscan","measureElement","element","getBoundingClientRect","overflow","overflowAnchor","scrollBehavior","getTotalSize","getVirtualItems","isInvalid","meInAssignees","Draggable","draggableId","draggableProvided","draggableSnapshot","innerRef","draggableProps","dragHandleProps","key","Filters","uniqueAssignedUsers","toggleSelectedUser","resetSelectedUsers","toggleSelectedSchemaType","meInUniqueAssignees","uniqueAssigneesNotMe","overflowX","MenuButton","UserIcon","menu","Menu","labels","addMe","removeMe","clear","withTooltip","borderRight","ResetIcon","typeName","Symbol","for","c","e","f","g","h","k","l","m","n","q","t","$$typeof","reactIs_production_min","ContextConsumer","Element","ForwardRef","Lazy","Memo","Portal","StrictMode","Suspense","SuspenseList","isAsyncMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","process","env","NODE_ENV","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_SERVER_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","object","$$typeofType","ContextProvider","Profiler","hasWarnedAboutDeprecatedIsAsyncMode","hasWarnedAboutDeprecatedIsConcurrentMode","isConcurrentMode","isProfiler","reactIs_development","reactIsModule","exports","require$$0","require$$1","stylis_min","W","M","x","K","I","B","J","y","F","G","C","charCodeAt","N","trim","charAt","substring","ca","O","A","X","H","D","z","da","ea","fa","w","L","P","Y","E","ha","Q","ia","Z","indexOf","ja","ka","test","aa","ba","la","ma","R","na","oa","S","call","T","U","prefix","V","use","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","memoize","fn","cache","Object","create","arg","reactPropsRegex","isPropValid","prop","AsyncMode","ConcurrentMode","hasSymbol","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","prototype","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","hoistNonReactStatics_cjs","assign","hasOwnProperty","apply","o","freeze","_","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","window","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","forEach","Error","j","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","Map","has","RegExp","registerName","textContent","match","getTag","__webpack_nonce__","head","createElement","childNodes","nodeType","hasAttribute","nextSibling","setAttribute","insertBefore","appendChild","createTextNode","sheet","styleSheets","ownerNode","cssRules","cssText","$","nodes","removeChild","rules","splice","isServer","useCSSOMInjection","gs","names","server","querySelectorAll","getAttribute","parentNode","registerId","reconstructWithOptions","allocateGSInstance","target","hasNameForId","add","Set","clearNames","clearRules","clearTag","fromCharCode","Math","abs","ee","te","ne","re","oe","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","_e","se","ie","ae","plugins","lastIndexOf","ce","le","de","he","pe","fe","ve","inject","getName","ye","ge","Se","we","toLowerCase","Ee","be","isReactComponent","warn","isCss","startsWith","Ne","Ae","Ce","Ie","Pe","Oe","theme","Re","De","je","Te","xe","ke","Ve","ze","Be","Me","Fe","Ye","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","warnTooManyClasses","$as","as","className","forwardRef","withComponent","_foldedDefaultProps","qe","withConfig","navigator","product","styled","Status","Icon","StyledStickyCard","css","StateTitle","isDropDisabled","draggingFrom","documentCount","isSource","paddingY","Badge","InfoOutlineIcon","weight","generateMiddleValue","ranks","rank","firstUndefined","firstDefinedAfter","firstDefinedBefore","findLastIndex","beforeRank","afterRank","between","middle","floor","generateMultipleOrderRanks","end","rankStart","rankEnd","genPrev","StyledFloatingCard","FloatingCard","_ref3","childrenHaveValues","AnimatePresence","motion","div","initial","animate","exit","margin","Verify","documentsWithoutValidMetadataIds","stateExists","documentsWithInvalidUserIds","allAssigneesExist","every","documentsWithoutOrderIds","documentsWithDuplicatedOrderIds","correctDocuments","tx","transaction","removeUsersFromDocuments","validAssignees","addOrderToDocuments","firstOrder","secondOrder","minLexo","maxLexo","resetOrderOfAllDocuments","orphanedMetadataDocumentIds","doc","handleOrphans","WorkflowTool","tool","userRoleNames","setPatchingIds","undroppableStates","setUndroppableStates","setDraggingFrom","handleDragStart","source","currentStateId","undroppableStateIds","statesThatRequireAssignmentIds","documentAssignees","userIsAssignedToDocument","statesThatCannotBeTransitionedToIds","undroppableExceptSelf","handleDragEnd","result","_f","destinationStateItems","destinationStateIndex","globalStateMinimumRank","globalStateMaximumRank","firstItemOrderRank","shift","lastItemOrderRank","pop","itemBefore","itemBeforeRank","itemBeforeRankParsed","itemAfter","itemAfterRank","itemAfterRankParsed","uniqueUserIds","newAssignees","setSelectedUserIds","prev","setSelectedSchemaTypes","setInvalidDocumentIds","docId","action","Clone","provided","snapshot","rubric","Container","DragDropContext","onDragStart","onDragEnd","stateIndex","borderLeft","Droppable","renderClone","isDraggingOver","workflowTool","definePlugin","config","types","studio","form","isObjectInputProps","actions","context","badges","tools"],"mappings":"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","x_google_ignoreList":[31,32,33,34,35,36,37,38,39,40,41,42]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/types/index.ts","../src/constants/index.ts","../src/components/UserAssignment.tsx","../src/hooks/useWorkflowMetadata.tsx","../src/components/WorkflowContext.tsx","../src/actions/AssignWorkflow.tsx","../src/actions/BeginWorkflow.tsx","../src/actions/CompleteWorkflow.tsx","../src/helpers/arraysContainMatchingString.ts","../src/actions/UpdateWorkflow.tsx","../src/badges/AssigneesBadge.tsx","../src/badges/StateBadge.tsx","../src/components/WorkflowSignal.tsx","../src/components/DocumentCard/EditButton.tsx","../src/components/DocumentCard/Field.tsx","../src/components/UserAssignmentInput.tsx","../src/helpers/initialRank.ts","../src/schema/workflow/workflow.metadata.ts","../src/helpers/filterItemsAndSort.ts","../src/hooks/useWorkflowDocuments.tsx","../src/components/DocumentCard/AvatarGroup.tsx","../src/components/UserDisplay.tsx","../src/components/DocumentCard/CompleteButton.tsx","../src/components/DocumentCard/core/TimeAgo.tsx","../src/components/DocumentCard/core/DraftStatus.tsx","../src/components/DocumentCard/core/PublishedStatus.tsx","../src/components/DocumentCard/Validate.tsx","../src/components/DocumentCard/ValidationStatus.tsx","../src/components/DocumentCard/index.tsx","../src/components/DocumentList.tsx","../src/components/Filters.tsx","../src/components/StateTitle/Status.tsx","../src/components/StateTitle/index.tsx","../src/helpers/generateMultipleOrderRanks.ts","../src/components/FloatingCard.tsx","../src/components/Verify.tsx","../src/components/WorkflowTool.tsx","../src/tools/index.ts","../src/index.ts"],"sourcesContent":["import {SanityDocumentLike} from 'sanity'\n\nexport type State = {\n id: string\n transitions: string[]\n title: string\n roles?: string[]\n requireAssignment?: boolean\n requireValidation?: boolean\n // From document badges\n color?: 'primary' | 'success' | 'warning' | 'danger'\n}\n\nexport type StateCheck<Id, States> = {\n id: Id\n // Transitions is an array of State ids\n transitions?: States extends {id: infer Id2}[] ? Id2[] : never\n} & State\n\nexport type WorkflowConfig = {\n schemaTypes: string[]\n states?: State[]\n}\n\nexport function defineStates<\n Id extends string,\n States extends StateCheck<Id, States>[]\n>(states: States): States {\n return states\n}\n\nexport type User = {\n createdAt: string\n displayName: string\n email: string\n familyName: string\n givenName: string\n id: string\n imageUrl: string\n isCurrentUser: boolean\n middleName: string\n projectId: string\n provider: string\n sanityUserId: string\n updatedAt: string\n}\n\nexport type DragData = {\n documentId?: string\n x?: number\n y?: number\n state?: string\n}\n\nexport type Metadata = SanityDocumentLike & {\n _rev: string\n assignees: string[]\n documentId: string\n state: string\n orderRank: string\n}\n\nexport type KeyedMetadata = {[key: string]: Metadata}\n\nexport type SanityDocumentWithMetadata = {\n _metadata: Metadata\n _id: string\n _type: string\n _rev: string\n _updatedAt: string\n}\n","import {defineStates, WorkflowConfig} from '../types'\n\nexport const API_VERSION = `2023-01-01`\n\nexport const DEFAULT_CONFIG: Required<WorkflowConfig> = {\n schemaTypes: [],\n states: defineStates([\n {\n id: 'inReview',\n title: 'In review',\n color: 'primary',\n roles: ['editor', 'administrator'],\n transitions: ['changesRequested', 'approved'],\n },\n {\n id: 'changesRequested',\n title: 'Changes requested',\n color: 'warning',\n roles: ['editor', 'administrator'],\n transitions: ['approved'],\n },\n {\n id: 'approved',\n title: 'Approved',\n color: 'success',\n roles: ['administrator'],\n transitions: ['changesRequested'],\n requireAssignment: true,\n },\n ]),\n}\n","import React from 'react'\nimport {useToast} from '@sanity/ui'\nimport {UserSelectMenu} from 'sanity-plugin-utils'\nimport {useClient} from 'sanity'\n\nimport {User} from '../types'\nimport {API_VERSION} from '../constants'\n\ntype UserAssignmentProps = {\n userList: User[]\n assignees: string[]\n documentId: string\n}\n\nexport default function UserAssignment(props: UserAssignmentProps) {\n const {assignees, userList, documentId} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n const addAssignee = React.useCallback(\n (userId: string) => {\n const user = userList.find((u) => u.id === userId)\n\n if (!userId || !user) {\n return toast.push({\n status: 'error',\n title: 'Could not find User',\n })\n }\n\n return client\n .patch(`workflow-metadata.${documentId}`)\n .setIfMissing({assignees: []})\n .insert(`after`, `assignees[-1]`, [userId])\n .commit()\n .then(() => {\n return toast.push({\n title: `Added ${user.displayName} to assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to add assignee`,\n description: userId,\n status: 'error',\n })\n })\n },\n [documentId, client, toast, userList]\n )\n\n const removeAssignee = React.useCallback(\n (userId: string) => {\n const user = userList.find((u) => u.id === userId)\n\n if (!userId || !user) {\n return toast.push({\n status: 'error',\n title: 'Could not find User',\n })\n }\n\n return client\n .patch(`workflow-metadata.${documentId}`)\n .unset([`assignees[@ == \"${userId}\"]`])\n .commit()\n .then(() => {\n return toast.push({\n title: `Removed ${user.displayName} from assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to remove assignee`,\n description: documentId,\n status: 'error',\n })\n })\n },\n [client, toast, documentId, userList]\n )\n\n const clearAssignees = React.useCallback(() => {\n return client\n .patch(`workflow-metadata.${documentId}`)\n .unset([`assignees`])\n .commit()\n .then(() => {\n return toast.push({\n title: `Cleared assignees`,\n status: 'success',\n })\n })\n .catch((err) => {\n console.error(err)\n\n return toast.push({\n title: `Failed to clear assignees`,\n description: documentId,\n status: 'error',\n })\n })\n }, [client, toast, documentId])\n\n return (\n <UserSelectMenu\n style={{maxHeight: 300}}\n value={assignees || []}\n userList={userList}\n onAdd={addAssignee}\n onClear={clearAssignees}\n onRemove={removeAssignee}\n />\n )\n}\n","import {useMemo} from 'react'\nimport {useListeningQuery} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {KeyedMetadata, Metadata} from '../types'\n\n/**\n * Takes the published ID of documents and return the metadata for those documents.\n *\n * @param ids Source document published IDs\n */\nexport function useWorkflowMetadata(ids: string[]): {\n data: KeyedMetadata\n loading: boolean\n error: boolean | unknown | ProgressEvent\n} {\n const {\n data: rawData,\n loading,\n error,\n } = useListeningQuery<Metadata[]>(\n `*[_type == \"workflow.metadata\" && documentId in $ids]{\n _id,\n _type,\n _rev,\n assignees,\n documentId,\n state,\n orderRank\n }`,\n {\n params: {ids},\n options: {apiVersion: API_VERSION},\n }\n )\n\n const keyedMetadata = useMemo(() => {\n if (!rawData || rawData.length === 0) return {}\n\n return rawData.reduce<KeyedMetadata>((acc, cur) => {\n return {\n ...acc,\n [cur.documentId]: cur,\n }\n }, {})\n }, [rawData])\n\n return {data: keyedMetadata, loading, error}\n}\n","import {useCallback, useContext, useState} from 'react'\nimport {createContext} from 'react'\nimport {LayoutProps} from 'sanity'\n\nimport {DEFAULT_CONFIG} from '../constants'\nimport {useWorkflowMetadata} from '../hooks/useWorkflowMetadata'\nimport {KeyedMetadata, WorkflowConfig} from '../types'\n\nexport type WorkflowContextValue = Required<WorkflowConfig> & {\n data: KeyedMetadata\n loading: boolean\n error: boolean | unknown | ProgressEvent\n ids: string[]\n addId: (id: string) => void\n removeId: (id: string) => void\n}\n\nconst WorkflowContext = createContext<WorkflowContextValue>({\n data: {},\n loading: false,\n error: false,\n ids: [],\n addId: () => null,\n removeId: () => null,\n ...DEFAULT_CONFIG,\n})\n\nexport function useWorkflowContext(id?: string) {\n const current = useContext(WorkflowContext)\n\n return {...current, metadata: id ? current.data[id] : null}\n}\n\ntype WorkflowProviderProps = LayoutProps & {workflow: Required<WorkflowConfig>}\n\n/**\n * This Provider wraps the Studio and provides the workflow context to document actions and badges.\n * This is so individual actions and badges do not need to all register their own listeners.\n * Instead, each document \"signals\" its ID up to the provider, which then registers a single listener\n * This is performed inside of a component loaded at the root level of the Document Form\n */\nexport function WorkflowProvider(props: WorkflowProviderProps) {\n const [ids, setIds] = useState<string[]>([])\n const addId = useCallback(\n (id: string) =>\n setIds((current) => (current.includes(id) ? current : [...current, id])),\n []\n )\n const removeId = useCallback(\n (id: string) => setIds((current) => current.filter((i) => i !== id)),\n []\n )\n const {data, loading, error} = useWorkflowMetadata(ids)\n\n return (\n <WorkflowContext.Provider\n value={{\n data,\n loading,\n error,\n ids,\n addId,\n removeId,\n states: props.workflow.states,\n schemaTypes: props.workflow.schemaTypes,\n }}\n >\n {props.renderDefault(props)}\n </WorkflowContext.Provider>\n )\n}\n","import {UsersIcon} from '@sanity/icons'\nimport {useState} from 'react'\nimport {DocumentActionProps} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport UserAssignment from '../components/UserAssignment'\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function AssignWorkflow(props: DocumentActionProps) {\n const {id} = props\n const {metadata, loading, error} = useWorkflowContext(id)\n const [isDialogOpen, setDialogOpen] = useState(false)\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n if (error) {\n console.error(error)\n }\n\n if (!metadata) {\n return null\n }\n\n return {\n icon: UsersIcon,\n type: 'dialog',\n disabled: !metadata || loading || error,\n label: `Assign`,\n title: metadata ? null : `Document is not in Workflow`,\n dialog: isDialogOpen && {\n type: 'popover',\n onClose: () => {\n setDialogOpen(false)\n },\n content: (\n <UserAssignment\n userList={userList}\n assignees={metadata?.assignees?.length > 0 ? metadata.assignees : []}\n documentId={id}\n />\n ),\n },\n onHandle: () => {\n setDialogOpen(true)\n },\n }\n}\n","import {SplitVerticalIcon} from '@sanity/icons'\nimport {useToast} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport {useCallback, useState} from 'react'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function BeginWorkflow(props: DocumentActionProps) {\n const {id, draft} = props\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n const [beginning, setBeginning] = useState(false)\n const [complete, setComplete] = useState(false)\n\n if (error) {\n console.error(error)\n }\n\n const handle = useCallback(async () => {\n setBeginning(true)\n const lowestOrderFirstState = await client.fetch(\n `*[_type == \"workflow.metadata\" && state == $state]|order(orderRank)[0].orderRank`,\n {state: states[0].id}\n )\n client\n .createIfNotExists({\n _id: `workflow-metadata.${id}`,\n _type: `workflow.metadata`,\n documentId: id,\n state: states[0].id,\n orderRank: lowestOrderFirstState\n ? LexoRank.parse(lowestOrderFirstState).genNext().toString()\n : LexoRank.min().toString(),\n })\n .then(() => {\n toast.push({\n status: 'success',\n title: 'Workflow started',\n description: `Document is now \"${states[0].title}\"`,\n })\n setBeginning(false)\n // Optimistically remove action\n setComplete(true)\n })\n }, [id, states, client, toast])\n\n if (!draft || complete || metadata) {\n return null\n }\n\n return {\n icon: SplitVerticalIcon,\n type: 'dialog',\n disabled: metadata || loading || error || beginning || complete,\n label: beginning ? `Beginning...` : `Begin Workflow`,\n onHandle: () => {\n handle()\n },\n }\n}\n","import {CheckmarkIcon} from '@sanity/icons'\nimport {useCallback} from 'react'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function CompleteWorkflow(props: DocumentActionProps) {\n const {id} = props\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const client = useClient({apiVersion: API_VERSION})\n\n if (error) {\n console.error(error)\n }\n\n const handle = useCallback(() => {\n client.delete(`workflow-metadata.${id}`)\n }, [id, client])\n\n if (!metadata) {\n return null\n }\n\n const state = states.find((s) => s.id === metadata.state)\n const isLastState = state?.id === states[states.length - 1].id\n\n return {\n icon: CheckmarkIcon,\n type: 'dialog',\n disabled: loading || error || !isLastState,\n label: `Complete Workflow`,\n title: isLastState\n ? `Removes the document from the Workflow process`\n : `Cannot remove from workflow until in the last state`,\n onHandle: () => {\n handle()\n },\n color: 'positive',\n }\n}\n","export function arraysContainMatchingString(\n one: string[],\n two: string[]\n): boolean {\n return one.some((item) => two.includes(item))\n}\n","import {ArrowLeftIcon, ArrowRightIcon} from '@sanity/icons'\nimport {useToast} from '@sanity/ui'\nimport {useCurrentUser, useValidationStatus} from 'sanity'\nimport {DocumentActionProps, useClient} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\nimport {arraysContainMatchingString} from '../helpers/arraysContainMatchingString'\nimport {State} from '../types'\n\n// eslint-disable-next-line complexity\nexport function UpdateWorkflow(props: DocumentActionProps, actionState: State) {\n const {id, type} = props\n\n const user = useCurrentUser()\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n const currentUser = useCurrentUser()\n\n const {metadata, loading, error, states} = useWorkflowContext(id)\n const currentState = states.find((s) => s.id === metadata?.state)\n const {assignees = []} = metadata ?? {}\n\n // TODO: Shouldn't the document action props contain this?\n const {validation, isValidating} = useValidationStatus(id, type)\n const hasValidationErrors =\n currentState?.requireValidation &&\n !isValidating &&\n validation?.length > 0 &&\n validation.find((v) => v.level === 'error')\n\n if (error) {\n console.error(error)\n }\n\n const onHandle = (documentId: string, newState: State) => {\n client\n .patch(`workflow-metadata.${documentId}`)\n .set({state: newState.id})\n .commit()\n .then(() => {\n props.onComplete()\n toast.push({\n status: 'success',\n title: `Document state now \"${newState.title}\"`,\n })\n })\n .catch((err) => {\n props.onComplete()\n console.error(err)\n toast.push({\n status: 'error',\n title: `Document state update failed`,\n })\n })\n }\n\n // Remove button if:\n // Document is not in Workflow OR\n // The current State is the same as this actions State\n if (!metadata || (currentState && currentState.id === actionState.id)) {\n return null\n }\n\n const currentStateIndex = states.findIndex((s) => s.id === currentState?.id)\n const actionStateIndex = states.findIndex((s) => s.id === actionState.id)\n const direction = actionStateIndex > currentStateIndex ? 'promote' : 'demote'\n const DirectionIcon = direction === 'promote' ? ArrowRightIcon : ArrowLeftIcon\n const directionLabel = direction === 'promote' ? 'Promote' : 'Demote'\n\n const userRoleCanUpdateState =\n user?.roles?.length && actionState?.roles?.length\n ? // If the Action state is limited to specific roles\n // check that the current user has one of those roles\n arraysContainMatchingString(\n user.roles.map((r) => r.name),\n actionState.roles\n )\n : // No roles specified on the next state, so anyone can update\n actionState?.roles?.length !== 0\n\n const actionStateIsAValidTransition =\n currentState?.id && currentState?.transitions?.length\n ? // If the Current State limits transitions to specific States\n // Check that the Action State is in Current State's transitions array\n currentState.transitions.includes(actionState.id)\n : // Otherwise this isn't a problem\n true\n\n const userAssignmentCanUpdateState = actionState.requireAssignment\n ? // If the Action State requires assigned users\n // Check the current user ID is in the assignees array\n currentUser && assignees?.length && assignees.includes(currentUser.id)\n : // Otherwise this isn't a problem\n true\n\n let title = `${directionLabel} State to \"${actionState.title}\"`\n\n if (!userRoleCanUpdateState) {\n title = `Your User role cannot ${directionLabel} State to \"${actionState.title}\"`\n } else if (!actionStateIsAValidTransition) {\n title = `You cannot ${directionLabel} State to \"${actionState.title}\" from \"${currentState?.title}\"`\n } else if (!userAssignmentCanUpdateState) {\n title = `You must be assigned to the document to ${directionLabel} State to \"${actionState.title}\"`\n } else if (currentState?.requireValidation && isValidating) {\n title = `Document is validating, cannot ${directionLabel} State to \"${actionState.title}\"`\n } else if (hasValidationErrors) {\n title = `Document has validation errors, cannot ${directionLabel} State to \"${actionState.title}\"`\n }\n\n return {\n icon: DirectionIcon,\n disabled:\n loading ||\n error ||\n (currentState?.requireValidation && isValidating) ||\n hasValidationErrors ||\n !currentState ||\n !userRoleCanUpdateState ||\n !actionStateIsAValidTransition ||\n !userAssignmentCanUpdateState,\n title,\n label: actionState.title,\n onHandle: () => onHandle(id, actionState),\n }\n}\n","import {CurrentUser, DocumentBadgeDescription} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\nimport {API_VERSION} from '../constants'\n\nexport function AssigneesBadge(\n documentId: string,\n currentUser: CurrentUser | null\n): DocumentBadgeDescription | null {\n const {metadata, loading, error} = useWorkflowContext(documentId)\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n if (loading || error || !metadata) {\n if (error) {\n console.error(error)\n }\n\n return null\n }\n\n if (!metadata?.assignees?.length) {\n return {\n label: 'Unassigned',\n }\n }\n\n const {assignees} = metadata ?? []\n const hasMe = currentUser\n ? assignees.some((assignee) => assignee === currentUser.id)\n : false\n const assigneesCount = hasMe ? assignees.length - 1 : assignees.length\n const assigneeUsers = userList.filter((user) => assignees.includes(user.id))\n const title = assigneeUsers.map((user) => user.displayName).join(', ')\n\n let label\n\n if (hasMe && assigneesCount === 0) {\n label = 'Assigned to Me'\n } else if (hasMe && assigneesCount > 0) {\n label = `Me and ${assigneesCount} ${\n assigneesCount === 1 ? 'other' : 'others'\n }`\n } else {\n label = `${assigneesCount} assigned`\n }\n\n return {\n label,\n title,\n color: 'primary',\n }\n}\n","import {DocumentBadgeDescription} from 'sanity'\n\nimport {useWorkflowContext} from '../components/WorkflowContext'\n\nexport function StateBadge(\n documentId: string\n): DocumentBadgeDescription | null {\n const {metadata, loading, error, states} = useWorkflowContext(documentId)\n const state = states.find((s) => s.id === metadata?.state)\n\n if (loading || error) {\n if (error) {\n console.error(error)\n }\n\n return null\n }\n\n if (!state) {\n return null\n }\n\n return {\n label: state.title,\n // title: state.title,\n color: state?.color,\n }\n}\n","import {useEffect} from 'react'\nimport {ObjectInputProps} from 'sanity'\n\nimport {useWorkflowContext} from './WorkflowContext'\n\n// This component is loaded at the root level of the Document Form\n// It is used to signal the document ID to the WorkflowProvider\nexport default function WorkflowSignal(props: ObjectInputProps) {\n const documentId = props?.value?._id\n ? props.value._id.replace(`drafts.`, ``)\n : null\n\n const {addId, removeId} = useWorkflowContext()\n\n useEffect(() => {\n // On mount, add to the query of listening documents\n if (documentId) {\n addId(documentId)\n }\n\n // On unmount, remove from the query of listening documents\n return () => {\n if (documentId) {\n removeId(documentId)\n }\n }\n }, [documentId, addId, removeId])\n\n return props.renderDefault(props)\n}\n","import {Button} from '@sanity/ui'\nimport {EditIcon} from '@sanity/icons'\nimport {useRouter} from 'sanity/router'\n\ntype EditButtonProps = {\n id: string\n type: string\n disabled?: boolean\n}\n\nexport default function EditButton(props: EditButtonProps) {\n const {id, type, disabled = false} = props\n const {navigateIntent} = useRouter()\n\n return (\n <Button\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => navigateIntent('edit', {id, type})}\n mode=\"ghost\"\n fontSize={1}\n padding={2}\n tabIndex={-1}\n icon={EditIcon}\n text=\"Edit\"\n disabled={disabled}\n />\n )\n}\n","import {Flex, Card, Spinner} from '@sanity/ui'\nimport {Preview, SanityDocument, StringInputProps, useSchema} from 'sanity'\nimport {useListeningQuery, Feedback} from 'sanity-plugin-utils'\n\nimport EditButton from './EditButton'\n\n// TODO: Update this to use the same component as the Tool\nexport default function Field(props: StringInputProps) {\n const schema = useSchema()\n const {data, loading, error} = useListeningQuery<SanityDocument>(\n `*[_id in [$id, $draftId]]|order(_updatedAt)[0]`,\n {\n params: {\n id: String(props.value),\n draftId: `drafts.${String(props.value)}`,\n },\n }\n )\n\n if (loading) {\n return <Spinner />\n }\n\n const schemaType = schema.get(data?._type ?? ``)\n\n if (error || !data?._type || !schemaType) {\n return <Feedback tone=\"critical\" title=\"Error with query\" />\n }\n\n return (\n <Card border padding={2}>\n <Flex align=\"center\" justify=\"space-between\" gap={2}>\n <Preview layout=\"default\" value={data} schemaType={schemaType} />\n <EditButton id={data._id} type={data._type} />\n </Flex>\n </Card>\n )\n}\n","import {Card} from '@sanity/ui'\nimport {FunctionComponent} from 'react'\nimport {ArraySchemaType, ArrayOfPrimitivesInputProps, useFormValue} from 'sanity'\nimport {useProjectUsers} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport UserAssignment from './UserAssignment'\n\nconst UserAssignmentInput: FunctionComponent<\n ArrayOfPrimitivesInputProps<string | number | boolean, ArraySchemaType>\n> = (props) => {\n const documentId = useFormValue([`documentId`])\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n const stringValue =\n Array.isArray(props?.value) && props?.value?.length\n ? props.value.map((item) => String(item))\n : []\n\n return (\n <Card border padding={1}>\n <UserAssignment userList={userList} assignees={stringValue} documentId={String(documentId)} />\n </Card>\n )\n}\n\nexport default UserAssignmentInput\n","import {LexoRank} from 'lexorank'\n\n// Use in initial value field by passing in the rank value of the last document\n// If not value passed, generate a sensibly low rank\nexport default function initialRank(lastRankValue = ``): string {\n const lastRank =\n lastRankValue && typeof lastRankValue === 'string'\n ? LexoRank.parse(lastRankValue)\n : LexoRank.min()\n const nextRank = lastRank.genNext().genNext()\n\n return (nextRank as any).value\n}\n","import {defineField, defineType} from 'sanity'\n\nimport Field from '../../components/DocumentCard/Field'\nimport UserAssignmentInput from '../../components/UserAssignmentInput'\nimport {API_VERSION} from '../../constants'\nimport initialRank from '../../helpers/initialRank'\nimport {State} from '../../types'\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport default (states: State[]) =>\n defineType({\n type: 'document',\n name: 'workflow.metadata',\n title: 'Workflow metadata',\n liveEdit: true,\n fields: [\n defineField({\n name: 'state',\n description: `The current \"State\" of the document. Field is read only as changing it would not fire the state's \"operation\" setting. These are fired in the Document Actions and in the custom Tool.`,\n readOnly: true,\n type: 'string',\n options: {\n list: states.length\n ? states.map((state) => ({\n value: state.id,\n title: state.title,\n }))\n : [],\n layout: 'radio',\n },\n }),\n defineField({\n name: 'documentId',\n title: 'Document ID',\n description:\n 'Used to help identify the target document that this metadata is tracking state for.',\n type: 'string',\n readOnly: true,\n components: {\n input: Field,\n },\n }),\n defineField({\n name: 'orderRank',\n description: 'Used to maintain order position of cards in the Tool.',\n type: 'string',\n readOnly: true,\n initialValue: async (p, {getClient}) => {\n const lastDocOrderRank = await getClient({\n apiVersion: API_VERSION,\n }).fetch(`*[_type == $type]|order(@[$order] desc)[0][$order]`, {\n order: `orderRank`,\n type: `workflow.metadata`,\n })\n\n return initialRank(lastDocOrderRank)\n },\n }),\n defineField({\n type: 'array',\n name: 'assignees',\n of: [{type: 'string'}],\n components: {\n input: UserAssignmentInput,\n },\n }),\n ],\n })\n","import {SanityDocumentWithMetadata} from '../types'\n\nexport function filterItemsAndSort(\n items: SanityDocumentWithMetadata[],\n stateId: string,\n selectedUsers: string[] = [],\n selectedSchemaTypes: null | string[] = []\n): SanityDocumentWithMetadata[] {\n return (\n items\n // Only items that have existing documents\n .filter((item) => item?._id)\n // Only items of this state\n .filter((item) => item?._metadata?.state === stateId)\n // Only items with selected users, if the document has any assigned users\n .filter((item) =>\n selectedUsers.length && item._metadata?.assignees?.length\n ? item._metadata?.assignees.some((assignee) =>\n selectedUsers.includes(assignee)\n )\n : !selectedUsers.length\n )\n // Only items of selected schema types, if any are selected\n .filter((item) => {\n if (!selectedSchemaTypes) {\n return true\n }\n\n return selectedSchemaTypes.length\n ? selectedSchemaTypes.includes(item._type)\n : false\n })\n // Sort by metadata orderRank, a string field\n .sort((a, b) => {\n const aOrderRank = a._metadata?.orderRank || '0'\n const bOrderRank = b._metadata?.orderRank || '0'\n\n return aOrderRank.localeCompare(bOrderRank)\n })\n )\n}\n","import {DraggableLocation} from '@hello-pangea/dnd'\nimport {useToast} from '@sanity/ui'\nimport groq from 'groq'\nimport React from 'react'\nimport {useClient} from 'sanity'\nimport {useListeningQuery} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {SanityDocumentWithMetadata, State} from '../types'\n\nconst QUERY = groq`*[_type == \"workflow.metadata\"]|order(orderRank){\n \"_metadata\": {\n _rev,\n assignees,\n documentId,\n state,\n orderRank,\n \"draftDocumentId\": \"drafts.\" + documentId,\n }\n}{\n ...,\n ...(\n *[_id == ^._metadata.documentId || _id == ^._metadata.draftDocumentId]|order(_updatedAt)[0]{ \n _id, \n _type, \n _rev, \n _updatedAt \n }\n )\n}`\n\ntype WorkflowDocuments = {\n workflowData: {\n data: SanityDocumentWithMetadata[]\n loading: boolean\n error: boolean | unknown | ProgressEvent\n }\n operations: {\n move: (\n draggedId: string,\n destination: DraggableLocation,\n states: State[],\n newOrder: string\n ) => void\n }\n}\n\nexport function useWorkflowDocuments(schemaTypes: string[]): WorkflowDocuments {\n const toast = useToast()\n const client = useClient({apiVersion: API_VERSION})\n\n // Get and listen to changes on documents + workflow metadata documents\n const {data, loading, error} = useListeningQuery<\n SanityDocumentWithMetadata[]\n >(QUERY, {\n params: {schemaTypes},\n initialValue: [],\n })\n\n const [localDocuments, setLocalDocuments] = React.useState<\n SanityDocumentWithMetadata[]\n >([])\n\n React.useEffect(() => {\n if (data) {\n setLocalDocuments(data)\n }\n }, [data])\n\n const move = React.useCallback(\n async (\n draggedId: string,\n destination: DraggableLocation,\n states: State[],\n newOrder: string\n ) => {\n // Optimistic update\n const currentLocalData = localDocuments\n const newLocalDocuments = localDocuments.map((item) => {\n if (item?._metadata?.documentId === draggedId) {\n return {\n ...item,\n _metadata: {\n ...item._metadata,\n state: destination.droppableId,\n orderRank: newOrder,\n // This value won't be written to the document\n // It's done so that un/publish operations don't happen twice\n // Because a moved document's card will update once optimistically\n // and then again when the document is updated\n optimistic: true,\n },\n }\n }\n\n return item\n })\n\n setLocalDocuments(newLocalDocuments)\n\n // Now client-side update\n const newStateId = destination.droppableId\n const newState = states.find((s) => s.id === newStateId)\n const document = localDocuments.find(\n (d) => d?._metadata?.documentId === draggedId\n )\n\n if (!newState?.id) {\n toast.push({\n title: `Could not find target state ${newStateId}`,\n status: 'error',\n })\n return null\n }\n\n if (!document) {\n toast.push({\n title: `Could not find dragged document in data`,\n status: 'error',\n })\n return null\n }\n\n // We need to know if it's a draft or not\n const {_id, _type} = document\n\n // Metadata + useDocumentOperation always uses Published id\n const {documentId, _rev} = document._metadata || {}\n\n await client\n .patch(`workflow-metadata.${documentId}`)\n .ifRevisionId(_rev)\n .set({state: newStateId, orderRank: newOrder})\n .commit()\n .then((res) => {\n toast.push({\n title:\n newState.id === document._metadata.state\n ? `Reordered in \"${newState?.title ?? newStateId}\"`\n : `Moved to \"${newState?.title ?? newStateId}\"`,\n status: 'success',\n })\n return res\n })\n .catch((err) => {\n // Revert optimistic update\n setLocalDocuments(currentLocalData)\n\n toast.push({\n title: `Failed to move to \"${newState?.title ?? newStateId}\"`,\n description: err.message,\n status: 'error',\n })\n return null\n })\n\n // Send back to the workflow board so a document update can happen\n return {_id, _type, documentId, state: newState as State}\n },\n [client, toast, localDocuments]\n )\n\n return {\n workflowData: {data: localDocuments, loading, error},\n operations: {move},\n }\n}\n","import React from 'react'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {useCurrentUser, UserAvatar} from 'sanity'\n\nimport {User} from '../../types'\n\ntype AvatarGroupProps = {\n users: User[]\n max?: number\n}\n\nexport default function AvatarGroup(props: AvatarGroupProps) {\n const currentUser = useCurrentUser()\n const {users, max = 4} = props\n\n const len = users?.length\n const {me, visibleUsers} = React.useMemo(() => {\n return {\n me: currentUser?.id ? users.find((u) => u.id === currentUser.id) : undefined,\n visibleUsers: users.filter((u) => u.id !== currentUser?.id).slice(0, max - 1),\n }\n }, [users, max, currentUser])\n\n if (!users?.length) {\n return null\n }\n\n return (\n <Flex align=\"center\" gap={1}>\n {me ? <UserAvatar user={me} /> : null}\n {visibleUsers.map((user) => (\n <Box key={user.id} style={{marginRight: -8}}>\n <UserAvatar user={user} />\n </Box>\n ))}\n {len > max && (\n <Box paddingLeft={2}>\n <Text size={1}>+{len - max}</Text>\n </Box>\n )}\n </Flex>\n )\n}\n","import React from 'react'\nimport {Button, Grid, Popover, useClickOutside} from '@sanity/ui'\nimport {AddIcon} from '@sanity/icons'\n\nimport AvatarGroup from './DocumentCard/AvatarGroup'\nimport {User} from '../types'\nimport UserAssignment from './UserAssignment'\n\ntype UserDisplayProps = {\n userList: User[]\n assignees: string[]\n documentId: string\n disabled?: boolean\n}\n\nexport default function UserDisplay(props: UserDisplayProps) {\n const {assignees, userList, documentId, disabled = false} = props\n\n const [button] = React.useState(null)\n const [popover, setPopover] = React.useState(null)\n const [isOpen, setIsOpen] = React.useState(false)\n\n const close = React.useCallback(() => setIsOpen(false), [])\n const open = React.useCallback(() => setIsOpen(true), [])\n\n useClickOutside(close, [button, popover])\n\n return (\n <Popover\n // @ts-ignore\n ref={setPopover}\n content={<UserAssignment userList={userList} assignees={assignees} documentId={documentId} />}\n portal\n open={isOpen}\n >\n {!assignees || assignees.length === 0 ? (\n <Button\n onClick={open}\n fontSize={1}\n padding={2}\n tabIndex={-1}\n icon={AddIcon}\n text=\"Assign\"\n tone=\"positive\"\n mode=\"ghost\"\n disabled={disabled}\n />\n ) : (\n <Grid>\n <Button onClick={open} padding={0} mode=\"bleed\" disabled={disabled}>\n <AvatarGroup users={userList.filter((u) => assignees.includes(u.id))} />\n </Button>\n </Grid>\n )}\n </Popover>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons'\nimport {Box, Button, Text, Tooltip, useToast} from '@sanity/ui'\nimport React from 'react'\nimport {useClient} from 'sanity'\n\nimport {API_VERSION} from '../../constants'\n\ntype CompleteButtonProps = {\n documentId: string\n disabled: boolean\n}\n\nexport default function CompleteButton(props: CompleteButtonProps) {\n const {documentId, disabled = false} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n const handleComplete: React.MouseEventHandler<HTMLButtonElement> =\n React.useCallback(\n (event) => {\n const id = event.currentTarget.value\n\n if (!id) {\n return\n }\n\n client\n .delete(`workflow-metadata.${id}`)\n .then(() => {\n toast.push({\n status: 'success',\n title: 'Workflow completed',\n })\n })\n .catch(() => {\n toast.push({\n status: 'error',\n title: 'Could not complete Workflow',\n })\n })\n },\n [client, toast]\n )\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>Remove this document from Workflow</Text>\n </Box>\n }\n >\n <Button\n value={documentId}\n onClick={handleComplete}\n text=\"Complete\"\n icon={CheckmarkIcon}\n tone=\"positive\"\n mode=\"ghost\"\n fontSize={1}\n padding={2}\n tabIndex={-1}\n disabled={disabled}\n />\n </Tooltip>\n )\n}\n","import {useTimeAgo} from 'sanity'\n\nexport interface TimeAgoProps {\n time: string | Date\n}\n\nexport function TimeAgo({time}: TimeAgoProps) {\n const timeAgo = useTimeAgo(time)\n\n return <span title={timeAgo}>{timeAgo} ago</span>\n}\n","import {EditIcon} from '@sanity/icons'\nimport {PreviewValue, SanityDocument} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\nimport {TimeAgo} from './TimeAgo'\n\nexport function DraftStatus(props: {document?: PreviewValue | Partial<SanityDocument> | null}) {\n const {document} = props\n const updatedAt = document && '_updatedAt' in document && document._updatedAt\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Edited {updatedAt && <TimeAgo time={updatedAt} />}</>\n ) : (\n <>No unpublished edits</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"caution\" dimmed={!document} muted={!document} size={1}>\n <EditIcon />\n </TextWithTone>\n </Tooltip>\n )\n}\n","import {PublishIcon} from '@sanity/icons'\nimport {PreviewValue, SanityDocument} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\nimport {TimeAgo} from './TimeAgo'\n\nexport function PublishedStatus(props: {\n document?: PreviewValue | Partial<SanityDocument> | null\n}) {\n const {document} = props\n const updatedAt = document && '_updatedAt' in document && document._updatedAt\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Published {updatedAt && <TimeAgo time={updatedAt} />}</>\n ) : (\n <>Not published</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone\n tone=\"positive\"\n dimmed={!document}\n muted={!document}\n size={1}\n >\n <PublishIcon />\n </TextWithTone>\n </Tooltip>\n )\n}\n","import {useEffect} from 'react'\nimport {useValidationStatus, ValidationStatus} from 'sanity'\n\ntype ValidateProps = {\n documentId: string\n type: string\n onChange: (validation: ValidationStatus) => void\n}\n\n// Document validation is siloed into its own component\n// Because it's not performant to run on a lot of documents\nexport default function Validate(props: ValidateProps) {\n const {documentId, type, onChange} = props\n const {isValidating, validation = []} = useValidationStatus(documentId, type)\n\n useEffect(() => {\n onChange({isValidating, validation})\n }, [onChange, isValidating, validation])\n\n return null\n}\n","import {ErrorOutlineIcon, WarningOutlineIcon} from '@sanity/icons'\nimport {ValidationMarker} from '@sanity/types'\nimport {Box, Text, Tooltip} from '@sanity/ui'\nimport {TextWithTone} from 'sanity'\n\ntype ValidationStatusProps = {\n validation: ValidationMarker[]\n}\n\nexport function ValidationStatus(props: ValidationStatusProps) {\n const {validation = []} = props\n\n if (!validation.length) {\n return null\n }\n\n const hasError = validation.some((item) => item.level === 'error')\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {validation.length === 1\n ? `1 validation issue`\n : `${validation.length} validation issues`}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone={hasError ? `critical` : `caution`} size={1}>\n {hasError ? <ErrorOutlineIcon /> : <WarningOutlineIcon />}\n </TextWithTone>\n </Tooltip>\n )\n}\n","/* eslint-disable react/prop-types */\nimport {DragHandleIcon} from '@sanity/icons'\nimport {Box, Card, CardTone, Flex, Stack, useTheme} from '@sanity/ui'\nimport {useCallback, useEffect, useMemo, useState} from 'react'\nimport {\n SchemaType,\n useSchema,\n ValidationStatus as ValidationStatusType,\n} from 'sanity'\nimport {Preview} from 'sanity'\n\nimport {SanityDocumentWithMetadata, State, User} from '../../types'\nimport UserDisplay from '../UserDisplay'\nimport CompleteButton from './CompleteButton'\nimport {DraftStatus} from './core/DraftStatus'\nimport {PublishedStatus} from './core/PublishedStatus'\nimport EditButton from './EditButton'\nimport Validate from './Validate'\nimport {ValidationStatus} from './ValidationStatus'\n\ntype DocumentCardProps = {\n isDragDisabled: boolean\n isPatching: boolean\n userRoleCanDrop: boolean\n isDragging: boolean\n item: SanityDocumentWithMetadata\n states: State[]\n toggleInvalidDocumentId: (\n documentId: string,\n action: 'ADD' | 'REMOVE'\n ) => void\n userList: User[]\n}\n\nexport function DocumentCard(props: DocumentCardProps) {\n const {\n isDragDisabled,\n isPatching,\n userRoleCanDrop,\n isDragging,\n item,\n states,\n toggleInvalidDocumentId,\n userList,\n } = props\n const {assignees = [], documentId} = item._metadata ?? {}\n const schema = useSchema()\n const state = states.find((s) => s.id === item._metadata?.state)\n\n const isDarkMode = useTheme().sanity.color.dark\n const defaultCardTone = isDarkMode ? `transparent` : `default`\n\n // Validation only runs if the state requests it\n // Because it's not performant to run it on many documents simultaneously\n // So we fake it here, and maybe set it inside <Validate />\n const [optimisticValidation, setOptimisticValidation] =\n useState<ValidationStatusType>({\n isValidating: state?.requireValidation ?? false,\n validation: [],\n })\n\n const {isValidating, validation} = optimisticValidation\n\n const handleValidation = useCallback((updates: ValidationStatusType) => {\n setOptimisticValidation(updates)\n }, [])\n\n const cardTone = useMemo(() => {\n let tone: CardTone = defaultCardTone\n\n if (!userRoleCanDrop) return isDarkMode ? `default` : `transparent`\n if (!documentId) return tone\n if (isPatching) tone = isDarkMode ? `default` : `transparent`\n if (isDragging) tone = `positive`\n\n if (state?.requireValidation && !isValidating && validation.length > 0) {\n if (validation.some((v) => v.level === 'error')) {\n tone = `critical`\n } else {\n tone = `caution`\n }\n }\n\n return tone\n }, [\n defaultCardTone,\n userRoleCanDrop,\n isPatching,\n isDarkMode,\n documentId,\n isDragging,\n isValidating,\n validation,\n state?.requireValidation,\n ])\n\n // Update validation status\n // Cannot be done in the above memo because it would set state during render\n useEffect(() => {\n if (!isValidating && validation.length > 0) {\n if (validation.some((v) => v.level === 'error')) {\n toggleInvalidDocumentId(documentId, 'ADD')\n } else {\n toggleInvalidDocumentId(documentId, 'REMOVE')\n }\n } else {\n toggleInvalidDocumentId(documentId, 'REMOVE')\n }\n }, [documentId, isValidating, toggleInvalidDocumentId, validation])\n\n const hasError = useMemo(\n () => (isValidating ? false : validation.some((v) => v.level === 'error')),\n [isValidating, validation]\n )\n\n const isLastState = useMemo(\n () => states[states.length - 1].id === item._metadata?.state,\n [states, item._metadata.state]\n )\n\n return (\n <>\n {state?.requireValidation ? (\n <Validate\n documentId={documentId}\n type={item._type}\n onChange={handleValidation}\n />\n ) : null}\n <Box paddingBottom={3} paddingX={3}>\n <Card radius={2} shadow={isDragging ? 3 : 1} tone={cardTone}>\n <Stack>\n <Card\n borderBottom\n radius={2}\n paddingRight={2}\n tone={cardTone}\n style={{pointerEvents: 'none'}}\n >\n <Flex align=\"center\" justify=\"space-between\" gap={1}>\n <Box flex={1}>\n <Preview\n layout=\"default\"\n skipVisibilityCheck\n value={item}\n schemaType={schema.get(item._type) as SchemaType}\n />\n </Box>\n <Box style={{flexShrink: 0}}>\n {hasError || isDragDisabled || isPatching ? null : (\n <DragHandleIcon />\n )}\n </Box>\n </Flex>\n </Card>\n\n <Card padding={2} radius={2} tone=\"inherit\">\n <Flex align=\"center\" justify=\"space-between\" gap={3}>\n <Box flex={1}>\n {documentId && (\n <UserDisplay\n userList={userList}\n assignees={assignees}\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n )}\n </Box>\n {validation.length > 0 ? (\n <ValidationStatus validation={validation} />\n ) : null}\n <DraftStatus document={item} />\n <PublishedStatus document={item} />\n <EditButton\n id={item._id}\n type={item._type}\n disabled={!userRoleCanDrop}\n />\n {isLastState && states.length <= 3 ? (\n <CompleteButton\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n ) : null}\n </Flex>\n {isLastState && states.length > 3 ? (\n <Stack paddingTop={2}>\n <CompleteButton\n documentId={documentId}\n disabled={!userRoleCanDrop}\n />\n </Stack>\n ) : null}\n </Card>\n </Stack>\n </Card>\n </Box>\n </>\n )\n}\n","import {Draggable, DraggableStyle} from '@hello-pangea/dnd'\nimport {useVirtualizer, VirtualItem} from '@tanstack/react-virtual'\nimport {CSSProperties, useMemo, useRef} from 'react'\nimport {CurrentUser} from 'sanity'\nimport {UserExtended} from 'sanity-plugin-utils'\n\nimport {filterItemsAndSort} from '../helpers/filterItemsAndSort'\nimport {SanityDocumentWithMetadata, State} from '../types'\nimport {DocumentCard} from './DocumentCard'\n\ntype DocumentListProps = {\n data: SanityDocumentWithMetadata[]\n invalidDocumentIds: string[]\n patchingIds: string[]\n selectedSchemaTypes: string[]\n selectedUserIds: string[]\n state: State\n states: State[]\n toggleInvalidDocumentId: (\n documentId: string,\n action: 'ADD' | 'REMOVE'\n ) => void\n user: CurrentUser | null\n userList: UserExtended[]\n userRoleCanDrop: boolean\n}\n\nfunction getStyle(\n draggableStyle: DraggableStyle | undefined,\n virtualItem: VirtualItem\n): CSSProperties {\n // Default transform required by tanstack virtual for positioning\n let transform = `translateY(${virtualItem.start}px)`\n\n // If a card is being dragged over, this card needs to move up or down\n if (draggableStyle && draggableStyle.transform) {\n // So get the transform value from beautiful-dnd\n const draggableTransformY = parseInt(\n draggableStyle.transform.split(',')[1].split('px')[0],\n 10\n )\n\n // And apply it to the card\n transform = `translateY(${virtualItem.start + draggableTransformY}px)`\n }\n\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: `${virtualItem.size}px`,\n transform,\n }\n}\n\nexport default function DocumentList(props: DocumentListProps) {\n const {\n data = [],\n invalidDocumentIds,\n patchingIds,\n selectedSchemaTypes,\n selectedUserIds,\n state,\n states,\n toggleInvalidDocumentId,\n user,\n userList,\n userRoleCanDrop,\n } = props\n\n const dataFiltered = useMemo(() => {\n return data.length\n ? filterItemsAndSort(data, state.id, selectedUserIds, selectedSchemaTypes)\n : []\n }, [data, selectedSchemaTypes, selectedUserIds, state.id])\n\n const parentRef = useRef(null)\n\n const virtualizer = useVirtualizer({\n count: dataFiltered.length,\n getScrollElement: () => parentRef.current,\n getItemKey: (index) => dataFiltered[index]?._metadata?.documentId ?? index,\n estimateSize: () => 115,\n overscan: 7,\n measureElement: (element) => {\n return element.getBoundingClientRect().height || 115\n },\n })\n\n if (!data.length || !dataFiltered.length) {\n return null\n }\n\n return (\n <div\n ref={parentRef}\n style={{\n height: `100%`,\n overflow: 'auto',\n // Smooths scrollbar behaviour\n overflowAnchor: 'none',\n scrollBehavior: 'auto',\n paddingTop: 1,\n }}\n >\n <div\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const item = dataFiltered[virtualItem.index]\n\n const {documentId, assignees} = item?._metadata ?? {}\n\n const isInvalid = invalidDocumentIds.includes(documentId)\n const meInAssignees = user?.id ? assignees?.includes(user.id) : false\n const isDragDisabled =\n patchingIds.includes(documentId) ||\n !userRoleCanDrop ||\n isInvalid ||\n !(state.requireAssignment\n ? state.requireAssignment && meInAssignees\n : true)\n\n return (\n <Draggable\n key={virtualItem.key}\n draggableId={documentId}\n index={virtualItem.index}\n isDragDisabled={isDragDisabled}\n >\n {(draggableProvided, draggableSnapshot) => (\n <div\n ref={draggableProvided.innerRef}\n {...draggableProvided.draggableProps}\n {...draggableProvided.dragHandleProps}\n style={getStyle(\n draggableProvided.draggableProps.style,\n virtualItem\n )}\n >\n <div\n ref={virtualizer.measureElement}\n data-index={virtualItem.index}\n >\n <DocumentCard\n userRoleCanDrop={userRoleCanDrop}\n isDragDisabled={isDragDisabled}\n isPatching={patchingIds.includes(documentId)}\n isDragging={draggableSnapshot.isDragging}\n item={item}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n userList={userList}\n states={states}\n />\n </div>\n </div>\n )}\n </Draggable>\n )\n })}\n </div>\n </div>\n )\n}\n","import {ResetIcon, UserIcon} from '@sanity/icons'\nimport {Button, Card, Flex, Menu, MenuButton} from '@sanity/ui'\nimport {useCallback} from 'react'\nimport {useCurrentUser, UserAvatar, useSchema} from 'sanity'\nimport {UserExtended, UserSelectMenu} from 'sanity-plugin-utils'\n\ntype FiltersProps = {\n uniqueAssignedUsers: UserExtended[]\n selectedUserIds: string[]\n schemaTypes: string[]\n selectedSchemaTypes: string[]\n toggleSelectedUser: (userId: string) => void\n resetSelectedUsers: () => void\n toggleSelectedSchemaType: (schemaType: string) => void\n}\n\nexport default function Filters(props: FiltersProps) {\n const {\n uniqueAssignedUsers = [],\n selectedUserIds,\n schemaTypes,\n selectedSchemaTypes,\n toggleSelectedUser,\n resetSelectedUsers,\n toggleSelectedSchemaType,\n } = props\n\n const currentUser = useCurrentUser()\n const schema = useSchema()\n\n const onAdd = useCallback(\n (id: string) => {\n if (!selectedUserIds.includes(id)) {\n toggleSelectedUser(id)\n }\n },\n [selectedUserIds, toggleSelectedUser]\n )\n\n const onRemove = useCallback(\n (id: string) => {\n if (selectedUserIds.includes(id)) {\n toggleSelectedUser(id)\n }\n },\n [selectedUserIds, toggleSelectedUser]\n )\n\n const onClear = useCallback(() => {\n resetSelectedUsers()\n }, [resetSelectedUsers])\n\n if (uniqueAssignedUsers.length === 0 && schemaTypes.length < 2) {\n return null\n }\n\n const meInUniqueAssignees =\n currentUser?.id && uniqueAssignedUsers.find((u) => u.id === currentUser.id)\n const uniqueAssigneesNotMe = uniqueAssignedUsers.filter(\n (u) => u.id !== currentUser?.id\n )\n\n return (\n <Card tone=\"primary\" padding={2} borderBottom style={{overflowX: 'hidden'}}>\n <Flex align=\"center\">\n <Flex align=\"center\" gap={1} flex={1}>\n {uniqueAssignedUsers.length > 5 ? (\n <Card tone=\"default\">\n <MenuButton\n button={\n <Button\n padding={3}\n fontSize={1}\n text=\"Filter Assignees\"\n tone=\"primary\"\n icon={UserIcon}\n />\n }\n id=\"user-filters\"\n menu={\n <Menu>\n <UserSelectMenu\n value={selectedUserIds}\n userList={uniqueAssignedUsers}\n onAdd={onAdd}\n onRemove={onRemove}\n onClear={onClear}\n labels={{\n addMe: 'Filter mine',\n removeMe: 'Clear mine',\n clear: 'Clear filters',\n }}\n />\n </Menu>\n }\n popover={{portal: true}}\n />\n </Card>\n ) : (\n <>\n {meInUniqueAssignees ? (\n <>\n <Button\n padding={0}\n mode={\n selectedUserIds.includes(currentUser.id)\n ? `default`\n : `bleed`\n }\n onClick={() => toggleSelectedUser(currentUser.id)}\n >\n <Flex padding={1} align=\"center\" justify=\"center\">\n <UserAvatar user={currentUser.id} size={1} withTooltip />\n </Flex>\n </Button>\n <Card borderRight style={{height: 30}} tone=\"inherit\" />\n </>\n ) : null}\n {uniqueAssigneesNotMe.map((user) => (\n <Button\n key={user.id}\n padding={0}\n mode={selectedUserIds.includes(user.id) ? `default` : `bleed`}\n onClick={() => toggleSelectedUser(user.id)}\n >\n <Flex padding={1} align=\"center\" justify=\"center\">\n <UserAvatar user={user} size={1} withTooltip />\n </Flex>\n </Button>\n ))}\n\n {selectedUserIds.length > 0 ? (\n <Button\n padding={3}\n fontSize={1}\n text=\"Clear\"\n onClick={resetSelectedUsers}\n mode=\"ghost\"\n icon={ResetIcon}\n />\n ) : null}\n </>\n )}\n </Flex>\n\n {schemaTypes.length > 1 ? (\n <Flex align=\"center\" gap={1}>\n {schemaTypes.map((typeName) => {\n const schemaType = schema.get(typeName)\n\n if (!schemaType) {\n return null\n }\n\n return (\n <Button\n padding={3}\n fontSize={1}\n key={typeName}\n text={schemaType?.title ?? typeName}\n icon={schemaType?.icon ?? undefined}\n mode={\n selectedSchemaTypes.includes(typeName) ? `default` : `ghost`\n }\n onClick={() => toggleSelectedSchemaType(typeName)}\n />\n )\n })}\n </Flex>\n ) : null}\n </Flex>\n </Card>\n )\n}\n","import React from 'react'\nimport {Box, Text, Tooltip} from '@sanity/ui'\n\ntype StatusProps = {\n text: string\n icon: React.ComponentType\n}\n\nexport function Status(props: StatusProps) {\n const {text, icon} = props\n const Icon = icon\n\n return (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>{text}</Text>\n </Box>\n }\n >\n <Text size={1}>\n <Icon />\n </Text>\n </Tooltip>\n )\n}\n","import {InfoOutlineIcon, UserIcon} from '@sanity/icons'\nimport {Badge, BadgeTone, Box, Card, Flex, Text} from '@sanity/ui'\nimport styled, {css} from 'styled-components'\n\nimport {State} from '../../types'\nimport {Status} from './Status'\n\nconst StyledStickyCard = styled(Card)(\n () => css`\n position: sticky;\n top: 0;\n z-index: 1;\n `\n)\n\ntype StateTitleProps = {\n state: State\n requireAssignment: boolean\n userRoleCanDrop: boolean\n isDropDisabled: boolean\n draggingFrom: string\n documentCount: number\n}\n\nexport default function StateTitle(props: StateTitleProps) {\n const {\n state,\n requireAssignment,\n userRoleCanDrop,\n isDropDisabled,\n draggingFrom,\n documentCount,\n } = props\n\n let tone: BadgeTone = 'default'\n const isSource = draggingFrom === state.id\n\n if (draggingFrom) {\n tone = isDropDisabled || isSource ? 'default' : 'positive'\n }\n\n return (\n <StyledStickyCard paddingY={4} padding={3} tone=\"inherit\">\n <Flex gap={3} align=\"center\">\n <Badge\n mode={\n (draggingFrom && !isDropDisabled) || isSource\n ? 'default'\n : 'outline'\n }\n tone={tone}\n muted={!userRoleCanDrop || isDropDisabled}\n >\n {state.title}\n </Badge>\n {userRoleCanDrop ? null : (\n <Status\n text=\"You do not have permissions to move documents to this State\"\n icon={InfoOutlineIcon}\n />\n )}\n {requireAssignment ? (\n <Status\n text=\"You must be assigned to the document to move documents to this State\"\n icon={UserIcon}\n />\n ) : null}\n <Box flex={1}>\n {documentCount > 0 ? (\n <Text weight=\"semibold\" align=\"right\" size={1}>\n {documentCount}\n </Text>\n ) : null}\n </Box>\n </Flex>\n </StyledStickyCard>\n )\n}\n","import {LexoRank} from 'lexorank'\n\nfunction generateMiddleValue(ranks: (LexoRank | undefined)[]) {\n // Has no undefined values\n if (!ranks.some((rank) => !rank)) {\n return ranks\n }\n\n // Find the first undefined value\n const firstUndefined = ranks.findIndex((rank) => !rank)\n\n // Find the first defined value after the undefined value\n const firstDefinedAfter = ranks.findIndex(\n (rank, index) => rank && index > firstUndefined\n )\n // Find the first defined value before the undefined value\n const firstDefinedBefore = ranks.findLastIndex(\n (rank, index) => rank && index < firstUndefined\n )\n\n if (firstDefinedAfter === -1 || firstDefinedBefore === -1) {\n throw new Error(\n `Unable to generate middle value between indexes ${firstDefinedBefore} and ${firstDefinedAfter}`\n )\n }\n\n const beforeRank = ranks[firstDefinedBefore]\n const afterRank = ranks[firstDefinedAfter]\n\n if (\n !beforeRank ||\n typeof beforeRank === 'undefined' ||\n !afterRank ||\n typeof afterRank === 'undefined'\n ) {\n throw new Error(\n `Unable to generate middle value between indexes ${firstDefinedBefore} and ${firstDefinedAfter}`\n )\n }\n\n // Generate a new value between the two\n const between = beforeRank.between(afterRank)\n\n // Calculate the middle index between the defined values\n const middle = Math.floor((firstDefinedAfter + firstDefinedBefore) / 2)\n\n if (ranks[middle]) {\n throw new Error(`Should not have overwritten value at index ${middle}`)\n }\n\n // Insert the new value into the array\n ranks[middle] = between\n\n // Return as a new array\n return ranks\n}\n\n// Generates an array of LexoRanks between two values\nexport function generateMultipleOrderRanks(\n count: number,\n start?: LexoRank,\n end?: LexoRank\n): LexoRank[] {\n // Begin array with correct size\n let ranks = [...Array(count)]\n\n // Use or create default values\n const rankStart = start ?? LexoRank.min().genNext().genNext()\n const rankEnd = end ?? LexoRank.max().genPrev().genPrev()\n\n ranks[0] = rankStart\n ranks[count - 1] = rankEnd\n\n // Keep processing the array until every value between undefined values is defined\n for (let i = 0; i < count; i++) {\n ranks = generateMiddleValue(ranks)\n }\n\n return ranks.sort((a, b) => a.toString().localeCompare(b.toString()))\n}\n","import {PropsWithChildren} from 'react'\nimport styled, {css} from 'styled-components'\nimport {Card, Grid} from '@sanity/ui'\nimport {motion, AnimatePresence} from 'framer-motion'\n\nconst StyledFloatingCard = styled(Card)(\n () => css`\n position: fixed;\n bottom: 0;\n left: 0;\n z-index: 1000;\n `\n)\n\nexport default function FloatingCard({children}: PropsWithChildren) {\n const childrenHaveValues = Array.isArray(children) ? children.some(Boolean) : Boolean(children)\n\n return (\n <AnimatePresence>\n {childrenHaveValues ? (\n <motion.div key=\"floater\" initial={{opacity: 0}} animate={{opacity: 1}} exit={{opacity: 0}}>\n <StyledFloatingCard shadow={3} padding={3} margin={3} radius={3}>\n <Grid gap={2}>{children}</Grid>\n </StyledFloatingCard>\n </motion.div>\n ) : null}\n </AnimatePresence>\n )\n}\n","import {Button, useToast} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport React from 'react'\nimport {useClient} from 'sanity'\nimport {UserExtended} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {generateMultipleOrderRanks} from '../helpers/generateMultipleOrderRanks'\nimport {SanityDocumentWithMetadata, State} from '../types'\nimport FloatingCard from './FloatingCard'\n\ntype VerifyProps = {\n data: SanityDocumentWithMetadata[]\n userList: UserExtended[]\n states: State[]\n}\n\n// This component checks the validity of the data in the Kanban\n// It will only render something it there is invalid date\n// And will render buttons to fix the data\nexport default function Verify(props: VerifyProps) {\n const {data, userList, states} = props\n const client = useClient({apiVersion: API_VERSION})\n const toast = useToast()\n\n // A lot of error-checking\n const documentsWithoutValidMetadataIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, state} = cur._metadata ?? {}\n const stateExists = states.find((s) => s.id === state)\n\n return !stateExists && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithInvalidUserIds =\n data?.length && userList?.length\n ? data.reduce((acc, cur) => {\n const {documentId, assignees} = cur._metadata ?? {}\n const allAssigneesExist = assignees?.length\n ? assignees?.every((a) => userList.find((u) => u.id === a))\n : true\n\n return !allAssigneesExist && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithoutOrderIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, orderRank} = cur._metadata ?? {}\n\n return !orderRank && documentId ? [...acc, documentId] : acc\n }, [] as string[])\n : []\n\n const documentsWithDuplicatedOrderIds = data?.length\n ? data.reduce((acc, cur) => {\n const {documentId, orderRank} = cur._metadata ?? {}\n\n return orderRank &&\n data.filter((d) => d._metadata?.orderRank === orderRank).length > 1 &&\n documentId\n ? [...acc, documentId]\n : acc\n }, [] as string[])\n : []\n\n // Updates metadata documents to a valid, existing state\n const correctDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Correcting...',\n status: 'info',\n })\n\n const tx = ids.reduce((item, documentId) => {\n return item.patch(`workflow-metadata.${documentId}`, {\n set: {state: states[0].id},\n })\n }, client.transaction())\n\n await tx.commit()\n\n toast.push({\n title: `Corrected ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [client, states, toast]\n )\n\n // Remove users that are no longer in the project from documents\n const removeUsersFromDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Removing users...',\n status: 'info',\n })\n\n const tx = ids.reduce((item, documentId) => {\n const {assignees} =\n data.find((d) => d._id === documentId)?._metadata ?? {}\n const validAssignees = assignees?.length\n ? // eslint-disable-next-line max-nested-callbacks\n assignees.filter((a) => userList.find((u) => u.id === a)?.id)\n : []\n\n return item.patch(`workflow-metadata.${documentId}`, {\n set: {assignees: validAssignees},\n })\n }, client.transaction())\n\n await tx.commit()\n\n toast.push({\n title: `Corrected ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [client, data, toast, userList]\n )\n\n // Add order value to metadata documents\n const addOrderToDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Adding ordering...',\n status: 'info',\n })\n\n // Get first and second order values, if they exist\n const [firstOrder, secondOrder] = [...data]\n .slice(0, 2)\n .map((d) => d._metadata?.orderRank)\n const minLexo = firstOrder ? LexoRank.parse(firstOrder) : undefined\n const maxLexo = secondOrder ? LexoRank.parse(secondOrder) : undefined\n const ranks = generateMultipleOrderRanks(ids.length, minLexo, maxLexo)\n\n const tx = client.transaction()\n\n // Create a new in-between value for each document\n for (let index = 0; index < ids.length; index += 1) {\n tx.patch(`workflow-metadata.${ids[index]}`, {\n set: {orderRank: ranks[index].toString()},\n })\n }\n\n await tx.commit()\n\n toast.push({\n title: `Added order to ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [data, client, toast]\n )\n\n // Reset order value on all metadata documents\n const resetOrderOfAllDocuments = React.useCallback(\n async (ids: string[]) => {\n toast.push({\n title: 'Adding ordering...',\n status: 'info',\n })\n\n const ranks = generateMultipleOrderRanks(ids.length)\n\n const tx = client.transaction()\n\n // Create a new in-between value for each document\n for (let index = 0; index < ids.length; index += 1) {\n tx.patch(`workflow-metadata.${ids[index]}`, {\n set: {orderRank: ranks[index].toString()},\n })\n }\n\n await tx.commit()\n\n toast.push({\n title: `Added order to ${\n ids.length === 1 ? `1 Document` : `${ids.length} Documents`\n }`,\n status: 'success',\n })\n },\n [data, client, toast]\n )\n\n // A document could be deleted and the workflow metadata left behind\n const orphanedMetadataDocumentIds = React.useMemo(() => {\n return data.length\n ? data.filter((doc) => !doc?._id).map((doc) => doc._metadata.documentId)\n : []\n }, [data])\n\n const handleOrphans = React.useCallback(() => {\n toast.push({\n title: 'Removing orphaned metadata...',\n status: 'info',\n })\n\n const tx = client.transaction()\n orphanedMetadataDocumentIds.forEach((id) => {\n tx.delete(`workflow-metadata.${id}`)\n })\n\n tx.commit()\n\n toast.push({\n title: `Removed ${orphanedMetadataDocumentIds.length} orphaned metadata documents`,\n status: 'success',\n })\n }, [client, orphanedMetadataDocumentIds, toast])\n\n return (\n <FloatingCard>\n {documentsWithoutValidMetadataIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => correctDocuments(documentsWithoutValidMetadataIds)}\n text={\n documentsWithoutValidMetadataIds.length === 1\n ? `Correct 1 Document State`\n : `Correct ${documentsWithoutValidMetadataIds.length} Document States`\n }\n />\n ) : null}\n {documentsWithInvalidUserIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => removeUsersFromDocuments(documentsWithInvalidUserIds)}\n text={\n documentsWithInvalidUserIds.length === 1\n ? `Remove Invalid Users from 1 Document`\n : `Remove Invalid Users from ${documentsWithInvalidUserIds.length} Documents`\n }\n />\n ) : null}\n {documentsWithoutOrderIds.length > 0 ? (\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => addOrderToDocuments(documentsWithoutOrderIds)}\n text={\n documentsWithoutOrderIds.length === 1\n ? `Set Order for 1 Document`\n : `Set Order for ${documentsWithoutOrderIds.length} Documents`\n }\n />\n ) : null}\n {documentsWithDuplicatedOrderIds.length > 0 ? (\n <>\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() => addOrderToDocuments(documentsWithDuplicatedOrderIds)}\n text={\n documentsWithDuplicatedOrderIds.length === 1\n ? `Set Unique Order for 1 Document`\n : `Set Unique Order for ${documentsWithDuplicatedOrderIds.length} Documents`\n }\n />\n <Button\n tone=\"caution\"\n mode=\"ghost\"\n onClick={() =>\n resetOrderOfAllDocuments(\n data.map((doc) => String(doc._metadata?.documentId))\n )\n }\n text={\n data.length === 1\n ? `Reset Order for 1 Document`\n : `Reset Order for all ${data.length} Documents`\n }\n />\n </>\n ) : null}\n {orphanedMetadataDocumentIds.length > 0 ? (\n <Button\n text=\"Cleanup orphaned metadata\"\n onClick={handleOrphans}\n tone=\"caution\"\n mode=\"ghost\"\n />\n ) : null}\n </FloatingCard>\n )\n}\n","import {\n DragDropContext,\n DraggableChildrenFn,\n DragStart,\n Droppable,\n DropResult,\n} from '@hello-pangea/dnd'\nimport {\n Box,\n Card,\n Container,\n Flex,\n Grid,\n Spinner,\n useTheme,\n useToast,\n} from '@sanity/ui'\nimport {LexoRank} from 'lexorank'\nimport React from 'react'\nimport {Tool, useCurrentUser} from 'sanity'\nimport {Feedback, useProjectUsers} from 'sanity-plugin-utils'\n\nimport {API_VERSION} from '../constants'\nimport {arraysContainMatchingString} from '../helpers/arraysContainMatchingString'\nimport {filterItemsAndSort} from '../helpers/filterItemsAndSort'\nimport {useWorkflowDocuments} from '../hooks/useWorkflowDocuments'\nimport {State, WorkflowConfig} from '../types'\nimport {DocumentCard} from './DocumentCard'\nimport DocumentList from './DocumentList'\nimport Filters from './Filters'\nimport StateTitle from './StateTitle'\nimport Verify from './Verify'\n\ntype WorkflowToolProps = {\n tool: Tool<WorkflowConfig>\n}\n\nexport default function WorkflowTool(props: WorkflowToolProps) {\n const {schemaTypes = [], states = []} = props?.tool?.options ?? {}\n\n const isDarkMode = useTheme().sanity.color.dark\n const defaultCardTone = isDarkMode ? 'default' : 'transparent'\n const toast = useToast()\n\n const userList = useProjectUsers({apiVersion: API_VERSION})\n\n const user = useCurrentUser()\n const userRoleNames = user?.roles?.length\n ? user?.roles.map((r) => r.name)\n : []\n\n const {workflowData, operations} = useWorkflowDocuments(schemaTypes)\n const [patchingIds, setPatchingIds] = React.useState<string[]>([])\n\n // Data to display in cards\n const {data, loading, error} = workflowData\n\n // Operations to perform on cards\n const {move} = operations\n\n const [undroppableStates, setUndroppableStates] = React.useState<string[]>([])\n const [draggingFrom, setDraggingFrom] = React.useState(``)\n\n // When drag starts, check for any States we should not allow dropping on\n // Because of either:\n // 1. The \"destination\" State requires user assignment and the user is not assigned to the dragged document\n // 2. The \"source\" State State has a list of transitions and the \"destination\" State is not in that list\n const handleDragStart = React.useCallback(\n (start: DragStart) => {\n const {draggableId, source} = start\n const {droppableId: currentStateId} = source\n setDraggingFrom(currentStateId)\n\n const document = data.find(\n (item) => item._metadata?.documentId === draggableId\n )\n const state = states.find((s) => s.id === currentStateId)\n\n // This shouldn't happen but TypeScript\n if (!document || !state) return\n\n const undroppableStateIds = []\n const statesThatRequireAssignmentIds = states\n .filter((s) => s.requireAssignment)\n .map((s) => s.id)\n\n if (statesThatRequireAssignmentIds.length) {\n const documentAssignees = document._metadata?.assignees ?? []\n const userIsAssignedToDocument = user?.id\n ? documentAssignees.includes(user.id)\n : false\n\n if (!userIsAssignedToDocument) {\n undroppableStateIds.push(...statesThatRequireAssignmentIds)\n }\n }\n\n const statesThatCannotBeTransitionedToIds =\n state.transitions && state.transitions.length\n ? states\n .filter((s) => !state.transitions?.includes(s.id))\n .map((s) => s.id)\n : []\n\n if (statesThatCannotBeTransitionedToIds.length) {\n undroppableStateIds.push(...statesThatCannotBeTransitionedToIds)\n }\n\n // Remove currentStateId from undroppableStates\n const undroppableExceptSelf = undroppableStateIds.filter(\n (id) => id !== currentStateId\n )\n\n if (undroppableExceptSelf.length) {\n setUndroppableStates(undroppableExceptSelf)\n }\n },\n [data, states, user]\n )\n\n const handleDragEnd = React.useCallback(\n async (result: DropResult) => {\n // Reset undroppable states\n setUndroppableStates([])\n setDraggingFrom(``)\n\n const {draggableId, source, destination} = result\n\n if (\n // No destination?\n !destination ||\n // No change in position?\n (destination.droppableId === source.droppableId &&\n destination.index === source.index)\n ) {\n return\n }\n\n // Find all items in current state\n const destinationStateItems = [\n ...filterItemsAndSort(data, destination.droppableId, [], null),\n ]\n const destinationStateIndex = states.findIndex(\n (s) => s.id === destination.droppableId\n )\n const globalStateMinimumRank = data[0]._metadata.orderRank\n const globalStateMaximumRank = data[data.length - 1]._metadata.orderRank\n\n let newOrder\n\n if (!destinationStateItems.length) {\n // Only item in state\n // New minimum rank\n if (destinationStateIndex === 0) {\n // Only the first state should generate an absolute minimum rank\n newOrder = LexoRank.min().toString()\n } else {\n // Otherwise create one rank above the minimum\n newOrder = LexoRank.min().genNext().toString()\n }\n } else if (destination.index === 0) {\n // Now first item in order\n const firstItemOrderRank = [...destinationStateItems].shift()?._metadata\n ?.orderRank\n\n if (firstItemOrderRank && typeof firstItemOrderRank === 'string') {\n newOrder = LexoRank.parse(firstItemOrderRank).genPrev().toString()\n } else if (destinationStateIndex === 0) {\n // Only the first state should generate an absolute minimum rank\n newOrder = LexoRank.min().toString()\n } else {\n // Otherwise create the next rank between min and the globally minimum rank\n newOrder = LexoRank.parse(globalStateMinimumRank)\n .between(LexoRank.min())\n .toString()\n }\n } else if (destination.index + 1 === destinationStateItems.length) {\n // Now last item in order\n const lastItemOrderRank = [...destinationStateItems].pop()?._metadata\n ?.orderRank\n\n if (lastItemOrderRank && typeof lastItemOrderRank === 'string') {\n newOrder = LexoRank.parse(lastItemOrderRank).genNext().toString()\n } else if (destinationStateIndex === states.length - 1) {\n // Only the last state should generate an absolute maximum rank\n newOrder = LexoRank.max().toString()\n } else {\n // Otherwise create the next rank between max and the globally maximum rank\n newOrder = LexoRank.parse(globalStateMaximumRank)\n .between(LexoRank.min())\n .toString()\n }\n } else {\n // Must be between two items\n const itemBefore = destinationStateItems[destination.index - 1]\n const itemBeforeRank = itemBefore?._metadata?.orderRank\n let itemBeforeRankParsed\n if (itemBeforeRank) {\n itemBeforeRankParsed = LexoRank.parse(itemBeforeRank)\n } else if (destinationStateIndex === 0) {\n itemBeforeRankParsed = LexoRank.min()\n } else {\n itemBeforeRankParsed = LexoRank.parse(globalStateMinimumRank)\n }\n\n const itemAfter = destinationStateItems[destination.index]\n const itemAfterRank = itemAfter?._metadata?.orderRank\n let itemAfterRankParsed\n if (itemAfterRank) {\n itemAfterRankParsed = LexoRank.parse(itemAfterRank)\n } else if (destinationStateIndex === states.length - 1) {\n itemAfterRankParsed = LexoRank.max()\n } else {\n itemAfterRankParsed = LexoRank.parse(globalStateMaximumRank)\n }\n\n newOrder = itemBeforeRankParsed.between(itemAfterRankParsed).toString()\n }\n\n setPatchingIds([...patchingIds, draggableId])\n toast.push({\n status: 'info',\n title: 'Updating document state...',\n })\n await move(draggableId, destination, states, newOrder)\n setPatchingIds((ids: string[]) => ids.filter((id) => id !== draggableId))\n },\n [data, patchingIds, toast, move, states]\n )\n\n // Used for the user filter UI\n const uniqueAssignedUsers = React.useMemo(() => {\n const uniqueUserIds = data.reduce((acc, item) => {\n const {assignees = []} = item._metadata ?? {}\n const newAssignees = assignees?.length\n ? assignees.filter((a) => !acc.includes(a))\n : []\n return newAssignees.length ? [...acc, ...newAssignees] : acc\n }, [] as string[])\n\n return userList.filter((u) => uniqueUserIds.includes(u.id))\n }, [data, userList])\n\n // Selected user IDs filter the visible workflow documents\n const [selectedUserIds, setSelectedUserIds] = React.useState<string[]>(\n uniqueAssignedUsers.map((u) => u.id)\n )\n const toggleSelectedUser = React.useCallback((userId: string) => {\n setSelectedUserIds((prev) =>\n prev.includes(userId)\n ? prev.filter((u) => u !== userId)\n : [...prev, userId]\n )\n }, [])\n const resetSelectedUsers = React.useCallback(() => {\n setSelectedUserIds([])\n }, [])\n\n // Selected schema types filter the visible workflow documents\n const [selectedSchemaTypes, setSelectedSchemaTypes] =\n React.useState<string[]>(schemaTypes)\n const toggleSelectedSchemaType = React.useCallback((schemaType: string) => {\n setSelectedSchemaTypes((prev) =>\n prev.includes(schemaType)\n ? prev.filter((u) => u !== schemaType)\n : [...prev, schemaType]\n )\n }, [])\n\n // Document IDs that have validation errors\n const [invalidDocumentIds, setInvalidDocumentIds] = React.useState<string[]>(\n []\n )\n const toggleInvalidDocumentId = React.useCallback(\n (docId: string, action: 'ADD' | 'REMOVE') => {\n setInvalidDocumentIds((prev) =>\n action === 'ADD' ? [...prev, docId] : prev.filter((id) => id !== docId)\n )\n },\n []\n )\n\n const Clone: DraggableChildrenFn = React.useCallback(\n (provided, snapshot, rubric) => {\n const item = data.find(\n (doc) => doc?._metadata?.documentId === rubric.draggableId\n )\n\n return (\n <div\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n ref={provided.innerRef}\n >\n {item ? (\n <DocumentCard\n // Assumed false, if it's dragging it's not disabled\n isDragDisabled={false}\n // Assumed false, if it's dragging it's not patching\n isPatching={false}\n // Assumed true, if you can drag it you can drop it\n userRoleCanDrop\n isDragging={snapshot.isDragging}\n item={item}\n states={states}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n userList={userList}\n />\n ) : (\n <Feedback title=\"Item not found\" tone=\"caution\" />\n )}\n </div>\n )\n },\n [data, states, toggleInvalidDocumentId, userList]\n )\n\n if (!states?.length) {\n return (\n <Container width={1} padding={5}>\n <Feedback\n tone=\"caution\"\n title=\"Plugin options error\"\n description=\"No States defined in plugin config\"\n />\n </Container>\n )\n }\n\n if (error && !data.length) {\n return (\n <Container width={1} padding={5}>\n <Feedback\n tone=\"critical\"\n title=\"Error querying for Workflow documents\"\n />\n </Container>\n )\n }\n\n return (\n <Flex direction=\"column\" height=\"fill\" overflow=\"hidden\">\n <Verify data={data} userList={userList} states={states} />\n\n <Filters\n uniqueAssignedUsers={uniqueAssignedUsers}\n selectedUserIds={selectedUserIds}\n toggleSelectedUser={toggleSelectedUser}\n resetSelectedUsers={resetSelectedUsers}\n schemaTypes={schemaTypes}\n selectedSchemaTypes={selectedSchemaTypes}\n toggleSelectedSchemaType={toggleSelectedSchemaType}\n />\n <DragDropContext onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Grid columns={states.length} height=\"fill\">\n {states.map((state: State, stateIndex: number) => {\n const userRoleCanDrop = state?.roles?.length\n ? arraysContainMatchingString(state.roles, userRoleNames)\n : true\n const isDropDisabled =\n !userRoleCanDrop || undroppableStates.includes(state.id)\n\n return (\n <Card\n key={state.id}\n borderLeft={stateIndex > 0}\n tone={defaultCardTone}\n >\n <Flex direction=\"column\" height=\"fill\">\n <StateTitle\n state={state}\n requireAssignment={state.requireAssignment ?? false}\n userRoleCanDrop={userRoleCanDrop}\n isDropDisabled={isDropDisabled}\n draggingFrom={draggingFrom}\n documentCount={\n filterItemsAndSort(\n data,\n state.id,\n selectedUserIds,\n selectedSchemaTypes\n ).length\n }\n />\n <Box flex={1}>\n <Droppable\n droppableId={state.id}\n isDropDisabled={isDropDisabled}\n // props required for virtualization\n mode=\"virtual\"\n renderClone={Clone}\n >\n {(provided, snapshot) => (\n <Card\n ref={provided.innerRef}\n tone={\n snapshot.isDraggingOver\n ? `primary`\n : defaultCardTone\n }\n height=\"fill\"\n >\n {loading ? (\n <Flex padding={5} align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n ) : null}\n\n <DocumentList\n data={data}\n invalidDocumentIds={invalidDocumentIds}\n patchingIds={patchingIds}\n selectedSchemaTypes={selectedSchemaTypes}\n selectedUserIds={selectedUserIds}\n state={state}\n states={states}\n toggleInvalidDocumentId={toggleInvalidDocumentId}\n user={user}\n userList={userList}\n userRoleCanDrop={userRoleCanDrop}\n />\n\n {/* Not required for virtualized lists */}\n {/* {provided.placeholder} */}\n </Card>\n )}\n </Droppable>\n </Box>\n </Flex>\n </Card>\n )\n })}\n </Grid>\n </DragDropContext>\n </Flex>\n )\n}\n","import {SplitVerticalIcon} from '@sanity/icons'\nimport {Tool} from 'sanity'\n\nimport WorkflowTool from '../components/WorkflowTool'\nimport {WorkflowConfig} from '../types'\n\nexport type WorkflowToolConfig = (options: WorkflowConfig) => Tool\n\nexport const workflowTool: WorkflowToolConfig = (options: WorkflowConfig) => ({\n name: 'workflow',\n title: 'Workflow',\n component: WorkflowTool,\n icon: SplitVerticalIcon,\n options,\n})\n","import {definePlugin, DocumentActionProps, isObjectInputProps} from 'sanity'\n\nimport {AssignWorkflow} from './actions/AssignWorkflow'\nimport {BeginWorkflow} from './actions/BeginWorkflow'\nimport {CompleteWorkflow} from './actions/CompleteWorkflow'\nimport {UpdateWorkflow} from './actions/UpdateWorkflow'\nimport {AssigneesBadge} from './badges/AssigneesBadge'\nimport {StateBadge} from './badges/StateBadge'\nimport {WorkflowProvider} from './components/WorkflowContext'\nimport WorkflowSignal from './components/WorkflowSignal'\nimport {DEFAULT_CONFIG} from './constants'\nimport metadata from './schema/workflow/workflow.metadata'\nimport {workflowTool} from './tools'\nimport {WorkflowConfig} from './types'\n\nexport const workflow = definePlugin<WorkflowConfig>(\n (config = DEFAULT_CONFIG) => {\n const {schemaTypes, states} = {...DEFAULT_CONFIG, ...config}\n\n if (!states?.length) {\n throw new Error(`Workflow plugin: Missing \"states\" in config`)\n }\n\n if (!schemaTypes?.length) {\n throw new Error(`Workflow plugin: Missing \"schemaTypes\" in config`)\n }\n\n return {\n name: 'sanity-plugin-workflow',\n schema: {\n types: [metadata(states)],\n },\n // TODO: Remove 'workflow.metadata' from list of new document types\n // ...\n studio: {\n components: {\n layout: (props) =>\n WorkflowProvider({...props, workflow: {schemaTypes, states}}),\n },\n },\n form: {\n components: {\n input: (props) => {\n if (\n props.id === `root` &&\n isObjectInputProps(props) &&\n schemaTypes.includes(props.schemaType.name)\n ) {\n return WorkflowSignal(props)\n }\n\n return props.renderDefault(props)\n },\n },\n },\n document: {\n actions: (prev, context) => {\n if (!schemaTypes.includes(context.schemaType)) {\n return prev\n }\n\n return [\n (props) => BeginWorkflow(props),\n (props) => AssignWorkflow(props),\n ...states.map(\n (state) => (props: DocumentActionProps) =>\n UpdateWorkflow(props, state)\n ),\n (props) => CompleteWorkflow(props),\n ...prev,\n ]\n },\n badges: (prev, context) => {\n if (!schemaTypes.includes(context.schemaType)) {\n return prev\n }\n\n const {documentId, currentUser} = context\n\n if (!documentId) {\n return prev\n }\n\n return [\n () => StateBadge(documentId),\n () => AssigneesBadge(documentId, currentUser),\n ...prev,\n ]\n },\n },\n tools: [\n // TODO: These configs could be read from Context\n workflowTool({schemaTypes, states}),\n ],\n }\n }\n)\n"],"names":["defineStates","states","API_VERSION","DEFAULT_CONFIG","schemaTypes","id","title","color","roles","transitions","requireAssignment","UserAssignment","props","assignees","userList","documentId","client","useClient","apiVersion","toast","useToast","addAssignee","React","useCallback","userId","user","find","u","push","status","patch","concat","setIfMissing","insert","commit","then","displayName","catch","err","console","error","description","removeAssignee","unset","clearAssignees","jsx","UserSelectMenu","style","maxHeight","value","onAdd","onClear","onRemove","useWorkflowMetadata","ids","data","rawData","loading","useListeningQuery","params","options","keyedMetadata","useMemo","length","reduce","acc","cur","WorkflowContext","createContext","addId","removeId","useWorkflowContext","current","useContext","metadata","WorkflowProvider","setIds","useState","includes","filter","i","Provider","workflow","children","renderDefault","AssignWorkflow","_a","isDialogOpen","setDialogOpen","useProjectUsers","icon","UsersIcon","type","disabled","label","dialog","onClose","content","onHandle","BeginWorkflow","draft","beginning","setBeginning","complete","setComplete","handle","lowestOrderFirstState","fetch","state","createIfNotExists","_id","_type","orderRank","LexoRank","parse","genNext","toString","min","SplitVerticalIcon","CompleteWorkflow","delete","s","isLastState","CheckmarkIcon","arraysContainMatchingString","one","two","some","item","UpdateWorkflow","actionState","_b","_c","_d","useCurrentUser","currentUser","currentState","validation","isValidating","useValidationStatus","hasValidationErrors","requireValidation","v","level","newState","set","onComplete","currentStateIndex","findIndex","actionStateIndex","direction","DirectionIcon","ArrowRightIcon","ArrowLeftIcon","directionLabel","userRoleCanUpdateState","map","r","name","actionStateIsAValidTransition","userAssignmentCanUpdateState","AssigneesBadge","hasMe","assignee","assigneesCount","assigneeUsers","join","StateBadge","WorkflowSignal","replace","useEffect","EditButton","navigateIntent","useRouter","Button","onClick","mode","fontSize","padding","tabIndex","EditIcon","text","Field","schema","useSchema","String","draftId","Spinner","schemaType","get","Feedback","tone","Card","border","jsxs","Flex","align","justify","gap","Preview","layout","UserAssignmentInput","useFormValue","stringValue","Array","isArray","initialRank","lastRankValue","lastRank","nextRank","defineType","liveEdit","fields","defineField","readOnly","list","components","input","initialValue","p","_ref","getClient","lastDocOrderRank","order","of","filterItemsAndSort","items","stateId","selectedUsers","arguments","undefined","selectedSchemaTypes","_metadata","sort","a","b","aOrderRank","bOrderRank","localeCompare","QUERY","groq","__template","useWorkflowDocuments","localDocuments","setLocalDocuments","move","draggedId","destination","newOrder","currentLocalData","newLocalDocuments","droppableId","optimistic","newStateId","document","d","_rev","ifRevisionId","res","message","workflowData","operations","AvatarGroup","users","max","len","me","visibleUsers","slice","UserAvatar","Box","marginRight","paddingLeft","Text","size","UserDisplay","button","popover","setPopover","isOpen","setIsOpen","close","open","useClickOutside","Popover","ref","portal","AddIcon","Grid","CompleteButton","handleComplete","event","currentTarget","Tooltip","TimeAgo","_ref2","time","timeAgo","useTimeAgo","DraftStatus","updatedAt","_updatedAt","Fragment","TextWithTone","dimmed","muted","PublishedStatus","PublishIcon","Validate","onChange","ValidationStatus","hasError","ErrorOutlineIcon","WarningOutlineIcon","DocumentCard","isDragDisabled","isPatching","userRoleCanDrop","isDragging","toggleInvalidDocumentId","isDarkMode","useTheme","sanity","dark","defaultCardTone","optimisticValidation","setOptimisticValidation","handleValidation","updates","cardTone","paddingBottom","paddingX","radius","shadow","Stack","borderBottom","paddingRight","pointerEvents","flex","skipVisibilityCheck","flexShrink","DragHandleIcon","paddingTop","getStyle","draggableStyle","virtualItem","transform","start","draggableTransformY","parseInt","split","position","top","left","width","height","DocumentList","invalidDocumentIds","patchingIds","selectedUserIds","dataFiltered","parentRef","useRef","virtualizer","useVirtualizer","count","getScrollElement","getItemKey","index","estimateSize","overscan","measureElement","element","getBoundingClientRect","overflow","overflowAnchor","scrollBehavior","getTotalSize","getVirtualItems","isInvalid","meInAssignees","Draggable","draggableId","draggableProvided","draggableSnapshot","innerRef","draggableProps","dragHandleProps","key","Filters","uniqueAssignedUsers","toggleSelectedUser","resetSelectedUsers","toggleSelectedSchemaType","meInUniqueAssignees","uniqueAssigneesNotMe","overflowX","MenuButton","UserIcon","menu","Menu","labels","addMe","removeMe","clear","withTooltip","borderRight","ResetIcon","typeName","Status","Icon","StyledStickyCard","styled","css","StateTitle","isDropDisabled","draggingFrom","documentCount","isSource","paddingY","Badge","InfoOutlineIcon","weight","generateMiddleValue","ranks","rank","firstUndefined","firstDefinedAfter","firstDefinedBefore","findLastIndex","Error","beforeRank","afterRank","between","middle","Math","floor","generateMultipleOrderRanks","end","rankStart","rankEnd","genPrev","StyledFloatingCard","FloatingCard","_ref3","childrenHaveValues","Boolean","AnimatePresence","motion","div","initial","opacity","animate","exit","margin","Verify","documentsWithoutValidMetadataIds","stateExists","documentsWithInvalidUserIds","allAssigneesExist","every","documentsWithoutOrderIds","documentsWithDuplicatedOrderIds","correctDocuments","tx","transaction","removeUsersFromDocuments","validAssignees","addOrderToDocuments","firstOrder","secondOrder","minLexo","maxLexo","resetOrderOfAllDocuments","orphanedMetadataDocumentIds","doc","handleOrphans","forEach","WorkflowTool","tool","userRoleNames","setPatchingIds","undroppableStates","setUndroppableStates","setDraggingFrom","handleDragStart","source","currentStateId","undroppableStateIds","statesThatRequireAssignmentIds","documentAssignees","userIsAssignedToDocument","statesThatCannotBeTransitionedToIds","undroppableExceptSelf","handleDragEnd","result","_e","_f","destinationStateItems","destinationStateIndex","globalStateMinimumRank","globalStateMaximumRank","firstItemOrderRank","shift","lastItemOrderRank","pop","itemBefore","itemBeforeRank","itemBeforeRankParsed","itemAfter","itemAfterRank","itemAfterRankParsed","uniqueUserIds","newAssignees","setSelectedUserIds","prev","setSelectedSchemaTypes","setInvalidDocumentIds","docId","action","Clone","provided","snapshot","rubric","Container","DragDropContext","onDragStart","onDragEnd","columns","stateIndex","borderLeft","Droppable","renderClone","isDraggingOver","workflowTool","component","definePlugin","config","types","studio","form","isObjectInputProps","actions","context","badges","tools"],"mappings":"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"}
|