@annotorious/react 3.0.0-rc.5 → 3.0.0-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/annotorious-react.es.js +23 -44
  2. package/dist/annotorious-react.es.js.map +1 -1
  3. package/dist/annotorious-react.es10.js +29 -3
  4. package/dist/annotorious-react.es10.js.map +1 -1
  5. package/dist/annotorious-react.es11.js +36 -27
  6. package/dist/annotorious-react.es11.js.map +1 -1
  7. package/dist/annotorious-react.es12.js +16 -20
  8. package/dist/annotorious-react.es12.js.map +1 -1
  9. package/dist/annotorious-react.es13.js +4 -54
  10. package/dist/annotorious-react.es13.js.map +1 -1
  11. package/dist/annotorious-react.es14.js +8 -17
  12. package/dist/annotorious-react.es14.js.map +1 -1
  13. package/dist/annotorious-react.es15.js +152 -21
  14. package/dist/annotorious-react.es15.js.map +1 -1
  15. package/dist/annotorious-react.es16.js +6 -2
  16. package/dist/annotorious-react.es16.js.map +1 -1
  17. package/dist/annotorious-react.es17.js +2 -2
  18. package/dist/annotorious-react.es17.js.map +1 -1
  19. package/dist/annotorious-react.es18.js +29 -3923
  20. package/dist/annotorious-react.es18.js.map +1 -1
  21. package/dist/annotorious-react.es19.js +597 -27
  22. package/dist/annotorious-react.es19.js.map +1 -1
  23. package/dist/annotorious-react.es2.js +2 -2
  24. package/dist/annotorious-react.es20.js +20707 -33
  25. package/dist/annotorious-react.es20.js.map +1 -1
  26. package/dist/annotorious-react.es21.js +32 -16
  27. package/dist/annotorious-react.es21.js.map +1 -1
  28. package/dist/annotorious-react.es22.js +2 -4
  29. package/dist/annotorious-react.es22.js.map +1 -1
  30. package/dist/annotorious-react.es23.js +2 -8
  31. package/dist/annotorious-react.es23.js.map +1 -1
  32. package/dist/annotorious-react.es4.js +2 -2
  33. package/dist/annotorious-react.es5.js +2 -2
  34. package/dist/annotorious-react.es8.js +21 -58
  35. package/dist/annotorious-react.es8.js.map +1 -1
  36. package/dist/annotorious-react.es9.js +3924 -10
  37. package/dist/annotorious-react.es9.js.map +1 -1
  38. package/dist/index.d.ts +3 -6
  39. package/dist/index.d.ts.map +1 -1
  40. package/package.json +6 -2
  41. package/dist/annotorious-react.es24.js +0 -156
  42. package/dist/annotorious-react.es24.js.map +0 -1
  43. package/dist/annotorious-react.es25.js +0 -20134
  44. package/dist/annotorious-react.es25.js.map +0 -1
  45. package/dist/annotorious-react.es26.js +0 -35
  46. package/dist/annotorious-react.es26.js.map +0 -1
  47. package/dist/annotorious-react.es27.js +0 -9
  48. package/dist/annotorious-react.es27.js.map +0 -1
  49. package/dist/annotorious-react.es28.js +0 -5
  50. package/dist/annotorious-react.es28.js.map +0 -1
  51. package/dist/annotorious-react.es29.js +0 -33
  52. package/dist/annotorious-react.es29.js.map +0 -1
  53. package/dist/annotorious-react.es30.js +0 -602
  54. package/dist/annotorious-react.es30.js.map +0 -1
  55. package/dist/annotorious-react.es31.js +0 -5
  56. package/dist/annotorious-react.es31.js.map +0 -1
  57. package/dist/annotorious-react.es32.js +0 -5
  58. package/dist/annotorious-react.es32.js.map +0 -1
  59. package/dist/annotorious-react.es33.js +0 -19
  60. package/dist/annotorious-react.es33.js.map +0 -1
  61. package/dist/annotorious-react.es34.js +0 -20
  62. package/dist/annotorious-react.es34.js.map +0 -1
  63. package/dist/annotorious-react.es35.js +0 -30
  64. package/dist/annotorious-react.es35.js.map +0 -1
  65. package/dist/annotorious-react.es36.js +0 -24
  66. package/dist/annotorious-react.es36.js.map +0 -1
  67. package/dist/annotorious-react.es37.js +0 -19
  68. package/dist/annotorious-react.es37.js.map +0 -1
  69. package/dist/annotorious-react.es38.js +0 -7
  70. package/dist/annotorious-react.es38.js.map +0 -1
  71. package/dist/annotorious-react.es39.js +0 -11
  72. package/dist/annotorious-react.es39.js.map +0 -1
  73. package/dist/annotorious-react.es40.js +0 -10
  74. package/dist/annotorious-react.es40.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es15.js","sources":["../../annotorious-core/src/utils/diffAnnotations.ts"],"sourcesContent":["import { dequal } from 'dequal/lite';\nimport type { Update } from '../state';\nimport type { Annotation } from '../model';\n\nconst getAddedBodies = (oldValue: Annotation, newValue: Annotation) => {\n const oldBodyIds = new Set(oldValue.bodies.map(b => b.id));\n return newValue.bodies.filter(b => !oldBodyIds.has(b.id));\n}\n\nconst getRemovedBodies = (oldValue: Annotation, newValue: Annotation) => {\n const newBodyIds = new Set(newValue.bodies.map(b => b.id));\n return oldValue.bodies.filter(b => !newBodyIds.has(b.id));\n}\n\nconst getChangedBodies = (oldValue: Annotation, newValue: Annotation) => \n newValue.bodies\n .map(newBody => {\n const oldBody = oldValue.bodies.find(b => b.id === newBody.id);\n return { newBody, oldBody: oldBody && !dequal(oldBody, newBody) ? oldBody : undefined }\n })\n .filter(({ oldBody }) => oldBody);\n\nconst hasTargetChanged = (oldValue: Annotation, newValue: Annotation) => \n !dequal(oldValue.target, newValue.target);\n\nexport const diffAnnotations = <T extends Annotation = Annotation>(oldValue: T, newValue: T): Update<T> => {\n const bodiesCreated = getAddedBodies(oldValue, newValue);\n const bodiesDeleted = getRemovedBodies(oldValue, newValue);\n const bodiesUpdated = getChangedBodies(oldValue, newValue);\n\n return {\n oldValue, \n newValue,\n bodiesCreated: bodiesCreated.length > 0 ? bodiesCreated : undefined,\n bodiesDeleted: bodiesDeleted.length > 0 ? bodiesDeleted : undefined,\n bodiesUpdated: bodiesUpdated.length > 0 ? bodiesUpdated : undefined,\n targetUpdated: hasTargetChanged(oldValue, newValue) ? { oldTarget: oldValue.target, newTarget: newValue.target } : undefined\n }\n}"],"names":["getAddedBodies","oldValue","newValue","oldBodyIds","b","getRemovedBodies","newBodyIds","getChangedBodies","newBody","oldBody","dequal","hasTargetChanged","diffAnnotations","bodiesCreated","bodiesDeleted","bodiesUpdated"],"mappings":";AAIA,MAAMA,IAAiB,CAACC,GAAsBC,MAAyB;AAC/D,QAAAC,IAAa,IAAI,IAAIF,EAAS,OAAO,IAAI,CAAAG,MAAKA,EAAE,EAAE,CAAC;AAClD,SAAAF,EAAS,OAAO,OAAO,CAAAE,MAAK,CAACD,EAAW,IAAIC,EAAE,EAAE,CAAC;AAC1D,GAEMC,IAAmB,CAACJ,GAAsBC,MAAyB;AACjE,QAAAI,IAAa,IAAI,IAAIJ,EAAS,OAAO,IAAI,CAAAE,MAAKA,EAAE,EAAE,CAAC;AAClD,SAAAH,EAAS,OAAO,OAAO,CAAAG,MAAK,CAACE,EAAW,IAAIF,EAAE,EAAE,CAAC;AAC1D,GAEMG,IAAmB,CAACN,GAAsBC,MAC9CA,EAAS,OACN,IAAI,CAAWM,MAAA;AACR,QAAAC,IAAUR,EAAS,OAAO,KAAK,OAAKG,EAAE,OAAOI,EAAQ,EAAE;AACtD,SAAA,EAAE,SAAAA,GAAS,SAASC,KAAW,CAACC,EAAOD,GAASD,CAAO,IAAIC,IAAU,OAAU;AACxF,CAAC,EACA,OAAO,CAAC,EAAE,SAAAA,QAAcA,CAAO,GAE9BE,IAAmB,CAACV,GAAsBC,MAC9C,CAACQ,EAAOT,EAAS,QAAQC,EAAS,MAAM,GAE7BU,IAAkB,CAAoCX,GAAaC,MAA2B;AACnG,QAAAW,IAAgBb,EAAeC,GAAUC,CAAQ,GACjDY,IAAgBT,EAAiBJ,GAAUC,CAAQ,GACnDa,IAAgBR,EAAiBN,GAAUC,CAAQ;AAElD,SAAA;AAAA,IACL,UAAAD;AAAA,IACA,UAAAC;AAAA,IACA,eAAeW,EAAc,SAAS,IAAIA,IAAgB;AAAA,IAC1D,eAAeC,EAAc,SAAS,IAAIA,IAAgB;AAAA,IAC1D,eAAeC,EAAc,SAAS,IAAIA,IAAgB;AAAA,IAC1D,eAAeJ,EAAiBV,GAAUC,CAAQ,IAAI,EAAE,WAAWD,EAAS,QAAQ,WAAWC,EAAS,OAAA,IAAW;AAAA,EAAA;AAEvH;"}
