sanity 3.93.1-next.23.7cabaeaf78 → 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.
- package/lib/_chunks-cjs/version.js +1 -1
- package/lib/_chunks-es/version.mjs +1 -1
- package/package.json +10 -10
- package/dist/1-yrhfgGSy.mjs +0 -5
- package/dist/1-yrhfgGSy.mjs.map +0 -1
- package/dist/BackLink-BjbAxrJO.mjs +0 -2
- package/dist/BackLink-BjbAxrJO.mjs.map +0 -1
- package/dist/BehaviorSubject-lT90ntN-.mjs +0 -2
- package/dist/BehaviorSubject-lT90ntN-.mjs.map +0 -1
- package/dist/BroadcastDisplayedDocument-NLP-sZ3E.mjs +0 -2
- package/dist/BroadcastDisplayedDocument-NLP-sZ3E.mjs.map +0 -1
- package/dist/Delay-BF0O9UCI.mjs +0 -2
- package/dist/Delay-BF0O9UCI.mjs.map +0 -1
- package/dist/DisplayedDocumentBroadcaster-bVq7qjFz.mjs +0 -2
- package/dist/DisplayedDocumentBroadcaster-bVq7qjFz.mjs.map +0 -1
- package/dist/DocumentPane-B9qqshkT.mjs +0 -263
- package/dist/DocumentPane-B9qqshkT.mjs.map +0 -1
- package/dist/EmptyError-BLRYgvfy.mjs +0 -2
- package/dist/EmptyError-BLRYgvfy.mjs.map +0 -1
- package/dist/LiveQueries-D9bwoNKb.mjs +0 -2
- package/dist/LiveQueries-D9bwoNKb.mjs.map +0 -1
- package/dist/LoadingPane-fVJxEQpb.mjs +0 -10
- package/dist/LoadingPane-fVJxEQpb.mjs.map +0 -1
- package/dist/MenuGroup-DZWX1dWR.mjs +0 -2
- package/dist/MenuGroup-DZWX1dWR.mjs.map +0 -1
- package/dist/MenuItem-nwzB8TNk.mjs +0 -8
- package/dist/MenuItem-nwzB8TNk.mjs.map +0 -1
- package/dist/Observable-B8U6mp9h.mjs +0 -4
- package/dist/Observable-B8U6mp9h.mjs.map +0 -1
- package/dist/PaneContainer-BqULSwD0.mjs +0 -109
- package/dist/PaneContainer-BqULSwD0.mjs.map +0 -1
- package/dist/PaneHeaderActions-BwRjxrbU.mjs +0 -2
- package/dist/PaneHeaderActions-BwRjxrbU.mjs.map +0 -1
- package/dist/PaneItem-CXeBMzOt.mjs +0 -2
- package/dist/PaneItem-CXeBMzOt.mjs.map +0 -1
- package/dist/PostMessageDocuments-BV62lQ7C.mjs +0 -2
- package/dist/PostMessageDocuments-BV62lQ7C.mjs.map +0 -1
- package/dist/PostMessagePerspective-CFiQ6IFc.mjs +0 -2
- package/dist/PostMessagePerspective-CFiQ6IFc.mjs.map +0 -1
- package/dist/PostMessagePreviewSnapshots-5oC2mIn1.mjs +0 -2
- package/dist/PostMessagePreviewSnapshots-5oC2mIn1.mjs.map +0 -1
- package/dist/PostMessageRefreshMutations-DdxC6YP_.mjs +0 -2
- package/dist/PostMessageRefreshMutations-DdxC6YP_.mjs.map +0 -1
- package/dist/PostMessageSchema-Bcs4xG5C.mjs +0 -2
- package/dist/PostMessageSchema-Bcs4xG5C.mjs.map +0 -1
- package/dist/PostMessageTelemetry-LUBYudOJ.mjs +0 -2
- package/dist/PostMessageTelemetry-LUBYudOJ.mjs.map +0 -1
- package/dist/PresentationToolGrantsCheck-CgJU8JlK.mjs +0 -100
- package/dist/PresentationToolGrantsCheck-CgJU8JlK.mjs.map +0 -1
- package/dist/QRCodeSVG-CxOJrjO_.mjs +0 -2
- package/dist/QRCodeSVG-CxOJrjO_.mjs.map +0 -1
- package/dist/Refractor-UCi38mb-.mjs +0 -5
- package/dist/Refractor-UCi38mb-.mjs.map +0 -1
- package/dist/ReplaySubject-CHMGH8uo.mjs +0 -2
- package/dist/ReplaySubject-CHMGH8uo.mjs.map +0 -1
- package/dist/SourceContext-D53WuQKs.mjs +0 -2
- package/dist/SourceContext-D53WuQKs.mjs.map +0 -1
- package/dist/StructureToolProvider-C8VLdhP8.mjs +0 -2
- package/dist/StructureToolProvider-C8VLdhP8.mjs.map +0 -1
- package/dist/Subject-BUseddH4.mjs +0 -2
- package/dist/Subject-BUseddH4.mjs.map +0 -1
- package/dist/Tooltip-JnkpPrKf.mjs +0 -4
- package/dist/Tooltip-JnkpPrKf.mjs.map +0 -1
- package/dist/TooltipDelayGroupProvider-DFmNEvMS.mjs +0 -2
- package/dist/TooltipDelayGroupProvider-DFmNEvMS.mjs.map +0 -1
- package/dist/ViteDevServerStopped-XKSHzTxM.mjs +0 -2
- package/dist/ViteDevServerStopped-XKSHzTxM.mjs.map +0 -1
- package/dist/_createContext.mjs +0 -2
- package/dist/_createContext.mjs.map +0 -1
- package/dist/_singletons.mjs +0 -2
- package/dist/_singletons.mjs.map +0 -1
- package/dist/asserters-C8hxedkt.mjs +0 -2
- package/dist/asserters-C8hxedkt.mjs.map +0 -1
- package/dist/async-HS7jgwe2.mjs +0 -2
- package/dist/async-HS7jgwe2.mjs.map +0 -1
- package/dist/browser-Ca2COO1i.mjs +0 -14
- package/dist/browser-Ca2COO1i.mjs.map +0 -1
- package/dist/browser-oKMlC993.mjs +0 -2
- package/dist/browser-oKMlC993.mjs.map +0 -1
- package/dist/chunk-DSR6Ryem.mjs +0 -1
- package/dist/combineLatest-CFPJgUfN.mjs +0 -2
- package/dist/combineLatest-CFPJgUfN.mjs.map +0 -1
- package/dist/concat-BWArfBxD.mjs +0 -2
- package/dist/concat-BWArfBxD.mjs.map +0 -1
- package/dist/concatMap-DZrL7ZKn.mjs +0 -2
- package/dist/concatMap-DZrL7ZKn.mjs.map +0 -1
- package/dist/constants-ChSQUPYh.mjs +0 -5
- package/dist/constants-ChSQUPYh.mjs.map +0 -1
- package/dist/constants-ClLucOHG.mjs +0 -10
- package/dist/constants-ClLucOHG.mjs.map +0 -1
- package/dist/csm-BGmdCiS5.mjs +0 -3
- package/dist/csm-BGmdCiS5.mjs.map +0 -1
- package/dist/dateTimestampProvider-Bu3RH21w.mjs +0 -2
- package/dist/dateTimestampProvider-Bu3RH21w.mjs.map +0 -1
- package/dist/debounceTime-ZjGvEiAc.mjs +0 -2
- package/dist/debounceTime-ZjGvEiAc.mjs.map +0 -1
- package/dist/desk.mjs +0 -2
- package/dist/desk.mjs.map +0 -1
- package/dist/dist-B6kS-Ue1.mjs +0 -2
- package/dist/dist-B6kS-Ue1.mjs.map +0 -1
- package/dist/dist-BBJTJw5c.mjs +0 -2
- package/dist/dist-BBJTJw5c.mjs.map +0 -1
- package/dist/dist-ByxNQHyT.mjs +0 -2
- package/dist/dist-ByxNQHyT.mjs.map +0 -1
- package/dist/dist-CbgPQx6C.mjs +0 -8
- package/dist/dist-CbgPQx6C.mjs.map +0 -1
- package/dist/dist-ClpwwQr8.mjs +0 -15
- package/dist/dist-ClpwwQr8.mjs.map +0 -1
- package/dist/dist-DPyoedQR.mjs +0 -2
- package/dist/dist-DPyoedQR.mjs.map +0 -1
- package/dist/dist-DTr4N9sP.mjs +0 -2
- package/dist/dist-DTr4N9sP.mjs.map +0 -1
- package/dist/dist-DhOlFDfY.mjs +0 -2
- package/dist/dist-DhOlFDfY.mjs.map +0 -1
- package/dist/dist-Du4lGEpF.mjs +0 -2
- package/dist/dist-Du4lGEpF.mjs.map +0 -1
- package/dist/dist-gdCAZyAZ.mjs +0 -1213
- package/dist/dist-gdCAZyAZ.mjs.map +0 -1
- package/dist/dist-p4qSKgLr.mjs +0 -2
- package/dist/dist-p4qSKgLr.mjs.map +0 -1
- package/dist/fast-deep-equal-D2buQJMm.mjs +0 -2
- package/dist/fast-deep-equal-D2buQJMm.mjs.map +0 -1
- package/dist/filter-Dzj28Ftl.mjs +0 -2
- package/dist/filter-Dzj28Ftl.mjs.map +0 -1
- package/dist/first-rmXQWXXU.mjs +0 -2
- package/dist/first-rmXQWXXU.mjs.map +0 -1
- package/dist/from-1e-Bj2Xm.mjs +0 -2
- package/dist/from-1e-Bj2Xm.mjs.map +0 -1
- package/dist/getExtendedProjection-ocJy6w-1.mjs +0 -2
- package/dist/getExtendedProjection-ocJy6w-1.mjs.map +0 -1
- package/dist/getIntentState-BzHK-R2v.mjs +0 -25
- package/dist/getIntentState-BzHK-R2v.mjs.map +0 -1
- package/dist/helpers-DmN6xVrH.mjs +0 -2
- package/dist/helpers-DmN6xVrH.mjs.map +0 -1
- package/dist/i18n-DSW5BxWp.mjs +0 -2
- package/dist/i18n-DSW5BxWp.mjs.map +0 -1
- package/dist/index.browser-CKm2u9SF.mjs +0 -14
- package/dist/index.browser-CKm2u9SF.mjs.map +0 -1
- package/dist/index.browser-m6o-65PH.mjs +0 -2
- package/dist/index.browser-m6o-65PH.mjs.map +0 -1
- package/dist/index.mjs +0 -4364
- package/dist/index.mjs.map +0 -1
- package/dist/inputWrappers-B2JwUo5Q.mjs +0 -6
- package/dist/inputWrappers-B2JwUo5Q.mjs.map +0 -1
- package/dist/isObservable-D3WTlre7.mjs +0 -2
- package/dist/isObservable-D3WTlre7.mjs.map +0 -1
- package/dist/lastValueFrom-DNJfBsuL.mjs +0 -2
- package/dist/lastValueFrom-DNJfBsuL.mjs.map +0 -1
- package/dist/list-CRYGwmUP.mjs +0 -17
- package/dist/list-CRYGwmUP.mjs.map +0 -1
- package/dist/lodash-Bv9uePfP.mjs +0 -21
- package/dist/lodash-Bv9uePfP.mjs.map +0 -1
- package/dist/map-DkDssZnl.mjs +0 -2
- package/dist/map-DkDssZnl.mjs.map +0 -1
- package/dist/mapOneOrManyArgs-nKglr-Z6.mjs +0 -2
- package/dist/mapOneOrManyArgs-nKglr-Z6.mjs.map +0 -1
- package/dist/menuNodes-DfRBkUna.mjs +0 -2
- package/dist/menuNodes-DfRBkUna.mjs.map +0 -1
- package/dist/merge-DLqD1gqk.mjs +0 -2
- package/dist/merge-DLqD1gqk.mjs.map +0 -1
- package/dist/mergeMap-BhPr1e5f.mjs +0 -2
- package/dist/mergeMap-BhPr1e5f.mjs.map +0 -1
- package/dist/never-DgTZVAtg.mjs +0 -2
- package/dist/never-DgTZVAtg.mjs.map +0 -1
- package/dist/of-DHUS5V5R.mjs +0 -2
- package/dist/of-DHUS5V5R.mjs.map +0 -1
- package/dist/pane-BMyHaSp6.mjs +0 -1
- package/dist/pane-CAXJwiOS.mjs +0 -1
- package/dist/paths-Uiaz64OV.mjs +0 -2
- package/dist/paths-Uiaz64OV.mjs.map +0 -1
- package/dist/presentation.mjs +0 -12
- package/dist/presentation.mjs.map +0 -1
- package/dist/proxy-Dqw503dV.mjs +0 -2
- package/dist/proxy-Dqw503dV.mjs.map +0 -1
- package/dist/publishReplay-w0VqSlUG.mjs +0 -2
- package/dist/publishReplay-w0VqSlUG.mjs.map +0 -1
- package/dist/react-CcFWW54u.mjs +0 -2
- package/dist/react-CcFWW54u.mjs.map +0 -1
- package/dist/refractor-BE6oAO2f.mjs +0 -2
- package/dist/refractor-BE6oAO2f.mjs.map +0 -1
- package/dist/resources-B-P7yY4i.mjs +0 -2
- package/dist/resources-B-P7yY4i.mjs.map +0 -1
- package/dist/resources-BMgz3UTF.mjs +0 -2
- package/dist/resources-BMgz3UTF.mjs.map +0 -1
- package/dist/resources-C10e-Tmd.mjs +0 -2
- package/dist/resources-C10e-Tmd.mjs.map +0 -1
- package/dist/resources-C63HMln_.mjs +0 -3
- package/dist/resources-C63HMln_.mjs.map +0 -1
- package/dist/resources-QIglKpCh.mjs +0 -2
- package/dist/resources-QIglKpCh.mjs.map +0 -1
- package/dist/resources-a_EhxFoi.mjs +0 -2
- package/dist/resources-a_EhxFoi.mjs.map +0 -1
- package/dist/resources-wUgycRup.mjs +0 -2
- package/dist/resources-wUgycRup.mjs.map +0 -1
- package/dist/router.mjs +0 -2
- package/dist/router.mjs.map +0 -1
- package/dist/scan-zuMwSL6_.mjs +0 -2
- package/dist/scan-zuMwSL6_.mjs.map +0 -1
- package/dist/share-DudygGnN.mjs +0 -2
- package/dist/share-DudygGnN.mjs.map +0 -1
- package/dist/shareReplay-DNp-xAdu.mjs +0 -2
- package/dist/shareReplay-DNp-xAdu.mjs.map +0 -1
- package/dist/speakingurl-D9zTR1xM.mjs +0 -2
- package/dist/speakingurl-D9zTR1xM.mjs.map +0 -1
- package/dist/stegaClean-CF_wp2AP.mjs +0 -2
- package/dist/stegaClean-CF_wp2AP.mjs.map +0 -1
- package/dist/stegaEncodeSourceMap-sinaqym6.mjs +0 -3
- package/dist/stegaEncodeSourceMap-sinaqym6.mjs.map +0 -1
- package/dist/structure-DeitBGwm.mjs +0 -122
- package/dist/structure-DeitBGwm.mjs.map +0 -1
- package/dist/structure.mjs +0 -1
- package/dist/structureTool-C7WqcvTM.mjs +0 -11
- package/dist/structureTool-C7WqcvTM.mjs.map +0 -1
- package/dist/switchMap-Dkb8wgZy.mjs +0 -2
- package/dist/switchMap-Dkb8wgZy.mjs.map +0 -1
- package/dist/take-CsBFzexj.mjs +0 -2
- package/dist/take-CsBFzexj.mjs.map +0 -1
- package/dist/takeUntil-CFb43n44.mjs +0 -2
- package/dist/takeUntil-CFb43n44.mjs.map +0 -1
- package/dist/throttle-84hk9ct5.mjs +0 -2
- package/dist/throttle-84hk9ct5.mjs.map +0 -1
- package/dist/timer-CudmXrHS.mjs +0 -2
- package/dist/timer-CudmXrHS.mjs.map +0 -1
- package/dist/urlpattern-polyfill-CTSIY__t.mjs +0 -2
- package/dist/urlpattern-polyfill-CTSIY__t.mjs.map +0 -1
- package/dist/usePaneRouter-BnyByWgR.mjs +0 -2
- package/dist/usePaneRouter-BnyByWgR.mjs.map +0 -1
- package/dist/usePresentationNavigate-CIMnjQ3N.mjs +0 -2
- package/dist/usePresentationNavigate-CIMnjQ3N.mjs.map +0 -1
- package/dist/usePresentationParams-CK4TAdiB.mjs +0 -2
- package/dist/usePresentationParams-CK4TAdiB.mjs.map +0 -1
- package/dist/useStructureTool-DJWYs4dK.mjs +0 -86
- package/dist/useStructureTool-DJWYs4dK.mjs.map +0 -1
- package/dist/useStructureToolSetting-BmMWFoFU.mjs +0 -2
- package/dist/useStructureToolSetting-BmMWFoFU.mjs.map +0 -1
- package/dist/userComponent-C7AeZ7LF.mjs +0 -4
- package/dist/userComponent-C7AeZ7LF.mjs.map +0 -1
- package/dist/v4-jDHpYEaJ.mjs +0 -2
- package/dist/v4-jDHpYEaJ.mjs.map +0 -1
- package/dist/version-BzHQOibY.mjs +0 -2
- package/dist/version-BzHQOibY.mjs.map +0 -1
@@ -1,6 +0,0 @@
|
|
1
|
-
var e=function(exports){function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}function n(e,n){if(t(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(t(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function r(e){var r=n(e,`string`);return t(r)==`symbol`?r:r+``}function i(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}return exports.defineProperty=i,exports}({});function t(e){return e.level===`error`}function n(e){return e.level===`warning`}function r(e){return e.level===`info`}function i(e){let[t,n]=e;return[t,n]}function a(e,t){let n=e,r=t,i=n.length,a=r.length;if(i===0||a===0)return 0;i>a?n=n.substring(i-a):i<a&&(r=r.substring(0,i));let o=Math.min(i,a);if(n===r)return o;let s=0,c=1;for(let e=0;e!==-1;){let t=n.substring(o-c);if(e=r.indexOf(t),e===-1)return s;c+=e,(e===0||n.substring(o-c)===r.substring(0,c))&&(s=c,c++)}return s}function o(e,t){if(!e||!t||e[0]!==t[0])return 0;let n=0,r=Math.min(e.length,t.length),i=r,a=0;for(;n<i;)e.substring(a,i)===t.substring(a,i)?(n=i,a=n):r=i,i=Math.floor((r-n)/2+n);return i}function s(e,t){if(!e||!t||e[e.length-1]!==t[t.length-1])return 0;let n=0,r=Math.min(e.length,t.length),i=r,a=0;for(;n<i;)e.substring(e.length-i,e.length-a)===t.substring(t.length-i,t.length-a)?(n=i,a=n):r=i,i=Math.floor((r-n)/2+n);return i}function c(e){let t=e.charCodeAt(0);return t>=55296&&t<=56319}function l(e){let t=e.charCodeAt(0);return t>=56320&&t<=57343}function u(e,t,n){let r=e.length,i=t.length,a=Math.ceil((r+i)/2),o=a,s=2*a,c=Array(s),l=Array(s);for(let e=0;e<s;e++)c[e]=-1,l[e]=-1;c[o+1]=0,l[o+1]=0;let u=r-i,f=u%2!=0,p=0,m=0,h=0,g=0;for(let _=0;_<a&&!(Date.now()>n);_++){for(let a=-_+p;a<=_-m;a+=2){let h=o+a,g;g=a===-_||a!==_&&c[h-1]<c[h+1]?c[h+1]:c[h-1]+1;let v=g-a;for(;g<r&&v<i&&e.charAt(g)===t.charAt(v);)g++,v++;if(c[h]=g,g>r)m+=2;else if(v>i)p+=2;else if(f){let i=o+u-a;if(i>=0&&i<s&&l[i]!==-1){let a=r-l[i];if(g>=a)return d(e,t,g,v,n)}}}for(let a=-_+h;a<=_-g;a+=2){let p=o+a,m;m=a===-_||a!==_&&l[p-1]<l[p+1]?l[p+1]:l[p-1]+1;let v=m-a;for(;m<r&&v<i&&e.charAt(r-m-1)===t.charAt(i-v-1);)m++,v++;if(l[p]=m,m>r)g+=2;else if(v>i)h+=2;else if(!f){let i=o+u-a;if(i>=0&&i<s&&c[i]!==-1){let a=c[i],s=o+a-i;if(m=r-m,a>=m)return d(e,t,a,s,n)}}}}return[[y,e],[b,t]]}function d(e,t,n,r,i){let a=e.substring(0,n),o=t.substring(0,r),s=e.substring(n),c=t.substring(r),l=C(a,o,{checkLines:!1,deadline:i}),u=C(s,c,{checkLines:!1,deadline:i});return l.concat(u)}function f(e,t,n=1){if(n<=0)return null;let r=e.length>t.length?e:t,i=e.length>t.length?t:e;if(r.length<4||i.length*2<r.length)return null;let a=p(r,i,Math.ceil(r.length/4)),o=p(r,i,Math.ceil(r.length/2)),s;if(a&&o)s=a[4].length>o[4].length?a:o;else{if(!a&&!o)return null;o?a||(s=o):s=a}if(!s)throw Error(`Unable to find a half match.`);let c,l,u,d;e.length>t.length?(c=s[0],l=s[1],u=s[2],d=s[3]):(u=s[0],d=s[1],c=s[2],l=s[3]);let f=s[4];return[c,l,u,d,f]}function p(e,t,n){let r=e.slice(n,n+Math.floor(e.length/4)),i=-1,a=``,c,l,u,d;for(;(i=t.indexOf(r,i+1))!==-1;){let r=o(e.slice(n),t.slice(i)),f=s(e.slice(0,n),t.slice(0,i));a.length<f+r&&(a=t.slice(i-f,i)+t.slice(i,i+r),c=e.slice(0,n-f),l=e.slice(n+r),u=t.slice(0,i-f),d=t.slice(i+r))}return a.length*2>=e.length?[c||``,l||``,u||``,d||``,a||``]:null}function m(e,t){for(let n=0;n<e.length;n++){let r=e[n][1],i=[];for(let e=0;e<r.length;e++)i[e]=t[r.charCodeAt(e)];e[n][1]=i.join(``)}}function h(e,t){let n=[],r={};n[0]=``;function i(e){let t=``,i=0,o=-1,s=n.length;for(;o<e.length-1;){o=e.indexOf(`
|
2
|
-
`,i),o===-1&&(o=e.length-1);let c=e.slice(i,o+1);(r.hasOwnProperty?r.hasOwnProperty(c):r[c]!==void 0)?t+=String.fromCharCode(r[c]):(s===a&&(c=e.slice(i),o=e.length),t+=String.fromCharCode(s),r[c]=s,n[s++]=c),i=o+1}return t}let a=4e4,o=i(e);a=65535;let s=i(t);return{chars1:o,chars2:s,lineArray:n}}function g(e,t,n){let r=e,i=t,a=h(r,i);r=a.chars1,i=a.chars2;let o=a.lineArray,s=C(r,i,{checkLines:!1,deadline:n.deadline});m(s,o),s=E(s),s.push([x,``]);let c=0,l=0,u=0,d=``,f=``;for(;c<s.length;){switch(s[c][0]){case b:u++,f+=s[c][1];break;case y:l++,d+=s[c][1];break;case x:if(l>=1&&u>=1){s.splice(c-l-u,l+u),c=c-l-u;let e=C(d,f,{checkLines:!1,deadline:n.deadline});for(let t=e.length-1;t>=0;t--)s.splice(c,0,e[t]);c+=e.length}u=0,l=0,d=``,f=``;break;default:throw Error(`Unknown diff operation.`)}c++}return s.pop(),s}function _(e,t,n){let r;if(!e)return[[b,t]];if(!t)return[[y,e]];let i=e.length>t.length?e:t,a=e.length>t.length?t:e,o=i.indexOf(a);if(o!==-1)return r=[[b,i.substring(0,o)],[x,a],[b,i.substring(o+a.length)]],e.length>t.length&&(r[0][0]=y,r[2][0]=y),r;if(a.length===1)return[[y,e],[b,t]];let s=f(e,t);if(s){let e=s[0],t=s[1],r=s[2],i=s[3],a=s[4],o=C(e,r,n),c=C(t,i,n);return o.concat([[x,a]],c)}return n.checkLines&&e.length>100&&t.length>100?g(e,t,n):u(e,t,n.deadline)}var v=Object.defineProperty,ee=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,re=(e,t,n)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ie=(e,t)=>{for(var n in t||={})te.call(t,n)&&re(e,n,t[n]);if(ee)for(var n of ee(t))ne.call(t,n)&&re(e,n,t[n]);return e};const y=-1,b=1,x=0;function S(e,t,n){if(e===null||t===null)throw Error(`Null input. (diff)`);let r=C(e,t,oe(n||{}));return le(r),r}function C(e,t,n){let r=e,i=t;if(r===i)return r?[[x,r]]:[];let a=o(r,i),c=r.substring(0,a);r=r.substring(a),i=i.substring(a),a=s(r,i);let l=r.substring(r.length-a);r=r.substring(0,r.length-a),i=i.substring(0,i.length-a);let u=_(r,i,n);return c&&u.unshift([x,c]),l&&u.push([x,l]),u=k(u),u}function ae(e){let t=1;return typeof e<`u`&&(t=e<=0?Number.MAX_VALUE:e),Date.now()+t*1e3}function oe(e){return ie({checkLines:!0,deadline:ae(e.timeout||1)},e)}function w(e,t,n){return n===1?e+t:t+e}function T(e,t){return t===1?[e.substring(0,e.length-1),e[e.length-1]]:[e.substring(1),e[0]]}function se(e,t,n,r){return r===1?e[t][1][e[t][1].length-1]===e[n][1][e[n][1].length-1]:e[t][1][0]===e[n][1][0]}function ce(e,t,n){let r=n===1?-1:1,i=null,a=null,o=t+n;for(;o>=0&&o<e.length&&(i===null||a===null);o+=n){let[s,c]=e[o];if(c.length!==0){if(s===b){i===null&&(i=o);continue}else if(s===y){a===null&&(a=o);continue}else if(s===x){if(i===null&&a===null){let[i,a]=T(e[t][1],n);e[t][1]=i,e[o][1]=w(e[o][1],a,r);return}break}}}if(i!==null&&a!==null&&se(e,i,a,n)){let[o,s]=T(e[i][1],r),[c]=T(e[a][1],r);e[i][1]=o,e[a][1]=c,e[t][1]=w(e[t][1],s,n);return}let[s,c]=T(e[t][1],n);e[t][1]=s,i===null?(e.splice(o,0,[b,c]),a!==null&&a>=o&&a++):e[i][1]=w(e[i][1],c,r),a===null?e.splice(o,0,[y,c]):e[a][1]=w(e[a][1],c,r)}function le(e){for(let t=0;t<e.length;t++){let[n,r]=e[t];if(r.length===0)continue;let i=r[0],a=r[r.length-1];c(a)&&n===x&&ce(e,t,1),l(i)&&n===x&&ce(e,t,-1)}for(let t=0;t<e.length;t++)e[t][1].length===0&&e.splice(t,1)}function E(e){let t=e.map(e=>i(e)),n=!1,r=[],o=0,s=null,c=0,l=0,u=0,d=0,f=0;for(;c<t.length;)t[c][0]===x?(r[o++]=c,l=d,u=f,d=0,f=0,s=t[c][1]):(t[c][0]===b?d+=t[c][1].length:f+=t[c][1].length,s&&s.length<=Math.max(l,u)&&s.length<=Math.max(d,f)&&(t.splice(r[o-1],0,[y,s]),t[r[o-1]+1][0]=b,o--,o--,c=o>0?r[o-1]:-1,l=0,u=0,d=0,f=0,s=null,n=!0)),c++;for(n&&(t=k(t)),t=O(t),c=1;c<t.length;){if(t[c-1][0]===y&&t[c][0]===b){let e=t[c-1][1],n=t[c][1],r=a(e,n),i=a(n,e);r>=i?(r>=e.length/2||r>=n.length/2)&&(t.splice(c,0,[x,n.substring(0,r)]),t[c-1][1]=e.substring(0,e.length-r),t[c+1][1]=n.substring(r),c++):(i>=e.length/2||i>=n.length/2)&&(t.splice(c,0,[x,e.substring(0,i)]),t[c-1][0]=b,t[c-1][1]=n.substring(0,n.length-i),t[c+1][0]=y,t[c+1][1]=e.substring(i),c++),c++}c++}return t}const ue=/[^a-zA-Z0-9]/,D=/\s/,de=/[\r\n]/,fe=/\n\r?\n$/,pe=/^\r?\n\r?\n/;function O(e){let t=e.map(e=>i(e));function n(e,t){if(!e||!t)return 6;let n=e.charAt(e.length-1),r=t.charAt(0),i=n.match(ue),a=r.match(ue),o=i&&n.match(D),s=a&&r.match(D),c=o&&n.match(de),l=s&&r.match(de),u=c&&e.match(fe),d=l&&t.match(pe);return u||d?5:c||l?4:i&&!o&&s?3:o||s?2:i||a?1:0}let r=1;for(;r<t.length-1;){if(t[r-1][0]===x&&t[r+1][0]===x){let e=t[r-1][1],i=t[r][1],a=t[r+1][1],o=s(e,i);if(o){let t=i.substring(i.length-o);e=e.substring(0,e.length-o),i=t+i.substring(0,i.length-o),a=t+a}let c=e,l=i,u=a,d=n(e,i)+n(i,a);for(;i.charAt(0)===a.charAt(0);){e+=i.charAt(0),i=i.substring(1)+a.charAt(0),a=a.substring(1);let t=n(e,i)+n(i,a);t>=d&&(d=t,c=e,l=i,u=a)}t[r-1][1]!==c&&(c?t[r-1][1]=c:(t.splice(r-1,1),r--),t[r][1]=l,u?t[r+1][1]=u:(t.splice(r+1,1),r--))}r++}return t}function k(e){let t=e.map(e=>i(e));t.push([x,``]);let n=0,r=0,a=0,c=``,l=``,u;for(;n<t.length;)switch(t[n][0]){case b:a++,l+=t[n][1],n++;break;case y:r++,c+=t[n][1],n++;break;case x:r+a>1?(r!==0&&a!==0&&(u=o(l,c),u!==0&&(n-r-a>0&&t[n-r-a-1][0]===x?t[n-r-a-1][1]+=l.substring(0,u):(t.splice(0,0,[x,l.substring(0,u)]),n++),l=l.substring(u),c=c.substring(u)),u=s(l,c),u!==0&&(t[n][1]=l.substring(l.length-u)+t[n][1],l=l.substring(0,l.length-u),c=c.substring(0,c.length-u))),n-=r+a,t.splice(n,r+a),c.length&&(t.splice(n,0,[y,c]),n++),l.length&&(t.splice(n,0,[b,l]),n++),n++):n!==0&&t[n-1][0]===x?(t[n-1][1]+=t[n][1],t.splice(n,1)):n++,a=0,r=0,c=``,l=``;break;default:throw Error(`Unknown diff operation`)}t[t.length-1][1]===``&&t.pop();let d=!1;for(n=1;n<t.length-1;)t[n-1][0]===x&&t[n+1][0]===x&&(t[n][1].substring(t[n][1].length-t[n-1][1].length)===t[n-1][1]?(t[n][1]=t[n-1][1]+t[n][1].substring(0,t[n][1].length-t[n-1][1].length),t[n+1][1]=t[n-1][1]+t[n+1][1],t.splice(n-1,1),d=!0):t[n][1].substring(0,t[n+1][1].length)===t[n+1][1]&&(t[n-1][1]+=t[n+1][1],t[n][1]=t[n][1].substring(t[n+1][1].length)+t[n+1][1],t.splice(n+1,1),d=!0)),n++;return d&&(t=k(t)),t}function me(...e){return e.reduce((e,t)=>e+(t?1:0),0)}function he(e,t=4){let n=e.map(e=>i(e)),r=!1,a=[],o=0,s=null,c=0,l=!1,u=!1,d=!1,f=!1;for(;c<n.length;)n[c][0]===x?(n[c][1].length<t&&(d||f)?(a[o++]=c,l=d,u=f,s=n[c][1]):(o=0,s=null),d=!1,f=!1):(n[c][0]===y?f=!0:d=!0,s&&(l&&u&&d&&f||s.length<t/2&&me(l,u,d,f)===3)&&(n.splice(a[o-1],0,[y,s]),n[a[o-1]+1][0]=b,o--,s=null,l&&u?(d=!0,f=!0,o=0):(o--,c=o>0?a[o-1]:-1,d=!1,f=!1),r=!0)),c++;return r&&(n=k(n)),n}var ge=Object.defineProperty,A=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,j=(e,t,n)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||={})_e.call(t,n)&&j(e,n,t[n]);if(A)for(var n of A(t))ve.call(t,n)&&j(e,n,t[n]);return e};const ye={threshold:.5,distance:1e3};function be(e){return M(M({},ye),e)}const xe=32;function Se(e,t,n,r={}){if(t.length>xe)throw Error(`Pattern too long for this browser.`);let i=be(r),a=Ce(t);function o(e,r){let a=e/t.length,o=Math.abs(n-r);return i.distance?a+o/i.distance:o?1:a}let s=i.threshold,c=e.indexOf(t,n);c!==-1&&(s=Math.min(o(0,c),s),c=e.lastIndexOf(t,n+t.length),c!==-1&&(s=Math.min(o(0,c),s)));let l=1<<t.length-1;c=-1;let u,d,f=t.length+e.length,p=[];for(let r=0;r<t.length;r++){for(u=0,d=f;u<d;)o(r,n+d)<=s?u=d:f=d,d=Math.floor((f-u)/2+u);f=d;let i=Math.max(1,n-d+1),m=Math.min(n+d,e.length)+t.length,h=Array(m+2);h[m+1]=(1<<r)-1;for(let t=m;t>=i;t--){let u=a[e.charAt(t-1)];if(r===0?h[t]=(h[t+1]<<1|1)&u:h[t]=(h[t+1]<<1|1)&u|((p[t+1]|p[t])<<1|1)|p[t+1],h[t]&l){let e=o(r,t-1);if(e<=s)if(s=e,c=t-1,c>n)i=Math.max(1,2*n-c);else break}}if(o(r+1,n)>s)break;p=h}return c}function Ce(e){let t={};for(let n=0;n<e.length;n++)t[e.charAt(n)]=0;for(let n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t}function N(e,t,n,r={}){if(e===null||t===null||n===null)throw Error(`Null input. (match())`);let i=Math.max(0,Math.min(n,e.length));if(e===t)return 0;if(e.length){if(e.substring(i,i+t.length)===t)return i}else return-1;return Se(e,t,i,r)}function P(e){let t=[];for(let n=0;n<e.length;n++)e[n][0]!==b&&(t[n]=e[n][1]);return t.join(``)}function we(e){let t=[];for(let n=0;n<e.length;n++)e[n][0]!==y&&(t[n]=e[n][1]);return t.join(``)}function Te(e){let t=0,n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i][0],o=e[i][1];switch(a){case b:n+=o.length;break;case y:r+=o.length;break;case x:t+=Math.max(n,r),n=0,r=0;break;default:throw Error(`Unknown diff operation.`)}}return t+=Math.max(n,r),t}function Ee(e,t){let n=0,r=0,i=0,a=0,o;for(o=0;o<e.length&&(e[o][0]!==b&&(n+=e[o][1].length),e[o][0]!==y&&(r+=e[o][1].length),!(n>t));o++)i=n,a=r;return e.length!==o&&e[o][0]===y?a:a+(t-i)}function F(e){let t=0;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(typeof r>`u`)throw Error(`Failed to get codepoint`);t+=Oe(r)}return t}function De(e,t,n={}){let r=0,a=0;function o(e){for(;r<e;){let e=t.codePointAt(a);if(typeof e>`u`)return a;r+=Oe(e),e>65535?a+=2:a+=1}if(!n.allowExceedingIndices&&r!==e)throw Error(`Failed to determine byte offset`);return a}let s=[];for(let t of e)s.push({diffs:t.diffs.map(e=>i(e)),start1:o(t.start1),start2:o(t.start2),utf8Start1:t.utf8Start1,utf8Start2:t.utf8Start2,length1:t.length1,length2:t.length2,utf8Length1:t.utf8Length1,utf8Length2:t.utf8Length2});return s}function Oe(e){return e<=127?1:e<=2047?2:e<=65535?3:4}const I=32,L=4;function ke(e,t=L){let n=t,r=``;for(let e=1;e<=n;e++)r+=String.fromCharCode(e);for(let t of e)t.start1+=n,t.start2+=n,t.utf8Start1+=n,t.utf8Start2+=n;let i=e[0],a=i.diffs;if(a.length===0||a[0][0]!==x)a.unshift([x,r]),i.start1-=n,i.start2-=n,i.utf8Start1-=n,i.utf8Start2-=n,i.length1+=n,i.length2+=n,i.utf8Length1+=n,i.utf8Length2+=n;else if(n>a[0][1].length){let e=a[0][1].length,t=n-e;a[0][1]=r.substring(e)+a[0][1],i.start1-=t,i.start2-=t,i.utf8Start1-=t,i.utf8Start2-=t,i.length1+=t,i.length2+=t,i.utf8Length1+=t,i.utf8Length2+=t}if(i=e[e.length-1],a=i.diffs,a.length===0||a[a.length-1][0]!==x)a.push([x,r]),i.length1+=n,i.length2+=n,i.utf8Length1+=n,i.utf8Length2+=n;else if(n>a[a.length-1][1].length){let e=n-a[a.length-1][1].length;a[a.length-1][1]+=r.substring(0,e),i.length1+=e,i.length2+=e,i.utf8Length1+=e,i.utf8Length2+=e}return r}function R(e,t){return{diffs:[],start1:e,start2:t,utf8Start1:e,utf8Start2:t,length1:0,length2:0,utf8Length1:0,utf8Length2:0}}function Ae(e,t=L){let n=I;for(let r=0;r<e.length;r++){if(e[r].length1<=n)continue;let i=e[r];e.splice(r--,1);let a=i.start1,o=i.start2,s=``;for(;i.diffs.length!==0;){let c=R(a-s.length,o-s.length),l=!0;if(s!==``){let e=F(s);c.length1=s.length,c.utf8Length1=e,c.length2=s.length,c.utf8Length2=e,c.diffs.push([x,s])}for(;i.diffs.length!==0&&c.length1<n-t;){let e=i.diffs[0][0],r=i.diffs[0][1],s=F(r);if(e===b){c.length2+=r.length,c.utf8Length2+=s,o+=r.length;let e=i.diffs.shift();e&&c.diffs.push(e),l=!1}else e===y&&c.diffs.length===1&&c.diffs[0][0]===x&&r.length>2*n?(c.length1+=r.length,c.utf8Length1+=s,a+=r.length,l=!1,c.diffs.push([e,r]),i.diffs.shift()):(r=r.substring(0,n-c.length1-t),s=F(r),c.length1+=r.length,c.utf8Length1+=s,a+=r.length,e===x?(c.length2+=r.length,c.utf8Length2+=s,o+=r.length):l=!1,c.diffs.push([e,r]),r===i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(r.length))}s=we(c.diffs),s=s.substring(s.length-t);let u=P(i.diffs).substring(0,t),d=F(u);u!==``&&(c.length1+=u.length,c.length2+=u.length,c.utf8Length1+=d,c.utf8Length2+=d,c.diffs.length!==0&&c.diffs[c.diffs.length-1][0]===x?c.diffs[c.diffs.length-1][1]+=u:c.diffs.push([x,u])),l||e.splice(++r,0,c)}}}function je(e,t,n={}){if(typeof e==`string`)throw Error("Patches must be an array - pass the patch to `parsePatch()` first");let r=t;if(e.length===0)return[r,[]];let i=De(e,r,{allowExceedingIndices:n.allowExceedingIndices}),a=n.margin||L,o=n.deleteThreshold||.4,s=ke(i,a);r=s+r+s,Ae(i,a);let c=0,l=[];for(let e=0;e<i.length;e++){let t=i[e].start2+c,n=P(i[e].diffs),a,s=-1;if(n.length>I?(a=N(r,n.substring(0,I),t),a!==-1&&(s=N(r,n.substring(n.length-I),t+n.length-I),(s===-1||a>=s)&&(a=-1))):a=N(r,n,t),a===-1)l[e]=!1,c-=i[e].length2-i[e].length1;else{l[e]=!0,c=a-t;let u;if(u=s===-1?r.substring(a,a+n.length):r.substring(a,s+I),n===u)r=r.substring(0,a)+we(i[e].diffs)+r.substring(a+n.length);else{let t=S(n,u,{checkLines:!1});if(n.length>I&&Te(t)/n.length>o)l[e]=!1;else{t=O(t);let n=0,o=0;for(let s=0;s<i[e].diffs.length;s++){let c=i[e].diffs[s];c[0]!==x&&(o=Ee(t,n)),c[0]===b?r=r.substring(0,a+o)+c[1]+r.substring(a+o):c[0]===y&&(r=r.substring(0,a+o)+r.substring(a+Ee(t,n+c[1].length))),c[0]!==y&&(n+=c[1].length)}}}}}return r=r.substring(s.length,r.length-s.length),[r,l]}var Me=Object.defineProperty,z=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,B=(e,t,n)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t)=>{for(var n in t||={})Ne.call(t,n)&&B(e,n,t[n]);if(z)for(var n of z(t))Pe.call(t,n)&&B(e,n,t[n]);return e};const Fe={margin:4};function H(e={}){return V(V({},Fe),e)}function Ie(e,t,n){if(typeof e==`string`&&typeof t==`string`){let r=S(e,t,{checkLines:!0});return r.length>2&&(r=E(r),r=he(r)),U(e,r,H(n))}if(e&&Array.isArray(e)&&typeof t>`u`)return U(P(e),e,H(n));if(typeof e==`string`&&t&&Array.isArray(t))return U(e,t,H(n));throw Error(`Unknown call format to make()`)}function U(e,t,n){if(t.length===0)return[];let r=[],i=R(0,0),a=0,o=0,s=0,c=0,l=0,u=e,d=e;for(let e=0;e<t.length;e++){let f=t[e],[p,m]=f,h=m.length,g=F(m);switch(!a&&p!==x&&(i.start1=o,i.start2=s,i.utf8Start1=c,i.utf8Start2=l),p){case b:i.diffs[a++]=f,i.length2+=h,i.utf8Length2+=g,d=d.substring(0,s)+m+d.substring(s);break;case y:i.length1+=h,i.utf8Length1+=g,i.diffs[a++]=f,d=d.substring(0,s)+d.substring(s+h);break;case x:h<=2*n.margin&&a&&t.length!==e+1?(i.diffs[a++]=f,i.length1+=h,i.length2+=h,i.utf8Length1+=g,i.utf8Length2+=g):h>=2*n.margin&&a&&(W(i,u,n),r.push(i),i=R(-1,-1),a=0,u=d,o=s,c=l);break;default:throw Error(`Unknown diff type`)}p!==b&&(o+=h,c+=g),p!==y&&(s+=h,l+=g)}return a&&(W(i,u,n),r.push(i)),r}function W(e,t,n){if(t.length===0)return;let r=t.substring(e.start2,e.start2+e.length1),i=0;for(;t.indexOf(r)!==t.lastIndexOf(r)&&r.length<I-n.margin-n.margin;)i+=n.margin,r=t.substring(e.start2-i,e.start2+e.length1+i);i+=n.margin;let a=e.start2-i;a>=1&&l(t[a])&&a--;let o=t.substring(a,e.start2);o&&e.diffs.unshift([x,o]);let s=o.length,c=F(o),u=e.start2+e.length1+i;u<t.length&&l(t[u])&&u++;let d=t.substring(e.start2+e.length1,u);d&&e.diffs.push([x,d]);let f=d.length,p=F(d);e.start1-=s,e.start2-=s,e.utf8Start1-=c,e.utf8Start2-=c,e.length1+=s+f,e.length2+=s+f,e.utf8Length1+=c+p,e.utf8Length2+=c+p}const Le=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;function Re(e){if(!e)return[];let t=[],n=e.split(`
|
3
|
-
`),r=0;for(;r<n.length;){let e=n[r].match(Le);if(!e)throw Error(`Invalid patch string: ${n[r]}`);let i=R(G(e[1]),G(e[3]));for(t.push(i),e[2]===``?(i.start1--,i.utf8Start1--,i.length1=1,i.utf8Length1=1):e[2]===`0`?(i.length1=0,i.utf8Length1=0):(i.start1--,i.utf8Start1--,i.utf8Length1=G(e[2]),i.length1=i.utf8Length1),e[4]===``?(i.start2--,i.utf8Start2--,i.length2=1,i.utf8Length2=1):e[4]===`0`?(i.length2=0,i.utf8Length2=0):(i.start2--,i.utf8Start2--,i.utf8Length2=G(e[4]),i.length2=i.utf8Length2),r++;r<n.length;){let e=n[r],t=e.charAt(0);if(t===`@`)break;if(t===``){r++;continue}let a;try{a=decodeURI(e.slice(1))}catch{throw Error(`Illegal escape in parse: ${e}`)}let o=F(a)-a.length;if(t===`-`)i.diffs.push([y,a]),i.length1-=o;else if(t===`+`)i.diffs.push([b,a]),i.length2-=o;else if(t===` `)i.diffs.push([x,a]),i.length1-=o,i.length2-=o;else throw Error(`Invalid patch mode "${t}" in: ${a}`);r++}}return t}function G(e){return parseInt(e,10)}function ze(e){return e.map(Be).join(``)}function Be(e){let{utf8Length1:t,utf8Length2:n,utf8Start1:r,utf8Start2:i,diffs:a}=e,o;o=t===0?`${r},0`:t===1?`${r+1}`:`${r+1},${t}`;let s;s=n===0?`${i},0`:n===1?`${i+1}`:`${i+1},${n}`;let c=[`@@ -${o} +${s} @@
|
4
|
-
`],l;for(let e=0;e<a.length;e++){switch(a[e][0]){case b:l=`+`;break;case y:l=`-`;break;case x:l=` `;break;default:throw Error(`Unknown patch operation.`)}c[e+1]=`${l+encodeURI(a[e][1])}
|
5
|
-
`}return c.join(``).replace(/%20/g,` `)}function K(e,t,n){return delete e[t],e[t]=n,n}function Ve(e,t){let n=He(e,t),r=Ue(n,e,t);return r}function He(e,t){let n=e.length,r=t.length,i=0,a=0,o=Array(n+1);for(i=0;i<n+1;i++)for(o[i]=[r+1],a=0;a<r+1;a++)o[i][a]=0;for(i=1;i<n+1;i++)for(a=1;a<r+1;a++)e[i-1]===t[a-1]?o[i][a]=o[i-1][a-1]+1:o[i][a]=Math.max(o[i-1][a],o[i][a-1]);return o}function Ue(e,t,n){let r=t.length,i=n.length,a={sequence:[],prevIndices:[],nextIndices:[]};for(;r!==0&&i!==0;){let o=t[r-1]===n[i-1];if(o)a.sequence.unshift(t[r-1]),a.prevIndices.unshift(r-1),a.nextIndices.unshift(i-1),--r,--i;else{let t=e[r][i-1],n=e[r-1][i];t>n?--i:--r}}return a}function We(e,t,n){if(e===t){let r=e.value,i=t.value;return{type:`array`,action:`unchanged`,isChanged:!1,fromValue:r,toValue:i,get items(){let r=Ge(e,t,n);if(!r)throw Error(`invariant broken: equivalent input, but diff detected`);return K(this,`items`,r)}}}let r=Xe(e),i=Xe(t);if(r&&i)return qe(e,r,t,i,n);let a=Ge(e,t,n);return a?q(e,t,a,!1):Ke(e,t,n)}function q(e,t,n,r){let i=e.value,a=t.value;return r?{type:`array`,action:`changed`,isChanged:!0,fromValue:i,toValue:a,items:n,annotation:t.annotation}:{type:`array`,action:`unchanged`,isChanged:!1,fromValue:i,toValue:a,items:n}}function Ge(e,t,n){if(e.length!==t.length)return;let r=[];for(let i=0;i<e.length;i++){let a=Y(e.at(i),t.at(i),n);if(a.isChanged)return;r.push({fromIndex:i,toIndex:i,hasMoved:!1,diff:a,annotation:t.annotationAt(i)})}return r}function Ke(e,t,n){let r=[];for(let e=0;e<t.length;e++){let i=t.at(e);r.push({fromIndex:void 0,toIndex:e,hasMoved:!1,diff:Z(i,void 0,n),annotation:i.annotation})}for(let t=0;t<e.length;t++){let i=e.at(t);r.push({fromIndex:t,toIndex:void 0,hasMoved:!1,diff:X(i,void 0,n),annotation:i.annotation})}return q(e,t,r,!0)}function qe(e,t,n,r,i){let a=[],o=!1;function s(i,s,c,l){J(t.index,i,s),J(r.index,i,c);let u=e.at(s),d=n.at(c),f=Y(u,d);a.push({fromIndex:s,toIndex:c,hasMoved:l,diff:f,annotation:n.annotationAt(c)}),(f.isChanged||s!==c)&&(o=!0)}let c=Ve(t.keys,r.keys);for(let n=0;n<t.keys.length;n++){let l=t.keys[n],u=c.prevIndices.indexOf(n);if(u!==-1){s(l,n,c.nextIndices[u],!1);continue}let d=r.index.get(l),f=d&&d.find(e=>!c.nextIndices.includes(e));if(f!==void 0){s(l,n,f,!0);continue}let p=e.at(n);a.push({fromIndex:n,toIndex:void 0,hasMoved:!1,diff:X(p,void 0,i),annotation:e.annotationAt(n)}),o=!0}for(let e of r.index.values()){for(let t of e){let e=n.at(t);a.push({fromIndex:void 0,toIndex:t,hasMoved:!1,diff:Z(e,void 0,i),annotation:n.annotationAt(t)})}o=!0}return a.sort(Je),q(e,n,a,o)}function Je(e,t){if(e.toIndex!==void 0&&t.toIndex!==void 0)return e.toIndex-t.toIndex;if(e.fromIndex!==void 0&&t.fromIndex!==void 0)return e.fromIndex-t.fromIndex;if(e.fromIndex!==void 0&&t.toIndex!==void 0)return-1;if(e.toIndex!==void 0&&t.fromIndex!==void 0)return 1;throw Error(`invalid item diff comparison`)}function J(e,t,n){let r=e.get(t);Ye(r,n),r.length===0&&e.delete(t)}function Ye(e,t){let n=e.indexOf(t);if(n===-1)throw Error(`value not found`);e.splice(n,1)}function Xe(e){let t=new Map,n=[],r=e.length;for(let i=0;i<r;i++){let r=e.at(i),a=null;switch(r.type){case`string`:a=`s${r.value}`;break;case`number`:a=r.value;break;case`boolean`:a=r.value;break;case`null`:a=`n`;break;case`object`:{let e=r.get(`_key`);if(e&&e.type===`string`&&(a=`k${e.value}`,t.has(a)))return}break;default:}if(a===null)return;n.push(a);let o=t.get(a);o||(o=[],t.set(a,o)),o.push(i)}return{keys:n,index:t}}function Ze(e,t,n){return{type:`array`,action:`removed`,isChanged:!0,fromValue:e.value,toValue:t,annotation:e.annotation,get items(){let t=[];for(let r=0;r<e.length;r++){let i=e.at(r);t.push({fromIndex:r,toIndex:void 0,hasMoved:!1,diff:X(i,void 0,n),annotation:e.annotationAt(r)})}return K(this,`items`,t)}}}function Qe(e,t,n){return{type:`array`,action:`added`,isChanged:!0,fromValue:t,toValue:e.value,annotation:e.annotation,get items(){let t=[];for(let r=0;r<e.length;r++){let i=e.at(r);t.push({fromIndex:void 0,toIndex:r,hasMoved:!1,diff:Z(i,void 0,n),annotation:e.annotationAt(r)})}return K(this,`items`,t)}}}const $e=new Set([`_id`,`_type`,`_createdAt`,`_updatedAt`,`_rev`,`_weak`]);function et(e,t,n){let r={},i=!1;for(let a of e.keys){if($e.has(a))continue;let o=e.get(a),s=t.get(a);if(s){let e=Y(o,s,n);r[a]=e,e.isChanged&&(i=!0)}else r[a]=X(o,void 0,n),i=!0}for(let a of t.keys){if($e.has(a)||e.get(a))continue;let o=t.get(a);r[a]=Z(o,void 0,n),i=!0}let a=e.value,o=t.value;return i?{type:`object`,action:`changed`,isChanged:!0,fromValue:a,toValue:o,fields:r,annotation:t.annotation}:{type:`object`,action:`unchanged`,isChanged:!1,fromValue:a,toValue:o,fields:r}}function tt(e,t,n){return{type:`object`,action:`removed`,isChanged:!0,fromValue:e.value,toValue:t,annotation:e.annotation,get fields(){let t={};for(let r of e.keys){let i=e.get(r);t[r]=X(i,void 0,n)}return K(this,`fields`,t)}}}function nt(e,t,n){return{type:`object`,action:`added`,isChanged:!0,fromValue:t,toValue:e.value,annotation:e.annotation,get fields(){let t={};for(let r of e.keys){let i=e.get(r);t[r]=Z(i,void 0,n)}return K(this,`fields`,t)}}}function rt(e,t,n){let r=e.value,i=t.value,a=e.type;return r===i?{type:a,action:`unchanged`,fromValue:r,toValue:i,isChanged:!1}:{type:e.type,action:`changed`,isChanged:!0,fromValue:r,toValue:i,annotation:t.annotation}}function it(e,t,n){let r=e.value,i=t.value,a=e.type;return r===i?{type:a,action:`unchanged`,fromValue:r,toValue:i,isChanged:!1}:{type:e.type,action:`changed`,isChanged:!0,fromValue:r,toValue:i,annotation:t.annotation}}function at(e,t,n){let r=e.value,i=t.value;return r===i?{type:`string`,action:`unchanged`,isChanged:!1,fromValue:r,toValue:i,segments:[{type:`stringSegment`,action:`unchanged`,text:r}]}:{type:`string`,action:`changed`,isChanged:!0,fromValue:r,toValue:i,annotation:t.annotation,get segments(){let n=ot(e,t);return K(this,`segments`,n)}}}function ot(e,t){let n=[],r=E(S(e.value,t.value)),i=0,a=0;for(let[o,s]of r)switch(o){case x:n.push({type:`stringSegment`,action:`unchanged`,text:s}),i+=s.length,a+=s.length;break;case y:for(let t of e.sliceAnnotation(i,i+s.length))n.push({type:`stringSegment`,action:`removed`,text:t.text,annotation:t.annotation});i+=s.length;break;case b:for(let e of t.sliceAnnotation(a,a+s.length))n.push({type:`stringSegment`,action:`added`,text:e.text,annotation:e.annotation});a+=s.length;break;default:throw Error(`Unhandled diff-match-patch operation "${o}"`)}return n}function st(e,t,n){return{type:`string`,action:`removed`,isChanged:!0,fromValue:e.value,toValue:t,annotation:e.annotation,get segments(){let t=e.sliceAnnotation(0,e.value.length).map(e=>({type:`stringSegment`,action:`removed`,...e}));return K(this,`segments`,t)}}}function ct(e,t,n){return{type:`string`,action:`added`,isChanged:!0,fromValue:t,toValue:e.value,annotation:e.annotation,get segments(){let t=e.sliceAnnotation(0,e.value.length).map(e=>({type:`stringSegment`,action:`added`,...e}));return K(this,`segments`,t)}}}function lt(e,t,n){return{type:`typeChange`,action:`changed`,isChanged:!0,fromType:e.type,fromValue:e.value,fromDiff:X(e,void 0,n),toType:t.type,toValue:t.value,toDiff:Z(t,void 0,n),annotation:t.annotation}}function Y(e,t,n={}){return e.type===t.type?ut(e.type,e,t,n):e.type===`null`?Z(t,null,n):t.type===`null`?X(e,null,n):lt(e,t,n)}function ut(e,t,n,r){switch(e){case`null`:return{type:`null`,action:`unchanged`,isChanged:!1,toValue:null,fromValue:null};case`boolean`:return it(t,n,r);case`number`:return rt(t,n,r);case`string`:return at(t,n,r);case`array`:return We(t,n,r);case`object`:return et(t,n,r);default:throw Error(`Unhandled diff type "${e}"`)}}function X(e,t,n){switch(e.type){case`null`:return{type:`null`,action:`removed`,isChanged:!0,fromValue:null,toValue:t,annotation:e.annotation};case`boolean`:return{type:`boolean`,action:`removed`,isChanged:!0,fromValue:e.value,toValue:t,annotation:e.annotation};case`number`:return{type:`number`,action:`removed`,isChanged:!0,fromValue:e.value,toValue:t,annotation:e.annotation};case`string`:return st(e,t,n);case`array`:return Ze(e,t,n);case`object`:return tt(e,t,n);default:throw Error(`Unhandled diff type`)}}function Z(e,t,n){switch(e.type){case`null`:return{type:`null`,action:`added`,isChanged:!0,fromValue:t,toValue:null,annotation:e.annotation};case`boolean`:return{type:`boolean`,action:`added`,isChanged:!0,fromValue:t,toValue:e.value,annotation:e.annotation};case`number`:return{type:`number`,action:`added`,isChanged:!0,fromValue:t,toValue:e.value,annotation:e.annotation};case`string`:return ct(e,t,n);case`array`:return Qe(e,t,n);case`object`:return nt(e,t,n);default:throw Error(`Unhandled diff type`)}}var dt=class{constructor(t,n){e.defineProperty(this,`type`,`array`),e.defineProperty(this,`length`,void 0),e.defineProperty(this,`value`,void 0),e.defineProperty(this,`annotation`,void 0),e.defineProperty(this,`elements`,[]),this.annotation=n,this.value=t,this.length=t.length}at(e){if(e>=this.length)throw Error(`out of bounds`);let t=this.elements[e];return t||(this.elements[e]=$(this.value[e],this.annotation))}annotationAt(){return this.annotation}},Q=class{constructor(t,n,r){e.defineProperty(this,`type`,void 0),e.defineProperty(this,`value`,void 0),e.defineProperty(this,`annotation`,void 0),this.type=t,this.value=n,this.annotation=r}},ft=class{constructor(t,n){e.defineProperty(this,`type`,`object`),e.defineProperty(this,`value`,void 0),e.defineProperty(this,`keys`,void 0),e.defineProperty(this,`annotation`,void 0),e.defineProperty(this,`fields`,{}),this.value=t,this.annotation=n,this.keys=Object.keys(t)}get(e){let t=this.fields[e];if(t)return t;if(!this.value.hasOwnProperty(e))return;let n=this.value[e];return this.fields[e]=$(n,this.annotation)}},pt=class{constructor(t,n){e.defineProperty(this,`type`,`string`),e.defineProperty(this,`value`,void 0),e.defineProperty(this,`annotation`,void 0),this.value=t,this.annotation=n}sliceAnnotation(e,t){return[{text:this.value.slice(e,t),annotation:this.annotation}]}};function $(e,t){if(Array.isArray(e))return new dt(e,t);if(e===null)return new Q(`null`,e,t);let n=typeof e;switch(n){case`number`:return new Q(n,e,t);case`boolean`:return new Q(n,e,t);case`object`:return new ft(e,t);case`string`:return new pt(e,t);default:throw Error(`cannot wrap value of type: ${n}`)}}export{y as DIFF_DELETE,x as DIFF_EQUAL,b as DIFF_INSERT,je as apply,he as cleanupEfficiency,S as diff,Y as diffInput,t as isValidationErrorMarker,r as isValidationInfoMarker,n as isValidationWarningMarker,Ie as make,Re as parse,ze as stringify,$ as wrap};
|
6
|
-
//# sourceMappingURL=inputWrappers-B2JwUo5Q.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"inputWrappers-B2JwUo5Q.mjs","names":["ValidationMarker","isValidationErrorMarker","marker","level","isValidationWarningMarker","isValidationInfoMarker","replaceProperty","P","K","parent","prop","value","V","NumberArray","LengthMatrix","Subsequence","sequence","E","prevIndices","nextIndices","getLongestCommonSubsequence","previous","next","matrix","getLengthMatrix","result","backtrack","len1","length","len2","x","y","Array","Math","max","prevIndex","nextIndex","subsequence","areEqual","unshift","valueAtMatrixAbove","valueAtMatrixLeft","replaceProperty","ArrayDiff","ArrayInput","DiffOptions","ItemDiff","addedInput","diffInput","removedInput","getLongestCommonSubsequence","diffArray","fromInput","A","toInput","options","fromValue","value","toValue","type","action","isChanged","items","diffExactByPosition","Error","keyedA","indexByKey","keyedB","diffArrayByKey","buildArrayDiff","diffArrayByReinsert","annotation","length","undefined","idx","diff","at","push","fromIndex","toIndex","hasMoved","annotationAt","input","Key","fromArray","fromKeyIndex","KeyIndex","toArray","toKeyIndex","diffCommon","key","deletePositionInIndex","index","lcs","keys","subsequenceIdx","prevIndices","indexOf","nextIndices","toIndexes","get","find","includes","positions","values","sort","compareItemDiff","a","b","Map","pos","deleteArrayValue","delete","arr","E","splice","i","item","keyField","has","set","removedArray","addedArray","replaceProperty","DiffOptions","ObjectDiff","ObjectInput","addedInput","diffInput","removedInput","ignoredFields","Set","diffObject","fromInput","A","toInput","options","fields","isChanged","key","keys","has","fromField","get","toField","fieldDiff","undefined","fromValue","value","toValue","type","action","annotation","removedObject","input","addedObject","BooleanDiff","BooleanInput","DiffOptions","NumberDiff","NumberInput","diffNumber","fromInput","A","toInput","options","fromValue","value","toValue","type","action","isChanged","annotation","diffBoolean","cleanupSemantic","DIFF_DELETE","DIFF_EQUAL","DIFF_INSERT","makeDiff","replaceProperty","DiffOptions","StringDiff","StringDiffSegment","StringInput","diffString","fromInput","A","toInput","options","fromValue","value","toValue","type","action","isChanged","segments","text","annotation","buildSegments","dmpDiffs","fromIdx","toIdx","op","push","length","segment","sliceAnnotation","Error","removedString","input","map","addedString","DiffOptions","Input","TypeChangeDiff","addedInput","removedInput","diffTypeChange","fromInput","A","toInput","options","type","action","isChanged","fromType","fromValue","value","fromDiff","undefined","toType","toValue","toDiff","annotation","ArrayInput","BooleanInput","Diff","DiffOptions","Input","NumberInput","ObjectInput","StringInput","addedArray","diffArray","removedArray","addedObject","diffObject","removedObject","diffBoolean","diffNumber","addedString","diffString","removedString","diffTypeChange","diffInput","fromInput","A","toInput","options","type","addedInput","removedInput","diffWithType","action","isChanged","toValue","fromValue","Error","input","annotation","value","ArrayInput","Input","wrap","ArrayWrapper","A","type","const","length","value","annotation","elements","constructor","at","idx","Error","input","annotationAt","SimpleType","BasicWrapper","type","K","value","V","annotation","A","constructor","Input","ObjectInput","wrap","ObjectWrapper","A","type","const","value","Record","keys","annotation","fields","constructor","Object","get","key","input","hasOwnProperty","undefined","raw","StringInput","StringWrapper","A","type","const","value","annotation","constructor","sliceAnnotation","start","end","text","slice","Input","ArrayWrapper","BasicWrapper","ObjectWrapper","StringWrapper","wrap","input","annotation","A","Array","isArray","type","Record","Error"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/types/src/markers/asserters.ts","https://cdn.jsdelivr.net/npm/@sanity/diff-match-patch@3.2.0/dist/index.js","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/helpers.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/lcs.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffArray.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffObject.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffSimple.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffString.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffTypeChange.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/calculate/diffInput.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/inputWrappers/array.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/inputWrappers/basic.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/inputWrappers/object.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/inputWrappers/string.ts","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/%40sanity/diff/src/inputWrappers/index.ts"],"sourcesContent":["import {type ValidationMarker} from './types'\n\n/** @internal */\nexport function isValidationErrorMarker(\n marker: ValidationMarker,\n): marker is ValidationMarker & {level: 'error'} {\n return marker.level === 'error'\n}\n\n/** @internal */\nexport function isValidationWarningMarker(\n marker: ValidationMarker,\n): marker is ValidationMarker & {level: 'warning'} {\n return marker.level === 'warning'\n}\n\n/** @internal */\nexport function isValidationInfoMarker(\n marker: ValidationMarker,\n): marker is ValidationMarker & {level: 'info'} {\n return marker.level === 'info'\n}\n","function cloneDiff(diff2) {\n const [type, patch] = diff2;\n return [type, patch];\n}\nfunction getCommonOverlap(textA, textB) {\n let text1 = textA, text2 = textB;\n const text1Length = text1.length, text2Length = text2.length;\n if (text1Length === 0 || text2Length === 0)\n return 0;\n text1Length > text2Length ? text1 = text1.substring(text1Length - text2Length) : text1Length < text2Length && (text2 = text2.substring(0, text1Length));\n const textLength = Math.min(text1Length, text2Length);\n if (text1 === text2)\n return textLength;\n let best = 0, length = 1;\n for (let found = 0; found !== -1; ) {\n const pattern = text1.substring(textLength - length);\n if (found = text2.indexOf(pattern), found === -1)\n return best;\n length += found, (found === 0 || text1.substring(textLength - length) === text2.substring(0, length)) && (best = length, length++);\n }\n return best;\n}\nfunction getCommonPrefix(text1, text2) {\n if (!text1 || !text2 || text1[0] !== text2[0])\n return 0;\n let pointerMin = 0, pointerMax = Math.min(text1.length, text2.length), pointerMid = pointerMax, pointerStart = 0;\n for (; pointerMin < pointerMid; )\n text1.substring(pointerStart, pointerMid) === text2.substring(pointerStart, pointerMid) ? (pointerMin = pointerMid, pointerStart = pointerMin) : pointerMax = pointerMid, pointerMid = Math.floor((pointerMax - pointerMin) / 2 + pointerMin);\n return pointerMid;\n}\nfunction getCommonSuffix(text1, text2) {\n if (!text1 || !text2 || text1[text1.length - 1] !== text2[text2.length - 1])\n return 0;\n let pointerMin = 0, pointerMax = Math.min(text1.length, text2.length), pointerMid = pointerMax, pointerEnd = 0;\n for (; pointerMin < pointerMid; )\n text1.substring(text1.length - pointerMid, text1.length - pointerEnd) === text2.substring(text2.length - pointerMid, text2.length - pointerEnd) ? (pointerMin = pointerMid, pointerEnd = pointerMin) : pointerMax = pointerMid, pointerMid = Math.floor((pointerMax - pointerMin) / 2 + pointerMin);\n return pointerMid;\n}\nfunction isHighSurrogate(char) {\n const charCode = char.charCodeAt(0);\n return charCode >= 55296 && charCode <= 56319;\n}\nfunction isLowSurrogate(char) {\n const charCode = char.charCodeAt(0);\n return charCode >= 56320 && charCode <= 57343;\n}\nfunction bisect(text1, text2, deadline) {\n const text1Length = text1.length, text2Length = text2.length, maxD = Math.ceil((text1Length + text2Length) / 2), vOffset = maxD, vLength = 2 * maxD, v1 = new Array(vLength), v2 = new Array(vLength);\n for (let x = 0; x < vLength; x++)\n v1[x] = -1, v2[x] = -1;\n v1[vOffset + 1] = 0, v2[vOffset + 1] = 0;\n const delta = text1Length - text2Length, front = delta % 2 !== 0;\n let k1start = 0, k1end = 0, k2start = 0, k2end = 0;\n for (let d = 0; d < maxD && !(Date.now() > deadline); d++) {\n for (let k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n const k1Offset = vOffset + k1;\n let x1;\n k1 === -d || k1 !== d && v1[k1Offset - 1] < v1[k1Offset + 1] ? x1 = v1[k1Offset + 1] : x1 = v1[k1Offset - 1] + 1;\n let y1 = x1 - k1;\n for (; x1 < text1Length && y1 < text2Length && text1.charAt(x1) === text2.charAt(y1); )\n x1++, y1++;\n if (v1[k1Offset] = x1, x1 > text1Length)\n k1end += 2;\n else if (y1 > text2Length)\n k1start += 2;\n else if (front) {\n const k2Offset = vOffset + delta - k1;\n if (k2Offset >= 0 && k2Offset < vLength && v2[k2Offset] !== -1) {\n const x2 = text1Length - v2[k2Offset];\n if (x1 >= x2)\n return bisectSplit(text1, text2, x1, y1, deadline);\n }\n }\n }\n for (let k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n const k2Offset = vOffset + k2;\n let x2;\n k2 === -d || k2 !== d && v2[k2Offset - 1] < v2[k2Offset + 1] ? x2 = v2[k2Offset + 1] : x2 = v2[k2Offset - 1] + 1;\n let y2 = x2 - k2;\n for (; x2 < text1Length && y2 < text2Length && text1.charAt(text1Length - x2 - 1) === text2.charAt(text2Length - y2 - 1); )\n x2++, y2++;\n if (v2[k2Offset] = x2, x2 > text1Length)\n k2end += 2;\n else if (y2 > text2Length)\n k2start += 2;\n else if (!front) {\n const k1Offset = vOffset + delta - k2;\n if (k1Offset >= 0 && k1Offset < vLength && v1[k1Offset] !== -1) {\n const x1 = v1[k1Offset], y1 = vOffset + x1 - k1Offset;\n if (x2 = text1Length - x2, x1 >= x2)\n return bisectSplit(text1, text2, x1, y1, deadline);\n }\n }\n }\n }\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2]\n ];\n}\nfunction bisectSplit(text1, text2, x, y, deadline) {\n const text1a = text1.substring(0, x), text2a = text2.substring(0, y), text1b = text1.substring(x), text2b = text2.substring(y), diffs = doDiff(text1a, text2a, { checkLines: !1, deadline }), diffsb = doDiff(text1b, text2b, { checkLines: !1, deadline });\n return diffs.concat(diffsb);\n}\nfunction findHalfMatch(text1, text2, timeout = 1) {\n if (timeout <= 0)\n return null;\n const longText = text1.length > text2.length ? text1 : text2, shortText = text1.length > text2.length ? text2 : text1;\n if (longText.length < 4 || shortText.length * 2 < longText.length)\n return null;\n const halfMatch1 = halfMatchI(longText, shortText, Math.ceil(longText.length / 4)), halfMatch2 = halfMatchI(longText, shortText, Math.ceil(longText.length / 2));\n let halfMatch;\n if (halfMatch1 && halfMatch2)\n halfMatch = halfMatch1[4].length > halfMatch2[4].length ? halfMatch1 : halfMatch2;\n else {\n if (!halfMatch1 && !halfMatch2)\n return null;\n halfMatch2 ? halfMatch1 || (halfMatch = halfMatch2) : halfMatch = halfMatch1;\n }\n if (!halfMatch)\n throw new Error(\"Unable to find a half match.\");\n let text1A, text1B, text2A, text2B;\n text1.length > text2.length ? (text1A = halfMatch[0], text1B = halfMatch[1], text2A = halfMatch[2], text2B = halfMatch[3]) : (text2A = halfMatch[0], text2B = halfMatch[1], text1A = halfMatch[2], text1B = halfMatch[3]);\n const midCommon = halfMatch[4];\n return [text1A, text1B, text2A, text2B, midCommon];\n}\nfunction halfMatchI(longText, shortText, i) {\n const seed = longText.slice(i, i + Math.floor(longText.length / 4));\n let j = -1, bestCommon = \"\", bestLongTextA, bestLongTextB, bestShortTextA, bestShortTextB;\n for (; (j = shortText.indexOf(seed, j + 1)) !== -1; ) {\n const prefixLength = getCommonPrefix(longText.slice(i), shortText.slice(j)), suffixLength = getCommonSuffix(longText.slice(0, i), shortText.slice(0, j));\n bestCommon.length < suffixLength + prefixLength && (bestCommon = shortText.slice(j - suffixLength, j) + shortText.slice(j, j + prefixLength), bestLongTextA = longText.slice(0, i - suffixLength), bestLongTextB = longText.slice(i + prefixLength), bestShortTextA = shortText.slice(0, j - suffixLength), bestShortTextB = shortText.slice(j + prefixLength));\n }\n return bestCommon.length * 2 >= longText.length ? [\n bestLongTextA || \"\",\n bestLongTextB || \"\",\n bestShortTextA || \"\",\n bestShortTextB || \"\",\n bestCommon || \"\"\n ] : null;\n}\nfunction charsToLines(diffs, lineArray) {\n for (let x = 0; x < diffs.length; x++) {\n const chars = diffs[x][1], text = [];\n for (let y = 0; y < chars.length; y++)\n text[y] = lineArray[chars.charCodeAt(y)];\n diffs[x][1] = text.join(\"\");\n }\n}\nfunction linesToChars(textA, textB) {\n const lineArray = [], lineHash = {};\n lineArray[0] = \"\";\n function diffLinesToMunge(text) {\n let chars = \"\", lineStart = 0, lineEnd = -1, lineArrayLength = lineArray.length;\n for (; lineEnd < text.length - 1; ) {\n lineEnd = text.indexOf(`\n`, lineStart), lineEnd === -1 && (lineEnd = text.length - 1);\n let line = text.slice(lineStart, lineEnd + 1);\n (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : lineHash[line] !== void 0) ? chars += String.fromCharCode(lineHash[line]) : (lineArrayLength === maxLines && (line = text.slice(lineStart), lineEnd = text.length), chars += String.fromCharCode(lineArrayLength), lineHash[line] = lineArrayLength, lineArray[lineArrayLength++] = line), lineStart = lineEnd + 1;\n }\n return chars;\n }\n let maxLines = 4e4;\n const chars1 = diffLinesToMunge(textA);\n maxLines = 65535;\n const chars2 = diffLinesToMunge(textB);\n return { chars1, chars2, lineArray };\n}\nfunction doLineModeDiff(textA, textB, opts) {\n let text1 = textA, text2 = textB;\n const a = linesToChars(text1, text2);\n text1 = a.chars1, text2 = a.chars2;\n const linearray = a.lineArray;\n let diffs = doDiff(text1, text2, {\n checkLines: !1,\n deadline: opts.deadline\n });\n charsToLines(diffs, linearray), diffs = cleanupSemantic(diffs), diffs.push([DIFF_EQUAL, \"\"]);\n let pointer = 0, countDelete = 0, countInsert = 0, textDelete = \"\", textInsert = \"\";\n for (; pointer < diffs.length; ) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n countInsert++, textInsert += diffs[pointer][1];\n break;\n case DIFF_DELETE:\n countDelete++, textDelete += diffs[pointer][1];\n break;\n case DIFF_EQUAL:\n if (countDelete >= 1 && countInsert >= 1) {\n diffs.splice(pointer - countDelete - countInsert, countDelete + countInsert), pointer = pointer - countDelete - countInsert;\n const aa = doDiff(textDelete, textInsert, {\n checkLines: !1,\n deadline: opts.deadline\n });\n for (let j = aa.length - 1; j >= 0; j--)\n diffs.splice(pointer, 0, aa[j]);\n pointer += aa.length;\n }\n countInsert = 0, countDelete = 0, textDelete = \"\", textInsert = \"\";\n break;\n default:\n throw new Error(\"Unknown diff operation.\");\n }\n pointer++;\n }\n return diffs.pop(), diffs;\n}\nfunction computeDiff(text1, text2, opts) {\n let diffs;\n if (!text1)\n return [[DIFF_INSERT, text2]];\n if (!text2)\n return [[DIFF_DELETE, text1]];\n const longtext = text1.length > text2.length ? text1 : text2, shorttext = text1.length > text2.length ? text2 : text1, i = longtext.indexOf(shorttext);\n if (i !== -1)\n return diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]\n ], text1.length > text2.length && (diffs[0][0] = DIFF_DELETE, diffs[2][0] = DIFF_DELETE), diffs;\n if (shorttext.length === 1)\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2]\n ];\n const halfMatch = findHalfMatch(text1, text2);\n if (halfMatch) {\n const text1A = halfMatch[0], text1B = halfMatch[1], text2A = halfMatch[2], text2B = halfMatch[3], midCommon = halfMatch[4], diffsA = doDiff(text1A, text2A, opts), diffsB = doDiff(text1B, text2B, opts);\n return diffsA.concat([[DIFF_EQUAL, midCommon]], diffsB);\n }\n return opts.checkLines && text1.length > 100 && text2.length > 100 ? doLineModeDiff(text1, text2, opts) : bisect(text1, text2, opts.deadline);\n}\nvar __defProp$2 = Object.defineProperty, __getOwnPropSymbols$2 = Object.getOwnPropertySymbols, __hasOwnProp$2 = Object.prototype.hasOwnProperty, __propIsEnum$2 = Object.prototype.propertyIsEnumerable, __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n __hasOwnProp$2.call(b, prop) && __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b))\n __propIsEnum$2.call(b, prop) && __defNormalProp$2(a, prop, b[prop]);\n return a;\n};\nconst DIFF_DELETE = -1, DIFF_INSERT = 1, DIFF_EQUAL = 0;\nfunction diff(textA, textB, opts) {\n if (textA === null || textB === null)\n throw new Error(\"Null input. (diff)\");\n const diffs = doDiff(textA, textB, createInternalOpts(opts || {}));\n return adjustDiffForSurrogatePairs(diffs), diffs;\n}\nfunction doDiff(textA, textB, options) {\n let text1 = textA, text2 = textB;\n if (text1 === text2)\n return text1 ? [[DIFF_EQUAL, text1]] : [];\n let commonlength = getCommonPrefix(text1, text2);\n const commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength), text2 = text2.substring(commonlength), commonlength = getCommonSuffix(text1, text2);\n const commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength), text2 = text2.substring(0, text2.length - commonlength);\n let diffs = computeDiff(text1, text2, options);\n return commonprefix && diffs.unshift([DIFF_EQUAL, commonprefix]), commonsuffix && diffs.push([DIFF_EQUAL, commonsuffix]), diffs = cleanupMerge(diffs), diffs;\n}\nfunction createDeadLine(timeout) {\n let t = 1;\n return typeof timeout < \"u\" && (t = timeout <= 0 ? Number.MAX_VALUE : timeout), Date.now() + t * 1e3;\n}\nfunction createInternalOpts(opts) {\n return __spreadValues$2({\n checkLines: !0,\n deadline: createDeadLine(opts.timeout || 1)\n }, opts);\n}\nfunction combineChar(data, char, dir) {\n return dir === 1 ? data + char : char + data;\n}\nfunction splitChar(data, dir) {\n return dir === 1 ? [data.substring(0, data.length - 1), data[data.length - 1]] : [data.substring(1), data[0]];\n}\nfunction hasSharedChar(diffs, i, j, dir) {\n return dir === 1 ? diffs[i][1][diffs[i][1].length - 1] === diffs[j][1][diffs[j][1].length - 1] : diffs[i][1][0] === diffs[j][1][0];\n}\nfunction deisolateChar(diffs, i, dir) {\n const inv = dir === 1 ? -1 : 1;\n let insertIdx = null, deleteIdx = null, j = i + dir;\n for (; j >= 0 && j < diffs.length && (insertIdx === null || deleteIdx === null); j += dir) {\n const [op, text2] = diffs[j];\n if (text2.length !== 0) {\n if (op === DIFF_INSERT) {\n insertIdx === null && (insertIdx = j);\n continue;\n } else if (op === DIFF_DELETE) {\n deleteIdx === null && (deleteIdx = j);\n continue;\n } else if (op === DIFF_EQUAL) {\n if (insertIdx === null && deleteIdx === null) {\n const [rest, char2] = splitChar(diffs[i][1], dir);\n diffs[i][1] = rest, diffs[j][1] = combineChar(diffs[j][1], char2, inv);\n return;\n }\n break;\n }\n }\n }\n if (insertIdx !== null && deleteIdx !== null && hasSharedChar(diffs, insertIdx, deleteIdx, dir)) {\n const [insertText, insertChar] = splitChar(diffs[insertIdx][1], inv), [deleteText] = splitChar(diffs[deleteIdx][1], inv);\n diffs[insertIdx][1] = insertText, diffs[deleteIdx][1] = deleteText, diffs[i][1] = combineChar(diffs[i][1], insertChar, dir);\n return;\n }\n const [text, char] = splitChar(diffs[i][1], dir);\n diffs[i][1] = text, insertIdx === null ? (diffs.splice(j, 0, [DIFF_INSERT, char]), deleteIdx !== null && deleteIdx >= j && deleteIdx++) : diffs[insertIdx][1] = combineChar(diffs[insertIdx][1], char, inv), deleteIdx === null ? diffs.splice(j, 0, [DIFF_DELETE, char]) : diffs[deleteIdx][1] = combineChar(diffs[deleteIdx][1], char, inv);\n}\nfunction adjustDiffForSurrogatePairs(diffs) {\n for (let i = 0; i < diffs.length; i++) {\n const [diffType, diffText] = diffs[i];\n if (diffText.length === 0) continue;\n const firstChar = diffText[0], lastChar = diffText[diffText.length - 1];\n isHighSurrogate(lastChar) && diffType === DIFF_EQUAL && deisolateChar(diffs, i, 1), isLowSurrogate(firstChar) && diffType === DIFF_EQUAL && deisolateChar(diffs, i, -1);\n }\n for (let i = 0; i < diffs.length; i++)\n diffs[i][1].length === 0 && diffs.splice(i, 1);\n}\nfunction cleanupSemantic(rawDiffs) {\n let diffs = rawDiffs.map((diff2) => cloneDiff(diff2)), hasChanges = !1;\n const equalities = [];\n let equalitiesLength = 0, lastEquality = null, pointer = 0, lengthInsertions1 = 0, lengthDeletions1 = 0, lengthInsertions2 = 0, lengthDeletions2 = 0;\n for (; pointer < diffs.length; )\n diffs[pointer][0] === DIFF_EQUAL ? (equalities[equalitiesLength++] = pointer, lengthInsertions1 = lengthInsertions2, lengthDeletions1 = lengthDeletions2, lengthInsertions2 = 0, lengthDeletions2 = 0, lastEquality = diffs[pointer][1]) : (diffs[pointer][0] === DIFF_INSERT ? lengthInsertions2 += diffs[pointer][1].length : lengthDeletions2 += diffs[pointer][1].length, lastEquality && lastEquality.length <= Math.max(lengthInsertions1, lengthDeletions1) && lastEquality.length <= Math.max(lengthInsertions2, lengthDeletions2) && (diffs.splice(equalities[equalitiesLength - 1], 0, [DIFF_DELETE, lastEquality]), diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT, equalitiesLength--, equalitiesLength--, pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1, lengthInsertions1 = 0, lengthDeletions1 = 0, lengthInsertions2 = 0, lengthDeletions2 = 0, lastEquality = null, hasChanges = !0)), pointer++;\n for (hasChanges && (diffs = cleanupMerge(diffs)), diffs = cleanupSemanticLossless(diffs), pointer = 1; pointer < diffs.length; ) {\n if (diffs[pointer - 1][0] === DIFF_DELETE && diffs[pointer][0] === DIFF_INSERT) {\n const deletion = diffs[pointer - 1][1], insertion = diffs[pointer][1], overlapLength1 = getCommonOverlap(deletion, insertion), overlapLength2 = getCommonOverlap(insertion, deletion);\n overlapLength1 >= overlapLength2 ? (overlapLength1 >= deletion.length / 2 || overlapLength1 >= insertion.length / 2) && (diffs.splice(pointer, 0, [DIFF_EQUAL, insertion.substring(0, overlapLength1)]), diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlapLength1), diffs[pointer + 1][1] = insertion.substring(overlapLength1), pointer++) : (overlapLength2 >= deletion.length / 2 || overlapLength2 >= insertion.length / 2) && (diffs.splice(pointer, 0, [DIFF_EQUAL, deletion.substring(0, overlapLength2)]), diffs[pointer - 1][0] = DIFF_INSERT, diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlapLength2), diffs[pointer + 1][0] = DIFF_DELETE, diffs[pointer + 1][1] = deletion.substring(overlapLength2), pointer++), pointer++;\n }\n pointer++;\n }\n return diffs;\n}\nconst nonAlphaNumericRegex = /[^a-zA-Z0-9]/, whitespaceRegex = /\\s/, linebreakRegex = /[\\r\\n]/, blanklineEndRegex = /\\n\\r?\\n$/, blanklineStartRegex = /^\\r?\\n\\r?\\n/;\nfunction cleanupSemanticLossless(rawDiffs) {\n const diffs = rawDiffs.map((diff2) => cloneDiff(diff2));\n function diffCleanupSemanticScore(one, two) {\n if (!one || !two)\n return 6;\n const char1 = one.charAt(one.length - 1), char2 = two.charAt(0), nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex), nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex), whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex), whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex), lineBreak1 = whitespace1 && char1.match(linebreakRegex), lineBreak2 = whitespace2 && char2.match(linebreakRegex), blankLine1 = lineBreak1 && one.match(blanklineEndRegex), blankLine2 = lineBreak2 && two.match(blanklineStartRegex);\n return blankLine1 || blankLine2 ? 5 : lineBreak1 || lineBreak2 ? 4 : nonAlphaNumeric1 && !whitespace1 && whitespace2 ? 3 : whitespace1 || whitespace2 ? 2 : nonAlphaNumeric1 || nonAlphaNumeric2 ? 1 : 0;\n }\n let pointer = 1;\n for (; pointer < diffs.length - 1; ) {\n if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) {\n let equality1 = diffs[pointer - 1][1], edit = diffs[pointer][1], equality2 = diffs[pointer + 1][1];\n const commonOffset = getCommonSuffix(equality1, edit);\n if (commonOffset) {\n const commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset), edit = commonString + edit.substring(0, edit.length - commonOffset), equality2 = commonString + equality2;\n }\n let bestEquality1 = equality1, bestEdit = edit, bestEquality2 = equality2, bestScore = diffCleanupSemanticScore(equality1, edit) + diffCleanupSemanticScore(edit, equality2);\n for (; edit.charAt(0) === equality2.charAt(0); ) {\n equality1 += edit.charAt(0), edit = edit.substring(1) + equality2.charAt(0), equality2 = equality2.substring(1);\n const score = diffCleanupSemanticScore(equality1, edit) + diffCleanupSemanticScore(edit, equality2);\n score >= bestScore && (bestScore = score, bestEquality1 = equality1, bestEdit = edit, bestEquality2 = equality2);\n }\n diffs[pointer - 1][1] !== bestEquality1 && (bestEquality1 ? diffs[pointer - 1][1] = bestEquality1 : (diffs.splice(pointer - 1, 1), pointer--), diffs[pointer][1] = bestEdit, bestEquality2 ? diffs[pointer + 1][1] = bestEquality2 : (diffs.splice(pointer + 1, 1), pointer--));\n }\n pointer++;\n }\n return diffs;\n}\nfunction cleanupMerge(rawDiffs) {\n let diffs = rawDiffs.map((diff2) => cloneDiff(diff2));\n diffs.push([DIFF_EQUAL, \"\"]);\n let pointer = 0, countDelete = 0, countInsert = 0, textDelete = \"\", textInsert = \"\", commonlength;\n for (; pointer < diffs.length; )\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n countInsert++, textInsert += diffs[pointer][1], pointer++;\n break;\n case DIFF_DELETE:\n countDelete++, textDelete += diffs[pointer][1], pointer++;\n break;\n case DIFF_EQUAL:\n countDelete + countInsert > 1 ? (countDelete !== 0 && countInsert !== 0 && (commonlength = getCommonPrefix(textInsert, textDelete), commonlength !== 0 && (pointer - countDelete - countInsert > 0 && diffs[pointer - countDelete - countInsert - 1][0] === DIFF_EQUAL ? diffs[pointer - countDelete - countInsert - 1][1] += textInsert.substring(\n 0,\n commonlength\n ) : (diffs.splice(0, 0, [DIFF_EQUAL, textInsert.substring(0, commonlength)]), pointer++), textInsert = textInsert.substring(commonlength), textDelete = textDelete.substring(commonlength)), commonlength = getCommonSuffix(textInsert, textDelete), commonlength !== 0 && (diffs[pointer][1] = textInsert.substring(textInsert.length - commonlength) + diffs[pointer][1], textInsert = textInsert.substring(0, textInsert.length - commonlength), textDelete = textDelete.substring(0, textDelete.length - commonlength))), pointer -= countDelete + countInsert, diffs.splice(pointer, countDelete + countInsert), textDelete.length && (diffs.splice(pointer, 0, [DIFF_DELETE, textDelete]), pointer++), textInsert.length && (diffs.splice(pointer, 0, [DIFF_INSERT, textInsert]), pointer++), pointer++) : pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL ? (diffs[pointer - 1][1] += diffs[pointer][1], diffs.splice(pointer, 1)) : pointer++, countInsert = 0, countDelete = 0, textDelete = \"\", textInsert = \"\";\n break;\n default:\n throw new Error(\"Unknown diff operation\");\n }\n diffs[diffs.length - 1][1] === \"\" && diffs.pop();\n let hasChanges = !1;\n for (pointer = 1; pointer < diffs.length - 1; )\n diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL && (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) === diffs[pointer - 1][1] ? (diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length), diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1], diffs.splice(pointer - 1, 1), hasChanges = !0) : diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) === diffs[pointer + 1][1] && (diffs[pointer - 1][1] += diffs[pointer + 1][1], diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1], diffs.splice(pointer + 1, 1), hasChanges = !0)), pointer++;\n return hasChanges && (diffs = cleanupMerge(diffs)), diffs;\n}\nfunction trueCount(...args) {\n return args.reduce((n, bool) => n + (bool ? 1 : 0), 0);\n}\nfunction cleanupEfficiency(rawDiffs, editCost = 4) {\n let diffs = rawDiffs.map((diff2) => cloneDiff(diff2)), hasChanges = !1;\n const equalities = [];\n let equalitiesLength = 0, lastEquality = null, pointer = 0, preIns = !1, preDel = !1, postIns = !1, postDel = !1;\n for (; pointer < diffs.length; )\n diffs[pointer][0] === DIFF_EQUAL ? (diffs[pointer][1].length < editCost && (postIns || postDel) ? (equalities[equalitiesLength++] = pointer, preIns = postIns, preDel = postDel, lastEquality = diffs[pointer][1]) : (equalitiesLength = 0, lastEquality = null), postIns = !1, postDel = !1) : (diffs[pointer][0] === DIFF_DELETE ? postDel = !0 : postIns = !0, lastEquality && (preIns && preDel && postIns && postDel || lastEquality.length < editCost / 2 && trueCount(preIns, preDel, postIns, postDel) === 3) && (diffs.splice(equalities[equalitiesLength - 1], 0, [DIFF_DELETE, lastEquality]), diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT, equalitiesLength--, lastEquality = null, preIns && preDel ? (postIns = !0, postDel = !0, equalitiesLength = 0) : (equalitiesLength--, pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1, postIns = !1, postDel = !1), hasChanges = !0)), pointer++;\n return hasChanges && (diffs = cleanupMerge(diffs)), diffs;\n}\nvar __defProp$1 = Object.defineProperty, __getOwnPropSymbols$1 = Object.getOwnPropertySymbols, __hasOwnProp$1 = Object.prototype.hasOwnProperty, __propIsEnum$1 = Object.prototype.propertyIsEnumerable, __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n __hasOwnProp$1.call(b, prop) && __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b))\n __propIsEnum$1.call(b, prop) && __defNormalProp$1(a, prop, b[prop]);\n return a;\n};\nconst DEFAULT_OPTIONS = {\n /**\n * At what point is no match declared (0.0 = perfection, 1.0 = very loose).\n */\n threshold: 0.5,\n /**\n * How far to search for a match (0 = exact location, 1000+ = broad match).\n * A match this many characters away from the expected location will add\n * 1.0 to the score (0.0 is a perfect match).\n */\n distance: 1e3\n};\nfunction applyDefaults(options) {\n return __spreadValues$1(__spreadValues$1({}, DEFAULT_OPTIONS), options);\n}\nconst MAX_BITS$1 = 32;\nfunction bitap(text, pattern, loc, opts = {}) {\n if (pattern.length > MAX_BITS$1)\n throw new Error(\"Pattern too long for this browser.\");\n const options = applyDefaults(opts), s = getAlphabetFromPattern(pattern);\n function getBitapScore(e, x) {\n const accuracy = e / pattern.length, proximity = Math.abs(loc - x);\n return options.distance ? accuracy + proximity / options.distance : proximity ? 1 : accuracy;\n }\n let scoreThreshold = options.threshold, bestLoc = text.indexOf(pattern, loc);\n bestLoc !== -1 && (scoreThreshold = Math.min(getBitapScore(0, bestLoc), scoreThreshold), bestLoc = text.lastIndexOf(pattern, loc + pattern.length), bestLoc !== -1 && (scoreThreshold = Math.min(getBitapScore(0, bestLoc), scoreThreshold)));\n const matchmask = 1 << pattern.length - 1;\n bestLoc = -1;\n let binMin, binMid, binMax = pattern.length + text.length, lastRd = [];\n for (let d = 0; d < pattern.length; d++) {\n for (binMin = 0, binMid = binMax; binMin < binMid; )\n getBitapScore(d, loc + binMid) <= scoreThreshold ? binMin = binMid : binMax = binMid, binMid = Math.floor((binMax - binMin) / 2 + binMin);\n binMax = binMid;\n let start = Math.max(1, loc - binMid + 1);\n const finish = Math.min(loc + binMid, text.length) + pattern.length, rd = new Array(finish + 2);\n rd[finish + 1] = (1 << d) - 1;\n for (let j = finish; j >= start; j--) {\n const charMatch = s[text.charAt(j - 1)];\n if (d === 0 ? rd[j] = (rd[j + 1] << 1 | 1) & charMatch : rd[j] = (rd[j + 1] << 1 | 1) & charMatch | ((lastRd[j + 1] | lastRd[j]) << 1 | 1) | lastRd[j + 1], rd[j] & matchmask) {\n const score = getBitapScore(d, j - 1);\n if (score <= scoreThreshold)\n if (scoreThreshold = score, bestLoc = j - 1, bestLoc > loc)\n start = Math.max(1, 2 * loc - bestLoc);\n else\n break;\n }\n }\n if (getBitapScore(d + 1, loc) > scoreThreshold)\n break;\n lastRd = rd;\n }\n return bestLoc;\n}\nfunction getAlphabetFromPattern(pattern) {\n const s = {};\n for (let i = 0; i < pattern.length; i++)\n s[pattern.charAt(i)] = 0;\n for (let i = 0; i < pattern.length; i++)\n s[pattern.charAt(i)] |= 1 << pattern.length - i - 1;\n return s;\n}\nfunction match(text, pattern, searchLocation, options = {}) {\n if (text === null || pattern === null || searchLocation === null)\n throw new Error(\"Null input. (match())\");\n const loc = Math.max(0, Math.min(searchLocation, text.length));\n if (text === pattern)\n return 0;\n if (text.length) {\n if (text.substring(loc, loc + pattern.length) === pattern)\n return loc;\n } else return -1;\n return bitap(text, pattern, loc, options);\n}\nfunction diffText1(diffs) {\n const text = [];\n for (let x = 0; x < diffs.length; x++)\n diffs[x][0] !== DIFF_INSERT && (text[x] = diffs[x][1]);\n return text.join(\"\");\n}\nfunction diffText2(diffs) {\n const text = [];\n for (let x = 0; x < diffs.length; x++)\n diffs[x][0] !== DIFF_DELETE && (text[x] = diffs[x][1]);\n return text.join(\"\");\n}\nfunction levenshtein(diffs) {\n let leven = 0, insertions = 0, deletions = 0;\n for (let x = 0; x < diffs.length; x++) {\n const op = diffs[x][0], data = diffs[x][1];\n switch (op) {\n case DIFF_INSERT:\n insertions += data.length;\n break;\n case DIFF_DELETE:\n deletions += data.length;\n break;\n case DIFF_EQUAL:\n leven += Math.max(insertions, deletions), insertions = 0, deletions = 0;\n break;\n default:\n throw new Error(\"Unknown diff operation.\");\n }\n }\n return leven += Math.max(insertions, deletions), leven;\n}\nfunction xIndex(diffs, location) {\n let chars1 = 0, chars2 = 0, lastChars1 = 0, lastChars2 = 0, x;\n for (x = 0; x < diffs.length && (diffs[x][0] !== DIFF_INSERT && (chars1 += diffs[x][1].length), diffs[x][0] !== DIFF_DELETE && (chars2 += diffs[x][1].length), !(chars1 > location)); x++)\n lastChars1 = chars1, lastChars2 = chars2;\n return diffs.length !== x && diffs[x][0] === DIFF_DELETE ? lastChars2 : lastChars2 + (location - lastChars1);\n}\nfunction countUtf8Bytes(str) {\n let bytes = 0;\n for (let i = 0; i < str.length; i++) {\n const codePoint = str.codePointAt(i);\n if (typeof codePoint > \"u\")\n throw new Error(\"Failed to get codepoint\");\n bytes += utf8len(codePoint);\n }\n return bytes;\n}\nfunction adjustIndiciesToUcs2(patches, base, options = {}) {\n let byteOffset = 0, idx = 0;\n function advanceTo(target) {\n for (; byteOffset < target; ) {\n const codePoint = base.codePointAt(idx);\n if (typeof codePoint > \"u\")\n return idx;\n byteOffset += utf8len(codePoint), codePoint > 65535 ? idx += 2 : idx += 1;\n }\n if (!options.allowExceedingIndices && byteOffset !== target)\n throw new Error(\"Failed to determine byte offset\");\n return idx;\n }\n const adjusted = [];\n for (const patch of patches)\n adjusted.push({\n diffs: patch.diffs.map((diff2) => cloneDiff(diff2)),\n start1: advanceTo(patch.start1),\n start2: advanceTo(patch.start2),\n utf8Start1: patch.utf8Start1,\n utf8Start2: patch.utf8Start2,\n length1: patch.length1,\n length2: patch.length2,\n utf8Length1: patch.utf8Length1,\n utf8Length2: patch.utf8Length2\n });\n return adjusted;\n}\nfunction utf8len(codePoint) {\n return codePoint <= 127 ? 1 : codePoint <= 2047 ? 2 : codePoint <= 65535 ? 3 : 4;\n}\nconst MAX_BITS = 32, DEFAULT_MARGIN = 4;\nfunction addPadding(patches, margin = DEFAULT_MARGIN) {\n const paddingLength = margin;\n let nullPadding = \"\";\n for (let x = 1; x <= paddingLength; x++)\n nullPadding += String.fromCharCode(x);\n for (const p of patches)\n p.start1 += paddingLength, p.start2 += paddingLength, p.utf8Start1 += paddingLength, p.utf8Start2 += paddingLength;\n let patch = patches[0], diffs = patch.diffs;\n if (diffs.length === 0 || diffs[0][0] !== DIFF_EQUAL)\n diffs.unshift([DIFF_EQUAL, nullPadding]), patch.start1 -= paddingLength, patch.start2 -= paddingLength, patch.utf8Start1 -= paddingLength, patch.utf8Start2 -= paddingLength, patch.length1 += paddingLength, patch.length2 += paddingLength, patch.utf8Length1 += paddingLength, patch.utf8Length2 += paddingLength;\n else if (paddingLength > diffs[0][1].length) {\n const firstDiffLength = diffs[0][1].length, extraLength = paddingLength - firstDiffLength;\n diffs[0][1] = nullPadding.substring(firstDiffLength) + diffs[0][1], patch.start1 -= extraLength, patch.start2 -= extraLength, patch.utf8Start1 -= extraLength, patch.utf8Start2 -= extraLength, patch.length1 += extraLength, patch.length2 += extraLength, patch.utf8Length1 += extraLength, patch.utf8Length2 += extraLength;\n }\n if (patch = patches[patches.length - 1], diffs = patch.diffs, diffs.length === 0 || diffs[diffs.length - 1][0] !== DIFF_EQUAL)\n diffs.push([DIFF_EQUAL, nullPadding]), patch.length1 += paddingLength, patch.length2 += paddingLength, patch.utf8Length1 += paddingLength, patch.utf8Length2 += paddingLength;\n else if (paddingLength > diffs[diffs.length - 1][1].length) {\n const extraLength = paddingLength - diffs[diffs.length - 1][1].length;\n diffs[diffs.length - 1][1] += nullPadding.substring(0, extraLength), patch.length1 += extraLength, patch.length2 += extraLength, patch.utf8Length1 += extraLength, patch.utf8Length2 += extraLength;\n }\n return nullPadding;\n}\nfunction createPatchObject(start1, start2) {\n return {\n diffs: [],\n start1,\n start2,\n utf8Start1: start1,\n utf8Start2: start2,\n length1: 0,\n length2: 0,\n utf8Length1: 0,\n utf8Length2: 0\n };\n}\nfunction splitMax(patches, margin = DEFAULT_MARGIN) {\n const patchSize = MAX_BITS;\n for (let x = 0; x < patches.length; x++) {\n if (patches[x].length1 <= patchSize)\n continue;\n const bigpatch = patches[x];\n patches.splice(x--, 1);\n let start1 = bigpatch.start1, start2 = bigpatch.start2, preContext = \"\";\n for (; bigpatch.diffs.length !== 0; ) {\n const patch = createPatchObject(start1 - preContext.length, start2 - preContext.length);\n let empty = !0;\n if (preContext !== \"\") {\n const precontextByteCount = countUtf8Bytes(preContext);\n patch.length1 = preContext.length, patch.utf8Length1 = precontextByteCount, patch.length2 = preContext.length, patch.utf8Length2 = precontextByteCount, patch.diffs.push([DIFF_EQUAL, preContext]);\n }\n for (; bigpatch.diffs.length !== 0 && patch.length1 < patchSize - margin; ) {\n const diffType = bigpatch.diffs[0][0];\n let diffText = bigpatch.diffs[0][1], diffTextByteCount = countUtf8Bytes(diffText);\n if (diffType === DIFF_INSERT) {\n patch.length2 += diffText.length, patch.utf8Length2 += diffTextByteCount, start2 += diffText.length;\n const diff2 = bigpatch.diffs.shift();\n diff2 && patch.diffs.push(diff2), empty = !1;\n } else diffType === DIFF_DELETE && patch.diffs.length === 1 && patch.diffs[0][0] === DIFF_EQUAL && diffText.length > 2 * patchSize ? (patch.length1 += diffText.length, patch.utf8Length1 += diffTextByteCount, start1 += diffText.length, empty = !1, patch.diffs.push([diffType, diffText]), bigpatch.diffs.shift()) : (diffText = diffText.substring(0, patchSize - patch.length1 - margin), diffTextByteCount = countUtf8Bytes(diffText), patch.length1 += diffText.length, patch.utf8Length1 += diffTextByteCount, start1 += diffText.length, diffType === DIFF_EQUAL ? (patch.length2 += diffText.length, patch.utf8Length2 += diffTextByteCount, start2 += diffText.length) : empty = !1, patch.diffs.push([diffType, diffText]), diffText === bigpatch.diffs[0][1] ? bigpatch.diffs.shift() : bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diffText.length));\n }\n preContext = diffText2(patch.diffs), preContext = preContext.substring(preContext.length - margin);\n const postContext = diffText1(bigpatch.diffs).substring(0, margin), postContextByteCount = countUtf8Bytes(postContext);\n postContext !== \"\" && (patch.length1 += postContext.length, patch.length2 += postContext.length, patch.utf8Length1 += postContextByteCount, patch.utf8Length2 += postContextByteCount, patch.diffs.length !== 0 && patch.diffs[patch.diffs.length - 1][0] === DIFF_EQUAL ? patch.diffs[patch.diffs.length - 1][1] += postContext : patch.diffs.push([DIFF_EQUAL, postContext])), empty || patches.splice(++x, 0, patch);\n }\n }\n}\nfunction apply(patches, originalText, opts = {}) {\n if (typeof patches == \"string\")\n throw new Error(\"Patches must be an array - pass the patch to `parsePatch()` first\");\n let text = originalText;\n if (patches.length === 0)\n return [text, []];\n const parsed = adjustIndiciesToUcs2(patches, text, {\n allowExceedingIndices: opts.allowExceedingIndices\n }), margin = opts.margin || DEFAULT_MARGIN, deleteThreshold = opts.deleteThreshold || 0.4, nullPadding = addPadding(parsed, margin);\n text = nullPadding + text + nullPadding, splitMax(parsed, margin);\n let delta = 0;\n const results = [];\n for (let x = 0; x < parsed.length; x++) {\n const expectedLoc = parsed[x].start2 + delta, text1 = diffText1(parsed[x].diffs);\n let startLoc, endLoc = -1;\n if (text1.length > MAX_BITS ? (startLoc = match(text, text1.substring(0, MAX_BITS), expectedLoc), startLoc !== -1 && (endLoc = match(\n text,\n text1.substring(text1.length - MAX_BITS),\n expectedLoc + text1.length - MAX_BITS\n ), (endLoc === -1 || startLoc >= endLoc) && (startLoc = -1))) : startLoc = match(text, text1, expectedLoc), startLoc === -1)\n results[x] = !1, delta -= parsed[x].length2 - parsed[x].length1;\n else {\n results[x] = !0, delta = startLoc - expectedLoc;\n let text2;\n if (endLoc === -1 ? text2 = text.substring(startLoc, startLoc + text1.length) : text2 = text.substring(startLoc, endLoc + MAX_BITS), text1 === text2)\n text = text.substring(0, startLoc) + diffText2(parsed[x].diffs) + text.substring(startLoc + text1.length);\n else {\n let diffs = diff(text1, text2, { checkLines: !1 });\n if (text1.length > MAX_BITS && levenshtein(diffs) / text1.length > deleteThreshold)\n results[x] = !1;\n else {\n diffs = cleanupSemanticLossless(diffs);\n let index1 = 0, index2 = 0;\n for (let y = 0; y < parsed[x].diffs.length; y++) {\n const mod = parsed[x].diffs[y];\n mod[0] !== DIFF_EQUAL && (index2 = xIndex(diffs, index1)), mod[0] === DIFF_INSERT ? text = text.substring(0, startLoc + index2) + mod[1] + text.substring(startLoc + index2) : mod[0] === DIFF_DELETE && (text = text.substring(0, startLoc + index2) + text.substring(startLoc + xIndex(diffs, index1 + mod[1].length))), mod[0] !== DIFF_DELETE && (index1 += mod[1].length);\n }\n }\n }\n }\n }\n return text = text.substring(nullPadding.length, text.length - nullPadding.length), [text, results];\n}\nvar __defProp = Object.defineProperty, __getOwnPropSymbols = Object.getOwnPropertySymbols, __hasOwnProp = Object.prototype.hasOwnProperty, __propIsEnum = Object.prototype.propertyIsEnumerable, __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n __hasOwnProp.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b))\n __propIsEnum.call(b, prop) && __defNormalProp(a, prop, b[prop]);\n return a;\n};\nconst DEFAULT_OPTS = {\n margin: 4\n};\nfunction getDefaultOpts(opts = {}) {\n return __spreadValues(__spreadValues({}, DEFAULT_OPTS), opts);\n}\nfunction make(a, b, options) {\n if (typeof a == \"string\" && typeof b == \"string\") {\n let diffs = diff(a, b, { checkLines: !0 });\n return diffs.length > 2 && (diffs = cleanupSemantic(diffs), diffs = cleanupEfficiency(diffs)), _make(a, diffs, getDefaultOpts(options));\n }\n if (a && Array.isArray(a) && typeof b > \"u\")\n return _make(diffText1(a), a, getDefaultOpts(options));\n if (typeof a == \"string\" && b && Array.isArray(b))\n return _make(a, b, getDefaultOpts(options));\n throw new Error(\"Unknown call format to make()\");\n}\nfunction _make(textA, diffs, options) {\n if (diffs.length === 0)\n return [];\n const patches = [];\n let patch = createPatchObject(0, 0), patchDiffLength = 0, charCount1 = 0, charCount2 = 0, utf8Count1 = 0, utf8Count2 = 0, prepatchText = textA, postpatchText = textA;\n for (let x = 0; x < diffs.length; x++) {\n const currentDiff = diffs[x], [diffType, diffText] = currentDiff, diffTextLength = diffText.length, diffByteLength = countUtf8Bytes(diffText);\n switch (!patchDiffLength && diffType !== DIFF_EQUAL && (patch.start1 = charCount1, patch.start2 = charCount2, patch.utf8Start1 = utf8Count1, patch.utf8Start2 = utf8Count2), diffType) {\n case DIFF_INSERT:\n patch.diffs[patchDiffLength++] = currentDiff, patch.length2 += diffTextLength, patch.utf8Length2 += diffByteLength, postpatchText = postpatchText.substring(0, charCount2) + diffText + postpatchText.substring(charCount2);\n break;\n case DIFF_DELETE:\n patch.length1 += diffTextLength, patch.utf8Length1 += diffByteLength, patch.diffs[patchDiffLength++] = currentDiff, postpatchText = postpatchText.substring(0, charCount2) + postpatchText.substring(charCount2 + diffTextLength);\n break;\n case DIFF_EQUAL:\n diffTextLength <= 2 * options.margin && patchDiffLength && diffs.length !== x + 1 ? (patch.diffs[patchDiffLength++] = currentDiff, patch.length1 += diffTextLength, patch.length2 += diffTextLength, patch.utf8Length1 += diffByteLength, patch.utf8Length2 += diffByteLength) : diffTextLength >= 2 * options.margin && patchDiffLength && (addContext(patch, prepatchText, options), patches.push(patch), patch = createPatchObject(-1, -1), patchDiffLength = 0, prepatchText = postpatchText, charCount1 = charCount2, utf8Count1 = utf8Count2);\n break;\n default:\n throw new Error(\"Unknown diff type\");\n }\n diffType !== DIFF_INSERT && (charCount1 += diffTextLength, utf8Count1 += diffByteLength), diffType !== DIFF_DELETE && (charCount2 += diffTextLength, utf8Count2 += diffByteLength);\n }\n return patchDiffLength && (addContext(patch, prepatchText, options), patches.push(patch)), patches;\n}\nfunction addContext(patch, text, opts) {\n if (text.length === 0)\n return;\n let pattern = text.substring(patch.start2, patch.start2 + patch.length1), padding = 0;\n for (; text.indexOf(pattern) !== text.lastIndexOf(pattern) && pattern.length < MAX_BITS - opts.margin - opts.margin; )\n padding += opts.margin, pattern = text.substring(patch.start2 - padding, patch.start2 + patch.length1 + padding);\n padding += opts.margin;\n let prefixStart = patch.start2 - padding;\n prefixStart >= 1 && isLowSurrogate(text[prefixStart]) && prefixStart--;\n const prefix = text.substring(prefixStart, patch.start2);\n prefix && patch.diffs.unshift([DIFF_EQUAL, prefix]);\n const prefixLength = prefix.length, prefixUtf8Length = countUtf8Bytes(prefix);\n let suffixEnd = patch.start2 + patch.length1 + padding;\n suffixEnd < text.length && isLowSurrogate(text[suffixEnd]) && suffixEnd++;\n const suffix = text.substring(patch.start2 + patch.length1, suffixEnd);\n suffix && patch.diffs.push([DIFF_EQUAL, suffix]);\n const suffixLength = suffix.length, suffixUtf8Length = countUtf8Bytes(suffix);\n patch.start1 -= prefixLength, patch.start2 -= prefixLength, patch.utf8Start1 -= prefixUtf8Length, patch.utf8Start2 -= prefixUtf8Length, patch.length1 += prefixLength + suffixLength, patch.length2 += prefixLength + suffixLength, patch.utf8Length1 += prefixUtf8Length + suffixUtf8Length, patch.utf8Length2 += prefixUtf8Length + suffixUtf8Length;\n}\nconst patchHeader = /^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;\nfunction parse(textline) {\n if (!textline)\n return [];\n const patches = [], lines = textline.split(`\n`);\n let textPointer = 0;\n for (; textPointer < lines.length; ) {\n const m = lines[textPointer].match(patchHeader);\n if (!m)\n throw new Error(`Invalid patch string: ${lines[textPointer]}`);\n const patch = createPatchObject(toInt(m[1]), toInt(m[3]));\n for (patches.push(patch), m[2] === \"\" ? (patch.start1--, patch.utf8Start1--, patch.length1 = 1, patch.utf8Length1 = 1) : m[2] === \"0\" ? (patch.length1 = 0, patch.utf8Length1 = 0) : (patch.start1--, patch.utf8Start1--, patch.utf8Length1 = toInt(m[2]), patch.length1 = patch.utf8Length1), m[4] === \"\" ? (patch.start2--, patch.utf8Start2--, patch.length2 = 1, patch.utf8Length2 = 1) : m[4] === \"0\" ? (patch.length2 = 0, patch.utf8Length2 = 0) : (patch.start2--, patch.utf8Start2--, patch.utf8Length2 = toInt(m[4]), patch.length2 = patch.utf8Length2), textPointer++; textPointer < lines.length; ) {\n const currentLine = lines[textPointer], sign = currentLine.charAt(0);\n if (sign === \"@\")\n break;\n if (sign === \"\") {\n textPointer++;\n continue;\n }\n let line;\n try {\n line = decodeURI(currentLine.slice(1));\n } catch (ex) {\n throw new Error(`Illegal escape in parse: ${currentLine}`);\n }\n const utf8Diff = countUtf8Bytes(line) - line.length;\n if (sign === \"-\")\n patch.diffs.push([DIFF_DELETE, line]), patch.length1 -= utf8Diff;\n else if (sign === \"+\")\n patch.diffs.push([DIFF_INSERT, line]), patch.length2 -= utf8Diff;\n else if (sign === \" \")\n patch.diffs.push([DIFF_EQUAL, line]), patch.length1 -= utf8Diff, patch.length2 -= utf8Diff;\n else\n throw new Error(`Invalid patch mode \"${sign}\" in: ${line}`);\n textPointer++;\n }\n }\n return patches;\n}\nfunction toInt(num) {\n return parseInt(num, 10);\n}\nfunction stringify(patches) {\n return patches.map(stringifyPatch).join(\"\");\n}\nfunction stringifyPatch(patch) {\n const { utf8Length1, utf8Length2, utf8Start1, utf8Start2, diffs } = patch;\n let coords1;\n utf8Length1 === 0 ? coords1 = `${utf8Start1},0` : utf8Length1 === 1 ? coords1 = `${utf8Start1 + 1}` : coords1 = `${utf8Start1 + 1},${utf8Length1}`;\n let coords2;\n utf8Length2 === 0 ? coords2 = `${utf8Start2},0` : utf8Length2 === 1 ? coords2 = `${utf8Start2 + 1}` : coords2 = `${utf8Start2 + 1},${utf8Length2}`;\n const text = [`@@ -${coords1} +${coords2} @@\n`];\n let op;\n for (let x = 0; x < diffs.length; x++) {\n switch (diffs[x][0]) {\n case DIFF_INSERT:\n op = \"+\";\n break;\n case DIFF_DELETE:\n op = \"-\";\n break;\n case DIFF_EQUAL:\n op = \" \";\n break;\n default:\n throw new Error(\"Unknown patch operation.\");\n }\n text[x + 1] = `${op + encodeURI(diffs[x][1])}\n`;\n }\n return text.join(\"\").replace(/%20/g, \" \");\n}\nexport {\n DIFF_DELETE,\n DIFF_EQUAL,\n DIFF_INSERT,\n adjustIndiciesToUcs2,\n apply as applyPatches,\n cleanupEfficiency,\n cleanupSemantic,\n diff as makeDiff,\n make as makePatches,\n match,\n parse as parsePatch,\n stringifyPatch,\n stringify as stringifyPatches,\n xIndex\n};\n//# sourceMappingURL=index.js.map\n","export function replaceProperty<P, V extends P[K], K extends keyof P>(\n parent: P,\n prop: K,\n value: V,\n): V {\n delete parent[prop]\n parent[prop] = value\n return value\n}\n","/*\n * Longest common subsequence implementation, for diffing arrays\n * Reference: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem\n */\n\ntype NumberArray = number[]\ntype LengthMatrix = NumberArray[]\ntype Subsequence<E> = {\n sequence: E[]\n prevIndices: number[]\n nextIndices: number[]\n}\n\nexport function getLongestCommonSubsequence<E>(previous: E[], next: E[]): Subsequence<E> {\n const matrix = getLengthMatrix(previous, next)\n const result = backtrack(matrix, previous, next)\n return result\n}\n\nfunction getLengthMatrix<E>(previous: E[], next: E[]): LengthMatrix {\n const len1 = previous.length\n const len2 = next.length\n let x = 0\n let y = 0\n\n // initialize empty matrix of len1+1 x len2+1\n const matrix: LengthMatrix = new Array(len1 + 1)\n for (x = 0; x < len1 + 1; x++) {\n matrix[x] = [len2 + 1]\n for (y = 0; y < len2 + 1; y++) {\n matrix[x][y] = 0\n }\n }\n\n // save sequence lengths for each coordinate\n for (x = 1; x < len1 + 1; x++) {\n for (y = 1; y < len2 + 1; y++) {\n if (previous[x - 1] === next[y - 1]) {\n matrix[x][y] = matrix[x - 1][y - 1] + 1\n } else {\n matrix[x][y] = Math.max(matrix[x - 1][y], matrix[x][y - 1])\n }\n }\n }\n\n return matrix\n}\n\nfunction backtrack<E>(matrix: LengthMatrix, previous: E[], next: E[]): Subsequence<E> {\n let prevIndex = previous.length\n let nextIndex = next.length\n const subsequence: Subsequence<E> = {\n sequence: [],\n prevIndices: [],\n nextIndices: [],\n }\n\n while (prevIndex !== 0 && nextIndex !== 0) {\n const areEqual = previous[prevIndex - 1] === next[nextIndex - 1]\n if (areEqual) {\n subsequence.sequence.unshift(previous[prevIndex - 1])\n subsequence.prevIndices.unshift(prevIndex - 1)\n subsequence.nextIndices.unshift(nextIndex - 1)\n --prevIndex\n --nextIndex\n } else {\n const valueAtMatrixAbove = matrix[prevIndex][nextIndex - 1]\n const valueAtMatrixLeft = matrix[prevIndex - 1][nextIndex]\n if (valueAtMatrixAbove > valueAtMatrixLeft) {\n --nextIndex\n } else {\n --prevIndex\n }\n }\n }\n return subsequence\n}\n","import {replaceProperty} from '../helpers'\nimport {type ArrayDiff, type ArrayInput, type DiffOptions, type ItemDiff} from '../types'\nimport {addedInput, diffInput, removedInput} from './diffInput'\nimport {getLongestCommonSubsequence} from './lcs'\n\nexport function diffArray<A>(\n fromInput: ArrayInput<A>,\n toInput: ArrayInput<A>,\n options: DiffOptions,\n): ArrayDiff<A> {\n if (fromInput === toInput) {\n const fromValue = fromInput.value\n const toValue = toInput.value\n\n return {\n type: 'array',\n action: 'unchanged',\n isChanged: false,\n fromValue,\n toValue,\n get items(): ItemDiff<A>[] {\n const items = diffExactByPosition(fromInput, toInput, options)\n if (!items) throw new Error('invariant broken: equivalent input, but diff detected')\n return replaceProperty(this, 'items', items)\n },\n }\n }\n\n // The key-ed approach should handle most cases (_key'ed objects, primitives):\n const keyedA = indexByKey(fromInput)\n const keyedB = indexByKey(toInput)\n\n if (keyedA && keyedB) {\n return diffArrayByKey(fromInput, keyedA, toInput, keyedB, options)\n }\n\n // Check if they are 100% equivalent:\n const items = diffExactByPosition(fromInput, toInput, options)\n if (items) return buildArrayDiff(fromInput, toInput, items, false)\n\n // Otherwise we create a diff where we model it as removing the from-items and adding the to-items.\n return diffArrayByReinsert(fromInput, toInput, options)\n}\n\nfunction buildArrayDiff<A>(\n fromInput: ArrayInput<A>,\n toInput: ArrayInput<A>,\n items: ItemDiff<A>[],\n isChanged: boolean,\n): ArrayDiff<A> {\n const fromValue = fromInput.value\n const toValue = toInput.value\n\n return isChanged\n ? {\n type: 'array',\n action: 'changed',\n isChanged: true,\n fromValue,\n toValue,\n items,\n annotation: toInput.annotation,\n }\n : {\n type: 'array',\n action: 'unchanged',\n isChanged: false,\n fromValue,\n toValue,\n items,\n }\n}\n\n/**\n * Diffes the two arrays by position. Returns an `items` array if they are unchanged, or undefined\n * if there are any changes anywhere.\n */\nfunction diffExactByPosition<A>(\n fromInput: ArrayInput<A>,\n toInput: ArrayInput<A>,\n options: DiffOptions,\n): ItemDiff<A>[] | undefined {\n if (fromInput.length !== toInput.length) {\n return undefined\n }\n\n const items: ItemDiff<A>[] = []\n\n for (let idx = 0; idx < fromInput.length; idx++) {\n const diff = diffInput(fromInput.at(idx), toInput.at(idx), options)\n if (diff.isChanged) {\n return undefined\n }\n\n items.push({\n fromIndex: idx,\n toIndex: idx,\n hasMoved: false,\n diff,\n annotation: toInput.annotationAt(idx),\n })\n }\n\n return items\n}\n\nfunction diffArrayByReinsert<A>(\n fromInput: ArrayInput<A>,\n toInput: ArrayInput<A>,\n options: DiffOptions,\n): ArrayDiff<A> {\n const items: ItemDiff<A>[] = []\n\n for (let idx = 0; idx < toInput.length; idx++) {\n const input = toInput.at(idx)\n\n items.push({\n fromIndex: undefined,\n toIndex: idx,\n hasMoved: false,\n diff: addedInput(input, undefined, options),\n annotation: input.annotation,\n })\n }\n\n for (let idx = 0; idx < fromInput.length; idx++) {\n const input = fromInput.at(idx)\n\n items.push({\n fromIndex: idx,\n toIndex: undefined,\n hasMoved: false,\n diff: removedInput(input, undefined, options),\n annotation: input.annotation,\n })\n }\n\n return buildArrayDiff(fromInput, toInput, items, true)\n}\n\ntype Key = string | number | boolean\n\n/**\n * Diff an array when all the elements have _key in the same position.\n */\nfunction diffArrayByKey<A>(\n fromArray: ArrayInput<A>,\n fromKeyIndex: KeyIndex,\n toArray: ArrayInput<A>,\n toKeyIndex: KeyIndex,\n options: DiffOptions,\n): ArrayDiff<A> {\n const items: ItemDiff<A>[] = []\n let isChanged = false\n\n function diffCommon(key: Key, fromIndex: number, toIndex: number, hasMoved: boolean) {\n deletePositionInIndex(fromKeyIndex.index, key, fromIndex)\n deletePositionInIndex(toKeyIndex.index, key, toIndex)\n\n const fromInput = fromArray.at(fromIndex)\n const toInput = toArray.at(toIndex)\n\n const diff = diffInput(fromInput, toInput)\n items.push({\n fromIndex,\n toIndex,\n hasMoved,\n diff,\n annotation: toArray.annotationAt(toIndex),\n })\n\n if (diff.isChanged || fromIndex !== toIndex) {\n isChanged = true\n }\n }\n\n const lcs = getLongestCommonSubsequence(fromKeyIndex.keys, toKeyIndex.keys)\n\n for (let fromIndex = 0; fromIndex < fromKeyIndex.keys.length; fromIndex++) {\n const key = fromKeyIndex.keys[fromIndex]\n\n const subsequenceIdx = lcs.prevIndices.indexOf(fromIndex)\n if (subsequenceIdx !== -1) {\n // Part of the common subsequence => hasMoved:false\n diffCommon(key, fromIndex, lcs.nextIndices[subsequenceIdx], false)\n continue\n }\n\n // Not a part of the subsequence. Try to find another item which has the same key\n // and also is not part of the common subsequence.\n const toIndexes = toKeyIndex.index.get(key)\n const toIndex = toIndexes && toIndexes.find((idx) => !lcs.nextIndices.includes(idx))\n if (toIndex !== undefined) {\n diffCommon(key, fromIndex, toIndex, true)\n continue\n }\n\n const input = fromArray.at(fromIndex)\n\n items.push({\n fromIndex,\n toIndex: undefined,\n hasMoved: false,\n diff: removedInput(input, undefined, options),\n annotation: fromArray.annotationAt(fromIndex),\n })\n\n isChanged = true\n }\n\n // The remaining data in toKeyIndex are the new elements which has been added\n for (const positions of toKeyIndex.index.values()) {\n for (const toIndex of positions) {\n const input = toArray.at(toIndex)\n items.push({\n fromIndex: undefined,\n toIndex,\n hasMoved: false,\n diff: addedInput(input, undefined, options),\n annotation: toArray.annotationAt(toIndex),\n })\n }\n\n isChanged = true\n }\n\n items.sort(compareItemDiff)\n\n return buildArrayDiff(fromArray, toArray, items, isChanged)\n}\n\nfunction compareItemDiff<A>(a: ItemDiff<A>, b: ItemDiff<A>): number {\n if (a.toIndex !== undefined && b.toIndex !== undefined) {\n return a.toIndex - b.toIndex\n }\n\n if (a.fromIndex !== undefined && b.fromIndex !== undefined) {\n return a.fromIndex - b.fromIndex\n }\n\n if (a.fromIndex !== undefined && b.toIndex !== undefined) {\n // A was removed and B was added. Prefer to sort removals last.\n return -1\n }\n\n if (a.toIndex !== undefined && b.fromIndex !== undefined) {\n // A was added and B was removed. Prefer to sort removals last.\n return 1\n }\n\n throw new Error('invalid item diff comparison')\n}\n\nfunction deletePositionInIndex(index: Map<Key, number[]>, key: Key, pos: number) {\n const positions = index.get(key)!\n deleteArrayValue(positions, pos)\n if (positions.length === 0) {\n index.delete(key)\n }\n}\n\nfunction deleteArrayValue<E>(arr: E[], value: E) {\n const idx = arr.indexOf(value)\n if (idx === -1) throw new Error('value not found')\n arr.splice(idx, 1)\n}\n\ntype KeyIndex = {\n keys: Key[]\n index: Map<Key, number[]>\n}\n\n/**\n * Indexes the array by a key. This handles cases where the items are:\n *\n * - Objects with _key\n * - Strings\n * - Numbers\n */\nfunction indexByKey<A>(arr: ArrayInput<A>): KeyIndex | undefined {\n const index = new Map<Key, number[]>()\n const keys: Key[] = []\n const length = arr.length\n\n for (let i = 0; i < length; i++) {\n const item = arr.at(i)\n\n let key: Key | null = null\n\n switch (item.type) {\n case 'string':\n key = `s${item.value}`\n break\n case 'number':\n key = item.value\n break\n case 'boolean':\n key = item.value\n break\n case 'null':\n key = 'n'\n break\n case 'object':\n {\n const keyField = item.get('_key')\n if (keyField && keyField.type === 'string') {\n key = `k${keyField.value}`\n\n // We do not handle duplicate _key\n if (index.has(key)) return undefined\n }\n }\n break\n default:\n }\n\n // No key => abort\n if (key === null) return undefined\n\n keys.push(key)\n let positions = index.get(key)\n if (!positions) {\n positions = []\n index.set(key, positions)\n }\n positions.push(i)\n }\n\n // All is good.\n return {keys, index}\n}\n\nexport function removedArray<A>(\n input: ArrayInput<A>,\n toValue: null | undefined,\n options: DiffOptions,\n): ArrayDiff<A> & {action: 'removed'} {\n return {\n type: 'array',\n action: 'removed',\n isChanged: true,\n fromValue: input.value,\n toValue,\n annotation: input.annotation,\n\n get items(): ArrayDiff<A>['items'] {\n const items: ArrayDiff<A>['items'] = []\n for (let i = 0; i < input.length; i++) {\n const item = input.at(i)\n items.push({\n fromIndex: i,\n toIndex: undefined,\n hasMoved: false,\n diff: removedInput(item, undefined, options),\n annotation: input.annotationAt(i),\n })\n }\n\n return replaceProperty(this, 'items', items)\n },\n }\n}\n\nexport function addedArray<A>(\n input: ArrayInput<A>,\n fromValue: null | undefined,\n options: DiffOptions,\n): ArrayDiff<A> & {action: 'added'} {\n return {\n type: 'array',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: input.value,\n annotation: input.annotation,\n\n get items(): ArrayDiff<A>['items'] {\n const items: ArrayDiff<A>['items'] = []\n for (let i = 0; i < input.length; i++) {\n const item = input.at(i)\n items.push({\n fromIndex: undefined,\n toIndex: i,\n hasMoved: false,\n diff: addedInput(item, undefined, options),\n annotation: input.annotationAt(i),\n })\n }\n\n return replaceProperty(this, 'items', items)\n },\n }\n}\n","import {replaceProperty} from '../helpers'\nimport {type DiffOptions, type ObjectDiff, type ObjectInput} from '../types'\nimport {addedInput, diffInput, removedInput} from './diffInput'\n\nconst ignoredFields = new Set(['_id', '_type', '_createdAt', '_updatedAt', '_rev', '_weak'])\n\nexport function diffObject<A>(\n fromInput: ObjectInput<A>,\n toInput: ObjectInput<A>,\n options: DiffOptions,\n): ObjectDiff<A> {\n const fields: ObjectDiff<A>['fields'] = {}\n let isChanged = false\n\n for (const key of fromInput.keys) {\n if (ignoredFields.has(key)) continue\n\n const fromField = fromInput.get(key)!\n\n const toField = toInput.get(key)\n if (toField) {\n const fieldDiff = diffInput(fromField, toField, options)\n fields[key] = fieldDiff\n if (fieldDiff.isChanged) isChanged = true\n } else {\n fields[key] = removedInput(fromField, undefined, options)\n isChanged = true\n }\n }\n\n for (const key of toInput.keys) {\n if (ignoredFields.has(key)) continue\n\n // Already handled above\n if (fromInput.get(key)) continue\n\n const toField = toInput.get(key)!\n fields[key] = addedInput(toField, undefined, options)\n isChanged = true\n }\n\n const fromValue = fromInput.value\n const toValue = toInput.value\n\n if (!isChanged) {\n return {\n type: 'object',\n action: 'unchanged',\n isChanged: false,\n fromValue,\n toValue,\n fields,\n }\n }\n\n return {\n type: 'object',\n action: 'changed',\n isChanged: true,\n fromValue,\n toValue,\n fields,\n annotation: toInput.annotation,\n }\n}\n\nexport function removedObject<A>(\n input: ObjectInput<A>,\n toValue: null | undefined,\n options: DiffOptions,\n): ObjectDiff<A> & {action: 'removed'} {\n return {\n type: 'object',\n action: 'removed',\n isChanged: true,\n fromValue: input.value,\n toValue,\n annotation: input.annotation,\n\n get fields(): ObjectDiff<A>['fields'] {\n const fields: ObjectDiff<A>['fields'] = {}\n for (const key of input.keys) {\n const value = input.get(key)!\n fields[key] = removedInput(value, undefined, options)\n }\n return replaceProperty(this, 'fields', fields)\n },\n }\n}\n\nexport function addedObject<A>(\n input: ObjectInput<A>,\n fromValue: null | undefined,\n options: DiffOptions,\n): ObjectDiff<A> & {action: 'added'} {\n return {\n type: 'object',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: input.value,\n annotation: input.annotation,\n\n get fields(): ObjectDiff<A>['fields'] {\n const fields: ObjectDiff<A>['fields'] = {}\n for (const key of input.keys) {\n const value = input.get(key)!\n fields[key] = addedInput(value, undefined, options)\n }\n return replaceProperty(this, 'fields', fields)\n },\n }\n}\n","import {\n type BooleanDiff,\n type BooleanInput,\n type DiffOptions,\n type NumberDiff,\n type NumberInput,\n} from '../types'\n\nexport function diffNumber<A>(\n fromInput: NumberInput<A>,\n toInput: NumberInput<A>,\n options: DiffOptions,\n): NumberDiff<A> {\n const fromValue = fromInput.value\n const toValue = toInput.value\n const type = fromInput.type\n\n if (fromValue === toValue)\n return {\n type,\n action: 'unchanged',\n fromValue,\n toValue,\n isChanged: false,\n }\n\n return {\n type: fromInput.type,\n action: 'changed',\n isChanged: true,\n fromValue: fromValue,\n toValue: toValue,\n annotation: toInput.annotation,\n }\n}\n\nexport function diffBoolean<A>(\n fromInput: BooleanInput<A>,\n toInput: BooleanInput<A>,\n options: DiffOptions,\n): BooleanDiff<A> {\n const fromValue = fromInput.value\n const toValue = toInput.value\n const type = fromInput.type\n\n if (fromValue === toValue)\n return {\n type,\n action: 'unchanged',\n fromValue,\n toValue,\n isChanged: false,\n }\n\n return {\n type: fromInput.type,\n action: 'changed',\n isChanged: true,\n fromValue: fromValue,\n toValue: toValue,\n annotation: toInput.annotation,\n }\n}\n","import {\n cleanupSemantic,\n DIFF_DELETE,\n DIFF_EQUAL,\n DIFF_INSERT,\n makeDiff,\n} from '@sanity/diff-match-patch'\n\nimport {replaceProperty} from '../helpers'\nimport {type DiffOptions, type StringDiff, type StringDiffSegment, type StringInput} from '../types'\n\nexport function diffString<A>(\n fromInput: StringInput<A>,\n toInput: StringInput<A>,\n options: DiffOptions,\n): StringDiff<A> {\n const fromValue = fromInput.value\n const toValue = toInput.value\n\n if (fromValue === toValue) {\n return {\n type: 'string',\n action: 'unchanged',\n isChanged: false,\n fromValue,\n toValue,\n segments: [{type: 'stringSegment', action: 'unchanged', text: fromValue}],\n }\n }\n\n return {\n type: 'string',\n action: 'changed',\n isChanged: true,\n fromValue,\n toValue,\n annotation: toInput.annotation,\n\n // Compute and memoize string segments only when accessed\n get segments(): StringDiffSegment<A>[] {\n const segments = buildSegments(fromInput, toInput)\n return replaceProperty(this, 'segments', segments)\n },\n }\n}\n\nfunction buildSegments<A>(\n fromInput: StringInput<A>,\n toInput: StringInput<A>,\n): StringDiffSegment<A>[] {\n const segments: StringDiffSegment<A>[] = []\n const dmpDiffs = cleanupSemantic(makeDiff(fromInput.value, toInput.value))\n\n let fromIdx = 0\n let toIdx = 0\n\n for (const [op, text] of dmpDiffs) {\n switch (op) {\n case DIFF_EQUAL:\n segments.push({type: 'stringSegment', action: 'unchanged', text})\n fromIdx += text.length\n toIdx += text.length\n break\n case DIFF_DELETE:\n for (const segment of fromInput.sliceAnnotation(fromIdx, fromIdx + text.length)) {\n segments.push({\n type: 'stringSegment',\n action: 'removed',\n text: segment.text,\n annotation: segment.annotation,\n })\n }\n fromIdx += text.length\n break\n case DIFF_INSERT:\n for (const segment of toInput.sliceAnnotation(toIdx, toIdx + text.length)) {\n segments.push({\n type: 'stringSegment',\n action: 'added',\n text: segment.text,\n annotation: segment.annotation,\n })\n }\n toIdx += text.length\n break\n default:\n throw new Error(`Unhandled diff-match-patch operation \"${op}\"`)\n }\n }\n\n return segments\n}\n\nexport function removedString<A>(\n input: StringInput<A>,\n toValue: null | undefined,\n options: DiffOptions,\n): StringDiff<A> & {action: 'removed'} {\n return {\n type: 'string',\n action: 'removed',\n isChanged: true,\n fromValue: input.value,\n toValue,\n annotation: input.annotation,\n\n get segments(): StringDiffSegment<A>[] {\n const segments: StringDiffSegment<A>[] = input\n .sliceAnnotation(0, input.value.length)\n .map((segment) => ({type: 'stringSegment', action: 'removed', ...segment}))\n\n return replaceProperty(this, 'segments', segments)\n },\n }\n}\n\nexport function addedString<A>(\n input: StringInput<A>,\n fromValue: null | undefined,\n options: DiffOptions,\n): StringDiff<A> & {action: 'added'} {\n return {\n type: 'string',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: input.value,\n annotation: input.annotation,\n\n get segments(): StringDiffSegment<A>[] {\n const segments: StringDiffSegment<A>[] = input\n .sliceAnnotation(0, input.value.length)\n .map((segment) => ({type: 'stringSegment', action: 'added', ...segment}))\n\n return replaceProperty(this, 'segments', segments)\n },\n }\n}\n","import {type DiffOptions, type Input, type TypeChangeDiff} from '../types'\nimport {addedInput, removedInput} from './diffInput'\n\nexport function diffTypeChange<A>(\n fromInput: Input<A>,\n toInput: Input<A>,\n options: DiffOptions,\n): TypeChangeDiff<A> {\n return {\n type: 'typeChange',\n action: 'changed',\n isChanged: true,\n\n fromType: fromInput.type,\n fromValue: fromInput.value,\n fromDiff: removedInput(fromInput, undefined, options),\n\n toType: toInput.type,\n toValue: toInput.value,\n toDiff: addedInput(toInput, undefined, options),\n\n annotation: toInput.annotation,\n }\n}\n","import {\n type ArrayInput,\n type BooleanInput,\n type Diff,\n type DiffOptions,\n type Input,\n type NumberInput,\n type ObjectInput,\n type StringInput,\n} from '../types'\nimport {addedArray, diffArray, removedArray} from './diffArray'\nimport {addedObject, diffObject, removedObject} from './diffObject'\nimport {diffBoolean, diffNumber} from './diffSimple'\nimport {addedString, diffString, removedString} from './diffString'\nimport {diffTypeChange} from './diffTypeChange'\n\n/**\n * Takes a `from` and `to` input and calulates a diff between the two\n *\n * @param fromInput - The source (`from`) input - use {@link wrap | the wrap() method} to generate an \"input\"\n * @param toInput - The destination (`to`) input - use {@link wrap | the wrap() method} to generate an \"input\"\n * @param options - Options for the diffing process - currently no options are defined\n * @returns A diff object representing the change\n * @public\n */\nexport function diffInput<A>(\n fromInput: Input<A>,\n toInput: Input<A>,\n options: DiffOptions = {},\n): Diff<A> {\n if (fromInput.type !== toInput.type) {\n if (fromInput.type === 'null') {\n return addedInput(toInput, null, options)\n }\n\n if (toInput.type === 'null') {\n return removedInput(fromInput, null, options)\n }\n\n return diffTypeChange(fromInput, toInput, options)\n }\n\n return diffWithType(fromInput.type, fromInput, toInput, options)\n}\n\nfunction diffWithType<A>(\n type: Input<A>['type'],\n fromInput: Input<A>,\n toInput: Input<A>,\n options: DiffOptions,\n): Diff<A> {\n switch (type) {\n case 'null':\n return {\n type: 'null',\n action: 'unchanged',\n isChanged: false,\n toValue: null,\n fromValue: null,\n }\n case 'boolean':\n return diffBoolean(fromInput as BooleanInput<A>, toInput as BooleanInput<A>, options)\n case 'number':\n return diffNumber(fromInput as NumberInput<A>, toInput as NumberInput<A>, options)\n case 'string':\n return diffString(fromInput as StringInput<A>, toInput as StringInput<A>, options)\n case 'array':\n return diffArray(fromInput as ArrayInput<A>, toInput as ArrayInput<A>, options)\n case 'object':\n return diffObject(fromInput as ObjectInput<A>, toInput as ObjectInput<A>, options)\n default:\n throw new Error(`Unhandled diff type \"${type}\"`)\n }\n}\n\nexport function removedInput<A>(\n input: Input<A>,\n toValue: null | undefined,\n options: DiffOptions,\n): Diff<A> & {action: 'removed'} {\n switch (input.type) {\n case 'null':\n return {\n type: 'null',\n action: 'removed',\n isChanged: true,\n fromValue: null,\n toValue,\n annotation: input.annotation,\n }\n case 'boolean':\n return {\n type: 'boolean',\n action: 'removed',\n isChanged: true,\n fromValue: input.value,\n toValue,\n annotation: input.annotation,\n }\n case 'number':\n return {\n type: 'number',\n action: 'removed',\n isChanged: true,\n fromValue: input.value,\n toValue,\n annotation: input.annotation,\n }\n case 'string':\n return removedString(input, toValue, options)\n case 'array':\n return removedArray(input, toValue, options)\n case 'object':\n return removedObject(input, toValue, options)\n default:\n throw new Error('Unhandled diff type')\n }\n}\n\nexport function addedInput<A>(\n input: Input<A>,\n fromValue: null | undefined,\n options: DiffOptions,\n): Diff<A> & {action: 'added'} {\n switch (input.type) {\n case 'null':\n return {\n type: 'null',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: null,\n annotation: input.annotation,\n }\n case 'boolean':\n return {\n type: 'boolean',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: input.value,\n annotation: input.annotation,\n }\n case 'number':\n return {\n type: 'number',\n action: 'added',\n isChanged: true,\n fromValue,\n toValue: input.value,\n annotation: input.annotation,\n }\n case 'string':\n return addedString(input, fromValue, options)\n case 'array':\n return addedArray(input, fromValue, options)\n case 'object':\n return addedObject(input, fromValue, options)\n default:\n throw new Error('Unhandled diff type')\n }\n}\n","import {type ArrayInput, type Input} from '../types'\nimport {wrap} from './index'\n\nexport default class ArrayWrapper<A> implements ArrayInput<A> {\n type = 'array' as const\n length: number\n value: unknown[]\n annotation: A\n\n private elements: Input<A>[] = []\n\n constructor(value: unknown[], annotation: A) {\n this.annotation = annotation\n this.value = value\n this.length = value.length\n }\n\n at(idx: number): Input<A> {\n if (idx >= this.length) throw new Error('out of bounds')\n const input = this.elements[idx]\n if (input) {\n return input\n }\n\n return (this.elements[idx] = wrap(this.value[idx], this.annotation))\n }\n\n annotationAt(): A {\n return this.annotation\n }\n}\n","type SimpleType = 'boolean' | 'number' | 'null'\n\nexport default class BasicWrapper<K extends SimpleType, V, A> {\n type: K\n value: V\n annotation: A\n\n constructor(type: K, value: V, annotation: A) {\n this.type = type\n this.value = value\n this.annotation = annotation\n }\n}\n","import {type Input, type ObjectInput} from '../types'\nimport {wrap} from './index'\n\nexport default class ObjectWrapper<A> implements ObjectInput<A> {\n type = 'object' as const\n value: Record<string, unknown>\n keys: string[]\n annotation: A\n\n private fields: Record<string, Input<A>> = {}\n\n constructor(value: Record<string, unknown>, annotation: A) {\n this.value = value\n this.annotation = annotation\n this.keys = Object.keys(value)\n }\n\n get(key: string): Input<A> | undefined {\n const input = this.fields[key]\n if (input) {\n return input\n }\n\n if (!this.value.hasOwnProperty(key)) {\n return undefined\n }\n\n const raw = this.value[key]\n return (this.fields[key] = wrap(raw, this.annotation))\n }\n}\n","import {type StringInput} from '../types'\n\nexport default class StringWrapper<A> implements StringInput<A> {\n type = 'string' as const\n value: string\n annotation: A\n\n constructor(value: string, annotation: A) {\n this.value = value\n this.annotation = annotation\n }\n\n sliceAnnotation(start: number, end: number): {text: string; annotation: A}[] {\n return [{text: this.value.slice(start, end), annotation: this.annotation}]\n }\n}\n","import {type Input} from '../types'\nimport ArrayWrapper from './array'\nimport BasicWrapper from './basic'\nimport ObjectWrapper from './object'\nimport StringWrapper from './string'\n\n/**\n * Takes an input (any JSON-serializable value) and an annotation, and generates an input\n * object for it, to be used with {@link diffInput | the diffInput() method} and others.\n *\n * @param input - The value to wrap in an input object\n * @param annotation - Annotation attached to the input - will be bound to generated diffs\n * @returns A input object\n * @throws if `input` is not a JSON-serializable type\n * @public\n */\nexport function wrap<A>(input: unknown, annotation: A): Input<A> {\n if (Array.isArray(input)) {\n return new ArrayWrapper(input, annotation)\n } else if (input === null) {\n return new BasicWrapper('null', input, annotation)\n }\n\n const type = typeof input\n switch (type) {\n case 'number':\n return new BasicWrapper(type, input as number, annotation)\n case 'boolean':\n return new BasicWrapper(type, input as boolean, annotation)\n case 'object':\n return new ObjectWrapper(input as Record<string, unknown>, annotation)\n case 'string':\n return new StringWrapper(input as string, annotation)\n default:\n throw new Error(`cannot wrap value of type: ${type}`)\n }\n}\n"],"x_google_ignoreList":[1],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"isObservable-D3WTlre7.mjs","names":[],"sources":["https://cdn.jsdelivr.net/npm/rxjs@7.8.2/dist/esm5/internal/util/isObservable.js"],"sourcesContent":["import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n//# sourceMappingURL=isObservable.js.map"],"x_google_ignoreList":[0],"mappings":"uEAEA,SAAgB,EAAa,EAAK,CAC9B,QAAS,IAAQ,aAAe,GAAe,EAAW,EAAI,KAAK,EAAI,EAAW,EAAI,UAAU,CACnG"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{EmptyError as e}from"./EmptyError-BLRYgvfy.mjs";function t(t,n){var r=typeof n==`object`;return new Promise(function(i,a){var o=!1,s;t.subscribe({next:function(e){s=e,o=!0},error:a,complete:function(){o?i(s):r?i(n.defaultValue):a(new e)}})})}export{t as lastValueFrom};
|
2
|
-
//# sourceMappingURL=lastValueFrom-DNJfBsuL.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"lastValueFrom-DNJfBsuL.mjs","names":[],"sources":["https://cdn.jsdelivr.net/npm/rxjs@7.8.2/dist/esm5/internal/lastValueFrom.js"],"sourcesContent":["import { EmptyError } from './util/EmptyError';\nexport function lastValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var _hasValue = false;\n var _value;\n source.subscribe({\n next: function (value) {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: function () {\n if (_hasValue) {\n resolve(_value);\n }\n else if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n });\n}\n//# sourceMappingURL=lastValueFrom.js.map"],"x_google_ignoreList":[0],"mappings":"uDACA,SAAgB,EAAc,EAAQ,EAAQ,CAC1C,IAAI,SAAmB,GAAW,SAClC,OAAO,IAAI,QAAQ,SAAU,EAAS,EAAQ,CAC1C,IAAI,GAAY,EACZ,EACJ,EAAO,UAAU,CACb,KAAM,SAAU,EAAO,CAEnB,AADA,EAAS,EACT,GAAY,CACf,EACD,MAAO,EACP,SAAU,UAAY,CAClB,AAAI,EACA,EAAQ,EAAO,CAEV,EACL,EAAQ,EAAO,aAAa,CAG5B,EAAO,IAAI,EAAa,AAE/B,CACJ,EAAC,AACL,EACJ"}
|
package/dist/list-CRYGwmUP.mjs
DELETED
@@ -1,17 +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"./async-HS7jgwe2.mjs";import"./dist-DPyoedQR.mjs";import"./from-1e-Bj2Xm.mjs";import"./of-DHUS5V5R.mjs";import"./timer-CudmXrHS.mjs";import"./TooltipDelayGroupProvider-DFmNEvMS.mjs";import"./share-DudygGnN.mjs";import{require_dist as t}from"./dist-DTr4N9sP.mjs";import{Box as n,Card as r,Code as i,Text as a}from"./dist-gdCAZyAZ.mjs";import{ArrowLeftIcon as o}from"./dist-BBJTJw5c.mjs";import"./proxy-Dqw503dV.mjs";import"./dist-Du4lGEpF.mjs";import"./asserters-C8hxedkt.mjs";import"./lodash-Bv9uePfP.mjs";import{Button as s}from"./Tooltip-JnkpPrKf.mjs";import"./MenuItem-nwzB8TNk.mjs";import"./MenuGroup-DZWX1dWR.mjs";import"./i18n-DSW5BxWp.mjs";import{PaneItem as c}from"./PaneItem-CXeBMzOt.mjs";import{BackLink as l}from"./BackLink-BjbAxrJO.mjs";import{Pane as u,PaneHeader as d,usePane as f,usePaneLayout as p,useStructureTool as m}from"./useStructureTool-DJWYs4dK.mjs";import"./usePaneRouter-BnyByWgR.mjs";import{PaneContent as h,_DEBUG as g}from"./constants-ChSQUPYh.mjs";import"./menuNodes-DfRBkUna.mjs";import{PaneHeaderActions as _}from"./PaneHeaderActions-BwRjxrbU.mjs";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{styled as b}from"styled-components";import{CommandList as x,useGetI18nText as S,useI18nText as C}from"sanity";var w=e(t());const T=b(n)`
|
2
|
-
display: flex;
|
3
|
-
align-items: center;
|
4
|
-
gap: 1rem;
|
5
|
-
margin: 0.75rem 0 0.25rem 0;
|
6
|
-
`,E=b.hr`
|
7
|
-
flex: 1;
|
8
|
-
background-color: var(--card-border-color);
|
9
|
-
height: 1px;
|
10
|
-
margin: 0;
|
11
|
-
border: none;
|
12
|
-
`,D=b(a)`
|
13
|
-
padding-bottom: 0.75rem;
|
14
|
-
padding-left: 0.5rem;
|
15
|
-
padding-right: 0.5rem;
|
16
|
-
`;function O(e){let t=(0,w.c)(5),{item:n}=e,{title:r}=C(n),i;t[0]===r?i=t[1]:(i=v(D,{weight:`semibold`,muted:!0,size:1,children:r}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=v(E,{}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=y(T,{children:[i,a]}),t[3]=i,t[4]=o),o}function k(e){let t=(0,w.c)(20),{childItemId:r,items:i,isActive:a,layout:o,showIcons:s,title:l}=e,{collapsed:u}=p(),d;t[0]===i?d=t[1]:(d=i?.filter(A),t[0]=i,t[1]=d);let f=S(d),m;t[2]===i?m=t[3]:(m=e=>{var t;return(i==null||(t=i.find((t,n)=>n===e))==null?void 0:t.type)===`divider`},t[2]=i,t[3]=m);let g=m,_;t[4]===s?_=t[5]:(_=e=>{var t;let n=(t=e.displayOptions)?.showIcon;return n===void 0?s!==!1:n!==!1},t[4]=s,t[5]=_);let y=_,b;t[6]!==r||t[7]!==f||t[8]!==a||t[9]!==o||t[10]!==y?(b=(e,t)=>{let{virtualIndex:i}=t;if(e.type===`divider`)return v(n,{marginBottom:1,children:e.title?v(O,{item:e}):v(E,{})},`divider-${i}`);let s=!a&&r===e.id,l=a&&r===e.id,u=e._id&&e.schemaType?{_id:e._id,_type:e.schemaType.name,title:e.title}:void 0;return v(c,{icon:y(e)?e.icon:!1,id:e.id,layout:o,marginBottom:1,pressed:s,schemaType:e.schemaType,selected:l,title:f(e).title,value:u},e.id)},t[6]=r,t[7]=f,t[8]=a,t[9]=o,t[10]=y,t[11]=b):b=t[11];let C=b,T=u?`hidden`:`auto`,D;t[12]!==g||t[13]!==i||t[14]!==C||t[15]!==l?(D=i&&i.length>0&&v(x,{activeItemDataAttr:`data-hovered`,ariaLabel:l,canReceiveFocus:!0,getItemDisabled:g,itemHeight:51,items:i,onlyShowSelectionWhenActive:!0,paddingBottom:1,paddingX:3,renderItem:C,wrapAround:!1}),t[12]=g,t[13]=i,t[14]=C,t[15]=l,t[16]=D):D=t[16];let k;return t[17]!==T||t[18]!==D?(k=v(h,{overflow:T,children:D}),t[17]=T,t[18]=D,t[19]=k):k=t[19],k}function A(e){return e.type!==`divider`}var j=e(t());const M=e=>{let t=(0,j.c)(11),{index:n,menuItems:r,menuItemGroups:i,title:a}=e,{features:c}=m(),{collapsed:u,isLast:p}=f(),h=p&&!u?-1:0,g;t[0]!==i||t[1]!==r?(g=v(_,{menuItems:r,menuItemGroups:i}),t[0]=i,t[1]=r,t[2]=g):g=t[2];let y;t[3]!==c.backButton||t[4]!==n?(y=c.backButton&&n>0&&v(s,{as:l,"data-as":`a`,icon:o,mode:`bleed`,tooltipProps:{content:`Back`}}),t[3]=c.backButton,t[4]=n,t[5]=y):y=t[5];let b;return t[6]!==g||t[7]!==y||t[8]!==h||t[9]!==a?(b=v(d,{actions:g,backButton:y,tabIndex:h,title:a}),t[6]=g,t[7]=y,t[8]=h,t[9]=a,t[10]=b):b=t[10],b};var N=e(t());function P(e){let t=(0,N.c)(21),{childItemId:n,index:a,isActive:o,isSelected:s,pane:c,paneKey:l}=e,{defaultLayout:d,displayOptions:f,items:p,menuItems:m,menuItemGroups:h}=c,_=f?.showIcons!==!1,{title:b}=C(c),x;t[0]===c.source?x=t[1]:(x=g&&v(r,{padding:4,tone:`transparent`,children:v(i,{children:c.source||`(none)`})}),t[0]=c.source,t[1]=x);let S;t[2]!==a||t[3]!==h||t[4]!==m||t[5]!==b?(S=v(M,{index:a,menuItems:m,menuItemGroups:h,title:b}),t[2]=a,t[3]=h,t[4]=m,t[5]=b,t[6]=S):S=t[6];let w;t[7]!==n||t[8]!==d||t[9]!==o||t[10]!==p||t[11]!==l||t[12]!==_||t[13]!==b?(w=v(k,{childItemId:n,isActive:o,items:p,layout:d,showIcons:_,title:b},l),t[7]=n,t[8]=d,t[9]=o,t[10]=p,t[11]=l,t[12]=_,t[13]=b,t[14]=w):w=t[14];let T;return t[15]!==s||t[16]!==l||t[17]!==x||t[18]!==S||t[19]!==w?(T=y(u,{currentMaxWidth:350,"data-testid":`structure-tool-list-pane`,"data-ui":`ListPane`,id:l,maxWidth:640,minWidth:320,selected:s,children:[x,S,w]}),t[15]=s,t[16]=l,t[17]=x,t[18]=S,t[19]=w,t[20]=T):T=t[20],T}export{P as default};
|
17
|
-
//# sourceMappingURL=list-CRYGwmUP.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"list-CRYGwmUP.mjs","names":["Box","Text","useCallback","CommandList","CommandListItemContext","GeneralPreviewLayoutKey","useGetI18nText","useI18nText","styled","PaneContent","PaneItem","usePaneLayout","PaneListItem","PaneListItemDivider","ListPaneContentProps","childItemId","isActive","items","layout","showIcons","title","DividerContainer","Divider","hr","DividerTitle","DividerItemProps","item","DividerItem","t0","$","_c","dividerTitle","t1","t2","Symbol","for","t3","ListPaneContent","props","collapsed","layoutCollapsed","filter","_temp","getI18nText","itemIndex","find","_","i","type","getItemDisabled","item_0","itemShowIcon","displayOptions","showIcon","shouldShowIconForItem","item_1","ctx","virtualIndex","itemIndex_0","pressed","id","selected","value","_id","schemaType","_type","name","undefined","icon","renderItem","t4","t5","length","t6","ArrowLeftIcon","Button","BackLink","PaneHeader","PaneHeaderActions","usePane","PaneMenuItem","PaneMenuItemGroup","useStructureTool","ListPaneHeaderProps","index","menuItems","menuItemGroups","title","ListPaneHeader","t0","$","_c","features","collapsed","isLast","tabIndex","t1","t2","backButton","content","t3","Card","Code","useI18nText","Pane","_DEBUG","BaseStructureToolPaneProps","ListPaneContent","ListPaneHeader","ListPaneProps","ListPane","props","$","_c","childItemId","index","isActive","isSelected","pane","paneKey","defaultLayout","displayOptions","items","menuItems","menuItemGroups","showIcons","title","t0","source","t1","t2","t3"],"sources":["https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/panes/list/ListPaneContent.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/panes/list/ListPaneHeader.tsx","https://github.com/sanity-io/sanity/blob/v3.93.0/packages/sanity/src/structure/panes/list/ListPane.tsx"],"sourcesContent":["import {Box, Text} from '@sanity/ui'\nimport {useCallback} from 'react'\nimport {\n CommandList,\n type CommandListItemContext,\n type GeneralPreviewLayoutKey,\n useGetI18nText,\n useI18nText,\n} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport {PaneContent, PaneItem, usePaneLayout} from '../../components'\nimport {type PaneListItem, type PaneListItemDivider} from '../../types'\n\ninterface ListPaneContentProps {\n childItemId?: string\n isActive?: boolean\n items: (PaneListItem<unknown> | PaneListItemDivider)[] | undefined\n layout?: GeneralPreviewLayoutKey\n showIcons: boolean\n title: string\n}\n\nconst DividerContainer = styled(Box)`\n display: flex;\n align-items: center;\n gap: 1rem;\n margin: 0.75rem 0 0.25rem 0;\n`\n\nconst Divider = styled.hr`\n flex: 1;\n background-color: var(--card-border-color);\n height: 1px;\n margin: 0;\n border: none;\n`\n\nconst DividerTitle = styled(Text)`\n padding-bottom: 0.75rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n`\n\ninterface DividerItemProps {\n item: PaneListItemDivider\n}\n\nfunction DividerItem({item}: DividerItemProps) {\n const {title: dividerTitle} = useI18nText(item)\n return (\n <DividerContainer>\n <DividerTitle weight=\"semibold\" muted size={1}>\n {dividerTitle}\n </DividerTitle>\n\n <Divider />\n </DividerContainer>\n )\n}\n\n/**\n * @internal\n */\nexport function ListPaneContent(props: ListPaneContentProps) {\n const {childItemId, items, isActive, layout, showIcons, title} = props\n const {collapsed: layoutCollapsed} = usePaneLayout()\n const getI18nText = useGetI18nText(\n items?.filter(\n (item): item is Exclude<typeof item, {type: 'divider'}> => item.type !== 'divider',\n ),\n )\n\n const getItemDisabled = useCallback(\n (itemIndex: number) => {\n return items?.find((_, i) => i === itemIndex)?.type === 'divider'\n },\n [items],\n )\n\n const shouldShowIconForItem = useCallback(\n (item: PaneListItem): boolean => {\n const itemShowIcon = item.displayOptions?.showIcon\n\n // Specific true/false on item should have precedence over list setting\n if (typeof itemShowIcon !== 'undefined') {\n return itemShowIcon !== false // Boolean(item.icon)\n }\n\n // If no item setting is defined, defer to the pane settings\n return showIcons !== false // Boolean(item.icon)\n },\n [showIcons],\n )\n\n const renderItem = useCallback(\n (item: PaneListItem<unknown> | PaneListItemDivider, ctx: CommandListItemContext) => {\n const {virtualIndex: itemIndex} = ctx\n\n if (item.type === 'divider') {\n return (\n <Box key={`divider-${itemIndex}`} marginBottom={1}>\n {item.title ? <DividerItem item={item} /> : <Divider />}\n </Box>\n )\n }\n\n const pressed = !isActive && childItemId === item.id\n const selected = isActive && childItemId === item.id\n // If this is a document list item, pass on the ID and type,\n // otherwise leave it undefined to use the passed title and gang\n const value =\n item._id && item.schemaType\n ? {_id: item._id, _type: item.schemaType.name, title: item.title}\n : undefined\n\n return (\n <PaneItem\n icon={shouldShowIconForItem(item) ? item.icon : false}\n id={item.id}\n key={item.id}\n layout={layout}\n marginBottom={1}\n pressed={pressed}\n schemaType={item.schemaType}\n selected={selected}\n title={getI18nText(item).title}\n value={value}\n />\n )\n },\n [childItemId, getI18nText, isActive, layout, shouldShowIconForItem],\n )\n\n return (\n <PaneContent overflow={layoutCollapsed ? 'hidden' : 'auto'}>\n {items && items.length > 0 && (\n <CommandList\n activeItemDataAttr=\"data-hovered\"\n ariaLabel={title}\n canReceiveFocus\n getItemDisabled={getItemDisabled}\n itemHeight={51}\n items={items}\n onlyShowSelectionWhenActive\n paddingBottom={1}\n paddingX={3}\n renderItem={renderItem}\n wrapAround={false}\n />\n )}\n </PaneContent>\n )\n}\n","import {ArrowLeftIcon} from '@sanity/icons'\n\nimport {Button} from '../../../ui-components'\nimport {BackLink, PaneHeader, PaneHeaderActions, usePane} from '../../components'\nimport {type PaneMenuItem, type PaneMenuItemGroup} from '../../types'\nimport {useStructureTool} from '../../useStructureTool'\n\ninterface ListPaneHeaderProps {\n index: number\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n title: string\n}\n\nexport const ListPaneHeader = ({index, menuItems, menuItemGroups, title}: ListPaneHeaderProps) => {\n const {features} = useStructureTool()\n const {collapsed, isLast} = usePane()\n // Prevent focus if this is the last (non-collapsed) pane.\n const tabIndex = isLast && !collapsed ? -1 : 0\n\n return (\n <PaneHeader\n actions={<PaneHeaderActions menuItems={menuItems} menuItemGroups={menuItemGroups} />}\n backButton={\n features.backButton &&\n index > 0 && (\n <Button\n as={BackLink}\n data-as=\"a\"\n icon={ArrowLeftIcon}\n mode=\"bleed\"\n tooltipProps={{content: 'Back'}}\n />\n )\n }\n tabIndex={tabIndex}\n title={title}\n />\n )\n}\n","import {Card, Code} from '@sanity/ui'\nimport {useI18nText} from 'sanity'\n\nimport {Pane} from '../../components'\nimport {_DEBUG} from '../../constants'\nimport {type BaseStructureToolPaneProps} from '../types'\nimport {ListPaneContent} from './ListPaneContent'\nimport {ListPaneHeader} from './ListPaneHeader'\n\ntype ListPaneProps = BaseStructureToolPaneProps<'list'>\n\n/**\n * @internal\n */\nexport function ListPane(props: ListPaneProps) {\n const {childItemId, index, isActive, isSelected, pane, paneKey} = props\n\n const {defaultLayout, displayOptions, items, menuItems, menuItemGroups} = pane\n const showIcons = displayOptions?.showIcons !== false\n const {title} = useI18nText(pane)\n\n return (\n <Pane\n currentMaxWidth={350}\n data-testid=\"structure-tool-list-pane\"\n data-ui=\"ListPane\"\n id={paneKey}\n maxWidth={640}\n minWidth={320}\n selected={isSelected}\n >\n {_DEBUG && (\n <Card padding={4} tone=\"transparent\">\n <Code>{pane.source || '(none)'}</Code>\n </Card>\n )}\n\n <ListPaneHeader\n index={index}\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n title={title}\n />\n\n <ListPaneContent\n childItemId={childItemId}\n isActive={isActive}\n items={items}\n layout={defaultLayout}\n key={paneKey}\n showIcons={showIcons}\n title={title}\n />\n </Pane>\n )\n}\n"],"mappings":"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"}
|