sanity 3.94.1-next.5.ec6157041e → 3.94.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BehaviorSubject-CU-WJrzA.mjs +30 -0
- package/dist/BehaviorSubject-CU-WJrzA.mjs.map +1 -0
- package/dist/BroadcastDisplayedDocument-BSV9T3BU.mjs +20 -0
- package/dist/BroadcastDisplayedDocument-BSV9T3BU.mjs.map +1 -0
- package/dist/DisplayedDocumentBroadcaster-DZ65n35Q.mjs +62 -0
- package/dist/DisplayedDocumentBroadcaster-DZ65n35Q.mjs.map +1 -0
- package/dist/LiveQueries-Crz53eU5.mjs +407 -0
- package/dist/LiveQueries-Crz53eU5.mjs.map +1 -0
- package/dist/Observable-CCQtH8Gg.mjs +546 -0
- package/dist/Observable-CCQtH8Gg.mjs.map +1 -0
- package/dist/PostMessageDocuments-BjgsJxz4.mjs +72 -0
- package/dist/PostMessageDocuments-BjgsJxz4.mjs.map +1 -0
- package/dist/PostMessagePerspective-pucY-E6a.mjs +22 -0
- package/dist/PostMessagePerspective-pucY-E6a.mjs.map +1 -0
- package/dist/PostMessagePreviewSnapshots-CRQgRg4_.mjs +71 -0
- package/dist/PostMessagePreviewSnapshots-CRQgRg4_.mjs.map +1 -0
- package/dist/PostMessageRefreshMutations-D944RbO3.mjs +66 -0
- package/dist/PostMessageRefreshMutations-D944RbO3.mjs.map +1 -0
- package/dist/PostMessageSchema-3eOtr1bs.mjs +516 -0
- package/dist/PostMessageSchema-3eOtr1bs.mjs.map +1 -0
- package/dist/PostMessageTelemetry-DMTQDJeN.mjs +20 -0
- package/dist/PostMessageTelemetry-DMTQDJeN.mjs.map +1 -0
- package/dist/PresentationToolGrantsCheck-B0q4AQ3b.mjs +3999 -0
- package/dist/PresentationToolGrantsCheck-B0q4AQ3b.mjs.map +1 -0
- package/dist/QRCodeSVG-hyTW2xeN.mjs +648 -0
- package/dist/QRCodeSVG-hyTW2xeN.mjs.map +1 -0
- package/dist/Refractor-Zss2QEe8.mjs +2568 -0
- package/dist/Refractor-Zss2QEe8.mjs.map +1 -0
- package/dist/SourceContext-QxJD1Wrm.mjs +111 -0
- package/dist/SourceContext-QxJD1Wrm.mjs.map +1 -0
- package/dist/StructureToolProvider-B-7cwz7l.mjs +2287 -0
- package/dist/StructureToolProvider-B-7cwz7l.mjs.map +1 -0
- package/dist/ViteDevServerStopped-CgIEqy9p.mjs +57 -0
- package/dist/ViteDevServerStopped-CgIEqy9p.mjs.map +1 -0
- package/dist/_createContext.mjs +38 -0
- package/dist/_createContext.mjs.map +1 -0
- package/dist/_singletons.mjs +216 -0
- package/dist/_singletons.mjs.map +1 -0
- package/dist/browser-B0Q9qZJS.mjs +478 -0
- package/dist/browser-B0Q9qZJS.mjs.map +1 -0
- package/dist/browser-DmX5VEcE.mjs +324 -0
- package/dist/browser-DmX5VEcE.mjs.map +1 -0
- package/dist/desk.mjs +53 -0
- package/dist/desk.mjs.map +1 -0
- package/dist/first-Cz545eV-.mjs +42 -0
- package/dist/first-Cz545eV-.mjs.map +1 -0
- package/dist/index-B2GCDfau.mjs +96 -0
- package/dist/index-B2GCDfau.mjs.map +1 -0
- package/dist/index-BRIelBPK.mjs +6946 -0
- package/dist/index-BRIelBPK.mjs.map +1 -0
- package/dist/index-BUB137yJ.mjs +144 -0
- package/dist/index-BUB137yJ.mjs.map +1 -0
- package/dist/index-C3PGPrdL.mjs +1192 -0
- package/dist/index-C3PGPrdL.mjs.map +1 -0
- package/dist/index-C9NvTy6s.mjs +319 -0
- package/dist/index-C9NvTy6s.mjs.map +1 -0
- package/dist/index-DCkQlgdi.mjs +4001 -0
- package/dist/index-DCkQlgdi.mjs.map +1 -0
- package/dist/index-DG-3plB0.mjs +71 -0
- package/dist/index-DG-3plB0.mjs.map +1 -0
- package/dist/index-RoxwhtVB.mjs +5600 -0
- package/dist/index-RoxwhtVB.mjs.map +1 -0
- package/dist/index-iMZR29eF.mjs +756 -0
- package/dist/index-iMZR29eF.mjs.map +1 -0
- package/dist/index-wVXq9rWS.mjs +244 -0
- package/dist/index-wVXq9rWS.mjs.map +1 -0
- package/dist/index.mjs +137385 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lodash-Vz5dH_Dm.mjs +3679 -0
- package/dist/lodash-Vz5dH_Dm.mjs.map +1 -0
- package/dist/pane-Bm_57XKB.mjs +5 -0
- package/dist/pane-Bm_57XKB.mjs.map +1 -0
- package/dist/pane-Dopl4BjD.mjs +5 -0
- package/dist/pane-Dopl4BjD.mjs.map +1 -0
- package/dist/presentation-DsIky7Cj.mjs +556 -0
- package/dist/presentation-DsIky7Cj.mjs.map +1 -0
- package/dist/presentation.mjs +10 -0
- package/dist/presentation.mjs.map +1 -0
- package/dist/publishReplay-PuJoYJpp.mjs +92 -0
- package/dist/publishReplay-PuJoYJpp.mjs.map +1 -0
- package/dist/refractor-Bg1S3YDK.mjs +26 -0
- package/dist/refractor-Bg1S3YDK.mjs.map +1 -0
- package/dist/resources-BQsCEzu1.mjs +60 -0
- package/dist/resources-BQsCEzu1.mjs.map +1 -0
- package/dist/resources-BahMtJuO.mjs +177 -0
- package/dist/resources-BahMtJuO.mjs.map +1 -0
- package/dist/resources-CjkBN4z6.mjs +126 -0
- package/dist/resources-CjkBN4z6.mjs.map +1 -0
- package/dist/resources-Dc-6ZcPg.mjs +157 -0
- package/dist/resources-Dc-6ZcPg.mjs.map +1 -0
- package/dist/resources-DqxSuDsr.mjs +37 -0
- package/dist/resources-DqxSuDsr.mjs.map +1 -0
- package/dist/resources-_gTjFWLH.mjs +517 -0
- package/dist/resources-_gTjFWLH.mjs.map +1 -0
- package/dist/resources-kA1bao30.mjs +358 -0
- package/dist/resources-kA1bao30.mjs.map +1 -0
- package/dist/router.mjs +721 -0
- package/dist/router.mjs.map +1 -0
- package/dist/stegaEncodeSourceMap-DCG9Ba1H.mjs +358 -0
- package/dist/stegaEncodeSourceMap-DCG9Ba1H.mjs.map +1 -0
- package/dist/structure.mjs +57 -0
- package/dist/structure.mjs.map +1 -0
- package/dist/structureTool-Bth1vd8r.mjs +13150 -0
- package/dist/structureTool-Bth1vd8r.mjs.map +1 -0
- package/dist/switchMap-DHVUskpL.mjs +54 -0
- package/dist/switchMap-DHVUskpL.mjs.map +1 -0
- package/dist/v4-zH-CAum7.mjs +24798 -0
- package/dist/v4-zH-CAum7.mjs.map +1 -0
- package/dist/version-DoE_JnhG.mjs +5 -0
- package/dist/version-DoE_JnhG.mjs.map +1 -0
- package/lib/_chunks-cjs/version.js +1 -1
- package/lib/_chunks-es/version.mjs +1 -1
- package/package.json +23 -23
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"presentation-DsIky7Cj.mjs","sources":["../src/presentation/overlays/useSharedState.ts","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.1.11_@sanity+client@7.6.0_debug@4.4.1_/node_modules/@sanity/preview-url-secret/dist/constants.js","../src/presentation/constants.ts","../src/presentation/i18n/index.ts","../src/presentation/useDocumentLocations.ts","../src/presentation/usePresentationTool.ts","../src/presentation/document/useCurrentPresentationToolName.ts","../src/presentation/document/LocationsBanner.tsx","../src/presentation/document/PresentationDocumentHeader.tsx","../src/presentation/document/PresentationDocumentProvider.tsx","../src/presentation/fieldActions/openInStructure.ts","../src/presentation/getIntentState.ts","../src/presentation/PresentationSpinner.tsx","../src/presentation/router.ts","../src/presentation/plugin.tsx","../src/presentation/usePresentationNavigate.ts","../src/presentation/usePresentationParams.ts"],"sourcesContent":["import {type Serializable} from '@sanity/presentation-comlink'\nimport {useContext, useEffect} from 'react'\nimport {PresentationSharedStateContext} from 'sanity/_singletons'\n\n/** @public */\nexport const useSharedState = (key: string, value: Serializable): undefined => {\n const context = useContext(PresentationSharedStateContext)\n\n if (!context) {\n throw new Error('Preview Snapshots context is missing')\n }\n\n const {setValue} = context\n\n useEffect(() => {\n setValue(key, value)\n }, [key, value, setValue])\n\n return undefined\n}\n","const schemaType = \"sanity.previewUrlSecret\", schemaIdPrefix = \"sanity-preview-url-secret\", schemaIdSingleton = `${schemaIdPrefix}.share-access`, schemaTypeSingleton = \"sanity.previewUrlShareAccess\", apiVersion = \"2025-02-19\", urlSearchParamPreviewSecret = \"sanity-preview-secret\", urlSearchParamPreviewPathname = \"sanity-preview-pathname\", urlSearchParamPreviewPerspective = \"sanity-preview-perspective\", urlSearchParamVercelProtectionBypass = \"x-vercel-protection-bypass\", urlSearchParamVercelSetBypassCookie = \"x-vercel-set-bypass-cookie\", isDev = process.env.NODE_ENV === \"development\", SECRET_TTL = 60 * 60, fetchSecretQuery = (\n /* groq */\n `*[_type == \"${schemaType}\" && secret == $secret && dateTime(_updatedAt) > dateTime(now()) - ${SECRET_TTL}][0]{\n _id,\n _updatedAt,\n secret,\n studioUrl,\n }`\n), fetchSharedAccessQuery = (\n /* groq */\n `*[_id == \"${schemaIdSingleton}\" && _type == \"${schemaTypeSingleton}\"][0].secret`\n), fetchSharedAccessSecretQuery = (\n /* groq */\n `*[_id == \"${schemaIdSingleton}\" && _type == \"${schemaTypeSingleton}\" && secret == $secret][0]{\n secret,\n studioUrl,\n}`\n), deleteExpiredSecretsQuery = (\n /* groq */\n `*[_type == \"${schemaType}\" && dateTime(_updatedAt) <= dateTime(now()) - ${SECRET_TTL}]`\n), vercelProtectionBypassSchemaType = \"sanity.vercelProtectionBypass\", vercelProtectionBypassSchemaId = `${schemaIdPrefix}.vercel-protection-bypass`, fetchVercelProtectionBypassSecret = (\n /* groq */\n `*[_id == \"${vercelProtectionBypassSchemaId}\" && _type == \"${vercelProtectionBypassSchemaType}\"][0].secret`\n), tag = \"sanity.preview-url-secret\", perspectiveCookieName = \"sanity-preview-perspective\";\nexport {\n SECRET_TTL,\n apiVersion,\n deleteExpiredSecretsQuery,\n fetchSecretQuery,\n fetchSharedAccessQuery,\n fetchSharedAccessSecretQuery,\n fetchVercelProtectionBypassSecret,\n isDev,\n perspectiveCookieName,\n schemaIdPrefix,\n schemaIdSingleton,\n schemaType,\n schemaTypeSingleton,\n tag,\n urlSearchParamPreviewPathname,\n urlSearchParamPreviewPerspective,\n urlSearchParamPreviewSecret,\n urlSearchParamVercelProtectionBypass,\n urlSearchParamVercelSetBypassCookie,\n vercelProtectionBypassSchemaId,\n vercelProtectionBypassSchemaType\n};\n//# sourceMappingURL=constants.js.map\n","import {ComposeIcon} from '@sanity/icons'\nimport {apiVersion} from '@sanity/preview-url-secret/constants'\n\nexport const DEFAULT_TOOL_ICON = ComposeIcon\nexport const DEFAULT_TOOL_NAME = 'presentation'\nexport const DEFAULT_TOOL_TITLE = 'Presentation'\n\nexport const EDIT_INTENT_MODE = 'presentation'\n\n// How long we wait until an iframe is loaded until we consider it to be slow and possibly failed\nexport const MAX_TIME_TO_OVERLAYS_CONNECTION = 3_000 // ms\n\n// The API version to use when using `@sanity/client`\nexport const API_VERSION = apiVersion\n\n// Heartbeats shouldn't fire on intervals that are so short it causes performance issues\nexport const MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL = 1000 // ms\n\n// How often the list over loader queries should be garbage collected\nexport const LOADER_QUERY_GC_INTERVAL = 30_000 // ms\n\n// The interval at which we check if existing popups have been closed\nexport const POPUP_CHECK_INTERVAL = 1000 // ms\n","import {defineLocaleResourceBundle} from 'sanity'\n\n/**\n * The locale namespace for the presentation tool\n *\n * @public\n */\nexport const presentationLocaleNamespace = 'presentation' as const\n\n/**\n * The default locale bundle for the presentation tool, which is US English.\n *\n * @internal\n */\nexport const presentationUsEnglishLocaleBundle = defineLocaleResourceBundle({\n locale: 'en-US',\n namespace: presentationLocaleNamespace,\n resources: () => import('./resources'),\n})\n","import {useEffect, useMemo, useState} from 'react'\nimport {isObservable, map, of} from 'rxjs'\nimport {\n type ObjectSchemaType,\n type PreviewableType,\n useDocumentPreviewStore,\n useDocumentStore,\n usePerspective,\n} from 'sanity'\n\nimport {\n type DocumentLocationResolver,\n type DocumentLocationResolvers,\n type DocumentLocationsState,\n type DocumentLocationsStatus,\n} from './types'\n\nconst INITIAL_STATE: DocumentLocationsState = {locations: []}\n\nexport function useDocumentLocations(props: {\n id: string\n version: string | undefined\n resolvers?: DocumentLocationResolver | DocumentLocationResolvers\n type: ObjectSchemaType\n}): {\n state: DocumentLocationsState\n status: DocumentLocationsStatus\n} {\n const {id, resolvers, type, version} = props\n const documentStore = useDocumentStore()\n const documentPreviewStore = useDocumentPreviewStore()\n\n const {perspectiveStack} = usePerspective()\n const [locationsState, setLocationsState] = useState<DocumentLocationsState>(INITIAL_STATE)\n\n const resolver = resolvers && (typeof resolvers === 'function' ? resolvers : resolvers[type.name])\n\n const [locationsStatus, setLocationsStatus] = useState<DocumentLocationsStatus>(\n resolver ? 'resolving' : 'empty',\n )\n\n const result = useMemo(() => {\n if (!resolver) return undefined\n\n // Original/advanced resolver which requires explicit use of Observables\n if (typeof resolver === 'function') {\n const params = {id, type: type.name, version, perspectiveStack}\n const context = {documentStore}\n const _result = resolver(params, context)\n return isObservable(_result) ? _result : of(_result)\n }\n\n // Simplified resolver pattern which abstracts away Observable logic\n if ('select' in resolver && 'resolve' in resolver) {\n const doc = {_type: 'reference', _ref: id}\n // Override the preview selection in the schema type to use the user\n // defined selection defined by the resolver\n const _type = {...type, preview: {select: resolver.select}} satisfies PreviewableType\n const options = {perspective: perspectiveStack}\n return documentPreviewStore\n .observeForPreview(doc, _type, options)\n .pipe(map((preview) => resolver.resolve(preview.snapshot || null)))\n }\n\n // Resolver is explicitly provided state\n return of(resolver)\n }, [documentStore, documentPreviewStore, id, resolver, type, version, perspectiveStack])\n\n useEffect(() => {\n const sub = result?.subscribe((state) => {\n setLocationsState(state || INITIAL_STATE)\n setLocationsStatus(state ? 'resolved' : 'empty')\n })\n\n return () => sub?.unsubscribe()\n }, [result])\n\n return {\n state: locationsState,\n status: locationsStatus,\n }\n}\n","import {useContext} from 'react'\nimport {PresentationContext} from 'sanity/_singletons'\n\nimport {type PresentationContextValue} from './types'\n\nexport function usePresentationTool(throwOnMissingContext?: true): PresentationContextValue\nexport function usePresentationTool(throwOnMissingContext: false): PresentationContextValue | null\nexport function usePresentationTool(throwOnMissingContext = true): PresentationContextValue | null {\n const presentation = useContext(PresentationContext)\n\n if (throwOnMissingContext && !presentation) {\n throw new Error('Presentation context is missing')\n }\n\n return presentation\n}\n","import {usePresentationTool} from '../usePresentationTool'\n\nexport function useCurrentPresentationToolName(): string | undefined {\n return usePresentationTool(false)?.name ?? undefined\n}\n","import {\n ChevronRightIcon,\n DesktopIcon,\n ErrorOutlineIcon,\n InfoOutlineIcon,\n WarningOutlineIcon,\n} from '@sanity/icons'\nimport {Box, Card, Flex, Spinner, Stack, Text} from '@sanity/ui'\nimport {type ComponentType, type ReactNode, useCallback, useContext, useState} from 'react'\nimport {type ObjectSchemaType, useTranslation} from 'sanity'\nimport {PresentationContext} from 'sanity/_singletons'\nimport {useIntentLink} from 'sanity/router'\n\nimport {DEFAULT_TOOL_NAME, DEFAULT_TOOL_TITLE} from '../constants'\nimport {presentationLocaleNamespace} from '../i18n'\nimport {\n type DocumentLocation,\n type DocumentLocationResolver,\n type DocumentLocationResolvers,\n type PresentationPluginOptions,\n} from '../types'\nimport {useDocumentLocations} from '../useDocumentLocations'\nimport {useCurrentPresentationToolName} from './useCurrentPresentationToolName'\n\nconst TONE_ICONS: Record<'positive' | 'caution' | 'critical', ComponentType> = {\n positive: InfoOutlineIcon,\n caution: WarningOutlineIcon,\n critical: ErrorOutlineIcon,\n}\n\nexport function LocationsBanner(props: {\n documentId: string\n options: PresentationPluginOptions\n resolvers?: DocumentLocationResolver | DocumentLocationResolvers\n schemaType: ObjectSchemaType\n showPresentationTitle: boolean\n version: string | undefined\n}): ReactNode {\n const {documentId, options, resolvers, schemaType, showPresentationTitle, version} = props\n\n const {state, status} = useDocumentLocations({\n id: documentId,\n version,\n resolvers,\n type: schemaType,\n })\n\n const isResolving = status === 'resolving'\n\n const {locations, message, tone} = state\n const locationsCount = locations?.length || 0\n\n const {t} = useTranslation(presentationLocaleNamespace)\n const presentation = useContext(PresentationContext)\n const presentationName = presentation?.name\n const [expanded, setExpanded] = useState(false)\n const toggle = useCallback(() => {\n if (!locationsCount) return\n setExpanded((v) => !v)\n }, [locationsCount])\n\n const title = isResolving\n ? t('locations-banner.resolving.text')\n : message || t('locations-banner.locations-count', {count: locationsCount})\n\n const ToneIcon = tone ? TONE_ICONS[tone] : undefined\n\n if (!resolvers || status === 'empty') return null\n return (\n <Card padding={1} radius={2} border tone={tone}>\n <div style={{margin: -1}}>\n {!locations && (\n <Flex align=\"flex-start\" gap={3} padding={3}>\n {tone && ToneIcon && (\n <Box flex=\"none\">\n <Text size={1}>\n <ToneIcon />\n </Text>\n </Box>\n )}\n <Box flex={1}>\n <Text size={1} weight=\"medium\">\n {showPresentationTitle && <>{options.title || DEFAULT_TOOL_TITLE} · </>}\n {title}\n </Text>\n </Box>\n </Flex>\n )}\n {locations && (\n <>\n <Card\n as={locationsCount ? 'button' : undefined}\n onClick={toggle}\n padding={3}\n radius={1}\n tone=\"inherit\"\n >\n <Flex gap={3}>\n <Box flex=\"none\">\n {isResolving ? (\n <Spinner size={1} />\n ) : (\n <Text size={1}>\n {locationsCount === 0 ? (\n <InfoOutlineIcon />\n ) : (\n <ChevronRightIcon\n style={{\n transform: `rotate(${expanded ? '90deg' : 0})`,\n transition: 'transform 100ms ease-in-out',\n }}\n />\n )}\n </Text>\n )}\n </Box>\n <Box flex={1}>\n <Text size={1} weight=\"medium\">\n {showPresentationTitle && <>{options.title || DEFAULT_TOOL_TITLE} · </>}\n {title}\n </Text>\n </Box>\n </Flex>\n </Card>\n <Stack hidden={!expanded} marginTop={1} space={1}>\n {locations.map((l) => {\n let active = false\n if (\n (options.name || DEFAULT_TOOL_NAME) === presentationName &&\n presentation?.params.preview\n ) {\n active = areUrlsMatching(presentation.params.preview, l.href)\n }\n\n return (\n <LocationItem\n active={active}\n documentId={documentId}\n documentType={schemaType.name}\n key={l.href}\n node={l}\n toolName={options.name || DEFAULT_TOOL_NAME}\n />\n )\n })}\n </Stack>\n </>\n )}\n </div>\n </Card>\n )\n}\n\nfunction LocationItem(props: {\n active: boolean\n documentId: string\n documentType: string\n node: DocumentLocation\n toolName: string\n}) {\n const {documentId, documentType, node, active, toolName} = props\n const presentation = useContext(PresentationContext)\n const currentPresentationToolName = useCurrentPresentationToolName()\n const isCurrentTool = toolName === currentPresentationToolName\n const navigate = presentation?.navigate\n\n const presentationLinkProps = useIntentLink({\n intent: 'edit',\n params: {\n id: documentId,\n type: documentType,\n mode: 'presentation',\n presentation: toolName,\n ...presentation?.structureParams,\n preview: node.href,\n },\n })\n\n const handleCurrentToolClick = useCallback(() => {\n navigate?.({}, {preview: node.href})\n }, [node.href, navigate])\n\n return (\n <Card\n {...(isCurrentTool ? {} : presentationLinkProps)}\n as=\"a\"\n key={node.href}\n onClick={isCurrentTool ? handleCurrentToolClick : presentationLinkProps.onClick}\n padding={3}\n radius={1}\n pressed={active}\n tone=\"inherit\"\n >\n <Flex gap={3}>\n <Box flex=\"none\">\n <Text size={1}>\n <DesktopIcon />\n </Text>\n </Box>\n <Stack flex={1} space={2}>\n <Text size={1} weight=\"medium\">\n {node.title}\n </Text>\n <Text muted size={1} textOverflow=\"ellipsis\">\n {node.href}\n </Text>\n </Stack>\n </Flex>\n </Card>\n )\n}\n\n/**\n * Compares two URLs to determine if they match based on origin, pathname, and search parameters\n * The previewUrl should have all the search parameters that are in the locationUrl\n */\nfunction areUrlsMatching(previewUrlString: string, locationUrlString: string): boolean {\n try {\n const previewUrl = new URL(previewUrlString, location.origin)\n const locationUrl = new URL(locationUrlString, previewUrl.origin)\n\n // First compare origin and pathname\n if (previewUrl.origin !== locationUrl.origin || previewUrl.pathname !== locationUrl.pathname) {\n return false\n }\n\n // Then check search params\n // All search params in locationUrl must exist with the same values in previewUrl\n const locationParams = new URLSearchParams(locationUrl.search)\n const previewParams = new URLSearchParams(previewUrl.search)\n\n for (const [key, value] of locationParams.entries()) {\n if (previewParams.get(key) !== value) {\n return false\n }\n }\n\n return true\n } catch {\n // If URL parsing fails, URLs don't match\n return false\n }\n}\n","import {rem} from '@sanity/ui'\n// eslint-disable-next-line camelcase\nimport {getTheme_v2} from '@sanity/ui/theme'\nimport {type ReactNode, useContext} from 'react'\nimport {type ObjectSchemaType, type PublishedId} from 'sanity'\nimport {PresentationDocumentContext} from 'sanity/_singletons'\nimport {css, styled} from 'styled-components'\n\nimport {type PresentationPluginOptions} from '../types'\nimport {LocationsBanner} from './LocationsBanner'\n\nconst LocationStack = styled.div((props) => {\n const theme = getTheme_v2(props.theme)\n return css`\n display: flex;\n flex-direction: column;\n gap: ${rem(theme.space[2])};\n min-height: ${rem(42)};\n margin-bottom: ${rem(theme.space[5])};\n\n &:empty {\n display: none;\n }\n `\n})\n\nexport function PresentationDocumentHeader(props: {\n documentId: PublishedId\n version: string | undefined\n options: PresentationPluginOptions\n schemaType: ObjectSchemaType\n}): ReactNode {\n const {documentId, options, schemaType, version} = props\n const context = useContext(PresentationDocumentContext)\n\n const contextOptions = context?.options || []\n const resolvers = contextOptions.map((o) => o.resolve?.locations || o.locate)\n const hasResolvers = resolvers.some(Boolean)\n\n if ((context && context.options[0] !== options) || !hasResolvers) {\n return null\n }\n\n return (\n <LocationStack>\n {contextOptions.map((_options, idx) => (\n <LocationsBanner\n key={idx}\n documentId={documentId}\n options={_options}\n resolvers={resolvers[idx]}\n schemaType={schemaType}\n showPresentationTitle={contextOptions.length > 1}\n version={version}\n />\n ))}\n </LocationStack>\n )\n}\n","import {type ReactNode, useCallback, useContext, useLayoutEffect, useMemo, useState} from 'react'\nimport {PresentationDocumentContext} from 'sanity/_singletons'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {type PresentationPluginOptions} from '../types'\nimport {type PresentationDocumentContextValue} from './types'\n\n/** @internal */\nexport function PresentationDocumentProvider(props: {\n children?: ReactNode\n options: PresentationPluginOptions\n}): React.JSX.Element {\n const {children, options} = props\n const parent = useContext(PresentationDocumentContext)\n const parentRegister = parent?.register\n\n const [optionsArray, setOptionsArray] = useState<PresentationPluginOptions[]>(() => [])\n\n const register = useCallback(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n (options: PresentationPluginOptions) => {\n if (parentRegister) {\n return parentRegister(options)\n }\n\n setOptionsArray((prev) => [options].concat(prev))\n\n return () => {\n setOptionsArray((prev) => prev.filter((o) => o !== options))\n }\n },\n [parentRegister],\n )\n\n const context: PresentationDocumentContextValue = useMemo(\n () => ({\n options: parent?.options || optionsArray,\n register,\n }),\n [optionsArray, parent, register],\n )\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const registerEffectEvent = useEffectEvent((options: PresentationPluginOptions) =>\n register(options),\n )\n useLayoutEffect(() => registerEffectEvent(options), [options])\n\n return (\n <PresentationDocumentContext.Provider value={context}>\n {children}\n </PresentationDocumentContext.Provider>\n )\n}\n","import {MasterDetailIcon} from '@sanity/icons'\nimport {useContext, useMemo} from 'react'\nimport {\n defineDocumentFieldAction,\n type DocumentFieldActionGroup,\n type DocumentFieldActionItem,\n type DocumentFieldActionProps,\n isRecord,\n pathToString,\n type Tool,\n useWorkspace,\n} from 'sanity'\nimport {PresentationContext} from 'sanity/_singletons'\nimport {useRouter} from 'sanity/router'\n\nimport {DEFAULT_TOOL_NAME} from '../constants'\n\nfunction useOpenInStructureAction(\n props: DocumentFieldActionProps,\n): DocumentFieldActionItem | DocumentFieldActionGroup {\n const {documentId, documentType, path} = props\n const workspace = useWorkspace()\n const {navigateIntent} = useRouter()\n const presentation = useContext(PresentationContext)\n\n const defaultStructureTool = useMemo(\n () =>\n findStructureTool(\n workspace.tools,\n documentId,\n documentType,\n presentation?.name || DEFAULT_TOOL_NAME,\n ),\n [documentId, documentType, workspace.tools, presentation],\n )\n\n return {\n type: 'action',\n hidden: !presentation || path.length > 0 || !defaultStructureTool,\n icon: defaultStructureTool?.icon || MasterDetailIcon,\n title: `Open in ${defaultStructureTool?.title || 'Structure'}`,\n onAction() {\n navigateIntent('edit', {\n id: documentId,\n type: documentType,\n mode: 'structure',\n path: pathToString(path),\n })\n },\n renderAsButton: true,\n }\n}\n\nexport const openInStructure = defineDocumentFieldAction({\n name: 'presentation/openInStructure',\n useAction: useOpenInStructureAction,\n})\n\nfunction findStructureTool(\n tools: Tool[],\n documentId: string,\n documentType: string,\n presentationToolName?: string,\n): Tool | undefined {\n const results = tools\n .filter((t) => t.name !== presentationToolName)\n .map((t) => {\n const match = t.canHandleIntent?.(\n 'edit',\n {\n id: documentId,\n type: documentType,\n mode: 'structure',\n },\n {},\n )\n\n return {tool: t, match}\n })\n\n const modeMatches = results.filter((t) => isRecord(t.match) && t.match.mode)\n\n if (modeMatches.length > 0) {\n return modeMatches[0].tool\n }\n\n const matches = results.filter((t) => t.match)\n\n return matches[0]?.tool\n}\n","import {uuid} from '@sanity/uuid'\nimport {getPublishedId} from 'sanity'\nimport {encodeJsonParams, type RouterState, type SearchParam} from 'sanity/router'\n\nimport {type PresentationSearchParams, type PresentationStateParams} from './types'\n\nconst preservedSearchParamKeys: Array<keyof PresentationSearchParams> = ['preview', 'viewport']\n\n/**\n * @internal\n */\nexport function getIntentState(\n intent: string,\n params: Record<string, string>,\n routerState: RouterState | undefined,\n payload: unknown,\n):\n | (PresentationStateParams & {_searchParams: SearchParam[]})\n | {intent: string; params: Record<string, string>; payload: unknown} {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {id, mode, path, presentation, type, ...searchParams} = params\n\n const preservedSearchParams = (routerState?._searchParams || [])\n // @todo Casting https://github.com/microsoft/TypeScript/issues/14520\n .filter(([key]) => preservedSearchParamKeys.includes(key as keyof PresentationSearchParams))\n .reduce((acc, [key, value]) => ({...acc, [key]: value}), {} as Record<string, string>)\n\n const _searchParams = {\n ...preservedSearchParams,\n ...searchParams,\n }\n\n if (intent === 'edit' && id) {\n _searchParams.preview =\n _searchParams.preview || new URLSearchParams(window.location.search).get('preview') || '/'\n return {\n type: type || '*',\n id: getPublishedId(id),\n path,\n _searchParams: Object.entries(_searchParams),\n }\n }\n\n if (intent === 'create') {\n _searchParams.preview =\n _searchParams.preview || new URLSearchParams(window.location.search).get('preview') || '/'\n\n if (payload && typeof payload === 'object') {\n _searchParams.templateParams = encodeJsonParams(payload as Record<string, unknown>)\n }\n\n return {\n type: type || '*',\n id: id || uuid(),\n _searchParams: Object.entries(_searchParams),\n }\n }\n return {intent, params, payload}\n}\n","import {Flex, Spinner} from '@sanity/ui'\n\nexport function PresentationSpinner(): React.JSX.Element {\n return (\n <Flex align=\"center\" direction=\"column\" height=\"fill\" justify=\"center\" style={{width: '100%'}}>\n <Spinner />\n </Flex>\n )\n}\n","import {route} from 'sanity/router'\n\n// eslint-disable-next-line camelcase\nexport const router = route.create('/', {__unsafe_disableScopedSearchParams: true}, [\n route.intents('/intent'),\n route.create(':type', [route.create(':id', [route.create(':path')])]),\n])\n","import {type SanityDocument} from '@sanity/client'\nimport {lazy, Suspense} from 'react'\nimport {\n definePlugin,\n getPublishedId,\n getVersionFromId,\n type InputProps,\n isDocumentSchemaType,\n} from 'sanity'\n\nimport {DEFAULT_TOOL_ICON, DEFAULT_TOOL_NAME, EDIT_INTENT_MODE} from './constants'\nimport {PresentationDocumentHeader} from './document/PresentationDocumentHeader'\nimport {PresentationDocumentProvider} from './document/PresentationDocumentProvider'\nimport {openInStructure} from './fieldActions/openInStructure'\nimport {getIntentState} from './getIntentState'\nimport {presentationUsEnglishLocaleBundle} from './i18n'\nimport {PresentationSpinner} from './PresentationSpinner'\nimport {router} from './router'\nimport {\n type DocumentLocationResolverObject,\n type DocumentLocationsState,\n type DocumentResolver,\n type PresentationPluginOptions,\n} from './types'\n\nconst PresentationTool = lazy(() => import('./PresentationToolGrantsCheck'))\nconst BroadcastDisplayedDocument = lazy(() => import('./loader/BroadcastDisplayedDocument'))\n\n/**\n * Define locations for a given document type.\n * This function doesn't do anything itself, it is used to provide type information.\n * @param resolver - resolver that return locations for a document.\n * @public\n */\nexport function defineLocations<K extends string>(\n resolver: DocumentLocationResolverObject<K> | DocumentLocationsState,\n): typeof resolver {\n return resolver\n}\n\n/**\n * Define documents for a given location.\n * This function doesn't do anything itself, it is used to provide type information.\n * @param resolvers - resolvers that return documents.\n * @public\n */\nexport function defineDocuments(resolvers: DocumentResolver[]): typeof resolvers {\n return resolvers\n}\n\n/** @public */\nexport const presentationTool = definePlugin<PresentationPluginOptions>((options) => {\n const toolName = options.name || DEFAULT_TOOL_NAME\n\n if ('locate' in options) {\n // eslint-disable-next-line no-console\n console.warn('Presentation’s `locate` option is deprecated. Use `resolve.locations` instead.')\n }\n\n const hasLocationsResolver = !!(options.resolve?.locations || options.locate)\n\n function PresentationDocumentInput(props: InputProps) {\n const value = props.value as SanityDocument\n const documentId = value?._id ? getPublishedId(value?._id) : undefined\n const documentVersion = value?._id ? getVersionFromId(value._id) : undefined\n if (isDocumentSchemaType(props.schemaType)) {\n return (\n <PresentationDocumentProvider options={options}>\n {hasLocationsResolver && documentId && (\n <PresentationDocumentHeader\n documentId={documentId}\n version={documentVersion}\n options={options}\n schemaType={props.schemaType}\n />\n )}\n <Suspense fallback={<PresentationSpinner />}>{props.renderDefault(props)}</Suspense>\n <Suspense key=\"broadcast-displayed-document\">\n <BroadcastDisplayedDocument key={documentId} value={value} />\n </Suspense>\n </PresentationDocumentProvider>\n )\n }\n\n return props.renderDefault(props)\n }\n\n function canHandleCreateIntent(params: Record<string, unknown>) {\n // We can't handle create intents without a `type` parameter\n if (!('type' in params)) {\n return false\n }\n\n if ('presentation' in params && params.presentation !== toolName) {\n return false\n }\n\n return 'template' in params ? {template: true} : true\n }\n\n function canHandleEditIntent(params: Record<string, unknown>) {\n // We can't handle edit intents without `type` or `id` parameters\n if (!('type' in params) || !('id' in params)) {\n return false\n }\n\n if ('presentation' in params && params.presentation !== toolName) {\n return false\n }\n\n return 'mode' in params ? {mode: params.mode === EDIT_INTENT_MODE} : true\n }\n\n return {\n i18n: {\n bundles: [presentationUsEnglishLocaleBundle],\n },\n document: {\n unstable_fieldActions: (prev) => {\n return [\n ...prev.filter((a) => a.name !== openInStructure.name), // prevent duplication\n openInStructure,\n ]\n },\n },\n\n form: {\n components: {\n input: PresentationDocumentInput,\n },\n },\n\n tools: [\n {\n icon: options.icon || DEFAULT_TOOL_ICON,\n name: toolName,\n title: options.title,\n component: PresentationTool,\n options,\n canHandleIntent(intent, params) {\n if (intent === 'create') return canHandleCreateIntent(params)\n if (intent === 'edit') return canHandleEditIntent(params)\n return false\n },\n getIntentState,\n router,\n __internalApplicationType: 'sanity/presentation',\n },\n ],\n }\n})\n","import {useContext} from 'react'\nimport {PresentationNavigateContext} from 'sanity/_singletons'\n\nimport {type PresentationNavigateContextValue} from './types'\n\n/** @public */\nexport function usePresentationNavigate(): PresentationNavigateContextValue {\n const navigate = useContext(PresentationNavigateContext)\n\n if (!navigate) {\n throw new Error('Presentation navigate context is missing')\n }\n\n return navigate\n}\n\nexport type {PresentationNavigateContextValue}\n","import {useContext} from 'react'\nimport {PresentationParamsContext} from 'sanity/_singletons'\n\nimport {type PresentationParamsContextValue} from './types'\n\n/** @public */\nexport function usePresentationParams(throwOnMissingContext?: true): PresentationParamsContextValue\n/** @public */\nexport function usePresentationParams(\n throwOnMissingContext: false,\n): PresentationParamsContextValue | null\n/** @public */\nexport function usePresentationParams(\n throwOnMissingContext = true,\n): PresentationParamsContextValue | null {\n const params = useContext(PresentationParamsContext)\n\n if (throwOnMissingContext && !params) {\n throw new Error('Presentation params context is missing')\n }\n\n return params\n}\n"],"names":["useSharedState","key","value","$","_c","context","useContext","PresentationSharedStateContext","Error","setValue","t0","t1","useEffect","schemaType","schemaIdPrefix","schemaIdSingleton","schemaTypeSingleton","apiVersion","urlSearchParamPreviewSecret","urlSearchParamPreviewPathname","urlSearchParamPreviewPerspective","urlSearchParamVercelProtectionBypass","urlSearchParamVercelSetBypassCookie","SECRET_TTL","fetchSharedAccessQuery","deleteExpiredSecretsQuery","vercelProtectionBypassSchemaType","vercelProtectionBypassSchemaId","fetchVercelProtectionBypassSecret","tag","DEFAULT_TOOL_ICON","ComposeIcon","DEFAULT_TOOL_NAME","DEFAULT_TOOL_TITLE","EDIT_INTENT_MODE","MAX_TIME_TO_OVERLAYS_CONNECTION","API_VERSION","MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL","LOADER_QUERY_GC_INTERVAL","POPUP_CHECK_INTERVAL","presentationLocaleNamespace","presentationUsEnglishLocaleBundle","defineLocaleResourceBundle","locale","namespace","resources","INITIAL_STATE","locations","useDocumentLocations","props","id","resolvers","type","version","documentStore","useDocumentStore","documentPreviewStore","useDocumentPreviewStore","perspectiveStack","usePerspective","locationsState","setLocationsState","useState","resolver","name","locationsStatus","setLocationsStatus","bb0","undefined","params","_result","isObservable","of","doc","_type","_ref","preview","select","options","perspective","t2","resolve","snapshot","observeForPreview","pipe","map","result","sub","subscribe","state","unsubscribe","t3","status","usePresentationTool","throwOnMissingContext","presentation","PresentationContext","useCurrentPresentationToolName","TONE_ICONS","positive","InfoOutlineIcon","caution","WarningOutlineIcon","critical","ErrorOutlineIcon","LocationsBanner","documentId","showPresentationTitle","isResolving","message","tone","locationsCount","length","t","useTranslation","presentationName","expanded","setExpanded","_temp","toggle","count","title","ToneIcon","Symbol","for","margin","t4","jsxs","Flex","jsx","Box","Text","t5","Fragment","Card","Spinner","ChevronRightIcon","transform","transition","Stack","l","active","href","LocationItem","t6","t7","v","documentType","node","toolName","currentPresentationToolName","isCurrentTool","navigate","structureParams","intent","mode","presentationLinkProps","useIntentLink","handleCurrentToolClick","onClick","DesktopIcon","t8","t9","areUrlsMatching","previewUrlString","locationUrlString","previewUrl","URL","location","origin","locationUrl","pathname","locationParams","URLSearchParams","search","previewParams","entries","get","LocationStack","styled","div","theme","getTheme_v2","css","rem","space","PresentationDocumentHeader","PresentationDocumentContext","contextOptions","some","Boolean","hasResolvers","_options","idx","o","locate","PresentationDocumentProvider","children","parent","parentRegister","register","optionsArray","setOptionsArray","options_0","prev","concat","prev_0","filter","options_1","registerEffectEvent","useEffectEvent","useLayoutEffect","useOpenInStructureAction","path","workspace","useWorkspace","navigateIntent","useRouter","tools","findStructureTool","defaultStructureTool","icon","MasterDetailIcon","hidden","onAction","pathToString","renderAsButton","openInStructure","defineDocumentFieldAction","useAction","presentationToolName","results","match","canHandleIntent","tool","modeMatches","isRecord","matches","preservedSearchParamKeys","getIntentState","routerState","payload","searchParams","_searchParams","includes","reduce","acc","window","getPublishedId","Object","templateParams","encodeJsonParams","uuid","PresentationSpinner","width","router","route","create","__unsafe_disableScopedSearchParams","intents","PresentationTool","lazy","BroadcastDisplayedDocument","defineLocations","defineDocuments","presentationTool","definePlugin","console","warn","hasLocationsResolver","PresentationDocumentInput","_id","getVersionFromId","documentVersion","isDocumentSchemaType","renderDefault","Suspense","canHandleCreateIntent","template","canHandleEditIntent","i18n","bundles","document","unstable_fieldActions","a","form","components","input","component","__internalApplicationType","usePresentationNavigate","PresentationNavigateContext","usePresentationParams","PresentationParamsContext"],"mappings":"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","x_google_ignoreList":[1]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { v as s, r as t, w as n, k as o, u as r, q as i } from "./presentation-DsIky7Cj.mjs";
|
2
|
+
export {
|
3
|
+
s as defineDocuments,
|
4
|
+
t as defineLocations,
|
5
|
+
n as presentationTool,
|
6
|
+
o as usePresentationNavigate,
|
7
|
+
r as usePresentationParams,
|
8
|
+
i as useSharedState
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=presentation.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"presentation.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import { R as b } from "./index-RoxwhtVB.mjs";
|
2
|
+
import { _ as l, S as u, O as s, d as c } from "./Observable-CCQtH8Gg.mjs";
|
3
|
+
import { o as a, c as f, h as d, i as _ } from "./v4-zH-CAum7.mjs";
|
4
|
+
import { S as p } from "./SourceContext-QxJD1Wrm.mjs";
|
5
|
+
function h() {
|
6
|
+
return a(function(e, t) {
|
7
|
+
var n = null;
|
8
|
+
e._refCount++;
|
9
|
+
var o = f(t, void 0, void 0, void 0, function() {
|
10
|
+
if (!e || e._refCount <= 0 || 0 < --e._refCount) {
|
11
|
+
n = null;
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
var r = e._connection, i = n;
|
15
|
+
n = null, r && (!i || r === i) && r.unsubscribe(), t.unsubscribe();
|
16
|
+
});
|
17
|
+
e.subscribe(o), o.closed || (n = e.connect());
|
18
|
+
});
|
19
|
+
}
|
20
|
+
var v = function(e) {
|
21
|
+
l(t, e);
|
22
|
+
function t(n, o) {
|
23
|
+
var r = e.call(this) || this;
|
24
|
+
return r.source = n, r.subjectFactory = o, r._subject = null, r._refCount = 0, r._connection = null, d(n) && (r.lift = n.lift), r;
|
25
|
+
}
|
26
|
+
return t.prototype._subscribe = function(n) {
|
27
|
+
return this.getSubject().subscribe(n);
|
28
|
+
}, t.prototype.getSubject = function() {
|
29
|
+
var n = this._subject;
|
30
|
+
return (!n || n.isStopped) && (this._subject = this.subjectFactory()), this._subject;
|
31
|
+
}, t.prototype._teardown = function() {
|
32
|
+
this._refCount = 0;
|
33
|
+
var n = this._connection;
|
34
|
+
this._subject = this._connection = null, n == null || n.unsubscribe();
|
35
|
+
}, t.prototype.connect = function() {
|
36
|
+
var n = this, o = this._connection;
|
37
|
+
if (!o) {
|
38
|
+
o = this._connection = new u();
|
39
|
+
var r = this.getSubject();
|
40
|
+
o.add(this.source.subscribe(f(r, void 0, function() {
|
41
|
+
n._teardown(), r.complete();
|
42
|
+
}, function(i) {
|
43
|
+
n._teardown(), r.error(i);
|
44
|
+
}, function() {
|
45
|
+
return n._teardown();
|
46
|
+
}))), o.closed && (this._connection = null, o = u.EMPTY);
|
47
|
+
}
|
48
|
+
return o;
|
49
|
+
}, t.prototype.refCount = function() {
|
50
|
+
return h()(this);
|
51
|
+
}, t;
|
52
|
+
}(s);
|
53
|
+
function m(e) {
|
54
|
+
return new s(function(t) {
|
55
|
+
return e.subscribe(t);
|
56
|
+
});
|
57
|
+
}
|
58
|
+
var C = {
|
59
|
+
connector: function() {
|
60
|
+
return new p();
|
61
|
+
}
|
62
|
+
};
|
63
|
+
function j(e, t) {
|
64
|
+
t === void 0 && (t = C);
|
65
|
+
var n = t.connector;
|
66
|
+
return a(function(o, r) {
|
67
|
+
var i = n();
|
68
|
+
_(e(m(i))).subscribe(r), r.add(o.subscribe(i));
|
69
|
+
});
|
70
|
+
}
|
71
|
+
function w(e, t) {
|
72
|
+
var n = c(e) ? e : function() {
|
73
|
+
return e;
|
74
|
+
};
|
75
|
+
return c(t) ? j(t, {
|
76
|
+
connector: n
|
77
|
+
}) : function(o) {
|
78
|
+
return new v(o, n);
|
79
|
+
};
|
80
|
+
}
|
81
|
+
function R(e, t, n, o) {
|
82
|
+
var r = c(n) ? n : void 0;
|
83
|
+
return function(i) {
|
84
|
+
return w(new b(e, t, o), r)(i);
|
85
|
+
};
|
86
|
+
}
|
87
|
+
export {
|
88
|
+
j as c,
|
89
|
+
R as p,
|
90
|
+
h as r
|
91
|
+
};
|
92
|
+
//# sourceMappingURL=publishReplay-PuJoYJpp.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"publishReplay-PuJoYJpp.mjs","sources":["../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/refCount.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/fromSubscribable.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/connect.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/multicast.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/publishReplay.js"],"sourcesContent":["import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate(function (source, subscriber) {\n var connection = null;\n source._refCount++;\n var refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, function () {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n var sharedConnection = source._connection;\n var conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n//# sourceMappingURL=refCount.js.map","import { __extends } from \"tslib\";\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._subject = null;\n _this._refCount = 0;\n _this._connection = null;\n if (hasLift(source)) {\n _this.lift = source.lift;\n }\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype._teardown = function () {\n this._refCount = 0;\n var _connection = this._connection;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n };\n ConnectableObservable.prototype.connect = function () {\n var _this = this;\n var connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n var subject_1 = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject_1, undefined, function () {\n _this._teardown();\n subject_1.complete();\n }, function (err) {\n _this._teardown();\n subject_1.error(err);\n }, function () { return _this._teardown(); })));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\n//# sourceMappingURL=ConnectableObservable.js.map","import { Observable } from '../Observable';\nexport function fromSubscribable(subscribable) {\n return new Observable(function (subscriber) { return subscribable.subscribe(subscriber); });\n}\n//# sourceMappingURL=fromSubscribable.js.map","import { Subject } from '../Subject';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { fromSubscribable } from '../observable/fromSubscribable';\nvar DEFAULT_CONFIG = {\n connector: function () { return new Subject(); },\n};\nexport function connect(selector, config) {\n if (config === void 0) { config = DEFAULT_CONFIG; }\n var connector = config.connector;\n return operate(function (source, subscriber) {\n var subject = connector();\n innerFrom(selector(fromSubscribable(subject))).subscribe(subscriber);\n subscriber.add(source.subscribe(subject));\n });\n}\n//# sourceMappingURL=connect.js.map","import { ConnectableObservable } from '../observable/ConnectableObservable';\nimport { isFunction } from '../util/isFunction';\nimport { connect } from './connect';\nexport function multicast(subjectOrSubjectFactory, selector) {\n var subjectFactory = isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : function () { return subjectOrSubjectFactory; };\n if (isFunction(selector)) {\n return connect(selector, {\n connector: subjectFactory,\n });\n }\n return function (source) { return new ConnectableObservable(source, subjectFactory); };\n}\n//# sourceMappingURL=multicast.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nimport { isFunction } from '../util/isFunction';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) {\n if (selectorOrScheduler && !isFunction(selectorOrScheduler)) {\n timestampProvider = selectorOrScheduler;\n }\n var selector = isFunction(selectorOrScheduler) ? selectorOrScheduler : undefined;\n return function (source) { return multicast(new ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source); };\n}\n//# sourceMappingURL=publishReplay.js.map"],"names":["refCount","operate","source","subscriber","connection","refCounter","createOperatorSubscriber","sharedConnection","conn","ConnectableObservable","_super","__extends","subjectFactory","_this","hasLift","subject","_connection","Subscription","subject_1","err","higherOrderRefCount","Observable","fromSubscribable","subscribable","DEFAULT_CONFIG","Subject","connect","selector","config","connector","innerFrom","multicast","subjectOrSubjectFactory","isFunction","publishReplay","bufferSize","windowTime","selectorOrScheduler","timestampProvider","ReplaySubject"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { jsxs as u, Fragment as d, jsx as g } from "react/jsx-runtime";
|
2
|
+
import { d as m } from "./index-C9NvTy6s.mjs";
|
3
|
+
import { R as c } from "./Refractor-Zss2QEe8.mjs";
|
4
|
+
function p(f) {
|
5
|
+
const e = m.c(13), {
|
6
|
+
language: i,
|
7
|
+
value: r
|
8
|
+
} = f, t = typeof i == "string" ? i : void 0;
|
9
|
+
let l;
|
10
|
+
e[0] !== t ? (l = t ? c.hasLanguage(t) : !1, e[0] = t, e[1] = l) : l = e[1];
|
11
|
+
const a = l;
|
12
|
+
let o;
|
13
|
+
e[2] !== t || e[3] !== a || e[4] !== r ? (o = !(t && a) && /* @__PURE__ */ g("code", { children: r }), e[2] = t, e[3] = a, e[4] = r, e[5] = o) : o = e[5];
|
14
|
+
let n;
|
15
|
+
e[6] !== t || e[7] !== a || e[8] !== r ? (n = t && a && /* @__PURE__ */ g(c, { inline: !0, language: t, value: String(r) }), e[6] = t, e[7] = a, e[8] = r, e[9] = n) : n = e[9];
|
16
|
+
let s;
|
17
|
+
return e[10] !== o || e[11] !== n ? (s = /* @__PURE__ */ u(d, { children: [
|
18
|
+
o,
|
19
|
+
n
|
20
|
+
] }), e[10] = o, e[11] = n, e[12] = s) : s = e[12], s;
|
21
|
+
}
|
22
|
+
p.displayName = "LazyRefractor";
|
23
|
+
export {
|
24
|
+
p as default
|
25
|
+
};
|
26
|
+
//# sourceMappingURL=refractor-Bg1S3YDK.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"refractor-Bg1S3YDK.mjs","sources":["../../../node_modules/.pnpm/@sanity+ui@2.16.2_@emotion+is-prop-valid@1.3.1_react-dom@18.3.1_react@18.3.1__react-is@_ad937a3d5482bf85ae2c9fb736dcc892/node_modules/@sanity/ui/dist/_chunks-es/refractor.mjs"],"sourcesContent":["import { jsxs, Fragment, jsx } from \"react/jsx-runtime\";\nimport { c } from \"react-compiler-runtime\";\nimport Refractor from \"react-refractor\";\nfunction LazyRefractor(props) {\n const $ = c(13), {\n language: languageProp,\n value\n } = props, language = typeof languageProp == \"string\" ? languageProp : void 0;\n let t0;\n $[0] !== language ? (t0 = language ? Refractor.hasLanguage(language) : !1, $[0] = language, $[1] = t0) : t0 = $[1];\n const registered = t0;\n let t1;\n $[2] !== language || $[3] !== registered || $[4] !== value ? (t1 = !(language && registered) && /* @__PURE__ */ jsx(\"code\", { children: value }), $[2] = language, $[3] = registered, $[4] = value, $[5] = t1) : t1 = $[5];\n let t2;\n $[6] !== language || $[7] !== registered || $[8] !== value ? (t2 = language && registered && /* @__PURE__ */ jsx(Refractor, { inline: !0, language, value: String(value) }), $[6] = language, $[7] = registered, $[8] = value, $[9] = t2) : t2 = $[9];\n let t3;\n return $[10] !== t1 || $[11] !== t2 ? (t3 = /* @__PURE__ */ jsxs(Fragment, { children: [\n t1,\n t2\n ] }), $[10] = t1, $[11] = t2, $[12] = t3) : t3 = $[12], t3;\n}\nLazyRefractor.displayName = \"LazyRefractor\";\nexport {\n LazyRefractor as default\n};\n//# sourceMappingURL=refractor.mjs.map\n"],"names":["LazyRefractor","props","$","c","languageProp","value","language","t0","Refractor","registered","t1","jsx","t2","t3","jsxs","Fragment"],"mappings":";;;AAGA,SAASA,EAAcC,GAAO;AAC5B,QAAMC,IAAIC,IAAE,EAAE,GAAG;AAAA,IACf,UAAUC;AAAA,IACV,OAAAC;AAAA,EACJ,IAAMJ,GAAOK,IAAW,OAAOF,KAAgB,WAAWA,IAAe;AACvE,MAAIG;AACJ,EAAAL,EAAE,CAAC,MAAMI,KAAYC,IAAKD,IAAWE,EAAU,YAAYF,CAAQ,IAAI,IAAIJ,EAAE,CAAC,IAAII,GAAUJ,EAAE,CAAC,IAAIK,KAAMA,IAAKL,EAAE,CAAC;AACjH,QAAMO,IAAaF;AACnB,MAAIG;AACJ,EAAAR,EAAE,CAAC,MAAMI,KAAYJ,EAAE,CAAC,MAAMO,KAAcP,EAAE,CAAC,MAAMG,KAASK,IAAK,EAAEJ,KAAYG,MAA+B,gBAAAE,EAAI,QAAQ,EAAE,UAAUN,EAAK,CAAE,GAAGH,EAAE,CAAC,IAAII,GAAUJ,EAAE,CAAC,IAAIO,GAAYP,EAAE,CAAC,IAAIG,GAAOH,EAAE,CAAC,IAAIQ,KAAMA,IAAKR,EAAE,CAAC;AACzN,MAAIU;AACJ,EAAAV,EAAE,CAAC,MAAMI,KAAYJ,EAAE,CAAC,MAAMO,KAAcP,EAAE,CAAC,MAAMG,KAASO,IAAKN,KAAYG,KAA8B,gBAAAE,EAAIH,GAAW,EAAE,QAAQ,IAAI,UAAAF,GAAU,OAAO,OAAOD,CAAK,EAAC,CAAE,GAAGH,EAAE,CAAC,IAAII,GAAUJ,EAAE,CAAC,IAAIO,GAAYP,EAAE,CAAC,IAAIG,GAAOH,EAAE,CAAC,IAAIU,KAAMA,IAAKV,EAAE,CAAC;AACpP,MAAIW;AACJ,SAAOX,EAAE,EAAE,MAAMQ,KAAMR,EAAE,EAAE,MAAMU,KAAMC,IAAqB,gBAAAC,EAAKC,GAAU,EAAE,UAAU;AAAA,IACrFL;AAAA,IACAE;AAAA,EACJ,EAAK,CAAA,GAAGV,EAAE,EAAE,IAAIQ,GAAIR,EAAE,EAAE,IAAIU,GAAIV,EAAE,EAAE,IAAIW,KAAMA,IAAKX,EAAE,EAAE,GAAGW;AAC1D;AACAb,EAAc,cAAc;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { defineLocalesResources as n } from "./index.mjs";
|
2
|
+
const i = n("canvas", {
|
3
|
+
/** The text for the "Link to Canvas" action. */
|
4
|
+
"action.link-document": "Link to Canvas",
|
5
|
+
/** The text for the "Link to Canvas" action when the document is not in the dashboard. */
|
6
|
+
"action.link-document-disabled.not-in-dashboard": "Open this document in Dashboard to link to Canvas",
|
7
|
+
/** The text for the "Link to Canvas" action when the user doesn't have permissions to link the document to Canvas. */
|
8
|
+
"action.link-document-disabled.missing-permissions": "You don't have permissions to link this document to Canvas",
|
9
|
+
/** The text for the "Link to Canvas" action when the document is a version document. */
|
10
|
+
"action.link-document-disabled.version-document": "Version documents are not yet supported in Canvas",
|
11
|
+
/** The text for the "Link to Canvas" action when the document is not yet resolved. */
|
12
|
+
"action.link-document-disabled.initial-value-not-resolved": "Please wait until the document initial values are resolved",
|
13
|
+
/** The text for the "Unlink from Canvas" action. */
|
14
|
+
"action.unlink-document": "Unlink from Canvas",
|
15
|
+
/** The text for the "Edit in Canvas" action. */
|
16
|
+
"action.edit-document": "Edit in Canvas",
|
17
|
+
/** The text for the banner when the document is linked to Canvas. */
|
18
|
+
"banner.linked-to-canvas": "This document is linked to Canvas",
|
19
|
+
/** The text for the action button in the banner when the document is linked to Canvas. */
|
20
|
+
"banner.edit-document-in-canvas": "Edit in Canvas",
|
21
|
+
/** The title for the "Confirm document changes" dialog. */
|
22
|
+
"dialog.confirm-document-changes.title": "Confirm document changes",
|
23
|
+
/** The description for the "Confirm document changes" dialog. */
|
24
|
+
"dialog.confirm-document-changes.description": `This document needs to be updated to be compatible with Canvas.
|
25
|
+
Existing content may be edited or removed as part of this process.`,
|
26
|
+
/** The text for the "Confirm document changes" dialog confirm button. */
|
27
|
+
"dialog.confirm-document-changes.confirm": "Accept and continue",
|
28
|
+
/** The text for the "Confirm document changes" dialog cancel button. */
|
29
|
+
"dialog.confirm-document-changes.cancel": "Cancel",
|
30
|
+
/** The description for the "Confirm document changes" dialog footer. */
|
31
|
+
"dialog.confirm-document-changes.footer-description": "You can unlink from Canvas at any time",
|
32
|
+
/** The title for the "Link to Canvas" dialog. */
|
33
|
+
"dialog.link-to-canvas.title": "Link to Canvas",
|
34
|
+
/** The text for the "Link to Canvas" dialog when the document is being validated. */
|
35
|
+
"dialog.link-to-canvas.validating": "Validating",
|
36
|
+
/** The text for the "Link to Canvas" dialog when the document is being redirected. */
|
37
|
+
"dialog.link-to-canvas.redirecting": "Taking you to Canvas to complete linking...",
|
38
|
+
/** The text for the Link to Canvas dialog when there is a error. */
|
39
|
+
"dialog.link-to-canvas.error": "Failed to link to Canvas",
|
40
|
+
/** The title for the "Unlink from Canvas" dialog. */
|
41
|
+
"dialog.unlink-from-canvas.title": "Unlink from Canvas",
|
42
|
+
/** The text for the "Unlink from Canvas" dialog when the document is being unlinked. */
|
43
|
+
"dialog.unlink-from-canvas.unlinking": "You're unlinking <strong>“{{documentTitle}}”</strong> from Canvas.",
|
44
|
+
/** The text for the "Unlink from Canvas" dialog cancel button. */
|
45
|
+
"dialog.unlink-from-canvas.cancel": "Cancel",
|
46
|
+
/** The text for the "Unlink from Canvas" dialog unlink button. */
|
47
|
+
"dialog.unlink-from-canvas.unlink-action": "Unlink now",
|
48
|
+
/** The text for the "Unlink from Canvas" dialog description. */
|
49
|
+
"dialog.unlink-from-canvas.description": "Once unlinked, it will be editable here and future edits in Canvas will no longer automatically map to this document.",
|
50
|
+
/** The text for the "Unlink from Canvas" dialog success message. */
|
51
|
+
"dialog.unlink-from-canvas.success": "Unlinked from Canvas",
|
52
|
+
/** The text for the "Unlink from Canvas" dialog error message. */
|
53
|
+
"dialog.unlink-from-canvas.error": "Failed to unlink from Canvas",
|
54
|
+
/** The text for the "Navigate to Canvas" dialog error message. */
|
55
|
+
"navigate-to-canvas-doc.error.missing-permissions": "Missing permissions to navigate to Canvas"
|
56
|
+
});
|
57
|
+
export {
|
58
|
+
i as default
|
59
|
+
};
|
60
|
+
//# sourceMappingURL=resources-BQsCEzu1.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"resources-BQsCEzu1.mjs","sources":["../src/core/canvas/i18n/resources.ts"],"sourcesContent":["import {defineLocalesResources} from '../../i18n'\n\n/**\n * Defined locale strings for the Canvas integration feature, in US English.\n *\n * @internal\n */\nconst canvasLocaleStrings = defineLocalesResources('canvas', {\n /** The text for the \"Link to Canvas\" action. */\n 'action.link-document': 'Link to Canvas',\n\n /** The text for the \"Link to Canvas\" action when the document is not in the dashboard. */\n 'action.link-document-disabled.not-in-dashboard':\n 'Open this document in Dashboard to link to Canvas',\n /** The text for the \"Link to Canvas\" action when the user doesn't have permissions to link the document to Canvas. */\n 'action.link-document-disabled.missing-permissions':\n \"You don't have permissions to link this document to Canvas\",\n /** The text for the \"Link to Canvas\" action when the document is a version document. */\n 'action.link-document-disabled.version-document':\n 'Version documents are not yet supported in Canvas',\n /** The text for the \"Link to Canvas\" action when the document is not yet resolved. */\n 'action.link-document-disabled.initial-value-not-resolved':\n 'Please wait until the document initial values are resolved',\n /** The text for the \"Unlink from Canvas\" action. */\n 'action.unlink-document': 'Unlink from Canvas',\n /** The text for the \"Edit in Canvas\" action. */\n 'action.edit-document': 'Edit in Canvas',\n /** The text for the banner when the document is linked to Canvas. */\n 'banner.linked-to-canvas': 'This document is linked to Canvas',\n /** The text for the action button in the banner when the document is linked to Canvas. */\n 'banner.edit-document-in-canvas': 'Edit in Canvas',\n\n /** The title for the \"Confirm document changes\" dialog. */\n 'dialog.confirm-document-changes.title': 'Confirm document changes',\n /** The description for the \"Confirm document changes\" dialog. */\n 'dialog.confirm-document-changes.description':\n 'This document needs to be updated to be compatible with Canvas.\\n Existing content may be edited or removed as part of this process.',\n /** The text for the \"Confirm document changes\" dialog confirm button. */\n 'dialog.confirm-document-changes.confirm': 'Accept and continue',\n /** The text for the \"Confirm document changes\" dialog cancel button. */\n 'dialog.confirm-document-changes.cancel': 'Cancel',\n /** The description for the \"Confirm document changes\" dialog footer. */\n 'dialog.confirm-document-changes.footer-description': 'You can unlink from Canvas at any time',\n\n /** The title for the \"Link to Canvas\" dialog. */\n 'dialog.link-to-canvas.title': 'Link to Canvas',\n /** The text for the \"Link to Canvas\" dialog when the document is being validated. */\n 'dialog.link-to-canvas.validating': 'Validating',\n /** The text for the \"Link to Canvas\" dialog when the document is being redirected. */\n 'dialog.link-to-canvas.redirecting': 'Taking you to Canvas to complete linking...',\n /** The text for the Link to Canvas dialog when there is a error. */\n 'dialog.link-to-canvas.error': 'Failed to link to Canvas',\n\n /** The title for the \"Unlink from Canvas\" dialog. */\n 'dialog.unlink-from-canvas.title': 'Unlink from Canvas',\n /** The text for the \"Unlink from Canvas\" dialog when the document is being unlinked. */\n 'dialog.unlink-from-canvas.unlinking':\n \"You're unlinking <strong>“{{documentTitle}}”</strong> from Canvas.\",\n /** The text for the \"Unlink from Canvas\" dialog cancel button. */\n 'dialog.unlink-from-canvas.cancel': 'Cancel',\n /** The text for the \"Unlink from Canvas\" dialog unlink button. */\n 'dialog.unlink-from-canvas.unlink-action': 'Unlink now',\n /** The text for the \"Unlink from Canvas\" dialog description. */\n 'dialog.unlink-from-canvas.description':\n 'Once unlinked, it will be editable here and future edits in Canvas will no longer automatically map to this document.',\n /** The text for the \"Unlink from Canvas\" dialog success message. */\n 'dialog.unlink-from-canvas.success': 'Unlinked from Canvas',\n /** The text for the \"Unlink from Canvas\" dialog error message. */\n 'dialog.unlink-from-canvas.error': 'Failed to unlink from Canvas',\n /** The text for the \"Navigate to Canvas\" dialog error message. */\n 'navigate-to-canvas-doc.error.missing-permissions': 'Missing permissions to navigate to Canvas',\n})\n\n/**\n * @alpha\n */\nexport type CanvasLocaleResourceKeys = keyof typeof canvasLocaleStrings\n\nexport default canvasLocaleStrings\n"],"names":["canvasLocaleStrings","defineLocalesResources"],"mappings":";AAOMA,MAAAA,IAAsBC,EAAuB,UAAU;AAAA;AAAA,EAE3D,wBAAwB;AAAA;AAAA,EAGxB,kDACE;AAAA;AAAA,EAEF,qDACE;AAAA;AAAA,EAEF,kDACE;AAAA;AAAA,EAEF,4DACE;AAAA;AAAA,EAEF,0BAA0B;AAAA;AAAA,EAE1B,wBAAwB;AAAA;AAAA,EAExB,2BAA2B;AAAA;AAAA,EAE3B,kCAAkC;AAAA;AAAA,EAGlC,yCAAyC;AAAA;AAAA,EAEzC,+CACE;AAAA;AAAA;AAAA,EAEF,2CAA2C;AAAA;AAAA,EAE3C,0CAA0C;AAAA;AAAA,EAE1C,sDAAsD;AAAA;AAAA,EAGtD,+BAA+B;AAAA;AAAA,EAE/B,oCAAoC;AAAA;AAAA,EAEpC,qCAAqC;AAAA;AAAA,EAErC,+BAA+B;AAAA;AAAA,EAG/B,mCAAmC;AAAA;AAAA,EAEnC,uCACE;AAAA;AAAA,EAEF,oCAAoC;AAAA;AAAA,EAEpC,2CAA2C;AAAA;AAAA,EAE3C,yCACE;AAAA;AAAA,EAEF,qCAAqC;AAAA;AAAA,EAErC,mCAAmC;AAAA;AAAA,EAEnC,oDAAoD;AACtD,CAAC;"}
|
@@ -0,0 +1,177 @@
|
|
1
|
+
import { defineLocalesResources as e } from "./index.mjs";
|
2
|
+
const o = e("comments", {
|
3
|
+
/** The close comments button text */
|
4
|
+
"close-pane-button-text": "Close comments",
|
5
|
+
/** The aria label for the close comments button */
|
6
|
+
"close-pane-button-text-aria-label": "Close comments",
|
7
|
+
/** When composing a comment, the placeholder text shown when adding a comment to a field with no current comments */
|
8
|
+
"compose.add-comment-input-placeholder": "Add comment to <strong>{{field}}</strong>",
|
9
|
+
/** When composing a comment, the placeholder text shown when adding a comment to a field with no current comments and the mode is upsell */
|
10
|
+
"compose.add-comment-input-placeholder-upsell": "Upgrade to add comment",
|
11
|
+
/** When composing a comment, the placeholder text shown when the input is empty */
|
12
|
+
"compose.create-comment-placeholder": "Create a new comment",
|
13
|
+
/** When composing a comment, the aria label for the button to mention a user */
|
14
|
+
"compose.mention-user-aria-label": "Mention user",
|
15
|
+
/** When composing a comment, the tooltip text for the button to mention a user */
|
16
|
+
"compose.mention-user-tooltip": "Mention user",
|
17
|
+
/** When composing a reply, the placeholder text shown when the input is empty */
|
18
|
+
"compose.reply-placeholder": "Reply",
|
19
|
+
/** When composing a reply, the placeholder text shown when the input is empty and the mode is upsell */
|
20
|
+
"compose.reply-placeholder-upsell": "Upgrade to reply",
|
21
|
+
/** When composing a comment, the aria label for the button to send a comment */
|
22
|
+
"compose.send-comment-aria-label": "Send comment",
|
23
|
+
/** When composing a comment, the tooltip text for the button to send a comment */
|
24
|
+
"compose.send-comment-tooltip": "Send comment",
|
25
|
+
/** The inspector text when error copying link */
|
26
|
+
"copy-link-error-message": "Unable to copy link to clipboard",
|
27
|
+
/** The delete dialog body for a comment */
|
28
|
+
"delete-comment.body": "Once deleted, a comment cannot be recovered.",
|
29
|
+
/** The delete dialog confirm button text for a comment */
|
30
|
+
"delete-comment.confirm": "Delete comment",
|
31
|
+
/** The delete dialog title for a comment */
|
32
|
+
"delete-comment.title": "Delete this comment?",
|
33
|
+
/** The delete dialog error */
|
34
|
+
"delete-dialog.error": "An error occurred while deleting the comment. Please try again.",
|
35
|
+
/** The delete dialog body for a thread */
|
36
|
+
"delete-thread.body": "This comment and its replies will be deleted, and once deleted cannot be recovered.",
|
37
|
+
/** The delete dialog conform button text for a thread */
|
38
|
+
"delete-thread.confirm": "Delete thread",
|
39
|
+
/** The delete dialog title for a thread */
|
40
|
+
"delete-thread.title": "Delete this comment thread?",
|
41
|
+
/** The button text for confirming discard */
|
42
|
+
"discard.button-confirm": "Discard",
|
43
|
+
/** The header for discard comment dialog */
|
44
|
+
"discard.header": "Discard comment?",
|
45
|
+
/** The text for discard comment dialog */
|
46
|
+
"discard.text": "Do you want to discard the comment?",
|
47
|
+
/** Sharing feedback on the comments feature: The link title */
|
48
|
+
"feature-feedback.link": "Share your feedback",
|
49
|
+
/** Sharing feedback on the comments feature: The form title */
|
50
|
+
"feature-feedback.title": "Help improve ",
|
51
|
+
/** The name of the comments feature, for use in header. Capitalized, eg "Comments". */
|
52
|
+
"feature-name": "Comments",
|
53
|
+
/** Aria label for button above fields to add a comment, when the field currently do not have any comments */
|
54
|
+
"field-button.aria-label-add": "Add comment",
|
55
|
+
/** Aria label for button above fields that opens the comments for this field, when there are existing comments */
|
56
|
+
"field-button.aria-label-open": "Open comments",
|
57
|
+
/** Text shown in popover when hovering the button above fields that opens the comments panel, when there is a single comment present */
|
58
|
+
"field-button.content_one": "View comment",
|
59
|
+
/** Text shown in popover when hovering the button above fields that opens the comments panel, when there are more than one comment present */
|
60
|
+
"field-button.content_other": "View comments",
|
61
|
+
/** Text shown in popover when hovering the button above fields to add a comment, when the field currently do not have any comments */
|
62
|
+
"field-button.title": "Add comment",
|
63
|
+
/* The text shown in the inline comment button when the button is disabled due to overlap */
|
64
|
+
"inline-add-comment-button.disabled-overlap-title": "Comments cannot overlap",
|
65
|
+
/** The text shown in the inline comment button */
|
66
|
+
"inline-add-comment-button.title": "Add comment",
|
67
|
+
/** Aria label for the breadcrumb button showing the field path. `{{field}}` is the last (most specific) field. */
|
68
|
+
"list-item.breadcrumb-button-go-to-field-aria-label": "Go to {{field}} field",
|
69
|
+
/** The button tooltip content for the add reaction button */
|
70
|
+
"list-item.context-menu-add-reaction": "Add reaction",
|
71
|
+
/** The button tooltip aria label for adding a reaction */
|
72
|
+
"list-item.context-menu-add-reaction-aria-label": "Add reaction",
|
73
|
+
/** The button tooltip content for the add reaction button and mode is upsell */
|
74
|
+
"list-item.context-menu-add-reaction-upsell": "Upgrade to add reaction",
|
75
|
+
/** The action menu item for copying a comment link */
|
76
|
+
"list-item.copy-link": "Copy link to comment",
|
77
|
+
/** The action menu item for deleting a comment */
|
78
|
+
"list-item.delete-comment": "Delete comment",
|
79
|
+
/** The action menu item for editing a comment */
|
80
|
+
"list-item.edit-comment": "Edit comment",
|
81
|
+
/** The action menu item for editing a comment and the mode is upsell */
|
82
|
+
"list-item.edit-comment-upsell": "Upgrade to edit comment",
|
83
|
+
/** Aria label for the button that takes you to the field, which wraps a thread/comment */
|
84
|
+
"list-item.go-to-field-button.aria-label": "Go to field",
|
85
|
+
/**
|
86
|
+
* The text shown below the author and timestamp of a comment including a link back to the context in which the comment was made.
|
87
|
+
* Consists of a document title wrapped in a link, and a word or phrase to indicate that the link refers to a location:
|
88
|
+
* eg "on Home", "on Coffee Machine | Products", "on Pricing – Sanity"
|
89
|
+
*/
|
90
|
+
"list-item.layout-context": "on <IntentLink>{{title}}</IntentLink>",
|
91
|
+
/** The marker to indicate that a comment has been edited in brackets */
|
92
|
+
"list-item.layout-edited": "edited",
|
93
|
+
/** The error text when sending a comment has failed */
|
94
|
+
"list-item.layout-failed-sent": "Failed to send.",
|
95
|
+
/** The loading message when posting a comment is in progress */
|
96
|
+
"list-item.layout-posting": "Posting...",
|
97
|
+
/** The text for retrying posting a comment */
|
98
|
+
"list-item.layout-retry": "Retry",
|
99
|
+
/** The text shown when the value a comment references has been deleted */
|
100
|
+
"list-item.missing-referenced-value-tooltip-content": "The commented text has been deleted",
|
101
|
+
/** The aria label for the comments menu button to open the actions menu */
|
102
|
+
"list-item.open-menu-aria-label": "Open comment actions menu",
|
103
|
+
/** The button text to re-open a resolved comment */
|
104
|
+
"list-item.re-open-resolved": "Re-open",
|
105
|
+
/** The button aria label to re-open a comment that is resolved */
|
106
|
+
"list-item.re-open-resolved-aria-label": "Re-open",
|
107
|
+
/** The button aria label to mark a comment as resolved */
|
108
|
+
"list-item.resolved-tooltip-aria-label": "Mark comment as resolved",
|
109
|
+
/** The button text to mark a comment as resolved */
|
110
|
+
"list-item.resolved-tooltip-content": "Mark as resolved",
|
111
|
+
/** The empty state text for open comments */
|
112
|
+
"list-status.empty-state-open-text": "Open comments on this document will be shown here.",
|
113
|
+
/** The empty state title for open comments */
|
114
|
+
"list-status.empty-state-open-title": "No open comments yet",
|
115
|
+
/** The empty state text for resolved comments */
|
116
|
+
"list-status.empty-state-resolved-text": "Resolved comments on this document will be shown here.",
|
117
|
+
/** The empty state title for resolved comments */
|
118
|
+
"list-status.empty-state-resolved-title": "No resolved comments yet",
|
119
|
+
/** The list status message for error */
|
120
|
+
"list-status.error": "Something went wrong",
|
121
|
+
/** The list status message for loading status */
|
122
|
+
"list-status.loading": "Loading comments",
|
123
|
+
/** Text shown when no users can be found to mention */
|
124
|
+
"mentions.no-users-found": "No users found",
|
125
|
+
/** Label/badge shown for users that are not authorized to see the document, and thus cannot be mentioned */
|
126
|
+
"mentions.unauthorized-user": "Unauthorized",
|
127
|
+
/** Aria label for the command list for users to mention */
|
128
|
+
"mentions.user-list-aria-label": "List of users to mention",
|
129
|
+
/** The comments onboarding popover text */
|
130
|
+
"onboarding.body": "You can add comments to any field in a document. They'll show up here, grouped by field.",
|
131
|
+
/** The comments onboarding dismiss text */
|
132
|
+
"onboarding.dismiss": "Got it",
|
133
|
+
/** The comments onboarding popover header text */
|
134
|
+
"onboarding.header": "Document fields now have comments",
|
135
|
+
/** Tooltip for the button to add a reaction to a comment */
|
136
|
+
"reactions.add-reaction-tooltip": "Add reaction",
|
137
|
+
/** Aria label for the individual reactions you can choose from when reacting to a comment */
|
138
|
+
"reactions.react-with-aria-label": "React with {{reactionName}}",
|
139
|
+
/** When a users' name cannot be resolved, fall back to this name */
|
140
|
+
"reactions.user-list.unknown-user-fallback-name": "Unknown user",
|
141
|
+
/**
|
142
|
+
* When showing list of users who have reacted, replaces your own name with "you", eg
|
143
|
+
* "Donna, you, James, and Tyler reacted with 👍". A different key (`_leading` suffix)
|
144
|
+
* is used when you are the first to react, eg "You, Donna and Tyler reacted with 👍".
|
145
|
+
* Use `{{name}}` if you want to instead use the current users' actual name.
|
146
|
+
*/
|
147
|
+
"reactions.user-list.you": "you",
|
148
|
+
/**
|
149
|
+
* When showing list of users who have reacted, replaces your own name with "You", eg
|
150
|
+
* "You, Donna, James, and Tyler reacted with 👍". A different key (`_leading` suffix)
|
151
|
+
* is used when you are not the first to react, eg "Donna, you, James and Tyler reacted with 👍".
|
152
|
+
* Use `{{name}}` if you want to instead use the current users' actual name.
|
153
|
+
*/
|
154
|
+
"reactions.user-list.you_leading": "You",
|
155
|
+
/**
|
156
|
+
* The text shown for the tooltip that appears when hovering over the reaction count, eg
|
157
|
+
* "Donna, James, and Tyler Reacted with 👍". Three components are available for use:
|
158
|
+
* - `<UserList/>` - the list of names of users who have reacted, using the locales list format
|
159
|
+
* - `<Text>` - should be wrapped around the text describing the action ("reacted with")
|
160
|
+
* - `<ReactionName/>` - the name of the reaction emoji, eg ":heavy_plus_sign:"
|
161
|
+
*/
|
162
|
+
"reactions.users-reacted-with-reaction": "<UserList/> <Text>reacted with</Text> <ReactionName/>",
|
163
|
+
/** Status filter: The short title describing filtering on open (non-resolved) comments */
|
164
|
+
"status-filter.status-open": "Open",
|
165
|
+
/** Status filter: The full text for describing filtering on open (non-resolved) comments */
|
166
|
+
"status-filter.status-open-full": "Open comments",
|
167
|
+
/** Status filter: The short title describing filtering on resolved comments */
|
168
|
+
"status-filter.status-resolved": "Resolved",
|
169
|
+
/** Status filter: The full text for describing filtering on resolved comments */
|
170
|
+
"status-filter.status-resolved-full": "Resolved comments",
|
171
|
+
/** Status filter: The full text for describing filtering on resolved comments and is upsell mode */
|
172
|
+
"status-filter.status-resolved-full-upsell": "Upgrade to see resolved comments"
|
173
|
+
});
|
174
|
+
export {
|
175
|
+
o as default
|
176
|
+
};
|
177
|
+
//# sourceMappingURL=resources-BahMtJuO.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"resources-BahMtJuO.mjs","sources":["../src/core/comments/i18n/resources.ts"],"sourcesContent":["/* eslint sort-keys: \"error\" */\nimport {defineLocalesResources} from '../../i18n'\n\n/**\n * Defined locale strings for the comments feature, in US English.\n *\n * @internal\n */\nconst commentsLocaleStrings = defineLocalesResources('comments', {\n /** The close comments button text */\n 'close-pane-button-text': 'Close comments',\n /** The aria label for the close comments button */\n 'close-pane-button-text-aria-label': 'Close comments',\n\n /** When composing a comment, the placeholder text shown when adding a comment to a field with no current comments */\n 'compose.add-comment-input-placeholder': 'Add comment to <strong>{{field}}</strong>',\n /** When composing a comment, the placeholder text shown when adding a comment to a field with no current comments and the mode is upsell */\n 'compose.add-comment-input-placeholder-upsell': 'Upgrade to add comment',\n /** When composing a comment, the placeholder text shown when the input is empty */\n 'compose.create-comment-placeholder': 'Create a new comment',\n /** When composing a comment, the aria label for the button to mention a user */\n 'compose.mention-user-aria-label': 'Mention user',\n /** When composing a comment, the tooltip text for the button to mention a user */\n 'compose.mention-user-tooltip': 'Mention user',\n /** When composing a reply, the placeholder text shown when the input is empty */\n 'compose.reply-placeholder': 'Reply',\n /** When composing a reply, the placeholder text shown when the input is empty and the mode is upsell */\n 'compose.reply-placeholder-upsell': 'Upgrade to reply',\n /** When composing a comment, the aria label for the button to send a comment */\n 'compose.send-comment-aria-label': 'Send comment',\n /** When composing a comment, the tooltip text for the button to send a comment */\n 'compose.send-comment-tooltip': 'Send comment',\n\n /** The inspector text when error copying link */\n 'copy-link-error-message': 'Unable to copy link to clipboard',\n\n /** The delete dialog body for a comment */\n 'delete-comment.body': 'Once deleted, a comment cannot be recovered.',\n /** The delete dialog confirm button text for a comment */\n 'delete-comment.confirm': 'Delete comment',\n /** The delete dialog title for a comment */\n 'delete-comment.title': 'Delete this comment?',\n /** The delete dialog error */\n 'delete-dialog.error': 'An error occurred while deleting the comment. Please try again.',\n /** The delete dialog body for a thread */\n 'delete-thread.body':\n 'This comment and its replies will be deleted, and once deleted cannot be recovered.',\n /** The delete dialog conform button text for a thread */\n 'delete-thread.confirm': 'Delete thread',\n /** The delete dialog title for a thread */\n 'delete-thread.title': 'Delete this comment thread?',\n\n /** The button text for confirming discard */\n 'discard.button-confirm': 'Discard',\n /** The header for discard comment dialog */\n 'discard.header': 'Discard comment?',\n /** The text for discard comment dialog */\n 'discard.text': 'Do you want to discard the comment?',\n\n /** Sharing feedback on the comments feature: The link title */\n 'feature-feedback.link': 'Share your feedback',\n /** Sharing feedback on the comments feature: The form title */\n 'feature-feedback.title': 'Help improve ',\n\n /** The name of the comments feature, for use in header. Capitalized, eg \"Comments\". */\n 'feature-name': 'Comments',\n\n /** Aria label for button above fields to add a comment, when the field currently do not have any comments */\n 'field-button.aria-label-add': 'Add comment',\n /** Aria label for button above fields that opens the comments for this field, when there are existing comments */\n 'field-button.aria-label-open': 'Open comments',\n /** Text shown in popover when hovering the button above fields that opens the comments panel, when there is a single comment present */\n 'field-button.content_one': 'View comment',\n /** Text shown in popover when hovering the button above fields that opens the comments panel, when there are more than one comment present */\n 'field-button.content_other': 'View comments',\n /** Text shown in popover when hovering the button above fields to add a comment, when the field currently do not have any comments */\n 'field-button.title': 'Add comment',\n\n /* The text shown in the inline comment button when the button is disabled due to overlap */\n 'inline-add-comment-button.disabled-overlap-title': 'Comments cannot overlap',\n /** The text shown in the inline comment button */\n 'inline-add-comment-button.title': 'Add comment',\n\n /** Aria label for the breadcrumb button showing the field path. `{{field}}` is the last (most specific) field. */\n 'list-item.breadcrumb-button-go-to-field-aria-label': 'Go to {{field}} field',\n /** The button tooltip content for the add reaction button */\n 'list-item.context-menu-add-reaction': 'Add reaction',\n /** The button tooltip aria label for adding a reaction */\n 'list-item.context-menu-add-reaction-aria-label': 'Add reaction',\n /** The button tooltip content for the add reaction button and mode is upsell */\n 'list-item.context-menu-add-reaction-upsell': 'Upgrade to add reaction',\n /** The action menu item for copying a comment link */\n 'list-item.copy-link': 'Copy link to comment',\n /** The action menu item for deleting a comment */\n 'list-item.delete-comment': 'Delete comment',\n /** The action menu item for editing a comment */\n 'list-item.edit-comment': 'Edit comment',\n /** The action menu item for editing a comment and the mode is upsell */\n 'list-item.edit-comment-upsell': 'Upgrade to edit comment',\n /** Aria label for the button that takes you to the field, which wraps a thread/comment */\n 'list-item.go-to-field-button.aria-label': 'Go to field',\n /**\n * The text shown below the author and timestamp of a comment including a link back to the context in which the comment was made.\n * Consists of a document title wrapped in a link, and a word or phrase to indicate that the link refers to a location:\n * eg \"on Home\", \"on Coffee Machine | Products\", \"on Pricing – Sanity\"\n */\n 'list-item.layout-context': 'on <IntentLink>{{title}}</IntentLink>',\n /** The marker to indicate that a comment has been edited in brackets */\n 'list-item.layout-edited': 'edited',\n /** The error text when sending a comment has failed */\n 'list-item.layout-failed-sent': 'Failed to send.',\n /** The loading message when posting a comment is in progress */\n 'list-item.layout-posting': 'Posting...',\n /** The text for retrying posting a comment */\n 'list-item.layout-retry': 'Retry',\n /** The text shown when the value a comment references has been deleted */\n 'list-item.missing-referenced-value-tooltip-content': 'The commented text has been deleted',\n /** The aria label for the comments menu button to open the actions menu */\n 'list-item.open-menu-aria-label': 'Open comment actions menu',\n /** The button text to re-open a resolved comment */\n 'list-item.re-open-resolved': 'Re-open',\n /** The button aria label to re-open a comment that is resolved */\n 'list-item.re-open-resolved-aria-label': 'Re-open',\n /** The button aria label to mark a comment as resolved */\n 'list-item.resolved-tooltip-aria-label': 'Mark comment as resolved',\n /** The button text to mark a comment as resolved */\n 'list-item.resolved-tooltip-content': 'Mark as resolved',\n\n /** The empty state text for open comments */\n 'list-status.empty-state-open-text': 'Open comments on this document will be shown here.',\n /** The empty state title for open comments */\n 'list-status.empty-state-open-title': 'No open comments yet',\n /** The empty state text for resolved comments */\n 'list-status.empty-state-resolved-text': 'Resolved comments on this document will be shown here.',\n /** The empty state title for resolved comments */\n 'list-status.empty-state-resolved-title': 'No resolved comments yet',\n /** The list status message for error */\n 'list-status.error': 'Something went wrong',\n /** The list status message for loading status */\n 'list-status.loading': 'Loading comments',\n\n /** Text shown when no users can be found to mention */\n 'mentions.no-users-found': 'No users found',\n /** Label/badge shown for users that are not authorized to see the document, and thus cannot be mentioned */\n 'mentions.unauthorized-user': 'Unauthorized',\n /** Aria label for the command list for users to mention */\n 'mentions.user-list-aria-label': 'List of users to mention',\n\n /** The comments onboarding popover text */\n 'onboarding.body':\n \"You can add comments to any field in a document. They'll show up here, grouped by field.\",\n /** The comments onboarding dismiss text */\n 'onboarding.dismiss': 'Got it',\n /** The comments onboarding popover header text */\n 'onboarding.header': 'Document fields now have comments',\n\n /** Tooltip for the button to add a reaction to a comment */\n 'reactions.add-reaction-tooltip': 'Add reaction',\n /** Aria label for the individual reactions you can choose from when reacting to a comment */\n 'reactions.react-with-aria-label': 'React with {{reactionName}}',\n /** When a users' name cannot be resolved, fall back to this name */\n 'reactions.user-list.unknown-user-fallback-name': 'Unknown user',\n /**\n * When showing list of users who have reacted, replaces your own name with \"you\", eg\n * \"Donna, you, James, and Tyler reacted with 👍\". A different key (`_leading` suffix)\n * is used when you are the first to react, eg \"You, Donna and Tyler reacted with 👍\".\n * Use `{{name}}` if you want to instead use the current users' actual name.\n */\n 'reactions.user-list.you': 'you',\n /**\n * When showing list of users who have reacted, replaces your own name with \"You\", eg\n * \"You, Donna, James, and Tyler reacted with 👍\". A different key (`_leading` suffix)\n * is used when you are not the first to react, eg \"Donna, you, James and Tyler reacted with 👍\".\n * Use `{{name}}` if you want to instead use the current users' actual name.\n */\n 'reactions.user-list.you_leading': 'You',\n /**\n * The text shown for the tooltip that appears when hovering over the reaction count, eg\n * \"Donna, James, and Tyler Reacted with 👍\". Three components are available for use:\n * - `<UserList/>` - the list of names of users who have reacted, using the locales list format\n * - `<Text>` - should be wrapped around the text describing the action (\"reacted with\")\n * - `<ReactionName/>` - the name of the reaction emoji, eg \":heavy_plus_sign:\"\n */\n 'reactions.users-reacted-with-reaction': '<UserList/> <Text>reacted with</Text> <ReactionName/>',\n\n /** Status filter: The short title describing filtering on open (non-resolved) comments */\n 'status-filter.status-open': 'Open',\n /** Status filter: The full text for describing filtering on open (non-resolved) comments */\n 'status-filter.status-open-full': 'Open comments',\n /** Status filter: The short title describing filtering on resolved comments */\n 'status-filter.status-resolved': 'Resolved',\n /** Status filter: The full text for describing filtering on resolved comments */\n 'status-filter.status-resolved-full': 'Resolved comments',\n /** Status filter: The full text for describing filtering on resolved comments and is upsell mode */\n 'status-filter.status-resolved-full-upsell': 'Upgrade to see resolved comments',\n})\n\n/**\n * @alpha\n */\nexport type CommentsLocaleResourceKeys = keyof typeof commentsLocaleStrings\n\nexport default commentsLocaleStrings\n"],"names":["commentsLocaleStrings","defineLocalesResources"],"mappings":";AAQMA,MAAAA,IAAwBC,EAAuB,YAAY;AAAA;AAAA,EAE/D,0BAA0B;AAAA;AAAA,EAE1B,qCAAqC;AAAA;AAAA,EAGrC,yCAAyC;AAAA;AAAA,EAEzC,gDAAgD;AAAA;AAAA,EAEhD,sCAAsC;AAAA;AAAA,EAEtC,mCAAmC;AAAA;AAAA,EAEnC,gCAAgC;AAAA;AAAA,EAEhC,6BAA6B;AAAA;AAAA,EAE7B,oCAAoC;AAAA;AAAA,EAEpC,mCAAmC;AAAA;AAAA,EAEnC,gCAAgC;AAAA;AAAA,EAGhC,2BAA2B;AAAA;AAAA,EAG3B,uBAAuB;AAAA;AAAA,EAEvB,0BAA0B;AAAA;AAAA,EAE1B,wBAAwB;AAAA;AAAA,EAExB,uBAAuB;AAAA;AAAA,EAEvB,sBACE;AAAA;AAAA,EAEF,yBAAyB;AAAA;AAAA,EAEzB,uBAAuB;AAAA;AAAA,EAGvB,0BAA0B;AAAA;AAAA,EAE1B,kBAAkB;AAAA;AAAA,EAElB,gBAAgB;AAAA;AAAA,EAGhB,yBAAyB;AAAA;AAAA,EAEzB,0BAA0B;AAAA;AAAA,EAG1B,gBAAgB;AAAA;AAAA,EAGhB,+BAA+B;AAAA;AAAA,EAE/B,gCAAgC;AAAA;AAAA,EAEhC,4BAA4B;AAAA;AAAA,EAE5B,8BAA8B;AAAA;AAAA,EAE9B,sBAAsB;AAAA;AAAA,EAGtB,oDAAoD;AAAA;AAAA,EAEpD,mCAAmC;AAAA;AAAA,EAGnC,sDAAsD;AAAA;AAAA,EAEtD,uCAAuC;AAAA;AAAA,EAEvC,kDAAkD;AAAA;AAAA,EAElD,8CAA8C;AAAA;AAAA,EAE9C,uBAAuB;AAAA;AAAA,EAEvB,4BAA4B;AAAA;AAAA,EAE5B,0BAA0B;AAAA;AAAA,EAE1B,iCAAiC;AAAA;AAAA,EAEjC,2CAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,4BAA4B;AAAA;AAAA,EAE5B,2BAA2B;AAAA;AAAA,EAE3B,gCAAgC;AAAA;AAAA,EAEhC,4BAA4B;AAAA;AAAA,EAE5B,0BAA0B;AAAA;AAAA,EAE1B,sDAAsD;AAAA;AAAA,EAEtD,kCAAkC;AAAA;AAAA,EAElC,8BAA8B;AAAA;AAAA,EAE9B,yCAAyC;AAAA;AAAA,EAEzC,yCAAyC;AAAA;AAAA,EAEzC,sCAAsC;AAAA;AAAA,EAGtC,qCAAqC;AAAA;AAAA,EAErC,sCAAsC;AAAA;AAAA,EAEtC,yCAAyC;AAAA;AAAA,EAEzC,0CAA0C;AAAA;AAAA,EAE1C,qBAAqB;AAAA;AAAA,EAErB,uBAAuB;AAAA;AAAA,EAGvB,2BAA2B;AAAA;AAAA,EAE3B,8BAA8B;AAAA;AAAA,EAE9B,iCAAiC;AAAA;AAAA,EAGjC,mBACE;AAAA;AAAA,EAEF,sBAAsB;AAAA;AAAA,EAEtB,qBAAqB;AAAA;AAAA,EAGrB,kCAAkC;AAAA;AAAA,EAElC,mCAAmC;AAAA;AAAA,EAEnC,kDAAkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlD,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3B,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnC,yCAAyC;AAAA;AAAA,EAGzC,6BAA6B;AAAA;AAAA,EAE7B,kCAAkC;AAAA;AAAA,EAElC,iCAAiC;AAAA;AAAA,EAEjC,sCAAsC;AAAA;AAAA,EAEtC,6CAA6C;AAC/C,CAAC;"}
|