1
+ {"version":3,"file":"annotorious-react.es15.js","sources":["../../../node_modules/@neodrag/react/dist/min/index.js"],"sourcesContent":["import{useRef as t,useState as e,useEffect as n}from\"react\";var r={dragStart:!0},o=(t,e={})=>{let n,o,{bounds:f,axis:g=\"both\",gpuAcceleration:h=!0,legacyTranslate:p=!0,transform:m,applyUserSelectHack:y=!0,disabled:w=!1,ignoreMultitouch:b=!1,recomputeBounds:v=r,grid:D,position:E,cancel:S,handle:x,defaultClass:A=\"neodrag\",defaultClassDragging:C=\"neodrag-dragging\",defaultClassDragged:M=\"neodrag-dragged\",defaultPosition:N={x:0,y:0},onDragStart:B,onDrag:$,onDragEnd:H}=e,L=!1,R=0,T=0,P=0,X=0,Y=0,q=0,{x:k,y:U}=E?{x:E?.x??0,y:E?.y??0}:N;Q(k,U);let W,j,z,F,G,I=\"\",J=!!E;v={...r,...v};const K=document.body.style,O=t.classList;function Q(e=R,n=T){if(!m){if(p){let r=`${+e}px, ${+n}px`;return l(t,\"transform\",h?`translate3d(${r}, 0)`:`translate(${r})`)}return l(t,\"translate\",`${+e}px ${+n}px ${h?\"1px\":\"\"}`)}const r=m({offsetX:e,offsetY:n,rootNode:t});i(r)&&l(t,\"transform\",r)}const V=(e,n)=>{const r={offsetX:R,offsetY:T,rootNode:t,currentNode:G};t.dispatchEvent(new CustomEvent(e,{detail:r})),n?.(r)};const Z=addEventListener;Z(\"pointerdown\",tt,!1),Z(\"pointerup\",et,!1),Z(\"pointermove\",nt,!1),l(t,\"touch-action\",\"none\");const _=()=>{let e=t.offsetWidth/j.width;return isNaN(e)&&(e=1),e};function tt(e){if(w)return;if(2===e.button)return;if(b&&!e.isPrimary)return;if(v.dragStart&&(W=c(f,t)),i(x)&&i(S)&&x===S)throw new Error(\"`handle` selector can't be same as `cancel` selector\");if(O.add(A),z=function(t,e){if(!t)return[e];if(u(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `handle` option should be child of the element on which the action is applied\");return Array.from(n.values())}(x,t),F=function(t,e){if(!t)return[];if(u(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `cancel` option should be child of the element on which the action is applied\");return Array.from(n.values())}(S,t),n=/(both|x)/.test(g),o=/(both|y)/.test(g),d(F,z))throw new Error(\"Element being dragged can't be a child of the element on which `cancel` is applied\");const r=e.composedPath()[0];if(!z.some((t=>t.contains(r)||t.shadowRoot?.contains(r)))||d(F,[r]))return;G=1===z.length?t:z.find((t=>t.contains(r))),L=!0,j=t.getBoundingClientRect(),y&&(I=K.userSelect,K.userSelect=\"none\"),V(\"neodrag:start\",B);const{clientX:a,clientY:s}=e,l=_();n&&(P=a-k/l),o&&(X=s-U/l),W&&(Y=a-j.left,q=s-j.top)}function et(){L&&(v.dragEnd&&(W=c(f,t)),O.remove(C),O.add(M),y&&(K.userSelect=I),V(\"neodrag:end\",H),n&&(P=R),o&&(X=T),L=!1)}function nt(e){if(!L)return;v.drag&&(W=c(f,t)),O.add(C),e.preventDefault(),j=t.getBoundingClientRect();let r=e.clientX,i=e.clientY;const d=_();if(W){const t={left:W.left+Y,top:W.top+q,right:W.right+Y-j.width,bottom:W.bottom+q-j.height};r=a(r,t.left,t.right),i=a(i,t.top,t.bottom)}if(Array.isArray(D)){let[t,e]=D;if(isNaN(+t)||t<0)throw new Error(\"1st argument of `grid` must be a valid positive number\");if(isNaN(+e)||e<0)throw new Error(\"2nd argument of `grid` must be a valid positive number\");let n=r-P,o=i-X;[n,o]=s([t/d,e/d],n,o),r=P+n,i=X+o}n&&(R=Math.round((r-P)*d)),o&&(T=Math.round((i-X)*d)),k=R,U=T,V(\"neodrag\",$),Q()}return{destroy:()=>{const t=removeEventListener;t(\"pointerdown\",tt,!1),t(\"pointerup\",et,!1),t(\"pointermove\",nt,!1)},update:t=>{g=t.axis||\"both\",w=t.disabled??!1,b=t.ignoreMultitouch??!1,x=t.handle,f=t.bounds,v=t.recomputeBounds??r,S=t.cancel,y=t.applyUserSelectHack??!0,D=t.grid,h=t.gpuAcceleration??!0,p=t.legacyTranslate??!0,m=t.transform;const e=O.contains(M);O.remove(A,M),A=t.defaultClass??\"neodrag\",C=t.defaultClassDragging??\"neodrag-dragging\",M=t.defaultClassDragged??\"neodrag-dragged\",O.add(A),e&&O.add(M),J&&(k=R=t.position?.x??R,U=T=t.position?.y??T,Q())}}},a=(t,e,n)=>Math.min(Math.max(t,e),n),i=t=>\"string\"==typeof t,s=([t,e],n,r)=>{const o=(t,e)=>0===e?0:Math.ceil(t/e)*e;return[o(n,t),o(r,e)]};var d=(t,e)=>t.some((t=>e.some((e=>t.contains(e)))));function c(t,e){if(void 0===t)return;if(u(t))return t.getBoundingClientRect();if(\"object\"==typeof t){const{top:e=0,left:n=0,right:r=0,bottom:o=0}=t;return{top:e,right:window.innerWidth-r,bottom:window.innerHeight-o,left:n}}if(\"parent\"===t)return e.parentNode.getBoundingClientRect();const n=document.querySelector(t);if(null===n)throw new Error(\"The selector provided for bound doesn't exists in the document.\");return n.getBoundingClientRect()}var l=(t,e,n)=>t.style.setProperty(e,n),u=t=>t instanceof HTMLElement;function f(t){return null==t||\"string\"==typeof t||t instanceof HTMLElement?t:\"current\"in t?t.current:Array.isArray(t)?t.map((t=>t instanceof HTMLElement?t:t.current)):void 0}function g(r,a={}){const i=t(),[s,d]=e(!1),[c,l]=e();let{onDragStart:u,onDrag:g,onDragEnd:h,handle:p,cancel:m}=a,y=f(p),w=f(m);function b(t,e){l(t),e?.(t)}function v(t){d(!0),b(t,u)}function D(t){b(t,g)}function E(t){d(!1),b(t,h)}return n((()=>{if(\"undefined\"==typeof window)return;const t=r.current;if(!t)return;({onDragStart:u,onDrag:g,onDragEnd:h}=a);const{update:e,destroy:n}=o(t,{...a,handle:y,cancel:w,onDragStart:v,onDrag:D,onDragEnd:E});return i.current=e,n}),[]),n((()=>{i.current?.({...a,handle:f(p),cancel:f(m),onDragStart:v,onDrag:D,onDragEnd:E})}),[a]),{isDragging:s,dragState:c}}export{g as useDraggable};"],"names":["r","o","t","e","n","f","g","h","p","m","y","w","b","v","D","E","S","x","A","C","M","N","B","$","H","L","R","T","P","X","Y","q","k","U","Q","W","j","z","G","I","J","K","O","l","i","V","Z","tt","et","nt","_","c","u","d","_a","a","s","_b"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,9 @@
1
- var N = /* @__PURE__ */ ((E) => (E.EDIT = "EDIT", E.SELECT = "SELECT", E.NONE = "NONE", E))(N || {});
1
+ import { __module as e } from "./annotorious-react.es17.js";
2
+ import { __require as r } from "./annotorious-react.es18.js";
3
+ import { __require as o } from "./annotorious-react.es19.js";
4
+ process.env.NODE_ENV === "production" ? e.exports = r() : e.exports = o();
5
+ var m = e.exports;
2
6
  export {
3
- N as PointerSelectAction
7
+ m as j
4
8
  };
5
9
  //# sourceMappingURL=annotorious-react.es16.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es16.js","sources":["../../annotorious-core/src/state/Selection.ts"],"sourcesContent":["import { writable } from 'svelte/store';\nimport type { Annotation } from '../model';\nimport type { Store } from './Store';\n \nexport type Selection = {\n\n selected: { id: string, editable?: boolean }[],\n\n pointerEvent?: PointerEvent;\n\n}\n\nexport type SelectionState<T extends Annotation> = ReturnType<typeof createSelectionState<T>>;\n\nexport enum PointerSelectAction {\n\n EDIT = 'EDIT', // Make annotation target(s) editable on pointer select\n \n SELECT = 'SELECT', // Just select, but don't make editable\n\n NONE = 'NONE' // Click won't select - annotation is completely inert\n\n}\n\nconst EMPTY: Selection = { selected: [] };\n\nexport const createSelectionState = <T extends Annotation>(\n store: Store<T>,\n selectAction: PointerSelectAction | ((a: Annotation) => PointerSelectAction) = PointerSelectAction.EDIT\n) => {\n const { subscribe, set } = writable<Selection>(EMPTY);\n\n let currentSelection: Selection = EMPTY;\n\n subscribe(updated => currentSelection = updated);\n\n const clear = () => set(EMPTY);\n\n const isEmpty = () => currentSelection.selected?.length === 0;\n\n const isSelected = (annotationOrId: T | string) => {\n if (currentSelection.selected.length === 0)\n return false;\n\n const id = typeof annotationOrId === 'string' ? annotationOrId : annotationOrId.id;\n return currentSelection.selected.some(i => i.id === id);\n }\n\n // TODO enable CTRL select\n const clickSelect = (id: string, pointerEvent: PointerEvent) => {\n const annotation = store.getAnnotation(id);\n if (annotation) {\n const action = onPointerSelect(annotation, selectAction);\n if (action === PointerSelectAction.EDIT)\n set({ selected: [{ id, editable: true }], pointerEvent }); \n else if (action === PointerSelectAction.SELECT)\n set({ selected: [{ id }], pointerEvent }); \n else\n set({ selected: [], pointerEvent });\n } else {\n console.warn('Invalid selection: ' + id);\n }\n }\n\n const setSelected = (idOrIds: string | string[], editable: boolean = true) => {\n const ids = Array.isArray(idOrIds) ? idOrIds : [idOrIds];\n\n // Remove invalid\n const annotations = \n ids.map(id => store.getAnnotation(id)).filter(a => a); \n\n set({ selected: annotations.map(({ id }) => ({ id, editable })) });\n \n if (annotations.length !== ids.length)\n console.warn('Invalid selection', idOrIds);\n }\n\n const removeFromSelection = (ids: string[]) => {\n if (currentSelection.selected.length === 0)\n return false;\n\n const { selected } = currentSelection;\n\n // Checks which of the given annotations are actually in the selection\n const toRemove = selected.filter(({ id }) => ids.includes(id))\n\n if (toRemove.length > 0)\n set({ selected: selected.filter(({ id }) => !ids.includes(id)) });\n }\n\n // Track store delete and update events\n store.observe(({ changes }) =>\n removeFromSelection(changes.deleted.map(a => a.id)));\n\n return { \n clear, \n clickSelect, \n get selected() { return currentSelection ? [...currentSelection.selected ] : null},\n get pointerEvent() { return currentSelection ? currentSelection.pointerEvent : null },\n isEmpty, \n isSelected, \n setSelected, \n subscribe \n };\n\n}\n\nexport const onPointerSelect = (\n annotation: Annotation, \n action?: PointerSelectAction | ((a: Annotation) => PointerSelectAction)\n): PointerSelectAction => (typeof action === 'function') ?\n (action(annotation) || PointerSelectAction.EDIT) : \n (action || PointerSelectAction.EDIT);\n"],"names":["PointerSelectAction"],"mappings":"AAcY,IAAAA,sBAAAA,OAEVA,EAAA,OAAO,QAEPA,EAAA,SAAS,UAETA,EAAA,OAAO,QANGA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"annotorious-react.es16.js","sources":["../../../node_modules/react/jsx-runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"names":["jsxRuntimeModule","require$$0","require$$1"],"mappings":";;;AAEI,QAAQ,IAAI,aAAa,eAC3BA,EAAA,UAAiBC,MAEjBD,EAAA,UAAiBE;;","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- var L = /* @__PURE__ */ ((E) => (E.LOCAL = "LOCAL", E.REMOTE = "REMOTE", E))(L || {});
1
+ var e = { exports: {} };
2
2
  export {
3
- L as Origin
3
+ e as __module
4
4
  };
5
5
  //# sourceMappingURL=annotorious-react.es17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es17.js","sources":["../../annotorious-core/src/state/StoreObserver.ts"],"sourcesContent":["import type { Annotation, AnnotationBody, AnnotationTarget } from '../model';\nimport { diffAnnotations } from '../utils';\n\n/** Interface for listening to changes in the annotation store **/\nexport interface StoreObserver<T extends Annotation> { \n\n onChange: { (event: StoreChangeEvent<T>): void };\n\n options: StoreObserveOptions;\n\n}\n\n/** A change event fired when the store state changes **/\nexport interface StoreChangeEvent<T extends Annotation> {\n\n origin: Origin;\n\n changes: ChangeSet<T>;\n\n state: T[];\n\n}\n\nexport interface ChangeSet<T extends Annotation> {\n\n created?: T[];\n\n deleted?: T[];\n\n updated?: Update<T>[];\n\n}\n\nexport interface Update<T extends Annotation> {\n\n oldValue: T;\n\n newValue: T;\n\n bodiesCreated?: AnnotationBody[];\n\n bodiesDeleted?: AnnotationBody[];\n\n bodiesUpdated?: Array<{ oldBody: AnnotationBody, newBody: AnnotationBody }>;\n\n targetUpdated?: { oldTarget: AnnotationTarget, newTarget: AnnotationTarget};\n\n}\n\n/** Options to control which events the observer wants to get notified about **/\nexport interface StoreObserveOptions {\n\n // Observe changes on targets, bodies or both?\n ignore?: Ignore;\n\n // Observe changes on one more specific annotations\n annotations?: string | string[];\n\n // Observer changes only for a specific origin\n origin?: Origin\n\n}\n\n/** Allows the observer to ignore certain event types **/\nexport enum Ignore { \n\n // Don't notify this observer for changes that involve bodies only\n BODY_ONLY = 'BODY_ONLY',\n\n // Don't notify for changes on targets only\n TARGET_ONLY = 'TARGET_ONLY'\n\n}\n\n/** Allows the observer to listen only for events that originated locally or from a remote source **/\nexport enum Origin { \n \n LOCAL = 'LOCAL', \n \n REMOTE = 'REMOTE' \n\n}\n\n/** Tests if this observer should be notified about this event **/\nexport const shouldNotify = <T extends Annotation>(observer: StoreObserver<T>, event: StoreChangeEvent<T>) => {\n const { changes, origin } = event;\n\n const isRelevantOrigin = \n !observer.options.origin || observer.options.origin === origin;\n\n if (!isRelevantOrigin)\n return false;\n\n if (observer.options.ignore) {\n const { ignore } = observer.options;\n\n // Shorthand\n const has = (arg: any[]) => arg?.length > 0;\n\n const hasAnnotationChanges =\n has(changes.created) || has(changes.deleted);\n\n if (!hasAnnotationChanges) {\n const hasBodyChanges =\n changes.updated?.some(u => has(u.bodiesCreated) || has(u.bodiesDeleted) || has(u.bodiesUpdated));\n \n const hasTargetChanges = \n changes.updated?.some(u => u.targetUpdated);\n\n if (ignore === Ignore.BODY_ONLY && hasBodyChanges && !hasTargetChanges)\n return false;\n\n if (ignore === Ignore.TARGET_ONLY && hasTargetChanges && !hasBodyChanges)\n return false;\n }\n }\n\n if (observer.options.annotations) {\n // This observer has a filter set on specific annotations - check affected\n const affectedAnnotations = new Set([\n ...changes.created.map(a => a.id),\n ...changes.deleted.map(a => a.id),\n ...changes.updated.map(({ oldValue }) => oldValue.id)\n ]);\n\n const observed = Array.isArray(observer.options.annotations) ?\n observer.options.annotations : [ observer.options.annotations ];\n\n return Boolean(observed.find(id => affectedAnnotations.has(id)));\n } else {\n return true;\n }\n\n}\n\nexport const mergeChanges = <T extends Annotation>(changes: ChangeSet<T>, toMerge: ChangeSet<T>) => {\n\n const previouslyCreatedIds = new Set((changes.created || []).map(a => a.id));\n const previouslyUpdatedIds = new Set((changes.updated || []).map(({ newValue })=> newValue.id));\n\n const createdIds = new Set((toMerge.created || []).map(a => a.id));\n const deletedIds = new Set((toMerge.deleted || []).map(a => a.id));\n const updatedIds = new Set((toMerge.updated || []).map(({ oldValue }) => oldValue.id));\n\n // Updates that will be merged into create or previous update events\n const mergeableUpdates = new Set((toMerge.updated || [])\n .filter(({ oldValue }) => previouslyCreatedIds.has(oldValue.id) || previouslyUpdatedIds.has(oldValue.id))\n .map(({ oldValue }) => oldValue.id ));\n\n // * created *\n // - drop created that were then deleted\n // - merge any updates on created\n // - append newly created\n const created = [\n ...(changes.created || [])\n .filter(a => !deletedIds.has(a.id))\n .map(a => updatedIds.has(a.id) \n ? toMerge.updated.find(({ oldValue }) => oldValue.id === a.id).newValue\n : a),\n ...(toMerge.created || [])\n ];\n\n // * deleted *\n // - drop deleted that were later re-created (redo action!)\n // - append newly deleted, but remove any that delete annotations \n // that were created in the same round\n const deleted = [\n ...(changes.deleted || [])\n .filter(a => !createdIds.has(a.id)),\n ...(toMerge.deleted || []) \n .filter(a => !previouslyCreatedIds.has(a.id))\n ] \n\n // * updated *\n // - drop updates on deleted annotations\n // - merge any updates that override previous ones\n // - append new updates, but remove any that were merged\n const updated = [\n ...(changes.updated || [])\n .filter(({ newValue }) => !deletedIds.has(newValue.id))\n .map(update => {\n const { oldValue, newValue } = update;\n if (updatedIds.has(newValue.id)) {\n const updated = toMerge.updated.find(u => u.oldValue.id === newValue.id).newValue;\n return diffAnnotations(oldValue, updated);\n } else {\n return update;\n }\n }),\n ...(toMerge.updated || []).filter(({ oldValue }) => !mergeableUpdates.has(oldValue.id))\n ]\n\n return { created, deleted, updated };\n}"],"names":["Origin"],"mappings":"AA2EY,IAAAA,sBAAAA,OAEVA,EAAA,QAAQ,SAERA,EAAA,SAAS,UAJCA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"annotorious-react.es17.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}