sanity-plugin-documents-pane

4.1.204.1.21
~

Modified (2 files)

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "sanity-plugin-documents-pane",
-  "version": "4.1.20",
+  "version": "4.1.21",
   "description": "Displays the results of a GROQ query in a View Pane",
   "keywords": [
     "sanity",
     "sanity-plugin"
@@ -26,26 +26,26 @@
     ".": "./dist/index.js",
     "./package.json": "./package.json"
   },
   "dependencies": {
-    "@sanity/icons": "^5.2.1",
-    "@sanity/ui": "^4.0.7",
-    "@sanity/util": "^6.11.0",
+    "@sanity/icons": "^5.2.2",
+    "@sanity/ui": "^4.2.7",
+    "@sanity/util": "^6.16.0",
     "@sanity/uuid": "^3.0.3",
     "dlv": "^1.1.3",
     "rxjs": "^7.8.2",
-    "sanity-plugin-utils": "^2.0.18"
+    "sanity-plugin-utils": "^2.0.19"
   },
   "devDependencies": {
     "@sanity/tsconfig": "^2.2.1",
     "@sanity/tsdown-config": "^0.27.1",
     "@types/dlv": "^1.1.5",
-    "@types/react": "^19.2.18",
-    "@types/react-dom": "^19.2.4",
+    "@types/react": "^19.3.0",
+    "@types/react-dom": "^19.3.0",
     "oxc-transform-react": "^0.147.0",
-    "react": "^19.2.8",
-    "react-dom": "^19.2.8",
-    "sanity": "^6.11.0",
+    "react": "^19.3.0",
+    "react-dom": "^19.3.0",
+    "sanity": "^6.16.0",
     "styled-components": "^6.5.3",
     "tsdown": "^0.22.14"
   },
   "peerDependencies": {
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