sanity 3.93.1-next.24.b281fe165f → 3.93.1-next.27.be182aaafa

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 (241) hide show
  1. package/lib/_chunks-cjs/version.js +1 -1
  2. package/lib/_chunks-es/version.mjs +1 -1
  3. package/package.json +10 -10
  4. package/dist/1-yrhfgGSy.mjs +0 -5
  5. package/dist/1-yrhfgGSy.mjs.map +0 -1
  6. package/dist/BackLink-BjbAxrJO.mjs +0 -2
  7. package/dist/BackLink-BjbAxrJO.mjs.map +0 -1
  8. package/dist/BehaviorSubject-lT90ntN-.mjs +0 -2
  9. package/dist/BehaviorSubject-lT90ntN-.mjs.map +0 -1
  10. package/dist/BroadcastDisplayedDocument-NLP-sZ3E.mjs +0 -2
  11. package/dist/BroadcastDisplayedDocument-NLP-sZ3E.mjs.map +0 -1
  12. package/dist/Delay-BF0O9UCI.mjs +0 -2
  13. package/dist/Delay-BF0O9UCI.mjs.map +0 -1
  14. package/dist/DisplayedDocumentBroadcaster-bVq7qjFz.mjs +0 -2
  15. package/dist/DisplayedDocumentBroadcaster-bVq7qjFz.mjs.map +0 -1
  16. package/dist/DocumentPane-B9qqshkT.mjs +0 -263
  17. package/dist/DocumentPane-B9qqshkT.mjs.map +0 -1
  18. package/dist/EmptyError-BLRYgvfy.mjs +0 -2
  19. package/dist/EmptyError-BLRYgvfy.mjs.map +0 -1
  20. package/dist/LiveQueries-D9bwoNKb.mjs +0 -2
  21. package/dist/LiveQueries-D9bwoNKb.mjs.map +0 -1
  22. package/dist/LoadingPane-fVJxEQpb.mjs +0 -10
  23. package/dist/LoadingPane-fVJxEQpb.mjs.map +0 -1
  24. package/dist/MenuGroup-DZWX1dWR.mjs +0 -2
  25. package/dist/MenuGroup-DZWX1dWR.mjs.map +0 -1
  26. package/dist/MenuItem-nwzB8TNk.mjs +0 -8
  27. package/dist/MenuItem-nwzB8TNk.mjs.map +0 -1
  28. package/dist/Observable-B8U6mp9h.mjs +0 -4
  29. package/dist/Observable-B8U6mp9h.mjs.map +0 -1
  30. package/dist/PaneContainer-BqULSwD0.mjs +0 -109
  31. package/dist/PaneContainer-BqULSwD0.mjs.map +0 -1
  32. package/dist/PaneHeaderActions-BwRjxrbU.mjs +0 -2
  33. package/dist/PaneHeaderActions-BwRjxrbU.mjs.map +0 -1
  34. package/dist/PaneItem-CXeBMzOt.mjs +0 -2
  35. package/dist/PaneItem-CXeBMzOt.mjs.map +0 -1
  36. package/dist/PostMessageDocuments-BV62lQ7C.mjs +0 -2
  37. package/dist/PostMessageDocuments-BV62lQ7C.mjs.map +0 -1
  38. package/dist/PostMessagePerspective-CFiQ6IFc.mjs +0 -2
  39. package/dist/PostMessagePerspective-CFiQ6IFc.mjs.map +0 -1
  40. package/dist/PostMessagePreviewSnapshots-5oC2mIn1.mjs +0 -2
  41. package/dist/PostMessagePreviewSnapshots-5oC2mIn1.mjs.map +0 -1
  42. package/dist/PostMessageRefreshMutations-DdxC6YP_.mjs +0 -2
  43. package/dist/PostMessageRefreshMutations-DdxC6YP_.mjs.map +0 -1
  44. package/dist/PostMessageSchema-Bcs4xG5C.mjs +0 -2
  45. package/dist/PostMessageSchema-Bcs4xG5C.mjs.map +0 -1
  46. package/dist/PostMessageTelemetry-LUBYudOJ.mjs +0 -2
  47. package/dist/PostMessageTelemetry-LUBYudOJ.mjs.map +0 -1
  48. package/dist/PresentationToolGrantsCheck-CgJU8JlK.mjs +0 -100
  49. package/dist/PresentationToolGrantsCheck-CgJU8JlK.mjs.map +0 -1
  50. package/dist/QRCodeSVG-CxOJrjO_.mjs +0 -2
  51. package/dist/QRCodeSVG-CxOJrjO_.mjs.map +0 -1
  52. package/dist/Refractor-UCi38mb-.mjs +0 -5
  53. package/dist/Refractor-UCi38mb-.mjs.map +0 -1
  54. package/dist/ReplaySubject-CHMGH8uo.mjs +0 -2
  55. package/dist/ReplaySubject-CHMGH8uo.mjs.map +0 -1
  56. package/dist/SourceContext-D53WuQKs.mjs +0 -2
  57. package/dist/SourceContext-D53WuQKs.mjs.map +0 -1
  58. package/dist/StructureToolProvider-C8VLdhP8.mjs +0 -2
  59. package/dist/StructureToolProvider-C8VLdhP8.mjs.map +0 -1
  60. package/dist/Subject-BUseddH4.mjs +0 -2
  61. package/dist/Subject-BUseddH4.mjs.map +0 -1
  62. package/dist/Tooltip-JnkpPrKf.mjs +0 -4
  63. package/dist/Tooltip-JnkpPrKf.mjs.map +0 -1
  64. package/dist/TooltipDelayGroupProvider-DFmNEvMS.mjs +0 -2
  65. package/dist/TooltipDelayGroupProvider-DFmNEvMS.mjs.map +0 -1
  66. package/dist/ViteDevServerStopped-XKSHzTxM.mjs +0 -2
  67. package/dist/ViteDevServerStopped-XKSHzTxM.mjs.map +0 -1
  68. package/dist/_createContext.mjs +0 -2
  69. package/dist/_createContext.mjs.map +0 -1
  70. package/dist/_singletons.mjs +0 -2
  71. package/dist/_singletons.mjs.map +0 -1
  72. package/dist/asserters-C8hxedkt.mjs +0 -2
  73. package/dist/asserters-C8hxedkt.mjs.map +0 -1
  74. package/dist/async-HS7jgwe2.mjs +0 -2
  75. package/dist/async-HS7jgwe2.mjs.map +0 -1
  76. package/dist/browser-Ca2COO1i.mjs +0 -14
  77. package/dist/browser-Ca2COO1i.mjs.map +0 -1
  78. package/dist/browser-oKMlC993.mjs +0 -2
  79. package/dist/browser-oKMlC993.mjs.map +0 -1
  80. package/dist/chunk-DSR6Ryem.mjs +0 -1
  81. package/dist/combineLatest-CFPJgUfN.mjs +0 -2
  82. package/dist/combineLatest-CFPJgUfN.mjs.map +0 -1
  83. package/dist/concat-BWArfBxD.mjs +0 -2
  84. package/dist/concat-BWArfBxD.mjs.map +0 -1
  85. package/dist/concatMap-DZrL7ZKn.mjs +0 -2
  86. package/dist/concatMap-DZrL7ZKn.mjs.map +0 -1
  87. package/dist/constants-ChSQUPYh.mjs +0 -5
  88. package/dist/constants-ChSQUPYh.mjs.map +0 -1
  89. package/dist/constants-ClLucOHG.mjs +0 -10
  90. package/dist/constants-ClLucOHG.mjs.map +0 -1
  91. package/dist/csm-BGmdCiS5.mjs +0 -3
  92. package/dist/csm-BGmdCiS5.mjs.map +0 -1
  93. package/dist/dateTimestampProvider-Bu3RH21w.mjs +0 -2
  94. package/dist/dateTimestampProvider-Bu3RH21w.mjs.map +0 -1
  95. package/dist/debounceTime-ZjGvEiAc.mjs +0 -2
  96. package/dist/debounceTime-ZjGvEiAc.mjs.map +0 -1
  97. package/dist/desk.mjs +0 -2
  98. package/dist/desk.mjs.map +0 -1
  99. package/dist/dist-B6kS-Ue1.mjs +0 -2
  100. package/dist/dist-B6kS-Ue1.mjs.map +0 -1
  101. package/dist/dist-BBJTJw5c.mjs +0 -2
  102. package/dist/dist-BBJTJw5c.mjs.map +0 -1
  103. package/dist/dist-ByxNQHyT.mjs +0 -2
  104. package/dist/dist-ByxNQHyT.mjs.map +0 -1
  105. package/dist/dist-CbgPQx6C.mjs +0 -8
  106. package/dist/dist-CbgPQx6C.mjs.map +0 -1
  107. package/dist/dist-ClpwwQr8.mjs +0 -15
  108. package/dist/dist-ClpwwQr8.mjs.map +0 -1
  109. package/dist/dist-DPyoedQR.mjs +0 -2
  110. package/dist/dist-DPyoedQR.mjs.map +0 -1
  111. package/dist/dist-DTr4N9sP.mjs +0 -2
  112. package/dist/dist-DTr4N9sP.mjs.map +0 -1
  113. package/dist/dist-DhOlFDfY.mjs +0 -2
  114. package/dist/dist-DhOlFDfY.mjs.map +0 -1
  115. package/dist/dist-Du4lGEpF.mjs +0 -2
  116. package/dist/dist-Du4lGEpF.mjs.map +0 -1
  117. package/dist/dist-gdCAZyAZ.mjs +0 -1213
  118. package/dist/dist-gdCAZyAZ.mjs.map +0 -1
  119. package/dist/dist-p4qSKgLr.mjs +0 -2
  120. package/dist/dist-p4qSKgLr.mjs.map +0 -1
  121. package/dist/fast-deep-equal-D2buQJMm.mjs +0 -2
  122. package/dist/fast-deep-equal-D2buQJMm.mjs.map +0 -1
  123. package/dist/filter-Dzj28Ftl.mjs +0 -2
  124. package/dist/filter-Dzj28Ftl.mjs.map +0 -1
  125. package/dist/first-rmXQWXXU.mjs +0 -2
  126. package/dist/first-rmXQWXXU.mjs.map +0 -1
  127. package/dist/from-1e-Bj2Xm.mjs +0 -2
  128. package/dist/from-1e-Bj2Xm.mjs.map +0 -1
  129. package/dist/getExtendedProjection-ocJy6w-1.mjs +0 -2
  130. package/dist/getExtendedProjection-ocJy6w-1.mjs.map +0 -1
  131. package/dist/getIntentState-BzHK-R2v.mjs +0 -25
  132. package/dist/getIntentState-BzHK-R2v.mjs.map +0 -1
  133. package/dist/helpers-DmN6xVrH.mjs +0 -2
  134. package/dist/helpers-DmN6xVrH.mjs.map +0 -1
  135. package/dist/i18n-DSW5BxWp.mjs +0 -2
  136. package/dist/i18n-DSW5BxWp.mjs.map +0 -1
  137. package/dist/index.browser-CKm2u9SF.mjs +0 -14
  138. package/dist/index.browser-CKm2u9SF.mjs.map +0 -1
  139. package/dist/index.browser-m6o-65PH.mjs +0 -2
  140. package/dist/index.browser-m6o-65PH.mjs.map +0 -1
  141. package/dist/index.mjs +0 -4364
  142. package/dist/index.mjs.map +0 -1
  143. package/dist/inputWrappers-B2JwUo5Q.mjs +0 -6
  144. package/dist/inputWrappers-B2JwUo5Q.mjs.map +0 -1
  145. package/dist/isObservable-D3WTlre7.mjs +0 -2
  146. package/dist/isObservable-D3WTlre7.mjs.map +0 -1
  147. package/dist/lastValueFrom-DNJfBsuL.mjs +0 -2
  148. package/dist/lastValueFrom-DNJfBsuL.mjs.map +0 -1
  149. package/dist/list-CRYGwmUP.mjs +0 -17
  150. package/dist/list-CRYGwmUP.mjs.map +0 -1
  151. package/dist/lodash-Bv9uePfP.mjs +0 -21
  152. package/dist/lodash-Bv9uePfP.mjs.map +0 -1
  153. package/dist/map-DkDssZnl.mjs +0 -2
  154. package/dist/map-DkDssZnl.mjs.map +0 -1
  155. package/dist/mapOneOrManyArgs-nKglr-Z6.mjs +0 -2
  156. package/dist/mapOneOrManyArgs-nKglr-Z6.mjs.map +0 -1
  157. package/dist/menuNodes-DfRBkUna.mjs +0 -2
  158. package/dist/menuNodes-DfRBkUna.mjs.map +0 -1
  159. package/dist/merge-DLqD1gqk.mjs +0 -2
  160. package/dist/merge-DLqD1gqk.mjs.map +0 -1
  161. package/dist/mergeMap-BhPr1e5f.mjs +0 -2
  162. package/dist/mergeMap-BhPr1e5f.mjs.map +0 -1
  163. package/dist/never-DgTZVAtg.mjs +0 -2
  164. package/dist/never-DgTZVAtg.mjs.map +0 -1
  165. package/dist/of-DHUS5V5R.mjs +0 -2
  166. package/dist/of-DHUS5V5R.mjs.map +0 -1
  167. package/dist/pane-BMyHaSp6.mjs +0 -1
  168. package/dist/pane-CAXJwiOS.mjs +0 -1
  169. package/dist/paths-Uiaz64OV.mjs +0 -2
  170. package/dist/paths-Uiaz64OV.mjs.map +0 -1
  171. package/dist/presentation.mjs +0 -12
  172. package/dist/presentation.mjs.map +0 -1
  173. package/dist/proxy-Dqw503dV.mjs +0 -2
  174. package/dist/proxy-Dqw503dV.mjs.map +0 -1
  175. package/dist/publishReplay-w0VqSlUG.mjs +0 -2
  176. package/dist/publishReplay-w0VqSlUG.mjs.map +0 -1
  177. package/dist/react-CcFWW54u.mjs +0 -2
  178. package/dist/react-CcFWW54u.mjs.map +0 -1
  179. package/dist/refractor-BE6oAO2f.mjs +0 -2
  180. package/dist/refractor-BE6oAO2f.mjs.map +0 -1
  181. package/dist/resources-B-P7yY4i.mjs +0 -2
  182. package/dist/resources-B-P7yY4i.mjs.map +0 -1
  183. package/dist/resources-BMgz3UTF.mjs +0 -2
  184. package/dist/resources-BMgz3UTF.mjs.map +0 -1
  185. package/dist/resources-C10e-Tmd.mjs +0 -2
  186. package/dist/resources-C10e-Tmd.mjs.map +0 -1
  187. package/dist/resources-C63HMln_.mjs +0 -3
  188. package/dist/resources-C63HMln_.mjs.map +0 -1
  189. package/dist/resources-QIglKpCh.mjs +0 -2
  190. package/dist/resources-QIglKpCh.mjs.map +0 -1
  191. package/dist/resources-a_EhxFoi.mjs +0 -2
  192. package/dist/resources-a_EhxFoi.mjs.map +0 -1
  193. package/dist/resources-wUgycRup.mjs +0 -2
  194. package/dist/resources-wUgycRup.mjs.map +0 -1
  195. package/dist/router.mjs +0 -2
  196. package/dist/router.mjs.map +0 -1
  197. package/dist/scan-zuMwSL6_.mjs +0 -2
  198. package/dist/scan-zuMwSL6_.mjs.map +0 -1
  199. package/dist/share-DudygGnN.mjs +0 -2
  200. package/dist/share-DudygGnN.mjs.map +0 -1
  201. package/dist/shareReplay-DNp-xAdu.mjs +0 -2
  202. package/dist/shareReplay-DNp-xAdu.mjs.map +0 -1
  203. package/dist/speakingurl-D9zTR1xM.mjs +0 -2
  204. package/dist/speakingurl-D9zTR1xM.mjs.map +0 -1
  205. package/dist/stegaClean-CF_wp2AP.mjs +0 -2
  206. package/dist/stegaClean-CF_wp2AP.mjs.map +0 -1
  207. package/dist/stegaEncodeSourceMap-sinaqym6.mjs +0 -3
  208. package/dist/stegaEncodeSourceMap-sinaqym6.mjs.map +0 -1
  209. package/dist/structure-DeitBGwm.mjs +0 -122
  210. package/dist/structure-DeitBGwm.mjs.map +0 -1
  211. package/dist/structure.mjs +0 -1
  212. package/dist/structureTool-C7WqcvTM.mjs +0 -11
  213. package/dist/structureTool-C7WqcvTM.mjs.map +0 -1
  214. package/dist/switchMap-Dkb8wgZy.mjs +0 -2
  215. package/dist/switchMap-Dkb8wgZy.mjs.map +0 -1
  216. package/dist/take-CsBFzexj.mjs +0 -2
  217. package/dist/take-CsBFzexj.mjs.map +0 -1
  218. package/dist/takeUntil-CFb43n44.mjs +0 -2
  219. package/dist/takeUntil-CFb43n44.mjs.map +0 -1
  220. package/dist/throttle-84hk9ct5.mjs +0 -2
  221. package/dist/throttle-84hk9ct5.mjs.map +0 -1
  222. package/dist/timer-CudmXrHS.mjs +0 -2
  223. package/dist/timer-CudmXrHS.mjs.map +0 -1
  224. package/dist/urlpattern-polyfill-CTSIY__t.mjs +0 -2
  225. package/dist/urlpattern-polyfill-CTSIY__t.mjs.map +0 -1
  226. package/dist/usePaneRouter-BnyByWgR.mjs +0 -2
  227. package/dist/usePaneRouter-BnyByWgR.mjs.map +0 -1
  228. package/dist/usePresentationNavigate-CIMnjQ3N.mjs +0 -2
  229. package/dist/usePresentationNavigate-CIMnjQ3N.mjs.map +0 -1
  230. package/dist/usePresentationParams-CK4TAdiB.mjs +0 -2
  231. package/dist/usePresentationParams-CK4TAdiB.mjs.map +0 -1
  232. package/dist/useStructureTool-DJWYs4dK.mjs +0 -86
  233. package/dist/useStructureTool-DJWYs4dK.mjs.map +0 -1
  234. package/dist/useStructureToolSetting-BmMWFoFU.mjs +0 -2
  235. package/dist/useStructureToolSetting-BmMWFoFU.mjs.map +0 -1
  236. package/dist/userComponent-C7AeZ7LF.mjs +0 -4
  237. package/dist/userComponent-C7AeZ7LF.mjs.map +0 -1
  238. package/dist/v4-jDHpYEaJ.mjs +0 -2
  239. package/dist/v4-jDHpYEaJ.mjs.map +0 -1
  240. package/dist/version-BzHQOibY.mjs +0 -2
  241. package/dist/version-BzHQOibY.mjs.map +0 -1
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{Flex as n,Menu as r}from"./dist-gdCAZyAZ.mjs";import{AddIcon as i}from"./dist-BBJTJw5c.mjs";import{require_lodash as a}from"./lodash-Bv9uePfP.mjs";import{Button as o,Tooltip as s}from"./Tooltip-JnkpPrKf.mjs";import{MenuButton as c,MenuItem as l}from"./MenuItem-nwzB8TNk.mjs";import{structureLocaleNamespace as u}from"./i18n-DSW5BxWp.mjs";import{PaneContextMenuButton as d,PaneHeaderActionButton as f,isMenuNodeButton as p,isNotMenuNodeButton as m,resolveMenuNodes as h}from"./menuNodes-DfRBkUna.mjs";import{forwardRef as g,memo as _,useCallback as v,useMemo as y}from"react";import{Fragment as b,jsx as x,jsxs as S}from"react/jsx-runtime";import{IntentLink as C}from"sanity/router";import{EMPTY_ARRAY as w,EMPTY_OBJECT as T,InsufficientPermissionsMessage as E,isPublishedPerspective as D,useCurrentUser as O,useGetI18nText as k,useIsReleaseActive as A,usePerspective as j,useTemplatePermissions as M,useTemplates as N,useTranslation as P}from"sanity";var F=e(t());const I=g(function(e,t){let n=(0,F.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({intent:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a,s;n[3]===r?s=n[4]:(s=g(function(e,t){return x(C,{...e,intent:r.type,params:r.params,ref:t,searchParams:r.searchParams})}),n[3]=r,n[4]=s),a=s;let c=a,l;return n[5]!==c||n[6]!==e.disabled||n[7]!==t||n[8]!==i?(l=e.disabled?x(o,{...i,as:`a`,role:`link`,"aria-disabled":`true`}):x(o,{...i,as:c,"data-as":`a`,ref:t}),n[5]=c,n[6]=e.disabled,n[7]=t,n[8]=i,n[9]=l):l=n[9],l});var L=e(t());function R(e){let t=(0,L.c)(12),{reveal:n,context:r,loading:i,children:a}=e,o=O(),{t:c}=P(u);if(!n){let e;return t[0]===a?e=t[1]:(e=x(b,{children:a}),t[0]=a,t[1]=e),e}let l;t[2]!==r||t[3]!==o||t[4]!==i||t[5]!==c?(l=i?c(`insufficient-permissions-message-tooltip.loading-text`):x(E,{context:r,currentUser:o}),t[2]=r,t[3]=o,t[4]=i,t[5]=c,t[6]=l):l=t[6];let d;t[7]===a?d=t[8]:(d=x(`div`,{children:a}),t[7]=a,t[8]=d);let f;return t[9]!==l||t[10]!==d?(f=x(s,{content:l,portal:!0,children:d}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f}var z=e(t());const B={constrainSize:!0,placement:`bottom`,portal:!0},V=(e,t,n)=>{var r;let i=(r=e.find(e=>e.id===t.templateId))?.schemaType;if(!i)return null;let a={template:t.templateId,type:i,version:n,id:t.initialDocumentId};return{type:`create`,params:t.parameters?[a,t.parameters]:a,searchParams:n?[[`perspective`,n]]:void 0}};function H(e){let t=(0,z.c)(68),{templateItems:n}=e,a=N(),{selectedReleaseId:s,selectedPerspective:d}=j(),f=A(),{t:p}=P(u),{t:m}=P(),h;t[0]!==n||t[1]!==a?(h=[...n,...a],t[0]=n,t[1]=a,t[2]=h):h=t[2];let _=k(h),v;t[3]===n?v=t[4]:(v={templateItems:n},t[3]=n,t[4]=v);let[y,b]=M(v),S;S=!b&&y?.every(W);let w=S,T;bb0:{if(!y){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e={},t[5]=e):e=t[5],T=e;break bb0}let e;t[6]===y?e=t[7]:(e=y.reduce(U,{}),t[6]=y,t[7]=e),T=e}let E=T;if(w){let e;t[8]===p?e=t[9]:(e=p(`pane-header.disabled-created-button.aria-label`),t[8]=p,t[9]=e);let n;t[10]===e?n=t[11]:(n=x(o,{"aria-label":e,icon:i,"data-testid":`action-intent-button`,disabled:!0,mode:`bleed`,tooltipProps:null}),t[10]=e,t[11]=n);let r;return t[12]!==b||t[13]!==n?(r=x(R,{context:`create-document-type`,reveal:!0,loading:b,children:n}),t[12]=b,t[13]=n,t[14]=r):r=t[14],r}let O=D(d)?`new-document.disabled-published.tooltip`:`new-document.disabled-release.tooltip`,F;t[15]!==O||t[16]!==m?(F=m(O),t[15]=O,t[16]=m,t[17]=F):F=t[17];let L;t[18]===F?L=t[19]:(L={content:F},t[18]=F,t[19]=L);let H=L;if(n.length===1){let e=n[0],r=E[e.id],o=!r?.granted||!f,c;t[20]!==e||t[21]!==s||t[22]!==a?(c=V(a,e,s),t[20]=e,t[21]=s,t[22]=a,t[23]=c):c=t[23];let l=c;if(!l)return null;let u;t[24]!==e||t[25]!==_?(u=_(e),t[24]=e,t[25]=_,t[26]=u):u=t[26];let d=e.icon||i,m;t[27]!==o||t[28]!==H||t[29]!==p?(m=o?H:{content:p(`pane-header.create-new-button.tooltip`)},t[27]=o,t[28]=H,t[29]=p,t[30]=m):m=t[30];let h;t[31]!==o||t[32]!==l||t[33]!==d||t[34]!==m||t[35]!==u.title?(h=x(I,{"aria-label":u.title,icon:d,intent:l,mode:`bleed`,disabled:o,"data-testid":`action-intent-button`,tooltipProps:m}),t[31]=o,t[32]=l,t[33]=d,t[34]=m,t[35]=u.title,t[36]=h):h=t[36];let g;return t[37]!==o||t[38]!==b||t[39]!==h?(g=x(R,{reveal:o,loading:b,context:`create-document-type`,children:h}),t[37]=o,t[38]=b,t[39]=h,t[40]=g):g=t[40],g}let G=!f,K;t[41]!==H||t[42]!==f||t[43]!==p?(K=f?{content:p(`pane-header.create-new-button.tooltip`)}:H,t[41]=H,t[42]=f,t[43]=p,t[44]=K):K=t[44];let q;t[45]!==G||t[46]!==K?(q=x(o,{icon:i,mode:`bleed`,disabled:G,"data-testid":`multi-action-intent-button`,tooltipProps:K}),t[45]=G,t[46]=K,t[47]=q):q=t[47];let J;if(t[48]!==_||t[49]!==b||t[50]!==E||t[51]!==s||t[52]!==p||t[53]!==n||t[54]!==a){let e;t[56]!==_||t[57]!==b||t[58]!==E||t[59]!==s||t[60]!==p||t[61]!==a?(e=(e,t)=>{let n=E[e.id],r=!n?.granted,i=V(a,e,s),o=a.find(t=>t.id===e.templateId);if(!o||!i)return null;let c=g((e,t)=>r?x(`button`,{type:`button`,disabled:!0,...e,ref:t}):x(C,{...e,intent:i.type,params:i.params,searchParams:i.searchParams,ref:t}));c.displayName=`Link`;let{title:u}=_({...e,title:e.title||_(o).title});return x(R,{context:`create-document-type`,reveal:r,loading:b,children:x(l,{as:c,"data-as":r?`button`:`a`,text:u,"aria-label":r?p(`pane-header.disabled-created-button.aria-label`):u,disabled:r,"data-testid":`action-intent-button-${t}`})},e.id)},t[56]=_,t[57]=b,t[58]=E,t[59]=s,t[60]=p,t[61]=a,t[62]=e):e=t[62],J=n.map(e),t[48]=_,t[49]=b,t[50]=E,t[51]=s,t[52]=p,t[53]=n,t[54]=a,t[55]=J}else J=t[55];let Y;t[63]===J?Y=t[64]:(Y=x(r,{children:J}),t[63]=J,t[64]=Y);let X;return t[65]!==q||t[66]!==Y?(X=x(c,{button:q,id:`create-menu`,menu:Y,popover:B}),t[65]=q,t[66]=Y,t[67]=X):X=t[67],X}function U(e,t){return e[t.id]=t,e}function W(e){return!e.granted}var G=e(a());function K(e){return e!=null}const q=e=>{let t=e=>typeof e!=`object`||!e?e:Array.isArray(e)?e.map(t):Object.entries(e).sort(([e],[t])=>e.localeCompare(t,`en`)),n=e=>JSON.parse(JSON.stringify(e));return JSON.stringify(t(n(e)))},J=_(function(e){let{initialValueTemplateItems:t=w,menuItems:r=w,menuItemGroups:i=w,actionHandlers:a=T}=e,o=N(),s=v(e=>{if(typeof e.action==`string`&&!(e.action in a))return console.warn(`No handler for action:`,e.action),!1;let t=typeof e.action==`function`?e.action:typeof e.action==`string`?a[e.action]:null;return t?(t(e.params),!0):!1},[a]),c=y(()=>h({actionHandler:s,menuItemGroups:i,menuItems:r.filter(e=>{var t;return(t=e.intent)?.type!==`create`})}),[s,i,r]),l=y(()=>c.filter(p),[c]),u=y(()=>c.filter(m),[c]),g=y(()=>r.map((e,t)=>{var n;if((n=e.intent)?.type!==`create`)return null;let{params:r}=e.intent;if(!r)return null;let i=Array.isArray(r)?r[0]:r,a=Array.isArray(r)?r[1]:void 0,s=i.template||i.type;if(!s)return null;let c=o.find(e=>e.id===s);if(!c)return null;let l=i.id;return{item:e,template:c,templateParams:a,menuItemIndex:t,initialDocumentId:l}}).filter(K).map(({initialDocumentId:e,item:t,template:n,menuItemIndex:r,templateParams:i})=>{let a={id:`menuItem${r}`,initialDocumentId:e,templateId:n.id,type:`initialValueTemplateItem`,title:t.title||n.title,i18n:t.i18n||n.i18n,icon:t.icon,description:n.description,parameters:i,schemaType:n.schemaType};return a}),[r,o]),_=y(()=>(0,G.uniqBy)([...g,...t],e=>q([e.initialDocumentId,e.templateId,e.parameters])),[g,t]);return S(n,{gap:1,children:[_.length>0&&x(H,{templateItems:_}),l.map(e=>x(f,{node:e},e.key)),u.length>0&&x(d,{nodes:u})]})});export{J as PaneHeaderActions};
2
- //# sourceMappingURL=PaneHeaderActions-BwRjxrbU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaneHeaderActions-BwRjxrbU.mjs","names":["ComponentProps","ForwardedRef","forwardRef","ReactNode","useMemo","IntentLink","Button","ButtonProps","PaneMenuItem","RouterIntent","NonNullable","IntentButton","props","ref","$","_c","intent","restProps","t0","t1","Link","linkProps","linkRef","type","params","searchParams","t2","disabled","HTMLButtonElement","ComponentProps","ReactNode","InsufficientPermissionsMessage","useCurrentUser","useTranslation","Tooltip","structureLocaleNamespace","InsufficientPermissionsMessageTooltipProps","reveal","context","loading","children","InsufficientPermissionsMessageTooltip","t0","$","_c","currentUser","t","t1","t2","t3","AddIcon","Menu","ComponentProps","ForwardedRef","forwardRef","useMemo","InitialValueTemplateItem","isPublishedPerspective","ReleaseId","Template","TemplatePermissionsResult","useGetI18nText","useIsReleaseActive","usePerspective","useTemplatePermissions","useTemplates","useTranslation","IntentLink","Button","MenuButton","MenuItem","PopoverProps","structureLocaleNamespace","IntentButton","InsufficientPermissionsMessageTooltip","PaneHeaderIntentProps","POPOVER_PROPS","constrainSize","placement","portal","getIntent","templates","item","version","typeName","find","t","id","templateId","schemaType","baseParams","template","type","initialDocumentId","params","parameters","searchParams","undefined","PaneHeaderCreateButtonProps","templateItems","PaneHeaderCreateButton","t0","$","_c","selectedReleaseId","selectedPerspective","isReleaseActive","tCore","t1","getI18nText","t2","templatePermissions","isTemplatePermissionsLoading","t3","every","_temp","nothingGranted","t4","bb0","t5","Symbol","for","reduce","_temp2","permissionsById","t6","t7","content","disabledByPerspectiveTooltipProps","length","firstItem","permissions","disabled","granted","t8","intent","t9","t10","icon","t11","t12","title","t13","itemIndex","permissions_0","disabled_0","intent_0","i","Link","linkProps","linkRef","displayName","map","acc","permission_0","permission","Flex","uniqBy","memo","useCallback","useMemo","EMPTY_ARRAY","EMPTY_OBJECT","InitialValueTemplateItem","useTemplates","isMenuNodeButton","isNotMenuNodeButton","resolveMenuNodes","PaneMenuItem","PaneMenuItemGroup","StructureToolPaneActionHandler","PaneContextMenuButton","PaneHeaderActionButton","PaneHeaderCreateButton","isNonNullable","value","T","NonNullable","undefined","hashObject","sortObject","v","Array","isArray","map","Object","entries","sort","keyA","keyB","localeCompare","normalize","JSON","parse","stringify","PaneHeaderActionsProps","initialValueTemplateItems","menuItems","menuItemGroups","actionHandlers","Record","PaneHeaderActions","props","initialValueTemplateItemsFromStructure","templates","handleAction","item","action","console","warn","handler","params","menuNodes","actionHandler","filter","intent","type","actionNodes","contextMenuNodes","initialValueTemplateItemFromMenuItems","menuItemIndex","intentParams","templateParams","templateId","template","find","t","id","initialDocumentId","initialValueTemplateItem","title","i18n","icon","description","parameters","schemaType","combinedInitialValueTemplates","length","node","key"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/IntentButton.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/paneHeaderActions/InsufficientPermissionsMessageTooltip.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/paneHeaderActions/PaneHeaderCreateButton.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/paneHeaderActions/PaneHeaderActions.tsx"],"sourcesContent":["import {type ComponentProps, type ForwardedRef, forwardRef, type ReactNode, useMemo} from 'react'\nimport {IntentLink} from 'sanity/router'\n\nimport {Button, type ButtonProps} from '../../ui-components'\nimport {type PaneMenuItem} from '../types'\n\ntype RouterIntent = NonNullable<PaneMenuItem['intent']>\n\nexport const IntentButton = forwardRef(function IntentButton(\n props: {\n intent: RouterIntent\n } & ButtonProps &\n Omit<ComponentProps<typeof Button>, 'as' | 'href' | 'type'>,\n ref: ForwardedRef<HTMLAnchorElement>,\n) {\n const {intent, ...restProps} = props\n\n const Link = useMemo(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-shadow\n forwardRef(function Link(\n linkProps: {children: ReactNode},\n linkRef: ForwardedRef<HTMLAnchorElement>,\n ) {\n return (\n <IntentLink\n {...linkProps}\n intent={intent.type}\n params={intent.params}\n ref={linkRef}\n searchParams={intent.searchParams}\n />\n )\n }),\n [intent],\n )\n\n return props.disabled ? (\n <Button {...restProps} as=\"a\" role=\"link\" aria-disabled=\"true\" />\n ) : (\n <Button {...restProps} as={Link} data-as=\"a\" ref={ref as ForwardedRef<HTMLButtonElement>} />\n )\n})\n","import {type ComponentProps, type ReactNode} from 'react'\nimport {InsufficientPermissionsMessage, useCurrentUser, useTranslation} from 'sanity'\n\nimport {Tooltip} from '../../../ui-components'\nimport {structureLocaleNamespace} from '../../i18n'\n\ninterface InsufficientPermissionsMessageTooltipProps {\n reveal: boolean\n /**\n * delegates to `InsufficientPermissionsMessage`'s `context` prop\n * @see InsufficientPermissionsMessage\n */\n context: ComponentProps<typeof InsufficientPermissionsMessage>['context']\n loading: boolean\n children: ReactNode\n}\n\nexport function InsufficientPermissionsMessageTooltip({\n reveal,\n context,\n loading,\n children,\n}: InsufficientPermissionsMessageTooltipProps) {\n const currentUser = useCurrentUser()\n const {t} = useTranslation(structureLocaleNamespace)\n\n if (!reveal) {\n return <>{children}</>\n }\n\n return (\n <Tooltip\n content={\n loading ? (\n t('insufficient-permissions-message-tooltip.loading-text')\n ) : (\n <InsufficientPermissionsMessage context={context} currentUser={currentUser} />\n )\n }\n portal\n >\n {/* this wrapping div is to allow mouse events */}\n {/* while the child element is disabled */}\n <div>{children}</div>\n </Tooltip>\n )\n}\n","import {AddIcon} from '@sanity/icons'\nimport {Menu} from '@sanity/ui'\nimport {type ComponentProps, type ForwardedRef, forwardRef, useMemo} from 'react'\nimport {\n type InitialValueTemplateItem,\n isPublishedPerspective,\n type ReleaseId,\n type Template,\n type TemplatePermissionsResult,\n useGetI18nText,\n useIsReleaseActive,\n usePerspective,\n useTemplatePermissions,\n useTemplates,\n useTranslation,\n} from 'sanity'\nimport {IntentLink} from 'sanity/router'\n\nimport {Button, MenuButton, MenuItem, type PopoverProps} from '../../../ui-components'\nimport {structureLocaleNamespace} from '../../i18n'\nimport {IntentButton} from '../IntentButton'\nimport {InsufficientPermissionsMessageTooltip} from './InsufficientPermissionsMessageTooltip'\n\nexport type PaneHeaderIntentProps = ComponentProps<typeof IntentButton>['intent']\n\nconst POPOVER_PROPS: PopoverProps = {\n constrainSize: true,\n placement: 'bottom',\n portal: true,\n}\n\nconst getIntent = (\n templates: Template[],\n item: InitialValueTemplateItem,\n version?: ReleaseId,\n): PaneHeaderIntentProps | null => {\n const typeName = templates.find((t) => t.id === item.templateId)?.schemaType\n if (!typeName) return null\n\n const baseParams = {\n template: item.templateId,\n type: typeName,\n version,\n id: item.initialDocumentId,\n }\n\n return {\n type: 'create',\n params: item.parameters ? [baseParams, item.parameters] : baseParams,\n searchParams: version ? [['perspective', version]] : undefined,\n }\n}\n\ninterface PaneHeaderCreateButtonProps {\n templateItems: InitialValueTemplateItem[]\n}\n\nexport function PaneHeaderCreateButton({templateItems}: PaneHeaderCreateButtonProps) {\n const templates = useTemplates()\n const {selectedReleaseId, selectedPerspective} = usePerspective()\n const isReleaseActive = useIsReleaseActive()\n\n const {t} = useTranslation(structureLocaleNamespace)\n const {t: tCore} = useTranslation()\n const getI18nText = useGetI18nText([...templateItems, ...templates])\n\n const [templatePermissions, isTemplatePermissionsLoading] = useTemplatePermissions({\n templateItems,\n })\n\n const nothingGranted = useMemo(() => {\n return (\n !isTemplatePermissionsLoading &&\n templatePermissions?.every((permission) => !permission.granted)\n )\n }, [isTemplatePermissionsLoading, templatePermissions])\n\n const permissionsById = useMemo(() => {\n if (!templatePermissions) return {}\n return templatePermissions.reduce<Record<string, TemplatePermissionsResult | undefined>>(\n (acc, permission) => {\n acc[permission.id] = permission\n return acc\n },\n {},\n )\n }, [templatePermissions])\n\n if (nothingGranted) {\n return (\n <InsufficientPermissionsMessageTooltip\n context=\"create-document-type\"\n reveal\n loading={isTemplatePermissionsLoading}\n >\n <Button\n aria-label={t('pane-header.disabled-created-button.aria-label')}\n icon={AddIcon}\n data-testid=\"action-intent-button\"\n disabled\n mode=\"bleed\"\n // This button handles the tooltip in a special way, won't reuse the forced tooltip.\n tooltipProps={null}\n />\n </InsufficientPermissionsMessageTooltip>\n )\n }\n\n const disabledByPerspectiveTooltipProps = {\n content: tCore(\n isPublishedPerspective(selectedPerspective)\n ? 'new-document.disabled-published.tooltip'\n : 'new-document.disabled-release.tooltip',\n ),\n }\n\n if (templateItems.length === 1) {\n const firstItem = templateItems[0]\n const permissions = permissionsById[firstItem.id]\n const disabled = !permissions?.granted || !isReleaseActive\n const intent = getIntent(templates, firstItem, selectedReleaseId)\n if (!intent) return null\n\n return (\n <InsufficientPermissionsMessageTooltip\n reveal={disabled}\n loading={isTemplatePermissionsLoading}\n context=\"create-document-type\"\n >\n <IntentButton\n aria-label={getI18nText(firstItem).title}\n icon={firstItem.icon || AddIcon}\n intent={intent}\n mode=\"bleed\"\n disabled={disabled}\n data-testid=\"action-intent-button\"\n tooltipProps={\n disabled\n ? disabledByPerspectiveTooltipProps\n : {content: t('pane-header.create-new-button.tooltip')}\n }\n />\n </InsufficientPermissionsMessageTooltip>\n )\n }\n\n return (\n <MenuButton\n button={\n <Button\n icon={AddIcon}\n mode=\"bleed\"\n disabled={!isReleaseActive}\n data-testid=\"multi-action-intent-button\"\n tooltipProps={\n isReleaseActive\n ? {content: t('pane-header.create-new-button.tooltip')}\n : disabledByPerspectiveTooltipProps\n }\n />\n }\n id=\"create-menu\"\n menu={\n <Menu>\n {templateItems.map((item, itemIndex) => {\n const permissions = permissionsById[item.id]\n const disabled = !permissions?.granted\n const intent = getIntent(templates, item, selectedReleaseId)\n const template = templates.find((i) => i.id === item.templateId)\n if (!template || !intent) return null\n\n const Link = forwardRef((linkProps, linkRef: ForwardedRef<never>) =>\n disabled ? (\n <button type=\"button\" disabled {...linkProps} ref={linkRef} />\n ) : (\n <IntentLink\n {...linkProps}\n intent={intent.type}\n params={intent.params}\n searchParams={intent.searchParams}\n ref={linkRef}\n />\n ),\n )\n\n Link.displayName = 'Link'\n\n const {title} = getI18nText({\n ...item,\n // replace the title with the template title\n title: item.title || getI18nText(template).title,\n })\n\n return (\n <InsufficientPermissionsMessageTooltip\n context=\"create-document-type\"\n key={item.id}\n reveal={disabled}\n loading={isTemplatePermissionsLoading}\n >\n <MenuItem\n as={Link}\n data-as={disabled ? 'button' : 'a'}\n text={title}\n aria-label={\n disabled ? t('pane-header.disabled-created-button.aria-label') : title\n }\n disabled={disabled}\n data-testid={`action-intent-button-${itemIndex}`}\n />\n </InsufficientPermissionsMessageTooltip>\n )\n })}\n </Menu>\n }\n popover={POPOVER_PROPS}\n />\n )\n}\n","import {Flex} from '@sanity/ui'\nimport {uniqBy} from 'lodash'\nimport {memo, useCallback, useMemo} from 'react'\nimport {EMPTY_ARRAY, EMPTY_OBJECT, type InitialValueTemplateItem, useTemplates} from 'sanity'\n\nimport {isMenuNodeButton, isNotMenuNodeButton, resolveMenuNodes} from '../../menuNodes'\nimport {\n type PaneMenuItem,\n type PaneMenuItemGroup,\n type StructureToolPaneActionHandler,\n} from '../../types'\nimport {PaneContextMenuButton} from '../pane/PaneContextMenuButton'\nimport {PaneHeaderActionButton} from '../pane/PaneHeaderActionButton'\nimport {PaneHeaderCreateButton} from './PaneHeaderCreateButton'\n\nfunction isNonNullable<T>(value: T): value is NonNullable<T> {\n return value !== null && value !== undefined\n}\n\n/**\n * hashes an object to a string where the order of the keys don't matter\n */\nconst hashObject = (value: unknown) => {\n const sortObject = (v: unknown): unknown => {\n if (typeof v !== 'object' || !v) return v\n if (Array.isArray(v)) return v.map(sortObject)\n return Object.entries(v).sort(([keyA], [keyB]) => keyA.localeCompare(keyB, 'en'))\n }\n\n const normalize = (v: unknown) => JSON.parse(JSON.stringify(v))\n\n return JSON.stringify(sortObject(normalize(value)))\n}\n\ninterface PaneHeaderActionsProps {\n initialValueTemplateItems?: InitialValueTemplateItem[]\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n actionHandlers?: Record<string, StructureToolPaneActionHandler>\n}\n\nexport const PaneHeaderActions = memo(function PaneHeaderActions(props: PaneHeaderActionsProps) {\n const {\n initialValueTemplateItems: initialValueTemplateItemsFromStructure = EMPTY_ARRAY,\n menuItems = EMPTY_ARRAY,\n menuItemGroups = EMPTY_ARRAY,\n actionHandlers = EMPTY_OBJECT as Record<string, StructureToolPaneActionHandler>,\n } = props\n\n const templates = useTemplates()\n\n const handleAction = useCallback(\n (item: PaneMenuItem) => {\n if (typeof item.action === 'string' && !(item.action in actionHandlers)) {\n console.warn('No handler for action:', item.action)\n return false\n }\n\n const handler =\n // eslint-disable-next-line no-nested-ternary\n typeof item.action === 'function'\n ? item.action\n : typeof item.action === 'string'\n ? actionHandlers[item.action]\n : null\n\n if (handler) {\n handler(item.params as Record<string, string>)\n return true\n }\n\n return false\n },\n [actionHandlers],\n )\n\n const menuNodes = useMemo(\n () =>\n resolveMenuNodes({\n actionHandler: handleAction,\n menuItemGroups,\n menuItems: menuItems\n // remove items with `create` intents because those will get combined\n // into one action button (see `initialValueTemplateItemFromMenuItems`)\n .filter((item) => item.intent?.type !== 'create'),\n }),\n [handleAction, menuItemGroups, menuItems],\n )\n\n const actionNodes = useMemo(() => menuNodes.filter(isMenuNodeButton), [menuNodes])\n const contextMenuNodes = useMemo(() => menuNodes.filter(isNotMenuNodeButton), [menuNodes])\n\n const initialValueTemplateItemFromMenuItems = useMemo(() => {\n return menuItems\n .map((item, menuItemIndex) => {\n if (item.intent?.type !== 'create') return null\n\n const {params} = item.intent\n if (!params) return null\n\n const intentParams = Array.isArray(params) ? params[0] : params\n const templateParams = Array.isArray(params) ? params[1] : undefined\n\n // fallback to the schema type name as the template ID.\n // by default, the initial template values are populated from every\n // document type in the schema\n const templateId = intentParams.template || intentParams.type\n if (!templateId) return null\n\n // eslint-disable-next-line max-nested-callbacks\n const template = templates.find((t) => t.id === templateId)\n // the template doesn't exist then the action might be disabled\n if (!template) return null\n\n const initialDocumentId = intentParams.id\n\n return {\n item,\n template,\n templateParams,\n menuItemIndex,\n initialDocumentId,\n }\n })\n .filter(isNonNullable)\n .map(({initialDocumentId, item, template, menuItemIndex, templateParams}) => {\n const initialValueTemplateItem: InitialValueTemplateItem = {\n id: `menuItem${menuItemIndex}`,\n initialDocumentId,\n templateId: template.id,\n type: 'initialValueTemplateItem',\n title: item.title || template.title,\n i18n: item.i18n || template.i18n,\n icon: item.icon as InitialValueTemplateItem['icon'],\n description: template.description,\n parameters: templateParams,\n schemaType: template.schemaType,\n }\n\n return initialValueTemplateItem\n })\n }, [menuItems, templates])\n\n const combinedInitialValueTemplates = useMemo(() => {\n // this de-dupes create actions\n return uniqBy(\n [...initialValueTemplateItemFromMenuItems, ...initialValueTemplateItemsFromStructure],\n (item) => hashObject([item.initialDocumentId, item.templateId, item.parameters]),\n )\n }, [initialValueTemplateItemFromMenuItems, initialValueTemplateItemsFromStructure])\n\n return (\n <Flex gap={1}>\n {combinedInitialValueTemplates.length > 0 && (\n <PaneHeaderCreateButton templateItems={combinedInitialValueTemplates} />\n )}\n\n {actionNodes.map((node) => (\n <PaneHeaderActionButton key={node.key} node={node} />\n ))}\n\n {contextMenuNodes.length > 0 && <PaneContextMenuButton nodes={contextMenuNodes} />}\n </Flex>\n )\n})\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{useObservable as t}from"./dist-DPyoedQR.mjs";import{TooltipDelayGroupProvider as n}from"./TooltipDelayGroupProvider-DFmNEvMS.mjs";import{require_dist as r}from"./dist-DTr4N9sP.mjs";import{Box as i,Flex as a,Text as o}from"./dist-gdCAZyAZ.mjs";import{ChevronRightIcon as s,DocumentIcon as c,FolderIcon as l,WarningOutlineIcon as u}from"./dist-BBJTJw5c.mjs";import{isSanityDocument as d}from"./asserters-C8hxedkt.mjs";import{structureLocaleNamespace as f}from"./i18n-DSW5BxWp.mjs";import{usePaneRouter as p}from"./usePaneRouter-BnyByWgR.mjs";import{startTransition as m,useEffect as h,useRef as g,useState as _}from"react";import{jsx as v,jsxs as ee}from"react/jsx-runtime";import{DocumentPreviewPresence as y,DocumentStatus as b,DocumentStatusIndicator as x,PreviewCard as S,SanityDefaultPreview as C,Translate as w,getPreviewStateObservable as T,getPreviewValueWithFallback as E,getPublishedId as D,useDocumentPresence as O,useDocumentPreviewStore as k,useDocumentVersionInfo as te,useEditState as A,usePerspective as ne,useSchema as j,useTranslation as M}from"sanity";var N=e(r());function P(e){let r=(0,N.c)(27),{icon:i,layout:o,presence:s,schemaType:c,value:l}=e,u=te(l._id),{perspectiveStack:d}=ne(),f,p;r[0]!==d||r[1]!==e.documentPreviewStore||r[2]!==c||r[3]!==l._id?(p=T(e.documentPreviewStore,c,l._id,d),r[0]=d,r[1]=e.documentPreviewStore,r[2]=c,r[3]=l._id,r[4]=p):p=r[4],f=p;let m=f,h;r[5]===Symbol.for(`react.memo_cache_sentinel`)?(h={snapshot:null,isLoading:!0,original:null},r[5]=h):h=r[5];let{snapshot:g,original:_,isLoading:S}=t(m,h),w=S,D;r[6]!==w||r[7]!==s||r[8]!==u.draft||r[9]!==u.published||r[10]!==u.versions?(D=w?null:v(n,{children:ee(a,{align:`center`,gap:3,children:[s&&s.length>0&&v(y,{presence:s}),v(x,{draft:u.draft,published:u.published,versions:u.versions})]})}),r[6]=w,r[7]=s,r[8]=u.draft,r[9]=u.published,r[10]=u.versions,r[11]=D):D=r[11];let O=D,k;r[12]!==u.draft||r[13]!==u.published||r[14]!==u.versions?(k=v(b,{draft:u.draft,published:u.published,versions:u.versions}),r[12]=u.draft,r[13]=u.published,r[14]=u.versions,r[15]=k):k=r[15];let A=k,j;r[16]!==_||r[17]!==g||r[18]!==l?(j=E({snapshot:g,original:_,fallback:l}),r[16]=_,r[17]=g,r[18]=l,r[19]=j):j=r[19];let M;return r[20]!==i||r[21]!==w||r[22]!==o||r[23]!==O||r[24]!==j||r[25]!==A?(M=v(C,{...j,isPlaceholder:w,icon:i,layout:o,status:O,tooltip:A}),r[20]=i,r[21]=w,r[22]=o,r[23]=O,r[24]=j,r[25]=A,r[26]=M):M=r[26],M}var F=e(r());function re(e){let t=(0,F.c)(16),{t:n}=M(f),{layout:r,value:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={Code:`code`},t[0]=a):a=t[0];let o;t[1]===i._type?o=t[2]:(o={documentType:i._type},t[1]=i._type,t[2]=o);let s;t[3]!==n||t[4]!==o?(s=v(`em`,{children:v(w,{t:n,i18nKey:`pane-item.missing-schema-type.title`,components:a,values:o})}),t[3]=n,t[4]=o,t[5]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c={Code:`code`},t[6]=c):c=t[6];let l;t[7]===i._id?l=t[8]:(l={documentId:i._id},t[7]=i._id,t[8]=l);let u;t[9]!==n||t[10]!==l?(u=v(w,{t:n,i18nKey:`pane-item.missing-schema-type.subtitle`,components:c,values:l}),t[9]=n,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==r||t[13]!==s||t[14]!==u?(d=v(C,{title:s,subtitle:u,media:I,layout:r}),t[12]=r,t[13]=s,t[14]=u,t[15]=d):d=t[15],d}function I(){return v(u,{})}var L=e(r());function R(e,t,n){return e===!1?!1:e||t&&t.icon||n||!1}function z(e){let t=(0,L.c)(42),{icon:n,id:r,layout:a,pressed:u,schemaType:f,selected:y,title:b,value:x,margin:w,marginBottom:T,marginTop:E}=e,D=a===void 0?`default`:a,te=j(),A=k(),{ChildLink:ne}=p(),M=O(r),N=!!(f&&f.name&&te.get(f.name)),[F,I]=_(!1),z;bb0:{if(x&&d(x)){if(!f||!N){let e;t[0]===x?e=t[1]:(e=v(re,{value:x}),t[0]=x,t[1]=e),z=e;break bb0}let e;t[2]!==n||t[3]!==f?(e=R(n,f,c),t[2]=n,t[3]=f,t[4]=e):e=t[4];let r;t[5]!==M||t[6]!==A||t[7]!==D||t[8]!==f||t[9]!==e||t[10]!==x?(r=v(P,{documentPreviewStore:A,icon:e,layout:D,schemaType:f,value:x,presence:M}),t[5]=M,t[6]=A,t[7]=D,t[8]=f,t[9]=e,t[10]=x,t[11]=r):r=t[11],z=r;break bb0}let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e={opacity:.5},t[12]=e):e=t[12];let r;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=v(i,{style:e,children:v(o,{muted:!0,size:1,children:v(s,{})})}),t[13]=r):r=t[13];let a;t[14]!==n||t[15]!==f?(a=R(n,f,l),t[14]=n,t[15]=f,t[16]=a):a=t[16];let u;t[17]!==a||t[18]!==b?(u=v(C,{status:r,icon:a,layout:`compact`,title:b}),t[17]=a,t[18]=b,t[19]=u):u=t[19],z=u}let B=z,V;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{if(e.metaKey){I(!1);return}I(!0)},t[20]=V):V=t[20];let ae=V,H;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>I(!1),t[21]=H):H=t[21];let U;t[22]===y?U=t[23]:(U=[y],t[22]=y,t[23]=U),h(H,U);let[W,G]=_(!1),K=g(null),q;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(q=()=>{K.current=setTimeout(()=>m(()=>G(!0)),400)},t[24]=q):q=t[24];let oe=q,J;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>{K.current&&clearTimeout(K.current),m(()=>G(!1))},t[25]=J):J=t[25];let se=J,Y=`pane-item-${b}`,X=ne,Z=y||F,Q;t[26]!==r||t[27]!==W||t[28]!==f||t[29]!==x?(Q=W&&f?.name&&x&&d(x)&&v(ie,{documentId:r,documentType:f.name}),t[26]=r,t[27]=W,t[28]=f,t[29]=x,t[30]=Q):Q=t[30];let $;return t[31]!==r||t[32]!==w||t[33]!==T||t[34]!==E||t[35]!==u||t[36]!==B||t[37]!==Q||t[38]!==Y||t[39]!==X||t[40]!==Z?($=ee(S,{"data-testid":Y,__unstable_focusRing:!0,as:X,childId:r,"data-as":`a`,margin:w,marginBottom:T,marginTop:E,onClick:ae,onMouseEnter:oe,onMouseLeave:se,pressed:u,radius:2,selected:Z,sizing:`border`,tabIndex:-1,tone:`inherit`,children:[B,Q]}),t[31]=r,t[32]=w,t[33]=T,t[34]=E,t[35]=u,t[36]=B,t[37]=Q,t[38]=Y,t[39]=X,t[40]=Z,t[41]=$):$=t[41],$}function ie(e){let t=(0,L.c)(2),{documentId:n,documentType:r}=e,i;return t[0]===n?i=t[1]:(i=D(n),t[0]=n,t[1]=i),A(i,r),null}ie.displayName=`PreloadDocumentPane`;export{z as PaneItem,P as PaneItemPreview};
2
- //# sourceMappingURL=PaneItem-CXeBMzOt.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaneItem-CXeBMzOt.mjs","names":["SanityDocument","SchemaType","Flex","ComponentType","useMemo","useObservable","DocumentPresence","DocumentPreviewPresence","DocumentPreviewStore","DocumentStatus","DocumentStatusIndicator","GeneralPreviewLayoutKey","getPreviewStateObservable","getPreviewValueWithFallback","SanityDefaultPreview","useDocumentVersionInfo","usePerspective","TooltipDelayGroupProvider","PaneItemPreviewProps","documentPreviewStore","icon","layout","presence","schemaType","value","PaneItemPreview","props","$","_c","versionsInfo","_id","perspectiveStack","t0","t1","previewStateObservable","t2","Symbol","for","snapshot","isLoading","original","previewIsLoading","t3","draft","published","versions","length","status","t4","tooltip","t5","fallback","t6","WarningOutlineIcon","SanityDocument","GeneralPreviewLayoutKey","SanityDefaultPreview","Translate","useTranslation","structureLocaleNamespace","MissingSchemaTypeProps","layout","value","MissingSchemaType","props","$","_c","t","t0","Symbol","for","Code","t1","_type","documentType","t2","t3","t4","_id","documentId","t5","t6","_temp","ChevronRightIcon","DocumentIcon","FolderIcon","isSanityDocument","PreviewValue","SanityDocument","SchemaType","Box","CardProps","Text","ComponentType","MouseEvent","startTransition","useCallback","useEffect","useMemo","useRef","useState","FIXME","GeneralPreviewLayoutKey","getPublishedId","PreviewCard","SanityDefaultPreview","useDocumentPresence","useDocumentPreviewStore","useEditState","useSchema","MissingSchemaType","usePaneRouter","PaneItemPreview","PaneItemProps","id","layout","icon","pressed","selected","title","value","schemaType","margin","marginBottom","marginTop","getIconWithFallback","defaultIcon","PaneItem","props","$","_c","t0","undefined","schema","documentPreviewStore","ChildLink","documentPresence","hasSchemaType","Boolean","name","get","clicked","setClicked","t1","bb0","t2","t3","Symbol","for","opacity","t4","t5","preview","e","metaKey","handleClick","preloading","setPreload","timeoutRef","current","setTimeout","handleMouseEnter","t6","clearTimeout","handleMouseLeave","t7","t8","t9","t10","t11","PreloadDocumentPane","documentId","documentType","displayName"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/paneItem/PaneItemPreview.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/MissingSchemaType.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/components/paneItem/PaneItem.tsx"],"sourcesContent":["import {type SanityDocument, type SchemaType} from '@sanity/types'\nimport {Flex} from '@sanity/ui'\nimport {type ComponentType, useMemo} from 'react'\nimport {useObservable} from 'react-rx'\nimport {\n type DocumentPresence,\n DocumentPreviewPresence,\n type DocumentPreviewStore,\n DocumentStatus,\n DocumentStatusIndicator,\n type GeneralPreviewLayoutKey,\n getPreviewStateObservable,\n getPreviewValueWithFallback,\n SanityDefaultPreview,\n useDocumentVersionInfo,\n usePerspective,\n} from 'sanity'\n\nimport {TooltipDelayGroupProvider} from '../../../ui-components'\n\nexport interface PaneItemPreviewProps {\n documentPreviewStore: DocumentPreviewStore\n icon: ComponentType | false\n layout: GeneralPreviewLayoutKey\n presence?: DocumentPresence[]\n schemaType: SchemaType\n value: SanityDocument\n}\n\n/**\n * Preview component for _documents_ rendered in structure panes.\n *\n * Note that non-document previews are not handled by this component,\n * despite being pane items! Non-document previews bypass this entirely\n * and are rendered by `<SanityDefaultPreview>`.\n */\nexport function PaneItemPreview(props: PaneItemPreviewProps) {\n const {icon, layout, presence, schemaType, value} = props\n\n const versionsInfo = useDocumentVersionInfo(value._id)\n\n const {perspectiveStack} = usePerspective()\n const previewStateObservable = useMemo(() => {\n return getPreviewStateObservable(\n props.documentPreviewStore,\n schemaType,\n value._id,\n perspectiveStack,\n )\n }, [props.documentPreviewStore, schemaType, value._id, perspectiveStack])\n\n const {\n snapshot,\n original,\n isLoading: previewIsLoading,\n } = useObservable(previewStateObservable, {\n snapshot: null,\n isLoading: true,\n original: null,\n })\n\n const isLoading = previewIsLoading\n\n const status = isLoading ? null : (\n <TooltipDelayGroupProvider>\n <Flex align=\"center\" gap={3}>\n {presence && presence.length > 0 && <DocumentPreviewPresence presence={presence} />}\n <DocumentStatusIndicator\n draft={versionsInfo.draft}\n published={versionsInfo.published}\n versions={versionsInfo.versions}\n />\n </Flex>\n </TooltipDelayGroupProvider>\n )\n\n const tooltip = (\n <DocumentStatus\n draft={versionsInfo.draft}\n published={versionsInfo.published}\n versions={versionsInfo.versions}\n />\n )\n\n return (\n <SanityDefaultPreview\n {...getPreviewValueWithFallback({snapshot, original, fallback: value})}\n isPlaceholder={isLoading}\n icon={icon}\n layout={layout}\n status={status}\n tooltip={tooltip}\n />\n )\n}\n","import {WarningOutlineIcon} from '@sanity/icons'\nimport {type SanityDocument} from '@sanity/types'\nimport {type GeneralPreviewLayoutKey, SanityDefaultPreview, Translate, useTranslation} from 'sanity'\n\nimport {structureLocaleNamespace} from '../i18n'\n\nexport interface MissingSchemaTypeProps {\n layout?: GeneralPreviewLayoutKey\n value: SanityDocument\n}\n\nexport function MissingSchemaType(props: MissingSchemaTypeProps) {\n const {t} = useTranslation(structureLocaleNamespace)\n const {layout, value} = props\n\n return (\n <SanityDefaultPreview\n title={\n <em>\n <Translate\n t={t}\n i18nKey=\"pane-item.missing-schema-type.title\"\n components={{Code: 'code'}}\n values={{documentType: value._type}}\n />\n </em>\n }\n subtitle={\n <Translate\n t={t}\n i18nKey=\"pane-item.missing-schema-type.subtitle\"\n components={{Code: 'code'}}\n values={{documentId: value._id}}\n />\n }\n // eslint-disable-next-line react/jsx-no-bind\n media={() => <WarningOutlineIcon />}\n layout={layout}\n />\n )\n}\n","import {ChevronRightIcon, DocumentIcon, FolderIcon} from '@sanity/icons'\nimport {\n isSanityDocument,\n type PreviewValue,\n type SanityDocument,\n type SchemaType,\n} from '@sanity/types'\nimport {Box, type CardProps, Text} from '@sanity/ui'\nimport {\n type ComponentType,\n type MouseEvent,\n startTransition,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {\n type FIXME,\n type GeneralPreviewLayoutKey,\n getPublishedId,\n PreviewCard,\n SanityDefaultPreview,\n useDocumentPresence,\n useDocumentPreviewStore,\n useEditState,\n useSchema,\n} from 'sanity'\n\nimport {MissingSchemaType} from '../MissingSchemaType'\nimport {usePaneRouter} from '../paneRouter'\nimport {PaneItemPreview} from './PaneItemPreview'\n\ninterface PaneItemProps {\n id: string\n layout?: GeneralPreviewLayoutKey\n icon?: ComponentType<any> | false\n pressed?: boolean\n selected?: boolean\n title?: string\n value?: PreviewValue | SanityDocument\n schemaType?: SchemaType\n margin?: CardProps['margin']\n marginBottom?: CardProps['marginBottom']\n marginTop?: CardProps['marginTop']\n}\n\n/**\n * Return `false` if we explicitly disable the icon.\n * Otherwise return the passed icon or the schema type icon as a backup.\n */\nexport function getIconWithFallback(\n icon: ComponentType<any> | false | undefined,\n schemaType: SchemaType | undefined,\n defaultIcon: ComponentType<any>,\n): ComponentType<any> | false {\n if (icon === false) {\n return false\n }\n\n return icon || (schemaType && schemaType.icon) || defaultIcon || false\n}\n\nexport function PaneItem(props: PaneItemProps) {\n const {\n icon,\n id,\n layout = 'default',\n pressed,\n schemaType,\n selected,\n title,\n value,\n margin,\n marginBottom,\n marginTop,\n } = props\n const schema = useSchema()\n const documentPreviewStore = useDocumentPreviewStore()\n const {ChildLink} = usePaneRouter()\n const documentPresence = useDocumentPresence(id)\n const hasSchemaType = Boolean(schemaType && schemaType.name && schema.get(schemaType.name))\n const [clicked, setClicked] = useState<boolean>(false)\n\n const preview = useMemo(() => {\n if (value && isSanityDocument(value)) {\n if (!schemaType || !hasSchemaType) {\n return <MissingSchemaType value={value} />\n }\n\n return (\n <PaneItemPreview\n documentPreviewStore={documentPreviewStore}\n icon={getIconWithFallback(icon, schemaType, DocumentIcon)}\n layout={layout}\n schemaType={schemaType}\n value={value}\n presence={documentPresence}\n />\n )\n }\n\n // Always render non-document values as compact previews\n return (\n <SanityDefaultPreview\n status={\n <Box style={{opacity: 0.5}}>\n <Text muted size={1}>\n <ChevronRightIcon />\n </Text>\n </Box>\n }\n icon={getIconWithFallback(icon, schemaType, FolderIcon)}\n layout=\"compact\"\n title={title}\n />\n )\n }, [\n documentPreviewStore,\n hasSchemaType,\n icon,\n layout,\n schemaType,\n title,\n value,\n documentPresence,\n ])\n\n const handleClick = useCallback((e: MouseEvent<HTMLElement>) => {\n if (e.metaKey) {\n setClicked(false)\n return\n }\n\n setClicked(true)\n }, [])\n\n // Reset `clicked` state when `selected` prop changes\n useEffect(() => setClicked(false), [selected])\n\n // Preloads the edit state on hover, using concurrent rendering with `startTransition` so preloads can be interrupted and not block rendering\n const [preloading, setPreload] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const handleMouseEnter = useCallback(() => {\n timeoutRef.current = setTimeout(() => startTransition(() => setPreload(true)), 400)\n }, [])\n const handleMouseLeave = useCallback(() => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current)\n startTransition(() => setPreload(false))\n }, [])\n\n return (\n <PreviewCard\n data-testid={`pane-item-${title}`}\n __unstable_focusRing\n as={ChildLink as FIXME}\n // @ts-expect-error - `childId` is a valid prop on `ChildLink`\n childId={id}\n data-as=\"a\"\n margin={margin}\n marginBottom={marginBottom}\n marginTop={marginTop}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n pressed={pressed}\n radius={2}\n selected={selected || clicked}\n sizing=\"border\"\n tabIndex={-1}\n tone=\"inherit\"\n >\n {preview}\n {preloading && schemaType?.name && value && isSanityDocument(value) && (\n <PreloadDocumentPane documentId={id} documentType={schemaType.name} />\n )}\n </PreviewCard>\n )\n}\n\nfunction PreloadDocumentPane(props: {documentId: string; documentType: string}) {\n const {documentId, documentType} = props\n // Preload the edit state for the document, and keep it alive until mouse leave\n useEditState(getPublishedId(documentId), documentType)\n\n return null\n}\nPreloadDocumentPane.displayName = 'PreloadDocumentPane'\n"],"mappings":"gnCAoCA,SAAOgH,EAAAgB,EAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,GAAA,CACL,CAAAd,OAAAD,SAAA7F,WAAAmG,aAAAD,QAAA,CAAoDQ,EAEpDnG,EAAqBd,GAAuByG,EAAK1C,IAAK,CAEtD,CAAA/C,mBAAA,CAA2Bf,IAAgB,CAAAmH,EAAAY,EAEzCZ,AAFyCF,EAAA,KAAAlG,GAAAkG,EAAA,KAAAD,EAAAM,sBAAAL,EAAA,KAAAR,GAAAQ,EAAA,KAAAT,EAAA1C,KAElCiE,EAAAnI,EACLoH,EAAKM,qBACLb,EACAD,EAAK1C,IACL/C,EACD,CAAAkG,EAAA,GAAAlG,EAAAkG,EAAA,GAAAD,EAAAM,qBAAAL,EAAA,GAAAR,EAAAQ,EAAA,GAAAT,EAAA1C,IAAAmD,EAAA,GAAAc,GAAAA,EAAAd,EAAA,GALDE,EAAOY,EADT,IAAA7G,EAA+BiG,EAO0Cc,EAAA,AAAAhB,EAAA,KAAAkB,OAAAC,IAAA,4BAAA,EAM/BH,EAAA,CAAA3G,SAAA,KAAAC,WAAA,EAAAC,SAAA,IAAA,EAIzCyF,EAAA,GAAAgB,GAAAA,EAAAhB,EAAA,GARD,GAAA,CAAA3F,WAAAE,WAAAD,UAAAE,EAAA,CAIIpC,EAAc6B,EAAwB+G,EAIxC,CAEF1G,EAAkBE,EAAgByG,EAAA,AAAAjB,EAAA,KAAA1F,GAAA0F,EAAA,KAAA3G,GAAA2G,EAAA,KAAApG,EAAAc,OAAAsF,EAAA,KAAApG,EAAAe,WAAAqF,EAAA,MAAApG,EAAAgB,UAEnBqG,EAAA3G,EAAS,KACtB,EAAC,EAAA,CAAA,SACC,GAAC,EAAA,CAAW,MAAA,SAAc,IAAA,YACvBjB,GAAYA,EAAQwB,OAAA,GAAe,EAAC,EAAA,CAAkCxB,UAAAA,EAAW,CAClF,EAAC,EAAA,CACQ,MAAAO,EAAYc,MACR,UAAAd,EAAYe,UACb,SAAAf,EAAYgB,UAE1B,GACF,EACD,CAAAoF,EAAA,GAAA1F,EAAA0F,EAAA,GAAA3G,EAAA2G,EAAA,GAAApG,EAAAc,MAAAsF,EAAA,GAAApG,EAAAe,UAAAqF,EAAA,IAAApG,EAAAgB,SAAAoF,EAAA,IAAAiB,GAAAA,EAAAjB,EAAA,IAXD,IAAAlF,EAAemG,EAWdI,EAAA,AAAArB,EAAA,MAAApG,EAAAc,OAAAsF,EAAA,MAAApG,EAAAe,WAAAqF,EAAA,MAAApG,EAAAgB,UAGCyG,EAAA,EAAC,EAAA,CACQ,MAAAzH,EAAYc,MACR,UAAAd,EAAYe,UACb,SAAAf,EAAYgB,UACtB,CAAAoF,EAAA,IAAApG,EAAAc,MAAAsF,EAAA,IAAApG,EAAAe,UAAAqF,EAAA,IAAApG,EAAAgB,SAAAoF,EAAA,IAAAqB,GAAAA,EAAArB,EAAA,IALJ,IAAAhF,EACEqG,EAKDC,EAAA,AAAAtB,EAAA,MAAAzF,GAAAyF,EAAA,MAAA3F,GAAA2F,EAAA,MAAAT,GAIO+B,EAAA1I,EAAA,CAAAyB,WAAAE,WAAAW,SAA2DqE,CAAM,EAAC,CAAAS,EAAA,IAAAzF,EAAAyF,EAAA,IAAA3F,EAAA2F,EAAA,IAAAT,EAAAS,EAAA,IAAAsB,GAAAA,EAAAtB,EAAA,IAAA,IAAAiC,EAMtE,OANsEjC,EAAA,MAAAb,GAAAa,EAAA,MAAA1F,GAAA0F,EAAA,MAAAd,GAAAc,EAAA,MAAAlF,GAAAkF,EAAA,MAAAsB,GAAAtB,EAAA,MAAAhF,GADxEiH,EAAA,EAAC,EAAA,CAAoB,GACfX,EACWhH,cAAAA,EACT6E,OACED,SACApE,SACCE,WACT,CAAAgF,EAAA,IAAAb,EAAAa,EAAA,IAAA1F,EAAA0F,EAAA,IAAAd,EAAAc,EAAA,IAAAlF,EAAAkF,EAAA,IAAAsB,EAAAtB,EAAA,IAAAhF,EAAAgF,EAAA,IAAAiC,GAAAA,EAAAjC,EAAA,IAPFiC,CAOE,cCjFN,SAAOpD,GAAAkB,EAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,GAAA,CACL,CAAA/D,IAAA,CAAYT,EAAAC,EAAwC,CACpD,CAAAwD,SAAAK,QAAA,CAAwBQ,EAAKG,EAAA,AAAAF,EAAA,KAAAkB,OAAAC,IAAA,4BAAA,EASPjB,EAAA,CAAA5D,KAAO,MAAM,EAAC0D,EAAA,GAAAE,GAAAA,EAAAF,EAAA,GAAA,IAAAc,EAAA,AAAAd,EAAA,KAAAT,EAAA/C,MACSsE,EAAAd,EAAA,IAA3Bc,EAAA,CAAA6B,aAAepD,EAAK/C,KAAA,EAAOwD,EAAA,GAAAT,EAAA/C,MAAAwD,EAAA,GAAAc,GAAA,IAAAE,EAAA,AAAAhB,EAAA,KAAA9D,GAAA8D,EAAA,KAAAc,GALvCE,EAAA,EAAA,KAAA,CAAA,SACE,EAAC,EAAA,CACI9E,IACK,QAAA,sCACI,WAAAgE,EACJ,OAAAY,GAEZ,EAAK,CAAAd,EAAA,GAAA9D,EAAA8D,EAAA,GAAAc,EAAAd,EAAA,GAAAgB,GAAAA,EAAAhB,EAAA,GAAA,IAAAiB,EAAA,AAAAjB,EAAA,KAAAkB,OAAAC,IAAA,4BAAA,EAMSF,EAAA,CAAA3E,KAAO,MAAM,EAAC0D,EAAA,GAAAiB,GAAAA,EAAAjB,EAAA,GAAA,IAAAqB,EAAA,AAAArB,EAAA,KAAAT,EAAA1C,IACKwE,EAAArB,EAAA,IAAvBqB,EAAA,CAAAqB,WAAanD,EAAK1C,GAAA,EAAKmD,EAAA,GAAAT,EAAA1C,IAAAmD,EAAA,GAAAqB,GAAA,IAAAC,EAAA,AAAAtB,EAAA,KAAA9D,GAAA8D,EAAA,MAAAqB,GAJjCC,EAAA,EAAC,EAAA,CACIpF,IACK,QAAA,yCACI,WAAA+E,EACJ,OAAAI,GACR,CAAArB,EAAA,GAAA9D,EAAA8D,EAAA,IAAAqB,EAAArB,EAAA,IAAAsB,GAAAA,EAAAtB,EAAA,IAAA,IAAAiC,EAKJ,OALIjC,EAAA,MAAAd,GAAAc,EAAA,MAAAgB,GAAAhB,EAAA,MAAAsB,GAjBNW,EAAA,EAAC,EAAA,CAEG,MAAAjB,EAUA,SAAAM,EAQK,MAAArE,EACCiC,UACR,CAAAc,EAAA,IAAAd,EAAAc,EAAA,IAAAgB,EAAAhB,EAAA,IAAAsB,EAAAtB,EAAA,IAAAiC,GAAAA,EAAAjC,EAAA,IAtBFiC,CAsBE,CA3BC,SAAAhF,GAAA,CAAA,MAyBY,GAAC,EAAA,CAAA,EAAqB,cCgBzC,SAAgB2C,EACdT,EACAK,EACAK,EAC4B,CAK5B,OAJIV,KAAS,GACJ,EAGFA,GAASK,GAAcA,EAAWL,MAASU,IAAe,CACnE,CAEA,SAAOC,EAAAC,EAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,GAAA,CACL,CAAAd,OAAAF,KAAAC,OAAAgB,EAAAd,UAAAI,aAAAH,WAAAC,QAAAC,QAAAE,SAAAC,eAAAC,YAAA,CAYII,EATFb,EAAAgB,QAAAA,GAAS,UAATA,EAUFE,GAAexB,GAAW,CAC1ByB,EAA6B3B,GAAyB,CACtD,CAAA4B,aAAA,CAAoBxB,GAAe,CACnCyB,EAAyB9B,EAAoBQ,EAAG,CAChDuB,KAA8BhB,GAAcA,EAAUkB,MAASN,GAAMO,IAAKnB,EAAUkB,KAAM,EAC1F,CAAAE,EAAAC,EAAA,CAA8B1C,GAAA,EAAwB,CAAA2C,EAAAC,IAAA,CAAA,GAGhDxB,GAASlC,EAAiBkC,EAAM,CAAA,CAAA,IAC7BC,IAAegB,EAAa,CAAA,IAAAQ,EAC/BF,AAD+Bd,EAAA,KAAAT,EACWyB,EAAAhB,EAAA,IAAnCgB,EAAA,EAAC,GAAA,CAAyBzB,OAAAA,EAAS,CAAAS,EAAA,GAAAT,EAAAS,EAAA,GAAAgB,GAA1CF,EAAOE,EAAmC,MAAAD,GAAA,CAAA,IAAAC,EAAA,AAAAhB,EAAA,KAAAb,GAAAa,EAAA,KAAAR,GAMlCwB,EAAApB,EAAoBT,EAAMK,EAAUrC,EAAe,CAAA6C,EAAA,GAAAb,EAAAa,EAAA,GAAAR,EAAAQ,EAAA,GAAAgB,GAAAA,EAAAhB,EAAA,GAAA,IAAAiB,EAH7DH,AAG6Dd,EAAA,KAAAO,GAAAP,EAAA,KAAAK,GAAAL,EAAA,KAAAd,GAAAc,EAAA,KAAAR,GAAAQ,EAAA,KAAAgB,GAAAhB,EAAA,MAAAT,GAF3D0B,EAAA,EAAC,EAAA,CACuBZ,uBAChB,KAAAW,EACE9B,SACIM,aACLD,QACGgB,SAAAA,GACV,CAAAP,EAAA,GAAAO,EAAAP,EAAA,GAAAK,EAAAL,EAAA,GAAAd,EAAAc,EAAA,GAAAR,EAAAQ,EAAA,GAAAgB,EAAAhB,EAAA,IAAAT,EAAAS,EAAA,IAAAiB,GAAAA,EAAAjB,EAAA,IARJc,EACEG,EAQD,MAAAF,GAAA,CAAA,IAAAC,EAAA,AAAAhB,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAOeH,EAAA,CAAAI,QAAA,EAAA,EAAcpB,EAAA,IAAAgB,GAAAA,EAAAhB,EAAA,IAAA,IAAAiB,EAAA,AAAAjB,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAA1BF,EAAA,EAAC,EAAA,CAAW,MAAAD,WACV,EAAC,EAAA,CAAK,OAAA,EAAY,KAAA,WAChB,EAAC,EAAA,CAAA,EACH,EACF,EAAM,CAAAhB,EAAA,IAAAiB,GAAAA,EAAAjB,EAAA,IAAA,IAAAqB,EAAA,AAAArB,EAAA,MAAAb,GAAAa,EAAA,MAAAR,GAEF6B,EAAAzB,EAAoBT,EAAMK,EAAUpC,EAAa,CAAA4C,EAAA,IAAAb,EAAAa,EAAA,IAAAR,EAAAQ,EAAA,IAAAqB,GAAAA,EAAArB,EAAA,IAAA,IAAAsB,EAT3DR,AAS2Dd,EAAA,MAAAqB,GAAArB,EAAA,MAAAV,GARzDgC,EAAA,EAAC,EAAA,CAEG,OAAAL,EAMI,KAAAI,EACC,OAAA,UACA/B,SACP,CAAAU,EAAA,IAAAqB,EAAArB,EAAA,IAAAV,EAAAU,EAAA,IAAAsB,GAAAA,EAAAtB,EAAA,IAZJc,EACEQ,CAYD,CAhCH,IAAAC,EAAgBT,EA0CdE,EAAA,AAAAhB,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAE8BH,EAAAQ,GAAA,CAAA,GAC1BA,EAACC,QAAA,CACHZ,GAAU,EAAO,CAAA,MAAA,CAInBA,GAAU,EAAM,EACjBb,EAAA,IAAAgB,GAAAA,EAAAhB,EAAA,IAPD,IAAA0B,GAAoBV,EAOdC,EAAA,AAAAjB,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAGIF,EAAAA,IAAMJ,GAAU,EAAO,CAAAb,EAAA,IAAAiB,GAAAA,EAAAjB,EAAA,IAAA,IAAAqB,EAAjCrD,AAAiCgC,EAAA,MAAAX,EAAYgC,EAAArB,EAAA,KAAVqB,EAAA,CAAChC,CAAQ,EAACW,EAAA,IAAAX,EAAAW,EAAA,IAAAqB,GAA7CrD,EAAUiD,EAAyBI,EAAW,CAG9C,GAAA,CAAAM,EAAAC,EAAA,CAAiCzD,GAAA,EAAe,CAChD0D,EAAmB3D,EAAA,KAAkD,CAAAoD,EAAA,AAAAtB,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAChCG,EAAAA,IAAA,CACnCO,EAAUC,QAAWC,WAAA,IAAiBjE,EAAA,IAAsB8D,GAAU,EAAM,CAAC,CAAA,IAAM,EACpF5B,EAAA,IAAAsB,GAAAA,EAAAtB,EAAA,IAFD,IAAAgC,GAAyBV,EAEnBW,EAAA,AAAAjC,EAAA,MAAAkB,OAAAC,IAAA,4BAAA,EAC+Bc,EAAAA,IAAA,CAEnCnE,AADI+D,EAAUC,SAAUI,aAAaL,EAAUC,QAAS,CACxDhE,EAAA,IAAsB8D,GAAU,EAAO,CAAC,EACzC5B,EAAA,IAAAiC,GAAAA,EAAAjC,EAAA,IAHD,IAAAmC,GAAyBF,EAORG,GAAA,YAAa9C,EAAK,EAE3B+C,EAAA/B,GAYMgC,EAAAjD,GAAYuB,EAAO2B,EAAA,AAAAvC,EAAA,MAAAf,GAAAe,EAAA,MAAA2B,GAAA3B,EAAA,MAAAR,GAAAQ,EAAA,MAAAT,GAM5BgD,EAAAZ,GAAAA,GAAwBjB,MAAUnB,GAASlC,EAAiBkC,EAAM,EACjE,EAAC,GAAA,CAAgCN,WAAAA,EAAkB,aAAAO,EAAUkB,MAC9D,CAAAV,EAAA,IAAAf,EAAAe,EAAA,IAAA2B,EAAA3B,EAAA,IAAAR,EAAAQ,EAAA,IAAAT,EAAAS,EAAA,IAAAuC,GAAAA,EAAAvC,EAAA,IAAA,IAAAwC,EACW,OADXxC,EAAA,MAAAf,GAAAe,EAAA,MAAAP,GAAAO,EAAA,MAAAN,GAAAM,EAAA,MAAAL,GAAAK,EAAA,MAAAZ,GAAAY,EAAA,MAAAuB,GAAAvB,EAAA,MAAAuC,GAAAvC,EAAA,MAAAoC,GAAApC,EAAA,MAAAqC,GAAArC,EAAA,MAAAsC,GAvBHE,EAAA,GAAC,EAAA,CACc,cAAAJ,EACb,sBAAA,EACI,GAAAC,EAEKpD,QAAAA,EACD,UAAA,IACAQ,SACMC,eACHC,YACF+B,QAAAA,GACKM,aAAAA,GACAG,aAAAA,GACL/C,UACD,OAAA,EACE,SAAAkD,EACH,OAAA,SACG,SAAA,GACL,KAAA,oBAEJf,EACAgB,CAAAA,GAGW,CAAAvC,EAAA,IAAAf,EAAAe,EAAA,IAAAP,EAAAO,EAAA,IAAAN,EAAAM,EAAA,IAAAL,EAAAK,EAAA,IAAAZ,EAAAY,EAAA,IAAAuB,EAAAvB,EAAA,IAAAuC,EAAAvC,EAAA,IAAAoC,EAAApC,EAAA,IAAAqC,EAAArC,EAAA,IAAAsC,EAAAtC,EAAA,IAAAwC,GAAAA,EAAAxC,EAAA,IAxBdwC,CAwBc,CAIlB,SAAAC,GAAA1C,EAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,EAAA,CACE,CAAAyC,aAAAC,eAAA,CAAmC5C,EAAKG,EAEc,OAFdF,EAAA,KAAA0C,EAEDxC,EAAAF,EAAA,IAA1BE,EAAA5B,EAAeoE,EAAW,CAAA1C,EAAA,GAAA0C,EAAA1C,EAAA,GAAAE,GAAvCvB,EAAauB,EAA4ByC,EAAa,CAAA,IAAA,CAIxDF,GAAoBG,YAAc"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import"./Observable-B8U6mp9h.mjs";import"./map-DkDssZnl.mjs";import"./Subject-BUseddH4.mjs";import"./dateTimestampProvider-Bu3RH21w.mjs";import"./ReplaySubject-CHMGH8uo.mjs";import"./mergeMap-BhPr1e5f.mjs";import"./from-1e-Bj2Xm.mjs";import"./EmptyError-BLRYgvfy.mjs";import{merge as t}from"./merge-DLqD1gqk.mjs";import{filter as n}from"./filter-Dzj28Ftl.mjs";import{first as r}from"./first-rmXQWXXU.mjs";import"./take-CsBFzexj.mjs";import"./share-DudygGnN.mjs";import{shareReplay as i}from"./shareReplay-DNp-xAdu.mjs";import{require_dist as a}from"./dist-DTr4N9sP.mjs";import"./dist-BBJTJw5c.mjs";import{API_VERSION as o}from"./constants-ClLucOHG.mjs";import{memo as s,useEffect as c}from"react";import{RELEASES_STUDIO_CLIENT_OPTIONS as l,isReleasePerspective as u,useClient as d}from"sanity";var f=e(a());const p=e=>{let a=(0,f.c)(14),{comlink:s,perspective:p}=e,m;a[0]===p?m=a[1]:(m=u(p)?l:{apiVersion:o},a[0]=p,a[1]=m);let y=d(m),b,x;a[2]!==y||a[3]!==s?(b=()=>{let e=y.listen(`*[!(_id in path("_.**"))]`,{},{effectFormat:`mendoza`,events:[`welcome`,`mutation`,`reconnect`],includePreviousRevision:!1,includeResult:!1,includeAllVersions:!0,tag:`presentation-documents`,visibility:`transaction`}).pipe(n(h)),a=e.pipe(n(g),i({bufferSize:1,refCount:!1})),o=s.on(`visual-editing/snapshot-welcome`,async()=>{let e=await new Promise(e=>{a.pipe(r()).subscribe(t=>{e(t)})});return{event:e}}),c=e.pipe(n(_)),l=e.pipe(n(v)),u=t(a,l,c).subscribe(e=>{s.post(`presentation/snapshot-event`,{event:e})});return()=>{o(),u.unsubscribe()}},x=[y,s],a[2]=y,a[3]=s,a[4]=b,a[5]=x):(b=a[4],x=a[5]),c(b,x);let S,C;a[6]!==y||a[7]!==s?(S=()=>s.on(`visual-editing/fetch-snapshot`,async e=>{let t=await y.getDocument(e.documentId,{tag:`document.snapshots`});return{snapshot:t}}),C=[y,s],a[6]=y,a[7]=s,a[8]=S,a[9]=C):(S=a[8],C=a[9]),c(S,C);let w,T;return a[10]!==y||a[11]!==s?(w=()=>s.on(`visual-editing/mutate`,async e=>y.dataRequest(`mutate`,e,{visibility:`async`,returnDocuments:!0})),T=[y,s],a[10]=y,a[11]=s,a[12]=w,a[13]=T):(w=a[12],T=a[13]),c(w,T),null};var m=s(p);function h(e){return e.type===`welcome`||e.type===`reconnect`||e.type===`mutation`}function g(e){return e.type===`welcome`}function _(e){return e.type===`reconnect`}function v(e){return e.type===`mutation`}export{m as default};
2
- //# sourceMappingURL=PostMessageDocuments-BV62lQ7C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessageDocuments-BV62lQ7C.mjs","names":["ClientPerspective","MutationEvent","ReconnectEvent","WelcomeEvent","FunctionComponent","memo","useEffect","filter","first","merge","shareReplay","isReleasePerspective","RELEASES_STUDIO_CLIENT_OPTIONS","useClient","API_VERSION","VisualEditingConnection","PostMessageDocumentsProps","comlink","perspective","PostMessageDocuments","props","$","_c","t0","apiVersion","client","t1","t2","listener","listen","effectFormat","events","includePreviousRevision","includeResult","includeAllVersions","tag","visibility","pipe","_temp","welcome","_temp2","bufferSize","refCount","unsubscribe","on","event_2","Promise","resolve","subscribe","event_1","event","reconnect","_temp3","mutations","_temp4","event_5","post","t3","t4","data","snapshot","getDocument","documentId","t5","t6","data_0","dataRequest","returnDocuments","type","event_0","event_3","event_4"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/overlays/PostMessageDocuments.tsx"],"sourcesContent":["import {\n type ClientPerspective,\n type MutationEvent,\n type ReconnectEvent,\n type WelcomeEvent,\n} from '@sanity/client'\nimport {type FunctionComponent, memo, useEffect} from 'react'\nimport {filter, first, merge, shareReplay} from 'rxjs'\nimport {isReleasePerspective, RELEASES_STUDIO_CLIENT_OPTIONS, useClient} from 'sanity'\n\nimport {API_VERSION} from '../constants'\nimport {type VisualEditingConnection} from '../types'\n\ninterface PostMessageDocumentsProps {\n comlink: VisualEditingConnection\n perspective: ClientPerspective\n}\n\nconst PostMessageDocuments: FunctionComponent<PostMessageDocumentsProps> = (props) => {\n const {comlink, perspective} = props\n\n const client = useClient(\n isReleasePerspective(perspective) ? RELEASES_STUDIO_CLIENT_OPTIONS : {apiVersion: API_VERSION},\n )\n\n useEffect(() => {\n const listener = client\n .listen(\n '*[!(_id in path(\"_.**\"))]',\n {},\n {\n effectFormat: 'mendoza',\n events: ['welcome', 'mutation', 'reconnect'],\n includePreviousRevision: false,\n includeResult: false,\n includeAllVersions: true,\n tag: 'presentation-documents',\n visibility: 'transaction',\n },\n )\n .pipe(\n filter(\n (event): event is WelcomeEvent | ReconnectEvent | MutationEvent =>\n event.type === 'welcome' || event.type === 'reconnect' || event.type === 'mutation',\n ),\n )\n\n const welcome = listener.pipe(\n filter((event): event is WelcomeEvent => event.type === 'welcome'),\n shareReplay({bufferSize: 1, refCount: false}),\n )\n\n // When new contexts initialize, they need to explicitly request the welcome\n // event, as we can't rely on emitting it into the void\n const unsubscribe = comlink.on('visual-editing/snapshot-welcome', async () => {\n const event = await new Promise<WelcomeEvent>((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n welcome.pipe(first()).subscribe((event) => {\n resolve(event)\n })\n })\n return {event}\n })\n\n const reconnect = listener.pipe(\n filter((event): event is ReconnectEvent => event.type === 'reconnect'),\n )\n\n const mutations = listener.pipe(\n filter((event): event is MutationEvent => event.type === 'mutation'),\n )\n\n const events = merge(\n /**\n * @deprecated remove 'welcome' here and switch to explict welcome message fetching at next major\n */\n welcome,\n mutations,\n reconnect,\n ).subscribe((event) => {\n comlink.post('presentation/snapshot-event', {event})\n })\n\n return () => {\n unsubscribe()\n events.unsubscribe()\n }\n }, [client, comlink])\n\n useEffect(() => {\n return comlink.on('visual-editing/fetch-snapshot', async (data) => {\n const snapshot = await client.getDocument(data.documentId, {\n tag: 'document.snapshots',\n })\n return {snapshot}\n })\n }, [client, comlink])\n\n useEffect(() => {\n return comlink.on('visual-editing/mutate', async (data) => {\n return client.dataRequest('mutate', data, {\n visibility: 'async',\n returnDocuments: true,\n })\n })\n }, [client, comlink])\n\n return null\n}\n\nexport default memo(PostMessageDocuments)\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{memo as n,useEffect as r}from"react";var i=e(t());const a=e=>{let t=(0,i.c)(8),{comlink:n,perspective:a}=e,o,s;t[0]!==n||t[1]!==a?(o=()=>n.on(`visual-editing/fetch-perspective`,()=>({perspective:a})),s=[n,a],t[0]=n,t[1]=a,t[2]=o,t[3]=s):(o=t[2],s=t[3]),r(o,s);let c,l;return t[4]!==n||t[5]!==a?(c=()=>{n.post(`presentation/perspective`,{perspective:a})},l=[n,a],t[4]=n,t[5]=a,t[6]=c,t[7]=l):(c=t[6],l=t[7]),r(c,l),null};var o=n(a);export{o as default};
2
- //# sourceMappingURL=PostMessagePerspective-CFiQ6IFc.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessagePerspective-CFiQ6IFc.mjs","names":["ClientPerspective","FC","memo","useEffect","VisualEditingConnection","PostMessagePerspectiveProps","comlink","perspective","PostMessagePerspective","props","$","_c","t0","t1","on","t2","t3","post"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/PostMessagePerspective.tsx"],"sourcesContent":["import {type ClientPerspective} from '@sanity/client'\nimport {type FC, memo, useEffect} from 'react'\n\nimport {type VisualEditingConnection} from './types'\n\nexport interface PostMessagePerspectiveProps {\n comlink: VisualEditingConnection\n perspective: ClientPerspective\n}\n\nconst PostMessagePerspective: FC<PostMessagePerspectiveProps> = (props) => {\n const {comlink, perspective} = props\n\n // Return the perspective when requested\n useEffect(() => {\n return comlink.on('visual-editing/fetch-perspective', () => ({\n perspective,\n }))\n }, [comlink, perspective])\n\n // Dispatch a perspective message when the perspective changes\n useEffect(() => {\n comlink.post('presentation/perspective', {perspective})\n }, [comlink, perspective])\n\n return null\n}\n\nexport default memo(PostMessagePerspective)\n"],"mappings":"2JAUA,MAAMQ,EAA0DC,GAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,EAAA,CAC9D,CAAAL,UAAAC,cAAA,CAA+BE,EAAKG,EAAAC,EAGpCV,AAHoCO,EAAA,KAAAJ,GAAAI,EAAA,KAAAH,GAG1BK,EAAAA,IACDN,EAAOQ,GAAI,mCAAkC,KAAA,CAAAP,aAAA,GAEjD,CACFM,EAAA,CAACP,EAASC,CAAW,EAACG,EAAA,GAAAJ,EAAAI,EAAA,GAAAH,EAAAG,EAAA,GAAAE,EAAAF,EAAA,GAAAG,IAAAD,EAAAF,EAAA,GAAAG,EAAAH,EAAA,IAJzBP,EAAUS,EAIPC,EAAuB,CAAA,IAAAE,EAAAC,EAKA,OALAN,EAAA,KAAAJ,GAAAI,EAAA,KAAAH,GAGhBQ,EAAAA,IAAA,CACRT,EAAOW,KAAM,2BAA0B,CAAAV,aAAe,EAAC,EACtDS,EAAA,CAACV,EAASC,CAAW,EAACG,EAAA,GAAAJ,EAAAI,EAAA,GAAAH,EAAAG,EAAA,GAAAK,EAAAL,EAAA,GAAAM,IAAAD,EAAAL,EAAA,GAAAM,EAAAN,EAAA,IAFzBP,EAAUY,EAEPC,EAAuB,CAAA,IAG3B,EAED,IAAA,EAAed,EAAKM,EAAuB"}
@@ -1,2 +0,0 @@
1
- import"./Observable-B8U6mp9h.mjs";import{createOperatorSubscriber as e,map as t,operate as n}from"./map-DkDssZnl.mjs";import{Subject as r}from"./Subject-BUseddH4.mjs";import"./dateTimestampProvider-Bu3RH21w.mjs";import"./async-HS7jgwe2.mjs";import"./mergeMap-BhPr1e5f.mjs";import"./from-1e-Bj2Xm.mjs";import"./mapOneOrManyArgs-nKglr-Z6.mjs";import{combineLatest as i}from"./combineLatest-CFPJgUfN.mjs";import{merge as a}from"./merge-DLqD1gqk.mjs";import{NEVER as o}from"./never-DgTZVAtg.mjs";import{filter as s}from"./filter-Dzj28Ftl.mjs";import{debounceTime as c}from"./debounceTime-ZjGvEiAc.mjs";import{share as l}from"./share-DudygGnN.mjs";import{switchMap as u}from"./switchMap-Dkb8wgZy.mjs";import{takeUntil as d}from"./takeUntil-CFb43n44.mjs";import{memo as f,useEffect as p,useMemo as m,useRef as h}from"react";import{getDraftId as g,getPublishedId as _,useDocumentPreviewStore as v,useSchema as y}from"sanity";function b(t){return n(function(n,r){var i=!1,a=0;n.subscribe(e(r,function(e){return(i||=!t(e,a++))&&r.next(e)}))})}const x=e=>{let{comlink:n,refs:f,perspective:x}=e,S=v(),C=y(),w=m(()=>new r,[]),T=m(()=>w.asObservable().pipe(u(e=>i(e.map(e=>{let n={...e,_id:g(e._id)},r=x===`published`?o:S.observeForPreview(n,C.get(n._type)).pipe(l(),b(e=>e.snapshot===null)),i={...e,_id:_(e._id)},c=S.observeForPreview(i,C.get(i._type));return a(c.pipe(d(r)),r).pipe(s(e=>!!e.snapshot),t(e=>{let t=e.snapshot;return{_id:_(t._id),title:t.title,subtitle:t.subtitle,description:t.description,imageUrl:t.imageUrl}}))}))),c(0)),[S,w,C,x]),E=h([]);return p(()=>{let e=T.subscribe(e=>{n.post(`presentation/preview-snapshots`,{snapshots:e}),E.current=e});return()=>{e.unsubscribe()}},[n,T]),p(()=>n.on(`visual-editing/preview-snapshots`,()=>({snapshots:E.current})),[n]),p(()=>{w.next(f)},[f,w]),null};var S=f(x);export{S as default};
2
- //# sourceMappingURL=PostMessagePreviewSnapshots-5oC2mIn1.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessagePreviewSnapshots-5oC2mIn1.mjs","names":["ClientPerspective","PreviewSnapshot","FC","memo","useEffect","useMemo","useRef","combineLatest","debounceTime","filter","map","merge","NEVER","share","skipWhile","Subject","switchMap","takeUntil","getDraftId","getPublishedId","PreviewValue","useDocumentPreviewStore","useSchema","VisualEditingConnection","Ref","_id","_type","PostMessagePreviewsProps","comlink","perspective","refs","PostMessagePreviews","props","documentPreviewStore","schema","refsSubject","previews$","asObservable","pipe","ref","draftRef","draft$","observeForPreview","get","p","snapshot","publishedRef","published$","title","subtitle","description","imageUrl","lastSnapshots","sub","subscribe","snapshots","post","current","unsubscribe","on","next"],"sources":["https://cdn.jsdelivr.net/npm/rxjs@7.8.2/dist/esm5/internal/operators/skipWhile.js","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/editor/PostMessagePreviewSnapshots.tsx"],"sourcesContent":["import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function skipWhile(predicate) {\n return operate(function (source, subscriber) {\n var taking = false;\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return (taking || (taking = !predicate(value, index++))) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=skipWhile.js.map","import {type ClientPerspective} from '@sanity/client'\nimport {type PreviewSnapshot} from '@sanity/presentation-comlink'\nimport {type FC, memo, useEffect, useMemo, useRef} from 'react'\nimport {\n combineLatest,\n debounceTime,\n filter,\n map,\n merge,\n NEVER,\n share,\n skipWhile,\n Subject,\n switchMap,\n takeUntil,\n} from 'rxjs'\nimport {\n getDraftId,\n getPublishedId,\n type PreviewValue,\n useDocumentPreviewStore,\n useSchema,\n} from 'sanity'\n\nimport {type VisualEditingConnection} from '../types'\n\ntype Ref = {\n _id: string\n _type: string\n}\n\nexport interface PostMessagePreviewsProps {\n comlink: VisualEditingConnection\n perspective: ClientPerspective\n refs: Ref[]\n}\n\nconst PostMessagePreviews: FC<PostMessagePreviewsProps> = (props) => {\n const {comlink, refs, perspective} = props\n const documentPreviewStore = useDocumentPreviewStore()\n const schema = useSchema()\n\n const refsSubject = useMemo(() => new Subject<Ref[]>(), [])\n\n const previews$ = useMemo(() => {\n return refsSubject.asObservable().pipe(\n switchMap(\n (\n // eslint-disable-next-line @typescript-eslint/no-shadow\n refs,\n ) => {\n return combineLatest(\n refs.map((ref) => {\n const draftRef = {...ref, _id: getDraftId(ref._id)}\n const draft$ =\n perspective === 'published'\n ? // Don't emit if not displaying drafts\n NEVER\n : documentPreviewStore\n .observeForPreview(draftRef, schema.get(draftRef._type)!)\n .pipe(\n // Share to prevent double subscribe in the merge\n share(),\n // Don't emit if no snapshot is returned\n // eslint-disable-next-line max-nested-callbacks\n skipWhile((p) => p.snapshot === null),\n )\n\n const publishedRef = {...ref, _id: getPublishedId(ref._id)}\n const published$ = documentPreviewStore.observeForPreview(\n publishedRef,\n schema.get(publishedRef._type)!,\n )\n\n return merge(published$.pipe(takeUntil(draft$)), draft$).pipe(\n // eslint-disable-next-line max-nested-callbacks\n filter((p) => !!p.snapshot),\n // eslint-disable-next-line max-nested-callbacks\n map((p) => {\n const snapshot = p.snapshot as PreviewValue & {\n _id: string\n }\n return {\n _id: getPublishedId(snapshot._id),\n title: snapshot.title,\n subtitle: snapshot.subtitle,\n description: snapshot.description,\n imageUrl: snapshot.imageUrl,\n } as PreviewSnapshot\n }),\n )\n }),\n )\n },\n ),\n debounceTime(0),\n )\n }, [documentPreviewStore, refsSubject, schema, perspective])\n\n const lastSnapshots = useRef<PreviewSnapshot[]>([])\n\n // Stream preview snapshots when updates are received, and store the last set\n // of snapshots so they can be returned if explicitly requested\n useEffect(() => {\n const sub = previews$.subscribe((snapshots) => {\n comlink.post('presentation/preview-snapshots', {snapshots})\n lastSnapshots.current = snapshots\n })\n\n return () => {\n sub.unsubscribe()\n }\n }, [comlink, previews$])\n\n // Respond to explict requests for preview snapshots. Streaming will not\n // always suffice as the previews$ subscriber will not be called if the app\n // reloads but Presentation does not.\n useEffect(() => {\n return comlink.on('visual-editing/preview-snapshots', () => ({\n snapshots: lastSnapshots.current,\n }))\n }, [comlink])\n\n useEffect(() => {\n refsSubject.next(refs)\n }, [refs, refsSubject])\n\n return null\n}\n\nexport default memo(PostMessagePreviews)\n"],"x_google_ignoreList":[0],"mappings":"s5BAEA,SAAgB,EAAU,EAAW,CACjC,MAAO,GAAQ,SAAU,EAAQ,EAAY,CACzC,IAAI,GAAS,EACT,EAAQ,EACZ,EAAO,UAAU,EAAyB,EAAY,SAAU,EAAO,CAAE,OAAmB,KAAU,EAAU,EAAO,IAAQ,GAAM,EAAW,KAAK,EAAM,AAAG,EAAC,CAAC,AACnK,EAAC,AACL,CC6BD,MAAM+B,EAAqDC,GAAU,CACnE,GAAM,CAACJ,UAASE,OAAMD,cAAY,CAAGG,EAC/BC,EAAuBZ,GAAyB,CAChDa,EAASZ,GAAW,CAEpBa,EAAc9B,EAAQ,IAAM,IAAIU,EAAkB,CAAE,EAAC,CAErDqB,EAAY/B,EAAQ,IACjB8B,EAAYE,cAAc,CAACC,KAChCtB,EACE,AAEEc,GAEOvB,EACLuB,EAAKpB,IAAK6B,GAAQ,CAChB,IAAMC,EAAW,CAAC,GAAGD,EAAKd,IAAKP,EAAWqB,EAAId,IAAG,AAAE,EAC7CgB,EACJZ,IAAgB,YAEZjB,EACAqB,EACGS,kBAAkBF,EAAUN,EAAOS,IAAIH,EAASd,MAAM,CAAE,CACxDY,KAECzB,GAAO,CAGPC,EAAW8B,GAAMA,EAAEC,WAAa,KAClC,CAAC,CAEHC,EAAe,CAAC,GAAGP,EAAKd,IAAKN,EAAeoB,EAAId,IAAG,AAAE,EACrDsB,EAAad,EAAqBS,kBACtCI,EACAZ,EAAOS,IAAIG,EAAapB,MAAM,CAC/B,CAED,MAAOf,GAAMoC,EAAWT,KAAKrB,EAAUwB,EAAO,CAAC,CAAEA,EAAO,CAACH,KAEvD7B,EAAQmC,KAAQA,EAAEC,SAAS,CAE3BnC,EAAKkC,GAAM,CACT,IAAMC,EAAWD,EAAEC,SAGnB,MAAO,CACLpB,IAAKN,EAAe0B,EAASpB,IAAI,CACjCuB,MAAOH,EAASG,MAChBC,SAAUJ,EAASI,SACnBC,YAAaL,EAASK,YACtBC,SAAUN,EAASM,QACpB,CACF,EACH,CAAC,AACF,EACH,CAAC,CAEJ,CACD3C,EAAa,EACf,CAAC,CACA,CAACyB,EAAsBE,EAAaD,EAAQL,CAAY,EAAC,CAEtDuB,EAAgB9C,EAA0B,CAAE,EAAC,CA4BnD,MAxBAF,GAAU,IAAM,CACd,IAAMiD,EAAMjB,EAAUkB,UAAWC,GAAc,CAE7CH,AADAxB,EAAQ4B,KAAK,iCAAkC,CAACD,WAAU,EAAC,CAC3DH,EAAcK,QAAUF,CACzB,EAAC,CAEF,MAAO,IAAM,CACXF,EAAIK,aAAa,AAClB,CACF,EAAE,CAAC9B,EAASQ,CAAU,EAAC,CAKxBhC,EAAU,IACDwB,EAAQ+B,GAAG,mCAAoC,KAAO,CAC3DJ,UAAWH,EAAcK,OAC1B,GAAE,CACF,CAAC7B,CAAQ,EAAC,CAEbxB,EAAU,IAAM,CACd+B,EAAYyB,KAAK9B,EAAK,AACvB,EAAE,CAACA,EAAMK,CAAY,EAAC,CAEhB,IACR,EAED,IAAA,EAAehC,EAAK4B,EAAoB"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{memo as n,startTransition as r,useEffect as i,useState as a}from"react";import{jsx as o}from"react/jsx-runtime";import{getPublishedId as s,useEditState as c}from"sanity";var l=e(t());function u(e){let t=(0,l.c)(8),{comlink:n,type:r,previewKitConnection:i,loadersConnection:a}=e,u,f;t[0]===e.id?f=t[1]:(f=s(e.id),t[0]=e.id,t[1]=f),u=f;let p=u,{draft:m,published:h,ready:g}=c(p,r,`low`),_=i===`connected`||a===`connected`;if(g&&m||h){let e;return t[2]!==n||t[3]!==m||t[4]!==p||t[5]!==_||t[6]!==h?(e=o(d,{comlink:n,draft:m,livePreviewEnabled:_,published:h},p),t[2]=n,t[3]=m,t[4]=p,t[5]=_,t[6]=h,t[7]=e):e=t[7],e}return null}function d(e){let t=(0,l.c)(14),{comlink:n,draft:o,published:s,livePreviewEnabled:c}=e,[u,d]=a(o),[p,m]=a(s),h;t[0]!==n||t[1]!==o||t[2]!==c||t[3]!==u?._rev||t[4]!==p?._rev||t[5]!==s?(h=()=>{u?._rev!==o?._rev&&(r(()=>d(o)),o&&n?.post(`presentation/refresh`,{source:`mutation`,livePreviewEnabled:c,document:f(o)})),p?._rev!==s?._rev&&(r(()=>m(s)),s&&n?.post(`presentation/refresh`,{source:`mutation`,livePreviewEnabled:c,document:f(s)}))},t[0]=n,t[1]=o,t[2]=c,t[3]=u?._rev,t[4]=p?._rev,t[5]=s,t[6]=h):h=t[6];let g=u?._rev,_=p?._rev,v;return t[7]!==n||t[8]!==o||t[9]!==c||t[10]!==s||t[11]!==g||t[12]!==_?(v=[n,o,c,g,_,s],t[7]=n,t[8]=o,t[9]=c,t[10]=s,t[11]=g,t[12]=_,t[13]=v):v=t[13],i(h,v),null}function f(e){let{_id:t,_type:n,_rev:r,slug:i}=e;return{_id:t,_type:n,_rev:r,slug:i}}var p=n(u);export{p as default};
2
- //# sourceMappingURL=PostMessageRefreshMutations-DdxC6YP_.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessageRefreshMutations-DdxC6YP_.mjs","names":["memo","startTransition","useEffect","useMemo","useState","getPublishedId","SanityDocument","useEditState","ConnectionStatus","VisualEditingConnection","PostMessageRefreshMutationsProps","id","type","comlink","previewKitConnection","loadersConnection","PostMessageRefreshMutations","props","$","_c","t0","t1","draft","published","ready","livePreviewEnabled","t2","PostMessageRefreshMutationsInnerProps","Pick","PostMessageRefreshMutationsInner","prevDraft","setPrevDraft","prevPublished","setPrevPublished","_rev","post","source","document","parseDocument","t3","slug","current","_id","_type"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/editor/PostMessageRefreshMutations.tsx"],"sourcesContent":["import {memo, startTransition, useEffect, useMemo, useState} from 'react'\nimport {getPublishedId, type SanityDocument, useEditState} from 'sanity'\n\nimport {type ConnectionStatus, type VisualEditingConnection} from '../types'\n\nexport interface PostMessageRefreshMutationsProps {\n id: string\n type: string\n comlink: VisualEditingConnection\n previewKitConnection: ConnectionStatus\n loadersConnection: ConnectionStatus\n}\n\nfunction PostMessageRefreshMutations(props: PostMessageRefreshMutationsProps): React.ReactNode {\n const {comlink, type, previewKitConnection, loadersConnection} = props\n const id = useMemo(() => getPublishedId(props.id), [props.id])\n const {draft, published, ready} = useEditState(id, type, 'low')\n const livePreviewEnabled =\n previewKitConnection === 'connected' || loadersConnection === 'connected'\n\n if ((ready && draft) || published) {\n return (\n <PostMessageRefreshMutationsInner\n key={id}\n comlink={comlink}\n draft={draft}\n livePreviewEnabled={livePreviewEnabled}\n published={published}\n />\n )\n }\n\n return null\n}\n\ninterface PostMessageRefreshMutationsInnerProps\n extends Pick<PostMessageRefreshMutationsProps, 'comlink'> {\n livePreviewEnabled: boolean\n draft: SanityDocument | null\n published: SanityDocument | null\n}\nfunction PostMessageRefreshMutationsInner(props: PostMessageRefreshMutationsInnerProps) {\n const {comlink, draft, published, livePreviewEnabled} = props\n const [prevDraft, setPrevDraft] = useState(draft)\n const [prevPublished, setPrevPublished] = useState(published)\n\n useEffect(() => {\n if (prevDraft?._rev !== draft?._rev) {\n startTransition(() => setPrevDraft(draft))\n if (draft) {\n comlink?.post('presentation/refresh', {\n source: 'mutation',\n livePreviewEnabled,\n document: parseDocument(draft),\n })\n }\n }\n if (prevPublished?._rev !== published?._rev) {\n startTransition(() => setPrevPublished(published))\n if (published) {\n comlink?.post('presentation/refresh', {\n source: 'mutation',\n livePreviewEnabled,\n document: parseDocument(published),\n })\n }\n }\n }, [comlink, draft, livePreviewEnabled, prevDraft?._rev, prevPublished?._rev, published])\n\n return null\n}\n\nfunction parseDocument(document: SanityDocument & {slug?: {current?: string | null}}): {\n _id: string\n _type: string\n _rev: string\n slug?: {current?: string | null}\n} {\n const {_id, _type, _rev, slug} = document\n return {_id, _type, _rev, slug}\n}\n\nexport default memo(PostMessageRefreshMutations)\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{ThemeProvider as n,useRootTheme as r}from"./dist-gdCAZyAZ.mjs";import"./dist-BBJTJw5c.mjs";import"./proxy-Dqw503dV.mjs";import"./dist-Du4lGEpF.mjs";import{API_VERSION as i}from"./constants-ClLucOHG.mjs";import{isValidElement as a,memo as o,useEffect as s}from"react";import{jsx as c}from"react/jsx-runtime";import{ServerStyleSheet as l,StyleSheetManager as u}from"styled-components";import{renderToString as d}from"react-dom/server";import{RELEASES_STUDIO_CLIENT_OPTIONS as f,getPublishedId as p,isReleasePerspective as m,useClient as h,useWorkspace as g}from"sanity";function _(e){let{validation:t}=e.type;if(!t)return!1;let n=Array.isArray(t)?t:[t];for(let e of n){let t=!1,n=new Proxy({},{get:(e,r)=>()=>(r===`required`&&(t=!0),n)});if(typeof e==`function`&&(e(n),t)||typeof e==`object`&&e&&`_required`in e&&e._required===`required`)return!0}return!1}function v(e,t){let n=e;for(;n;){if(n.name===t||n.type&&n.type.name===t)return!0;n=n.type}return!1}function y(e){return v(e,`object`)||e.jsonType===`object`||`fields`in e}function b(e){return v(e,`array`)}function x(e){return v(e,`reference`)}function S(e){return v(e,`crossDatasetReference`)}function C(e){return v(e,`string`)}function w(e){return v(e,`number`)}function T(e){let t=e;for(;t;){if(!t.type)return t;t=t.type}}function E(e){return`fields`in e?e.type?E(e.type).concat(e.fields):e.fields:[]}function D(e){let t=new Set;function n(e,r){if(!t.has(e)){if(t.add(e),`fields`in e)for(let t of E(e)){let i=T(t.type);if(i.name===`document`){r.add(i);continue}let a;e.type.type?a=t.type.type.name:`jsonType`in e.type&&(a=t.type.jsonType),(a===`object`||a===`block`)&&(x(t.type)?t.type.to.forEach(e=>r.add(e.type)):r.add(t.type)),n(t.type,r)}else if(`of`in e)for(let t of e.of)n(t,r)}}let r=new Map;e.getTypeNames().forEach(i=>{let a=e.get(i);if(a===void 0||a.type===null)return;let o=new Set;n(a,o),r.set(a,o),t.clear()});let i=[],a=new Set,o=new Set;function s(e){if(o.has(e)||a.has(e))return;a.add(e);let t=r.get(e);t!==void 0&&t.forEach(e=>s(e)),a.delete(e),o.add(e),i.includes(e.name)||i.unshift(e.name)}for(let[e]of r)s(e);return i}var O=e(t());const k=function(e){let t=(0,O.c)(6),{schemaType:r,theme:i}=e,{theme:o,scheme:s,tone:d}=i,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=new l,t[0]=f):f=t[0];let p=f,m=r.icon,h;return t[1]!==m||t[2]!==s||t[3]!==o||t[4]!==d?(h=m?c(u,{sheet:p.instance,children:c(n,{theme:o,scheme:s,tone:d,children:a(m)?m:c(m,{})})}):null,t[1]=m,t[2]=s,t[3]=o,t[4]=d,t[5]=h):h=t[5],h},A=e=>({_id:{type:`objectField`,name:`_id`,value:{type:`string`}},_type:{type:`objectField`,name:`_type`,value:{type:`string`,value:e}},_createdAt:{type:`objectField`,name:`_createdAt`,value:{type:`string`}},_updatedAt:{type:`objectField`,name:`_updatedAt`,value:{type:`string`}},_rev:{type:`objectField`,name:`_rev`,value:{type:`string`}}});function j(e){var t;let n=(t=e.options)?.list;return n&&Array.isArray(n)?{type:`union`,of:n.map(e=>({type:`string`,value:typeof e==`string`?e:e.value}))}:{type:`string`}}function M(e){var t;let n=(t=e.options)?.list;return n&&Array.isArray(n)?{type:`union`,of:n.map(e=>({type:`number`,value:typeof e==`number`?e:e.value}))}:{type:`number`}}function N(e,t=!1){let n={_ref:{type:`objectField`,name:`_ref`,value:{type:`string`}},_type:{type:`objectField`,name:`_type`,value:{type:`string`,value:`reference`}},_weak:{type:`objectField`,name:`_weak`,value:{type:`boolean`},optional:!0}};return t&&(n._key={type:`objectField`,name:`_key`,value:{type:`string`}}),{type:`object`,fields:n,dereferencesTo:e}}function P(e){let t=F(e);return t.length===1?N(t[0]):{type:`union`,of:t.map(e=>({type:`unionOption`,name:e,value:N(e)}))}}function F(e){let t=I(e);return[...new Set(t.map(e=>e.name))]}function I(e){let t=`to`in e?e.to:[];return`type`in e&&x(e.type)?[...I(e.type),...t]:t}const L=new Map([[`text`,{type:`string`}],[`url`,{type:`string`}],[`datetime`,{type:`string`}],[`date`,{type:`string`}],[`boolean`,{type:`boolean`}],[`email`,{type:`string`}]]);function R(e,t){let n=new Set,{schema:r,basePath:i}=e,a=D(r);return a.map(e=>{let t=r.get(e);if(t===void 0)return;let i=s(t);if(i!==null)return i.type===`type`&&n.add(t),i}).filter(e=>e!==void 0);function o(e){if(e.icon)return d(c(k,{schemaType:e,theme:t}))}function s(e){let t;if(e.type?t=e.type.name:`jsonType`in e&&(t=e.jsonType),t===`document`){let t=l(e);return t.type===`unknown`?null:{type:`document`,name:e.name,title:typeof e.title==`string`?e.title:void 0,icon:o(e),fields:{...A(e.name),...t.fields}}}let n=u(e);return n.type===`unknown`?null:n.type===`object`?{name:e.name,type:`type`,value:{type:`object`,fields:{_type:{type:`objectField`,name:`_type`,value:{type:`string`,value:e.name}},...n.fields}}}:{name:e.name,title:typeof e.title==`string`?e.title:void 0,type:`type`,value:n}}function l(e){let t={};for(let n of E(e)){let e=u(n.type);if(e===null)continue;t[n.name]={type:`objectField`,name:n.name,title:typeof n.type.title==`string`?n.type.title:void 0,value:e,optional:_(n)===!1}}return{type:`object`,fields:t}}function u(e){var t,r,i;if((t=T(e))?.name===`document`)return N(e.name);if(n.has(e.type)||((r=e.type)==null||(r=r.type)==null?void 0:r.name)===`object`)return{type:`inline`,name:e.type.name};if(C(e))return j(e);if(w(e))return M(e);let a=L.get((i=e.type)?.name||``);if(a)return a;if(e.type&&L.has(e.type.name))return L.get(e.type.name);if(S(e))return{type:`unknown`};if(x(e))return P(e);if(b(e))return p(e);if(y(e))return l(e);throw Error(`Type "${e.name}" not found`)}function f(e,t){var n;let{options:r}=e;if(!r)return;let a={...r};return r.insertMenu&&(a.insertMenu={...r.insertMenu,views:(n=r.insertMenu.views)?.map(e=>e.name===`grid`?{name:`grid`,previewImageUrls:e.previewImageUrl?t.reduce((t,{name:n})=>{var r;let a=(r=e.previewImageUrl)?.call(e,n);if(!a)return t;try{new URL(a),t[n]=a}catch{t[n]=new URL(a,`${window.location.origin}${i?`${i}/`:``}`).toString()}return t},{}):void 0}:e)}),a}function p(e){let t=[];for(let n of e.of){let e=u(n),r={type:`unionOption`,icon:o(n),name:n.name,title:typeof n.title==`string`?n.title:void 0,value:e};e.type===`inline`?e={type:`object`,fields:{_key:z()},rest:e}:e.type===`object`&&(e.rest={type:`object`,fields:{_key:z()}}),r.value=e,t.push(r)}if(t.length===0)return{type:`null`};if(t.length>1)return{type:`union`,of:t,options:f(e,t)};let{name:n,title:r,value:i}=t[0];return{type:`array`,of:{type:`arrayItem`,name:n,title:typeof r==`string`?r:void 0,value:i}}}}function z(){return{type:`objectField`,name:`_key`,value:{type:`string`}}}var B=e(t());function V(e){let t=e.reduce((e,{id:t,path:n})=>(e[t]?e[t].add(n):e[t]=new Set([n]),e),{});return Object.entries(t)}function H(e){let t=(0,B.c)(12),{comlink:n,perspective:a}=e,o=g(),c=r(),l,u;t[0]!==n||t[1]!==c||t[2]!==o?(l=()=>{try{let e=R(o,c);return n.post(`presentation/schema`,{schema:e}),n.on(`visual-editing/schema`,()=>({schema:e}))}catch{return}},u=[n,c,o],t[0]=n,t[1]=c,t[2]=o,t[3]=l,t[4]=u):(l=t[3],u=t[4]),s(l,u);let d;t[5]===a?d=t[6]:(d=m(a)?f:{apiVersion:i},t[5]=a,t[6]=d);let _=h(d),v,y;return t[7]!==_||t[8]!==n||t[9]!==a?(v=()=>n.on(`visual-editing/schema-union-types`,async e=>{let t=V(e.paths),n=await Promise.all(t.map(async e=>{let[t,n]=e,r=Array.from(n),i=r.map(W).join(`,`),o=`*[_id == $id][0]{${i}}`,s=await _.fetch(o,{id:p(t)},{tag:`presentation-schema`,perspective:a}),c=r.map((e,t)=>({path:e,type:s[t]}));return{id:t,paths:c}})),r=new Map;return n.forEach(e=>{r.set(e.id,new Map(e.paths.map(U)))}),{types:r}}),y=[n,_,a],t[7]=_,t[8]=n,t[9]=a,t[10]=v,t[11]=y):(v=t[10],y=t[11]),s(v,y),null}function U(e){let{path:t,type:n}=e;return[t,n]}function W(e,t){return`"${t}": ${e}[0]._type`}var G=o(H);export{G as default};
2
- //# sourceMappingURL=PostMessageSchema-Bcs4xG5C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessageSchema-Bcs4xG5C.mjs","names":["ArraySchemaType","NumberSchemaType","ObjectField","ObjectFieldType","ObjectSchemaType","ReferenceSchemaType","Rule","Schema","SchemaDef","SchemaType","SanitySchemaType","StringSchemaType","isFieldRequired","field","validation","type","rules","Array","isArray","rule","required","proxy","Proxy","get","target","methodName","_required","isType","typeDef","typeName","name","isObjectType","jsonType","isArrayType","isReferenceType","isCrossDatasetReferenceType","isStringType","isNumberType","lastType","undefined","gatherFields","concat","fields","sortByDependencies","compiledSchema","seen","Set","walkDependencies","schemaType","dependencies","has","add","last","schemaTypeName","to","forEach","ref","item","of","dependencyMap","Map","getTypeNames","set","clear","typeNames","currentlyVisiting","visited","visit","deps","dep","delete","includes","unshift","SchemaType","SanitySchemaType","ThemeContextValue","ThemeProvider","FunctionComponent","isValidElement","ServerStyleSheet","StyleSheetManager","SchemaIcon","schemaType","theme","t0","$","_c","themeContext","scheme","tone","t1","Symbol","for","sheet","Icon","icon","t2","instance","InsertMenuOptions","SchemaArrayNode","SchemaBooleanNode","SchemaInlineNode","SchemaNode","SchemaNullNode","SchemaNumberNode","SchemaObjectField","SchemaObjectNode","SchemaStringNode","SchemaType","SchemaUnionNode","SchemaUnionNodeOptions","SchemaUnionOption","SchemaUnknownNode","ArraySchemaType","NumberSchemaType","ObjectSchemaType","ReferenceSchemaType","SanitySchemaType","StringSchemaType","ThemeContextValue","renderToString","Workspace","gatherFields","isArrayType","isCrossDatasetReferenceType","isFieldRequired","isNumberType","isObjectType","isReferenceType","isStringType","lastType","sortByDependencies","SchemaIcon","documentDefaultFields","typeName","Record","_id","type","name","value","_type","_createdAt","_updatedAt","_rev","createStringNodeDefintion","stringSchemaType","listOptions","options","list","Array","isArray","of","map","v","createNumberNodeDefintion","numberSchemaType","createReferenceNode","inArray","fields","_ref","_weak","optional","_key","dereferencesTo","createReferenceNodeDefintion","reference","references","gatherReferenceNames","length","allReferences","gatherReferenceTypes","Set","ref","refTo","to","typesMap","Map","Omit","extractSchema","workspace","theme","inlineFields","schema","schemaDef","basePath","sortedSchemaTypeNames","schemaType","get","undefined","base","convertBaseType","add","filter","extractIcon","icon","jsonType","object","createObject","title","convertSchemaType","field","has","mapped","createArray","Error","createUnionNodeOptions","opts","insertMenu","views","view","previewImageUrls","previewImageUrl","reduce","acc","url","URL","window","location","origin","toString","arraySchemaType","item","option","createKeyField","rest","push","ClientPerspective","UnresolvedPath","useRootTheme","memo","useEffect","getPublishedId","isReleasePerspective","RELEASES_STUDIO_CLIENT_OPTIONS","useClient","useWorkspace","API_VERSION","VisualEditingConnection","extractSchema","PostMessageSchemaProps","comlink","perspective","getDocumentPathArray","paths","documentPathMap","reduce","acc","id","path","add","Set","Record","Object","entries","PostMessageSchema","props","$","_c","workspace","theme","t0","t1","schema","post","on","t2","apiVersion","client","t3","t4","data","documentPathArray","unionTypes","Promise","all","map","t5","arr","Array","from","projection","_temp","join","query","result","fetch","tag","mapped","path_0","i_0","type","i","newState","Map","forEach","action","set","_temp2","types","path_1"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/overlays/schema/helpers.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/overlays/schema/SchemaIcon.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/overlays/schema/extract.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/overlays/schema/PostMessageSchema.tsx"],"sourcesContent":["import {\n type ArraySchemaType,\n type NumberSchemaType,\n type ObjectField,\n type ObjectFieldType,\n type ObjectSchemaType,\n type ReferenceSchemaType,\n type Rule,\n type Schema as SchemaDef,\n type SchemaType as SanitySchemaType,\n type StringSchemaType,\n} from '@sanity/types'\nimport {type SchemaType} from 'groq-js'\n\nexport function isFieldRequired(field: ObjectField): boolean {\n const {validation} = field.type\n if (!validation) {\n return false\n }\n const rules = Array.isArray(validation) ? validation : [validation]\n for (const rule of rules) {\n let required = false\n\n // hack to check if a field is required. We create a proxy that returns itself when a method is called,\n // if the method is \"required\" we set a flag\n const proxy = new Proxy(\n {},\n {\n get: (target, methodName) => () => {\n if (methodName === 'required') {\n required = true\n }\n return proxy\n },\n },\n ) as Rule\n\n if (typeof rule === 'function') {\n rule(proxy)\n if (required) {\n return true\n }\n }\n\n if (typeof rule === 'object' && rule !== null && '_required' in rule) {\n if (rule._required === 'required') {\n return true\n }\n }\n }\n\n return false\n}\n\nfunction isType(\n typeDef: SanitySchemaType | ObjectField | ObjectFieldType,\n typeName: string,\n): boolean {\n let type: SchemaType | ObjectField | ObjectFieldType | undefined = typeDef\n while (type) {\n if (type.name === typeName || (type.type && type.type.name === typeName)) {\n return true\n }\n\n type = type.type\n }\n return false\n}\n\nexport function isObjectType(typeDef: SanitySchemaType): typeDef is ObjectSchemaType {\n return isType(typeDef, 'object') || typeDef.jsonType === 'object' || 'fields' in typeDef\n}\nexport function isArrayType(typeDef: SanitySchemaType): typeDef is ArraySchemaType {\n return isType(typeDef, 'array')\n}\nexport function isReferenceType(typeDef: SanitySchemaType): typeDef is ReferenceSchemaType {\n return isType(typeDef, 'reference')\n}\n// @todo\nexport function isCrossDatasetReferenceType(typeDef: SanitySchemaType): boolean {\n return isType(typeDef, 'crossDatasetReference')\n}\nexport function isStringType(typeDef: SanitySchemaType): typeDef is StringSchemaType {\n return isType(typeDef, 'string')\n}\nexport function isNumberType(typeDef: SanitySchemaType): typeDef is NumberSchemaType {\n return isType(typeDef, 'number')\n}\n\n// Traverse the type tree and return the \"last\" type, ie deepest type in the tree\nexport function lastType(typeDef: SanitySchemaType): SanitySchemaType | undefined {\n let type: SchemaType | ObjectField | ObjectFieldType | undefined = typeDef\n while (type) {\n if (!type.type) {\n return type\n }\n type = type.type\n }\n\n return undefined\n}\n\n// Traverse the type tree and gather all the fields\nexport function gatherFields(type: SanitySchemaType | ObjectSchemaType): ObjectField[] {\n if ('fields' in type) {\n return type.type ? gatherFields(type.type).concat(type.fields) : type.fields\n }\n\n return []\n}\n\n// Sorts the types by their dependencies by using a topological sort depth-first algorithm.\nexport function sortByDependencies(compiledSchema: SchemaDef): string[] {\n const seen = new Set<SanitySchemaType>()\n\n // Walks the dependencies of a schema type and adds them to the dependencies set\n function walkDependencies(\n schemaType: SanitySchemaType,\n dependencies: Set<SanitySchemaType>,\n ): void {\n if (seen.has(schemaType)) {\n return\n }\n seen.add(schemaType)\n\n if ('fields' in schemaType) {\n for (const field of gatherFields(schemaType)) {\n const last = lastType(field.type)\n if (last!.name === 'document') {\n dependencies.add(last!)\n continue\n }\n\n let schemaTypeName: string | undefined\n if (schemaType.type!.type) {\n schemaTypeName = field.type.type!.name\n } else if ('jsonType' in schemaType.type!) {\n schemaTypeName = field.type.jsonType\n }\n\n if (schemaTypeName === 'object' || schemaTypeName === 'block') {\n if (isReferenceType(field.type)) {\n field.type.to.forEach((ref) => dependencies.add(ref.type!))\n } else {\n dependencies.add(field.type)\n }\n }\n walkDependencies(field.type, dependencies)\n }\n } else if ('of' in schemaType) {\n for (const item of schemaType.of) {\n walkDependencies(item, dependencies)\n }\n }\n }\n const dependencyMap = new Map<SanitySchemaType, Set<SanitySchemaType>>()\n compiledSchema.getTypeNames().forEach((typeName) => {\n const schemaType = compiledSchema.get(typeName)\n if (schemaType === undefined || schemaType.type === null) {\n return\n }\n const dependencies = new Set<SanitySchemaType>()\n\n walkDependencies(schemaType, dependencies)\n dependencyMap.set(schemaType, dependencies)\n seen.clear() // Clear the seen set for the next type\n })\n\n // Sorts the types by their dependencies\n const typeNames: string[] = []\n // holds a temporary mark for types that are currently being visited, to detect cyclic dependencies\n const currentlyVisiting = new Set<SanitySchemaType>()\n\n // holds a permanent mark for types that have been already visited\n const visited = new Set<SanitySchemaType>()\n\n // visit implements a depth-first search\n function visit(type: SanitySchemaType) {\n if (visited.has(type)) {\n return\n }\n // If we find a type that is already in the temporary mark, we have a cyclic dependency.\n if (currentlyVisiting.has(type)) {\n return\n }\n // mark this as a temporary mark, meaning it's being visited\n currentlyVisiting.add(type)\n const deps = dependencyMap.get(type)\n if (deps !== undefined) {\n deps.forEach((dep) => visit(dep))\n }\n currentlyVisiting.delete(type)\n visited.add(type)\n\n if (!typeNames.includes(type.name)) {\n typeNames.unshift(type.name)\n }\n }\n // Visit all types in the dependency map\n for (const [type] of dependencyMap) {\n visit(type)\n }\n\n return typeNames\n}\n","import {type SchemaType as SanitySchemaType} from '@sanity/types'\nimport {type ThemeContextValue, ThemeProvider} from '@sanity/ui'\nimport {type FunctionComponent, isValidElement} from 'react'\nimport {ServerStyleSheet, StyleSheetManager} from 'styled-components'\n\nexport const SchemaIcon: FunctionComponent<{\n schemaType: SanitySchemaType\n theme: ThemeContextValue\n}> = function SchemaIcon({schemaType, theme: themeContext}) {\n const {theme, scheme, tone} = themeContext\n const sheet = new ServerStyleSheet()\n const Icon = schemaType.icon\n\n return Icon ? (\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme} scheme={scheme} tone={tone}>\n {isValidElement(Icon) ? Icon : <Icon />}\n </ThemeProvider>\n </StyleSheetManager>\n ) : null\n}\n","import {\n type InsertMenuOptions,\n type SchemaArrayNode,\n type SchemaBooleanNode,\n type SchemaInlineNode,\n type SchemaNode,\n type SchemaNullNode,\n type SchemaNumberNode,\n type SchemaObjectField,\n type SchemaObjectNode,\n type SchemaStringNode,\n type SchemaType,\n type SchemaUnionNode,\n type SchemaUnionNodeOptions,\n type SchemaUnionOption,\n type SchemaUnknownNode,\n} from '@sanity/presentation-comlink'\nimport {\n type ArraySchemaType,\n type NumberSchemaType,\n type ObjectSchemaType,\n type ReferenceSchemaType,\n type SchemaType as SanitySchemaType,\n type StringSchemaType,\n} from '@sanity/types'\nimport {type ThemeContextValue} from '@sanity/ui'\nimport {renderToString} from 'react-dom/server'\nimport {type Workspace} from 'sanity'\n\nimport {\n gatherFields,\n isArrayType,\n isCrossDatasetReferenceType,\n isFieldRequired,\n isNumberType,\n isObjectType,\n isReferenceType,\n isStringType,\n lastType,\n sortByDependencies,\n} from './helpers'\nimport {SchemaIcon} from './SchemaIcon'\n\nconst documentDefaultFields = (typeName: string): Record<string, SchemaObjectField> => ({\n _id: {\n type: 'objectField',\n name: '_id',\n value: {\n type: 'string',\n },\n },\n _type: {\n type: 'objectField',\n name: '_type',\n value: {\n type: 'string',\n value: typeName,\n },\n },\n _createdAt: {\n type: 'objectField',\n name: '_createdAt',\n value: {\n type: 'string',\n },\n },\n _updatedAt: {\n type: 'objectField',\n name: '_updatedAt',\n value: {\n type: 'string',\n },\n },\n _rev: {\n type: 'objectField',\n name: '_rev',\n value: {\n type: 'string',\n },\n },\n})\n\nfunction createStringNodeDefintion(\n stringSchemaType: StringSchemaType,\n): SchemaStringNode | SchemaUnionNode<SchemaStringNode> {\n const listOptions = stringSchemaType.options?.list\n if (listOptions && Array.isArray(listOptions)) {\n return {\n type: 'union',\n of: listOptions.map((v) => ({\n type: 'string',\n value: typeof v === 'string' ? v : v.value,\n })),\n }\n }\n return {\n type: 'string',\n }\n}\n\nfunction createNumberNodeDefintion(\n numberSchemaType: NumberSchemaType,\n): SchemaNumberNode | SchemaUnionNode<SchemaNumberNode> {\n const listOptions = numberSchemaType.options?.list\n if (listOptions && Array.isArray(listOptions)) {\n return {\n type: 'union',\n of: listOptions.map((v) => ({\n type: 'number',\n value: typeof v === 'number' ? v : v.value,\n })),\n }\n }\n return {\n type: 'number',\n }\n}\n\nfunction createReferenceNode(name: string, inArray: boolean = false): SchemaObjectNode {\n const fields: Record<string, SchemaObjectField> = {\n _ref: {\n type: 'objectField',\n name: '_ref',\n value: {\n type: 'string',\n },\n },\n _type: {\n type: 'objectField',\n name: '_type',\n value: {\n type: 'string',\n value: 'reference',\n },\n },\n _weak: {\n type: 'objectField',\n name: '_weak',\n value: {\n type: 'boolean',\n },\n optional: true,\n },\n }\n\n if (inArray) {\n fields._key = {\n type: 'objectField',\n name: '_key',\n value: {\n type: 'string',\n },\n } satisfies SchemaObjectField\n }\n\n return {\n type: 'object',\n fields,\n dereferencesTo: name,\n } satisfies SchemaObjectNode\n}\n\nfunction createReferenceNodeDefintion(\n reference: ReferenceSchemaType,\n): SchemaObjectNode | SchemaUnionNode<SchemaObjectNode> {\n const references = gatherReferenceNames(reference)\n if (references.length === 1) {\n return createReferenceNode(references[0])\n }\n\n return {\n type: 'union',\n of: references.map((name) => ({\n type: 'unionOption',\n name,\n value: createReferenceNode(name),\n })),\n }\n}\n\n// Traverse the reference type tree and gather all the reference names\nfunction gatherReferenceNames(type: ReferenceSchemaType): string[] {\n const allReferences = gatherReferenceTypes(type)\n // Remove duplicates\n return [...new Set(allReferences.map((ref) => ref.name))]\n}\n\nfunction gatherReferenceTypes(type: ReferenceSchemaType): ObjectSchemaType[] {\n const refTo = 'to' in type ? type.to : []\n if ('type' in type && isReferenceType(type.type!)) {\n return [...gatherReferenceTypes(type.type), ...refTo]\n }\n\n return refTo\n}\n\nconst typesMap = new Map<string, Omit<SchemaStringNode, 'name'> | Omit<SchemaBooleanNode, 'name'>>([\n ['text', {type: 'string'}],\n ['url', {type: 'string'}],\n ['datetime', {type: 'string'}],\n ['date', {type: 'string'}],\n ['boolean', {type: 'boolean'}],\n ['email', {type: 'string'}],\n])\n\nexport function extractSchema(workspace: Workspace, theme: ThemeContextValue): SchemaType[] {\n const inlineFields = new Set<SanitySchemaType>()\n const {schema: schemaDef, basePath} = workspace\n\n const sortedSchemaTypeNames = sortByDependencies(schemaDef)\n return sortedSchemaTypeNames\n .map((typeName) => {\n const schemaType = schemaDef.get(typeName)\n if (schemaType === undefined) {\n return undefined\n }\n const base = convertBaseType(schemaType)\n\n if (base === null) {\n return undefined\n }\n\n if (base.type === 'type') {\n inlineFields.add(schemaType)\n }\n\n return base\n })\n .filter((type: SchemaType | undefined): type is SchemaType => type !== undefined)\n\n function extractIcon(schemaType: SanitySchemaType): string | undefined {\n if (!schemaType.icon) return undefined\n return renderToString(<SchemaIcon schemaType={schemaType} theme={theme} />)\n }\n\n function convertBaseType(schemaType: SanitySchemaType): SchemaType | null {\n let typeName: string | undefined\n if (schemaType.type) {\n typeName = schemaType.type.name\n } else if ('jsonType' in schemaType) {\n typeName = schemaType.jsonType\n }\n\n if (typeName === 'document') {\n const object = createObject(schemaType)\n if (object.type === 'unknown') {\n return null\n }\n\n return {\n type: 'document',\n name: schemaType.name,\n title: typeof schemaType.title === 'string' ? schemaType.title : undefined,\n icon: extractIcon(schemaType),\n fields: {\n ...documentDefaultFields(schemaType.name),\n ...object.fields,\n },\n }\n }\n\n const value = convertSchemaType(schemaType)\n if (value.type === 'unknown') {\n return null\n }\n\n if (value.type === 'object') {\n return {\n name: schemaType.name,\n type: 'type',\n value: {\n type: 'object',\n fields: {\n _type: {\n type: 'objectField',\n name: '_type',\n value: {\n type: 'string',\n value: schemaType.name,\n },\n },\n ...value.fields,\n },\n },\n }\n }\n\n return {\n name: schemaType.name,\n title: typeof schemaType.title === 'string' ? schemaType.title : undefined,\n type: 'type',\n value,\n }\n }\n\n function createObject(\n schemaType: ObjectSchemaType | SanitySchemaType,\n ): SchemaObjectNode | SchemaUnknownNode {\n const fields: Record<string, SchemaObjectField> = {}\n\n for (const field of gatherFields(schemaType)) {\n const value = convertSchemaType(field.type)\n if (value === null) {\n continue\n }\n\n fields[field.name] = {\n type: 'objectField',\n name: field.name,\n title: typeof field.type.title === 'string' ? field.type.title : undefined,\n value,\n optional: isFieldRequired(field) === false,\n }\n }\n\n return {\n type: 'object',\n fields,\n }\n }\n\n function convertSchemaType(schemaType: SanitySchemaType): SchemaNode {\n if (lastType(schemaType)?.name === 'document') {\n return createReferenceNode(schemaType.name)\n }\n\n if (inlineFields.has(schemaType.type!)) {\n return {type: 'inline', name: schemaType.type!.name} satisfies SchemaInlineNode\n }\n\n if (schemaType.type?.type?.name === 'object') {\n return {type: 'inline', name: schemaType.type.name} satisfies SchemaInlineNode\n }\n\n if (isStringType(schemaType)) {\n return createStringNodeDefintion(schemaType)\n }\n\n if (isNumberType(schemaType)) {\n return createNumberNodeDefintion(schemaType)\n }\n\n const mapped = typesMap.get(schemaType.type?.name || '')\n if (mapped) {\n return mapped\n }\n\n if (schemaType.type && typesMap.has(schemaType.type.name)) {\n return typesMap.get(schemaType.type.name)!\n }\n\n // Cross dataset references are not supported\n if (isCrossDatasetReferenceType(schemaType)) {\n return {type: 'unknown'} satisfies SchemaUnknownNode // we don't support cross-dataset references at the moment\n }\n\n if (isReferenceType(schemaType)) {\n return createReferenceNodeDefintion(schemaType)\n }\n\n if (isArrayType(schemaType)) {\n return createArray(schemaType)\n }\n\n if (isObjectType(schemaType)) {\n return createObject(schemaType)\n }\n\n throw new Error(`Type \"${schemaType.name}\" not found`)\n }\n\n function createUnionNodeOptions(\n schemaType: ArraySchemaType,\n of: SchemaUnionOption<SchemaNode>[],\n ): SchemaUnionNodeOptions | undefined {\n const {options} = schemaType\n if (!options) return undefined\n const opts = {\n ...options,\n }\n if (options.insertMenu) {\n opts.insertMenu = {\n ...options.insertMenu,\n views: (options.insertMenu as InsertMenuOptions).views?.map((view) =>\n view.name === 'grid'\n ? {\n name: 'grid',\n previewImageUrls: view.previewImageUrl\n ? of.reduce(\n (acc, {name}) => {\n const url = view.previewImageUrl?.(name)\n if (!url) return acc\n // If the URL is relative, make it absolute\n try {\n // eslint-disable-next-line no-new\n new URL(url)\n acc[name] = url\n } catch {\n acc[name] = new URL(\n url,\n `${window.location.origin}${basePath ? `${basePath}/` : ''}`,\n ).toString()\n }\n return acc\n },\n {} as Record<string, string | undefined>,\n )\n : undefined,\n }\n : view,\n ),\n }\n }\n return opts\n }\n\n function createArray(\n arraySchemaType: ArraySchemaType,\n ): SchemaArrayNode | SchemaUnionNode | SchemaNullNode {\n const of: SchemaUnionOption[] = []\n for (const item of arraySchemaType.of) {\n let field = convertSchemaType(item)\n const option = {\n type: 'unionOption',\n icon: extractIcon(item),\n name: item.name,\n title: typeof item.title === 'string' ? item.title : undefined,\n value: field,\n } satisfies SchemaUnionOption\n if (field.type === 'inline') {\n field = {\n type: 'object',\n fields: {\n _key: createKeyField(),\n },\n rest: field,\n } satisfies SchemaObjectNode\n } else if (field.type === 'object') {\n field.rest = {\n type: 'object',\n fields: {\n _key: createKeyField(),\n },\n }\n }\n option.value = field\n of.push(option)\n }\n\n if (of.length === 0) {\n return {type: 'null'}\n }\n\n if (of.length > 1) {\n return {\n type: 'union',\n of,\n options: createUnionNodeOptions(arraySchemaType, of),\n }\n }\n\n const {name, title, value} = of[0]\n return {\n type: 'array',\n of: {\n type: 'arrayItem',\n name,\n title: typeof title === 'string' ? title : undefined,\n value,\n },\n }\n }\n}\n\nfunction createKeyField(): SchemaObjectField<SchemaStringNode> {\n return {\n type: 'objectField',\n name: '_key',\n value: {\n type: 'string',\n },\n }\n}\n","/* eslint-disable max-nested-callbacks */\nimport {type ClientPerspective} from '@sanity/client'\nimport {type UnresolvedPath} from '@sanity/presentation-comlink'\nimport {useRootTheme} from '@sanity/ui'\nimport {memo, useEffect} from 'react'\nimport {\n getPublishedId,\n isReleasePerspective,\n RELEASES_STUDIO_CLIENT_OPTIONS,\n useClient,\n useWorkspace,\n} from 'sanity'\n\nimport {API_VERSION} from '../../constants'\nimport {type VisualEditingConnection} from '../../types'\nimport {extractSchema} from './extract'\n\nexport interface PostMessageSchemaProps {\n comlink: VisualEditingConnection\n perspective: ClientPerspective\n}\n\nfunction getDocumentPathArray(paths: UnresolvedPath[]) {\n const documentPathMap = paths.reduce(\n (acc, {id, path}) => {\n if (acc[id]) {\n acc[id].add(path)\n } else {\n acc[id] = new Set<string>([path])\n }\n return acc\n },\n {} as Record<string, Set<string>>,\n )\n\n return Object.entries(documentPathMap)\n}\n\n/**\n * Experimental approach for sending a representation of the workspace schema\n * over postMessage so it can be used to enrich the Visual Editing experience\n */\nfunction PostMessageSchema(props: PostMessageSchemaProps): React.JSX.Element | null {\n const {comlink, perspective} = props\n\n const workspace = useWorkspace()\n const theme = useRootTheme()\n\n // Send a representation of the schema to the visual editing context\n useEffect(() => {\n try {\n const schema = extractSchema(workspace, theme)\n /**\n * @deprecated switch to explict schema fetching (using\n * 'visual-editing/schema') at next major\n */\n comlink.post('presentation/schema', {schema})\n\n return comlink.on('visual-editing/schema', () => ({schema}))\n } catch {\n return undefined\n }\n }, [comlink, theme, workspace])\n\n const client = useClient(\n isReleasePerspective(perspective) ? RELEASES_STUDIO_CLIENT_OPTIONS : {apiVersion: API_VERSION},\n )\n\n // Resolve union types from an array of unresolved paths\n useEffect(() => {\n return comlink.on('visual-editing/schema-union-types', async (data) => {\n const documentPathArray = getDocumentPathArray(data.paths)\n const unionTypes = await Promise.all(\n documentPathArray.map(async ([id, paths]) => {\n const arr = Array.from(paths)\n const projection = arr.map((path, i) => `\"${i}\": ${path}[0]._type`).join(',')\n const query = `*[_id == $id][0]{${projection}}`\n // Should implement max 25 concurrent queries here\n const result = await client.fetch(\n query,\n {id: getPublishedId(id)},\n {\n tag: 'presentation-schema',\n perspective,\n },\n )\n const mapped = arr.map((path, i) => ({path: path, type: result[i]}))\n return {id, paths: mapped}\n }),\n )\n\n const newState = new Map()\n unionTypes.forEach((action) => {\n newState.set(action.id, new Map(action.paths.map(({path, type}) => [path, type])))\n })\n return {types: newState}\n })\n }, [comlink, client, perspective])\n\n return null\n}\n\nexport default memo(PostMessageSchema)\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{__toESM as e}from"./chunk-DSR6Ryem.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{useTelemetry as n}from"./react-CcFWW54u.mjs";import{memo as r,useEffect as i}from"react";var a=e(t());const o=e=>{let t=(0,a.c)(4),{comlink:r}=e,o=n(),s,c;return t[0]!==r||t[1]!==o?(s=()=>r.on(`visual-editing/telemetry-log`,e=>{let{event:t,data:n}=e;n?o.log(t,n):o.log(t)}),c=[r,o],t[0]=r,t[1]=o,t[2]=s,t[3]=c):(s=t[2],c=t[3]),i(s,c),null};var s=r(o);export{s as default};
2
- //# sourceMappingURL=PostMessageTelemetry-LUBYudOJ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostMessageTelemetry-LUBYudOJ.mjs","names":["useTelemetry","FC","memo","useEffect","VisualEditingConnection","PostMessageTelemetryProps","comlink","PostMessageTelemetry","props","$","_c","telemetry","t0","t1","on","message","event","data","log"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/presentation/PostMessageTelemetry.tsx"],"sourcesContent":["import {useTelemetry} from '@sanity/telemetry/react'\nimport {type FC, memo, useEffect} from 'react'\n\nimport {type VisualEditingConnection} from './types'\n\nexport interface PostMessageTelemetryProps {\n comlink: VisualEditingConnection\n}\n\nconst PostMessageTelemetry: FC<PostMessageTelemetryProps> = (props) => {\n const {comlink} = props\n\n const telemetry = useTelemetry()\n\n useEffect(() => {\n return comlink.on('visual-editing/telemetry-log', (message) => {\n const {event, data} = message\n\n // SANITY_STUDIO_DEBUG_TELEMETRY ensures noop/in-browser logging for telemetry events\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n data ? telemetry.log(event, data) : telemetry.log(event)\n })\n }, [comlink, telemetry])\n\n return null\n}\nexport default memo(PostMessageTelemetry)\n"],"mappings":"+MASA,MAAMO,EAAsDC,GAAA,CAAA,IAAAC,EAAAC,CAAAA,EAAAA,EAAAA,GAAA,EAAA,CAC1D,CAAAJ,UAAA,CAAkBE,EAElBG,EAAkBX,GAAc,CAAAY,EAAAC,EAUR,OAVQJ,EAAA,KAAAH,GAAAG,EAAA,KAAAE,GAEtBC,EAAAA,IACDN,EAAOQ,GAAI,+BAA8BC,GAAA,CAC9C,GAAA,CAAAC,QAAAC,OAAA,CAAsBF,EAItBE,EAAON,EAASO,IAAKF,EAAOC,EAAK,CAAGN,EAASO,IAAKF,EAAM,AACzD,EAAC,CACDH,EAAA,CAACP,EAASK,CAAS,EAACF,EAAA,GAAAH,EAAAG,EAAA,GAAAE,EAAAF,EAAA,GAAAG,EAAAH,EAAA,GAAAI,IAAAD,EAAAH,EAAA,GAAAI,EAAAJ,EAAA,IARvBN,EAAUS,EAQPC,EAAqB,CAAA,IAGzB,EACD,IAAA,EAAeX,EAAKK,EAAqB"}