sanity 3.74.2-corel.18 → 3.74.2-coreui.20

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.
Files changed (121) hide show
  1. package/lib/_chunks-cjs/runtime.js +8 -4
  2. package/lib/_chunks-cjs/runtime.js.map +1 -1
  3. package/lib/_chunks-cjs/version.js +1 -1
  4. package/lib/_chunks-es/version.mjs +1 -1
  5. package/lib/_legacy/version.esm.js +1 -1
  6. package/package.json +10 -11
  7. package/src/_internal/cli/server/renderDocument.tsx +12 -0
  8. package/src/_internal/cli/server/runtime.ts +13 -10
  9. package/src/_internal/cli/server/vite/plugin-sanity-build-entries.ts +14 -12
  10. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs +0 -19
  11. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs.map +0 -1
  12. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs +0 -58
  13. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs.map +0 -1
  14. package/dist/LiveQueries-sYvgBCKh.mjs +0 -267
  15. package/dist/LiveQueries-sYvgBCKh.mjs.map +0 -1
  16. package/dist/LoaderQueries-AQneabiG.mjs +0 -581
  17. package/dist/LoaderQueries-AQneabiG.mjs.map +0 -1
  18. package/dist/Observable-wwWYwtkh.mjs +0 -551
  19. package/dist/Observable-wwWYwtkh.mjs.map +0 -1
  20. package/dist/PostMessageDocuments-DLMdHDk6.mjs +0 -75
  21. package/dist/PostMessageDocuments-DLMdHDk6.mjs.map +0 -1
  22. package/dist/PostMessageFeatures-CazMQz3f.mjs +0 -21
  23. package/dist/PostMessageFeatures-CazMQz3f.mjs.map +0 -1
  24. package/dist/PostMessagePerspective-m4uZ6sI5.mjs +0 -23
  25. package/dist/PostMessagePerspective-m4uZ6sI5.mjs.map +0 -1
  26. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs +0 -66
  27. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs.map +0 -1
  28. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs +0 -66
  29. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs.map +0 -1
  30. package/dist/PostMessageSchema-BVFyZOH1.mjs +0 -514
  31. package/dist/PostMessageSchema-BVFyZOH1.mjs.map +0 -1
  32. package/dist/PostMessageTelemetry-CSluBvcC.mjs +0 -51
  33. package/dist/PostMessageTelemetry-CSluBvcC.mjs.map +0 -1
  34. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs +0 -3919
  35. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs.map +0 -1
  36. package/dist/QRCodeSVG-D6VfGEbM.mjs +0 -648
  37. package/dist/QRCodeSVG-D6VfGEbM.mjs.map +0 -1
  38. package/dist/SourceContext-T8zcpOpp.mjs +0 -33
  39. package/dist/SourceContext-T8zcpOpp.mjs.map +0 -1
  40. package/dist/StructureToolProvider-BMLps71e.mjs +0 -13815
  41. package/dist/StructureToolProvider-BMLps71e.mjs.map +0 -1
  42. package/dist/Subject-DP0DoUP_.mjs +0 -108
  43. package/dist/Subject-DP0DoUP_.mjs.map +0 -1
  44. package/dist/ViteDevServerStopped-DdibXNvO.mjs +0 -44
  45. package/dist/ViteDevServerStopped-DdibXNvO.mjs.map +0 -1
  46. package/dist/_createContext.mjs +0 -36
  47. package/dist/_createContext.mjs.map +0 -1
  48. package/dist/_singletons.mjs +0 -195
  49. package/dist/_singletons.mjs.map +0 -1
  50. package/dist/browser-BzDH2pyp.mjs +0 -455
  51. package/dist/browser-BzDH2pyp.mjs.map +0 -1
  52. package/dist/browser-DWCoWoiH.mjs +0 -3988
  53. package/dist/browser-DWCoWoiH.mjs.map +0 -1
  54. package/dist/debounceTime-BeoKrERE.mjs +0 -130
  55. package/dist/debounceTime-BeoKrERE.mjs.map +0 -1
  56. package/dist/desk.mjs +0 -52
  57. package/dist/desk.mjs.map +0 -1
  58. package/dist/first-Di4GZDIY.mjs +0 -42
  59. package/dist/first-Di4GZDIY.mjs.map +0 -1
  60. package/dist/get-psIoeD-z.mjs +0 -327
  61. package/dist/get-psIoeD-z.mjs.map +0 -1
  62. package/dist/hooks-4sgcd521.mjs +0 -90
  63. package/dist/hooks-4sgcd521.mjs.map +0 -1
  64. package/dist/index-9PJcXUTv.mjs +0 -87
  65. package/dist/index-9PJcXUTv.mjs.map +0 -1
  66. package/dist/index-ByFK-IwD.mjs +0 -528
  67. package/dist/index-ByFK-IwD.mjs.map +0 -1
  68. package/dist/index-C2OAo3To.mjs +0 -7079
  69. package/dist/index-C2OAo3To.mjs.map +0 -1
  70. package/dist/index-C3OvVLVP.mjs +0 -4636
  71. package/dist/index-C3OvVLVP.mjs.map +0 -1
  72. package/dist/index-DBPVDKJN.mjs +0 -1198
  73. package/dist/index-DBPVDKJN.mjs.map +0 -1
  74. package/dist/index-DkvUNBNf.mjs +0 -73
  75. package/dist/index-DkvUNBNf.mjs.map +0 -1
  76. package/dist/index-Sp9w8lMg.mjs +0 -118
  77. package/dist/index-Sp9w8lMg.mjs.map +0 -1
  78. package/dist/index.browser-BxT2qp9y.mjs +0 -104
  79. package/dist/index.browser-BxT2qp9y.mjs.map +0 -1
  80. package/dist/index.mjs +0 -129019
  81. package/dist/index.mjs.map +0 -1
  82. package/dist/isObservable-ByOheaM8.mjs +0 -8
  83. package/dist/isObservable-ByOheaM8.mjs.map +0 -1
  84. package/dist/never-ChKjLemk.mjs +0 -6
  85. package/dist/never-ChKjLemk.mjs.map +0 -1
  86. package/dist/pane-C4tskUPg.mjs +0 -5
  87. package/dist/pane-C4tskUPg.mjs.map +0 -1
  88. package/dist/pane-Dhx8FvsK.mjs +0 -5
  89. package/dist/pane-Dhx8FvsK.mjs.map +0 -1
  90. package/dist/presentation-CSS9GR9X.mjs +0 -984
  91. package/dist/presentation-CSS9GR9X.mjs.map +0 -1
  92. package/dist/presentation.mjs +0 -14
  93. package/dist/presentation.mjs.map +0 -1
  94. package/dist/resources-4cbq8YlR.mjs +0 -124
  95. package/dist/resources-4cbq8YlR.mjs.map +0 -1
  96. package/dist/resources-BVETz6Ur.mjs +0 -57
  97. package/dist/resources-BVETz6Ur.mjs.map +0 -1
  98. package/dist/resources-D4AaU75F.mjs +0 -434
  99. package/dist/resources-D4AaU75F.mjs.map +0 -1
  100. package/dist/resources-Dc-6ZcPg.mjs +0 -157
  101. package/dist/resources-Dc-6ZcPg.mjs.map +0 -1
  102. package/dist/resources-DgU0prBM.mjs +0 -179
  103. package/dist/resources-DgU0prBM.mjs.map +0 -1
  104. package/dist/resources-MD8RsYhH.mjs +0 -288
  105. package/dist/resources-MD8RsYhH.mjs.map +0 -1
  106. package/dist/router.mjs +0 -689
  107. package/dist/router.mjs.map +0 -1
  108. package/dist/share-bcOpIdQz.mjs +0 -71
  109. package/dist/share-bcOpIdQz.mjs.map +0 -1
  110. package/dist/shareReplay-Dj1O6fKV.mjs +0 -43
  111. package/dist/shareReplay-Dj1O6fKV.mjs.map +0 -1
  112. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs +0 -342
  113. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs.map +0 -1
  114. package/dist/structure.mjs +0 -56
  115. package/dist/structure.mjs.map +0 -1
  116. package/dist/takeUntil-CgZP1bze.mjs +0 -111
  117. package/dist/takeUntil-CgZP1bze.mjs.map +0 -1
  118. package/dist/v4-C78sE4Gb.mjs +0 -27082
  119. package/dist/v4-C78sE4Gb.mjs.map +0 -1
  120. package/dist/version-D7UZEoYI.mjs +0 -5
  121. package/dist/version-D7UZEoYI.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"PresentationToolGrantsCheck-4zo266wj.mjs","sources":["../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/bufferCount.js","../../../node_modules/.pnpm/framer-motion@11.16.1_@emotion+is-prop-valid@1.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/constants.js","../../../node_modules/.pnpm/uuid@11.0.4/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@11.0.4/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@11.0.4/node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/.pnpm/uuid@11.0.4/node_modules/uuid/dist/esm-browser/v4.js","../../../node_modules/.pnpm/@sanity+comlink@2.0.3-release.0/node_modules/@sanity/comlink/dist/index.js","../../../node_modules/.pnpm/@sanity+client@6.24.3_debug@4.4.0/node_modules/@sanity/client/dist/_chunks-es/resolveEditInfo.js","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/without-secret-search-params.js","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/_chunks-es/generateSecret.js","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/toggle-preview-access-sharing.js","../../../node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist.es2015/index.js","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/create-secret.js","../../../node_modules/.pnpm/@sanity+preview-url-secret@2.0.6-release.1_@sanity+client@6.24.3_debug@4.4.0_/node_modules/@sanity/preview-url-secret/dist/define-preview-url.js","../../../node_modules/.pnpm/suspend-react@0.1.3_react@18.3.1/node_modules/suspend-react/index.js","../../../node_modules/.pnpm/@sanity+presentation@1.19.14-release.0_@emotion+is-prop-valid@1.3.1_@sanity+color@3.0.6_debug_vqegs67ktulknun2leapg5jvli/node_modules/@sanity/presentation/dist/_chunks-es/PresentationToolGrantsCheck.js"],"sourcesContent":["import { __values } from \"tslib\";\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { arrRemove } from '../util/arrRemove';\nexport function bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) { startBufferEvery = null; }\n startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;\n return operate(function (source, subscriber) {\n var buffers = [];\n var count = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a, e_2, _b;\n var toEmit = null;\n if (count++ % startBufferEvery === 0) {\n buffers.push([]);\n }\n try {\n for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {\n var buffer = buffers_1_1.value;\n buffer.push(value);\n if (bufferSize <= buffer.length) {\n toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];\n toEmit.push(buffer);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (toEmit) {\n try {\n for (var toEmit_1 = __values(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) {\n var buffer = toEmit_1_1.value;\n arrRemove(buffers, buffer);\n subscriber.next(buffer);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }, function () {\n var e_3, _a;\n try {\n for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {\n var buffer = buffers_2_1.value;\n subscriber.next(buffer);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n subscriber.complete();\n }, undefined, function () {\n buffers = null;\n }));\n });\n}\n//# sourceMappingURL=bufferCount.js.map","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { useContext, useMemo } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { loadExternalIsValidProp } from '../../render/dom/utils/filter-props.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\n\n/**\n * `MotionConfig` is used to set configuration options for all children `motion` components.\n *\n * ```jsx\n * import { motion, MotionConfig } from \"framer-motion\"\n *\n * export function App() {\n * return (\n * <MotionConfig transition={{ type: \"spring\" }}>\n * <motion.div animate={{ x: 100 }} />\n * </MotionConfig>\n * )\n * }\n * ```\n *\n * @public\n */\nfunction MotionConfig({ children, isValidProp, ...config }) {\n isValidProp && loadExternalIsValidProp(isValidProp);\n /**\n * Inherit props from any parent MotionConfig components\n */\n config = { ...useContext(MotionConfigContext), ...config };\n /**\n * Don't allow isStatic to change between renders as it affects how many hooks\n * motion components fire.\n */\n config.isStatic = useConstant(() => config.isStatic);\n /**\n * Creating a new config context object will re-render every `motion` component\n * every time it renders. So we only want to create a new one sparingly.\n */\n const context = useMemo(() => config, [\n JSON.stringify(config.transition),\n config.transformPagePoint,\n config.reducedMotion,\n ]);\n return (jsx(MotionConfigContext.Provider, { value: context, children: children }));\n}\n\nexport { MotionConfig };\n","const schemaType = \"sanity.previewUrlSecret\", schemaIdPrefix = \"sanity-preview-url-secret\", schemaIdSingleton = `${schemaIdPrefix}.share-access`, schemaTypeSingleton = \"sanity.previewUrlShareAccess\", apiVersion = \"2023-11-09\", urlSearchParamPreviewSecret = \"sanity-preview-secret\", urlSearchParamPreviewPathname = \"sanity-preview-pathname\", urlSearchParamPreviewPerspective = \"sanity-preview-perspective\", 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), tag = \"sanity.preview-url-secret\", perspectiveCookieName = \"sanity-preview-perspective\";\nexport {\n SECRET_TTL,\n apiVersion,\n deleteExpiredSecretsQuery,\n fetchSecretQuery,\n fetchSharedAccessQuery,\n fetchSharedAccessSecretQuery,\n isDev,\n perspectiveCookieName,\n schemaIdPrefix,\n schemaIdSingleton,\n schemaType,\n schemaTypeSingleton,\n tag,\n urlSearchParamPreviewPathname,\n urlSearchParamPreviewPerspective,\n urlSearchParamPreviewSecret\n};\n//# sourceMappingURL=constants.js.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 } from \"uuid\";\nimport { fromEventObservable, setup, sendTo, assign, fromCallback, enqueueActions, assertEvent, emit, raise, stopChild, createActor } from \"xstate\";\nimport { defer, fromEvent, map, pipe, filter, bufferCount, concatMap, take, EMPTY, takeUntil } from \"rxjs\";\nconst listenInputFromContext = (config) => ({\n context\n}) => {\n const { count, include, exclude, responseType = \"message.received\" } = config;\n return {\n count,\n domain: context.domain,\n from: context.connectTo,\n include: include ? Array.isArray(include) ? include : [include] : [],\n exclude: exclude ? Array.isArray(exclude) ? exclude : [exclude] : [],\n responseType,\n target: context.target,\n to: context.name\n };\n}, listenFilter = (input) => (event) => {\n const { data } = event;\n return (input.include.length ? input.include.includes(data.type) : !0) && (input.exclude.length ? !input.exclude.includes(data.type) : !0) && data.domain === input.domain && data.from === input.from && data.to === input.to && (!input.target || event.source === input.target);\n}, eventToMessage = (type) => (event) => ({\n type,\n message: event\n}), messageEvents$ = defer(\n () => fromEvent(window, \"message\")\n), createListenLogic = (compatMap) => fromEventObservable(({ input }) => messageEvents$.pipe(\n compatMap ? map(compatMap) : pipe(),\n filter(listenFilter(input)),\n map(eventToMessage(input.responseType)),\n input.count ? pipe(\n bufferCount(input.count),\n concatMap((arr) => arr),\n take(input.count)\n ) : pipe()\n)), DOMAIN = \"sanity/comlink\", RESPONSE_TIMEOUT_DEFAULT = 3e3, FETCH_TIMEOUT_DEFAULT = 1e4, HEARTBEAT_INTERVAL = 1e3, HANDSHAKE_INTERVAL = 500, MSG_RESPONSE = \"comlink/response\", MSG_HEARTBEAT = \"comlink/heartbeat\", MSG_DISCONNECT = \"comlink/disconnect\", MSG_HANDSHAKE_SYN = \"comlink/handshake/syn\", MSG_HANDSHAKE_SYN_ACK = \"comlink/handshake/syn-ack\", MSG_HANDSHAKE_ACK = \"comlink/handshake/ack\", HANDSHAKE_MSG_TYPES = [\n MSG_HANDSHAKE_SYN,\n MSG_HANDSHAKE_SYN_ACK,\n MSG_HANDSHAKE_ACK\n], INTERNAL_MSG_TYPES = [\n MSG_RESPONSE,\n MSG_DISCONNECT,\n MSG_HEARTBEAT,\n ...HANDSHAKE_MSG_TYPES\n], throwOnEvent = (message) => (source) => source.pipe(\n take(1),\n map(() => {\n throw new Error(message);\n })\n), createRequestMachine = () => setup({\n types: {},\n actors: {\n listen: fromEventObservable(\n ({\n input\n }) => {\n const abortSignal$ = input.signal ? fromEvent(input.signal, \"abort\").pipe(\n throwOnEvent(`Request ${input.requestId} aborted`)\n ) : EMPTY, messageFilter = (event) => event.data?.type === MSG_RESPONSE && event.data?.responseTo === input.requestId && !!event.source && input.sources.has(event.source);\n return fromEvent(window, \"message\").pipe(\n filter(messageFilter),\n take(input.sources.size),\n takeUntil(abortSignal$)\n );\n }\n )\n },\n actions: {\n \"send message\": ({ context }, params) => {\n const { sources, targetOrigin } = context, { message } = params;\n sources.forEach((source) => {\n source.postMessage(message, { targetOrigin });\n });\n },\n \"on success\": sendTo(\n ({ context }) => context.parentRef,\n ({ context, self }) => (context.response && context.resolvable?.resolve(context.response), {\n type: \"request.success\",\n requestId: self.id,\n response: context.response,\n responseTo: context.responseTo\n })\n ),\n \"on fail\": sendTo(\n ({ context }) => context.parentRef,\n ({ context, self }) => (context.suppressWarnings || console.warn(\n `[@sanity/comlink] Received no response to message '${context.type}' on client '${context.from}' (ID: '${context.id}').`\n ), context.resolvable?.reject(new Error(\"No response received\")), { type: \"request.failed\", requestId: self.id })\n ),\n \"on abort\": sendTo(\n ({ context }) => context.parentRef,\n ({ context, self }) => (context.resolvable?.reject(new Error(\"Request aborted\")), { type: \"request.aborted\", requestId: self.id })\n )\n },\n guards: {\n expectsResponse: ({ context }) => context.expectResponse\n },\n delays: {\n initialTimeout: 0,\n responseTimeout: ({ context }) => context.responseTimeout ?? RESPONSE_TIMEOUT_DEFAULT\n }\n}).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QAoC2BDAxgCwJYDswBKAOlwgBswBiAD1gBd0GwT0AzFgJ2QNwdzoKAFVyowAewCuDItTRY8hUuSoBtAAwBdRKAAOE2P1wT8ukLUQBGAEwBWEgBYAnK+eOAzB7sB2DzY8rABoQAE9rDQc3V0cNTw8fAA4NHwBfVJCFHAJiElgwfAgCKGpNHSQQAyMBU3NLBDsrDxI7DTaAjQA2OOcNDxDwhHsNJx9Ou0TOq2cJxP9HdMyMbOU8gqL8ErUrcv1DY1qK+sbm1vaPLp6+gcRnGydo9wDGycWQLKVc9AB3dGNN6jiWCwdAwMrmKoHMxHRCJRKOEiJHwuZKBZwXKzBMKIGyYkhtAkXOweTqOHw2RJvD45Ug-P4CAH0JgsNicMA8LhwAz4fKicTSWTyZafWm-f5QcEVSE1aGgepwhFIlF9aYYrGDC4+JzEppjGzOUkeGbpDIgfASCBwczU5QQ-YyuqIAC0nRuCBd+IJXu9KSpwppZEoYDt1RMsosiEcNjdVjiJEeGisiSTHkcVgWpptuXyhWKIahjqGzi1BqRJINnVcdkcbuTLS9VYC8ISfsUAbp4vzDphCHJIyjBvJNlxNmRNexQ3sJGH43GPj8jWJrZWuXYfyoEC7YcLsbrgRsjkcvkmdgNbopVhIPhVfnsh8ClMz-tWsCkmEwcHgUvt257u8v+6Hse4xnhOdZnImVidPqCRNB4JqpEAA */\n context: ({ input }) => ({\n channelId: input.channelId,\n data: input.data,\n domain: input.domain,\n expectResponse: input.expectResponse ?? !1,\n from: input.from,\n id: `msg-${v4()}`,\n parentRef: input.parentRef,\n resolvable: input.resolvable,\n response: null,\n responseTimeout: input.responseTimeout,\n responseTo: input.responseTo,\n signal: input.signal,\n sources: input.sources instanceof Set ? input.sources : /* @__PURE__ */ new Set([input.sources]),\n suppressWarnings: input.suppressWarnings,\n targetOrigin: input.targetOrigin,\n to: input.to,\n type: input.type\n }),\n initial: \"idle\",\n on: {\n abort: \".aborted\"\n },\n states: {\n idle: {\n after: {\n initialTimeout: [\n {\n target: \"sending\"\n }\n ]\n }\n },\n sending: {\n entry: {\n type: \"send message\",\n params: ({ context }) => {\n const { channelId, data, domain, from, id, responseTo, to, type } = context;\n return { message: {\n channelId,\n data,\n domain,\n from,\n id,\n to,\n type,\n responseTo\n } };\n }\n },\n always: [\n {\n guard: \"expectsResponse\",\n target: \"awaiting\"\n },\n \"success\"\n ]\n },\n awaiting: {\n invoke: {\n id: \"listen for response\",\n src: \"listen\",\n input: ({ context }) => ({\n requestId: context.id,\n sources: context.sources,\n signal: context.signal\n }),\n onError: \"aborted\"\n },\n after: {\n responseTimeout: \"failed\"\n },\n on: {\n message: {\n actions: assign({\n response: ({ event }) => event.data.data,\n responseTo: ({ event }) => event.data.responseTo\n }),\n target: \"success\"\n }\n }\n },\n failed: {\n type: \"final\",\n entry: \"on fail\"\n },\n success: {\n type: \"final\",\n entry: \"on success\"\n },\n aborted: {\n type: \"final\",\n entry: \"on abort\"\n }\n },\n output: ({ context, self }) => ({\n requestId: self.id,\n response: context.response,\n responseTo: context.responseTo\n })\n}), sendBackAtInterval = fromCallback(({ sendBack, input }) => {\n const send = () => {\n sendBack(input.event);\n };\n input.immediate && send();\n const interval = setInterval(send, input.interval);\n return () => {\n clearInterval(interval);\n };\n}), createConnectionMachine = () => setup({\n types: {},\n actors: {\n requestMachine: createRequestMachine(),\n listen: createListenLogic(),\n sendBackAtInterval\n },\n actions: {\n \"buffer message\": enqueueActions(({ enqueue }) => {\n enqueue.assign({\n buffer: ({ event, context }) => (assertEvent(event, \"post\"), [...context.buffer, event.data])\n }), enqueue.emit(({ event }) => (assertEvent(event, \"post\"), {\n type: \"_buffer.added\",\n message: event.data\n }));\n }),\n \"create request\": assign({\n requests: ({ context, event, self, spawn }) => {\n assertEvent(event, \"request\");\n const requests = (Array.isArray(event.data) ? event.data : [event.data]).map((request) => {\n const id = `req-${v4()}`;\n return spawn(\"requestMachine\", {\n id,\n input: {\n channelId: context.channelId,\n data: request.data,\n domain: context.domain,\n expectResponse: request.expectResponse,\n from: context.name,\n parentRef: self,\n responseTo: request.responseTo,\n sources: context.target,\n targetOrigin: context.targetOrigin,\n to: context.connectTo,\n type: request.type\n }\n });\n });\n return [...context.requests, ...requests];\n }\n }),\n \"emit received message\": enqueueActions(({ enqueue }) => {\n enqueue.emit(({ event }) => (assertEvent(event, \"message.received\"), {\n type: \"_message\",\n message: event.message.data\n })), enqueue.emit(({ event }) => (assertEvent(event, \"message.received\"), {\n type: event.message.data.type,\n message: event.message.data\n }));\n }),\n \"emit status\": emit((_, params) => ({\n type: \"_status\",\n status: params.status\n })),\n \"flush buffer\": enqueueActions(({ enqueue }) => {\n enqueue.raise(({ context }) => ({\n type: \"request\",\n data: context.buffer.map(({ data, type }) => ({ data, type }))\n })), enqueue.emit(({ context }) => ({\n type: \"_buffer.flushed\",\n messages: context.buffer\n })), enqueue.assign({\n buffer: []\n });\n }),\n post: raise(({ event }) => (assertEvent(event, \"post\"), {\n type: \"request\",\n data: {\n data: event.data.data,\n expectResponse: !0,\n type: event.data.type\n }\n })),\n \"remove request\": enqueueActions(({ context, enqueue, event }) => {\n assertEvent(event, [\"request.success\", \"request.failed\", \"request.aborted\"]), stopChild(event.requestId), enqueue.assign({ requests: context.requests.filter(({ id }) => id !== event.requestId) });\n }),\n respond: raise(({ event }) => (assertEvent(event, \"response\"), {\n type: \"request\",\n data: {\n data: event.data,\n type: MSG_RESPONSE,\n responseTo: event.respondTo\n }\n })),\n \"send handshake ack\": raise({\n type: \"request\",\n data: { type: MSG_HANDSHAKE_ACK }\n }),\n \"send disconnect\": raise(() => ({\n type: \"request\",\n data: { type: MSG_DISCONNECT }\n })),\n \"send handshake syn\": raise({\n type: \"request\",\n data: { type: MSG_HANDSHAKE_SYN }\n }),\n \"set target\": assign({\n target: ({ event }) => (assertEvent(event, \"target.set\"), event.target)\n })\n },\n guards: {\n \"has target\": ({ context }) => !!context.target,\n \"should send heartbeats\": ({ context }) => context.heartbeat\n }\n}).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QGMAWBDAdpsAbAxAC7oBOMhAdLGIQNoAMAuoqAA4D2sAloV+5ixAAPRAHZRAJgoAWABz0ArHICMy2QGZZCgJwAaEAE9EE+tIrb6ANgkLl46fTuj1AXxf60WHARJgAjgCucJSwAcjIcLAMzEggHNy8-IIiCKLS2hQS6qb2yurisrL6RgjK9LIyCuqq0g7WstZuHhjYePi+gcEUAGboXLiQ0YLxPHwCsSmiCgoykpayDtqS6trqxYjKEk0gnq24FFwQA-jI-DjIdEzDnKNJExuOZpZ12eq29OrSCuupypYUojUaTKCnm5Wk2123gORzA+HilxibBuiXGoBSGnUAIU4gU9FWamUtR+lmUM1EllBEkslMUEnpkJa0JaEFgGAA1lxMFB8LADJghrERqjkhtshk3mTtNo5OpqpYfqCKhTptoqpY1WUtu4dky8BQWWz0Jzue1-EFYIjrgkxqLSupqRRPpoPqJtLI0hIioZENJJE7NnJ8ZYHVk1YyvPrDRyuTyEYLkTa7uixVlMh81KGFhS1j6EPkZlpVjTphr8mkI3sDVhWTHTQBbSLoGAUXwRLgAN0GVyFKNt91KimUFEKXvKC2s9R+6X+jipnzJeSqEJ1UKjNaNJp5EC4sFOrQuCbifeTwg2cgoym0RPxDtqkj0eaB9Ao8zSolMEivZVcq71+33c5CEgeFOCtXskzRM8EDxKRpmkSw3QJbQsmpH5tHmV8JHSbJpDsakV2aSMALOMALhAjoLXAxNbiglI-SxWw1Vw0QNDw0Qfg9KQ7EJSxHHxApK2hQCyOAiAzVgDhMGoI9hX7FMEHSF8cWkelpHURCbBsb481xAEgT9BQJCmWQsiE-URPI8TG1gWBmzAVsyLATtuyRY9ILtWoKmlL82Kqd0tAVJ91LMHFZDKIkVlkNVZHMkiDzE-Adz3UjDx7GiRQHCKnheD53k+HSSkDDIwpBVTqQwuKKEssSDTAUhCAAI3qyg0DIrd8Fkk86MQUMnVM+RynoegTDJH48hGp0vR-FDRqqKqasgOqGua9AQjATAd1NSiul6fpXOtWi7Wy19cslD4vnG7IX3oVjVDUVYEJQqrksW8SdstLqPKy0wKgG1RhtMWogqKhoMjkWp6XxUyFBe3c3tAz70vco6fq+V8PTkGUFzdQqNnELEM2yClrwwzQ4ZShKQJqr7UYU98AS0W9pT4z5pHG0yXwMkNNTyGk3B1TB2AgOBBDXXBDsyhSFG9EovQqN5i1JeRcKqw4Bkl+ToMx8x0j+EaqQ9XMSkBURMgMkEwQWKro2NWNNdPFJAzN0lJGM4slDxhBEJfXyplBd03wW1KxIdnrBxBh4JAyW75C8rJpmDqmIGWkgmpasPjqUcaHooMLHA0uU1UkJOgKW1B6rT1bWor5At0zgcTAkK7hrz1irB0D8cW0UvRPLyv07WqgNq2qAG+l9SnXUz0UOXD5xuMs3Y4+DVJBX7UiKrV6Q8gcfoJO54rFefLLqfJYX1WKYNLxL4NO1NwgA */\n id: \"connection\",\n context: ({ input }) => ({\n id: input.id || `${input.name}-${v4()}`,\n buffer: [],\n channelId: `chn-${v4()}`,\n connectTo: input.connectTo,\n domain: input.domain ?? DOMAIN,\n heartbeat: input.heartbeat ?? !1,\n name: input.name,\n requests: [],\n target: input.target,\n targetOrigin: input.targetOrigin\n }),\n on: {\n \"target.set\": {\n actions: \"set target\"\n },\n \"request.success\": {\n actions: \"remove request\"\n },\n \"request.failed\": {\n actions: \"remove request\"\n }\n },\n initial: \"idle\",\n states: {\n idle: {\n entry: [{ type: \"emit status\", params: { status: \"idle\" } }],\n on: {\n connect: {\n target: \"handshaking\",\n guard: \"has target\"\n },\n post: {\n actions: \"buffer message\"\n }\n }\n },\n handshaking: {\n id: \"handshaking\",\n entry: [{ type: \"emit status\", params: { status: \"handshaking\" } }],\n invoke: [\n {\n id: \"send syn\",\n src: \"sendBackAtInterval\",\n input: () => ({\n event: { type: \"syn\" },\n interval: HANDSHAKE_INTERVAL,\n immediate: !0\n })\n },\n {\n id: \"listen for handshake\",\n src: \"listen\",\n input: (input) => listenInputFromContext({\n include: MSG_HANDSHAKE_SYN_ACK,\n count: 1\n })(input)\n /* Below would maybe be more readable than transitioning to\n 'connected' on 'message', and 'ack' on exit but having onDone when\n using passing invocations currently breaks XState Editor */\n // onDone: {\n // target: 'connected',\n // actions: 'ack',\n // },\n }\n ],\n on: {\n syn: {\n actions: \"send handshake syn\"\n },\n request: {\n actions: \"create request\"\n },\n post: {\n actions: \"buffer message\"\n },\n \"message.received\": {\n target: \"connected\"\n },\n disconnect: {\n target: \"disconnected\"\n }\n },\n exit: \"send handshake ack\"\n },\n connected: {\n entry: [\"flush buffer\", { type: \"emit status\", params: { status: \"connected\" } }],\n invoke: {\n id: \"listen for messages\",\n src: \"listen\",\n input: listenInputFromContext({\n exclude: [MSG_RESPONSE, MSG_HEARTBEAT]\n })\n },\n on: {\n post: {\n actions: \"post\"\n },\n request: {\n actions: \"create request\"\n },\n response: {\n actions: \"respond\"\n },\n \"message.received\": {\n actions: \"emit received message\"\n },\n disconnect: {\n target: \"disconnected\"\n }\n },\n initial: \"heartbeat\",\n states: {\n heartbeat: {\n initial: \"checking\",\n states: {\n checking: {\n always: {\n guard: \"should send heartbeats\",\n target: \"sending\"\n }\n },\n sending: {\n on: {\n \"request.failed\": {\n target: \"#handshaking\"\n }\n },\n invoke: {\n id: \"send heartbeat\",\n src: \"sendBackAtInterval\",\n input: () => ({\n event: { type: \"post\", data: { type: MSG_HEARTBEAT, data: void 0 } },\n interval: 2e3,\n immediate: !1\n })\n }\n }\n }\n }\n }\n },\n disconnected: {\n id: \"disconnected\",\n entry: [\"send disconnect\", { type: \"emit status\", params: { status: \"disconnected\" } }],\n on: {\n request: {\n actions: \"create request\"\n },\n post: {\n actions: \"buffer message\"\n },\n connect: {\n target: \"handshaking\",\n guard: \"has target\"\n }\n }\n }\n }\n}), createConnection = (input, machine = createConnectionMachine()) => {\n const id = input.id || `${input.name}-${v4()}`, actor = createActor(machine, {\n input: { ...input, id }\n }), on = (type, handler) => {\n const { unsubscribe } = actor.on(\n // @ts-expect-error @todo `type` typing\n type,\n async (event) => {\n const response = await handler(event.message.data);\n response && actor.send({ type: \"response\", respondTo: event.message.id, data: response });\n }\n );\n return unsubscribe;\n }, connect = () => {\n actor.send({ type: \"connect\" });\n }, disconnect = () => {\n actor.send({ type: \"disconnect\" });\n }, onStatus = (handler, filter2) => {\n const { unsubscribe } = actor.on(\n // @ts-expect-error @todo ReceivedEmitEvent causes this\n \"_status\",\n (event) => {\n filter2 && event.status !== filter2 || handler(event.status);\n }\n );\n return unsubscribe;\n }, setTarget = (target) => {\n actor.send({ type: \"target.set\", target });\n }, post = (type, data) => {\n const _data = { type, data };\n actor.send({ type: \"post\", data: _data });\n }, stop = () => {\n actor.stop();\n }, start = () => (actor.start(), stop);\n return {\n actor,\n connect,\n disconnect,\n id,\n name: input.name,\n machine,\n on,\n onStatus,\n post,\n setTarget,\n start,\n stop,\n get target() {\n return actor.getSnapshot().context.target;\n }\n };\n}, cleanupConnection = (connection) => {\n connection.disconnect(), setTimeout(() => {\n connection.stop();\n }, 0);\n}, noop = () => {\n}, createController = (input) => {\n const { targetOrigin } = input, targets = /* @__PURE__ */ new Set(), channels = /* @__PURE__ */ new Set();\n return {\n addTarget: (target) => {\n if (targets.has(target))\n return noop;\n if (!targets.size || !channels.size)\n return targets.add(target), channels.forEach((channel) => {\n channel.connections.forEach((connection) => {\n connection.setTarget(target), connection.connect();\n });\n }), () => {\n targets.delete(target), channels.forEach((channel) => {\n channel.connections.forEach((connection) => {\n connection.target === target && connection.disconnect();\n });\n });\n };\n targets.add(target);\n const targetConnections = /* @__PURE__ */ new Set();\n return channels.forEach((channel) => {\n const connection = createConnection(\n {\n ...channel.input,\n target,\n targetOrigin\n },\n channel.machine\n );\n targetConnections.add(connection), channel.connections.add(connection), channel.subscribers.forEach(({ type, handler, unsubscribers }) => {\n unsubscribers.push(connection.on(type, handler));\n }), channel.internalEventSubscribers.forEach(({ type, handler, unsubscribers }) => {\n unsubscribers.push(connection.actor.on(type, handler).unsubscribe);\n }), channel.statusSubscribers.forEach(({ handler, unsubscribers }) => {\n unsubscribers.push(\n connection.onStatus((status) => handler({ connection: connection.id, status }))\n );\n }), connection.start(), connection.connect();\n }), () => {\n targets.delete(target), targetConnections.forEach((connection) => {\n cleanupConnection(connection), channels.forEach((channel) => {\n channel.connections.delete(connection);\n });\n });\n };\n },\n createChannel: (input2, machine = createConnectionMachine()) => {\n const channel = {\n connections: /* @__PURE__ */ new Set(),\n input: input2,\n internalEventSubscribers: /* @__PURE__ */ new Set(),\n machine,\n statusSubscribers: /* @__PURE__ */ new Set(),\n subscribers: /* @__PURE__ */ new Set()\n };\n channels.add(channel);\n const { connections, internalEventSubscribers, statusSubscribers, subscribers } = channel;\n if (targets.size)\n targets.forEach((target) => {\n const connection = createConnection(\n {\n ...input2,\n target,\n targetOrigin\n },\n machine\n );\n connections.add(connection);\n });\n else {\n const connection = createConnection({ ...input2, targetOrigin }, machine);\n connections.add(connection);\n }\n const post = (...params) => {\n const [type, data] = params;\n connections.forEach((connection) => {\n connection.post(type, data);\n });\n }, on = (type, handler) => {\n const unsubscribers = [];\n connections.forEach((connection) => {\n unsubscribers.push(connection.on(type, handler));\n });\n const subscriber = { type, handler, unsubscribers };\n return subscribers.add(subscriber), () => {\n unsubscribers.forEach((unsub) => unsub()), subscribers.delete(subscriber);\n };\n }, onInternalEvent = (type, handler) => {\n const unsubscribers = [];\n connections.forEach((connection) => {\n unsubscribers.push(connection.actor.on(type, handler).unsubscribe);\n });\n const subscriber = { type, handler, unsubscribers };\n return internalEventSubscribers.add(subscriber), () => {\n unsubscribers.forEach((unsub) => unsub()), internalEventSubscribers.delete(subscriber);\n };\n }, onStatus = (handler) => {\n const unsubscribers = [];\n connections.forEach((connection) => {\n unsubscribers.push(\n connection.onStatus((status) => handler({ connection: connection.id, status }))\n );\n });\n const subscriber = { handler, unsubscribers };\n return statusSubscribers.add(subscriber), () => {\n unsubscribers.forEach((unsub) => unsub()), statusSubscribers.delete(subscriber);\n };\n }, stop = () => {\n const connections2 = channel.connections;\n connections2.forEach(cleanupConnection), connections2.clear(), channels.delete(channel);\n };\n return {\n on,\n onInternalEvent,\n onStatus,\n post,\n start: () => (connections.forEach((connection) => {\n connection.start(), connection.connect();\n }), stop),\n stop\n };\n },\n destroy: () => {\n channels.forEach(({ connections }) => {\n connections.forEach(cleanupConnection), connections.clear();\n }), channels.clear(), targets.clear();\n }\n };\n}, createNodeMachine = () => setup({\n types: {},\n actors: {\n requestMachine: createRequestMachine(),\n listen: createListenLogic()\n },\n actions: {\n \"buffer incoming message\": assign({\n handshakeBuffer: ({ event, context }) => (assertEvent(event, \"message.received\"), [...context.handshakeBuffer, event])\n }),\n \"buffer message\": enqueueActions(({ enqueue }) => {\n enqueue.assign({\n buffer: ({ event, context }) => (assertEvent(event, \"post\"), [\n ...context.buffer,\n {\n data: event.data,\n resolvable: event.resolvable,\n options: event.options\n }\n ])\n }), enqueue.emit(({ event }) => (assertEvent(event, \"post\"), {\n type: \"_buffer.added\",\n message: event.data\n }));\n }),\n \"create request\": assign({\n requests: ({ context, event, self, spawn }) => {\n assertEvent(event, \"request\");\n const requests = (Array.isArray(event.data) ? event.data : [event.data]).map((request) => {\n const id = `req-${v4()}`;\n return spawn(\"requestMachine\", {\n id,\n input: {\n channelId: context.channelId,\n data: request.data,\n domain: context.domain,\n expectResponse: request.expectResponse,\n from: context.name,\n parentRef: self,\n resolvable: request.resolvable,\n responseTimeout: request.options?.responseTimeout,\n responseTo: request.responseTo,\n signal: request.options?.signal,\n sources: context.target,\n suppressWarnings: request.options?.suppressWarnings,\n targetOrigin: context.targetOrigin,\n to: context.connectTo,\n type: request.type\n }\n });\n });\n return [...context.requests, ...requests];\n }\n }),\n \"emit heartbeat\": emit(() => ({\n type: \"_heartbeat\"\n })),\n \"emit received message\": enqueueActions(({ enqueue }) => {\n enqueue.emit(({ event }) => (assertEvent(event, \"message.received\"), {\n type: \"_message\",\n message: event.message.data\n })), enqueue.emit(({ event }) => (assertEvent(event, \"message.received\"), {\n type: event.message.data.type,\n message: event.message.data\n }));\n }),\n \"emit status\": emit((_, params) => ({\n type: \"_status\",\n status: params.status\n })),\n \"flush buffer\": enqueueActions(({ enqueue }) => {\n enqueue.raise(({ context }) => ({\n type: \"request\",\n data: context.buffer.map(({ data, resolvable, options }) => ({\n data: data.data,\n type: data.type,\n expectResponse: !!resolvable,\n resolvable,\n options\n }))\n })), enqueue.emit(({ context }) => ({\n type: \"_buffer.flushed\",\n messages: context.buffer.map(({ data }) => data)\n })), enqueue.assign({\n buffer: []\n });\n }),\n \"flush handshake buffer\": enqueueActions(({ context, enqueue }) => {\n context.handshakeBuffer.forEach((event) => enqueue.raise(event)), enqueue.assign({\n handshakeBuffer: []\n });\n }),\n post: raise(({ event }) => (assertEvent(event, \"post\"), {\n type: \"request\",\n data: {\n data: event.data.data,\n expectResponse: !!event.resolvable,\n type: event.data.type,\n resolvable: event.resolvable,\n options: event.options\n }\n })),\n \"remove request\": enqueueActions(({ context, enqueue, event }) => {\n assertEvent(event, [\"request.success\", \"request.failed\", \"request.aborted\"]), stopChild(event.requestId), enqueue.assign({ requests: context.requests.filter(({ id }) => id !== event.requestId) });\n }),\n \"send response\": raise(({ event }) => (assertEvent(event, [\"message.received\", \"heartbeat.received\"]), {\n type: \"request\",\n data: {\n type: MSG_RESPONSE,\n responseTo: event.message.data.id,\n data: void 0\n }\n })),\n \"send handshake syn ack\": raise({\n type: \"request\",\n data: { type: MSG_HANDSHAKE_SYN_ACK }\n }),\n \"set connection config\": assign({\n channelId: ({ event }) => (assertEvent(event, \"handshake.syn\"), event.message.data.channelId),\n target: ({ event }) => (assertEvent(event, \"handshake.syn\"), event.message.source || void 0),\n targetOrigin: ({ event }) => (assertEvent(event, \"handshake.syn\"), event.message.origin)\n })\n },\n guards: {\n hasSource: ({ context }) => context.target !== null\n }\n}).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QDsD2EwGIBOYCOArnAC4B0sBAxpXLANoAMAuoqAA6qwCWxXqyrEAA9EAVgYAWUgEYJDUQA4JAZmUSJC0coDsAGhABPRNIYLSErdOkBOAGzbx227YUBfV-rQYc+IrDIAZgCGXAA2kIwsSCAc3Lz8giIIoiakqgBMDKbp2tYS0srp+kYI0ununuhgpFwQ4ZgQ-NVcyABuqADW1V7NdWAILe2UQfHIkZGCsTx8AtFJ6aKipAzWOtrpC7Z5BUWGiNoK6aS26RLW2tLaqkqqFSA9NX2YALa0QTCkuDRcrRHMk5xpgk5ogJLZSNZIVDoVCFLZiohbIVSLkXLZRHZDgxbHcHrV6rFiBNolNRolEVJbCsdGUzsoyhiEcllOC1DowelVmVrOUPPcqqQABZBZAQWDCjotKANJo1NqdboC4Wi8VBSXIKADeXDUbjf4kwFkkEILbg8RZMHKOzWKzKJkHJa086Xa4qZS4pUisUSqU+QgkYnsQ0zcnJaRLDbpZwKNQSBYspm2MEyC5KTnaDSSd18h7K71q32EwMxYPA0BJFLKY5yZxIrKSURM0RnFHSBTrQqQ9babQejBCr2q9XSiBcWCUfjIMCUIn6oNxEPGtTWFFR0RUy7iGzt+3Ip0XURXVZKPvVCfIKczyB+vyzqLzoGzcuIG0MGTyCztjRtjaJjbHVMNAUTdu1PUhz0vYhryLOcSwXMthBfK0ZGsLQGBZekCi0Jso1IdI23WG04zOE4wIg6coIgBox3Imdi1JRdnxNOxSHNSQkWtW0mTjMxMQ7fDzgcbNKn7WjKJeN4Pi+MAfj+e84MfUMFHbZZwxOHZNDyO09gQOQjmAhZJCM9IMjIycKOvQUwCCbBiAAI2sshpNkiB6NLJ9EIQBQbWOdJlMhYCUjbJkchXGsFmsJQMVsWl3BzKp4GiHoAXgjykgAWmkZZ6xy3LZF2EobCy6xsQWJQ42kE4FjA-EwBSxTjSRUhDgqkzgO2BxdykU4AvXFQ-KjMC8yHKV6qNJi6WOdcypcZsXGxe0JG0XySKjM5lKsMyLwsiAxsYzylDfONznUEqrmi+1ThkHqXDONbULi1wgA */\n id: \"node\",\n context: ({ input }) => ({\n buffer: [],\n channelId: null,\n connectTo: input.connectTo,\n domain: input.domain ?? DOMAIN,\n handshakeBuffer: [],\n name: input.name,\n requests: [],\n target: void 0,\n targetOrigin: null\n }),\n // Always listen for handshake syn messages. The channel could have\n // disconnected without being able to notify the node, and so need to\n // re-establish the connection.\n invoke: {\n id: \"listen for handshake syn\",\n src: \"listen\",\n input: listenInputFromContext({\n include: MSG_HANDSHAKE_SYN,\n responseType: \"handshake.syn\"\n })\n },\n on: {\n \"request.success\": {\n actions: \"remove request\"\n },\n \"request.failed\": {\n actions: \"remove request\"\n },\n \"request.aborted\": {\n actions: \"remove request\"\n },\n \"handshake.syn\": {\n actions: \"set connection config\",\n target: \".handshaking\"\n }\n },\n initial: \"idle\",\n states: {\n idle: {\n entry: [{ type: \"emit status\", params: { status: \"idle\" } }],\n on: {\n post: {\n actions: \"buffer message\"\n }\n }\n },\n handshaking: {\n guard: \"hasSource\",\n entry: [\"send handshake syn ack\", { type: \"emit status\", params: { status: \"handshaking\" } }],\n invoke: [\n {\n id: \"listen for handshake ack\",\n src: \"listen\",\n input: listenInputFromContext({\n include: MSG_HANDSHAKE_ACK,\n count: 1,\n // Override the default `message.received` responseType to prevent\n // buffering the ack message. We transition to the connected state\n // using onDone instead of listening to this event using `on`\n responseType: \"handshake.complete\"\n }),\n onDone: \"connected\"\n },\n {\n id: \"listen for disconnect\",\n src: \"listen\",\n input: listenInputFromContext({\n include: MSG_DISCONNECT,\n count: 1,\n responseType: \"disconnect\"\n })\n },\n {\n id: \"listen for messages\",\n src: \"listen\",\n input: listenInputFromContext({\n exclude: [\n MSG_DISCONNECT,\n MSG_HANDSHAKE_SYN,\n MSG_HANDSHAKE_ACK,\n MSG_HEARTBEAT,\n MSG_RESPONSE\n ]\n })\n }\n ],\n on: {\n request: {\n actions: \"create request\"\n },\n post: {\n actions: \"buffer message\"\n },\n \"message.received\": {\n actions: \"buffer incoming message\"\n },\n disconnect: {\n target: \"idle\"\n }\n }\n },\n connected: {\n entry: [\n \"flush handshake buffer\",\n \"flush buffer\",\n { type: \"emit status\", params: { status: \"connected\" } }\n ],\n invoke: [\n {\n id: \"listen for messages\",\n src: \"listen\",\n input: listenInputFromContext({\n exclude: [\n MSG_DISCONNECT,\n MSG_HANDSHAKE_SYN,\n MSG_HANDSHAKE_ACK,\n MSG_HEARTBEAT,\n MSG_RESPONSE\n ]\n })\n },\n {\n id: \"listen for heartbeat\",\n src: \"listen\",\n input: listenInputFromContext({\n include: MSG_HEARTBEAT,\n responseType: \"heartbeat.received\"\n })\n },\n {\n id: \"listen for disconnect\",\n src: \"listen\",\n input: listenInputFromContext({\n include: MSG_DISCONNECT,\n count: 1,\n responseType: \"disconnect\"\n })\n }\n ],\n on: {\n request: {\n actions: \"create request\"\n },\n post: {\n actions: \"post\"\n },\n disconnect: {\n target: \"idle\"\n },\n \"message.received\": {\n actions: [\"send response\", \"emit received message\"]\n },\n \"heartbeat.received\": {\n actions: [\"send response\", \"emit heartbeat\"]\n }\n }\n }\n }\n}), createNode = (input, machine = createNodeMachine()) => {\n const actor = createActor(machine, {\n input\n }), on = (type, handler) => {\n const { unsubscribe } = actor.on(\n // @ts-expect-error @todo ReceivedEmitEvent causes this\n type,\n (event) => {\n handler(event.message.data);\n }\n );\n return unsubscribe;\n }, onStatus = (handler, filter2) => {\n const { unsubscribe } = actor.on(\n // @ts-expect-error @todo ReceivedEmitEvent causes this\n \"_status\",\n (event) => {\n filter2 && event.status !== filter2 || handler(event.status);\n }\n );\n return unsubscribe;\n }, post = (type, data) => {\n const _data = { type, data };\n actor.send({ type: \"post\", data: _data });\n }, fetch = (type, data, options) => {\n const { responseTimeout = FETCH_TIMEOUT_DEFAULT, signal, suppressWarnings } = options || {}, resolvable = Promise.withResolvers(), _data = { type, data };\n return actor.send({\n type: \"post\",\n data: _data,\n resolvable,\n options: { responseTimeout, signal, suppressWarnings }\n }), resolvable.promise;\n }, stop = () => {\n actor.stop();\n };\n return {\n actor,\n fetch,\n machine,\n on,\n onStatus,\n post,\n start: () => (actor.start(), stop),\n stop\n };\n};\nexport {\n DOMAIN,\n FETCH_TIMEOUT_DEFAULT,\n HANDSHAKE_INTERVAL,\n HANDSHAKE_MSG_TYPES,\n HEARTBEAT_INTERVAL,\n INTERNAL_MSG_TYPES,\n MSG_DISCONNECT,\n MSG_HANDSHAKE_ACK,\n MSG_HANDSHAKE_SYN,\n MSG_HANDSHAKE_SYN_ACK,\n MSG_HEARTBEAT,\n MSG_RESPONSE,\n RESPONSE_TIMEOUT_DEFAULT,\n createConnection,\n createConnectionMachine,\n createController,\n createListenLogic,\n createNode,\n createNodeMachine,\n createRequestMachine\n};\n//# sourceMappingURL=index.js.map\n","const rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, reKeySegment = /_key\\s*==\\s*['\"](.*)['\"]/, reIndexTuple = /^\\d*:\\d*$/;\nfunction isIndexSegment(segment) {\n return typeof segment == \"number\" || typeof segment == \"string\" && /^\\[\\d+\\]$/.test(segment);\n}\nfunction isKeySegment(segment) {\n return typeof segment == \"string\" ? reKeySegment.test(segment.trim()) : typeof segment == \"object\" && \"_key\" in segment;\n}\nfunction isIndexTuple(segment) {\n if (typeof segment == \"string\" && reIndexTuple.test(segment))\n return !0;\n if (!Array.isArray(segment) || segment.length !== 2)\n return !1;\n const [from, to] = segment;\n return (typeof from == \"number\" || from === \"\") && (typeof to == \"number\" || to === \"\");\n}\nfunction get(obj, path, defaultVal) {\n const select = typeof path == \"string\" ? fromString(path) : path;\n if (!Array.isArray(select))\n throw new Error(\"Path must be an array or a string\");\n let acc = obj;\n for (let i = 0; i < select.length; i++) {\n const segment = select[i];\n if (isIndexSegment(segment)) {\n if (!Array.isArray(acc))\n return defaultVal;\n acc = acc[segment];\n }\n if (isKeySegment(segment)) {\n if (!Array.isArray(acc))\n return defaultVal;\n acc = acc.find((item) => item._key === segment._key);\n }\n if (typeof segment == \"string\" && (acc = typeof acc == \"object\" && acc !== null ? acc[segment] : void 0), typeof acc > \"u\")\n return defaultVal;\n }\n return acc;\n}\nfunction toString(path) {\n if (!Array.isArray(path))\n throw new Error(\"Path is not an array\");\n return path.reduce((target, segment, i) => {\n const segmentType = typeof segment;\n if (segmentType === \"number\")\n return `${target}[${segment}]`;\n if (segmentType === \"string\")\n return `${target}${i === 0 ? \"\" : \".\"}${segment}`;\n if (isKeySegment(segment) && segment._key)\n return `${target}[_key==\"${segment._key}\"]`;\n if (Array.isArray(segment)) {\n const [from, to] = segment;\n return `${target}[${from}:${to}]`;\n }\n throw new Error(`Unsupported path segment \\`${JSON.stringify(segment)}\\``);\n }, \"\");\n}\nfunction fromString(path) {\n if (typeof path != \"string\")\n throw new Error(\"Path is not a string\");\n const segments = path.match(rePropName);\n if (!segments)\n throw new Error(\"Invalid path string\");\n return segments.map(parsePathSegment);\n}\nfunction parsePathSegment(segment) {\n return isIndexSegment(segment) ? parseIndexSegment(segment) : isKeySegment(segment) ? parseKeySegment(segment) : isIndexTuple(segment) ? parseIndexTupleSegment(segment) : segment;\n}\nfunction parseIndexSegment(segment) {\n return Number(segment.replace(/[^\\d]/g, \"\"));\n}\nfunction parseKeySegment(segment) {\n return { _key: segment.match(reKeySegment)[1] };\n}\nfunction parseIndexTupleSegment(segment) {\n const [from, to] = segment.split(\":\").map((seg) => seg === \"\" ? seg : Number(seg));\n return [from, to];\n}\nvar studioPath = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n fromString,\n get,\n isIndexSegment,\n isIndexTuple,\n isKeySegment,\n reKeySegment,\n toString\n});\nconst DRAFTS_PREFIX = \"drafts.\";\nfunction getPublishedId(id) {\n return id.startsWith(DRAFTS_PREFIX) ? id.slice(DRAFTS_PREFIX.length) : id;\n}\nconst ESCAPE = {\n \"\\f\": \"\\\\f\",\n \"\\n\": \"\\\\n\",\n \"\\r\": \"\\\\r\",\n \"\t\": \"\\\\t\",\n \"'\": \"\\\\'\",\n \"\\\\\": \"\\\\\\\\\"\n}, UNESCAPE = {\n \"\\\\f\": \"\\f\",\n \"\\\\n\": `\n`,\n \"\\\\r\": \"\\r\",\n \"\\\\t\": \"\t\",\n \"\\\\'\": \"'\",\n \"\\\\\\\\\": \"\\\\\"\n};\nfunction jsonPath(path) {\n return `$${path.map((segment) => typeof segment == \"string\" ? `['${segment.replace(/[\\f\\n\\r\\t'\\\\]/g, (match) => ESCAPE[match])}']` : typeof segment == \"number\" ? `[${segment}]` : segment._key !== \"\" ? `[?(@._key=='${segment._key.replace(/['\\\\]/g, (match) => ESCAPE[match])}')]` : `[${segment._index}]`).join(\"\")}`;\n}\nfunction parseJsonPath(path) {\n const parsed = [], parseRe = /\\['(.*?)'\\]|\\[(\\d+)\\]|\\[\\?\\(@\\._key=='(.*?)'\\)\\]/g;\n let match;\n for (; (match = parseRe.exec(path)) !== null; ) {\n if (match[1] !== void 0) {\n const key = match[1].replace(/\\\\(\\\\|f|n|r|t|')/g, (m) => UNESCAPE[m]);\n parsed.push(key);\n continue;\n }\n if (match[2] !== void 0) {\n parsed.push(parseInt(match[2], 10));\n continue;\n }\n if (match[3] !== void 0) {\n const _key = match[3].replace(/\\\\(\\\\')/g, (m) => UNESCAPE[m]);\n parsed.push({\n _key,\n _index: -1\n });\n continue;\n }\n }\n return parsed;\n}\nfunction jsonPathToStudioPath(path) {\n return path.map((segment) => {\n if (typeof segment == \"string\" || typeof segment == \"number\")\n return segment;\n if (segment._key !== \"\")\n return { _key: segment._key };\n if (segment._index !== -1)\n return segment._index;\n throw new Error(`invalid segment:${JSON.stringify(segment)}`);\n });\n}\nfunction studioPathToJsonPath(path) {\n return (typeof path == \"string\" ? fromString(path) : path).map((segment) => {\n if (typeof segment == \"string\" || typeof segment == \"number\")\n return segment;\n if (Array.isArray(segment))\n throw new Error(`IndexTuple segments aren't supported:${JSON.stringify(segment)}`);\n if (isContentSourceMapParsedPathKeyedSegment(segment))\n return segment;\n if (segment._key)\n return { _key: segment._key, _index: -1 };\n throw new Error(`invalid segment:${JSON.stringify(segment)}`);\n });\n}\nfunction isContentSourceMapParsedPathKeyedSegment(segment) {\n return typeof segment == \"object\" && \"_key\" in segment && \"_index\" in segment;\n}\nfunction jsonPathToMappingPath(path) {\n return path.map((segment) => {\n if (typeof segment == \"string\" || typeof segment == \"number\")\n return segment;\n if (segment._index !== -1)\n return segment._index;\n throw new Error(`invalid segment:${JSON.stringify(segment)}`);\n });\n}\nfunction resolveMapping(resultPath, csm) {\n if (!csm?.mappings)\n return;\n const resultMappingPath = jsonPath(jsonPathToMappingPath(resultPath));\n if (csm.mappings[resultMappingPath] !== void 0)\n return {\n mapping: csm.mappings[resultMappingPath],\n matchedPath: resultMappingPath,\n pathSuffix: \"\"\n };\n const mappings = Object.entries(csm.mappings).filter(([key]) => resultMappingPath.startsWith(key)).sort(([key1], [key2]) => key2.length - key1.length);\n if (mappings.length == 0)\n return;\n const [matchedPath, mapping] = mappings[0], pathSuffix = resultMappingPath.substring(matchedPath.length);\n return { mapping, matchedPath, pathSuffix };\n}\nfunction isArray(value) {\n return value !== null && Array.isArray(value);\n}\nfunction isRecord(value) {\n return typeof value == \"object\" && value !== null;\n}\nfunction walkMap(value, mappingFn, path = []) {\n if (isArray(value))\n return value.map((v, idx) => {\n if (isRecord(v)) {\n const _key = v._key;\n if (typeof _key == \"string\")\n return walkMap(v, mappingFn, path.concat({ _key, _index: idx }));\n }\n return walkMap(v, mappingFn, path.concat(idx));\n });\n if (isRecord(value)) {\n if (value._type === \"block\" || value._type === \"span\") {\n const result = { ...value };\n return value._type === \"block\" ? result.children = walkMap(value.children, mappingFn, path.concat(\"children\")) : value._type === \"span\" && (result.text = walkMap(value.text, mappingFn, path.concat(\"text\"))), result;\n }\n return Object.fromEntries(\n Object.entries(value).map(([k, v]) => [k, walkMap(v, mappingFn, path.concat(k))])\n );\n }\n return mappingFn(value, path);\n}\nfunction createEditUrl(options) {\n const {\n baseUrl,\n workspace: _workspace = \"default\",\n tool: _tool = \"default\",\n id: _id,\n type,\n path,\n projectId,\n dataset\n } = options;\n if (!baseUrl)\n throw new Error(\"baseUrl is required\");\n if (!path)\n throw new Error(\"path is required\");\n if (!_id)\n throw new Error(\"id is required\");\n if (baseUrl !== \"/\" && baseUrl.endsWith(\"/\"))\n throw new Error(\"baseUrl must not end with a slash\");\n const workspace = _workspace === \"default\" ? void 0 : _workspace, tool = _tool === \"default\" ? void 0 : _tool, id = getPublishedId(_id), stringifiedPath = Array.isArray(path) ? toString(jsonPathToStudioPath(path)) : path, searchParams = new URLSearchParams({\n baseUrl,\n id,\n type,\n path: stringifiedPath\n });\n workspace && searchParams.set(\"workspace\", workspace), tool && searchParams.set(\"tool\", tool), projectId && searchParams.set(\"projectId\", projectId), dataset && searchParams.set(\"dataset\", dataset), _id.startsWith(DRAFTS_PREFIX) && searchParams.set(\"isDraft\", \"\");\n const segments = [baseUrl === \"/\" ? \"\" : baseUrl];\n workspace && segments.push(workspace);\n const routerParams = [\n \"mode=presentation\",\n `id=${id}`,\n `type=${type}`,\n `path=${encodeURIComponent(stringifiedPath)}`\n ];\n return tool && routerParams.push(`tool=${tool}`), segments.push(\"intent\", \"edit\", `${routerParams.join(\";\")}?${searchParams}`), segments.join(\"/\");\n}\nfunction resolveEditInfo(options) {\n const { resultSourceMap: csm, resultPath } = options, { mapping, pathSuffix } = resolveMapping(resultPath, csm) || {};\n if (!mapping || mapping.source.type === \"literal\" || mapping.source.type === \"unknown\")\n return;\n const sourceDoc = csm.documents[mapping.source.document], sourcePath = csm.paths[mapping.source.path];\n if (sourceDoc && sourcePath) {\n const { baseUrl, workspace, tool } = resolveStudioBaseRoute(\n typeof options.studioUrl == \"function\" ? options.studioUrl(sourceDoc) : options.studioUrl\n );\n if (!baseUrl) return;\n const { _id, _type, _projectId, _dataset } = sourceDoc;\n return {\n baseUrl,\n workspace,\n tool,\n id: _id,\n type: _type,\n path: parseJsonPath(sourcePath + pathSuffix),\n projectId: _projectId,\n dataset: _dataset\n };\n }\n}\nfunction resolveStudioBaseRoute(studioUrl) {\n let baseUrl = typeof studioUrl == \"string\" ? studioUrl : studioUrl.baseUrl;\n return baseUrl !== \"/\" && (baseUrl = baseUrl.replace(/\\/$/, \"\")), typeof studioUrl == \"string\" ? { baseUrl } : { ...studioUrl, baseUrl };\n}\nexport {\n DRAFTS_PREFIX,\n createEditUrl,\n get,\n getPublishedId,\n jsonPath,\n jsonPathToStudioPath,\n parseJsonPath,\n reKeySegment,\n resolveEditInfo,\n resolveMapping,\n resolveStudioBaseRoute,\n studioPath,\n studioPathToJsonPath,\n toString,\n walkMap\n};\n//# sourceMappingURL=resolveEditInfo.js.map\n","import { urlSearchParamPreviewPathname, urlSearchParamPreviewSecret, urlSearchParamPreviewPerspective } from \"./constants.js\";\nfunction withoutSecretSearchParams(url) {\n const newUrl = new URL(url), { searchParams } = newUrl;\n return searchParams.delete(urlSearchParamPreviewPathname), searchParams.delete(urlSearchParamPreviewSecret), searchParams.delete(urlSearchParamPreviewPerspective), newUrl;\n}\nfunction hasSecretSearchParams(url) {\n return url.searchParams.has(urlSearchParamPreviewSecret);\n}\nfunction setSecretSearchParams(url, secret, redirectTo, perspective) {\n const newUrl = new URL(url), { searchParams } = newUrl;\n return searchParams.set(urlSearchParamPreviewSecret, secret), searchParams.set(urlSearchParamPreviewPathname, redirectTo), searchParams.set(urlSearchParamPreviewPerspective, perspective), newUrl;\n}\nexport {\n hasSecretSearchParams,\n setSecretSearchParams,\n withoutSecretSearchParams\n};\n//# sourceMappingURL=without-secret-search-params.js.map\n","function generateUrlSecret() {\n if (typeof crypto < \"u\") {\n const array = new Uint8Array(16);\n crypto.getRandomValues(array);\n let key = \"\";\n for (let i = 0; i < array.length; i++)\n key += array[i].toString(16).padStart(2, \"0\");\n return key = btoa(key).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/[=]+$/, \"\"), key;\n }\n return Math.random().toString(36).slice(2);\n}\nexport {\n generateUrlSecret\n};\n//# sourceMappingURL=generateSecret.js.map\n","import { apiVersion, schemaIdSingleton, schemaTypeSingleton, tag } from \"./constants.js\";\nimport { generateUrlSecret } from \"./_chunks-es/generateSecret.js\";\nasync function enablePreviewAccessSharing(_client, source, studioUrl, userId) {\n const client = _client.withConfig({ apiVersion }), newSecret = generateUrlSecret(), patch = client.patch(schemaIdSingleton).set({ secret: newSecret, studioUrl, userId });\n return await client.transaction().createIfNotExists({ _id: schemaIdSingleton, _type: schemaTypeSingleton, source, studioUrl, userId }).patch(patch).commit({ tag }), { secret: newSecret };\n}\nasync function disablePreviewAccessSharing(_client, source, studioUrl, userId) {\n const client = _client.withConfig({ apiVersion }), patch = client.patch(schemaIdSingleton).set({ secret: null, studioUrl, userId });\n await client.transaction().createIfNotExists({ _id: schemaIdSingleton, _type: schemaTypeSingleton, source, studioUrl, userId }).patch(patch).commit({ tag });\n}\nexport {\n disablePreviewAccessSharing,\n enablePreviewAccessSharing\n};\n//# sourceMappingURL=toggle-preview-access-sharing.js.map\n","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \".concat(i));\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \".concat(i));\n if (!pattern)\n throw new TypeError(\"Missing pattern at \".concat(i));\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a, _b = options.delimiter, delimiter = _b === void 0 ? \"/#?\" : _b;\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n var isSafe = function (value) {\n for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) {\n var char = delimiter_1[_i];\n if (value.indexOf(char) > -1)\n return true;\n }\n return false;\n };\n var safePattern = function (prefix) {\n var prev = result[result.length - 1];\n var prevText = prefix || (prev && typeof prev === \"string\" ? prev : \"\");\n if (prev && !prevText) {\n throw new TypeError(\"Must have text between two parameters, missing text after \\\"\".concat(prev.name, \"\\\"\"));\n }\n if (!prevText || isSafe(prevText))\n return \"[^\".concat(escapeString(delimiter), \"]+?\");\n return \"(?:(?!\".concat(escapeString(prevText), \")[^\").concat(escapeString(delimiter), \"])+?\");\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || safePattern(prefix),\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\".concat(token.pattern, \")$\"), reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not repeat, but got an array\"));\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not be empty\"));\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to be \").concat(typeOfMessage));\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n var endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n var delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n }\n else {\n route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n }\n }\n else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n throw new TypeError(\"Can not repeat \\\"\".concat(token.name, \"\\\" without a prefix and suffix\"));\n }\n route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n }\n }\n else {\n route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n }\n }\n }\n if (end) {\n if (!strict)\n route += \"\".concat(delimiterRe, \"?\");\n route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n if (!strict) {\n route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n }\n if (!isEndDelimited) {\n route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","import { uuid } from \"@sanity/uuid\";\nimport { apiVersion, SECRET_TTL, schemaType, tag, deleteExpiredSecretsQuery } from \"./constants.js\";\nimport { generateUrlSecret } from \"./_chunks-es/generateSecret.js\";\nasync function createPreviewSecret(_client, source, studioUrl, userId, id = uuid()) {\n const client = _client.withConfig({ apiVersion });\n try {\n const expiresAt = new Date(Date.now() + 1e3 * SECRET_TTL), _id = `drafts.${id}`, newSecret = generateUrlSecret(), patch = client.patch(_id).set({ secret: newSecret, source, studioUrl, userId });\n return await client.transaction().createOrReplace({ _id, _type: schemaType }).patch(patch).commit({ tag }), { secret: newSecret, expiresAt };\n } finally {\n try {\n await client.delete({ query: deleteExpiredSecretsQuery });\n } catch (err) {\n console.error(\"Failed to delete expired secrets\", err);\n }\n }\n}\nexport {\n createPreviewSecret\n};\n//# sourceMappingURL=create-secret.js.map\n","import { urlSearchParamPreviewSecret, urlSearchParamPreviewPerspective, urlSearchParamPreviewPathname } from \"./constants.js\";\nfunction definePreviewUrl(options) {\n const {\n draftMode,\n previewMode,\n origin = typeof location > \"u\" ? \"https://localhost\" : location.origin\n } = options, enableUrl = previewMode?.enable || draftMode?.enable;\n let { preview = \"/\" } = options;\n const productionUrl = new URL(preview, origin), enablePreviewModeUrl = enableUrl ? new URL(enableUrl, origin) : void 0;\n return async (context) => {\n try {\n if (context.previewSearchParam) {\n const restoredUrl = new URL(context.previewSearchParam, productionUrl);\n restoredUrl.origin === productionUrl.origin && (preview = `${restoredUrl.pathname}${restoredUrl.search}`);\n }\n } catch {\n }\n typeof location < \"u\" && location.origin === productionUrl.origin && context.studioBasePath && (preview.startsWith(`${context.studioBasePath}/`) || preview === context.studioBasePath) && (preview = options.preview || \"/\");\n const previewUrl = new URL(preview, productionUrl);\n if (enablePreviewModeUrl) {\n const enablePreviewModeRequestUrl = new URL(enablePreviewModeUrl), { searchParams } = enablePreviewModeRequestUrl;\n return searchParams.set(urlSearchParamPreviewSecret, context.previewUrlSecret), searchParams.set(urlSearchParamPreviewPerspective, context.studioPreviewPerspective), previewUrl.pathname !== enablePreviewModeRequestUrl.pathname && searchParams.set(\n urlSearchParamPreviewPathname,\n `${previewUrl.pathname}${previewUrl.search}`\n ), enablePreviewModeRequestUrl.toString();\n }\n return previewUrl.toString();\n };\n}\nexport {\n definePreviewUrl\n};\n//# sourceMappingURL=define-preview-url.js.map\n","const isPromise = promise => typeof promise === 'object' && typeof promise.then === 'function';\n\nconst globalCache = [];\n\nfunction shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {\n if (arrA === arrB) return true;\n if (!arrA || !arrB) return false;\n const len = arrA.length;\n if (arrB.length !== len) return false;\n\n for (let i = 0; i < len; i++) if (!equal(arrA[i], arrB[i])) return false;\n\n return true;\n}\n\nfunction query(fn, keys = null, preload = false, config = {}) {\n // If no keys were given, the function is the key\n if (keys === null) keys = [fn];\n\n for (const entry of globalCache) {\n // Find a match\n if (shallowEqualArrays(keys, entry.keys, entry.equal)) {\n // If we're pre-loading and the element is present, just return\n if (preload) return undefined; // If an error occurred, throw\n\n if (Object.prototype.hasOwnProperty.call(entry, 'error')) throw entry.error; // If a response was successful, return\n\n if (Object.prototype.hasOwnProperty.call(entry, 'response')) {\n if (config.lifespan && config.lifespan > 0) {\n if (entry.timeout) clearTimeout(entry.timeout);\n entry.timeout = setTimeout(entry.remove, config.lifespan);\n }\n\n return entry.response;\n } // If the promise is still unresolved, throw\n\n\n if (!preload) throw entry.promise;\n }\n } // The request is new or has changed.\n\n\n const entry = {\n keys,\n equal: config.equal,\n remove: () => {\n const index = globalCache.indexOf(entry);\n if (index !== -1) globalCache.splice(index, 1);\n },\n promise: // Execute the promise\n (isPromise(fn) ? fn : fn(...keys) // When it resolves, store its value\n ).then(response => {\n entry.response = response; // Remove the entry in time if a lifespan was given\n\n if (config.lifespan && config.lifespan > 0) {\n entry.timeout = setTimeout(entry.remove, config.lifespan);\n }\n }) // Store caught errors, they will be thrown in the render-phase to bubble into an error-bound\n .catch(error => entry.error = error)\n }; // Register the entry\n\n globalCache.push(entry); // And throw the promise, this yields control back to React\n\n if (!preload) throw entry.promise;\n return undefined;\n}\n\nconst suspend = (fn, keys, config) => query(fn, keys, false, config);\n\nconst preload = (fn, keys, config) => void query(fn, keys, true, config);\n\nconst peek = keys => {\n var _globalCache$find;\n\n return (_globalCache$find = globalCache.find(entry => shallowEqualArrays(keys, entry.keys, entry.equal))) == null ? void 0 : _globalCache$find.response;\n};\n\nconst clear = keys => {\n if (keys === undefined || keys.length === 0) globalCache.splice(0, globalCache.length);else {\n const entry = globalCache.find(entry => shallowEqualArrays(keys, entry.keys, entry.equal));\n if (entry) entry.remove();\n }\n};\n\nexport { clear, peek, preload, suspend };\n","import { jsx, jsxs, Fragment } from \"react/jsx-runtime\";\nimport { c } from \"react-compiler-runtime\";\nimport { fetchSharedAccessQuery, schemaIdSingleton, schemaTypeSingleton, schemaType } from \"@sanity/preview-url-secret/constants\";\nimport { Button, Text, Stack, Inline, Box, Flex, Container as Container$1, Card, Code, Label, ErrorBoundary, Tooltip, TextInput, Spinner, useToast, MenuButton, Menu, Grid, Switch, MenuDivider, MenuItem, Hotkeys, usePrefersReducedMotion, TooltipDelayGroupProvider, BoundaryElementProvider } from \"@sanity/ui\";\nimport { uuid } from \"@sanity/uuid\";\nimport { useRef, useEffect, createContext, useContext, useLayoutEffect, useState, forwardRef, Suspense, memo, useId, lazy, useMemo, useCallback, createElement, useImperativeHandle, useSyncExternalStore, startTransition, useReducer } from \"react\";\nimport { useTranslation, useUnique, getPublishedId, useDocumentPreviewStore, getPreviewStateObservable, useSchema, getPreviewValueWithFallback, SanityDefaultPreview, PreviewCard, Translate, CommentsIntentProvider, useActiveWorkspace, useClient, useCurrentUser, usePerspective, useProjectId, useDataset, useWorkspace, useGrantsStore } from \"sanity\";\nimport { optional, object, pipe, minLength, string, record, unknown, SharedStateContext, presentationLocaleNamespace, usePresentationTool, PresentationSpinner, PresentationNavigateContext, PresentationParamsContext, PresentationContext, API_VERSION, ACTION_IFRAME_RELOAD, MAX_TIME_TO_OVERLAYS_CONNECTION, ACTION_IFRAME_LOADED, POPUP_CHECK_INTERVAL, presentationReducer, presentationReducerInit, ACTION_VISUAL_EDITING_OVERLAYS_TOGGLE, ACTION_IFRAME_REFRESH, COMMENTS_INSPECTOR_NAME, EDIT_INTENT_MODE, DEFAULT_TOOL_NAME } from \"./index.js\";\nimport { createListenLogic, createRequestMachine, DOMAIN, MSG_HANDSHAKE_SYN, MSG_HANDSHAKE_SYN_ACK, MSG_HANDSHAKE_ACK, MSG_RESPONSE, MSG_HEARTBEAT, MSG_DISCONNECT, createController, createConnectionMachine } from \"@sanity/comlink\";\nimport { studioPath } from \"@sanity/client/csm\";\nimport { StateLink, useRouter, decodeJsonParams } from \"sanity/router\";\nimport { styled } from \"styled-components\";\nimport { useEffectEvent } from \"use-effect-event\";\nimport { WarningOutlineIcon, LaunchIcon, ResetIcon, ShareIcon, CopyIcon, PanelLeftIcon, RefreshIcon, MobileDeviceIcon, DesktopIcon } from \"@sanity/icons\";\nimport { PaneRouterContext, PaneLayout, DocumentListPane as DocumentListPane$1, StructureToolProvider, DocumentPane as DocumentPane$1 } from \"sanity/structure\";\nimport { DisplayedDocumentBroadcasterProvider } from \"./DisplayedDocumentBroadcaster.js\";\nimport { motion, AnimatePresence, MotionConfig } from \"framer-motion\";\nimport { flushSync } from \"react-dom\";\nimport { setSecretSearchParams, withoutSecretSearchParams } from \"@sanity/preview-url-secret/without-secret-search-params\";\nimport { SanityMonogram } from \"@sanity/logos\";\nimport { disablePreviewAccessSharing, enablePreviewAccessSharing } from \"@sanity/preview-url-secret/toggle-preview-access-sharing\";\nimport { validateApiPerspective } from \"@sanity/client\";\nimport isEqual from \"fast-deep-equal\";\nimport { match } from \"path-to-regexp\";\nimport { createPreviewSecret } from \"@sanity/preview-url-secret/create-secret\";\nimport { definePreviewUrl } from \"@sanity/preview-url-secret/define-preview-url\";\nimport { suspend } from \"suspend-react\";\nconst RE_SEGMENT_WITH_INDEX = /^([\\w-]+):(0|[1-9][0-9]*)$/, RE_SEGMENT_WITH_TUPLE = /^([\\w-]+):([0-9]+),([0-9]+)$/, RE_SEGMENT_WITH_KEY = /^([\\w-]+):([\\w-]+)$/;\nfunction urlStringToPath(str) {\n const path = [];\n for (const segment of str.split(\".\")) {\n const withIndex = RE_SEGMENT_WITH_INDEX.exec(segment);\n if (withIndex) {\n path.push(withIndex[1], Number(withIndex[2]));\n continue;\n }\n const withTuple = RE_SEGMENT_WITH_TUPLE.exec(segment);\n if (withTuple) {\n path.push(withTuple[1], [Number(withTuple[2]), Number(withTuple[3])]);\n continue;\n }\n const withKey = RE_SEGMENT_WITH_KEY.exec(segment);\n if (withKey) {\n path.push(withKey[1], {\n _key: withKey[2]\n });\n continue;\n }\n path.push(segment);\n }\n return path;\n}\nconst lengthyStr = pipe(string(), minLength(1)), optionalLengthyStr = optional(lengthyStr);\nobject({\n baseUrl: lengthyStr,\n dataset: optionalLengthyStr,\n id: lengthyStr,\n path: lengthyStr,\n projectId: optionalLengthyStr,\n tool: optionalLengthyStr,\n type: optionalLengthyStr,\n workspace: optionalLengthyStr,\n isDraft: optional(string())\n});\nobject({\n origin: lengthyStr,\n href: lengthyStr,\n data: optional(record(string(), unknown()))\n});\nconst channelsToComlinkMap = {\n \"handshake/syn\": MSG_HANDSHAKE_SYN,\n \"handshake/syn-ack\": MSG_HANDSHAKE_SYN_ACK,\n \"handshake/ack\": MSG_HANDSHAKE_ACK,\n \"channel/response\": MSG_RESPONSE,\n \"channel/heartbeat\": MSG_HEARTBEAT,\n \"channel/disconnect\": MSG_DISCONNECT,\n \"overlay/focus\": \"visual-editing/focus\",\n \"overlay/navigate\": \"visual-editing/navigate\",\n \"overlay/toggle\": \"visual-editing/toggle\",\n \"presentation/toggleOverlay\": \"presentation/toggle-overlay\"\n}, comlinkToChannelsMap = {\n [MSG_HANDSHAKE_SYN]: \"handshake/syn\",\n [MSG_HANDSHAKE_SYN_ACK]: \"handshake/syn-ack\",\n [MSG_HANDSHAKE_ACK]: \"handshake/ack\",\n [MSG_RESPONSE]: \"channel/response\",\n [MSG_HEARTBEAT]: \"channel/heartbeat\",\n [MSG_DISCONNECT]: \"channel/disconnect\",\n \"visual-editing/focus\": \"overlay/focus\",\n \"visual-editing/navigate\": \"overlay/navigate\",\n \"visual-editing/toggle\": \"overlay/toggle\",\n \"presentation/toggle-overlay\": \"presentation/toggleOverlay\"\n}, convertToComlinkEvent = (event) => {\n const {\n data\n } = event;\n return data && typeof data == \"object\" && \"domain\" in data && \"type\" in data && \"from\" in data && \"to\" in data && (data.domain === \"sanity/channels\" && (data.domain = DOMAIN), data.to === \"overlays\" && (data.to = \"visual-editing\"), data.from === \"overlays\" && (data.from = \"visual-editing\"), data.channelId = data.connectionId, delete data.connectionId, data.type = channelsToComlinkMap[data.type] ?? data.type), event;\n}, convertToChannelsMessage = (comlinkMessage) => {\n const {\n channelId,\n ...rest\n } = comlinkMessage, message = {\n ...rest,\n connectionId: channelId\n };\n return message.domain === DOMAIN && (message.domain = \"sanity/channels\"), message.to === \"visual-editing\" && (message.to = \"overlays\"), message.from === \"visual-editing\" && (message.from = \"overlays\"), message.type = comlinkToChannelsMap[message.type] ?? message.type, message.type === \"channel/response\" && message.responseTo && !message.data && (message.data = {\n responseTo: message.responseTo\n }), (message.type === \"handshake/syn\" || message.type === \"handshake/syn-ack\" || message.type === \"handshake/ack\") && (message.data = {\n id: message.connectionId\n }), message;\n}, sendAsChannelsMessage = ({\n context\n}, params) => {\n const {\n sources,\n targetOrigin\n } = context, message = convertToChannelsMessage(params.message);\n sources.forEach((source) => {\n source.postMessage(message, {\n targetOrigin\n });\n });\n}, createCompatibilityActors = () => ({\n listen: createListenLogic(convertToComlinkEvent),\n requestMachine: createRequestMachine().provide({\n actions: {\n \"send message\": sendAsChannelsMessage\n }\n })\n});\nfunction getQueryCacheKey(query, params) {\n return `${query}-${typeof params == \"string\" ? params : JSON.stringify(params)}`;\n}\nconst IS_MAC = typeof window < \"u\" && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform), MODIFIERS = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n mod: IS_MAC ? \"metaKey\" : \"ctrlKey\",\n shift: \"shiftKey\"\n};\nfunction isHotkey(keys, event) {\n return keys.every((key) => MODIFIERS[key] ? event[MODIFIERS[key]] : event.key === key.toUpperCase());\n}\nfunction isAltKey(event) {\n return event.key === \"Alt\";\n}\nfunction debounce(fn, timeout) {\n let timer;\n return (...args) => {\n clearTimeout(timer), timer = setTimeout(() => {\n fn.apply(fn, args);\n }, timeout);\n };\n}\nconst SharedStateProvider = function(props) {\n const $ = c(14), {\n comlink,\n children\n } = props;\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = {}, $[0] = t0) : t0 = $[0];\n const sharedState = useRef(t0);\n let t1, t2;\n $[1] !== comlink ? (t1 = () => comlink?.on(\"visual-editing/shared-state\", () => ({\n state: sharedState.current\n })), t2 = [comlink], $[1] = comlink, $[2] = t1, $[3] = t2) : (t1 = $[2], t2 = $[3]), useEffect(t1, t2);\n let t3;\n $[4] !== comlink ? (t3 = (key, value) => {\n sharedState.current[key] = value, comlink?.post(\"presentation/shared-state\", {\n key,\n value\n });\n }, $[4] = comlink, $[5] = t3) : t3 = $[5];\n const setValue = t3;\n let t4;\n $[6] !== comlink ? (t4 = (key_0) => {\n comlink?.post(\"presentation/shared-state\", {\n key: key_0\n }), delete sharedState.current[key_0];\n }, $[6] = comlink, $[7] = t4) : t4 = $[7];\n const removeValue = t4;\n let t5, t6;\n $[8] !== removeValue || $[9] !== setValue ? (t6 = {\n removeValue,\n setValue\n }, $[8] = removeValue, $[9] = setValue, $[10] = t6) : t6 = $[10], t5 = t6;\n const context = t5;\n let t7;\n return $[11] !== children || $[12] !== context ? (t7 = /* @__PURE__ */ jsx(SharedStateContext.Provider, { value: context, children }), $[11] = children, $[12] = context, $[13] = t7) : t7 = $[13], t7;\n}, PanelsContext = createContext(null);\nPanelsContext.displayName = \"PanelsContext\";\nconst Root$1 = styled.div`\n overflow: hidden;\n flex-basis: 0;\n flex-shrink: 1;\n`, Panel = function(t0) {\n const $ = c(15), {\n children,\n defaultSize: t1,\n id,\n minWidth,\n maxWidth,\n order: t2\n } = t0, defaultSize = t1 === void 0 ? null : t1, order = t2 === void 0 ? 0 : t2, context = useContext(PanelsContext);\n if (context === null)\n throw Error(\"Panel components must be rendered within a PanelGroup container\");\n const {\n getPanelStyle,\n registerElement,\n unregisterElement\n } = context;\n let t3;\n $[0] !== getPanelStyle || $[1] !== id ? (t3 = getPanelStyle(id), $[0] = getPanelStyle, $[1] = id, $[2] = t3) : t3 = $[2];\n const style = t3;\n let t4, t5;\n $[3] !== defaultSize || $[4] !== id || $[5] !== maxWidth || $[6] !== minWidth || $[7] !== order || $[8] !== registerElement || $[9] !== unregisterElement ? (t4 = () => (registerElement(id, {\n id,\n type: \"panel\",\n defaultSize,\n maxWidth: maxWidth ?? null,\n minWidth: minWidth ?? 0,\n order\n }), () => {\n unregisterElement(id);\n }), t5 = [id, defaultSize, order, maxWidth, minWidth, registerElement, unregisterElement], $[3] = defaultSize, $[4] = id, $[5] = maxWidth, $[6] = minWidth, $[7] = order, $[8] = registerElement, $[9] = unregisterElement, $[10] = t4, $[11] = t5) : (t4 = $[10], t5 = $[11]), useLayoutEffect(t4, t5);\n let t6;\n return $[12] !== children || $[13] !== style ? (t6 = /* @__PURE__ */ jsx(Root$1, { style, children }), $[12] = children, $[13] = style, $[14] = t6) : t6 = $[14], t6;\n}, itemKey = \"presentation/panels\", getStoredItem = () => JSON.parse(localStorage.getItem(itemKey) || \"{}\"), setStoredItem = (data) => {\n localStorage.setItem(itemKey, JSON.stringify(data));\n}, getKeyForPanels = (panels) => panels.map((panel) => [panel.id, panel.order].join(\":\")).join(\",\");\nfunction usePanelsStorage() {\n const $ = c(1);\n let t0;\n const get = _temp2$4, set = _temp3$2;\n let t1;\n if ($[0] === Symbol.for(\"react.memo_cache_sentinel\")) {\n const setDebounced = debounce(set, 100);\n t1 = {\n get,\n set,\n setDebounced\n }, $[0] = t1;\n } else\n t1 = $[0];\n return t0 = t1, t0;\n}\nfunction _temp3$2(panels_0, widths) {\n const stored_0 = getStoredItem(), key_0 = getKeyForPanels(panels_0), data = {\n ...stored_0,\n [key_0]: widths\n };\n setStoredItem(data);\n}\nfunction _temp2$4(panels) {\n const stored = getStoredItem(), key = getKeyForPanels(panels);\n return Array.isArray(stored[key]) && stored[key].some(_temp$7) ? void 0 : stored[key];\n}\nfunction _temp$7(val) {\n return val === null;\n}\nfunction getNextWidth(panel, nextWidth, containerWidth) {\n const {\n maxWidth: maxWidthPx,\n minWidth: minWidthPx\n } = panel, maxWidth = maxWidthPx == null ? 100 : maxWidthPx / containerWidth * 100, minWidth = minWidthPx / containerWidth * 100;\n return Math.min(maxWidth, Math.max(minWidth, nextWidth));\n}\nfunction getNextWidths(delta, containerWidth, panelBefore, panelAfter, panelsState, initialDragState) {\n const {\n panels,\n widths: prevWidths\n } = panelsState, {\n widths: initialWidths\n } = initialDragState, widths = initialWidths || prevWidths, nextWidths = [...widths];\n {\n const pivotPanel2 = delta < 0 ? panelAfter : panelBefore, index2 = panels.findIndex((panel) => panel.id === pivotPanel2.id), width = widths[index2], nextWidth = getNextWidth(pivotPanel2, width + Math.abs(delta), containerWidth);\n if (width === nextWidth)\n return widths;\n delta = delta < 0 ? width - nextWidth : nextWidth - width;\n }\n let deltaApplied = 0, pivotPanel = delta < 0 ? panelBefore : panelAfter, index = panels.findIndex((panel) => panel.id === pivotPanel.id);\n for (; ; ) {\n const panel = panels[index], width = widths[index], deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied), nextWidth = getNextWidth(panel, width - deltaRemaining, containerWidth);\n if (width !== nextWidth && (deltaApplied += width - nextWidth, nextWidths[index] = nextWidth, deltaApplied.toPrecision(10).localeCompare(Math.abs(delta).toPrecision(10), void 0, {\n numeric: !0\n }) >= 0))\n break;\n if (delta < 0) {\n if (--index < 0)\n break;\n } else if (++index >= panels.length)\n break;\n }\n return deltaApplied === 0 ? widths : (pivotPanel = delta < 0 ? panelAfter : panelBefore, index = panels.findIndex((panel) => panel.id === pivotPanel.id), nextWidths[index] = widths[index] + deltaApplied, nextWidths);\n}\nfunction getPanelWidth(panels, id, widths) {\n if (panels.length === 1) return \"100\";\n const index = panels.findIndex((panel) => panel.id === id), width = widths[index];\n return width == null ? \"0\" : width.toPrecision(10);\n}\nfunction getOffset(event, handleElement, initialOffset = 0, initialHandleElementRect = null) {\n const pointerOffset = event.clientX, elementOffset = (initialHandleElementRect || handleElement.getBoundingClientRect()).left;\n return pointerOffset - elementOffset - initialOffset;\n}\nfunction isPanel(element) {\n return element.type === \"panel\";\n}\nfunction isResizer(element) {\n return element.type === \"resizer\";\n}\nfunction getSortedElements(elements) {\n return Array.from(elements.values()).sort(({\n order: a\n }, {\n order: b\n }) => a == null && b == null ? 0 : a == null ? -1 : b == null ? 1 : a - b);\n}\nfunction validateWidths(panels, widthsToValidate, containerWidth) {\n const total = widthsToValidate.reduce((total2, width) => total2 + width, 0), widths = [...widthsToValidate].map((width) => width / total * 100);\n let remainingWidth = 0;\n for (let index = 0; index < panels.length; index++) {\n const panel = panels[index], width = widths[index], nextWidth = getNextWidth(panel, width, containerWidth);\n width != nextWidth && (remainingWidth += width - nextWidth, widths[index] = nextWidth);\n }\n if (remainingWidth.toFixed(3) !== \"0.000\")\n for (let index = 0; index < panels.length; index++) {\n const panel = panels[index];\n let {\n maxWidth,\n minWidth\n } = panel;\n minWidth = minWidth / containerWidth * 100, maxWidth != null && (maxWidth = maxWidth / containerWidth * 100);\n const width = Math.min(maxWidth ?? 100, Math.max(minWidth, widths[index] + remainingWidth));\n if (width !== widths[index] && (remainingWidth -= width - widths[index], widths[index] = width, Math.abs(remainingWidth).toFixed(3) === \"0.000\"))\n break;\n }\n return widths;\n}\nfunction getDefaultWidths(panels) {\n let panelsWithoutWidth = panels.length, remainingWidthTotal = 100;\n const widthsWithNulls = panels.map((panel) => panel.defaultSize ? (remainingWidthTotal = remainingWidthTotal - panel.defaultSize, panelsWithoutWidth = panelsWithoutWidth - 1, panel.defaultSize) : null), defaultWidth = remainingWidthTotal / panelsWithoutWidth;\n return widthsWithNulls.map((width) => width === null ? defaultWidth : width);\n}\nconst PanelsWrapper = styled.div`\n display: flex;\n flex-direction: row;\n height: 100%;\n overflow: hidden;\n width: 100%;\n`, Panels = function(t0) {\n const $ = c(46), {\n children\n } = t0, panelsEl = useRef(null);\n let t1;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t1 = /* @__PURE__ */ new Map(), $[0] = t1) : t1 = $[0];\n const [elements, setElements] = useState(t1);\n let t2, t3;\n $[1] !== elements ? (t3 = getSortedElements(elements).filter(isPanel), $[1] = elements, $[2] = t3) : t3 = $[2], t2 = t3;\n const panels = t2;\n let t4;\n $[3] === Symbol.for(\"react.memo_cache_sentinel\") ? (t4 = [], $[3] = t4) : t4 = $[3];\n const [widths, setWidths] = useState(t4), [activeResizer, setActiveResizer] = useState(null);\n let t5;\n $[4] !== elements || $[5] !== panels || $[6] !== widths ? (t5 = {\n elements,\n panels,\n widths\n }, $[4] = elements, $[5] = panels, $[6] = widths, $[7] = t5) : t5 = $[7];\n const panelsRef = useRef(t5);\n let t6;\n $[8] !== activeResizer || $[9] !== panels || $[10] !== widths ? (t6 = (id) => ({\n flexGrow: getPanelWidth(panels, id, widths),\n pointerEvents: activeResizer === null ? void 0 : \"none\"\n }), $[8] = activeResizer, $[9] = panels, $[10] = widths, $[11] = t6) : t6 = $[11];\n const getPanelStyle = t6;\n let t7;\n $[12] === Symbol.for(\"react.memo_cache_sentinel\") ? (t7 = (id_0, data) => {\n setElements((prev) => {\n if (prev.has(id_0))\n return prev;\n const next = new Map(prev);\n return next.set(id_0, data), next;\n });\n }, $[12] = t7) : t7 = $[12];\n const registerElement = t7;\n let t8;\n $[13] === Symbol.for(\"react.memo_cache_sentinel\") ? (t8 = (id_1) => {\n setElements((prev_0) => {\n if (!prev_0.has(id_1))\n return prev_0;\n const next_0 = new Map(prev_0);\n return next_0.delete(id_1), next_0;\n });\n }, $[13] = t8) : t8 = $[13];\n const unregisterElement = t8;\n let t9;\n $[14] === Symbol.for(\"react.memo_cache_sentinel\") ? (t9 = {\n containerWidth: window.innerWidth,\n dragOffset: 0,\n panelAfter: null,\n panelBefore: null,\n resizerIndex: -1,\n resizerRect: null,\n startX: 0,\n widths: []\n }, $[14] = t9) : t9 = $[14];\n const dragRef = useRef(t9);\n let t10;\n $[15] !== elements ? (t10 = (id_2, event) => {\n const elementsArr = getSortedElements(elements), index = elementsArr.findIndex((el) => el.id === id_2), resizer = elements.get(id_2);\n if (!resizer || !isResizer(resizer))\n return;\n const resizeElement = resizer.el.current;\n resizeElement && (dragRef.current = {\n resizerIndex: index,\n panelBefore: elementsArr.reduce((acc, el_0, i) => isPanel(el_0) && i < index ? el_0 : acc, null),\n panelAfter: elementsArr.reduce((acc_0, el_1, i_0) => acc_0 === null && isPanel(el_1) && i_0 > index ? el_1 : acc_0, null),\n containerWidth: window.innerWidth,\n startX: event.pageX,\n dragOffset: getOffset(event, resizeElement),\n resizerRect: resizeElement.getBoundingClientRect(),\n widths: panelsRef.current.widths\n }, setActiveResizer(id_2));\n }, $[15] = elements, $[16] = t10) : t10 = $[16];\n const startDragging = t10;\n let t11;\n $[17] === Symbol.for(\"react.memo_cache_sentinel\") ? (t11 = () => {\n setActiveResizer(null);\n }, $[17] = t11) : t11 = $[17];\n const stopDragging = t11;\n let t12;\n $[18] !== elements ? (t12 = (id_3, event_0) => {\n event_0.preventDefault(), event_0.stopPropagation();\n const {\n containerWidth,\n dragOffset,\n panelBefore,\n panelAfter,\n resizerRect\n } = dragRef.current;\n if (panelBefore == null || panelAfter == null)\n return;\n const resizer_0 = elements.get(id_3);\n if (!resizer_0 || !isResizer(resizer_0))\n return;\n const resizeElement_0 = resizer_0.el.current;\n if (!resizeElement_0)\n return;\n const offset = getOffset(event_0, resizeElement_0, dragOffset, resizerRect);\n if (offset === 0)\n return;\n const {\n widths: prevWidths\n } = panelsRef.current, rect = panelsEl.current.getBoundingClientRect(), delta = offset / rect.width * 100, nextWidths = getNextWidths(delta, containerWidth, panelBefore, panelAfter, panelsRef.current, dragRef.current);\n prevWidths.some((prevWidth, i_1) => prevWidth !== nextWidths[i_1]) && setWidths(nextWidths);\n }, $[18] = elements, $[19] = t12) : t12 = $[19];\n const drag = t12;\n let t13, t14;\n $[20] !== elements || $[21] !== panels || $[22] !== widths ? (t13 = () => {\n panelsRef.current.elements = elements, panelsRef.current.panels = panels, panelsRef.current.widths = widths;\n }, t14 = [elements, panels, widths], $[20] = elements, $[21] = panels, $[22] = widths, $[23] = t13, $[24] = t14) : (t13 = $[23], t14 = $[24]), useLayoutEffect(t13, t14);\n const storage = usePanelsStorage();\n let t15, t16;\n $[25] !== panels || $[26] !== storage ? (t15 = () => {\n const {\n widths: widths_0\n } = panelsRef.current;\n if (widths_0.length === panels.length)\n return;\n const storedWidths = storage.get(panels);\n if (storedWidths) {\n const validatedStoredWidths = validateWidths(panels, storedWidths, window.innerWidth);\n setWidths(validatedStoredWidths);\n return;\n }\n const defaultWidths = getDefaultWidths(panels);\n setWidths(defaultWidths);\n }, t16 = [storage, panels], $[25] = panels, $[26] = storage, $[27] = t15, $[28] = t16) : (t15 = $[27], t16 = $[28]), useLayoutEffect(t15, t16);\n let t17, t18;\n $[29] !== panels || $[30] !== storage || $[31] !== widths ? (t17 = () => {\n widths.length && storage.setDebounced(panels, widths);\n }, t18 = [storage, panels, widths], $[29] = panels, $[30] = storage, $[31] = widths, $[32] = t17, $[33] = t18) : (t17 = $[32], t18 = $[33]), useEffect(t17, t18);\n let t19, t20;\n $[34] === Symbol.for(\"react.memo_cache_sentinel\") ? (t19 = () => {\n const resizeObserver = new ResizeObserver(() => {\n const {\n panels: panels_0,\n widths: prevWidths_0\n } = panelsRef.current, nextWidths_0 = validateWidths(panels_0, prevWidths_0, window.innerWidth);\n prevWidths_0.some((prevWidth_0, i_2) => prevWidth_0 !== nextWidths_0[i_2]) && setWidths(nextWidths_0);\n });\n return resizeObserver.observe(panelsEl.current), () => {\n resizeObserver.disconnect();\n };\n }, t20 = [], $[34] = t19, $[35] = t20) : (t19 = $[34], t20 = $[35]), useLayoutEffect(t19, t20);\n let t21, t22;\n $[36] !== activeResizer || $[37] !== drag || $[38] !== getPanelStyle || $[39] !== startDragging ? (t22 = {\n activeResizer,\n drag,\n getPanelStyle,\n registerElement,\n startDragging,\n stopDragging,\n unregisterElement\n }, $[36] = activeResizer, $[37] = drag, $[38] = getPanelStyle, $[39] = startDragging, $[40] = t22) : t22 = $[40], t21 = t22;\n const context = t21;\n let t23;\n $[41] !== children ? (t23 = /* @__PURE__ */ jsx(PanelsWrapper, { ref: panelsEl, children }), $[41] = children, $[42] = t23) : t23 = $[42];\n let t24;\n return $[43] !== context || $[44] !== t23 ? (t24 = /* @__PURE__ */ jsx(PanelsContext.Provider, { value: context, children: t23 }), $[43] = context, $[44] = t23, $[45] = t24) : t24 = $[45], t24;\n};\nfunction ErrorCard(props) {\n const $ = c(37);\n let children, message, onContinueAnyway, onRetry, restProps;\n $[0] !== props ? ({\n children,\n message,\n onRetry,\n onContinueAnyway,\n ...restProps\n } = props, $[0] = props, $[1] = children, $[2] = message, $[3] = onContinueAnyway, $[4] = onRetry, $[5] = restProps) : (children = $[1], message = $[2], onContinueAnyway = $[3], onRetry = $[4], restProps = $[5]);\n const {\n t\n } = useTranslation(presentationLocaleNamespace);\n let t0;\n $[6] !== t ? (t0 = t(\"error-card.retry-button.text\"), $[6] = t, $[7] = t0) : t0 = $[7];\n let t1;\n $[8] !== onRetry || $[9] !== t0 ? (t1 = /* @__PURE__ */ jsx(Button, { fontSize: 1, mode: \"ghost\", onClick: onRetry, text: t0 }), $[8] = onRetry, $[9] = t0, $[10] = t1) : t1 = $[10];\n const retryButton = t1;\n let t2;\n $[11] !== t ? (t2 = t(\"error-card.continue-button.text\"), $[11] = t, $[12] = t2) : t2 = $[12];\n let t3;\n $[13] !== onContinueAnyway || $[14] !== t2 ? (t3 = /* @__PURE__ */ jsx(Button, { fontSize: 1, mode: \"ghost\", tone: \"critical\", onClick: onContinueAnyway, text: t2 }), $[13] = onContinueAnyway, $[14] = t2, $[15] = t3) : t3 = $[15];\n const continueAnywayButton = t3;\n let t4;\n $[16] !== t ? (t4 = t(\"error-card.title\"), $[16] = t, $[17] = t4) : t4 = $[17];\n let t5;\n $[18] !== t4 ? (t5 = /* @__PURE__ */ jsx(Text, { size: 1, weight: \"semibold\", children: t4 }), $[18] = t4, $[19] = t5) : t5 = $[19];\n let t6;\n $[20] !== message ? (t6 = /* @__PURE__ */ jsx(Text, { muted: !0, size: 1, children: message }), $[20] = message, $[21] = t6) : t6 = $[21];\n let t7;\n $[22] !== t5 || $[23] !== t6 ? (t7 = /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n t5,\n t6\n ] }), $[22] = t5, $[23] = t6, $[24] = t7) : t7 = $[24];\n let t8;\n $[25] !== continueAnywayButton || $[26] !== onContinueAnyway || $[27] !== onRetry || $[28] !== retryButton ? (t8 = onRetry && onContinueAnyway ? /* @__PURE__ */ jsxs(Inline, { space: 2, children: [\n retryButton,\n continueAnywayButton\n ] }) : onRetry ? /* @__PURE__ */ jsx(Box, { children: retryButton }) : onContinueAnyway ? /* @__PURE__ */ jsx(Box, { children: continueAnywayButton }) : null, $[25] = continueAnywayButton, $[26] = onContinueAnyway, $[27] = onRetry, $[28] = retryButton, $[29] = t8) : t8 = $[29];\n let t9;\n $[30] !== children || $[31] !== t7 || $[32] !== t8 ? (t9 = /* @__PURE__ */ jsx(Flex, { align: \"center\", height: \"fill\", justify: \"center\", children: /* @__PURE__ */ jsx(Container$1, { padding: 4, sizing: \"border\", width: 0, children: /* @__PURE__ */ jsxs(Stack, { space: 4, children: [\n t7,\n children,\n t8\n ] }) }) }), $[30] = children, $[31] = t7, $[32] = t8, $[33] = t9) : t9 = $[33];\n let t10;\n return $[34] !== restProps || $[35] !== t9 ? (t10 = /* @__PURE__ */ jsx(Card, { height: \"fill\", ...restProps, children: t9 }), $[34] = restProps, $[35] = t9, $[36] = t10) : t10 = $[36], t10;\n}\nfunction encodeQueryString(params = {}) {\n const parts = Object.entries(params).map(([key, value]) => `${key}=${value}`).join(\"&\");\n return parts.length ? `?${parts}` : \"\";\n}\nfunction resolveQueryStringFromParams(nextParams) {\n const allowed = [\"comment\", \"inspect\", \"instruction\", \"pathKey\", \"rev\", \"since\", \"template\", \"view\"], safeNextParams = Object.entries(nextParams).filter(([key]) => allowed.includes(key)).reduce((obj, [key, value]) => value == null ? obj : {\n ...obj,\n [key]: value\n }, {});\n return encodeQueryString(safeNextParams);\n}\nconst BackLink = forwardRef(function(props, ref) {\n const $ = c(11);\n let restProps, searchParams;\n $[0] !== props ? ({\n searchParams,\n ...restProps\n } = props, $[0] = props, $[1] = restProps, $[2] = searchParams) : (restProps = $[1], searchParams = $[2]);\n let t0;\n $[3] !== searchParams ? (t0 = Object.entries(searchParams), $[3] = searchParams, $[4] = t0) : t0 = $[4];\n let t1;\n $[5] !== t0 ? (t1 = {\n type: void 0,\n _searchParams: t0\n }, $[5] = t0, $[6] = t1) : t1 = $[6];\n let t2;\n return $[7] !== ref || $[8] !== restProps || $[9] !== t1 ? (t2 = /* @__PURE__ */ jsx(StateLink, { ...restProps, ref, state: t1, title: void 0 }), $[7] = ref, $[8] = restProps, $[9] = t1, $[10] = t2) : t2 = $[10], t2;\n}), ReferenceChildLink = forwardRef(function(props, ref) {\n const $ = c(15);\n let documentId, documentType, restProps, searchParams;\n if ($[0] !== props) {\n const {\n documentId: t02,\n documentType: t12,\n parentRefPath,\n template,\n searchParams: t22,\n ...t3\n } = props;\n documentId = t02, documentType = t12, searchParams = t22, restProps = t3, $[0] = props, $[1] = documentId, $[2] = documentType, $[3] = restProps, $[4] = searchParams;\n } else\n documentId = $[1], documentType = $[2], restProps = $[3], searchParams = $[4];\n let t0;\n $[5] !== searchParams ? (t0 = Object.entries(searchParams), $[5] = searchParams, $[6] = t0) : t0 = $[6];\n let t1;\n $[7] !== documentId || $[8] !== documentType || $[9] !== t0 ? (t1 = {\n id: documentId,\n type: documentType,\n _searchParams: t0\n }, $[7] = documentId, $[8] = documentType, $[9] = t0, $[10] = t1) : t1 = $[10];\n let t2;\n return $[11] !== ref || $[12] !== restProps || $[13] !== t1 ? (t2 = /* @__PURE__ */ jsx(StateLink, { ...restProps, ref, state: t1, title: void 0 }), $[11] = ref, $[12] = restProps, $[13] = t1, $[14] = t2) : t2 = $[14], t2;\n});\nfunction PresentationPaneRouterProvider(props) {\n const $ = c(26), {\n children,\n onStructureParams,\n structureParams,\n searchParams,\n refs\n } = props, {\n state: routerState,\n resolvePathFromState\n } = useRouter();\n let t0;\n $[0] !== routerState._searchParams ? (t0 = Object.fromEntries(routerState._searchParams || []), $[0] = routerState._searchParams, $[1] = t0) : t0 = $[1];\n const routerSearchParams = useUnique(t0);\n let t1;\n $[2] !== resolvePathFromState || $[3] !== routerSearchParams || $[4] !== routerState ? (t1 = (nextParams) => {\n const path = resolvePathFromState(routerState), qs = resolveQueryStringFromParams({\n ...routerSearchParams,\n ...nextParams\n });\n return `${path}${qs}`;\n }, $[2] = resolvePathFromState, $[3] = routerSearchParams, $[4] = routerState, $[5] = t1) : t1 = $[5];\n const createPathWithParams = t1;\n let t2, t3;\n $[6] === Symbol.for(\"react.memo_cache_sentinel\") ? (t3 = {}, $[6] = t3) : t3 = $[6];\n const t4 = structureParams;\n let t5;\n $[7] === Symbol.for(\"react.memo_cache_sentinel\") ? (t5 = [], $[7] = t5) : t5 = $[7];\n let t6;\n $[8] !== refs || $[9] !== searchParams ? (t6 = (childLinkProps) => {\n const {\n childId,\n ...restProps\n } = childLinkProps, ref = refs?.find((r) => r._id === childId || getPublishedId(r._id) === childId);\n return ref ? /* @__PURE__ */ jsx(StateLink, { ...restProps, state: {\n id: childId,\n type: ref._type,\n _searchParams: Object.entries(searchParams)\n } }) : /* @__PURE__ */ jsx(\"div\", { ...restProps });\n }, $[8] = refs, $[9] = searchParams, $[10] = t6) : t6 = $[10];\n let t7, t8;\n $[11] !== searchParams ? (t7 = (backLinkProps) => /* @__PURE__ */ jsx(BackLink, { ...backLinkProps, searchParams }), t8 = (childLinkProps_0) => /* @__PURE__ */ jsx(ReferenceChildLink, { ...childLinkProps_0, searchParams }), $[11] = searchParams, $[12] = t7, $[13] = t8) : (t7 = $[12], t8 = $[13]);\n let t9;\n $[14] !== onStructureParams ? (t9 = (nextParams_0) => {\n onStructureParams({\n ...nextParams_0,\n inspect: nextParams_0.inspect ?? void 0\n });\n }, $[14] = onStructureParams, $[15] = t9) : t9 = $[15];\n let t10;\n $[16] !== createPathWithParams || $[17] !== t4 || $[18] !== t6 || $[19] !== t7 || $[20] !== t8 || $[21] !== t9 ? (t10 = {\n index: 0,\n groupIndex: 0,\n siblingIndex: 0,\n payload: t3,\n params: t4,\n hasGroupSiblings: !1,\n groupLength: 1,\n routerPanesState: t5,\n ChildLink: t6,\n BackLink: t7,\n ReferenceChildLink: t8,\n ParameterizedLink: _temp$6,\n closeCurrentAndAfter: _temp2$3,\n handleEditReference: _temp3$1,\n replaceCurrent: _temp4,\n closeCurrent: _temp5,\n duplicateCurrent: _temp6,\n setView: _temp7,\n setParams: t9,\n setPayload: _temp8,\n navigateIntent: _temp9,\n createPathWithParams\n }, $[16] = createPathWithParams, $[17] = t4, $[18] = t6, $[19] = t7, $[20] = t8, $[21] = t9, $[22] = t10) : t10 = $[22], t2 = t10;\n const context = t2;\n let t11;\n return $[23] !== children || $[24] !== context ? (t11 = /* @__PURE__ */ jsx(PaneRouterContext.Provider, { value: context, children }), $[23] = children, $[24] = context, $[25] = t11) : t11 = $[25], t11;\n}\nfunction _temp9(intentName, intentParams, options_0) {\n console.warn(\"navigateIntent\", intentName, intentParams, options_0);\n}\nfunction _temp8(payload) {\n console.warn(\"setPayload\", payload);\n}\nfunction _temp7(viewId) {\n console.warn(\"setView\", viewId);\n}\nfunction _temp6(pane_0) {\n console.warn(\"duplicateCurrent\", pane_0);\n}\nfunction _temp5() {\n console.warn(\"closeCurrent\");\n}\nfunction _temp4(pane) {\n console.warn(\"replaceCurrent\", pane);\n}\nfunction _temp3$1(options) {\n console.warn(\"handleEditReference\", options);\n}\nfunction _temp2$3() {\n console.warn(\"closeCurrentAndAfter\");\n}\nfunction _temp$6() {\n return /* @__PURE__ */ jsx(Fragment, { children: \"ParameterizedLink\" });\n}\nconst RootLayout = styled(PaneLayout)`\n height: 100%;\n`, Root = styled(Flex)`\n & > div {\n min-width: none !important;\n max-width: none !important;\n }\n`, WrappedCode$1 = styled(Code)`\n white-space: pre-wrap;\n`;\nfunction DocumentListPane(props) {\n const $ = c(33), {\n mainDocumentState,\n onStructureParams,\n searchParams,\n refs\n } = props, {\n t\n } = useTranslation(presentationLocaleNamespace), {\n devMode\n } = usePresentationTool();\n let t0, t1;\n if ($[0] !== mainDocumentState?.document?._id || $[1] !== refs) {\n let t22;\n $[3] !== mainDocumentState?.document?._id ? (t22 = (r) => getPublishedId(r._id) !== mainDocumentState?.document?._id, $[3] = mainDocumentState?.document?._id, $[4] = t22) : t22 = $[4], t1 = refs.filter(t22).map(_temp$5), $[0] = mainDocumentState?.document?._id, $[1] = refs, $[2] = t1;\n } else\n t1 = $[2];\n t0 = t1;\n const ids = t0;\n let t2, t3;\n $[5] !== ids ? (t3 = {\n filter: \"_id in $ids\",\n params: {\n ids\n }\n }, $[5] = ids, $[6] = t3) : t3 = $[6];\n let t4;\n $[7] !== t ? (t4 = t(\"document-list-pane.document-list.title\"), $[7] = t, $[8] = t4) : t4 = $[8];\n let t5;\n $[9] !== t3 || $[10] !== t4 ? (t5 = {\n id: \"$root\",\n options: t3,\n schemaTypeName: \"\",\n title: t4,\n type: \"documentList\"\n }, $[9] = t3, $[10] = t4, $[11] = t5) : t5 = $[11], t2 = t5;\n const pane = t2, [errorParams, setErrorParams] = useState(null);\n let t6;\n $[12] === Symbol.for(\"react.memo_cache_sentinel\") ? (t6 = () => setErrorParams(null), $[12] = t6) : t6 = $[12];\n const handleRetry = t6, [structureParams] = useState(_temp2$2);\n let t7;\n $[13] === Symbol.for(\"react.memo_cache_sentinel\") ? (t7 = () => setErrorParams(null), $[13] = t7) : t7 = $[13];\n let t8;\n if ($[14] !== refs ? (t8 = [refs], $[14] = refs, $[15] = t8) : t8 = $[15], useEffect(t7, t8), errorParams) {\n let t92;\n $[16] !== t ? (t92 = t(\"document-list-pane.error.text\"), $[16] = t, $[17] = t92) : t92 = $[17];\n let t102;\n $[18] !== devMode || $[19] !== errorParams || $[20] !== t ? (t102 = devMode && /* @__PURE__ */ jsx(Card, { overflow: \"auto\", padding: 3, radius: 2, tone: \"critical\", children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n /* @__PURE__ */ jsx(Label, { muted: !0, size: 0, children: t(\"presentation-error.label\") }),\n /* @__PURE__ */ jsx(WrappedCode$1, { size: 1, children: errorParams.error.message })\n ] }) }), $[18] = devMode, $[19] = errorParams, $[20] = t, $[21] = t102) : t102 = $[21];\n let t11;\n return $[22] !== t102 || $[23] !== t92 ? (t11 = /* @__PURE__ */ jsx(ErrorCard, { flex: 1, message: t92, onRetry: handleRetry, children: t102 }), $[22] = t102, $[23] = t92, $[24] = t11) : t11 = $[24], t11;\n }\n let t9;\n $[25] !== pane ? (t9 = /* @__PURE__ */ jsx(Root, { direction: \"column\", flex: 1, children: /* @__PURE__ */ jsx(DocumentListPane$1, { index: 0, itemId: \"$root\", pane, paneKey: \"$root\" }) }), $[25] = pane, $[26] = t9) : t9 = $[26];\n let t10;\n return $[27] !== onStructureParams || $[28] !== refs || $[29] !== searchParams || $[30] !== structureParams || $[31] !== t9 ? (t10 = /* @__PURE__ */ jsx(ErrorBoundary, { onCatch: setErrorParams, children: /* @__PURE__ */ jsx(RootLayout, { children: /* @__PURE__ */ jsx(StructureToolProvider, { children: /* @__PURE__ */ jsx(PresentationPaneRouterProvider, { onStructureParams, structureParams, searchParams, refs, children: t9 }) }) }) }), $[27] = onStructureParams, $[28] = refs, $[29] = searchParams, $[30] = structureParams, $[31] = t9, $[32] = t10) : t10 = $[32], t10;\n}\nfunction _temp2$2() {\n return {};\n}\nfunction _temp$5(r_0) {\n return getPublishedId(r_0._id);\n}\nconst WrappedCode = styled(Code)`\n white-space: pre-wrap;\n`;\nfunction DocumentPane(props) {\n const $ = c(35), {\n documentId,\n documentType,\n onFocusPath,\n onStructureParams,\n searchParams,\n structureParams\n } = props, {\n template,\n templateParams\n } = structureParams, {\n t\n } = useTranslation(presentationLocaleNamespace), {\n devMode\n } = usePresentationTool();\n let t0, t1;\n $[0] !== templateParams ? (t1 = decodeJsonParams(templateParams), $[0] = templateParams, $[1] = t1) : t1 = $[1];\n let t2;\n $[2] !== documentId || $[3] !== documentType || $[4] !== t1 || $[5] !== template ? (t2 = {\n id: documentId,\n type: documentType,\n template,\n templateParameters: t1\n }, $[2] = documentId, $[3] = documentType, $[4] = t1, $[5] = template, $[6] = t2) : t2 = $[6];\n let t3;\n $[7] !== documentId || $[8] !== t2 ? (t3 = {\n id: documentId,\n options: t2,\n title: \"\",\n type: \"document\"\n }, $[7] = documentId, $[8] = t2, $[9] = t3) : t3 = $[9], t0 = t3;\n const paneDocumentNode = t0, [errorParams, setErrorParams] = useState(null);\n let t4;\n $[10] === Symbol.for(\"react.memo_cache_sentinel\") ? (t4 = () => setErrorParams(null), $[10] = t4) : t4 = $[10];\n const handleRetry = t4;\n let t5;\n $[11] === Symbol.for(\"react.memo_cache_sentinel\") ? (t5 = () => {\n setErrorParams(null);\n }, $[11] = t5) : t5 = $[11];\n let t6;\n if ($[12] !== documentId || $[13] !== documentType || $[14] !== structureParams ? (t6 = [documentId, documentType, structureParams], $[12] = documentId, $[13] = documentType, $[14] = structureParams, $[15] = t6) : t6 = $[15], useEffect(t5, t6), errorParams) {\n let t72;\n $[16] !== t ? (t72 = t(\"document-pane.error.text\"), $[16] = t, $[17] = t72) : t72 = $[17];\n let t82;\n $[18] !== devMode || $[19] !== errorParams || $[20] !== t ? (t82 = devMode && /* @__PURE__ */ jsx(Card, { overflow: \"auto\", padding: 3, radius: 2, tone: \"critical\", children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n /* @__PURE__ */ jsx(Label, { muted: !0, size: 0, children: t(\"presentation-error.label\") }),\n /* @__PURE__ */ jsx(WrappedCode, { size: 1, children: errorParams.error.message })\n ] }) }), $[18] = devMode, $[19] = errorParams, $[20] = t, $[21] = t82) : t82 = $[21];\n let t92;\n return $[22] !== t72 || $[23] !== t82 ? (t92 = /* @__PURE__ */ jsx(ErrorCard, { flex: 1, message: t72, onRetry: handleRetry, children: t82 }), $[22] = t72, $[23] = t82, $[24] = t92) : t92 = $[24], t92;\n }\n let t7;\n $[25] === Symbol.for(\"react.memo_cache_sentinel\") ? (t7 = {\n height: \"100%\"\n }, $[25] = t7) : t7 = $[25];\n let t8;\n $[26] === Symbol.for(\"react.memo_cache_sentinel\") ? (t8 = /* @__PURE__ */ jsx(PresentationSpinner, {}), $[26] = t8) : t8 = $[26];\n let t9;\n $[27] !== onFocusPath || $[28] !== paneDocumentNode ? (t9 = /* @__PURE__ */ jsx(Suspense, { fallback: t8, children: /* @__PURE__ */ jsx(DocumentPane$1, { paneKey: \"document\", index: 1, itemId: \"document\", pane: paneDocumentNode, onFocusPath }) }), $[27] = onFocusPath, $[28] = paneDocumentNode, $[29] = t9) : t9 = $[29];\n let t10;\n return $[30] !== onStructureParams || $[31] !== searchParams || $[32] !== structureParams || $[33] !== t9 ? (t10 = /* @__PURE__ */ jsx(ErrorBoundary, { onCatch: setErrorParams, children: /* @__PURE__ */ jsx(PaneLayout, { style: t7, children: /* @__PURE__ */ jsx(PresentationPaneRouterProvider, { searchParams, onStructureParams, structureParams, children: t9 }) }) }), $[30] = onStructureParams, $[31] = searchParams, $[32] = structureParams, $[33] = t9, $[34] = t10) : t10 = $[34], t10;\n}\nfunction DocumentPanel(props) {\n const $ = c(7), {\n documentId,\n documentType,\n onFocusPath,\n onStructureParams,\n searchParams,\n structureParams\n } = props;\n let t0;\n return $[0] !== documentId || $[1] !== documentType || $[2] !== onFocusPath || $[3] !== onStructureParams || $[4] !== searchParams || $[5] !== structureParams ? (t0 = /* @__PURE__ */ jsx(StructureToolProvider, { children: /* @__PURE__ */ jsx(DocumentPane, { documentId, documentType, onFocusPath, onStructureParams, searchParams, structureParams }) }), $[0] = documentId, $[1] = documentType, $[2] = onFocusPath, $[3] = onStructureParams, $[4] = searchParams, $[5] = structureParams, $[6] = t0) : t0 = $[6], t0;\n}\nfunction usePreviewState(documentId, schemaType2) {\n const $ = c(6), documentPreviewStore = useDocumentPreviewStore();\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = {}, $[0] = t0) : t0 = $[0];\n const [preview, setPreview] = useState(t0);\n let t1, t2;\n return $[1] !== documentId || $[2] !== documentPreviewStore || $[3] !== schemaType2 ? (t1 = () => {\n if (!schemaType2)\n return;\n const subscription = getPreviewStateObservable(documentPreviewStore, schemaType2, documentId, \"\").subscribe((state) => {\n setPreview(state);\n });\n return () => {\n subscription?.unsubscribe();\n };\n }, t2 = [documentPreviewStore, schemaType2, documentId], $[1] = documentId, $[2] = documentPreviewStore, $[3] = schemaType2, $[4] = t1, $[5] = t2) : (t1 = $[4], t2 = $[5]), useEffect(t1, t2), preview;\n}\nfunction ContentEditor(props) {\n const $ = c(39), {\n documentId,\n documentType,\n mainDocumentState,\n onFocusPath,\n onStructureParams,\n refs,\n searchParams,\n structureParams\n } = props, {\n t\n } = useTranslation(presentationLocaleNamespace), schema = useSchema();\n let t0;\n $[0] !== mainDocumentState?.document?._id || $[1] !== mainDocumentState?.document?._type || $[2] !== searchParams ? (t0 = (props_0) => /* @__PURE__ */ jsx(StateLink, { ...props_0, state: {\n id: mainDocumentState?.document?._id,\n type: mainDocumentState?.document?._type,\n _searchParams: Object.entries(searchParams)\n } }), $[0] = mainDocumentState?.document?._id, $[1] = mainDocumentState?.document?._type, $[2] = searchParams, $[3] = t0) : t0 = $[3];\n const MainDocumentLink = t0;\n let t1, t2;\n $[4] !== mainDocumentState?.document?._type || $[5] !== schema ? (t2 = schema.get(mainDocumentState?.document?._type || \"shoe\"), $[4] = mainDocumentState?.document?._type, $[5] = schema, $[6] = t2) : t2 = $[6], t1 = t2;\n const schemaType2 = t1, previewState = usePreviewState(mainDocumentState?.document?._id || \"\", schemaType2);\n let t3;\n bb0: {\n if (!mainDocumentState?.document) {\n t3 = null;\n break bb0;\n }\n const t42 = mainDocumentState.document;\n let t52;\n $[7] !== previewState.draft || $[8] !== previewState.published || $[9] !== t42 ? (t52 = getPreviewValueWithFallback({\n value: t42,\n published: previewState.published,\n draft: previewState.draft\n }), $[7] = previewState.draft, $[8] = previewState.published, $[9] = t42, $[10] = t52) : t52 = $[10];\n let t62;\n $[11] !== t ? (t62 = t(\"main-document.label\"), $[11] = t, $[12] = t62) : t62 = $[12];\n let t7;\n $[13] !== t62 ? (t7 = /* @__PURE__ */ jsx(Card, { padding: 1, radius: 2, shadow: 1, children: /* @__PURE__ */ jsx(Text, { muted: !0, size: 0, weight: \"medium\", children: t62 }) }), $[13] = t62, $[14] = t7) : t7 = $[14];\n let t8;\n $[15] !== schemaType2 || $[16] !== t52 || $[17] !== t7 ? (t8 = /* @__PURE__ */ jsx(SanityDefaultPreview, { ...t52, schemaType: schemaType2, status: t7 }), $[15] = schemaType2, $[16] = t52, $[17] = t7, $[18] = t8) : t8 = $[18], t3 = t8;\n }\n const preview = t3;\n if (documentId && documentType) {\n let t42;\n return $[19] !== documentId || $[20] !== documentType || $[21] !== onFocusPath || $[22] !== onStructureParams || $[23] !== searchParams || $[24] !== structureParams ? (t42 = /* @__PURE__ */ jsx(DocumentPanel, { documentId, documentType, onFocusPath, onStructureParams, searchParams, structureParams }), $[19] = documentId, $[20] = documentType, $[21] = onFocusPath, $[22] = onStructureParams, $[23] = searchParams, $[24] = structureParams, $[25] = t42) : t42 = $[25], t42;\n }\n let t4;\n $[26] !== MainDocumentLink || $[27] !== mainDocumentState || $[28] !== preview || $[29] !== t ? (t4 = mainDocumentState && /* @__PURE__ */ jsx(Card, { padding: 3, tone: mainDocumentState.document ? \"inherit\" : \"caution\", children: mainDocumentState.document ? /* @__PURE__ */ jsx(PreviewCard, { __unstable_focusRing: !0, as: MainDocumentLink, \"data-as\": \"a\", radius: 2, sizing: \"border\", tone: \"inherit\", children: preview }) : /* @__PURE__ */ jsx(Card, { padding: 2, radius: 2, tone: \"inherit\", children: /* @__PURE__ */ jsxs(Flex, { gap: 3, children: [\n /* @__PURE__ */ jsx(Box, { flex: \"none\", children: /* @__PURE__ */ jsx(Text, { size: 1, children: /* @__PURE__ */ jsx(WarningOutlineIcon, {}) }) }),\n /* @__PURE__ */ jsx(Box, { flex: 1, children: /* @__PURE__ */ jsx(Text, { size: 1, children: /* @__PURE__ */ jsx(Translate, { t, i18nKey: \"main-document.missing.text\", components: {\n Code: \"code\"\n }, values: {\n path: mainDocumentState.path\n } }) }) })\n ] }) }) }), $[26] = MainDocumentLink, $[27] = mainDocumentState, $[28] = preview, $[29] = t, $[30] = t4) : t4 = $[30];\n let t5;\n $[31] !== mainDocumentState || $[32] !== onStructureParams || $[33] !== refs || $[34] !== searchParams ? (t5 = /* @__PURE__ */ jsx(DocumentListPane, { mainDocumentState, onStructureParams, searchParams, refs }), $[31] = mainDocumentState, $[32] = onStructureParams, $[33] = refs, $[34] = searchParams, $[35] = t5) : t5 = $[35];\n let t6;\n return $[36] !== t4 || $[37] !== t5 ? (t6 = /* @__PURE__ */ jsxs(Flex, { direction: \"column\", flex: 1, height: \"fill\", children: [\n t4,\n t5\n ] }), $[36] = t4, $[37] = t5, $[38] = t6) : t6 = $[38], t6;\n}\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i)\n byteToHex.push((i + 256).toString(16).slice(1));\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + \"-\" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + \"-\" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + \"-\" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + \"-\" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto > \"u\" || !crypto.getRandomValues)\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\nconst randomUUID = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar native = {\n randomUUID\n};\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options)\n return native.randomUUID();\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n return rnds[6] = rnds[6] & 15 | 64, rnds[8] = rnds[8] & 63 | 128, unsafeStringify(rnds);\n}\nfunction usePanelId(id) {\n const $ = c(2);\n let t0;\n $[0] !== id ? (t0 = () => id || v4(), $[0] = id, $[1] = t0) : t0 = $[1];\n const [panelId] = useState(t0);\n return panelId;\n}\nconst Resizer = styled.div`\n position: relative;\n`, ResizerInner = styled.div`\n position: absolute;\n top: 0;\n bottom: 0;\n left: -5px;\n width: 9px;\n z-index: 10;\n cursor: ${({\n $disabled\n}) => $disabled ? \"auto\" : \"ew-resize\"};\n\n /* Border */\n & > span:nth-child(1) {\n display: block;\n border-left: 1px solid var(--card-border-color);\n position: absolute;\n top: 0;\n left: 4px;\n bottom: 0;\n transition: opacity 200ms;\n }\n\n ${({\n $disabled\n}) => !$disabled && `\n /* Hover effect */\n & > span:nth-child(2) {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 9px;\n bottom: 0;\n background-color: var(--card-border-color);\n opacity: 0;\n transition: opacity 150ms;\n }\n\n @media (hover: hover) {\n &:hover > span:nth-child(2) {\n opacity: 0.2;\n }\n }\n `}\n`, PanelResizer = function(t0) {\n const $ = c(27), {\n id: propId,\n order,\n disabled: t1\n } = t0, disabled = t1 === void 0 ? !1 : t1, el = useRef(null), context = useContext(PanelsContext);\n if (context === null)\n throw Error(\"Panel components must be rendered within a PanelGroup container\");\n const id = usePanelId(propId), {\n activeResizer,\n drag,\n startDragging,\n stopDragging,\n registerElement,\n unregisterElement\n } = context, isDragging = activeResizer === id;\n if (context === null)\n throw Error(\"Panel components must be rendered within a PanelGroup container\");\n let t2;\n $[0] !== id || $[1] !== startDragging ? (t2 = (event) => {\n startDragging(id, event.nativeEvent);\n }, $[0] = id, $[1] = startDragging, $[2] = t2) : t2 = $[2];\n const onMouseDown = t2;\n let t3;\n $[3] !== drag || $[4] !== id ? (t3 = (e) => {\n drag(id, e);\n }, $[3] = drag, $[4] = id, $[5] = t3) : t3 = $[5];\n const onDrag = t3;\n let t4;\n $[6] !== stopDragging ? (t4 = () => {\n el.current.blur(), stopDragging();\n }, $[6] = stopDragging, $[7] = t4) : t4 = $[7];\n const onDragStop = t4;\n let t5, t6;\n $[8] !== disabled || $[9] !== isDragging || $[10] !== onDrag || $[11] !== onDragStop ? (t5 = () => {\n if (!isDragging || disabled)\n return;\n const resetDocumentStyles = function() {\n const bodyStyle = document.body.style, documentStyle = document.documentElement.style, {\n cursor\n } = documentStyle, {\n userSelect\n } = bodyStyle;\n return documentStyle.cursor = \"ew-resize\", bodyStyle.userSelect = \"none\", () => {\n cursor ? documentStyle.cursor = cursor : documentStyle.removeProperty(\"cursor\"), userSelect ? bodyStyle.userSelect = userSelect : bodyStyle.removeProperty(\"user-select\");\n };\n }();\n return window.addEventListener(\"mousemove\", onDrag), window.addEventListener(\"mouseup\", onDragStop), window.addEventListener(\"contextmenu\", onDragStop), () => {\n resetDocumentStyles(), window.removeEventListener(\"mousemove\", onDrag), window.removeEventListener(\"mouseup\", onDragStop), window.removeEventListener(\"contextmenu\", onDragStop);\n };\n }, t6 = [disabled, isDragging, onDrag, onDragStop], $[8] = disabled, $[9] = isDragging, $[10] = onDrag, $[11] = onDragStop, $[12] = t5, $[13] = t6) : (t5 = $[12], t6 = $[13]), useEffect(t5, t6);\n let t7, t8;\n $[14] !== id || $[15] !== order || $[16] !== registerElement || $[17] !== unregisterElement ? (t7 = () => (registerElement(id, {\n id,\n order,\n type: \"resizer\",\n el\n }), () => {\n unregisterElement(id);\n }), t8 = [id, order, registerElement, unregisterElement], $[14] = id, $[15] = order, $[16] = registerElement, $[17] = unregisterElement, $[18] = t7, $[19] = t8) : (t7 = $[18], t8 = $[19]), useLayoutEffect(t7, t8);\n let t10, t9;\n $[20] === Symbol.for(\"react.memo_cache_sentinel\") ? (t9 = /* @__PURE__ */ jsx(\"span\", {}), t10 = /* @__PURE__ */ jsx(\"span\", {}), $[20] = t10, $[21] = t9) : (t10 = $[20], t9 = $[21]);\n let t11;\n $[22] !== disabled ? (t11 = /* @__PURE__ */ jsxs(ResizerInner, { $disabled: disabled, children: [\n t9,\n t10\n ] }), $[22] = disabled, $[23] = t11) : t11 = $[23];\n let t12;\n return $[24] !== onMouseDown || $[25] !== t11 ? (t12 = /* @__PURE__ */ jsx(Resizer, { onMouseDown, ref: el, children: t11 }), $[24] = onMouseDown, $[25] = t11, $[26] = t12) : t12 = $[26], t12;\n}, PresentationContentWrapper = (props) => {\n const $ = c(8), {\n documentId,\n setDisplayedDocument,\n getCommentIntent\n } = props;\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = /* @__PURE__ */ jsx(PanelResizer, { order: 4 }), $[0] = t0) : t0 = $[0];\n let t1;\n $[1] !== getCommentIntent || $[2] !== props.children ? (t1 = /* @__PURE__ */ jsx(CommentsIntentProvider, { getIntent: getCommentIntent, children: props.children }), $[1] = getCommentIntent, $[2] = props.children, $[3] = t1) : t1 = $[3];\n let t2;\n return $[4] !== documentId || $[5] !== setDisplayedDocument || $[6] !== t1 ? (t2 = /* @__PURE__ */ jsxs(Fragment, { children: [\n t0,\n /* @__PURE__ */ jsx(Panel, { id: \"content\", minWidth: 325, order: 5, children: /* @__PURE__ */ jsx(DisplayedDocumentBroadcasterProvider, { documentId, setDisplayedDocument, children: t1 }) })\n ] }), $[4] = documentId, $[5] = setDisplayedDocument, $[6] = t1, $[7] = t2) : t2 = $[7], t2;\n}, PresentationContent = (props) => {\n const $ = c(14), {\n documentId,\n documentsOnPage,\n documentType,\n getCommentIntent,\n mainDocumentState,\n onFocusPath,\n onStructureParams,\n searchParams,\n setDisplayedDocument,\n structureParams\n } = props;\n let t0;\n $[0] !== documentId || $[1] !== documentType || $[2] !== documentsOnPage || $[3] !== mainDocumentState || $[4] !== onFocusPath || $[5] !== onStructureParams || $[6] !== searchParams || $[7] !== structureParams ? (t0 = /* @__PURE__ */ jsx(ContentEditor, { documentId, documentType, mainDocumentState, onFocusPath, onStructureParams, refs: documentsOnPage, searchParams, structureParams }), $[0] = documentId, $[1] = documentType, $[2] = documentsOnPage, $[3] = mainDocumentState, $[4] = onFocusPath, $[5] = onStructureParams, $[6] = searchParams, $[7] = structureParams, $[8] = t0) : t0 = $[8];\n let t1;\n return $[9] !== documentId || $[10] !== getCommentIntent || $[11] !== setDisplayedDocument || $[12] !== t0 ? (t1 = /* @__PURE__ */ jsx(PresentationContentWrapper, { documentId, getCommentIntent, setDisplayedDocument, children: t0 }), $[9] = documentId, $[10] = getCommentIntent, $[11] = setDisplayedDocument, $[12] = t0, $[13] = t1) : t1 = $[13], t1;\n}, PresentationNavigateProvider = function(props) {\n const $ = c(5), {\n children,\n navigate: _navigate\n } = props;\n let t0;\n $[0] !== _navigate ? (t0 = (preview, t12) => {\n _navigate((t12 === void 0 ? void 0 : t12) || {}, preview ? {\n preview\n } : {});\n }, $[0] = _navigate, $[1] = t0) : t0 = $[1];\n const navigate = t0;\n let t1;\n return $[2] !== children || $[3] !== navigate ? (t1 = /* @__PURE__ */ jsx(PresentationNavigateContext.Provider, { value: navigate, children }), $[2] = children, $[3] = navigate, $[4] = t1) : t1 = $[4], t1;\n};\nfunction useLocalState(key, defaultValue) {\n const $ = c(9);\n let t0;\n $[0] !== defaultValue || $[1] !== key ? (t0 = () => JSON.parse(localStorage.getItem(key) ?? JSON.stringify(defaultValue)), $[0] = defaultValue, $[1] = key, $[2] = t0) : t0 = $[2];\n const [value, setValue] = useState(t0);\n let t1, t2;\n $[3] !== key || $[4] !== value ? (t1 = () => {\n localStorage.setItem(key, JSON.stringify(value));\n }, t2 = [key, value], $[3] = key, $[4] = value, $[5] = t1, $[6] = t2) : (t1 = $[5], t2 = $[6]), useEffect(t1, t2);\n let t3;\n return $[7] !== value ? (t3 = [value, setValue], $[7] = value, $[8] = t3) : t3 = $[8], t3;\n}\nfunction usePresentationNavigator(props) {\n const $ = c(11), {\n unstable_navigator\n } = props, navigatorProvided = !!unstable_navigator?.component, [_navigatorEnabled, setNavigatorEnabled] = useLocalState(\"presentation/navigator\", navigatorProvided), navigatorEnabled = navigatorProvided ? _navigatorEnabled : !1;\n let t0;\n bb0: {\n if (!navigatorProvided) {\n t0 = void 0;\n break bb0;\n }\n let t12;\n $[0] !== setNavigatorEnabled ? (t12 = () => setNavigatorEnabled(_temp$4), $[0] = setNavigatorEnabled, $[1] = t12) : t12 = $[1], t0 = t12;\n }\n const toggleNavigator = t0;\n let t1;\n $[2] !== navigatorEnabled || $[3] !== unstable_navigator ? (t1 = function() {\n return /* @__PURE__ */ jsx(Fragment, { children: navigatorEnabled && /* @__PURE__ */ jsx(Navigator, { ...unstable_navigator }) });\n }, $[2] = navigatorEnabled, $[3] = unstable_navigator, $[4] = t1) : t1 = $[4];\n const Component = t1;\n let t2;\n $[5] !== navigatorEnabled || $[6] !== toggleNavigator ? (t2 = {\n navigatorEnabled,\n toggleNavigator\n }, $[5] = navigatorEnabled, $[6] = toggleNavigator, $[7] = t2) : t2 = $[7];\n let t3;\n return $[8] !== Component || $[9] !== t2 ? (t3 = [t2, Component], $[8] = Component, $[9] = t2, $[10] = t3) : t3 = $[10], t3;\n}\nfunction _temp$4(enabled) {\n return !enabled;\n}\nfunction NavigatorComponent(props) {\n const $ = c(11), {\n minWidth,\n maxWidth,\n component: NavigatorComponent2\n } = props, navigatorDisabled = minWidth != null && maxWidth != null && minWidth === maxWidth;\n let t0;\n $[0] !== NavigatorComponent2 ? (t0 = /* @__PURE__ */ jsx(NavigatorComponent2, {}), $[0] = NavigatorComponent2, $[1] = t0) : t0 = $[1];\n let t1;\n $[2] !== maxWidth || $[3] !== minWidth || $[4] !== t0 ? (t1 = /* @__PURE__ */ jsx(Panel, { id: \"navigator\", minWidth, maxWidth, order: 1, children: t0 }), $[2] = maxWidth, $[3] = minWidth, $[4] = t0, $[5] = t1) : t1 = $[5];\n let t2;\n $[6] !== navigatorDisabled ? (t2 = /* @__PURE__ */ jsx(PanelResizer, { order: 2, disabled: navigatorDisabled }), $[6] = navigatorDisabled, $[7] = t2) : t2 = $[7];\n let t3;\n return $[8] !== t1 || $[9] !== t2 ? (t3 = /* @__PURE__ */ jsxs(Fragment, { children: [\n t1,\n t2\n ] }), $[8] = t1, $[9] = t2, $[10] = t3) : t3 = $[10], t3;\n}\nconst Navigator = memo(NavigatorComponent), PresentationParamsProvider = function(props) {\n const $ = c(3), {\n children,\n params\n } = props;\n let t0;\n t0 = params;\n const context = t0;\n let t1;\n return $[0] !== children || $[1] !== context ? (t1 = /* @__PURE__ */ jsx(PresentationParamsContext.Provider, { value: context, children }), $[0] = children, $[1] = context, $[2] = t1) : t1 = $[2], t1;\n}, PresentationProvider = function(props) {\n const $ = c(10), {\n children,\n devMode,\n name,\n navigate,\n params,\n searchParams,\n structureParams\n } = props;\n let t0, t1;\n $[0] !== devMode || $[1] !== name || $[2] !== navigate || $[3] !== params || $[4] !== searchParams || $[5] !== structureParams ? (t1 = {\n devMode,\n name,\n navigate,\n params,\n searchParams,\n structureParams\n }, $[0] = devMode, $[1] = name, $[2] = navigate, $[3] = params, $[4] = searchParams, $[5] = structureParams, $[6] = t1) : t1 = $[6], t0 = t1;\n const context = t0;\n let t2;\n return $[7] !== children || $[8] !== context ? (t2 = /* @__PURE__ */ jsx(PresentationContext.Provider, { value: context, children }), $[7] = children, $[8] = context, $[9] = t2) : t2 = $[9], t2;\n}, IFrameElement = motion.create(styled.iframe`\n box-shadow: 0 0 0 1px var(--card-border-color);\n border: 0;\n max-height: 100%;\n width: 100%;\n view-transition-class: presentation-tool-iframe;\n`), IFrameOverlay = styled(Box)`\n position: absolute;\n inset: 0;\n background: transparent;\n`, IFrame = forwardRef(function(props, ref) {\n const $ = c(16), {\n animate,\n initial,\n onLoad,\n preventClick,\n src,\n variants,\n style\n } = props, t0 = `presentation-tool-iframe-${useId().replace(/[^a-zA-Z0-9-_]/g, \"_\")}`;\n let t1;\n $[0] !== style || $[1] !== t0 ? (t1 = {\n ...style,\n viewTransitionName: t0\n }, $[0] = style, $[1] = t0, $[2] = t1) : t1 = $[2];\n let t2;\n $[3] !== animate || $[4] !== initial || $[5] !== onLoad || $[6] !== ref || $[7] !== src || $[8] !== t1 || $[9] !== variants ? (t2 = /* @__PURE__ */ jsx(IFrameElement, { style: t1, animate, initial, onLoad, ref, src, variants }), $[3] = animate, $[4] = initial, $[5] = onLoad, $[6] = ref, $[7] = src, $[8] = t1, $[9] = variants, $[10] = t2) : t2 = $[10];\n let t3;\n $[11] !== preventClick ? (t3 = preventClick && /* @__PURE__ */ jsx(IFrameOverlay, {}), $[11] = preventClick, $[12] = t3) : t3 = $[12];\n let t4;\n return $[13] !== t2 || $[14] !== t3 ? (t4 = /* @__PURE__ */ jsxs(Fragment, { children: [\n t2,\n t3\n ] }), $[13] = t2, $[14] = t3, $[15] = t4) : t4 = $[15], t4;\n});\nfunction OpenPreviewButton(props) {\n const $ = c(16), {\n openPopup,\n previewLocationOrigin,\n previewLocationRoute\n } = props, {\n t\n } = useTranslation(presentationLocaleNamespace);\n let t0;\n $[0] !== openPopup ? (t0 = (event) => {\n event.preventDefault(), openPopup(event.currentTarget.href);\n }, $[0] = openPopup, $[1] = t0) : t0 = $[1];\n const handleOpenPopup = t0;\n let t1;\n $[2] !== t ? (t1 = t(\"share-url.menu-item.open.text\"), $[2] = t, $[3] = t1) : t1 = $[3];\n let t2;\n $[4] !== t1 ? (t2 = /* @__PURE__ */ jsx(Text, { size: 1, children: t1 }), $[4] = t1, $[5] = t2) : t2 = $[5];\n let t3;\n $[6] === Symbol.for(\"react.memo_cache_sentinel\") ? (t3 = [\"bottom-start\"], $[6] = t3) : t3 = $[6];\n let t4;\n $[7] !== t ? (t4 = t(\"share-url.menu-item.open.text\"), $[7] = t, $[8] = t4) : t4 = $[8];\n const t5 = `${previewLocationOrigin}${previewLocationRoute}`;\n let t6;\n $[9] !== handleOpenPopup || $[10] !== t4 || $[11] !== t5 ? (t6 = /* @__PURE__ */ jsx(Button, { as: \"a\", \"aria-label\": t4, fontSize: 1, icon: LaunchIcon, mode: \"bleed\", padding: 2, href: t5, onClick: handleOpenPopup, rel: \"opener\", target: \"_blank\" }), $[9] = handleOpenPopup, $[10] = t4, $[11] = t5, $[12] = t6) : t6 = $[12];\n let t7;\n return $[13] !== t2 || $[14] !== t6 ? (t7 = /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: t2, fallbackPlacements: t3, padding: 2, placement: \"bottom\", portal: !0, children: t6 }), $[13] = t2, $[14] = t6, $[15] = t7) : t7 = $[15], t7;\n}\nconst PreviewLocationInput = function(props) {\n const $ = c(27), {\n fontSize: t0,\n onChange,\n origin,\n padding: t1,\n prefix,\n suffix,\n value\n } = props, fontSize = t0 === void 0 ? 1 : t0, padding = t1 === void 0 ? 3 : t1, {\n t\n } = useTranslation(presentationLocaleNamespace), {\n basePath: t2\n } = useActiveWorkspace()?.activeWorkspace || {}, basePath = t2 === void 0 ? \"/\" : t2, inputRef = useRef(null), [sessionValue, setSessionValue] = useState(void 0), [customValidity, setCustomValidity] = useState(void 0);\n let t3;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t3 = (event) => {\n setSessionValue(event.currentTarget.value);\n }, $[0] = t3) : t3 = $[0];\n const handleChange = t3;\n let t4;\n $[1] !== basePath || $[2] !== onChange || $[3] !== origin || $[4] !== sessionValue || $[5] !== t ? (t4 = (event_0) => {\n if (event_0.key === \"Enter\") {\n if (sessionValue === void 0)\n return;\n const absoluteValue = sessionValue.startsWith(\"/\") || sessionValue === \"\" ? `${origin}${sessionValue}` : sessionValue;\n if (!absoluteValue.startsWith(origin + \"/\") && absoluteValue !== origin) {\n setCustomValidity(t(\"preview-location-input.error\", {\n origin,\n context: \"missing-origin\"\n }));\n return;\n }\n if (!origin && (absoluteValue.startsWith(`${basePath}/`) || absoluteValue === basePath)) {\n setCustomValidity(t(\"preview-location-input.error\", {\n basePath,\n context: \"same-base-path\"\n }));\n return;\n }\n const nextValue = absoluteValue === origin ? origin + \"/\" : absoluteValue;\n setCustomValidity(void 0), setSessionValue(void 0), onChange(nextValue.slice(origin.length)), inputRef.current?.blur();\n }\n event_0.key === \"Escape\" && (setCustomValidity(void 0), setSessionValue(void 0));\n }, $[1] = basePath, $[2] = onChange, $[3] = origin, $[4] = sessionValue, $[5] = t, $[6] = t4) : t4 = $[6];\n const handleKeyDown = t4;\n let t5;\n $[7] === Symbol.for(\"react.memo_cache_sentinel\") ? (t5 = () => {\n setCustomValidity(void 0), setSessionValue(void 0);\n }, $[7] = t5) : t5 = $[7];\n const handleBlur = t5;\n let t6;\n $[8] === Symbol.for(\"react.memo_cache_sentinel\") ? (t6 = () => {\n setCustomValidity(void 0), setSessionValue(void 0);\n }, $[8] = t6) : t6 = $[8];\n let t7;\n $[9] !== origin || $[10] !== value ? (t7 = [origin, value], $[9] = origin, $[10] = value, $[11] = t7) : t7 = $[11], useEffect(t6, t7);\n let t8, t9;\n $[12] === Symbol.for(\"react.memo_cache_sentinel\") ? (t9 = {\n icon: ResetIcon\n }, $[12] = t9) : t9 = $[12], t8 = t9;\n const t10 = customValidity ? t8 : void 0;\n let t11;\n $[13] !== origin || $[14] !== value ? (t11 = () => {\n setCustomValidity(void 0), setSessionValue(origin + value);\n }, $[13] = origin, $[14] = value, $[15] = t11) : t11 = $[15];\n let t12;\n $[16] === Symbol.for(\"react.memo_cache_sentinel\") ? (t12 = {\n zIndex: 1\n }, $[16] = t12) : t12 = $[16];\n const t13 = sessionValue === void 0 ? `${origin}${value}` : sessionValue;\n let t14;\n return $[17] !== customValidity || $[18] !== fontSize || $[19] !== handleKeyDown || $[20] !== padding || $[21] !== prefix || $[22] !== suffix || $[23] !== t10 || $[24] !== t11 || $[25] !== t13 ? (t14 = /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(TextInput, { clearButton: t10, customValidity, fontSize, onBlur: handleBlur, onClear: t11, onChange: handleChange, onKeyDownCapture: handleKeyDown, padding, prefix, style: t12, radius: 2, ref: inputRef, space: padding, suffix, value: t13 }) }), $[17] = customValidity, $[18] = fontSize, $[19] = handleKeyDown, $[20] = padding, $[21] = prefix, $[22] = suffix, $[23] = t10, $[24] = t11, $[25] = t13, $[26] = t14) : t14 = $[26], t14;\n}, QRCodeSVG = lazy(() => import(\"./QRCodeSVG.js\")), QrCodeLogoSize = 24, QrCodeLogoPadding = 16, QrSize = 224, StyledSanityMonogram = styled(SanityMonogram)`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: ${QrCodeLogoSize}px;\n width: ${QrCodeLogoSize}px;\n`, MotionSpinner = motion.create(Spinner), MotionText = motion.create(Text), MotionMonogram = motion.create(StyledSanityMonogram), SharePreviewMenu = memo(function(props) {\n const {\n canToggleSharePreviewAccess,\n canUseSharedPreviewAccess,\n initialUrl,\n previewLocationRoute,\n perspective\n } = props, {\n t\n } = useTranslation(presentationLocaleNamespace), {\n push: pushToast\n } = useToast(), client = useClient({\n apiVersion: API_VERSION\n }), currentUser = useCurrentUser(), [loading, setLoading] = useState(!0), [enabling, setEnabling] = useState(!1), [disabling, setDisabling] = useState(!1), [secret, setSecret] = useState(null), busy = enabling || disabling || loading, url = useMemo(() => secret ? setSecretSearchParams(initialUrl, secret, previewLocationRoute, Array.isArray(perspective) ? perspective.join(\",\") : perspective) : null, [initialUrl, perspective, previewLocationRoute, secret]), [error, setError] = useState(null);\n if (error)\n throw error;\n const handleUnableToToggle = useCallback(() => {\n pushToast({\n closable: !0,\n status: \"warning\",\n title: t(\"share-preview-menu.error_toggle-sharing\", {\n context: \"toggle-sharing\"\n })\n });\n }, [pushToast, t]), handleDisableSharing = useCallback(async () => {\n try {\n setDisabling(!0), await disablePreviewAccessSharing(client, \"@sanity/presentation\", typeof window > \"u\" ? \"\" : location.href, currentUser?.id), setSecret(null);\n } catch (error_0) {\n setError(error_0);\n } finally {\n setDisabling(!1);\n }\n }, [client, currentUser?.id]), handleEnableSharing = useCallback(async () => {\n try {\n setEnabling(!0);\n const previewUrlSecret = await enablePreviewAccessSharing(client, \"@sanity/presentation\", typeof window > \"u\" ? \"\" : location.href, currentUser?.id);\n setSecret(previewUrlSecret.secret);\n } catch (error_1) {\n setError(error_1);\n } finally {\n setEnabling(!1);\n }\n }, [client, currentUser?.id]), handleCopyUrl = useCallback(() => {\n try {\n if (!url)\n throw new Error(\"No URL to copy\");\n navigator.clipboard.writeText(url.toString()), pushToast({\n closable: !0,\n status: \"success\",\n title: t(\"share-url.clipboard.status\", {\n context: \"success\"\n })\n });\n } catch (error_2) {\n setError(error_2);\n }\n }, [pushToast, t, url]);\n return useEffect(() => {\n let controller = new AbortController(), usedTags = [];\n async function fetchShareSecret(lastLiveEventId, signal) {\n const {\n result,\n syncTags\n } = await client.fetch(fetchSharedAccessQuery, {}, {\n filterResponse: !1,\n lastLiveEventId,\n tag: \"presentation.fetch-shared-access-secret\"\n });\n Array.isArray(syncTags) && (usedTags = syncTags), signal.aborted || setSecret(result);\n }\n const subscription = client.live.events().subscribe({\n next: (event) => {\n event.type === \"message\" && (controller.abort(), controller = new AbortController(), event.tags.some((tag) => usedTags.includes(tag)) && fetchShareSecret(event.id, controller.signal));\n },\n error: setError\n });\n return fetchShareSecret(null, controller.signal).finally(() => setLoading(!1)), () => {\n subscription.unsubscribe(), controller.abort();\n };\n }, [client]), /* @__PURE__ */ jsx(MenuButton, { button: /* @__PURE__ */ jsx(Button, { \"aria-label\": t(\"preview-frame.share-button.aria-label\"), fontSize: 1, icon: ShareIcon, mode: \"bleed\", padding: 2 }), id: \"share-menu\", menu: /* @__PURE__ */ jsx(Menu, { style: {\n maxWidth: 248\n }, padding: canUseSharedPreviewAccess ? void 0 : 0, children: canUseSharedPreviewAccess ? /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\"label\", { style: {\n cursor: \"pointer\"\n }, children: /* @__PURE__ */ jsxs(Grid, { columns: 2, rows: 2, gapX: 3, gapY: 1, style: {\n justifyContent: \"center\",\n alignItems: \"center\",\n gridTemplateColumns: \"min-content 1fr\",\n gridTemplateRows: \"min-content\"\n }, paddingTop: 3, paddingX: 3, children: [\n /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: /* @__PURE__ */ jsx(Text, { size: 1, children: t(\"share-preview-menu.toggle-button.tooltip\", {\n context: url ? \"disable\" : \"enable\"\n }) }), fallbackPlacements: [\"bottom-start\"], padding: 1, placement: \"bottom\", portal: !0, children: /* @__PURE__ */ jsx(Switch, { checked: enabling || url !== null && !disabling, readOnly: enabling || disabling, indeterminate: loading, onChange: canToggleSharePreviewAccess ? url ? handleDisableSharing : handleEnableSharing : handleUnableToToggle }) }),\n /* @__PURE__ */ jsx(Text, { size: 1, weight: \"medium\", children: t(\"share-preview-menu.toggle-button.label\", {\n context: \"first-line\"\n }) }),\n /* @__PURE__ */ jsx(\"span\", {}),\n /* @__PURE__ */ jsx(Text, { muted: !0, size: 1, children: t(\"share-preview-menu.toggle-button.label\", {\n context: \"second-line\"\n }) })\n ] }) }),\n /* @__PURE__ */ jsx(Box, { padding: 3, paddingTop: 2, children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n /* @__PURE__ */ jsx(Card, { tone: busy || !url ? \"transparent\" : void 0, style: {\n position: \"relative\",\n aspectRatio: \"1 / 1\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }, children: /* @__PURE__ */ jsx(AnimatePresence, { children: busy ? /* @__PURE__ */ jsx(MotionSpinner, { muted: !0, initial: {\n opacity: 0\n }, animate: {\n opacity: 1\n }, exit: {\n opacity: 0\n } }) : url ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(Spinner, {}), children: [\n /* @__PURE__ */ jsx(QRCodeSVG, { title: t(\"share-preview-menu.qr-code.title\", {\n url: url.toString()\n }), value: url.toString(), size: QrSize, color: \"var(--card-fg-color)\", logoSize: QrCodeLogoSize + QrCodeLogoPadding }),\n /* @__PURE__ */ jsx(MotionMonogram, { initial: {\n opacity: -0.5\n }, animate: {\n opacity: 1.5\n }, exit: {\n opacity: 0\n } })\n ] }) }) : /* @__PURE__ */ jsx(MotionText, { muted: !0, size: 1, style: {\n maxWidth: \"100px\",\n textWrap: \"pretty\",\n textAlign: \"center\"\n }, initial: {\n opacity: 0\n }, animate: {\n opacity: 1\n }, exit: {\n opacity: 0\n }, children: t(\"share-preview-menu.qr-code.placeholder\") }) }) }),\n /* @__PURE__ */ jsx(Text, { muted: !0, size: 1, children: t(\"share-preview-menu.qr-code.instructions\") })\n ] }) }),\n /* @__PURE__ */ jsx(MenuDivider, {}),\n /* @__PURE__ */ jsx(MenuItem, { disabled: !url || disabling, icon: CopyIcon, onClick: handleCopyUrl, fontSize: 1, padding: 3, text: t(\"share-preview-menu.copy-url.text\") })\n ] }) : /* @__PURE__ */ jsx(Card, { padding: 2, tone: \"caution\", radius: 3, children: /* @__PURE__ */ jsx(Text, { style: {\n textWrap: \"pretty\"\n }, children: t(\"share-preview-menu.error\", {\n context: \"missing-grants\"\n }) }) }) }), popover: {\n animate: !0,\n constrainSize: !0,\n placement: \"bottom\",\n portal: !0\n } });\n});\nSharePreviewMenu.displayName = \"Memo(SharePreviewMenu)\";\nconst PreviewHeaderDefault = (props) => {\n const $ = c(96), {\n canSharePreviewAccess,\n canToggleSharePreviewAccess,\n canUseSharedPreviewAccess,\n dispatch,\n iframe,\n iframeRef,\n initialUrl,\n navigatorEnabled,\n onPathChange,\n onRefresh,\n openPopup,\n overlaysConnection,\n perspective,\n previewUrl,\n setViewport,\n targetOrigin,\n toggleNavigator,\n toggleOverlay,\n viewport,\n visualEditing: t0\n } = props, {\n overlaysEnabled\n } = t0, {\n t\n } = useTranslation(presentationLocaleNamespace);\n let t1;\n $[0] !== setViewport || $[1] !== viewport ? (t1 = () => setViewport(viewport === \"desktop\" ? \"mobile\" : \"desktop\"), $[0] = setViewport, $[1] = viewport, $[2] = t1) : t1 = $[2];\n const toggleViewportSize = t1;\n let t2;\n t2 = targetOrigin === location.origin ? \"\" : targetOrigin;\n const previewLocationOrigin = t2;\n let t3;\n $[3] !== dispatch || $[4] !== iframeRef.current || $[5] !== onRefresh || $[6] !== previewUrl || $[7] !== targetOrigin ? (t3 = () => {\n onRefresh(() => {\n iframeRef.current && (dispatch({\n type: ACTION_IFRAME_RELOAD\n }), Object.assign(iframeRef.current, {\n src: `${targetOrigin}${previewUrl || \"/\"}`\n }));\n });\n }, $[3] = dispatch, $[4] = iframeRef.current, $[5] = onRefresh, $[6] = previewUrl, $[7] = targetOrigin, $[8] = t3) : t3 = $[8];\n const handleRefresh = t3;\n let t4;\n const previewURL = new URL(previewUrl || \"/\", targetOrigin), {\n pathname,\n search\n } = withoutSecretSearchParams(previewURL);\n t4 = `${pathname}${search}`;\n const previewLocationRoute = t4;\n let t5;\n $[9] !== navigatorEnabled || $[10] !== t || $[11] !== toggleNavigator ? (t5 = toggleNavigator && /* @__PURE__ */ jsx(Box, { flex: \"none\", marginRight: 1, padding: 1, children: /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: /* @__PURE__ */ jsx(Text, { size: 1, children: t(\"preview-frame.navigator.toggle-button.tooltip\") }), fallbackPlacements: [\"bottom-start\"], padding: 2, placement: \"bottom\", portal: !0, children: /* @__PURE__ */ jsx(Button, { \"aria-label\": t(\"preview-frame.navigator.toggle-button.aria-label\"), fontSize: 1, icon: PanelLeftIcon, mode: \"bleed\", onClick: toggleNavigator, padding: 2, selected: navigatorEnabled }) }) }), $[9] = navigatorEnabled, $[10] = t, $[11] = toggleNavigator, $[12] = t5) : t5 = $[12];\n let t6;\n $[13] === Symbol.for(\"react.memo_cache_sentinel\") ? (t6 = {\n whiteSpace: \"nowrap\"\n }, $[13] = t6) : t6 = $[13];\n const t7 = overlaysEnabled ? \"disable\" : \"enable\";\n let t8;\n $[14] !== t || $[15] !== t7 ? (t8 = t(\"preview-frame.overlay.toggle-button.tooltip\", {\n context: t7\n }), $[14] = t, $[15] = t7, $[16] = t8) : t8 = $[16];\n let t9;\n $[17] !== t8 ? (t9 = /* @__PURE__ */ jsx(Box, { padding: 1, children: /* @__PURE__ */ jsx(Text, { size: 1, children: t8 }) }), $[17] = t8, $[18] = t9) : t9 = $[18];\n let t10;\n $[19] === Symbol.for(\"react.memo_cache_sentinel\") ? (t10 = /* @__PURE__ */ jsx(Box, { paddingY: 1, children: /* @__PURE__ */ jsx(Hotkeys, { keys: [\"Alt\"], style: {\n marginTop: -4,\n marginBottom: -4\n } }) }), $[19] = t10) : t10 = $[19];\n let t11;\n $[20] !== t9 ? (t11 = /* @__PURE__ */ jsxs(Flex, { align: \"center\", style: t6, children: [\n t9,\n t10\n ] }), $[20] = t9, $[21] = t11) : t11 = $[21];\n let t12;\n $[22] === Symbol.for(\"react.memo_cache_sentinel\") ? (t12 = [\"bottom-start\"], $[22] = t12) : t12 = $[22];\n let t13;\n $[23] === Symbol.for(\"react.memo_cache_sentinel\") ? (t13 = {\n lineHeight: 0,\n borderRadius: 999,\n userSelect: \"none\"\n }, $[23] = t13) : t13 = $[23];\n const t14 = overlaysEnabled ? \"transparent\" : void 0;\n let t15;\n $[24] === Symbol.for(\"react.memo_cache_sentinel\") ? (t15 = {\n margin: -4\n }, $[24] = t15) : t15 = $[24];\n const t16 = iframe.status === \"loading\" || overlaysConnection !== \"connected\";\n let t17;\n $[25] !== overlaysEnabled || $[26] !== t16 || $[27] !== toggleOverlay ? (t17 = /* @__PURE__ */ jsx(\"div\", { style: t15, children: /* @__PURE__ */ jsx(Switch, { checked: overlaysEnabled, onChange: toggleOverlay, disabled: t16 }) }), $[25] = overlaysEnabled, $[26] = t16, $[27] = toggleOverlay, $[28] = t17) : t17 = $[28];\n const t18 = !overlaysEnabled;\n let t19;\n $[29] !== t ? (t19 = t(\"preview-frame.overlay.toggle-button.text\"), $[29] = t, $[30] = t19) : t19 = $[30];\n let t20;\n $[31] !== t18 || $[32] !== t19 ? (t20 = /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, { muted: t18, size: 1, weight: \"medium\", children: t19 }) }), $[31] = t18, $[32] = t19, $[33] = t20) : t20 = $[33];\n let t21;\n $[34] !== t17 || $[35] !== t20 ? (t21 = /* @__PURE__ */ jsxs(Flex, { align: \"center\", gap: 3, children: [\n t17,\n t20\n ] }), $[34] = t17, $[35] = t20, $[36] = t21) : t21 = $[36];\n let t22;\n $[37] !== t14 || $[38] !== t21 ? (t22 = /* @__PURE__ */ jsx(Card, { as: \"label\", flex: \"none\", marginRight: 1, padding: 3, style: t13, tone: t14, children: t21 }), $[37] = t14, $[38] = t21, $[39] = t22) : t22 = $[39];\n let t23;\n $[40] !== t11 || $[41] !== t22 ? (t23 = /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: t11, fallbackPlacements: t12, padding: 1, placement: \"bottom\", portal: !0, children: t22 }), $[40] = t11, $[41] = t22, $[42] = t23) : t23 = $[42];\n let t24;\n $[43] !== iframe.status || $[44] !== t ? (t24 = iframe.status === \"loaded\" ? t(\"preview-frame.refresh-button.tooltip\") : t(\"preview-frame.status\", {\n context: iframe.status\n }), $[43] = iframe.status, $[44] = t, $[45] = t24) : t24 = $[45];\n let t25;\n $[46] !== t24 ? (t25 = /* @__PURE__ */ jsx(Text, { size: 1, children: t24 }), $[46] = t24, $[47] = t25) : t25 = $[47];\n let t26;\n $[48] === Symbol.for(\"react.memo_cache_sentinel\") ? (t26 = [\"bottom-end\"], $[48] = t26) : t26 = $[48];\n let t27;\n $[49] !== t ? (t27 = t(\"preview-frame.refresh-button.aria-label\"), $[49] = t, $[50] = t27) : t27 = $[50];\n const t28 = iframe.status === \"reloading\" || iframe.status === \"refreshing\";\n let t29;\n $[51] !== handleRefresh || $[52] !== t27 || $[53] !== t28 ? (t29 = /* @__PURE__ */ jsx(Button, { \"aria-label\": t27, fontSize: 1, icon: RefreshIcon, mode: \"bleed\", loading: t28, onClick: handleRefresh, padding: 2 }), $[51] = handleRefresh, $[52] = t27, $[53] = t28, $[54] = t29) : t29 = $[54];\n let t30;\n $[55] !== t25 || $[56] !== t29 ? (t30 = /* @__PURE__ */ jsx(Box, { padding: 1, children: /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: t25, fallbackPlacements: t26, padding: 2, placement: \"bottom\", portal: !0, children: t29 }) }), $[55] = t25, $[56] = t29, $[57] = t30) : t30 = $[57];\n let t31;\n $[58] !== openPopup || $[59] !== previewLocationOrigin || $[60] !== previewLocationRoute ? (t31 = /* @__PURE__ */ jsx(Box, { padding: 1, children: /* @__PURE__ */ jsx(OpenPreviewButton, { openPopup, previewLocationOrigin, previewLocationRoute }) }), $[58] = openPopup, $[59] = previewLocationOrigin, $[60] = previewLocationRoute, $[61] = t31) : t31 = $[61];\n let t32;\n $[62] !== onPathChange || $[63] !== previewLocationOrigin || $[64] !== previewLocationRoute || $[65] !== t30 || $[66] !== t31 ? (t32 = /* @__PURE__ */ jsx(Box, { flex: 1, marginX: 1, children: /* @__PURE__ */ jsx(PreviewLocationInput, { prefix: t30, onChange: onPathChange, origin: previewLocationOrigin, suffix: t31, value: previewLocationRoute }) }), $[62] = onPathChange, $[63] = previewLocationOrigin, $[64] = previewLocationRoute, $[65] = t30, $[66] = t31, $[67] = t32) : t32 = $[67];\n const t33 = viewport === \"desktop\" ? \"narrow\" : \"full\";\n let t34;\n $[68] !== t || $[69] !== t33 ? (t34 = t(\"preview-frame.viewport-button.tooltip\", {\n context: t33\n }), $[68] = t, $[69] = t33, $[70] = t34) : t34 = $[70];\n let t35;\n $[71] !== t34 ? (t35 = /* @__PURE__ */ jsx(Text, { size: 1, children: t34 }), $[71] = t34, $[72] = t35) : t35 = $[72];\n let t36;\n $[73] === Symbol.for(\"react.memo_cache_sentinel\") ? (t36 = [\"bottom-start\"], $[73] = t36) : t36 = $[73];\n let t37;\n $[74] !== t ? (t37 = t(\"preview-frame.viewport-button.aria-label\"), $[74] = t, $[75] = t37) : t37 = $[75];\n const t38 = viewport === \"desktop\" ? MobileDeviceIcon : DesktopIcon;\n let t39;\n $[76] !== t37 || $[77] !== t38 || $[78] !== toggleViewportSize ? (t39 = /* @__PURE__ */ jsx(Button, { \"aria-label\": t37, fontSize: 1, icon: t38, mode: \"bleed\", onClick: toggleViewportSize, padding: 2 }), $[76] = t37, $[77] = t38, $[78] = toggleViewportSize, $[79] = t39) : t39 = $[79];\n let t40;\n $[80] !== t35 || $[81] !== t39 ? (t40 = /* @__PURE__ */ jsx(Flex, { align: \"center\", flex: \"none\", gap: 1, children: /* @__PURE__ */ jsx(Tooltip, { animate: !0, content: t35, fallbackPlacements: t36, padding: 2, placement: \"bottom\", portal: !0, children: t39 }) }), $[80] = t35, $[81] = t39, $[82] = t40) : t40 = $[82];\n let t41;\n $[83] !== canSharePreviewAccess || $[84] !== canToggleSharePreviewAccess || $[85] !== canUseSharedPreviewAccess || $[86] !== initialUrl || $[87] !== perspective || $[88] !== previewLocationRoute ? (t41 = canSharePreviewAccess && /* @__PURE__ */ jsx(Flex, { align: \"center\", flex: \"none\", gap: 1, paddingX: 1, children: /* @__PURE__ */ jsx(SharePreviewMenu, { canToggleSharePreviewAccess, canUseSharedPreviewAccess, previewLocationRoute, initialUrl, perspective }) }), $[83] = canSharePreviewAccess, $[84] = canToggleSharePreviewAccess, $[85] = canUseSharedPreviewAccess, $[86] = initialUrl, $[87] = perspective, $[88] = previewLocationRoute, $[89] = t41) : t41 = $[89];\n let t42;\n return $[90] !== t23 || $[91] !== t32 || $[92] !== t40 || $[93] !== t41 || $[94] !== t5 ? (t42 = /* @__PURE__ */ jsxs(Fragment, { children: [\n t5,\n t23,\n t32,\n t40,\n t41\n ] }), $[90] = t23, $[91] = t32, $[92] = t40, $[93] = t41, $[94] = t5, $[95] = t42) : t42 = $[95], t42;\n}, PreviewHeader = (props) => {\n const $ = c(6), renderDefault = _temp$3;\n let t0;\n $[0] !== props ? (t0 = props.options?.component ? createElement(props.options.component, {\n ...props,\n renderDefault\n }) : renderDefault(props), $[0] = props, $[1] = t0) : t0 = $[1];\n const header = t0;\n let t1;\n $[2] === Symbol.for(\"react.memo_cache_sentinel\") ? (t1 = {\n position: \"relative\"\n }, $[2] = t1) : t1 = $[2];\n let t2;\n $[3] === Symbol.for(\"react.memo_cache_sentinel\") ? (t2 = {\n minHeight: 0\n }, $[3] = t2) : t2 = $[3];\n let t3;\n return $[4] !== header ? (t3 = /* @__PURE__ */ jsx(Card, { flex: \"none\", padding: 2, borderBottom: !0, style: t1, children: /* @__PURE__ */ jsx(Flex, { align: \"center\", style: t2, children: header }) }), $[4] = header, $[5] = t3) : t3 = $[5], t3;\n};\nfunction usePresentationPreviewHeader(props) {\n const $ = c(2);\n let t0;\n return $[0] !== props ? (t0 = () => /* @__PURE__ */ jsx(PreviewHeader, { ...props }), $[0] = props, $[1] = t0) : t0 = $[1], t0;\n}\nfunction _temp$3(props_0) {\n return createElement(PreviewHeaderDefault, props_0);\n}\nconst MotionFlex = motion.create(Flex), Preview = memo(forwardRef(function(props, forwardedRef) {\n const {\n dispatch,\n iframe,\n header,\n initialUrl,\n loadersConnection,\n overlaysConnection,\n viewport\n } = props, {\n t\n } = useTranslation(presentationLocaleNamespace), {\n devMode\n } = usePresentationTool(), prefersReducedMotion = usePrefersReducedMotion(), ref = useRef(null), PreviewHeader2 = usePresentationPreviewHeader({\n ...props,\n iframeRef: ref,\n options: header\n });\n useImperativeHandle(forwardedRef, () => ref.current);\n const loading = iframe.status === \"loading\" || iframe.status === \"reloading\", [timedOut, setTimedOut] = useState(!1), refreshing = iframe.status === \"refreshing\", [somethingIsWrong, setSomethingIsWrong] = useState(!1), iframeIsBusy = loading || refreshing || overlaysConnection === \"connecting\", handleRetry = useCallback(() => {\n ref.current && (ref.current.src = initialUrl.toString(), dispatch({\n type: ACTION_IFRAME_RELOAD\n }));\n }, [dispatch, initialUrl]), handleContinueAnyway = useCallback(() => {\n setContinueAnyway(!0);\n }, []), [continueAnyway, setContinueAnyway] = useState(!1), [showOverlaysConnectionStatus, setShowOverlaysConnectionState] = useState(!1);\n useEffect(() => {\n if (!(loading || refreshing) && (overlaysConnection === \"connecting\" || overlaysConnection === \"reconnecting\")) {\n const timeout = setTimeout(() => {\n setShowOverlaysConnectionState(!0);\n }, 5e3);\n return () => clearTimeout(timeout);\n }\n }, [overlaysConnection, loading, refreshing]), useEffect(() => {\n if (!(loading || refreshing || !showOverlaysConnectionStatus)) {\n if (overlaysConnection === \"connected\" && (setSomethingIsWrong(!1), setShowOverlaysConnectionState(!1), setTimedOut(!1), setContinueAnyway(!1)), overlaysConnection === \"connecting\") {\n const timeout_0 = setTimeout(() => {\n setTimedOut(!0), console.error(\"Unable to connect to visual editing. Make sure you've setup '@sanity/visual-editing' correctly\");\n }, MAX_TIME_TO_OVERLAYS_CONNECTION);\n return () => clearTimeout(timeout_0);\n }\n if (overlaysConnection === \"reconnecting\") {\n const timeout_1 = setTimeout(() => {\n setTimedOut(!0), setSomethingIsWrong(!0);\n }, MAX_TIME_TO_OVERLAYS_CONNECTION);\n return () => clearTimeout(timeout_1);\n }\n }\n }, [loading, overlaysConnection, refreshing, showOverlaysConnectionStatus]);\n const onIFrameLoad = useCallback(() => {\n dispatch({\n type: ACTION_IFRAME_LOADED\n });\n }, [dispatch]);\n useEffect(() => {\n if (!ref.current)\n return;\n const instance = ref.current;\n function handleBlur() {\n instance === document.activeElement && instance.dispatchEvent(new MouseEvent(\"mousedown\", {\n bubbles: !0,\n cancelable: !0\n }));\n }\n return window.addEventListener(\"blur\", handleBlur), () => {\n window.removeEventListener(\"blur\", handleBlur);\n };\n }, []);\n const preventIframeInteraction = useMemo(() => (loading || overlaysConnection === \"connecting\" && iframe.status !== \"refreshing\") && !continueAnyway, [continueAnyway, iframe.status, loading, overlaysConnection]), canUseViewTransition = useSyncExternalStore(useCallback(() => () => {\n }, []), () => CSS.supports(\"(view-transition-name: test)\")), iframeAnimations = useMemo(() => [\n preventIframeInteraction ? \"background\" : \"active\",\n loading ? \"reloading\" : \"idle\",\n // If CSS View Transitions are supported, then transition iframe viewport dimensions with that instead of Motion\n canUseViewTransition ? \"\" : viewport,\n showOverlaysConnectionStatus && !continueAnyway ? \"timedOut\" : \"\"\n ], [canUseViewTransition, continueAnyway, loading, preventIframeInteraction, showOverlaysConnectionStatus, viewport]), [currentViewport, setCurrentViewport] = useState(viewport), [iframeStyle, setIframeStyle] = useState(iframeVariants[viewport]);\n return useEffect(() => {\n if (canUseViewTransition && viewport !== currentViewport) {\n const update = () => {\n setCurrentViewport(viewport), setIframeStyle(iframeVariants[viewport]);\n };\n !prefersReducedMotion && \"startViewTransition\" in document && typeof document.startViewTransition == \"function\" ? document.startViewTransition(() => flushSync(() => update())) : update();\n }\n }, [canUseViewTransition, prefersReducedMotion, currentViewport, viewport]), /* @__PURE__ */ jsx(MotionConfig, { transition: prefersReducedMotion ? {\n duration: 0\n } : void 0, children: /* @__PURE__ */ jsxs(TooltipDelayGroupProvider, { delay: 1e3, children: [\n /* @__PURE__ */ jsx(PreviewHeader2, {}),\n /* @__PURE__ */ jsx(Card, { flex: 1, tone: \"transparent\", children: /* @__PURE__ */ jsxs(Flex, { align: \"center\", height: \"fill\", justify: \"center\", padding: (canUseViewTransition ? currentViewport : viewport) === \"desktop\" ? 0 : 2, sizing: \"border\", style: {\n position: \"relative\",\n cursor: iframeIsBusy ? \"wait\" : void 0\n }, children: [\n /* @__PURE__ */ jsx(AnimatePresence, { children: !somethingIsWrong && !loading && !refreshing && // viewport, // using CSS View Transitions instead of framer motion to drive this\n showOverlaysConnectionStatus && !continueAnyway ? /* @__PURE__ */ jsx(MotionFlex, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: spinnerVariants, justify: \"center\", align: \"center\", style: {\n inset: \"0\",\n position: \"absolute\",\n backdropFilter: timedOut ? \"blur(16px) saturate(0.5) grayscale(0.5)\" : \"blur(2px)\",\n transition: \"backdrop-filter 0.2s ease-in-out\",\n // @TODO Because of Safari we have to do this\n WebkitBackdropFilter: timedOut ? \"blur(16px) saturate(0.5) grayscale(0.5)\" : \"blur(2px)\",\n WebkitTransition: \"-webkit-backdrop-filter 0.2s ease-in-out\",\n zIndex: 1\n }, children: /* @__PURE__ */ jsxs(Flex, { style: {\n ...sizes[viewport]\n }, justify: \"center\", align: \"center\", direction: \"column\", gap: 4, children: [\n timedOut && /* @__PURE__ */ jsx(Button, { disabled: !0, fontSize: 1, mode: \"ghost\", text: t(\"preview-frame.continue-button.text\"), style: {\n opacity: 0\n } }),\n /* @__PURE__ */ jsx(Card, { radius: 2, tone: timedOut ? \"caution\" : \"inherit\", padding: 4, shadow: 1, children: /* @__PURE__ */ jsxs(Flex, { justify: \"center\", align: \"center\", direction: \"column\", gap: 4, children: [\n /* @__PURE__ */ jsx(Spinner, { muted: !0 }),\n /* @__PURE__ */ jsx(Text, { muted: !0, size: 1, children: timedOut ? t(\"preview-frame.status\", {\n context: \"timeout\"\n }) : t(\"preview-frame.status\", {\n context: \"connecting\"\n }) })\n ] }) }),\n timedOut && /* @__PURE__ */ jsx(\n Button,\n {\n fontSize: 1,\n tone: \"critical\",\n onClick: handleContinueAnyway,\n text: t(\"preview-frame.continue-button.text\")\n }\n )\n ] }) }) : (loading || overlaysConnection === \"connecting\" && iframe.status !== \"refreshing\") && !continueAnyway ? /* @__PURE__ */ jsx(MotionFlex, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: spinnerVariants, justify: \"center\", align: \"center\", style: {\n inset: \"0\",\n position: \"absolute\"\n // boxShadow: '0 0 0 1px var(--card-shadow-outline-color)',\n }, children: /* @__PURE__ */ jsxs(Flex, { style: {\n ...sizes[viewport]\n }, justify: \"center\", align: \"center\", direction: \"column\", gap: 4, children: [\n /* @__PURE__ */ jsx(Spinner, { muted: !0 }),\n /* @__PURE__ */ jsx(Text, { muted: !0, size: 1, children: t(\"preview-frame.status\", {\n context: \"loading\"\n }) })\n ] }) }) : somethingIsWrong && !continueAnyway ? /* @__PURE__ */ jsx(MotionFlex, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: errorVariants, justify: \"center\", align: \"center\", style: {\n background: \"var(--card-bg-color)\",\n inset: \"0\",\n position: \"absolute\"\n }, children: /* @__PURE__ */ jsx(ErrorCard, { flex: 1, message: t(\"preview-frame.connection.error.text\"), onRetry: handleRetry, onContinueAnyway: handleContinueAnyway, children: devMode && /* @__PURE__ */ jsxs(Fragment, { children: [\n overlaysConnection !== \"connected\" && /* @__PURE__ */ jsx(Card, { padding: 3, radius: 2, tone: \"critical\", children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n /* @__PURE__ */ jsx(Label, { muted: !0, size: 0, children: t(\"preview-frame.overlay.connection-status.label\") }),\n /* @__PURE__ */ jsx(Code, { size: 1, children: t(\"channel.status\", {\n context: overlaysConnection\n }) })\n ] }) }),\n loadersConnection !== \"connected\" && /* @__PURE__ */ jsx(Card, { padding: 3, radius: 2, tone: \"critical\", children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [\n /* @__PURE__ */ jsx(Label, { muted: !0, size: 0, children: t(\"preview-frame.loader.connection-status.label\") }),\n /* @__PURE__ */ jsx(Code, { size: 1, children: t(\"channel.status\", {\n context: loadersConnection\n }) })\n ] }) })\n ] }) }) }) : null }),\n /* @__PURE__ */ jsx(IFrame, { animate: iframeAnimations, initial: [\"background\"], onLoad: onIFrameLoad, preventClick: preventIframeInteraction, ref, src: initialUrl.toString(), style: iframeStyle, variants: iframeVariants })\n ] }) })\n ] }) });\n}));\nPreview.displayName = \"Memo(ForwardRef(Preview))\";\nconst sizes = {\n desktop: {\n width: \"100%\",\n height: \"100%\"\n },\n mobile: {\n width: 375,\n height: 650\n }\n}, spinnerVariants = {\n initial: {\n opacity: 1\n },\n animate: {\n opacity: [0, 0, 1]\n },\n exit: {\n opacity: [1, 0, 0]\n }\n}, errorVariants = {\n initial: {\n opacity: 1\n },\n animate: {\n opacity: [0, 0, 1]\n },\n exit: {\n opacity: [1, 0, 0]\n }\n}, iframeVariants = {\n desktop: {\n ...sizes.desktop,\n boxShadow: \"0 0 0 0px var(--card-border-color)\"\n },\n mobile: {\n ...sizes.mobile,\n boxShadow: \"0 0 0 1px var(--card-border-color)\"\n },\n background: {\n opacity: 0,\n scale: 1\n },\n idle: {\n scale: 1\n },\n reloading: {\n scale: [1, 1, 1, 0.98]\n },\n active: {\n opacity: [0, 0, 1],\n scale: 1\n },\n timedOut: {\n opacity: [0, 0, 1]\n }\n};\nfunction defineWarnOnce() {\n let warned = !1;\n return (...args) => {\n warned || (console.warn(...args), warned = !0);\n };\n}\nconst warnOnceAboutCrossDatasetReference = defineWarnOnce();\nfunction useDocumentsOnPage(perspective, frameStateRef) {\n validateApiPerspective(perspective);\n const [published, setPublished] = useState({}), [previewDrafts, setPreviewDrafts] = useState({}), urlRef = useRef(\"\"), setDocumentsOnPage = useCallback((key, perspective_0, sourceDocuments = []) => {\n const documents = sourceDocuments.filter((sourceDocument) => \"_projectId\" in sourceDocument && sourceDocument._projectId ? (warnOnceAboutCrossDatasetReference(\"Cross dataset references are not supported yet, ignoring source document\", sourceDocument), !1) : sourceDocument);\n (perspective_0 === \"published\" ? setPublished : setPreviewDrafts)((cache) => {\n const next = {};\n for (const document2 of documents)\n next[document2._id] = document2;\n if (urlRef.current !== frameStateRef.current.url)\n return urlRef.current = frameStateRef.current.url, {\n [key]: next\n };\n const prev = cache[key];\n return isEqual(prev, next) ? cache : {\n ...cache,\n [key]: next\n };\n });\n }, [frameStateRef]);\n return [useMemo(() => {\n const uniqueDocuments = Object.values(perspective === \"published\" ? published : previewDrafts).reduce((acc, cache_0) => (Object.values(cache_0).forEach((doc) => {\n acc[doc._id] = doc;\n }), acc), {});\n return Object.values(uniqueDocuments);\n }, [perspective, previewDrafts, published]), setDocumentsOnPage];\n}\nfunction fnOrObj(arg, context) {\n return arg instanceof Function ? arg(context) : arg;\n}\nfunction getQueryFromResult(resolver, context) {\n if (resolver.resolve) {\n const filter = resolver.resolve(context)?.filter;\n return filter ? `// groq\n*[${filter}][0]{_id, _type}` : void 0;\n }\n return \"type\" in resolver ? `// groq\n*[_type == \"${resolver.type}\"][0]{_id, _type}` : `// groq\n*[${fnOrObj(resolver.filter, context)}][0]{_id, _type}`;\n}\nfunction getParamsFromResult(resolver, context) {\n return resolver.resolve ? resolver.resolve(context)?.params ?? context.params : \"type\" in resolver ? {} : fnOrObj(resolver.params, context) ?? context.params;\n}\nfunction getRouteContext(route, url) {\n const routes = Array.isArray(route) ? route : [route];\n for (route of routes) {\n let origin, path = route;\n if (typeof route == \"string\")\n try {\n const absolute = new URL(route);\n origin = absolute.origin, path = absolute.pathname;\n } catch {\n }\n if (!(origin && url.origin !== origin))\n try {\n const result = match(path, {\n decode: decodeURIComponent\n })(url.pathname);\n if (result) {\n const {\n params,\n path: path2\n } = result;\n return {\n origin,\n params,\n path: path2\n };\n }\n } catch {\n throw new Error(`\"${route}\" is not a valid route pattern`);\n }\n }\n}\nfunction useMainDocument(props) {\n const $ = c(16), {\n navigate,\n navigationHistory,\n path,\n previewUrl,\n resolvers: t0\n } = props;\n let t1;\n $[0] !== t0 ? (t1 = t0 === void 0 ? [] : t0, $[0] = t0, $[1] = t1) : t1 = $[1];\n const resolvers = t1, {\n state: routerState\n } = useRouter();\n let t2;\n $[2] === Symbol.for(\"react.memo_cache_sentinel\") ? (t2 = {\n apiVersion: API_VERSION\n }, $[2] = t2) : t2 = $[2];\n const client = useClient(t2);\n let t3;\n $[3] !== path || $[4] !== routerState ? (t3 = path || routerState._searchParams?.find(_temp$2)?.[1] || \"\", $[3] = path, $[4] = routerState, $[5] = t3) : t3 = $[5];\n const relativeUrl = t3, [mainDocumentState, setMainDocumentState] = useState(void 0), mainDocumentIdRef = useRef(void 0);\n let t4;\n $[6] !== navigate || $[7] !== navigationHistory ? (t4 = (doc, url) => {\n (!doc || mainDocumentIdRef.current !== doc._id) && (setMainDocumentState({\n document: doc,\n path: url.pathname\n }), mainDocumentIdRef.current = doc?._id, navigationHistory.at(-1)?.id === navigationHistory.at(-2)?.id && navigate?.({\n id: doc?._id,\n type: doc?._type\n }));\n }, $[6] = navigate, $[7] = navigationHistory, $[8] = t4) : t4 = $[8];\n const handleResponse = useEffectEvent(t4);\n let t5, t6;\n return $[9] !== client || $[10] !== handleResponse || $[11] !== previewUrl || $[12] !== relativeUrl || $[13] !== resolvers ? (t5 = () => {\n const base = typeof previewUrl == \"string\" ? previewUrl : typeof previewUrl == \"object\" && previewUrl?.origin || location.origin, url_0 = new URL(relativeUrl, base);\n if (resolvers.length) {\n let result;\n for (const resolver of resolvers) {\n const context = getRouteContext(resolver.route, url_0);\n if (context) {\n result = {\n context,\n resolver\n };\n break;\n }\n }\n if (result) {\n const query = getQueryFromResult(result.resolver, result.context), params = getParamsFromResult(result.resolver, result.context);\n if (query) {\n const controller = new AbortController(), options = {\n perspective: \"previewDrafts\",\n signal: controller.signal\n };\n return client.fetch(query, params, options).then((doc_0) => handleResponse(doc_0, url_0)).catch((e) => {\n e instanceof Error && e.name === \"AbortError\" || (setMainDocumentState({\n document: void 0,\n path: url_0.pathname\n }), mainDocumentIdRef.current = void 0);\n }), () => {\n controller.abort();\n };\n }\n }\n }\n setMainDocumentState(void 0), mainDocumentIdRef.current = void 0;\n }, t6 = [client, handleResponse, previewUrl, relativeUrl, resolvers], $[9] = client, $[10] = handleResponse, $[11] = previewUrl, $[12] = relativeUrl, $[13] = resolvers, $[14] = t5, $[15] = t6) : (t5 = $[14], t6 = $[15]), useEffect(t5, t6), mainDocumentState;\n}\nfunction _temp$2(t0) {\n const [key] = t0;\n return key === \"preview\";\n}\nfunction parseId(rawId) {\n if (rawId === void 0)\n return;\n const segments = decodeURIComponent(rawId)?.split(\".\");\n return segments[0] === \"drafts\" && segments.shift(), segments.join(\".\");\n}\nfunction parsePath(rawPath) {\n if (rawPath !== void 0)\n return studioPath.toString(urlStringToPath(decodeURIComponent(rawPath)));\n}\nfunction parseRouterState(state) {\n return {\n id: parseId(state.id),\n path: parsePath(state.path),\n type: state.type\n };\n}\nfunction pruneObject(obj) {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== void 0 && value !== \"\" && value !== null));\n}\nfunction useParams({\n initialPreviewUrl,\n routerNavigate,\n routerState,\n routerSearchParams,\n frameStateRef\n}) {\n const params = useMemo(() => {\n const {\n id,\n path,\n type\n } = parseRouterState(routerState);\n return {\n id,\n type,\n path,\n preview: routerSearchParams.preview || `${initialPreviewUrl.pathname}${initialPreviewUrl.search}`,\n perspective: routerSearchParams.perspective,\n viewport: routerSearchParams.viewport,\n inspect: routerSearchParams.inspect,\n rev: routerSearchParams.rev,\n since: routerSearchParams.since,\n template: routerSearchParams.template,\n templateParams: routerSearchParams.templateParams,\n view: routerSearchParams.view,\n // assist\n pathKey: routerSearchParams.pathKey,\n instruction: routerSearchParams.instruction,\n // comments\n comment: routerSearchParams.comment,\n changesInspectorTab: routerSearchParams.changesInspectorTab\n };\n }, [routerState, routerSearchParams, initialPreviewUrl]), structureParams = useMemo(() => pruneObject({\n inspect: params.inspect,\n path: params.path,\n rev: params.rev,\n since: params.since,\n template: params.template,\n templateParams: params.templateParams,\n view: params.view,\n // assist\n pathKey: params.pathKey,\n instruction: params.instruction,\n // comments\n comment: params.comment,\n changesInspectorTab: params.changesInspectorTab\n }), [params.changesInspectorTab, params.comment, params.inspect, params.instruction, params.path, params.pathKey, params.rev, params.since, params.template, params.templateParams, params.view]), searchParams = useMemo(() => pruneObject({\n perspective: params.perspective,\n preview: params.preview,\n viewport: params.viewport\n }), [params.perspective, params.preview, params.viewport]), routerStateRef = useRef(routerState);\n useEffect(() => {\n routerStateRef.current = routerState;\n }, [routerState]);\n const [navigationHistory, setNavigationHistory] = useState([routerState]);\n return {\n navigate: useCallback((nextState, nextSearchState = {}, forceReplace) => {\n nextState.id && (nextState.id = getPublishedId(nextState.id));\n const {\n _searchParams: routerSearchParams_0,\n ...routerState_0\n } = routerStateRef.current, routerSearchState = (routerSearchParams_0 || []).reduce((acc, [key, value]) => (acc[key] = value, acc), {}), state = pruneObject({\n ...routerState_0,\n ...nextState\n }), searchState = pruneObject({\n ...routerSearchState,\n ...nextSearchState\n });\n routerState_0.id !== state.id && (delete searchState.template, delete searchState.templateParams), state._searchParams = Object.entries(searchState).reduce((acc_0, [key_0, value_0]) => [...acc_0, [key_0, value_0]], []);\n const replace = forceReplace ?? searchState.preview === frameStateRef.current.url;\n setNavigationHistory((prev) => [...prev, state]), routerNavigate(state, {\n replace\n });\n }, [routerNavigate, frameStateRef]),\n navigationHistory,\n params,\n searchParams,\n structureParams\n };\n}\nconst usePopups = (controller) => {\n const $ = c(10), [popups, setPopups] = useState(_temp$1);\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = (url) => {\n const source = window.open(url, \"_blank\");\n source && setPopups((prev) => new Set(prev).add(source));\n }, $[0] = t0) : t0 = $[0];\n const open = t0;\n let t1, t2;\n $[1] !== controller || $[2] !== popups ? (t1 = () => {\n const unsubs = [];\n if (popups.size && controller)\n for (const source_0 of popups)\n source_0 && \"closed\" in source_0 && !source_0.closed && unsubs.push(controller.addTarget(source_0));\n return () => {\n unsubs.forEach(_temp2$1);\n };\n }, t2 = [controller, popups], $[1] = controller, $[2] = popups, $[3] = t1, $[4] = t2) : (t1 = $[3], t2 = $[4]), useEffect(t1, t2);\n let t3, t4;\n $[5] !== popups ? (t3 = () => {\n if (popups.size) {\n const interval = setInterval(() => {\n const closed = /* @__PURE__ */ new Set();\n for (const source_1 of popups)\n source_1 && \"closed\" in source_1 && source_1.closed && closed.add(source_1);\n closed.size && setPopups((prev_0) => {\n const next = new Set(prev_0);\n for (const source_2 of closed)\n next.delete(source_2);\n return next;\n });\n }, POPUP_CHECK_INTERVAL);\n return () => {\n clearInterval(interval);\n };\n }\n }, t4 = [popups], $[5] = popups, $[6] = t3, $[7] = t4) : (t3 = $[6], t4 = $[7]), useEffect(t3, t4);\n let t5;\n return $[8] !== popups ? (t5 = {\n popups,\n open\n }, $[8] = popups, $[9] = t5) : t5 = $[9], t5;\n};\nfunction _temp$1() {\n return /* @__PURE__ */ new Set();\n}\nfunction _temp2$1(unsub) {\n return unsub();\n}\nfunction usePreviewUrl(previewUrl, toolName, studioPreviewPerspective, previewSearchParam, canCreateUrlPreviewSecrets) {\n const client = useClient({\n apiVersion: API_VERSION\n }), workspace = useActiveWorkspace(), basePath = workspace?.activeWorkspace?.basePath || \"/\", workspaceName = workspace?.activeWorkspace?.name || \"default\", deps = useSuspendCacheKeys(toolName, basePath, workspaceName, previewSearchParam), previewUrlSecret = usePreviewUrlSecret(canCreateUrlPreviewSecrets && typeof previewUrl == \"object\" || typeof previewUrl == \"function\", deps);\n return suspend(async () => {\n if (typeof previewUrl == \"string\") {\n const resolvedUrl2 = new URL(previewUrl, location.origin);\n let resultUrl = resolvedUrl2;\n try {\n if (previewSearchParam) {\n const restoredUrl = new URL(previewSearchParam, resolvedUrl2);\n restoredUrl.origin === resolvedUrl2.origin && (resultUrl = restoredUrl);\n }\n } catch {\n }\n return location.origin === resultUrl.origin && (resultUrl.pathname.startsWith(`${basePath}/`) || resultUrl.pathname === basePath) ? resolvedUrl2 : resultUrl;\n }\n const resolvedUrl = await (typeof previewUrl == \"object\" ? definePreviewUrl(previewUrl) : previewUrl)({\n client,\n previewUrlSecret,\n studioPreviewPerspective: Array.isArray(studioPreviewPerspective) ? studioPreviewPerspective.join(\",\") : studioPreviewPerspective,\n previewSearchParam,\n studioBasePath: basePath\n });\n return new URL(resolvedUrl, location.origin);\n }, [...deps, previewUrlSecret]);\n}\nconst resolveUUID = Symbol();\nfunction useSuspendCacheKeys(toolName, basePath, workspaceName, previewSearchParam) {\n const $ = c(12);\n let t0;\n $[0] !== previewSearchParam ? (t0 = () => previewSearchParam || \"\", $[0] = previewSearchParam, $[1] = t0) : t0 = $[1];\n const [cachedPreviewSearchParam, setCachedPreviewSearchParam] = useState(t0), timeoutRef = useRef(0);\n let t1, t2;\n $[2] !== cachedPreviewSearchParam || $[3] !== previewSearchParam ? (t1 = () => {\n if (cachedPreviewSearchParam && previewSearchParam)\n return window.clearTimeout(timeoutRef.current), () => {\n timeoutRef.current = window.setTimeout(() => {\n setCachedPreviewSearchParam(\"\");\n }, 100);\n };\n }, t2 = [cachedPreviewSearchParam, previewSearchParam], $[2] = cachedPreviewSearchParam, $[3] = previewSearchParam, $[4] = t1, $[5] = t2) : (t1 = $[4], t2 = $[5]), useEffect(t1, t2);\n const currentUser = useCurrentUser();\n let t3;\n const t4 = currentUser?.id;\n let t5;\n return $[6] !== basePath || $[7] !== cachedPreviewSearchParam || $[8] !== t4 || $[9] !== toolName || $[10] !== workspaceName ? (t5 = [\"@sanity/presentation\", basePath, workspaceName, toolName, t4, resolveUUID, cachedPreviewSearchParam], $[6] = basePath, $[7] = cachedPreviewSearchParam, $[8] = t4, $[9] = toolName, $[10] = workspaceName, $[11] = t5) : t5 = $[11], t3 = t5, t3;\n}\nfunction usePreviewUrlSecret(enabled, deps) {\n const $ = c(10);\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = {\n apiVersion: API_VERSION\n }, $[0] = t0) : t0 = $[0];\n const client = useClient(t0), currentUser = useCurrentUser(), [secretLastExpiredAt, setSecretLastExpiredAt] = useState(\"\");\n let t1;\n $[1] !== client || $[2] !== currentUser?.id || $[3] !== deps || $[4] !== enabled || $[5] !== secretLastExpiredAt ? (t1 = enabled ? suspend(async () => await createPreviewSecret(client, \"@sanity/presentation\", typeof window > \"u\" ? \"\" : location.href, currentUser?.id), [...deps, secretLastExpiredAt]) : null, $[1] = client, $[2] = currentUser?.id, $[3] = deps, $[4] = enabled, $[5] = secretLastExpiredAt, $[6] = t1) : t1 = $[6];\n const previewUrlSecret = t1;\n let t2, t3;\n return $[7] !== previewUrlSecret ? (t2 = () => {\n if (!previewUrlSecret)\n return;\n const timeout = setTimeout(() => {\n startTransition(() => setSecretLastExpiredAt(previewUrlSecret.expiresAt.toString()));\n }, previewUrlSecret.expiresAt.getTime() - Date.now());\n return () => clearTimeout(timeout);\n }, t3 = [previewUrlSecret], $[7] = previewUrlSecret, $[8] = t2, $[9] = t3) : (t2 = $[8], t3 = $[9]), useEffect(t2, t3), previewUrlSecret?.secret || null;\n}\nfunction useStatus() {\n const $ = c(4);\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = /* @__PURE__ */ new Map(), $[0] = t0) : t0 = $[0];\n const [statusMap, setStatusMap] = useState(t0);\n let t1;\n bb0: {\n const values = Array.from(statusMap.values());\n if (values.find(_temp)) {\n t1 = \"connected\";\n break bb0;\n }\n const handshaking = values.filter(_temp2);\n if (handshaking.length) {\n t1 = handshaking.some(_temp3) ? \"connecting\" : \"reconnecting\";\n break bb0;\n }\n t1 = \"idle\";\n }\n const status_1 = t1;\n let t2;\n $[1] === Symbol.for(\"react.memo_cache_sentinel\") ? (t2 = (event) => {\n setStatusMap((prev) => {\n const next = new Map(prev);\n if (event.status === \"disconnected\")\n next.delete(event.connection);\n else {\n const hasConnected_0 = next.get(event.connection)?.hasConnected || event.status === \"connected\", status_2 = event.status === \"handshaking\" ? \"connecting\" : event.status;\n next.set(event.connection, {\n status: status_2,\n hasConnected: hasConnected_0\n });\n }\n return next;\n });\n }, $[1] = t2) : t2 = $[1];\n const setStatusFromEvent = t2;\n let t3;\n return $[2] !== status_1 ? (t3 = [status_1, setStatusFromEvent], $[2] = status_1, $[3] = t3) : t3 = $[3], t3;\n}\nfunction _temp3(t0) {\n const {\n hasConnected\n } = t0;\n return !hasConnected;\n}\nfunction _temp2(t0) {\n const {\n status: status_0\n } = t0;\n return status_0 === \"connecting\";\n}\nfunction _temp(t0) {\n const {\n status\n } = t0;\n return status === \"connected\";\n}\nlazy(() => import(\"./LoaderQueries.js\"));\nconst LiveQueries = lazy(() => import(\"./LiveQueries.js\")), PostMessageDocuments = lazy(() => import(\"./PostMessageDocuments.js\")), PostMessageFeatures = lazy(() => import(\"./PostMessageFeatures.js\")), PostMessageRefreshMutations = lazy(() => import(\"./PostMessageRefreshMutations.js\")), PostMessagePerspective = lazy(() => import(\"./PostMessagePerspective.js\")), PostMessagePreviewSnapshots = lazy(() => import(\"./PostMessagePreviewSnapshots.js\")), PostMessageSchema = lazy(() => import(\"./PostMessageSchema.js\")), PostMessageTelemetry = lazy(() => import(\"./PostMessageTelemetry.js\")), Container = styled(Flex)`\n overflow-x: auto;\n`;\nfunction PresentationTool(props) {\n const {\n canCreateUrlPreviewSecrets,\n canToggleSharePreviewAccess,\n canUseSharedPreviewAccess,\n tool\n } = props, components = tool.options?.components, _previewUrl = tool.options?.previewUrl, name = tool.name || DEFAULT_TOOL_NAME, {\n unstable_navigator,\n unstable_header\n } = components || {}, {\n navigate: routerNavigate,\n state: routerState\n } = useRouter(), routerSearchParams = useUnique(Object.fromEntries(routerState._searchParams || [])), {\n perspectiveStack,\n selectedPerspectiveName = \"previewDrafts\"\n } = usePerspective(), perspective = selectedPerspectiveName.startsWith(\"r\") ? perspectiveStack : selectedPerspectiveName, initialPreviewUrl = usePreviewUrl(_previewUrl || \"/\", name, perspective, routerSearchParams.preview || null, canCreateUrlPreviewSecrets), canSharePreviewAccess = useMemo(() => _previewUrl && typeof _previewUrl == \"object\" && \"draftMode\" in _previewUrl && _previewUrl.draftMode ? (console.warn(\"previewUrl.draftMode is deprecated, use previewUrl.previewMode instead\"), _previewUrl.draftMode.shareAccess !== !1) : _previewUrl && typeof _previewUrl == \"object\" && \"previewMode\" in _previewUrl && _previewUrl.previewMode ? _previewUrl.previewMode.shareAccess !== !1 : !1, [_previewUrl]), [devMode] = useState(() => {\n const option = tool.options?.devMode;\n return typeof option == \"function\" ? option() : typeof option == \"boolean\" ? option : typeof window < \"u\" && window.location.hostname === \"localhost\";\n }), targetOrigin = useMemo(() => initialPreviewUrl.origin, [initialPreviewUrl.origin]), iframeRef = useRef(null), [controller, setController] = useState(), [visualEditingComlink, setVisualEditingComlink] = useState(null), frameStateRef = useRef({\n title: void 0,\n url: void 0\n }), {\n navigate: _navigate,\n navigationHistory,\n params,\n searchParams,\n structureParams\n } = useParams({\n initialPreviewUrl,\n routerNavigate,\n routerState,\n routerSearchParams,\n frameStateRef\n }), navigate = useMemo(() => debounce(_navigate, 50), [_navigate]), [state, dispatch] = useReducer(presentationReducer, {}, presentationReducerInit), viewport = useMemo(() => params.viewport ? \"mobile\" : \"desktop\", [params.viewport]), [documentsOnPage, setDocumentsOnPage] = useDocumentsOnPage(perspective, frameStateRef), projectId = useProjectId(), dataset = useDataset(), mainDocumentState = useMainDocument({\n // Prevent flash of content by using immediate navigation\n navigate: _navigate,\n navigationHistory,\n path: params.preview,\n previewUrl: tool.options?.previewUrl,\n resolvers: tool.options?.resolve?.mainDocuments\n }), [overlaysConnection, setOverlaysConnection] = useStatus(), [loadersConnection, setLoadersConnection] = useStatus(), [previewKitConnection, setPreviewKitConnection] = useStatus(), {\n open: handleOpenPopup\n } = usePopups(controller), isLoading = state.iframe.status === \"loading\";\n useEffect(() => {\n const target = iframeRef.current?.contentWindow;\n if (!target || isLoading) return;\n const controller_0 = createController({\n targetOrigin\n });\n return controller_0.addTarget(target), setController(controller_0), () => {\n controller_0.destroy(), setController(void 0);\n };\n }, [targetOrigin, isLoading]);\n const handleNavigate = useEffectEvent((nextState, nextSearchState, forceReplace) => navigate(nextState, nextSearchState, forceReplace));\n useEffect(() => {\n if (!controller) return;\n const comlink = controller.createChannel({\n name: \"presentation\",\n heartbeat: !0,\n connectTo: \"visual-editing\"\n }, createConnectionMachine().provide({\n actors: createCompatibilityActors()\n }));\n comlink.on(\"visual-editing/focus\", (data) => {\n \"id\" in data && handleNavigate({\n type: data.type,\n id: data.id,\n path: data.path\n });\n }), comlink.on(\"visual-editing/navigate\", (data_0) => {\n const {\n title,\n url\n } = data_0;\n frameStateRef.current.url !== url && handleNavigate({}, {\n preview: url\n }), frameStateRef.current = {\n title,\n url\n };\n }), comlink.on(\"visual-editing/meta\", (data_1) => {\n frameStateRef.current.title = data_1.title;\n }), comlink.on(\"visual-editing/toggle\", (data_2) => {\n dispatch({\n type: ACTION_VISUAL_EDITING_OVERLAYS_TOGGLE,\n enabled: data_2.enabled\n });\n }), comlink.on(\"visual-editing/documents\", (data_3) => {\n setDocumentsOnPage(\n \"visual-editing\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data_3.perspective,\n data_3.documents\n );\n }), comlink.on(\"visual-editing/refreshing\", (data_4) => {\n data_4.source === \"manual\" ? clearTimeout(refreshRef.current) : data_4.source === \"mutation\" && dispatch({\n type: ACTION_IFRAME_REFRESH\n });\n }), comlink.on(\"visual-editing/refreshed\", () => {\n dispatch({\n type: ACTION_IFRAME_LOADED\n });\n }), comlink.onStatus(setOverlaysConnection);\n const stop = comlink.start();\n return setVisualEditingComlink(comlink), () => {\n stop(), setVisualEditingComlink(null);\n };\n }, [controller, handleNavigate, setDocumentsOnPage, setOverlaysConnection, targetOrigin]), useEffect(() => {\n if (!controller) return;\n const comlink_0 = controller.createChannel({\n name: \"presentation\",\n connectTo: \"preview-kit\",\n heartbeat: !0\n }, createConnectionMachine().provide({\n actors: createCompatibilityActors()\n }));\n return comlink_0.onStatus(setPreviewKitConnection), comlink_0.on(\"preview-kit/documents\", (data_5) => {\n data_5.projectId === projectId && data_5.dataset === dataset && setDocumentsOnPage(\n \"preview-kit\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data_5.perspective,\n data_5.documents\n );\n }), comlink_0.start();\n }, [controller, dataset, projectId, setDocumentsOnPage, setPreviewKitConnection, targetOrigin]);\n const handleFocusPath = useCallback((nextPath) => {\n navigate({\n path: studioPath.toString(nextPath)\n }, {}, !0);\n }, [navigate]), handlePreviewPath = useCallback((nextPath_0) => {\n const url_0 = new URL(nextPath_0, initialPreviewUrl.origin), preview = url_0.pathname + url_0.search;\n url_0.origin === initialPreviewUrl.origin && preview !== params.preview && navigate({}, {\n preview\n });\n }, [initialPreviewUrl, params, navigate]), handleStructureParams = useCallback((structureParams_0) => {\n navigate({}, structureParams_0);\n }, [navigate]);\n useEffect(() => {\n params.id && params.path ? visualEditingComlink?.post(\"presentation/focus\", {\n id: params.id,\n path: params.path\n }) : visualEditingComlink?.post(\"presentation/blur\");\n }, [params.id, params.path, visualEditingComlink]), useEffect(() => {\n frameStateRef.current.url && params.preview && frameStateRef.current.url !== params.preview && (frameStateRef.current.url = params.preview, overlaysConnection !== \"connected\" && iframeRef.current ? iframeRef.current.src = `${targetOrigin}${params.preview}` : visualEditingComlink?.post(\"presentation/navigate\", {\n url: params.preview,\n type: \"replace\"\n }));\n }, [overlaysConnection, targetOrigin, params.preview, visualEditingComlink]);\n const toggleOverlay = useCallback(() => visualEditingComlink?.post(\"presentation/toggle-overlay\"), [visualEditingComlink]), [displayedDocument, setDisplayedDocument] = useState(null);\n useEffect(() => {\n const handleKeyUp = (e) => {\n isAltKey(e) && toggleOverlay();\n }, handleKeydown = (e_0) => {\n isAltKey(e_0) && toggleOverlay(), isHotkey([\"mod\", \"\\\\\"], e_0) && toggleOverlay();\n };\n return window.addEventListener(\"keydown\", handleKeydown), window.addEventListener(\"keyup\", handleKeyUp), () => {\n window.removeEventListener(\"keydown\", handleKeydown), window.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, [toggleOverlay]);\n const [boundaryElement, setBoundaryElement] = useState(null), [{\n navigatorEnabled,\n toggleNavigator\n }, PresentationNavigator] = usePresentationNavigator({\n unstable_navigator\n }), refreshRef = useRef(), handleRefresh = useCallback((fallback) => {\n if (dispatch({\n type: ACTION_IFRAME_REFRESH\n }), visualEditingComlink) {\n refreshRef.current = window.setTimeout(fallback, 300), visualEditingComlink.post(\"presentation/refresh\", {\n source: \"manual\",\n livePreviewEnabled: previewKitConnection === \"connected\" || loadersConnection === \"connected\"\n });\n return;\n }\n fallback();\n }, [loadersConnection, previewKitConnection, visualEditingComlink]), workspace = useWorkspace(), getCommentIntent = useCallback(({\n id,\n type,\n path\n }) => {\n if (frameStateRef.current.url)\n return {\n title: frameStateRef.current.title || frameStateRef.current.url,\n name: \"edit\",\n params: {\n id,\n path,\n type,\n inspect: COMMENTS_INSPECTOR_NAME,\n workspace: workspace.name,\n mode: EDIT_INTENT_MODE,\n preview: params.preview\n }\n };\n }, [params.preview, workspace.name]), setViewport = useCallback((next) => {\n navigate({}, {\n viewport: next === \"desktop\" ? void 0 : \"mobile\"\n }, !0);\n }, [navigate]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(PresentationProvider, { devMode, name, navigate, params, searchParams, structureParams, children: /* @__PURE__ */ jsx(PresentationNavigateProvider, { navigate, children: /* @__PURE__ */ jsx(PresentationParamsProvider, { params, children: /* @__PURE__ */ jsx(SharedStateProvider, { comlink: visualEditingComlink, children: /* @__PURE__ */ jsx(Container, { height: \"fill\", children: /* @__PURE__ */ jsxs(Panels, { children: [\n /* @__PURE__ */ jsx(PresentationNavigator, {}),\n /* @__PURE__ */ jsx(Panel, { id: \"preview\", minWidth: 325, defaultSize: navigatorEnabled ? 50 : 75, order: 3, children: /* @__PURE__ */ jsx(Flex, { direction: \"column\", flex: 1, height: \"fill\", ref: setBoundaryElement, children: /* @__PURE__ */ jsx(BoundaryElementProvider, { element: boundaryElement, children: /* @__PURE__ */ jsx(Preview, { canSharePreviewAccess, canToggleSharePreviewAccess, canUseSharedPreviewAccess, dispatch, header: unstable_header, iframe: state.iframe, initialUrl: initialPreviewUrl, loadersConnection, navigatorEnabled, onPathChange: handlePreviewPath, onRefresh: handleRefresh, openPopup: handleOpenPopup, overlaysConnection, previewUrl: params.preview, perspective, ref: iframeRef, setViewport, targetOrigin, toggleNavigator, toggleOverlay, viewport, visualEditing: state.visualEditing }) }) }) }),\n /* @__PURE__ */ jsx(PresentationContent, { documentId: params.id, documentsOnPage, documentType: params.type, getCommentIntent, mainDocumentState, onFocusPath: handleFocusPath, onStructureParams: handleStructureParams, searchParams, setDisplayedDocument, structureParams })\n ] }) }) }) }) }) }),\n /* @__PURE__ */ jsxs(Suspense, { children: [\n controller && /* @__PURE__ */ jsx(LiveQueries, { controller, perspective, liveDocument: displayedDocument, onDocumentsOnPage: setDocumentsOnPage, onLoadersConnection: setLoadersConnection }),\n visualEditingComlink && params.id && params.type && /* @__PURE__ */ jsx(PostMessageRefreshMutations, { comlink: visualEditingComlink, id: params.id, type: params.type, loadersConnection, previewKitConnection }),\n visualEditingComlink && /* @__PURE__ */ jsx(PostMessageSchema, { comlink: visualEditingComlink, perspective }),\n visualEditingComlink && documentsOnPage.length > 0 && /* @__PURE__ */ jsx(PostMessagePreviewSnapshots, { comlink: visualEditingComlink, perspective, refs: documentsOnPage }),\n visualEditingComlink && /* @__PURE__ */ jsx(PostMessageDocuments, { comlink: visualEditingComlink }),\n visualEditingComlink && /* @__PURE__ */ jsx(PostMessageFeatures, { comlink: visualEditingComlink }),\n visualEditingComlink && /* @__PURE__ */ jsx(PostMessagePerspective, { comlink: visualEditingComlink, perspective }),\n visualEditingComlink && /* @__PURE__ */ jsx(PostMessageTelemetry, { comlink: visualEditingComlink })\n ] })\n ] });\n}\nfunction PresentationToolGrantsCheck(props) {\n const $ = c(16), {\n t\n } = useTranslation(presentationLocaleNamespace), {\n previewUrl\n } = props.tool.options ?? {}, {\n push: pushToast\n } = useToast(), willGeneratePreviewUrlSecret = typeof previewUrl == \"object\" || typeof previewUrl == \"function\", grantsStore = useGrantsStore(), [previewAccessSharingCreatePermission, setCreateAccessSharingPermission] = useState(null), [previewAccessSharingUpdatePermission, setUpdateAccessSharingPermission] = useState(null), [previewAccessSharingReadPermission, setReadAccessSharingPermission] = useState(null), [previewUrlSecretPermission, setPreviewUrlSecretPermission] = useState(null);\n let t0, t1;\n $[0] !== grantsStore || $[1] !== willGeneratePreviewUrlSecret ? (t0 = () => {\n if (!willGeneratePreviewUrlSecret)\n return;\n const previewCreateAccessSharingPermissionSubscription = grantsStore.checkDocumentPermission(\"create\", {\n _id: schemaIdSingleton,\n _type: schemaTypeSingleton\n }).subscribe(setCreateAccessSharingPermission), previewUpdateAccessSharingPermissionSubscription = grantsStore.checkDocumentPermission(\"update\", {\n _id: schemaIdSingleton,\n _type: schemaTypeSingleton\n }).subscribe(setUpdateAccessSharingPermission), previewReadAccessSharingPermissionSubscription = grantsStore.checkDocumentPermission(\"read\", {\n _id: schemaIdSingleton,\n _type: schemaTypeSingleton\n }).subscribe(setReadAccessSharingPermission), previewUrlSecretPermissionSubscription = grantsStore.checkDocumentPermission(\"create\", {\n _id: `drafts.${uuid()}`,\n _type: schemaType\n }).subscribe(setPreviewUrlSecretPermission);\n return () => {\n previewCreateAccessSharingPermissionSubscription.unsubscribe(), previewUpdateAccessSharingPermissionSubscription.unsubscribe(), previewReadAccessSharingPermissionSubscription.unsubscribe(), previewUrlSecretPermissionSubscription.unsubscribe();\n };\n }, t1 = [grantsStore, willGeneratePreviewUrlSecret], $[0] = grantsStore, $[1] = willGeneratePreviewUrlSecret, $[2] = t0, $[3] = t1) : (t0 = $[2], t1 = $[3]), useEffect(t0, t1);\n const canCreateUrlPreviewSecrets = previewUrlSecretPermission?.granted;\n let t2, t3;\n if ($[4] !== canCreateUrlPreviewSecrets || $[5] !== pushToast || $[6] !== t || $[7] !== willGeneratePreviewUrlSecret ? (t2 = () => {\n if (!willGeneratePreviewUrlSecret || canCreateUrlPreviewSecrets !== !1)\n return;\n const raf = requestAnimationFrame(() => pushToast({\n closable: !0,\n status: \"error\",\n duration: 3e4,\n title: t(\"preview-url-secret.missing-grants\")\n }));\n return () => cancelAnimationFrame(raf);\n }, t3 = [canCreateUrlPreviewSecrets, pushToast, t, willGeneratePreviewUrlSecret], $[4] = canCreateUrlPreviewSecrets, $[5] = pushToast, $[6] = t, $[7] = willGeneratePreviewUrlSecret, $[8] = t2, $[9] = t3) : (t2 = $[8], t3 = $[9]), useEffect(t2, t3), willGeneratePreviewUrlSecret && (!previewAccessSharingCreatePermission || typeof previewAccessSharingCreatePermission.granted > \"u\" || !previewAccessSharingUpdatePermission || typeof previewAccessSharingUpdatePermission.granted > \"u\" || !previewUrlSecretPermission || !previewAccessSharingReadPermission || typeof previewAccessSharingReadPermission.granted > \"u\" || typeof previewUrlSecretPermission.granted > \"u\")) {\n let t42;\n return $[10] === Symbol.for(\"react.memo_cache_sentinel\") ? (t42 = /* @__PURE__ */ jsx(PresentationSpinner, {}), $[10] = t42) : t42 = $[10], t42;\n }\n const t4 = canCreateUrlPreviewSecrets === !0, t5 = previewAccessSharingCreatePermission?.granted === !0 && previewAccessSharingUpdatePermission?.granted === !0, t6 = previewAccessSharingReadPermission?.granted === !0;\n let t7;\n return $[11] !== props || $[12] !== t4 || $[13] !== t5 || $[14] !== t6 ? (t7 = /* @__PURE__ */ jsx(PresentationTool, { ...props, canCreateUrlPreviewSecrets: t4, canToggleSharePreviewAccess: t5, canUseSharedPreviewAccess: t6 }), $[11] = props, $[12] = t4, $[13] = t5, $[14] = t6, $[15] = t7) : t7 = $[15], t7;\n}\nvar PresentationToolGrantsCheck$1 = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n default: PresentationToolGrantsCheck\n});\nexport {\n PresentationToolGrantsCheck$1 as PresentationToolGrantsCheck,\n createCompatibilityActors,\n getQueryCacheKey\n};\n//# sourceMappingURL=PresentationToolGrantsCheck.js.map\n"],"names":["bufferCount","bufferSize","startBufferEvery","operate","source","subscriber","buffers","count","createOperatorSubscriber","value","e_1","_a","e_2","_b","toEmit","buffers_1","__values","buffers_1_1","buffer","e_1_1","toEmit_1","toEmit_1_1","arrRemove","e_2_1","e_3","buffers_2","buffers_2_1","e_3_1","MotionConfig","children","isValidProp","config","loadExternalIsValidProp","useContext","MotionConfigContext","useConstant","context","useMemo","jsx","schemaType","schemaIdPrefix","schemaIdSingleton","schemaTypeSingleton","apiVersion","urlSearchParamPreviewSecret","urlSearchParamPreviewPathname","urlSearchParamPreviewPerspective","SECRET_TTL","fetchSharedAccessQuery","deleteExpiredSecretsQuery","tag","byteToHex","i","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native$1","v4","options","buf","native","rnds","listenInputFromContext","include","exclude","responseType","listenFilter","input","event","data","eventToMessage","type","messageEvents$","defer","fromEvent","createListenLogic","compatMap","fromEventObservable","map","pipe","filter","concatMap","take","DOMAIN","RESPONSE_TIMEOUT_DEFAULT","HANDSHAKE_INTERVAL","MSG_RESPONSE","MSG_HEARTBEAT","MSG_DISCONNECT","MSG_HANDSHAKE_SYN","MSG_HANDSHAKE_SYN_ACK","MSG_HANDSHAKE_ACK","throwOnEvent","message","createRequestMachine","setup","abortSignal$","EMPTY","messageFilter","takeUntil","params","sources","targetOrigin","sendTo","self","channelId","domain","from","id","responseTo","to","assign","sendBackAtInterval","fromCallback","sendBack","send","interval","createConnectionMachine","enqueueActions","enqueue","assertEvent","spawn","requests","request","emit","_","raise","stopChild","createConnection","machine","actor","createActor","on","handler","unsubscribe","response","connect","disconnect","onStatus","filter2","setTarget","target","post","_data","stop","start","cleanupConnection","connection","noop","createController","targets","channels","channel","targetConnections","unsubscribers","status","input2","connections","internalEventSubscribers","statusSubscribers","subscribers","unsub","onInternalEvent","connections2","rePropName","reKeySegment","reIndexTuple","isIndexSegment","segment","isKeySegment","isIndexTuple","get","obj","path","defaultVal","select","fromString","acc","item","toString","segmentType","segments","parsePathSegment","parseIndexSegment","parseKeySegment","parseIndexTupleSegment","seg","studioPath","DRAFTS_PREFIX","getPublishedId","ESCAPE","UNESCAPE","jsonPath","match","parseJsonPath","parsed","parseRe","key","m","_key","jsonPathToMappingPath","resolveMapping","resultPath","csm","resultMappingPath","mappings","key1","key2","matchedPath","mapping","pathSuffix","isArray","isRecord","walkMap","mappingFn","v","idx","result","k","withoutSecretSearchParams","url","newUrl","searchParams","setSecretSearchParams","secret","redirectTo","perspective","generateUrlSecret","array","enablePreviewAccessSharing","_client","studioUrl","userId","client","newSecret","patch","disablePreviewAccessSharing","lexer","str","tokens","char","name","j","code","pattern","parse","prefixes","delimiter","tryConsume","mustConsume","nextType","index","consumeText","isSafe","_i","delimiter_1","safePattern","prefix","prev","prevText","escapeString","open","name_1","pattern_1","suffix","keys","re","pathToRegexp","regexpToFunction","decode","x","pathname","_loop_1","flags","regexpToRegexp","groupsRegex","execResult","arrayToRegexp","paths","parts","stringToRegexp","tokensToRegexp","strict","_c","end","_d","encode","_e","_f","endsWith","endsWithRe","delimiterRe","route","tokens_1","token","mod","endToken","isEndDelimited","createPreviewSecret","uuid","expiresAt","_id","err","definePreviewUrl","draftMode","previewMode","origin","enableUrl","preview","productionUrl","enablePreviewModeUrl","restoredUrl","previewUrl","enablePreviewModeRequestUrl","isPromise","promise","globalCache","shallowEqualArrays","arrA","arrB","equal","a","b","len","query","fn","preload","entry","error","suspend","RE_SEGMENT_WITH_INDEX","RE_SEGMENT_WITH_TUPLE","RE_SEGMENT_WITH_KEY","urlStringToPath","withIndex","withTuple","withKey","lengthyStr","string","minLength","optionalLengthyStr","optional","object","record","unknown","channelsToComlinkMap","comlinkToChannelsMap","convertToComlinkEvent","convertToChannelsMessage","comlinkMessage","rest","sendAsChannelsMessage","createCompatibilityActors","getQueryCacheKey","IS_MAC","MODIFIERS","isHotkey","isAltKey","debounce","timeout","timer","args","SharedStateProvider","props","$","c","comlink","t0","sharedState","useRef","t1","t2","useEffect","t3","setValue","t4","key_0","removeValue","t5","t6","t7","SharedStateContext","PanelsContext","createContext","Root$1","styled","Panel","minWidth","maxWidth","defaultSize","order","getPanelStyle","registerElement","unregisterElement","style","useLayoutEffect","itemKey","getStoredItem","setStoredItem","getKeyForPanels","panels","panel","usePanelsStorage","_temp2$4","set","_temp3$2","setDebounced","panels_0","widths","stored_0","stored","_temp$7","val","getNextWidth","nextWidth","containerWidth","maxWidthPx","minWidthPx","getNextWidths","delta","panelBefore","panelAfter","panelsState","initialDragState","prevWidths","initialWidths","nextWidths","pivotPanel2","index2","width","deltaApplied","pivotPanel","deltaRemaining","getPanelWidth","getOffset","handleElement","initialOffset","initialHandleElementRect","pointerOffset","elementOffset","isPanel","element","isResizer","getSortedElements","elements","validateWidths","widthsToValidate","total","total2","remainingWidth","getDefaultWidths","panelsWithoutWidth","remainingWidthTotal","widthsWithNulls","defaultWidth","PanelsWrapper","Panels","panelsEl","setElements","useState","setWidths","activeResizer","setActiveResizer","panelsRef","id_0","next","t8","id_1","prev_0","next_0","t9","dragRef","t10","id_2","elementsArr","el","resizer","resizeElement","el_0","acc_0","el_1","i_0","startDragging","t11","stopDragging","t12","id_3","event_0","dragOffset","resizerRect","resizer_0","resizeElement_0","rect","prevWidth","i_1","drag","t13","t14","storage","t15","t16","widths_0","storedWidths","validatedStoredWidths","defaultWidths","t17","t18","t19","t20","resizeObserver","prevWidths_0","nextWidths_0","prevWidth_0","i_2","t21","t22","t23","t24","ErrorCard","onContinueAnyway","onRetry","restProps","t","useTranslation","presentationLocaleNamespace","Button","retryButton","continueAnywayButton","Text","jsxs","Stack","Inline","Box","Flex","Container$1","Card","encodeQueryString","resolveQueryStringFromParams","nextParams","allowed","safeNextParams","BackLink","forwardRef","ref","StateLink","ReferenceChildLink","documentId","documentType","t02","parentRefPath","template","PresentationPaneRouterProvider","onStructureParams","structureParams","refs","routerState","resolvePathFromState","useRouter","routerSearchParams","useUnique","qs","createPathWithParams","childLinkProps","childId","r","backLinkProps","childLinkProps_0","nextParams_0","_temp$6","_temp2$3","_temp3$1","_temp4","_temp5","_temp6","_temp7","_temp8","_temp9","PaneRouterContext","intentName","intentParams","options_0","payload","viewId","pane_0","pane","Fragment","RootLayout","PaneLayout","Root","WrappedCode$1","Code","DocumentListPane","mainDocumentState","devMode","usePresentationTool","_temp$5","ids","errorParams","setErrorParams","handleRetry","_temp2$2","t92","t102","Label","DocumentListPane$1","ErrorBoundary","StructureToolProvider","r_0","WrappedCode","DocumentPane","onFocusPath","templateParams","decodeJsonParams","paneDocumentNode","t72","t82","PresentationSpinner","Suspense","DocumentPane$1","DocumentPanel","usePreviewState","schemaType2","documentPreviewStore","useDocumentPreviewStore","setPreview","subscription","getPreviewStateObservable","state","ContentEditor","schema","useSchema","props_0","MainDocumentLink","_g","previewState","_h","bb0","t42","t52","getPreviewValueWithFallback","t62","SanityDefaultPreview","PreviewCard","WarningOutlineIcon","Translate","usePanelId","panelId","Resizer","ResizerInner","$disabled","PanelResizer","propId","disabled","isDragging","onMouseDown","e","onDrag","onDragStop","resetDocumentStyles","bodyStyle","documentStyle","cursor","userSelect","PresentationContentWrapper","setDisplayedDocument","getCommentIntent","CommentsIntentProvider","DisplayedDocumentBroadcasterProvider","PresentationContent","documentsOnPage","PresentationNavigateProvider","_navigate","navigate","PresentationNavigateContext","useLocalState","defaultValue","usePresentationNavigator","unstable_navigator","navigatorProvided","_navigatorEnabled","setNavigatorEnabled","navigatorEnabled","_temp$4","toggleNavigator","Navigator","Component","enabled","NavigatorComponent","NavigatorComponent2","navigatorDisabled","memo","PresentationParamsProvider","PresentationParamsContext","PresentationProvider","PresentationContext","IFrameElement","motion","IFrameOverlay","IFrame","animate","initial","onLoad","preventClick","src","variants","useId","OpenPreviewButton","openPopup","previewLocationOrigin","previewLocationRoute","handleOpenPopup","LaunchIcon","Tooltip","PreviewLocationInput","onChange","fontSize","padding","useActiveWorkspace","basePath","inputRef","sessionValue","setSessionValue","customValidity","setCustomValidity","handleChange","absoluteValue","nextValue","handleKeyDown","handleBlur","ResetIcon","TextInput","QRCodeSVG","lazy","QrCodeLogoSize","QrCodeLogoPadding","QrSize","StyledSanityMonogram","SanityMonogram","MotionSpinner","Spinner","MotionText","MotionMonogram","SharePreviewMenu","canToggleSharePreviewAccess","canUseSharedPreviewAccess","initialUrl","pushToast","useToast","useClient","API_VERSION","currentUser","useCurrentUser","loading","setLoading","enabling","setEnabling","disabling","setDisabling","setSecret","busy","setError","handleUnableToToggle","useCallback","handleDisableSharing","error_0","handleEnableSharing","previewUrlSecret","error_1","handleCopyUrl","error_2","controller","usedTags","fetchShareSecret","lastLiveEventId","signal","syncTags","MenuButton","ShareIcon","Menu","Grid","Switch","AnimatePresence","MenuDivider","MenuItem","CopyIcon","PreviewHeaderDefault","canSharePreviewAccess","dispatch","iframe","iframeRef","onPathChange","onRefresh","overlaysConnection","setViewport","toggleOverlay","viewport","overlaysEnabled","toggleViewportSize","ACTION_IFRAME_RELOAD","handleRefresh","previewURL","search","PanelLeftIcon","Hotkeys","t25","t26","t27","t28","t29","RefreshIcon","t30","t31","t32","t33","t34","t35","t36","t37","t38","MobileDeviceIcon","DesktopIcon","t39","t40","t41","PreviewHeader","renderDefault","_temp$3","createElement","header","usePresentationPreviewHeader","MotionFlex","Preview","forwardedRef","loadersConnection","prefersReducedMotion","usePrefersReducedMotion","PreviewHeader2","useImperativeHandle","timedOut","setTimedOut","refreshing","somethingIsWrong","setSomethingIsWrong","iframeIsBusy","handleContinueAnyway","setContinueAnyway","continueAnyway","showOverlaysConnectionStatus","setShowOverlaysConnectionState","timeout_0","MAX_TIME_TO_OVERLAYS_CONNECTION","timeout_1","onIFrameLoad","ACTION_IFRAME_LOADED","instance","preventIframeInteraction","canUseViewTransition","useSyncExternalStore","iframeAnimations","currentViewport","setCurrentViewport","iframeStyle","setIframeStyle","iframeVariants","update","flushSync","TooltipDelayGroupProvider","spinnerVariants","sizes","errorVariants","defineWarnOnce","warned","warnOnceAboutCrossDatasetReference","useDocumentsOnPage","frameStateRef","validateApiPerspective","published","setPublished","previewDrafts","setPreviewDrafts","urlRef","setDocumentsOnPage","perspective_0","sourceDocuments","documents","sourceDocument","cache","document2","isEqual","uniqueDocuments","cache_0","doc","fnOrObj","arg","getQueryFromResult","resolver","getParamsFromResult","getRouteContext","routes","absolute","path2","useMainDocument","navigationHistory","resolvers","_temp$2","relativeUrl","setMainDocumentState","mainDocumentIdRef","handleResponse","useEffectEvent","base","url_0","doc_0","parseId","rawId","parsePath","rawPath","parseRouterState","pruneObject","useParams","initialPreviewUrl","routerNavigate","routerStateRef","setNavigationHistory","nextState","nextSearchState","forceReplace","routerSearchParams_0","routerState_0","routerSearchState","searchState","value_0","replace","usePopups","popups","setPopups","_temp$1","unsubs","source_0","_temp2$1","closed","source_1","source_2","POPUP_CHECK_INTERVAL","usePreviewUrl","toolName","studioPreviewPerspective","previewSearchParam","canCreateUrlPreviewSecrets","workspace","workspaceName","deps","useSuspendCacheKeys","usePreviewUrlSecret","resolvedUrl2","resultUrl","resolvedUrl","resolveUUID","cachedPreviewSearchParam","setCachedPreviewSearchParam","timeoutRef","secretLastExpiredAt","setSecretLastExpiredAt","startTransition","useStatus","statusMap","setStatusMap","values","_temp","handshaking","_temp2","_temp3","status_1","hasConnected_0","status_2","setStatusFromEvent","hasConnected","status_0","LiveQueries","PostMessageDocuments","PostMessageFeatures","PostMessageRefreshMutations","PostMessagePerspective","PostMessagePreviewSnapshots","PostMessageSchema","PostMessageTelemetry","Container","PresentationTool","tool","components","_previewUrl","DEFAULT_TOOL_NAME","unstable_header","perspectiveStack","selectedPerspectiveName","usePerspective","option","setController","visualEditingComlink","setVisualEditingComlink","useReducer","presentationReducer","presentationReducerInit","projectId","useProjectId","dataset","useDataset","setOverlaysConnection","setLoadersConnection","previewKitConnection","setPreviewKitConnection","isLoading","controller_0","handleNavigate","data_0","title","data_1","data_2","ACTION_VISUAL_EDITING_OVERLAYS_TOGGLE","data_3","data_4","refreshRef","ACTION_IFRAME_REFRESH","comlink_0","data_5","handleFocusPath","nextPath","handlePreviewPath","nextPath_0","handleStructureParams","structureParams_0","displayedDocument","handleKeyUp","handleKeydown","e_0","boundaryElement","setBoundaryElement","PresentationNavigator","fallback","useWorkspace","COMMENTS_INSPECTOR_NAME","EDIT_INTENT_MODE","BoundaryElementProvider","PresentationToolGrantsCheck","willGeneratePreviewUrlSecret","grantsStore","useGrantsStore","previewAccessSharingCreatePermission","setCreateAccessSharingPermission","previewAccessSharingUpdatePermission","setUpdateAccessSharingPermission","previewAccessSharingReadPermission","setReadAccessSharingPermission","previewUrlSecretPermission","setPreviewUrlSecretPermission","previewCreateAccessSharingPermissionSubscription","previewUpdateAccessSharingPermissionSubscription","previewReadAccessSharingPermissionSubscription","previewUrlSecretPermissionSubscription","raf","PresentationToolGrantsCheck$1"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}