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,58 +0,0 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { c as d } from "./presentation-CSS9GR9X.mjs";
3
- import { g as O } from "./index-DkvUNBNf.mjs";
4
- import { createContext as j, useContext as v, useEffect as y } from "react";
5
- var D = function f(t, r) {
6
- if (t === r) return !0;
7
- if (t && r && typeof t == "object" && typeof r == "object") {
8
- if (t.constructor !== r.constructor) return !1;
9
- var e, o, u;
10
- if (Array.isArray(t)) {
11
- if (e = t.length, e != r.length) return !1;
12
- for (o = e; o-- !== 0; )
13
- if (!f(t[o], r[o])) return !1;
14
- return !0;
15
- }
16
- if (t.constructor === RegExp) return t.source === r.source && t.flags === r.flags;
17
- if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === r.valueOf();
18
- if (t.toString !== Object.prototype.toString) return t.toString() === r.toString();
19
- if (u = Object.keys(t), e = u.length, e !== Object.keys(r).length) return !1;
20
- for (o = e; o-- !== 0; )
21
- if (!Object.prototype.hasOwnProperty.call(r, u[o])) return !1;
22
- for (o = e; o-- !== 0; ) {
23
- var n = u[o];
24
- if (!f(t[n], r[n])) return !1;
25
- }
26
- return !0;
27
- }
28
- return t !== t && r !== r;
29
- };
30
- const g = /* @__PURE__ */ O(D), p = j(null);
31
- function q(f) {
32
- const t = d(9), {
33
- children: r,
34
- setDisplayedDocument: e,
35
- documentId: o
36
- } = f;
37
- let u;
38
- t[0] !== e ? (u = (i) => e((a) => g(a, i) ? a : i), t[0] = e, t[1] = u) : u = t[1];
39
- const n = u;
40
- let s, c;
41
- t[2] !== o || t[3] !== e ? (s = () => {
42
- if (o)
43
- return;
44
- const i = setTimeout(() => e(null));
45
- return () => clearTimeout(i);
46
- }, c = [o, e], t[2] = o, t[3] = e, t[4] = s, t[5] = c) : (s = t[4], c = t[5]), y(s, c);
47
- let l;
48
- return t[6] !== r || t[7] !== n ? (l = /* @__PURE__ */ m(p.Provider, { value: n, children: r }), t[6] = r, t[7] = n, t[8] = l) : l = t[8], l;
49
- }
50
- function P() {
51
- return v(p);
52
- }
53
- export {
54
- q as D,
55
- g as i,
56
- P as u
57
- };
58
- //# sourceMappingURL=DisplayedDocumentBroadcaster-DfHPxc7C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisplayedDocumentBroadcaster-DfHPxc7C.mjs","sources":["../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/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/DisplayedDocumentBroadcaster.js"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { c } from \"react-compiler-runtime\";\nimport isEqual from \"fast-deep-equal\";\nimport { createContext, useContext, useEffect } from \"react\";\nconst Context = createContext(null);\nfunction DisplayedDocumentBroadcasterProvider(props) {\n const $ = c(9), {\n children,\n setDisplayedDocument,\n documentId\n } = props;\n let t0;\n $[0] !== setDisplayedDocument ? (t0 = (next) => setDisplayedDocument((prev) => isEqual(prev, next) ? prev : next), $[0] = setDisplayedDocument, $[1] = t0) : t0 = $[1];\n const context = t0;\n let t1, t2;\n $[2] !== documentId || $[3] !== setDisplayedDocument ? (t1 = () => {\n if (documentId)\n return;\n const timeout = setTimeout(() => setDisplayedDocument(null));\n return () => clearTimeout(timeout);\n }, t2 = [documentId, setDisplayedDocument], $[2] = documentId, $[3] = setDisplayedDocument, $[4] = t1, $[5] = t2) : (t1 = $[4], t2 = $[5]), useEffect(t1, t2);\n let t3;\n return $[6] !== children || $[7] !== context ? (t3 = /* @__PURE__ */ jsx(Context.Provider, { value: context, children }), $[6] = children, $[7] = context, $[8] = t3) : t3 = $[8], t3;\n}\nfunction useDisplayedDocumentBroadcaster() {\n return useContext(Context);\n}\nexport {\n DisplayedDocumentBroadcasterProvider,\n useDisplayedDocumentBroadcaster\n};\n//# sourceMappingURL=DisplayedDocumentBroadcaster.js.map\n"],"names":["fastDeepEqual","equal","a","b","length","i","keys","key","Context","createContext","DisplayedDocumentBroadcasterProvider","props","$","c","children","setDisplayedDocument","documentId","t0","next","prev","isEqual","context","t1","t2","timeout","useEffect","t3","jsx","useDisplayedDocumentBroadcaster","useContext"],"mappings":";;;;AAMA,IAAAA,IAAiB,SAASC,EAAMC,GAAGC,GAAG;AACpC,MAAID,MAAMC,EAAG,QAAO;AAEpB,MAAID,KAAKC,KAAK,OAAOD,KAAK,YAAY,OAAOC,KAAK,UAAU;AAC1D,QAAID,EAAE,gBAAgBC,EAAE,YAAa,QAAO;AAE5C,QAAIC,GAAQC,GAAGC;AACf,QAAI,MAAM,QAAQJ,CAAC,GAAG;AAEpB,UADAE,IAASF,EAAE,QACPE,KAAUD,EAAE,OAAQ,QAAO;AAC/B,WAAKE,IAAID,GAAQC,QAAQ;AACvB,YAAI,CAACJ,EAAMC,EAAEG,CAAC,GAAGF,EAAEE,CAAC,CAAC,EAAG,QAAO;AACjC,aAAO;AAAA,IACb;AAII,QAAIH,EAAE,gBAAgB,OAAQ,QAAOA,EAAE,WAAWC,EAAE,UAAUD,EAAE,UAAUC,EAAE;AAC5E,QAAID,EAAE,YAAY,OAAO,UAAU,QAAS,QAAOA,EAAE,QAAO,MAAOC,EAAE,QAAS;AAC9E,QAAID,EAAE,aAAa,OAAO,UAAU,SAAU,QAAOA,EAAE,SAAQ,MAAOC,EAAE,SAAU;AAIlF,QAFAG,IAAO,OAAO,KAAKJ,CAAC,GACpBE,IAASE,EAAK,QACVF,MAAW,OAAO,KAAKD,CAAC,EAAE,OAAQ,QAAO;AAE7C,SAAKE,IAAID,GAAQC,QAAQ;AACvB,UAAI,CAAC,OAAO,UAAU,eAAe,KAAKF,GAAGG,EAAKD,CAAC,CAAC,EAAG,QAAO;AAEhE,SAAKA,IAAID,GAAQC,QAAQ,KAAI;AAC3B,UAAIE,IAAMD,EAAKD,CAAC;AAEhB,UAAI,CAACJ,EAAMC,EAAEK,CAAG,GAAGJ,EAAEI,CAAG,CAAC,EAAG,QAAO;AAAA,IACzC;AAEI,WAAO;AAAA,EACX;AAGE,SAAOL,MAAIA,KAAKC,MAAIA;AACtB;gCCzCMK,IAAUC,EAAc,IAAI;AAClC,SAASC,EAAqCC,GAAO;AACnD,QAAMC,IAAIC,EAAE,CAAC,GAAG;AAAA,IACd,UAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,YAAAC;AAAA,EACJ,IAAML;AACJ,MAAIM;AACJ,EAAAL,EAAE,CAAC,MAAMG,KAAwBE,IAAK,CAACC,MAASH,EAAqB,CAACI,MAASC,EAAQD,GAAMD,CAAI,IAAIC,IAAOD,CAAI,GAAGN,EAAE,CAAC,IAAIG,GAAsBH,EAAE,CAAC,IAAIK,KAAMA,IAAKL,EAAE,CAAC;AACrK,QAAMS,IAAUJ;AAChB,MAAIK,GAAIC;AACR,EAAAX,EAAE,CAAC,MAAMI,KAAcJ,EAAE,CAAC,MAAMG,KAAwBO,IAAK,MAAM;AACjE,QAAIN;AACF;AACF,UAAMQ,IAAU,WAAW,MAAMT,EAAqB,IAAI,CAAC;AAC3D,WAAO,MAAM,aAAaS,CAAO;AAAA,EAClC,GAAED,IAAK,CAACP,GAAYD,CAAoB,GAAGH,EAAE,CAAC,IAAII,GAAYJ,EAAE,CAAC,IAAIG,GAAsBH,EAAE,CAAC,IAAIU,GAAIV,EAAE,CAAC,IAAIW,MAAOD,IAAKV,EAAE,CAAC,GAAGW,IAAKX,EAAE,CAAC,IAAIa,EAAUH,GAAIC,CAAE;AAC5J,MAAIG;AACJ,SAAOd,EAAE,CAAC,MAAME,KAAYF,EAAE,CAAC,MAAMS,KAAWK,IAAqB,gBAAAC,EAAInB,EAAQ,UAAU,EAAE,OAAOa,GAAS,UAAAP,EAAQ,CAAE,GAAGF,EAAE,CAAC,IAAIE,GAAUF,EAAE,CAAC,IAAIS,GAAST,EAAE,CAAC,IAAIc,KAAMA,IAAKd,EAAE,CAAC,GAAGc;AACrL;AACA,SAASE,IAAkC;AACzC,SAAOC,EAAWrB,CAAO;AAC3B;","x_google_ignoreList":[0,1]}
@@ -1,267 +0,0 @@
1
- import { jsx as N, Fragment as X } from "react/jsx-runtime";
2
- import { M as q, c as U } from "./presentation-CSS9GR9X.mjs";
3
- import { c as B, a as H, g as W, b as P } from "./PresentationToolGrantsCheck-4zo266wj.mjs";
4
- import { a as Y, u as z, b as G } from "./hooks-4sgcd521.mjs";
5
- import { c as J } from "./index-C3OvVLVP.mjs";
6
- import { i as D } from "./DisplayedDocumentBroadcaster-DfHPxc7C.mjs";
7
- import { useState as A, useEffect as L, useMemo as x, useDeferredValue as Z, memo as v } from "react";
8
- import { useProjectId as _, useDataset as ee, useClient as te } from "sanity";
9
- import { u as k } from "./v4-C78sE4Gb.mjs";
10
- function ye(h) {
11
- const {
12
- liveDocument: e,
13
- controller: n,
14
- perspective: p,
15
- onLoadersConnection: s,
16
- onDocumentsOnPage: l
17
- } = h, [i, T] = A(), [g, j] = A({}), S = _(), M = ee();
18
- L(() => {
19
- const r = setInterval(() => j((t) => {
20
- if (Object.keys(t).length < 1)
21
- return t;
22
- const m = Date.now();
23
- if (!Object.values(t).some((a) => a.heartbeat !== !1 && m > a.receivedAt + a.heartbeat))
24
- return t;
25
- const u = {};
26
- for (const [a, y] of Object.entries(t))
27
- y.heartbeat !== !1 && m > y.receivedAt + y.heartbeat || (u[a] = y);
28
- return u;
29
- }), q);
30
- return () => clearInterval(r);
31
- }, []), L(() => {
32
- if (n) {
33
- const r = n.createChannel({
34
- name: "presentation",
35
- connectTo: "loaders",
36
- heartbeat: !0
37
- }, B().provide({
38
- actors: H()
39
- }));
40
- return T(r), r.onStatus(s), r.on("loader/documents", (t) => {
41
- t.projectId === S && t.dataset === M && l(
42
- "loaders",
43
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
- t.perspective,
45
- t.documents
46
- );
47
- }), r.on("loader/query-listen", (t) => {
48
- if (t.projectId === S && t.dataset === M) {
49
- if (typeof t.heartbeat == "number" && t.heartbeat < q)
50
- throw new Error(`Loader query listen heartbeat interval must be at least ${q}ms`);
51
- j((m) => ({
52
- ...m,
53
- [W(t.query, t.params)]: {
54
- perspective: t.perspective,
55
- query: t.query,
56
- params: t.params,
57
- receivedAt: Date.now(),
58
- heartbeat: t.heartbeat ?? !1
59
- }
60
- }));
61
- }
62
- }), r.start();
63
- }
64
- }, [n, M, l, s, S]);
65
- const [I] = A(() => /* @__PURE__ */ new Set()), [C, c] = A(null), f = te({
66
- apiVersion: "vX"
67
- }), d = x(() => f.config(), [f]), b = x(() => f.withConfig({
68
- resultSourceMap: "withKeyArraySelector"
69
- }), [f]);
70
- L(() => {
71
- if (i) {
72
- const {
73
- projectId: r,
74
- dataset: t
75
- } = d;
76
- i.post("loader/perspective", {
77
- projectId: r,
78
- dataset: t,
79
- perspective: p
80
- });
81
- }
82
- }, [i, d, p]);
83
- const E = k((r) => {
84
- const t = Array.from(I).flat();
85
- r.tags.some((m) => t.includes(m)) ? c(r.id) : console.log("No matching tags found", r.tags, {
86
- flattenedSyncTags: t
87
- });
88
- });
89
- L(() => {
90
- const r = J(b.config()).withConfig({
91
- // Necessary for the live drafts to work
92
- apiVersion: "vX"
93
- }).live.events({
94
- includeDrafts: !0,
95
- tag: "presentation-loader"
96
- }).subscribe({
97
- next: (t) => {
98
- t.type === "message" ? E(t) : t.type === "restart" ? c(t.id) : t.type === "reconnect" && c(null);
99
- },
100
- // eslint-disable-next-line no-console
101
- error: (t) => console.error("Error validating EventSource URL:", t)
102
- });
103
- return () => r.unsubscribe();
104
- }, [b, E]);
105
- const w = Z(e);
106
- return /* @__PURE__ */ N(X, { children: Object.entries(g).map(([r, {
107
- query: t,
108
- params: m,
109
- perspective: u
110
- }]) => /* @__PURE__ */ N(F, { projectId: d.projectId, dataset: d.dataset, perspective: u, query: t, params: m, comlink: i, client: b, liveDocument: w, lastLiveEventId: C, syncTagsInUse: I }, `${r}${u}`)) });
111
- }
112
- function re(h) {
113
- const e = U(14), {
114
- projectId: n,
115
- dataset: p,
116
- perspective: s,
117
- query: l,
118
- client: i,
119
- liveDocument: T,
120
- comlink: g,
121
- lastLiveEventId: j,
122
- syncTagsInUse: S
123
- } = h, M = z(h.params), {
124
- result: I,
125
- resultSourceMap: C,
126
- syncTags: c
127
- } = se({
128
- client: i,
129
- liveDocument: T,
130
- params: M,
131
- perspective: s,
132
- query: l,
133
- lastLiveEventId: j
134
- }) || {};
135
- let f;
136
- e[0] !== p || e[1] !== n ? (f = (w, r, t, m, u, a, y) => {
137
- w == null || w.post("loader/query-change", {
138
- projectId: n,
139
- dataset: p,
140
- perspective: r,
141
- query: t,
142
- params: m,
143
- result: u,
144
- resultSourceMap: a,
145
- tags: y
146
- });
147
- }, e[0] = p, e[1] = n, e[2] = f) : f = e[2];
148
- const d = k(f);
149
- let b, E;
150
- return e[3] !== g || e[4] !== d || e[5] !== M || e[6] !== s || e[7] !== l || e[8] !== I || e[9] !== C || e[10] !== S || e[11] !== c ? (b = () => {
151
- if (C && d(g, s, l, M, I, C, c), Array.isArray(c))
152
- return S.add(c), () => {
153
- S.delete(c);
154
- };
155
- }, E = [g, d, M, s, l, I, C, S, c], e[3] = g, e[4] = d, e[5] = M, e[6] = s, e[7] = l, e[8] = I, e[9] = C, e[10] = S, e[11] = c, e[12] = b, e[13] = E) : (b = e[12], E = e[13]), L(b, E), null;
156
- }
157
- const F = v(re);
158
- F.displayName = "Memo(QuerySubscription)";
159
- function se(h) {
160
- const e = U(25), {
161
- liveDocument: n,
162
- client: p,
163
- query: s,
164
- params: l,
165
- perspective: i,
166
- lastLiveEventId: T
167
- } = h, [g, j] = A(null), [S, M] = A(null);
168
- if (S)
169
- throw S;
170
- let I;
171
- e[0] === Symbol.for("react.memo_cache_sentinel") ? (I = {
172
- refreshInterval: 0
173
- }, e[0] = I) : I = e[0];
174
- const [C, c] = G(I), f = C === "refresh" || C === "inflight" || T !== (g == null ? void 0 : g.lastLiveEventId);
175
- let d, b;
176
- e[1] !== p || e[2] !== T || e[3] !== l || e[4] !== i || e[5] !== s || e[6] !== f || e[7] !== c ? (d = () => {
177
- if (!f)
178
- return;
179
- let u;
180
- u = !1;
181
- let a;
182
- a = !1;
183
- const y = new AbortController(), K = async function() {
184
- const {
185
- signal: R
186
- } = y;
187
- a = !0;
188
- const {
189
- result: O,
190
- resultSourceMap: Q,
191
- syncTags: $
192
- } = await p.fetch(s, l, {
193
- lastLiveEventId: T,
194
- tag: "presentation-loader",
195
- signal: R,
196
- perspective: i,
197
- filterResponse: !1,
198
- returnQuery: !1
199
- });
200
- a = !1, R.aborted || (j((o) => ({
201
- result: D(o == null ? void 0 : o.result, O) ? o == null ? void 0 : o.result : O,
202
- resultSourceMap: D(o == null ? void 0 : o.resultSourceMap, Q) ? o == null ? void 0 : o.resultSourceMap : Q,
203
- syncTags: D(o == null ? void 0 : o.syncTags, $) ? o == null ? void 0 : o.syncTags : $,
204
- lastLiveEventId: T
205
- })), u = !0);
206
- }, V = c();
207
- return K().catch((R) => {
208
- a = !1, R.name !== "AbortError" && M(R);
209
- }).finally(V), () => {
210
- !u && !a && y.abort();
211
- };
212
- }, b = [p, T, l, i, s, f, c], e[1] = p, e[2] = T, e[3] = l, e[4] = i, e[5] = s, e[6] = f, e[7] = c, e[8] = d, e[9] = b) : (d = e[8], b = e[9]), L(d, b);
213
- let E;
214
- e[10] !== g ? (E = g ?? {}, e[10] = g, e[11] = E) : E = e[11];
215
- const {
216
- result: w,
217
- resultSourceMap: r,
218
- syncTags: t
219
- } = E;
220
- let m;
221
- e: {
222
- if (n && r) {
223
- let a;
224
- e[12] !== n || e[13] !== i || e[14] !== r || e[15] !== w ? (a = ae(n, w, i, r), e[12] = n, e[13] = i, e[14] = r, e[15] = w, e[16] = a) : a = e[16];
225
- let y;
226
- e[17] !== r || e[18] !== t || e[19] !== a ? (y = {
227
- result: a,
228
- resultSourceMap: r,
229
- syncTags: t
230
- }, e[17] = r, e[18] = t, e[19] = a, e[20] = y) : y = e[20], m = y;
231
- break e;
232
- }
233
- let u;
234
- e[21] !== r || e[22] !== w || e[23] !== t ? (u = {
235
- result: w,
236
- resultSourceMap: r,
237
- syncTags: t
238
- }, e[21] = r, e[22] = w, e[23] = t, e[24] = u) : u = e[24], m = u;
239
- }
240
- return m;
241
- }
242
- function ae(h, e, n, p) {
243
- if (n === "raw")
244
- throw new Error("turboChargeResultIfSourceMap does not support raw perspective");
245
- return Y(
246
- e,
247
- p,
248
- (s) => {
249
- if (
250
- // If _projectId is set, it's a cross dataset reference and we should skip it
251
- !s._projectId && (h != null && h._id) && P(h._id) === P(s._id)
252
- )
253
- return h;
254
- },
255
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
256
- (s, {
257
- previousValue: l
258
- }) => typeof s == "number" && typeof l == "string" ? `${s}` : s,
259
- // TODO: Update applySourceDocuments to support releases.
260
- Array.isArray(n) && n.some((s) => typeof s == "string" && s.startsWith("r") && s !== "raw") ? "previewDrafts" : n
261
- );
262
- }
263
- export {
264
- ye as default,
265
- ae as turboChargeResultIfSourceMap
266
- };
267
- //# sourceMappingURL=LiveQueries-sYvgBCKh.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiveQueries-sYvgBCKh.mjs","sources":["../../../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/LiveQueries.js"],"sourcesContent":["import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { c } from \"react-compiler-runtime\";\nimport { createCompatibilityActors, getQueryCacheKey } from \"./PresentationToolGrantsCheck.js\";\nimport { useQueryParams, useRevalidate } from \"./hooks.js\";\nimport { createClient } from \"@sanity/client\";\nimport { applySourceDocuments, getPublishedId } from \"@sanity/client/csm\";\nimport { createConnectionMachine } from \"@sanity/comlink\";\nimport isEqual from \"fast-deep-equal\";\nimport { useState, useEffect, useMemo, useDeferredValue, memo } from \"react\";\nimport { useProjectId, useDataset, useClient } from \"sanity\";\nimport { useEffectEvent } from \"use-effect-event\";\nimport { MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL } from \"./index.js\";\nfunction LoaderQueries(props) {\n const {\n liveDocument: _liveDocument,\n controller,\n perspective: activePerspective,\n onLoadersConnection,\n onDocumentsOnPage\n } = props, [comlink, setComlink] = useState(), [liveQueries, setLiveQueries] = useState({}), projectId = useProjectId(), dataset = useDataset();\n useEffect(() => {\n const interval = setInterval(() => setLiveQueries((liveQueries_0) => {\n if (Object.keys(liveQueries_0).length < 1)\n return liveQueries_0;\n const now = Date.now();\n if (!Object.values(liveQueries_0).some((liveQuery) => liveQuery.heartbeat !== !1 && now > liveQuery.receivedAt + liveQuery.heartbeat))\n return liveQueries_0;\n const next = {};\n for (const [key, value] of Object.entries(liveQueries_0))\n value.heartbeat !== !1 && now > value.receivedAt + value.heartbeat || (next[key] = value);\n return next;\n }), MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL);\n return () => clearInterval(interval);\n }, []), useEffect(() => {\n if (controller) {\n const comlink_0 = controller.createChannel({\n name: \"presentation\",\n connectTo: \"loaders\",\n heartbeat: !0\n }, createConnectionMachine().provide({\n actors: createCompatibilityActors()\n }));\n return setComlink(comlink_0), comlink_0.onStatus(onLoadersConnection), comlink_0.on(\"loader/documents\", (data) => {\n data.projectId === projectId && data.dataset === dataset && onDocumentsOnPage(\n \"loaders\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data.perspective,\n data.documents\n );\n }), comlink_0.on(\"loader/query-listen\", (data_0) => {\n if (data_0.projectId === projectId && data_0.dataset === dataset) {\n if (typeof data_0.heartbeat == \"number\" && data_0.heartbeat < MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL)\n throw new Error(`Loader query listen heartbeat interval must be at least ${MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL}ms`);\n setLiveQueries((prev) => ({\n ...prev,\n [getQueryCacheKey(data_0.query, data_0.params)]: {\n perspective: data_0.perspective,\n query: data_0.query,\n params: data_0.params,\n receivedAt: Date.now(),\n heartbeat: data_0.heartbeat ?? !1\n }\n }));\n }\n }), comlink_0.start();\n }\n }, [controller, dataset, onDocumentsOnPage, onLoadersConnection, projectId]);\n const [syncTagsInUse] = useState(() => /* @__PURE__ */ new Set()), [lastLiveEventId, setLastLiveEventId] = useState(null), studioClient = useClient({\n apiVersion: \"vX\"\n }), clientConfig = useMemo(() => studioClient.config(), [studioClient]), client = useMemo(() => studioClient.withConfig({\n resultSourceMap: \"withKeyArraySelector\"\n }), [studioClient]);\n useEffect(() => {\n if (comlink) {\n const {\n projectId: projectId_0,\n dataset: dataset_0\n } = clientConfig;\n comlink.post(\"loader/perspective\", {\n projectId: projectId_0,\n dataset: dataset_0,\n perspective: activePerspective\n });\n }\n }, [comlink, clientConfig, activePerspective]);\n const handleSyncTags = useEffectEvent((event) => {\n const flattenedSyncTags = Array.from(syncTagsInUse).flat();\n event.tags.some((tag) => flattenedSyncTags.includes(tag)) ? setLastLiveEventId(event.id) : console.log(\"No matching tags found\", event.tags, {\n flattenedSyncTags\n });\n });\n useEffect(() => {\n const subscription = createClient(client.config()).withConfig({\n // Necessary for the live drafts to work\n apiVersion: \"vX\"\n }).live.events({\n includeDrafts: !0,\n tag: \"presentation-loader\"\n }).subscribe({\n next: (event_0) => {\n event_0.type === \"message\" ? handleSyncTags(event_0) : event_0.type === \"restart\" ? setLastLiveEventId(event_0.id) : event_0.type === \"reconnect\" && setLastLiveEventId(null);\n },\n // eslint-disable-next-line no-console\n error: (err) => console.error(\"Error validating EventSource URL:\", err)\n });\n return () => subscription.unsubscribe();\n }, [client, handleSyncTags]);\n const liveDocument = useDeferredValue(_liveDocument);\n return /* @__PURE__ */ jsx(Fragment, { children: Object.entries(liveQueries).map(([key_0, {\n query,\n params,\n perspective\n }]) => /* @__PURE__ */ jsx(QuerySubscription, { projectId: clientConfig.projectId, dataset: clientConfig.dataset, perspective, query, params, comlink, client, liveDocument, lastLiveEventId, syncTagsInUse }, `${key_0}${perspective}`)) });\n}\nfunction QuerySubscriptionComponent(props) {\n const $ = c(14), {\n projectId,\n dataset,\n perspective,\n query,\n client,\n liveDocument,\n comlink,\n lastLiveEventId,\n syncTagsInUse\n } = props, params = useQueryParams(props.params), {\n result,\n resultSourceMap,\n syncTags: tags\n } = useQuerySubscription({\n client,\n liveDocument,\n params,\n perspective,\n query,\n lastLiveEventId\n }) || {};\n let t0;\n $[0] !== dataset || $[1] !== projectId ? (t0 = (comlink_0, perspective_0, query_0, params_0, result_0, resultSourceMap_0, tags_0) => {\n comlink_0?.post(\"loader/query-change\", {\n projectId,\n dataset,\n perspective: perspective_0,\n query: query_0,\n params: params_0,\n result: result_0,\n resultSourceMap: resultSourceMap_0,\n tags: tags_0\n });\n }, $[0] = dataset, $[1] = projectId, $[2] = t0) : t0 = $[2];\n const handleQueryChange = useEffectEvent(t0);\n let t1, t2;\n return $[3] !== comlink || $[4] !== handleQueryChange || $[5] !== params || $[6] !== perspective || $[7] !== query || $[8] !== result || $[9] !== resultSourceMap || $[10] !== syncTagsInUse || $[11] !== tags ? (t1 = () => {\n if (resultSourceMap && handleQueryChange(comlink, perspective, query, params, result, resultSourceMap, tags), Array.isArray(tags))\n return syncTagsInUse.add(tags), () => {\n syncTagsInUse.delete(tags);\n };\n }, t2 = [comlink, handleQueryChange, params, perspective, query, result, resultSourceMap, syncTagsInUse, tags], $[3] = comlink, $[4] = handleQueryChange, $[5] = params, $[6] = perspective, $[7] = query, $[8] = result, $[9] = resultSourceMap, $[10] = syncTagsInUse, $[11] = tags, $[12] = t1, $[13] = t2) : (t1 = $[12], t2 = $[13]), useEffect(t1, t2), null;\n}\nconst QuerySubscription = memo(QuerySubscriptionComponent);\nQuerySubscription.displayName = \"Memo(QuerySubscription)\";\nfunction useQuerySubscription(props) {\n const $ = c(25), {\n liveDocument,\n client,\n query,\n params,\n perspective,\n lastLiveEventId\n } = props, [snapshot, setSnapshot] = useState(null), [error, setError] = useState(null);\n if (error)\n throw error;\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = {\n refreshInterval: 0\n }, $[0] = t0) : t0 = $[0];\n const [revalidate, startRefresh] = useRevalidate(t0), shouldRefetch = revalidate === \"refresh\" || revalidate === \"inflight\" || lastLiveEventId !== snapshot?.lastLiveEventId;\n let t1, t2;\n $[1] !== client || $[2] !== lastLiveEventId || $[3] !== params || $[4] !== perspective || $[5] !== query || $[6] !== shouldRefetch || $[7] !== startRefresh ? (t1 = () => {\n if (!shouldRefetch)\n return;\n let fulfilled;\n fulfilled = !1;\n let fetching;\n fetching = !1;\n const controller = new AbortController(), effect = async function() {\n const {\n signal\n } = controller;\n fetching = !0;\n const {\n result,\n resultSourceMap,\n syncTags\n } = await client.fetch(query, params, {\n lastLiveEventId,\n tag: \"presentation-loader\",\n signal,\n perspective,\n filterResponse: !1,\n returnQuery: !1\n });\n fetching = !1, signal.aborted || (setSnapshot((prev) => ({\n result: isEqual(prev?.result, result) ? prev?.result : result,\n resultSourceMap: isEqual(prev?.resultSourceMap, resultSourceMap) ? prev?.resultSourceMap : resultSourceMap,\n syncTags: isEqual(prev?.syncTags, syncTags) ? prev?.syncTags : syncTags,\n lastLiveEventId\n })), fulfilled = !0);\n }, onFinally = startRefresh();\n return effect().catch((error_0) => {\n fetching = !1, error_0.name !== \"AbortError\" && setError(error_0);\n }).finally(onFinally), () => {\n !fulfilled && !fetching && controller.abort();\n };\n }, t2 = [client, lastLiveEventId, params, perspective, query, shouldRefetch, startRefresh], $[1] = client, $[2] = lastLiveEventId, $[3] = params, $[4] = perspective, $[5] = query, $[6] = shouldRefetch, $[7] = startRefresh, $[8] = t1, $[9] = t2) : (t1 = $[8], t2 = $[9]), useEffect(t1, t2);\n let t3;\n $[10] !== snapshot ? (t3 = snapshot ?? {}, $[10] = snapshot, $[11] = t3) : t3 = $[11];\n const {\n result: result_0,\n resultSourceMap: resultSourceMap_0,\n syncTags: syncTags_0\n } = t3;\n let t4;\n bb0: {\n if (liveDocument && resultSourceMap_0) {\n let t52;\n $[12] !== liveDocument || $[13] !== perspective || $[14] !== resultSourceMap_0 || $[15] !== result_0 ? (t52 = turboChargeResultIfSourceMap(liveDocument, result_0, perspective, resultSourceMap_0), $[12] = liveDocument, $[13] = perspective, $[14] = resultSourceMap_0, $[15] = result_0, $[16] = t52) : t52 = $[16];\n let t6;\n $[17] !== resultSourceMap_0 || $[18] !== syncTags_0 || $[19] !== t52 ? (t6 = {\n result: t52,\n resultSourceMap: resultSourceMap_0,\n syncTags: syncTags_0\n }, $[17] = resultSourceMap_0, $[18] = syncTags_0, $[19] = t52, $[20] = t6) : t6 = $[20], t4 = t6;\n break bb0;\n }\n let t5;\n $[21] !== resultSourceMap_0 || $[22] !== result_0 || $[23] !== syncTags_0 ? (t5 = {\n result: result_0,\n resultSourceMap: resultSourceMap_0,\n syncTags: syncTags_0\n }, $[21] = resultSourceMap_0, $[22] = result_0, $[23] = syncTags_0, $[24] = t5) : t5 = $[24], t4 = t5;\n }\n return t4;\n}\nfunction turboChargeResultIfSourceMap(liveDocument, result, perspective, resultSourceMap) {\n if (perspective === \"raw\")\n throw new Error(\"turboChargeResultIfSourceMap does not support raw perspective\");\n return applySourceDocuments(\n result,\n resultSourceMap,\n (sourceDocument) => {\n if (\n // If _projectId is set, it's a cross dataset reference and we should skip it\n !sourceDocument._projectId && liveDocument?._id && getPublishedId(liveDocument._id) === getPublishedId(sourceDocument._id)\n )\n return liveDocument;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (changedValue, {\n previousValue\n }) => typeof changedValue == \"number\" && typeof previousValue == \"string\" ? `${changedValue}` : changedValue,\n // TODO: Update applySourceDocuments to support releases.\n Array.isArray(perspective) && perspective.some((part) => typeof part == \"string\" && part.startsWith(\"r\") && part !== \"raw\") ? \"previewDrafts\" : perspective\n );\n}\nexport {\n LoaderQueries as default,\n turboChargeResultIfSourceMap\n};\n//# sourceMappingURL=LiveQueries.js.map\n"],"names":["LoaderQueries","props","_liveDocument","controller","activePerspective","onLoadersConnection","onDocumentsOnPage","comlink","setComlink","useState","liveQueries","setLiveQueries","projectId","useProjectId","dataset","useDataset","useEffect","interval","liveQueries_0","now","liveQuery","next","key","value","MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL","comlink_0","createConnectionMachine","createCompatibilityActors","data","data_0","prev","getQueryCacheKey","syncTagsInUse","lastLiveEventId","setLastLiveEventId","studioClient","useClient","clientConfig","useMemo","client","projectId_0","dataset_0","handleSyncTags","useEffectEvent","event","flattenedSyncTags","tag","subscription","createClient","event_0","err","liveDocument","useDeferredValue","jsx","Fragment","key_0","query","params","perspective","QuerySubscription","QuerySubscriptionComponent","$","c","useQueryParams","result","resultSourceMap","tags","useQuerySubscription","t0","perspective_0","query_0","params_0","result_0","resultSourceMap_0","tags_0","handleQueryChange","t1","t2","memo","snapshot","setSnapshot","error","setError","revalidate","startRefresh","useRevalidate","shouldRefetch","fulfilled","fetching","effect","signal","syncTags","isEqual","onFinally","error_0","t3","syncTags_0","t4","bb0","t52","turboChargeResultIfSourceMap","t6","t5","applySourceDocuments","sourceDocument","getPublishedId","changedValue","previousValue","part"],"mappings":"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","x_google_ignoreList":[0]}