sanity-plugin-documents-pane
4.1.204.1.21
dist/index.js.map~
dist/index.js.mapModified+1−1
Index: package/dist/index.js.map
===================================================================
--- package/dist/index.js.map
+++ package/dist/index.js.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.js","names":["{query, params}: {query: string; params?: Record<string, string>}","<Box>\n <Label>Query</Label>\n </Box>","<Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>","params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null","<>\n <Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>\n {params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null}\n </>","{\n id,\n type,\n permission: 'duplicate',\n }","async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n }","pair","(e) => e.op === 'duplicate' && e.type === 'success'","useCallback(\n async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n },\n [documentStore.pair, duplicate, groupIndex, handleEditReference, id, routerPanesState, type],\n )","t('action.duplicate.label')","<Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>","{cursor: 'pointer'}","<Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />","isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading","<Tooltip\n content={\n <Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>\n }\n placement=\"left\"\n portal\n >\n <Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />\n </Tooltip>","initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })","(template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n }","<Card borderBottom padding={2}>\n <Flex gap={1} justify=\"flex-end\">\n {initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })}\n </Flex>\n </Card>","[]","{\n params,\n initialValue: [],\n options,\n }","_data ?? []","(id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n }","useCallback(\n (id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n },\n [routerPanesState, groupIndex, handleEditReference],\n )","<Box padding={4}>\n <Flex align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n </Box>","<Feedback>There was an error performing this query</Feedback>","debug ? <Debug params={params} query={query} /> : null","<Stack gap={5} padding={4}>\n <Feedback>There was an error performing this query</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>","<NewDocument initialValueTemplates={initialValueTemplates} />","<DocumentsCount count={0} />","<Feedback>No Documents found</Feedback>","<Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>","<>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n </>","<Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>","length","data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })","(doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n }","<Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>","<>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>\n <Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>\n </>","{count}: {count: number}","<Text muted size={1}>\n {count} {label}\n </Text>","useDraft = false","debug = false","options = {}","duplicate = false","<code>useDraft</code>","<code>true</code>","<Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>","debug ? <Debug query={query} /> : null","<Stack gap={5} padding={4}>\n <Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>","resolveParams({document, params, useDraft})","resolveInitialValueTemplates({\n resolver: initialValueTemplatesResolver,\n document,\n })","<Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>","<Stack gap={5} padding={4}>\n <Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>","<Documents\n query={query}\n params={paramValues}\n options={options}\n debug={debug}\n initialValueTemplates={initialValueTemplates}\n duplicate={duplicate}\n />"],"sources":["../src/Debug.tsx","../src/DuplicateDocument.tsx","../src/NewDocument.tsx","../src/Documents.tsx","../src/resolveInitialValueTemplates.ts","../src/resolveParams.ts","../src/DocumentsPane.tsx","../src/index.ts"],"sourcesContent":["import {Box, Label, Stack} from '@sanity/ui'\nimport {Code} from '@sanity/ui/code'\n\nexport default function Debug({query, params}: {query: string; params?: Record<string, string>}) {\n return (\n <>\n <Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>\n {params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null}\n </>\n )\n}\n","import {CopyIcon} from '@sanity/icons/Copy'\nimport {Box, Button, Text} from '@sanity/ui'\nimport {Tooltip} from '@sanity/ui/tooltip'\nimport {fromString as pathFromString} from '@sanity/util/paths'\nimport {uuid} from '@sanity/uuid'\nimport {useCallback, useState, type MouseEvent} from 'react'\nimport {filter, firstValueFrom} from 'rxjs'\nimport {\n useDocumentOperation,\n useDocumentPairPermissions,\n useDocumentStore,\n useTranslation,\n} from 'sanity'\nimport {structureLocaleNamespace} from 'sanity/structure'\nimport {usePaneRouter} from 'sanity/structure'\n\ninterface DuplicateDocumentProps {\n id: string\n type: string\n}\n\nexport default function DuplicateDocument(props: DuplicateDocumentProps) {\n const {id, type} = props\n\n const documentStore = useDocumentStore()\n const {duplicate} = useDocumentOperation(id, type)\n const {routerPanesState, groupIndex, handleEditReference} = usePaneRouter()\n const [isDuplicating, setDuplicating] = useState(false)\n const [permissions, isPermissionsLoading] = useDocumentPairPermissions({\n id,\n type,\n permission: 'duplicate',\n })\n\n const {t} = useTranslation(structureLocaleNamespace)\n\n const handle = useCallback(\n async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n },\n [documentStore.pair, duplicate, groupIndex, handleEditReference, id, routerPanesState, type],\n )\n\n if (isPermissionsLoading || !permissions?.granted) {\n return null\n }\n\n return (\n <Tooltip\n content={\n <Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>\n }\n placement=\"left\"\n portal\n >\n <Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />\n </Tooltip>\n )\n}\n","import {ComposeIcon} from '@sanity/icons/Compose'\nimport {Button, Card, Flex} from '@sanity/ui'\nimport {uuid} from '@sanity/uuid'\nimport {usePaneRouter} from 'sanity/structure'\n\nimport type {DocumentsPaneInitialValueTemplate} from './types'\n\ninterface NewDocumentProps {\n initialValueTemplates: DocumentsPaneInitialValueTemplate[]\n}\n\nexport default function NewDocument(props: NewDocumentProps) {\n const {initialValueTemplates} = props\n const {ReferenceChildLink} = usePaneRouter()\n\n if (!initialValueTemplates.length) return null\n\n return (\n <Card borderBottom padding={2}>\n <Flex gap={1} justify=\"flex-end\">\n {initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })}\n </Flex>\n </Card>\n )\n}\n","import {WarningOutlineIcon} from '@sanity/icons/WarningOutline'\nimport {Box, Button, Card, Flex, Spinner, Stack, Text} from '@sanity/ui'\nimport {fromString as pathFromString} from '@sanity/util/paths'\nimport {useCallback} from 'react'\nimport {\n DefaultPreview,\n getPublishedId,\n Preview,\n useSchema,\n type ListenQueryOptions,\n type SanityDocument,\n} from 'sanity'\nimport {Feedback, useListeningQuery} from 'sanity-plugin-utils'\nimport {usePaneRouter} from 'sanity/structure'\n\nimport Debug from './Debug'\nimport DuplicateDocument from './DuplicateDocument'\nimport NewDocument from './NewDocument'\nimport type {DocumentsPaneInitialValueTemplate} from './types'\n\ntype DocumentsProps = {\n query: string\n params: Record<string, string>\n debug: boolean\n initialValueTemplates: DocumentsPaneInitialValueTemplate[]\n options: ListenQueryOptions\n duplicate: boolean\n}\n\nexport default function Documents(props: DocumentsProps) {\n const {query, params, options, debug, initialValueTemplates, duplicate} = props\n const {routerPanesState, groupIndex, handleEditReference} = usePaneRouter()\n const schema = useSchema()\n\n const {\n loading,\n error,\n data: _data,\n } = useListeningQuery<SanityDocument[]>(query, {\n params,\n initialValue: [],\n options,\n })\n const data = _data ?? []\n\n const handleClick = useCallback(\n (id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n },\n [routerPanesState, groupIndex, handleEditReference],\n )\n\n if (loading) {\n return (\n <Box padding={4}>\n <Flex align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n </Box>\n )\n }\n\n if (error) {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>There was an error performing this query</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n )\n }\n\n if (!data.length) {\n return (\n <>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n </>\n )\n }\n\n return (\n <>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>\n <Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>\n </>\n )\n}\n\nfunction DocumentsCount({count}: {count: number}) {\n const label = count === 1 ? 'document' : 'documents'\n\n return (\n <Text muted size={1}>\n {count} {label}\n </Text>\n )\n}\n","import type {\n DocumentVersionsCollection,\n DocumentsPaneInitialValueTemplate,\n DocumentsPaneInitialValueTemplateResolver,\n} from './types'\n\ninterface ResolveInitialValueTemplatesOptions {\n resolver: DocumentsPaneInitialValueTemplateResolver | undefined\n document: DocumentVersionsCollection\n}\n\nexport default function resolveInitialValueTemplates(\n options: ResolveInitialValueTemplatesOptions,\n): DocumentsPaneInitialValueTemplate[] {\n const {resolver, document} = options\n\n if (!resolver) return []\n\n return resolver({document})\n}\n","import delve from 'dlv'\n\nimport type {DocumentVersionsCollection, DocumentsPaneQueryParams} from './types'\n\ninterface ResolveParamsOptions {\n params?: DocumentsPaneQueryParams\n document: DocumentVersionsCollection\n useDraft: boolean\n}\n\ntype ResolveParamsReturn = undefined | Record<string, string>\n\nfunction defaultResolver(\n options: ResolveParamsOptions,\n): Record<string, string | undefined> | undefined {\n const {params, document, useDraft} = options\n\n if (!params || typeof params === 'function') {\n return {}\n }\n\n const doc = useDraft ? document.displayed : document.published\n\n if (!doc) {\n return undefined\n }\n\n const resolved: Record<string, string | undefined> = {}\n\n for (const [key, path] of Object.entries(params)) {\n resolved[key] = delve(doc, path)\n }\n\n return resolved\n}\n\nexport default function resolveParams(options: ResolveParamsOptions): ResolveParamsReturn {\n const {params, document} = options\n\n const resolvedParams =\n typeof params === 'function' ? params({document}) : defaultResolver(options)\n\n if (!resolvedParams) {\n return undefined\n }\n\n const entries = Object.entries(resolvedParams)\n\n if (entries.some(([, value]) => value === undefined)) {\n return undefined\n }\n\n return Object.fromEntries(\n entries.filter((entry): entry is [string, string] => entry[1] !== undefined),\n )\n}\n","import {Stack} from '@sanity/ui'\nimport {Feedback} from 'sanity-plugin-utils'\n\nimport Debug from './Debug'\nimport Documents from './Documents'\nimport resolveInitialValueTemplates from './resolveInitialValueTemplates'\nimport resolveParams from './resolveParams'\nimport type {DocumentsPaneProps} from './types'\n\nexport default function DocumentsPane(props: DocumentsPaneProps) {\n const {document} = props\n const {\n query,\n params,\n useDraft = false,\n debug = false,\n initialValueTemplates: initialValueTemplatesResolver,\n options = {},\n duplicate = false,\n } = props.options\n\n if (useDraft && typeof params === 'function') {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>\n )\n }\n\n const paramValues = resolveParams({document, params, useDraft})\n\n const initialValueTemplates = resolveInitialValueTemplates({\n resolver: initialValueTemplatesResolver,\n document,\n })\n\n if (!paramValues) {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>\n )\n }\n\n return (\n <Documents\n query={query}\n params={paramValues}\n options={options}\n debug={debug}\n initialValueTemplates={initialValueTemplates}\n duplicate={duplicate}\n />\n )\n}\n","import '@sanity/ui/styles.css'\nimport DocumentsPane from './DocumentsPane'\n\nexport default DocumentsPane\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","names":["{query, params}: {query: string; params?: Record<string, string>}","<Box>\n <Label>Query</Label>\n </Box>","<Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>","params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null","<>\n <Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>\n {params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null}\n </>","_c","_Fragment","{\n id,\n type,\n permission: 'duplicate',\n }","async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n }","pair","(e) => e.op === 'duplicate' && e.type === 'success'","useCallback(\n async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n },\n [documentStore.pair, duplicate, groupIndex, handleEditReference, id, routerPanesState, type],\n )","t('action.duplicate.label')","<Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>","{cursor: 'pointer'}","<Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />","isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading","<Tooltip\n content={\n <Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>\n }\n placement=\"left\"\n portal\n >\n <Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />\n </Tooltip>","_c","pathFromString","initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })","(template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n }","<Card borderBottom padding={2}>\n <Flex gap={1} justify=\"flex-end\">\n {initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })}\n </Flex>\n </Card>","_c","[]","{\n params,\n initialValue: [],\n options,\n }","_data ?? []","(id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n }","useCallback(\n (id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n },\n [routerPanesState, groupIndex, handleEditReference],\n )","<Box padding={4}>\n <Flex align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n </Box>","<Feedback>There was an error performing this query</Feedback>","debug ? <Debug params={params} query={query} /> : null","<Stack gap={5} padding={4}>\n <Feedback>There was an error performing this query</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>","<NewDocument initialValueTemplates={initialValueTemplates} />","<DocumentsCount count={0} />","<Feedback>No Documents found</Feedback>","<Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>","<>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n </>","<Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>","length","data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })","(doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n }","<Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>","<>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>\n <Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>\n </>","{count}: {count: number}","<Text muted size={1}>\n {count} {label}\n </Text>","_c","pathFromString","_Fragment","useDraft = false","debug = false","options = {}","duplicate = false","<code>useDraft</code>","<code>true</code>","<Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>","debug ? <Debug query={query} /> : null","<Stack gap={5} padding={4}>\n <Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>","resolveParams({document, params, useDraft})","resolveInitialValueTemplates({\n resolver: initialValueTemplatesResolver,\n document,\n })","<Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>","<Stack gap={5} padding={4}>\n <Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>","<Documents\n query={query}\n params={paramValues}\n options={options}\n debug={debug}\n initialValueTemplates={initialValueTemplates}\n duplicate={duplicate}\n />","_c","\"_originalId\""],"sources":["../src/Debug.tsx","../src/DuplicateDocument.tsx","../src/NewDocument.tsx","../src/Documents.tsx","../src/resolveInitialValueTemplates.ts","../src/resolveParams.ts","../src/DocumentsPane.tsx","../src/index.ts"],"sourcesContent":["import {Box, Label, Stack} from '@sanity/ui'\nimport {Code} from '@sanity/ui/code'\n\nexport default function Debug({query, params}: {query: string; params?: Record<string, string>}) {\n return (\n <>\n <Stack gap={4}>\n <Box>\n <Label>Query</Label>\n </Box>\n <Box>\n <Code>{query}</Code>\n </Box>\n </Stack>\n {params ? (\n <Stack gap={4}>\n <Box>\n <Label>Params</Label>\n </Box>\n <Box>\n <Code>{JSON.stringify(params)}</Code>\n </Box>\n </Stack>\n ) : null}\n </>\n )\n}\n","import {CopyIcon} from '@sanity/icons/Copy'\nimport {Box, Button, Text} from '@sanity/ui'\nimport {Tooltip} from '@sanity/ui/tooltip'\nimport {fromString as pathFromString} from '@sanity/util/paths'\nimport {uuid} from '@sanity/uuid'\nimport {useCallback, useState, type MouseEvent} from 'react'\nimport {filter, firstValueFrom} from 'rxjs'\nimport {\n useDocumentOperation,\n useDocumentPairPermissions,\n useDocumentStore,\n useTranslation,\n} from 'sanity'\nimport {structureLocaleNamespace} from 'sanity/structure'\nimport {usePaneRouter} from 'sanity/structure'\n\ninterface DuplicateDocumentProps {\n id: string\n type: string\n}\n\nexport default function DuplicateDocument(props: DuplicateDocumentProps) {\n const {id, type} = props\n\n const documentStore = useDocumentStore()\n const {duplicate} = useDocumentOperation(id, type)\n const {routerPanesState, groupIndex, handleEditReference} = usePaneRouter()\n const [isDuplicating, setDuplicating] = useState(false)\n const [permissions, isPermissionsLoading] = useDocumentPairPermissions({\n id,\n type,\n permission: 'duplicate',\n })\n\n const {t} = useTranslation(structureLocaleNamespace)\n\n const handle = useCallback(\n async (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n const dupeId = uuid()\n\n setDuplicating(true)\n\n const duplicateSuccess = firstValueFrom(\n documentStore.pair\n .operationEvents(id, type)\n .pipe(filter((e) => e.op === 'duplicate' && e.type === 'success')),\n )\n duplicate.execute(dupeId)\n\n await duplicateSuccess\n setDuplicating(false)\n\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id: dupeId,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id: dupeId},\n })\n },\n [documentStore.pair, duplicate, groupIndex, handleEditReference, id, routerPanesState, type],\n )\n\n if (isPermissionsLoading || !permissions?.granted) {\n return null\n }\n\n return (\n <Tooltip\n content={\n <Box>\n <Text muted size={1}>\n {t('action.duplicate.label')}\n </Text>\n </Box>\n }\n placement=\"left\"\n portal\n >\n <Button\n aria-label={t('action.duplicate.label')}\n as={Box}\n disabled={isDuplicating || Boolean(duplicate.disabled) || isPermissionsLoading}\n fontSize={1}\n icon={CopyIcon}\n mode=\"ghost\"\n onClick={handle}\n padding={2}\n style={{cursor: 'pointer'}}\n tone=\"default\"\n />\n </Tooltip>\n )\n}\n","import {ComposeIcon} from '@sanity/icons/Compose'\nimport {Button, Card, Flex} from '@sanity/ui'\nimport {uuid} from '@sanity/uuid'\nimport {usePaneRouter} from 'sanity/structure'\n\nimport type {DocumentsPaneInitialValueTemplate} from './types'\n\ninterface NewDocumentProps {\n initialValueTemplates: DocumentsPaneInitialValueTemplate[]\n}\n\nexport default function NewDocument(props: NewDocumentProps) {\n const {initialValueTemplates} = props\n const {ReferenceChildLink} = usePaneRouter()\n\n if (!initialValueTemplates.length) return null\n\n return (\n <Card borderBottom padding={2}>\n <Flex gap={1} justify=\"flex-end\">\n {initialValueTemplates.map((template) => {\n if (!template.template) {\n return null\n }\n return (\n <ReferenceChildLink\n documentId={uuid()}\n documentType={template.schemaType}\n key={`${template.schemaType}-${template.template}`}\n parentRefPath={[]}\n template={{\n id: template.template,\n params: template.parameters ?? {},\n }}\n >\n <Button as=\"span\" icon={ComposeIcon} mode=\"bleed\" text={template.title} />\n </ReferenceChildLink>\n )\n })}\n </Flex>\n </Card>\n )\n}\n","import {WarningOutlineIcon} from '@sanity/icons/WarningOutline'\nimport {Box, Button, Card, Flex, Spinner, Stack, Text} from '@sanity/ui'\nimport {fromString as pathFromString} from '@sanity/util/paths'\nimport {useCallback} from 'react'\nimport {\n DefaultPreview,\n getPublishedId,\n Preview,\n useSchema,\n type ListenQueryOptions,\n type SanityDocument,\n} from 'sanity'\nimport {Feedback, useListeningQuery} from 'sanity-plugin-utils'\nimport {usePaneRouter} from 'sanity/structure'\n\nimport Debug from './Debug'\nimport DuplicateDocument from './DuplicateDocument'\nimport NewDocument from './NewDocument'\nimport type {DocumentsPaneInitialValueTemplate} from './types'\n\ntype DocumentsProps = {\n query: string\n params: Record<string, string>\n debug: boolean\n initialValueTemplates: DocumentsPaneInitialValueTemplate[]\n options: ListenQueryOptions\n duplicate: boolean\n}\n\nexport default function Documents(props: DocumentsProps) {\n const {query, params, options, debug, initialValueTemplates, duplicate} = props\n const {routerPanesState, groupIndex, handleEditReference} = usePaneRouter()\n const schema = useSchema()\n\n const {\n loading,\n error,\n data: _data,\n } = useListeningQuery<SanityDocument[]>(query, {\n params,\n initialValue: [],\n options,\n })\n const data = _data ?? []\n\n const handleClick = useCallback(\n (id: string, type: string) => {\n const childParams = routerPanesState[groupIndex + 1]?.[0]?.params || {}\n const {parentRefPath} = childParams\n\n handleEditReference({\n id,\n type,\n parentRefPath: parentRefPath ? pathFromString(parentRefPath) : [''],\n template: {id},\n })\n },\n [routerPanesState, groupIndex, handleEditReference],\n )\n\n if (loading) {\n return (\n <Box padding={4}>\n <Flex align=\"center\" justify=\"center\">\n <Spinner muted />\n </Flex>\n </Box>\n )\n }\n\n if (error) {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>There was an error performing this query</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n )\n }\n\n if (!data.length) {\n return (\n <>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Stack gap={4} padding={4}>\n <DocumentsCount count={0} />\n <Feedback>No Documents found</Feedback>\n {debug ? <Debug params={params} query={query} /> : null}\n </Stack>\n </>\n )\n }\n\n return (\n <>\n <NewDocument initialValueTemplates={initialValueTemplates} />\n <Box paddingX={3} paddingTop={3} paddingBottom={1}>\n <Box paddingLeft={1}>\n <DocumentsCount count={data.length} />\n </Box>\n </Box>\n <Stack gap={1} padding={2}>\n {data.map((doc) => {\n const schemaType = schema.get(doc._type)\n const originalId = doc['_originalId']\n const previewValue = typeof originalId === 'string' ? {...doc, _id: originalId} : doc\n\n return schemaType ? (\n <Button\n key={doc._id}\n mode=\"bleed\"\n onClick={() => handleClick(doc._id, doc._type)}\n padding={2}\n >\n <Preview\n actions={\n duplicate ? (\n <DuplicateDocument id={getPublishedId(doc._id)} type={doc._type} />\n ) : null\n }\n layout=\"block\"\n schemaType={schemaType}\n value={previewValue}\n />\n </Button>\n ) : (\n <Card data-ui=\"Alert\" key={doc._id} padding={2} radius={2} tone=\"caution\">\n <DefaultPreview\n media={<WarningOutlineIcon />}\n subtitle={`Encountered type \"${doc._type}\" that is not defined in the schema.`}\n title=\"Unknown schema type found\"\n />\n </Card>\n )\n })}\n </Stack>\n </>\n )\n}\n\nfunction DocumentsCount({count}: {count: number}) {\n const label = count === 1 ? 'document' : 'documents'\n\n return (\n <Text muted size={1}>\n {count} {label}\n </Text>\n )\n}\n","import type {\n DocumentVersionsCollection,\n DocumentsPaneInitialValueTemplate,\n DocumentsPaneInitialValueTemplateResolver,\n} from './types'\n\ninterface ResolveInitialValueTemplatesOptions {\n resolver: DocumentsPaneInitialValueTemplateResolver | undefined\n document: DocumentVersionsCollection\n}\n\nexport default function resolveInitialValueTemplates(\n options: ResolveInitialValueTemplatesOptions,\n): DocumentsPaneInitialValueTemplate[] {\n const {resolver, document} = options\n\n if (!resolver) return []\n\n return resolver({document})\n}\n","import delve from 'dlv'\n\nimport type {DocumentVersionsCollection, DocumentsPaneQueryParams} from './types'\n\ninterface ResolveParamsOptions {\n params?: DocumentsPaneQueryParams\n document: DocumentVersionsCollection\n useDraft: boolean\n}\n\ntype ResolveParamsReturn = undefined | Record<string, string>\n\nfunction defaultResolver(\n options: ResolveParamsOptions,\n): Record<string, string | undefined> | undefined {\n const {params, document, useDraft} = options\n\n if (!params || typeof params === 'function') {\n return {}\n }\n\n const doc = useDraft ? document.displayed : document.published\n\n if (!doc) {\n return undefined\n }\n\n const resolved: Record<string, string | undefined> = {}\n\n for (const [key, path] of Object.entries(params)) {\n resolved[key] = delve(doc, path)\n }\n\n return resolved\n}\n\nexport default function resolveParams(options: ResolveParamsOptions): ResolveParamsReturn {\n const {params, document} = options\n\n const resolvedParams =\n typeof params === 'function' ? params({document}) : defaultResolver(options)\n\n if (!resolvedParams) {\n return undefined\n }\n\n const entries = Object.entries(resolvedParams)\n\n if (entries.some(([, value]) => value === undefined)) {\n return undefined\n }\n\n return Object.fromEntries(\n entries.filter((entry): entry is [string, string] => entry[1] !== undefined),\n )\n}\n","import {Stack} from '@sanity/ui'\nimport {Feedback} from 'sanity-plugin-utils'\n\nimport Debug from './Debug'\nimport Documents from './Documents'\nimport resolveInitialValueTemplates from './resolveInitialValueTemplates'\nimport resolveParams from './resolveParams'\nimport type {DocumentsPaneProps} from './types'\n\nexport default function DocumentsPane(props: DocumentsPaneProps) {\n const {document} = props\n const {\n query,\n params,\n useDraft = false,\n debug = false,\n initialValueTemplates: initialValueTemplatesResolver,\n options = {},\n duplicate = false,\n } = props.options\n\n if (useDraft && typeof params === 'function') {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>\n <code>useDraft</code> should not be <code>true</code> when supplying a function for\n <code>params</code>\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>\n )\n }\n\n const paramValues = resolveParams({document, params, useDraft})\n\n const initialValueTemplates = resolveInitialValueTemplates({\n resolver: initialValueTemplatesResolver,\n document,\n })\n\n if (!paramValues) {\n return (\n <Stack gap={5} padding={4}>\n <Feedback>\n Parameters for this query could not be resolved. This may mean the document does not yet\n exist, or is incomplete.\n </Feedback>\n {debug ? <Debug query={query} /> : null}\n </Stack>\n )\n }\n\n return (\n <Documents\n query={query}\n params={paramValues}\n options={options}\n debug={debug}\n initialValueTemplates={initialValueTemplates}\n duplicate={duplicate}\n />\n )\n}\n","import '@sanity/ui/styles.css'\nimport DocumentsPane from './DocumentsPane'\n\nexport default DocumentsPane\n"],"mappings":"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"}
\ No newline at end of file