markdown-flow-ui 0.1.123 → 0.1.125

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 (62) hide show
  1. package/dist/_virtual/index.cjs8.js +1 -1
  2. package/dist/_virtual/index.cjs9.js +1 -1
  3. package/dist/_virtual/index.es8.js +2 -2
  4. package/dist/_virtual/index.es9.js +2 -2
  5. package/dist/components/Slide/MobilePlayerSettingsSheet.cjs.js +1 -1
  6. package/dist/components/Slide/MobilePlayerSettingsSheet.cjs.js.map +1 -1
  7. package/dist/components/Slide/MobilePlayerSettingsSheet.d.ts +2 -0
  8. package/dist/components/Slide/MobilePlayerSettingsSheet.es.js +7 -6
  9. package/dist/components/Slide/MobilePlayerSettingsSheet.es.js.map +1 -1
  10. package/dist/components/Slide/Player.cjs.js +1 -1
  11. package/dist/components/Slide/Player.cjs.js.map +1 -1
  12. package/dist/components/Slide/Player.d.ts +37 -1
  13. package/dist/components/Slide/Player.es.js +602 -487
  14. package/dist/components/Slide/Player.es.js.map +1 -1
  15. package/dist/components/Slide/Slide.cjs.js +1 -1
  16. package/dist/components/Slide/Slide.cjs.js.map +1 -1
  17. package/dist/components/Slide/Slide.d.ts +13 -0
  18. package/dist/components/Slide/Slide.es.js +528 -501
  19. package/dist/components/Slide/Slide.es.js.map +1 -1
  20. package/dist/components/Slide/constants.cjs.js +1 -1
  21. package/dist/components/Slide/constants.cjs.js.map +1 -1
  22. package/dist/components/Slide/constants.d.ts +13 -0
  23. package/dist/components/Slide/constants.es.js +13 -0
  24. package/dist/components/Slide/constants.es.js.map +1 -1
  25. package/dist/components/Slide/useWakePlayerFromIframe.cjs.js +1 -1
  26. package/dist/components/Slide/useWakePlayerFromIframe.cjs.js.map +1 -1
  27. package/dist/components/Slide/useWakePlayerFromIframe.d.ts +12 -1
  28. package/dist/components/Slide/useWakePlayerFromIframe.es.js +70 -39
  29. package/dist/components/Slide/useWakePlayerFromIframe.es.js.map +1 -1
  30. package/dist/components/Slide/utils/playbackPreference.cjs.js +1 -1
  31. package/dist/components/Slide/utils/playbackPreference.cjs.js.map +1 -1
  32. package/dist/components/Slide/utils/playbackPreference.d.ts +1 -6
  33. package/dist/components/Slide/utils/playbackPreference.es.js +4 -9
  34. package/dist/components/Slide/utils/playbackPreference.es.js.map +1 -1
  35. package/dist/components/Slide/utils/playerKeyboardShortcutContext.cjs.js +2 -0
  36. package/dist/components/Slide/utils/playerKeyboardShortcutContext.cjs.js.map +1 -0
  37. package/dist/components/Slide/utils/playerKeyboardShortcutContext.d.ts +5 -0
  38. package/dist/components/Slide/utils/playerKeyboardShortcutContext.es.js +6 -0
  39. package/dist/components/Slide/utils/playerKeyboardShortcutContext.es.js.map +1 -0
  40. package/dist/components/Slide/utils/playerKeyboardShortcuts.cjs.js +2 -0
  41. package/dist/components/Slide/utils/playerKeyboardShortcuts.cjs.js.map +1 -0
  42. package/dist/components/Slide/utils/playerKeyboardShortcuts.d.ts +19 -0
  43. package/dist/components/Slide/utils/playerKeyboardShortcuts.es.js +58 -0
  44. package/dist/components/Slide/utils/playerKeyboardShortcuts.es.js.map +1 -0
  45. package/dist/components/Slide/utils/playerKeyboardShortcuts.test.d.ts +1 -0
  46. package/dist/node_modules/@braintree/sanitize-url/dist/index.cjs.js +1 -1
  47. package/dist/node_modules/@braintree/sanitize-url/dist/index.es.js +1 -1
  48. package/dist/node_modules/classnames/index.cjs.js +1 -1
  49. package/dist/node_modules/classnames/index.es.js +1 -1
  50. package/dist/node_modules/cose-base/cose-base.cjs.js +1 -1
  51. package/dist/node_modules/cose-base/cose-base.cjs.js.map +1 -1
  52. package/dist/node_modules/cose-base/cose-base.es.js +1 -1
  53. package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.cjs.js +1 -1
  54. package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.cjs.js.map +1 -1
  55. package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.es.js +1 -1
  56. package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.cjs.js +1 -1
  57. package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.cjs.js.map +1 -1
  58. package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.es.js +1 -1
  59. package/dist/node_modules/layout-base/layout-base.cjs.js +1 -1
  60. package/dist/node_modules/layout-base/layout-base.cjs.js.map +1 -1
  61. package/dist/node_modules/layout-base/layout-base.es.js +1 -1
  62. package/package.json +2 -1
@@ -1,73 +1,104 @@
1
- import { useRef as h, useEffect as u } from "react";
2
- const I = ({
3
- sectionRef: a,
4
- enabled: c,
5
- onWake: o
1
+ import { useRef as l, useEffect as u } from "react";
2
+ import { getPlayerKeyboardShortcutAction as k, shouldIgnorePlayerKeyboardShortcutEvent as E } from "./utils/playerKeyboardShortcuts.es.js";
3
+ const A = ({
4
+ sectionRef: f,
5
+ enabled: s,
6
+ keyboardShortcutsEnabled: a = !0,
7
+ onWake: d
6
8
  }) => {
7
- const d = h(c), i = h(o);
9
+ const i = l(s), y = l(a), p = l(d);
8
10
  u(() => {
9
- d.current = c;
10
- }, [c]), u(() => {
11
- i.current = o;
12
- }, [o]), u(() => {
13
- const s = a.current;
14
- if (!s)
11
+ i.current = s;
12
+ }, [s]), u(() => {
13
+ y.current = a;
14
+ }, [a]), u(() => {
15
+ p.current = d;
16
+ }, [d]), u(() => {
17
+ const o = f.current;
18
+ if (!o)
15
19
  return;
16
- const r = /* @__PURE__ */ new Map(), L = () => {
17
- d.current && i.current();
18
- }, l = (e) => {
20
+ const r = /* @__PURE__ */ new Map(), h = () => {
21
+ i.current && p.current();
22
+ }, K = (e) => {
19
23
  if (r.has(e))
20
24
  return;
21
- const n = () => {
22
- r.get(e)?.cleanup(), r.delete(e), l(e);
25
+ const c = () => {
26
+ r.get(e)?.cleanup(), r.delete(e), K(e);
23
27
  };
24
- e.addEventListener("load", n);
25
- const t = e.contentDocument;
26
- if (!t) {
28
+ e.addEventListener("load", c);
29
+ const n = e.contentDocument;
30
+ if (!n) {
27
31
  r.set(e, {
28
32
  cleanup: () => {
29
- e.removeEventListener("load", n);
33
+ e.removeEventListener("load", c);
30
34
  }
31
35
  });
32
36
  return;
33
37
  }
34
- const p = () => {
35
- L();
38
+ const v = () => {
39
+ h();
40
+ }, w = (t) => {
41
+ if (!i.current || !y.current)
42
+ return;
43
+ const I = k(t);
44
+ if (E(t, I))
45
+ return;
46
+ h();
47
+ const L = o.ownerDocument.defaultView;
48
+ if (!L)
49
+ return;
50
+ const D = new L.KeyboardEvent("keydown", {
51
+ altKey: t.altKey,
52
+ bubbles: !0,
53
+ cancelable: !0,
54
+ code: t.code,
55
+ composed: !0,
56
+ ctrlKey: t.ctrlKey,
57
+ key: t.key,
58
+ location: t.location,
59
+ metaKey: t.metaKey,
60
+ repeat: t.repeat,
61
+ shiftKey: t.shiftKey
62
+ });
63
+ o.dispatchEvent(D), D.defaultPrevented && t.preventDefault();
36
64
  };
37
- t.addEventListener(
65
+ n.addEventListener(
38
66
  "click",
39
- p,
67
+ v,
40
68
  !0
41
- ), r.set(e, {
69
+ ), n.addEventListener("keydown", w), r.set(e, {
42
70
  cleanup: () => {
43
- t.removeEventListener(
71
+ n.removeEventListener(
44
72
  "click",
45
- p,
73
+ v,
46
74
  !0
47
- ), e.removeEventListener("load", n);
75
+ ), n.removeEventListener(
76
+ "keydown",
77
+ w
78
+ ), e.removeEventListener("load", c);
48
79
  }
49
80
  });
50
- }, f = () => {
81
+ }, m = () => {
51
82
  const e = Array.from(
52
- s.querySelectorAll(
83
+ o.querySelectorAll(
53
84
  "iframe.content-render-iframe"
54
85
  )
55
86
  );
56
- e.forEach(l), r.forEach((n, t) => {
57
- e.includes(t) || (n.cleanup(), r.delete(t));
87
+ e.forEach(K), r.forEach((c, n) => {
88
+ e.includes(n) || (c.cleanup(), r.delete(n));
58
89
  });
59
- }, v = new MutationObserver(() => {
60
- f();
90
+ }, b = new MutationObserver(() => {
91
+ m();
61
92
  });
62
- return f(), v.observe(s, {
93
+ return m(), b.observe(o, {
63
94
  childList: !0,
64
95
  subtree: !0
65
96
  }), () => {
66
- v.disconnect(), r.forEach((e) => e.cleanup()), r.clear();
97
+ b.disconnect(), r.forEach((e) => e.cleanup()), r.clear();
67
98
  };
68
- }, [a]);
99
+ }, [f]);
69
100
  };
70
101
  export {
71
- I as default
102
+ A as default
72
103
  };
73
104
  //# sourceMappingURL=useWakePlayerFromIframe.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWakePlayerFromIframe.es.js","sources":["../../../src/components/Slide/useWakePlayerFromIframe.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\ntype UseWakePlayerFromIframeParams = {\n sectionRef: React.RefObject<HTMLElement | null>;\n enabled: boolean;\n onWake: () => void;\n};\n\nconst useWakePlayerFromIframe = ({\n sectionRef,\n enabled,\n onWake,\n}: UseWakePlayerFromIframeParams) => {\n const enabledRef = useRef(enabled);\n const onWakeRef = useRef(onWake);\n\n useEffect(() => {\n enabledRef.current = enabled;\n }, [enabled]);\n\n useEffect(() => {\n onWakeRef.current = onWake;\n }, [onWake]);\n\n useEffect(() => {\n const sectionElement = sectionRef.current;\n\n if (!sectionElement) {\n return;\n }\n\n const cleanupMap = new Map<\n HTMLIFrameElement,\n {\n cleanup: () => void;\n }\n >();\n\n const restorePlayerControls = () => {\n if (!enabledRef.current) {\n return;\n }\n\n onWakeRef.current();\n };\n\n const bindIframeDocument = (iframeElement: HTMLIFrameElement) => {\n if (cleanupMap.has(iframeElement)) {\n return;\n }\n\n const handleLoad = () => {\n cleanupMap.get(iframeElement)?.cleanup();\n cleanupMap.delete(iframeElement);\n bindIframeDocument(iframeElement);\n };\n\n iframeElement.addEventListener(\"load\", handleLoad);\n\n const iframeDocument = iframeElement.contentDocument;\n\n if (!iframeDocument) {\n cleanupMap.set(iframeElement, {\n cleanup: () => {\n iframeElement.removeEventListener(\"load\", handleLoad);\n },\n });\n return;\n }\n\n const handleIframeDocumentInteraction = () => {\n restorePlayerControls();\n };\n\n iframeDocument.addEventListener(\n \"click\",\n handleIframeDocumentInteraction,\n true\n );\n\n cleanupMap.set(iframeElement, {\n cleanup: () => {\n iframeDocument.removeEventListener(\n \"click\",\n handleIframeDocumentInteraction,\n true\n );\n iframeElement.removeEventListener(\"load\", handleLoad);\n },\n });\n };\n\n const syncIframeBindings = () => {\n const iframeElements = Array.from(\n sectionElement.querySelectorAll<HTMLIFrameElement>(\n \"iframe.content-render-iframe\"\n )\n );\n\n iframeElements.forEach(bindIframeDocument);\n\n cleanupMap.forEach((value, iframeElement) => {\n if (iframeElements.includes(iframeElement)) {\n return;\n }\n\n value.cleanup();\n cleanupMap.delete(iframeElement);\n });\n };\n\n const mutationObserver = new MutationObserver(() => {\n syncIframeBindings();\n });\n\n syncIframeBindings();\n mutationObserver.observe(sectionElement, {\n childList: true,\n subtree: true,\n });\n\n return () => {\n mutationObserver.disconnect();\n cleanupMap.forEach((value) => value.cleanup());\n cleanupMap.clear();\n };\n }, [sectionRef]);\n};\n\nexport default useWakePlayerFromIframe;\n"],"names":["useWakePlayerFromIframe","sectionRef","enabled","onWake","enabledRef","useRef","onWakeRef","useEffect","sectionElement","cleanupMap","restorePlayerControls","bindIframeDocument","iframeElement","handleLoad","iframeDocument","handleIframeDocumentInteraction","syncIframeBindings","iframeElements","value","mutationObserver"],"mappings":";AAQA,MAAMA,IAA0B,CAAC;AAAA,EAC/B,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAAqC;AACnC,QAAMC,IAAaC,EAAOH,CAAO,GAC3BI,IAAYD,EAAOF,CAAM;AAE/B,EAAAI,EAAU,MAAM;AACd,IAAAH,EAAW,UAAUF;AAAA,EACvB,GAAG,CAACA,CAAO,CAAC,GAEZK,EAAU,MAAM;AACd,IAAAD,EAAU,UAAUH;AAAA,EACtB,GAAG,CAACA,CAAM,CAAC,GAEXI,EAAU,MAAM;AACd,UAAMC,IAAiBP,EAAW;AAElC,QAAI,CAACO;AACH;AAGF,UAAMC,wBAAiB,IAAA,GAOjBC,IAAwB,MAAM;AAClC,MAAKN,EAAW,WAIhBE,EAAU,QAAA;AAAA,IACZ,GAEMK,IAAqB,CAACC,MAAqC;AAC/D,UAAIH,EAAW,IAAIG,CAAa;AAC9B;AAGF,YAAMC,IAAa,MAAM;AACvB,QAAAJ,EAAW,IAAIG,CAAa,GAAG,QAAA,GAC/BH,EAAW,OAAOG,CAAa,GAC/BD,EAAmBC,CAAa;AAAA,MAClC;AAEA,MAAAA,EAAc,iBAAiB,QAAQC,CAAU;AAEjD,YAAMC,IAAiBF,EAAc;AAErC,UAAI,CAACE,GAAgB;AACnB,QAAAL,EAAW,IAAIG,GAAe;AAAA,UAC5B,SAAS,MAAM;AACb,YAAAA,EAAc,oBAAoB,QAAQC,CAAU;AAAA,UACtD;AAAA,QAAA,CACD;AACD;AAAA,MACF;AAEA,YAAME,IAAkC,MAAM;AAC5C,QAAAL,EAAA;AAAA,MACF;AAEA,MAAAI,EAAe;AAAA,QACb;AAAA,QACAC;AAAA,QACA;AAAA,MAAA,GAGFN,EAAW,IAAIG,GAAe;AAAA,QAC5B,SAAS,MAAM;AACb,UAAAE,EAAe;AAAA,YACb;AAAA,YACAC;AAAA,YACA;AAAA,UAAA,GAEFH,EAAc,oBAAoB,QAAQC,CAAU;AAAA,QACtD;AAAA,MAAA,CACD;AAAA,IACH,GAEMG,IAAqB,MAAM;AAC/B,YAAMC,IAAiB,MAAM;AAAA,QAC3BT,EAAe;AAAA,UACb;AAAA,QAAA;AAAA,MACF;AAGF,MAAAS,EAAe,QAAQN,CAAkB,GAEzCF,EAAW,QAAQ,CAACS,GAAON,MAAkB;AAC3C,QAAIK,EAAe,SAASL,CAAa,MAIzCM,EAAM,QAAA,GACNT,EAAW,OAAOG,CAAa;AAAA,MACjC,CAAC;AAAA,IACH,GAEMO,IAAmB,IAAI,iBAAiB,MAAM;AAClD,MAAAH,EAAA;AAAA,IACF,CAAC;AAED,WAAAA,EAAA,GACAG,EAAiB,QAAQX,GAAgB;AAAA,MACvC,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV,GAEM,MAAM;AACX,MAAAW,EAAiB,WAAA,GACjBV,EAAW,QAAQ,CAACS,MAAUA,EAAM,SAAS,GAC7CT,EAAW,MAAA;AAAA,IACb;AAAA,EACF,GAAG,CAACR,CAAU,CAAC;AACjB;"}
1
+ {"version":3,"file":"useWakePlayerFromIframe.es.js","sources":["../../../src/components/Slide/useWakePlayerFromIframe.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport {\n getPlayerKeyboardShortcutAction,\n shouldIgnorePlayerKeyboardShortcutEvent,\n} from \"./utils/playerKeyboardShortcuts\";\n\ntype UseWakePlayerFromIframeParams = {\n sectionRef: React.RefObject<HTMLElement | null>;\n enabled: boolean;\n keyboardShortcutsEnabled?: boolean;\n onWake: () => void;\n};\n\n/**\n * Restores player controls when users interact inside slide iframes and forwards supported keyboard shortcuts to the host document.\n *\n * @param params - Hook options.\n * @param params.sectionRef - Section element used to scope iframe wake events and host shortcut dispatch.\n * @param params.enabled - Enables or disables iframe wake handling.\n * @param params.keyboardShortcutsEnabled - Enables or disables iframe keyboard shortcut forwarding. Defaults to true.\n * @param params.onWake - Callback invoked when iframe interaction should restore player controls.\n * @returns void\n */\nconst useWakePlayerFromIframe = ({\n sectionRef,\n enabled,\n keyboardShortcutsEnabled = true,\n onWake,\n}: UseWakePlayerFromIframeParams) => {\n const enabledRef = useRef(enabled);\n const keyboardShortcutsEnabledRef = useRef(keyboardShortcutsEnabled);\n const onWakeRef = useRef(onWake);\n\n useEffect(() => {\n enabledRef.current = enabled;\n }, [enabled]);\n\n useEffect(() => {\n keyboardShortcutsEnabledRef.current = keyboardShortcutsEnabled;\n }, [keyboardShortcutsEnabled]);\n\n useEffect(() => {\n onWakeRef.current = onWake;\n }, [onWake]);\n\n useEffect(() => {\n const sectionElement = sectionRef.current;\n\n if (!sectionElement) {\n return;\n }\n\n const cleanupMap = new Map<\n HTMLIFrameElement,\n {\n cleanup: () => void;\n }\n >();\n\n const restorePlayerControls = () => {\n if (!enabledRef.current) {\n return;\n }\n\n onWakeRef.current();\n };\n\n const bindIframeDocument = (iframeElement: HTMLIFrameElement) => {\n if (cleanupMap.has(iframeElement)) {\n return;\n }\n\n const handleLoad = () => {\n cleanupMap.get(iframeElement)?.cleanup();\n cleanupMap.delete(iframeElement);\n bindIframeDocument(iframeElement);\n };\n\n iframeElement.addEventListener(\"load\", handleLoad);\n\n const iframeDocument = iframeElement.contentDocument;\n\n if (!iframeDocument) {\n cleanupMap.set(iframeElement, {\n cleanup: () => {\n iframeElement.removeEventListener(\"load\", handleLoad);\n },\n });\n return;\n }\n\n const handleIframeDocumentInteraction = () => {\n restorePlayerControls();\n };\n\n const handleIframeDocumentKeyDown = (event: KeyboardEvent) => {\n if (!enabledRef.current || !keyboardShortcutsEnabledRef.current) {\n return;\n }\n\n const action = getPlayerKeyboardShortcutAction(event);\n\n if (shouldIgnorePlayerKeyboardShortcutEvent(event, action)) {\n return;\n }\n\n restorePlayerControls();\n\n const hostWindow = sectionElement.ownerDocument.defaultView;\n\n if (!hostWindow) {\n return;\n }\n\n const hostKeyboardEvent = new hostWindow.KeyboardEvent(\"keydown\", {\n altKey: event.altKey,\n bubbles: true,\n cancelable: true,\n code: event.code,\n composed: true,\n ctrlKey: event.ctrlKey,\n key: event.key,\n location: event.location,\n metaKey: event.metaKey,\n repeat: event.repeat,\n shiftKey: event.shiftKey,\n });\n\n sectionElement.dispatchEvent(hostKeyboardEvent);\n\n if (hostKeyboardEvent.defaultPrevented) {\n event.preventDefault();\n }\n };\n\n iframeDocument.addEventListener(\n \"click\",\n handleIframeDocumentInteraction,\n true\n );\n iframeDocument.addEventListener(\"keydown\", handleIframeDocumentKeyDown);\n\n cleanupMap.set(iframeElement, {\n cleanup: () => {\n iframeDocument.removeEventListener(\n \"click\",\n handleIframeDocumentInteraction,\n true\n );\n iframeDocument.removeEventListener(\n \"keydown\",\n handleIframeDocumentKeyDown\n );\n iframeElement.removeEventListener(\"load\", handleLoad);\n },\n });\n };\n\n const syncIframeBindings = () => {\n const iframeElements = Array.from(\n sectionElement.querySelectorAll<HTMLIFrameElement>(\n \"iframe.content-render-iframe\"\n )\n );\n\n iframeElements.forEach(bindIframeDocument);\n\n cleanupMap.forEach((value, iframeElement) => {\n if (iframeElements.includes(iframeElement)) {\n return;\n }\n\n value.cleanup();\n cleanupMap.delete(iframeElement);\n });\n };\n\n const mutationObserver = new MutationObserver(() => {\n syncIframeBindings();\n });\n\n syncIframeBindings();\n mutationObserver.observe(sectionElement, {\n childList: true,\n subtree: true,\n });\n\n return () => {\n mutationObserver.disconnect();\n cleanupMap.forEach((value) => value.cleanup());\n cleanupMap.clear();\n };\n }, [sectionRef]);\n};\n\nexport default useWakePlayerFromIframe;\n"],"names":["useWakePlayerFromIframe","sectionRef","enabled","keyboardShortcutsEnabled","onWake","enabledRef","useRef","keyboardShortcutsEnabledRef","onWakeRef","useEffect","sectionElement","cleanupMap","restorePlayerControls","bindIframeDocument","iframeElement","handleLoad","iframeDocument","handleIframeDocumentInteraction","handleIframeDocumentKeyDown","event","action","getPlayerKeyboardShortcutAction","shouldIgnorePlayerKeyboardShortcutEvent","hostWindow","hostKeyboardEvent","syncIframeBindings","iframeElements","value","mutationObserver"],"mappings":";;AAwBA,MAAMA,IAA0B,CAAC;AAAA,EAC/B,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,0BAAAC,IAA2B;AAAA,EAC3B,QAAAC;AACF,MAAqC;AACnC,QAAMC,IAAaC,EAAOJ,CAAO,GAC3BK,IAA8BD,EAAOH,CAAwB,GAC7DK,IAAYF,EAAOF,CAAM;AAE/B,EAAAK,EAAU,MAAM;AACd,IAAAJ,EAAW,UAAUH;AAAA,EACvB,GAAG,CAACA,CAAO,CAAC,GAEZO,EAAU,MAAM;AACd,IAAAF,EAA4B,UAAUJ;AAAA,EACxC,GAAG,CAACA,CAAwB,CAAC,GAE7BM,EAAU,MAAM;AACd,IAAAD,EAAU,UAAUJ;AAAA,EACtB,GAAG,CAACA,CAAM,CAAC,GAEXK,EAAU,MAAM;AACd,UAAMC,IAAiBT,EAAW;AAElC,QAAI,CAACS;AACH;AAGF,UAAMC,wBAAiB,IAAA,GAOjBC,IAAwB,MAAM;AAClC,MAAKP,EAAW,WAIhBG,EAAU,QAAA;AAAA,IACZ,GAEMK,IAAqB,CAACC,MAAqC;AAC/D,UAAIH,EAAW,IAAIG,CAAa;AAC9B;AAGF,YAAMC,IAAa,MAAM;AACvB,QAAAJ,EAAW,IAAIG,CAAa,GAAG,QAAA,GAC/BH,EAAW,OAAOG,CAAa,GAC/BD,EAAmBC,CAAa;AAAA,MAClC;AAEA,MAAAA,EAAc,iBAAiB,QAAQC,CAAU;AAEjD,YAAMC,IAAiBF,EAAc;AAErC,UAAI,CAACE,GAAgB;AACnB,QAAAL,EAAW,IAAIG,GAAe;AAAA,UAC5B,SAAS,MAAM;AACb,YAAAA,EAAc,oBAAoB,QAAQC,CAAU;AAAA,UACtD;AAAA,QAAA,CACD;AACD;AAAA,MACF;AAEA,YAAME,IAAkC,MAAM;AAC5C,QAAAL,EAAA;AAAA,MACF,GAEMM,IAA8B,CAACC,MAAyB;AAC5D,YAAI,CAACd,EAAW,WAAW,CAACE,EAA4B;AACtD;AAGF,cAAMa,IAASC,EAAgCF,CAAK;AAEpD,YAAIG,EAAwCH,GAAOC,CAAM;AACvD;AAGF,QAAAR,EAAA;AAEA,cAAMW,IAAab,EAAe,cAAc;AAEhD,YAAI,CAACa;AACH;AAGF,cAAMC,IAAoB,IAAID,EAAW,cAAc,WAAW;AAAA,UAChE,QAAQJ,EAAM;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,MAAMA,EAAM;AAAA,UACZ,UAAU;AAAA,UACV,SAASA,EAAM;AAAA,UACf,KAAKA,EAAM;AAAA,UACX,UAAUA,EAAM;AAAA,UAChB,SAASA,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,UACd,UAAUA,EAAM;AAAA,QAAA,CACjB;AAED,QAAAT,EAAe,cAAcc,CAAiB,GAE1CA,EAAkB,oBACpBL,EAAM,eAAA;AAAA,MAEV;AAEA,MAAAH,EAAe;AAAA,QACb;AAAA,QACAC;AAAA,QACA;AAAA,MAAA,GAEFD,EAAe,iBAAiB,WAAWE,CAA2B,GAEtEP,EAAW,IAAIG,GAAe;AAAA,QAC5B,SAAS,MAAM;AACb,UAAAE,EAAe;AAAA,YACb;AAAA,YACAC;AAAA,YACA;AAAA,UAAA,GAEFD,EAAe;AAAA,YACb;AAAA,YACAE;AAAA,UAAA,GAEFJ,EAAc,oBAAoB,QAAQC,CAAU;AAAA,QACtD;AAAA,MAAA,CACD;AAAA,IACH,GAEMU,IAAqB,MAAM;AAC/B,YAAMC,IAAiB,MAAM;AAAA,QAC3BhB,EAAe;AAAA,UACb;AAAA,QAAA;AAAA,MACF;AAGF,MAAAgB,EAAe,QAAQb,CAAkB,GAEzCF,EAAW,QAAQ,CAACgB,GAAOb,MAAkB;AAC3C,QAAIY,EAAe,SAASZ,CAAa,MAIzCa,EAAM,QAAA,GACNhB,EAAW,OAAOG,CAAa;AAAA,MACjC,CAAC;AAAA,IACH,GAEMc,IAAmB,IAAI,iBAAiB,MAAM;AAClD,MAAAH,EAAA;AAAA,IACF,CAAC;AAED,WAAAA,EAAA,GACAG,EAAiB,QAAQlB,GAAgB;AAAA,MACvC,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV,GAEM,MAAM;AACX,MAAAkB,EAAiB,WAAA,GACjBjB,EAAW,QAAQ,CAACgB,MAAUA,EAAM,SAAS,GAC7ChB,EAAW,MAAA;AAAA,IACb;AAAA,EACF,GAAG,CAACV,CAAU,CAAC;AACjB;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=({defaultPlaying:e,hasCurrentAudio:t,hasPendingAutoPlay:i,isPausedByUser:r,isPlaybackPaused:a,isPlaying:n,isWaitingForMoreAudio:o})=>!e||r||a?!1:n||i||o||!t;exports.shouldKeepPlayingAfterNavigation=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=({defaultPlaying:e,isPausedByUser:t})=>e&&!t;exports.shouldKeepPlayingAfterNavigation=i;
2
2
  //# sourceMappingURL=playbackPreference.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"playbackPreference.cjs.js","sources":["../../../../src/components/Slide/utils/playbackPreference.ts"],"sourcesContent":["export interface PlaybackNavigationState {\n defaultPlaying: boolean;\n hasCurrentAudio: boolean;\n hasPendingAutoPlay: boolean;\n isPausedByUser: boolean;\n isPlaybackPaused: boolean;\n isPlaying: boolean;\n isWaitingForMoreAudio: boolean;\n}\n\nexport const shouldKeepPlayingAfterNavigation = ({\n defaultPlaying,\n hasCurrentAudio,\n hasPendingAutoPlay,\n isPausedByUser,\n isPlaybackPaused,\n isPlaying,\n isWaitingForMoreAudio,\n}: PlaybackNavigationState) => {\n if (!defaultPlaying || isPausedByUser || isPlaybackPaused) {\n return false;\n }\n\n return (\n isPlaying || hasPendingAutoPlay || isWaitingForMoreAudio || !hasCurrentAudio\n );\n};\n"],"names":["shouldKeepPlayingAfterNavigation","defaultPlaying","hasCurrentAudio","hasPendingAutoPlay","isPausedByUser","isPlaybackPaused","isPlaying","isWaitingForMoreAudio"],"mappings":"gFAUO,MAAMA,EAAmC,CAAC,CAC/C,eAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,UAAAC,EACA,sBAAAC,CACF,IACM,CAACN,GAAkBG,GAAkBC,EAChC,GAIPC,GAAaH,GAAsBI,GAAyB,CAACL"}
1
+ {"version":3,"file":"playbackPreference.cjs.js","sources":["../../../../src/components/Slide/utils/playbackPreference.ts"],"sourcesContent":["export interface PlaybackNavigationState {\n defaultPlaying: boolean;\n isPausedByUser: boolean;\n}\n\nexport const shouldKeepPlayingAfterNavigation = ({\n defaultPlaying,\n isPausedByUser,\n}: PlaybackNavigationState) => {\n return defaultPlaying && !isPausedByUser;\n};\n"],"names":["shouldKeepPlayingAfterNavigation","defaultPlaying","isPausedByUser"],"mappings":"gFAKO,MAAMA,EAAmC,CAAC,CAC/C,eAAAC,EACA,eAAAC,CACF,IACSD,GAAkB,CAACC"}
@@ -1,10 +1,5 @@
1
1
  export interface PlaybackNavigationState {
2
2
  defaultPlaying: boolean;
3
- hasCurrentAudio: boolean;
4
- hasPendingAutoPlay: boolean;
5
3
  isPausedByUser: boolean;
6
- isPlaybackPaused: boolean;
7
- isPlaying: boolean;
8
- isWaitingForMoreAudio: boolean;
9
4
  }
10
- export declare const shouldKeepPlayingAfterNavigation: ({ defaultPlaying, hasCurrentAudio, hasPendingAutoPlay, isPausedByUser, isPlaybackPaused, isPlaying, isWaitingForMoreAudio, }: PlaybackNavigationState) => boolean;
5
+ export declare const shouldKeepPlayingAfterNavigation: ({ defaultPlaying, isPausedByUser, }: PlaybackNavigationState) => boolean;
@@ -1,13 +1,8 @@
1
- const f = ({
1
+ const n = ({
2
2
  defaultPlaying: e,
3
- hasCurrentAudio: r,
4
- hasPendingAutoPlay: t,
5
- isPausedByUser: n,
6
- isPlaybackPaused: a,
7
- isPlaying: i,
8
- isWaitingForMoreAudio: o
9
- }) => !e || n || a ? !1 : i || t || o || !r;
3
+ isPausedByUser: t
4
+ }) => e && !t;
10
5
  export {
11
- f as shouldKeepPlayingAfterNavigation
6
+ n as shouldKeepPlayingAfterNavigation
12
7
  };
13
8
  //# sourceMappingURL=playbackPreference.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"playbackPreference.es.js","sources":["../../../../src/components/Slide/utils/playbackPreference.ts"],"sourcesContent":["export interface PlaybackNavigationState {\n defaultPlaying: boolean;\n hasCurrentAudio: boolean;\n hasPendingAutoPlay: boolean;\n isPausedByUser: boolean;\n isPlaybackPaused: boolean;\n isPlaying: boolean;\n isWaitingForMoreAudio: boolean;\n}\n\nexport const shouldKeepPlayingAfterNavigation = ({\n defaultPlaying,\n hasCurrentAudio,\n hasPendingAutoPlay,\n isPausedByUser,\n isPlaybackPaused,\n isPlaying,\n isWaitingForMoreAudio,\n}: PlaybackNavigationState) => {\n if (!defaultPlaying || isPausedByUser || isPlaybackPaused) {\n return false;\n }\n\n return (\n isPlaying || hasPendingAutoPlay || isWaitingForMoreAudio || !hasCurrentAudio\n );\n};\n"],"names":["shouldKeepPlayingAfterNavigation","defaultPlaying","hasCurrentAudio","hasPendingAutoPlay","isPausedByUser","isPlaybackPaused","isPlaying","isWaitingForMoreAudio"],"mappings":"AAUO,MAAMA,IAAmC,CAAC;AAAA,EAC/C,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,uBAAAC;AACF,MACM,CAACN,KAAkBG,KAAkBC,IAChC,KAIPC,KAAaH,KAAsBI,KAAyB,CAACL;"}
1
+ {"version":3,"file":"playbackPreference.es.js","sources":["../../../../src/components/Slide/utils/playbackPreference.ts"],"sourcesContent":["export interface PlaybackNavigationState {\n defaultPlaying: boolean;\n isPausedByUser: boolean;\n}\n\nexport const shouldKeepPlayingAfterNavigation = ({\n defaultPlaying,\n isPausedByUser,\n}: PlaybackNavigationState) => {\n return defaultPlaying && !isPausedByUser;\n};\n"],"names":["shouldKeepPlayingAfterNavigation","defaultPlaying","isPausedByUser"],"mappings":"AAKO,MAAMA,IAAmC,CAAC;AAAA,EAC/C,gBAAAC;AAAA,EACA,gBAAAC;AACF,MACSD,KAAkB,CAACC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext(null);exports.PlayerKeyboardShortcutContext=e;
2
+ //# sourceMappingURL=playerKeyboardShortcutContext.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playerKeyboardShortcutContext.cjs.js","sources":["../../../../src/components/Slide/utils/playerKeyboardShortcutContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nexport interface PlayerKeyboardShortcutContextValue {\n enabled: boolean;\n ownerId: string;\n}\n\nexport const PlayerKeyboardShortcutContext =\n createContext<PlayerKeyboardShortcutContextValue | null>(null);\n"],"names":["PlayerKeyboardShortcutContext","createContext"],"mappings":"yGAOaA,EACXC,EAAAA,cAAyD,IAAI"}
@@ -0,0 +1,5 @@
1
+ export interface PlayerKeyboardShortcutContextValue {
2
+ enabled: boolean;
3
+ ownerId: string;
4
+ }
5
+ export declare const PlayerKeyboardShortcutContext: import('react').Context<PlayerKeyboardShortcutContextValue | null>;
@@ -0,0 +1,6 @@
1
+ import { createContext as t } from "react";
2
+ const e = t(null);
3
+ export {
4
+ e as PlayerKeyboardShortcutContext
5
+ };
6
+ //# sourceMappingURL=playerKeyboardShortcutContext.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playerKeyboardShortcutContext.es.js","sources":["../../../../src/components/Slide/utils/playerKeyboardShortcutContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nexport interface PlayerKeyboardShortcutContextValue {\n enabled: boolean;\n ownerId: string;\n}\n\nexport const PlayerKeyboardShortcutContext =\n createContext<PlayerKeyboardShortcutContextValue | null>(null);\n"],"names":["PlayerKeyboardShortcutContext","createContext"],"mappings":";AAOO,MAAMA,IACXC,EAAyD,IAAI;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s='input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [role="slider"], [role="listbox"], [role="combobox"], [role="tablist"], [role="menu"], [role="tree"], [role="grid"], [data-player-keyboard-shortcuts-ignore="true"]',i="button, [role='button']",a=new Set;let r=null;const l=e=>{if(!e||typeof e!="object")return null;const t=e;return t.nodeType===3?t.parentElement??null:t},y=e=>{if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return null;const t=e.key.toLowerCase();if(e.code==="Space"||t===" "||t==="spacebar")return"togglePlayback";switch(t){case"arrowleft":return"previous";case"arrowright":return"next";case"f":return"fullscreen";case"c":return"subtitle";case"n":return"interaction";default:return null}},u=e=>{const t=l(e);if(!t)return!1;const o=t.tagName?.toLowerCase();if(o==="input"||o==="textarea"||o==="select"||t.isContentEditable)return!0;const n=t.getAttribute?.("contenteditable");return n!=null?n.toLowerCase()!=="false":!!t.closest?.(s)},c=e=>{const t=l(e);return t?t.tagName?.toLowerCase()==="button"?!0:!!t.closest?.(i):!1},d=(e,t)=>e.defaultPrevented||!t||u(e.target)?!0:t==="togglePlayback"&&c(e.target),b=e=>(a.add(e),(!r||!a.has(r))&&(r=e),()=>{a.delete(e),r===e&&(r=a.values().next().value??null)}),f=e=>{if(a.size===0){r=e;return}a.has(e)&&(r=e)},g=e=>r===e;exports.activatePlayerKeyboardShortcutOwner=f;exports.getPlayerKeyboardShortcutAction=y;exports.isActivePlayerKeyboardShortcutOwner=g;exports.isPlayerKeyboardShortcutEditableTarget=u;exports.isPlayerKeyboardShortcutNativeSpaceTarget=c;exports.registerPlayerKeyboardShortcutOwner=b;exports.shouldIgnorePlayerKeyboardShortcutEvent=d;
2
+ //# sourceMappingURL=playerKeyboardShortcuts.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playerKeyboardShortcuts.cjs.js","sources":["../../../../src/components/Slide/utils/playerKeyboardShortcuts.ts"],"sourcesContent":["export type PlayerKeyboardShortcutAction =\n | \"togglePlayback\"\n | \"previous\"\n | \"next\"\n | \"fullscreen\"\n | \"subtitle\"\n | \"interaction\";\n\nexport interface PlayerKeyboardShortcutEventLike {\n altKey?: boolean;\n code?: string;\n ctrlKey?: boolean;\n defaultPrevented?: boolean;\n key: string;\n metaKey?: boolean;\n shiftKey?: boolean;\n target?: EventTarget | null;\n}\n\ntype KeyboardShortcutTarget = EventTarget & {\n closest?: (selectors: string) => unknown;\n getAttribute?: (qualifiedName: string) => string | null;\n isContentEditable?: boolean;\n nodeType?: number;\n parentElement?: Element | null;\n tagName?: string;\n};\n\nconst EDITABLE_SELECTOR =\n 'input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role=\"textbox\"], [role=\"slider\"], [role=\"listbox\"], [role=\"combobox\"], [role=\"tablist\"], [role=\"menu\"], [role=\"tree\"], [role=\"grid\"], [data-player-keyboard-shortcuts-ignore=\"true\"]';\n\nconst NATIVE_SPACE_TARGET_SELECTOR = \"button, [role='button']\";\n\nconst playerKeyboardShortcutOwners = new Set<string>();\nlet activePlayerKeyboardShortcutOwnerId: string | null = null;\n\nconst getTargetCandidate = (\n target: EventTarget | null | undefined\n): KeyboardShortcutTarget | null => {\n if (!target || typeof target !== \"object\") {\n return null;\n }\n\n const candidate = target as KeyboardShortcutTarget;\n\n if (candidate.nodeType === 3) {\n return (candidate.parentElement as KeyboardShortcutTarget | null) ?? null;\n }\n\n return candidate;\n};\n\nexport const getPlayerKeyboardShortcutAction = (\n event: PlayerKeyboardShortcutEventLike\n): PlayerKeyboardShortcutAction | null => {\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return null;\n }\n\n const normalizedKey = event.key.toLowerCase();\n\n if (\n event.code === \"Space\" ||\n normalizedKey === \" \" ||\n normalizedKey === \"spacebar\"\n ) {\n return \"togglePlayback\";\n }\n\n switch (normalizedKey) {\n case \"arrowleft\":\n return \"previous\";\n case \"arrowright\":\n return \"next\";\n case \"f\":\n return \"fullscreen\";\n case \"c\":\n return \"subtitle\";\n case \"n\":\n return \"interaction\";\n default:\n return null;\n }\n};\n\nexport const isPlayerKeyboardShortcutEditableTarget = (\n target: EventTarget | null | undefined\n) => {\n const candidate = getTargetCandidate(target);\n\n if (!candidate) {\n return false;\n }\n\n const tagName = candidate.tagName?.toLowerCase();\n\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n return true;\n }\n\n if (candidate.isContentEditable) {\n return true;\n }\n\n const contentEditable = candidate.getAttribute?.(\"contenteditable\");\n\n if (contentEditable !== undefined && contentEditable !== null) {\n return contentEditable.toLowerCase() !== \"false\";\n }\n\n return Boolean(candidate.closest?.(EDITABLE_SELECTOR));\n};\n\nexport const isPlayerKeyboardShortcutNativeSpaceTarget = (\n target: EventTarget | null | undefined\n) => {\n const candidate = getTargetCandidate(target);\n\n if (!candidate) {\n return false;\n }\n\n const tagName = candidate.tagName?.toLowerCase();\n\n if (tagName === \"button\") {\n return true;\n }\n\n return Boolean(candidate.closest?.(NATIVE_SPACE_TARGET_SELECTOR));\n};\n\nexport const shouldIgnorePlayerKeyboardShortcutEvent = (\n event: PlayerKeyboardShortcutEventLike,\n action: PlayerKeyboardShortcutAction | null\n) => {\n if (event.defaultPrevented || !action) {\n return true;\n }\n\n if (isPlayerKeyboardShortcutEditableTarget(event.target)) {\n return true;\n }\n\n return (\n action === \"togglePlayback\" &&\n isPlayerKeyboardShortcutNativeSpaceTarget(event.target)\n );\n};\n\nexport const registerPlayerKeyboardShortcutOwner = (ownerId: string) => {\n playerKeyboardShortcutOwners.add(ownerId);\n\n if (\n !activePlayerKeyboardShortcutOwnerId ||\n !playerKeyboardShortcutOwners.has(activePlayerKeyboardShortcutOwnerId)\n ) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n }\n\n return () => {\n playerKeyboardShortcutOwners.delete(ownerId);\n\n if (activePlayerKeyboardShortcutOwnerId !== ownerId) {\n return;\n }\n\n activePlayerKeyboardShortcutOwnerId =\n playerKeyboardShortcutOwners.values().next().value ?? null;\n };\n};\n\nexport const activatePlayerKeyboardShortcutOwner = (ownerId: string) => {\n if (playerKeyboardShortcutOwners.size === 0) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n return;\n }\n\n if (playerKeyboardShortcutOwners.has(ownerId)) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n }\n};\n\nexport const isActivePlayerKeyboardShortcutOwner = (ownerId: string) =>\n activePlayerKeyboardShortcutOwnerId === ownerId;\n\nexport const resetPlayerKeyboardShortcutOwnersForTest = () => {\n playerKeyboardShortcutOwners.clear();\n activePlayerKeyboardShortcutOwnerId = null;\n};\n"],"names":["EDITABLE_SELECTOR","NATIVE_SPACE_TARGET_SELECTOR","playerKeyboardShortcutOwners","activePlayerKeyboardShortcutOwnerId","getTargetCandidate","target","candidate","getPlayerKeyboardShortcutAction","event","normalizedKey","isPlayerKeyboardShortcutEditableTarget","tagName","contentEditable","isPlayerKeyboardShortcutNativeSpaceTarget","shouldIgnorePlayerKeyboardShortcutEvent","action","registerPlayerKeyboardShortcutOwner","ownerId","activatePlayerKeyboardShortcutOwner","isActivePlayerKeyboardShortcutOwner"],"mappings":"gFA4BA,MAAMA,EACJ,mQAEIC,EAA+B,0BAE/BC,MAAmC,IACzC,IAAIC,EAAqD,KAEzD,MAAMC,EACJC,GACkC,CAClC,GAAI,CAACA,GAAU,OAAOA,GAAW,SAC/B,OAAO,KAGT,MAAMC,EAAYD,EAElB,OAAIC,EAAU,WAAa,EACjBA,EAAU,eAAmD,KAGhEA,CACT,EAEaC,EACXC,GACwC,CACxC,GAAIA,EAAM,QAAUA,EAAM,SAAWA,EAAM,SAAWA,EAAM,SAC1D,OAAO,KAGT,MAAMC,EAAgBD,EAAM,IAAI,YAAA,EAEhC,GACEA,EAAM,OAAS,SACfC,IAAkB,KAClBA,IAAkB,WAElB,MAAO,iBAGT,OAAQA,EAAA,CACN,IAAK,YACH,MAAO,WACT,IAAK,aACH,MAAO,OACT,IAAK,IACH,MAAO,aACT,IAAK,IACH,MAAO,WACT,IAAK,IACH,MAAO,cACT,QACE,OAAO,IAAA,CAEb,EAEaC,EACXL,GACG,CACH,MAAMC,EAAYF,EAAmBC,CAAM,EAE3C,GAAI,CAACC,EACH,MAAO,GAGT,MAAMK,EAAUL,EAAU,SAAS,YAAA,EAMnC,GAJIK,IAAY,SAAWA,IAAY,YAAcA,IAAY,UAI7DL,EAAU,kBACZ,MAAO,GAGT,MAAMM,EAAkBN,EAAU,eAAe,iBAAiB,EAElE,OAAqCM,GAAoB,KAChDA,EAAgB,gBAAkB,QAGpC,EAAQN,EAAU,UAAUN,CAAiB,CACtD,EAEaa,EACXR,GACG,CACH,MAAMC,EAAYF,EAAmBC,CAAM,EAE3C,OAAKC,EAIWA,EAAU,SAAS,YAAA,IAEnB,SACP,GAGF,EAAQA,EAAU,UAAUL,CAA4B,EATtD,EAUX,EAEaa,EAA0C,CACrDN,EACAO,IAEIP,EAAM,kBAAoB,CAACO,GAI3BL,EAAuCF,EAAM,MAAM,EAC9C,GAIPO,IAAW,kBACXF,EAA0CL,EAAM,MAAM,EAI7CQ,EAAuCC,IAClDf,EAA6B,IAAIe,CAAO,GAGtC,CAACd,GACD,CAACD,EAA6B,IAAIC,CAAmC,KAErEA,EAAsCc,GAGjC,IAAM,CACXf,EAA6B,OAAOe,CAAO,EAEvCd,IAAwCc,IAI5Cd,EACED,EAA6B,OAAA,EAAS,KAAA,EAAO,OAAS,KAC1D,GAGWgB,EAAuCD,GAAoB,CACtE,GAAIf,EAA6B,OAAS,EAAG,CAC3CC,EAAsCc,EACtC,MACF,CAEIf,EAA6B,IAAIe,CAAO,IAC1Cd,EAAsCc,EAE1C,EAEaE,EAAuCF,GAClDd,IAAwCc"}
@@ -0,0 +1,19 @@
1
+ export type PlayerKeyboardShortcutAction = "togglePlayback" | "previous" | "next" | "fullscreen" | "subtitle" | "interaction";
2
+ export interface PlayerKeyboardShortcutEventLike {
3
+ altKey?: boolean;
4
+ code?: string;
5
+ ctrlKey?: boolean;
6
+ defaultPrevented?: boolean;
7
+ key: string;
8
+ metaKey?: boolean;
9
+ shiftKey?: boolean;
10
+ target?: EventTarget | null;
11
+ }
12
+ export declare const getPlayerKeyboardShortcutAction: (event: PlayerKeyboardShortcutEventLike) => PlayerKeyboardShortcutAction | null;
13
+ export declare const isPlayerKeyboardShortcutEditableTarget: (target: EventTarget | null | undefined) => boolean;
14
+ export declare const isPlayerKeyboardShortcutNativeSpaceTarget: (target: EventTarget | null | undefined) => boolean;
15
+ export declare const shouldIgnorePlayerKeyboardShortcutEvent: (event: PlayerKeyboardShortcutEventLike, action: PlayerKeyboardShortcutAction | null) => boolean;
16
+ export declare const registerPlayerKeyboardShortcutOwner: (ownerId: string) => () => void;
17
+ export declare const activatePlayerKeyboardShortcutOwner: (ownerId: string) => void;
18
+ export declare const isActivePlayerKeyboardShortcutOwner: (ownerId: string) => boolean;
19
+ export declare const resetPlayerKeyboardShortcutOwnersForTest: () => void;
@@ -0,0 +1,58 @@
1
+ const u = 'input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [role="slider"], [role="listbox"], [role="combobox"], [role="tablist"], [role="menu"], [role="tree"], [role="grid"], [data-player-keyboard-shortcuts-ignore="true"]', c = "button, [role='button']", a = /* @__PURE__ */ new Set();
2
+ let r = null;
3
+ const l = (e) => {
4
+ if (!e || typeof e != "object")
5
+ return null;
6
+ const t = e;
7
+ return t.nodeType === 3 ? t.parentElement ?? null : t;
8
+ }, d = (e) => {
9
+ if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey)
10
+ return null;
11
+ const t = e.key.toLowerCase();
12
+ if (e.code === "Space" || t === " " || t === "spacebar")
13
+ return "togglePlayback";
14
+ switch (t) {
15
+ case "arrowleft":
16
+ return "previous";
17
+ case "arrowright":
18
+ return "next";
19
+ case "f":
20
+ return "fullscreen";
21
+ case "c":
22
+ return "subtitle";
23
+ case "n":
24
+ return "interaction";
25
+ default:
26
+ return null;
27
+ }
28
+ }, s = (e) => {
29
+ const t = l(e);
30
+ if (!t)
31
+ return !1;
32
+ const o = t.tagName?.toLowerCase();
33
+ if (o === "input" || o === "textarea" || o === "select" || t.isContentEditable)
34
+ return !0;
35
+ const n = t.getAttribute?.("contenteditable");
36
+ return n != null ? n.toLowerCase() !== "false" : !!t.closest?.(u);
37
+ }, i = (e) => {
38
+ const t = l(e);
39
+ return t ? t.tagName?.toLowerCase() === "button" ? !0 : !!t.closest?.(c) : !1;
40
+ }, b = (e, t) => e.defaultPrevented || !t || s(e.target) ? !0 : t === "togglePlayback" && i(e.target), y = (e) => (a.add(e), (!r || !a.has(r)) && (r = e), () => {
41
+ a.delete(e), r === e && (r = a.values().next().value ?? null);
42
+ }), f = (e) => {
43
+ if (a.size === 0) {
44
+ r = e;
45
+ return;
46
+ }
47
+ a.has(e) && (r = e);
48
+ }, g = (e) => r === e;
49
+ export {
50
+ f as activatePlayerKeyboardShortcutOwner,
51
+ d as getPlayerKeyboardShortcutAction,
52
+ g as isActivePlayerKeyboardShortcutOwner,
53
+ s as isPlayerKeyboardShortcutEditableTarget,
54
+ i as isPlayerKeyboardShortcutNativeSpaceTarget,
55
+ y as registerPlayerKeyboardShortcutOwner,
56
+ b as shouldIgnorePlayerKeyboardShortcutEvent
57
+ };
58
+ //# sourceMappingURL=playerKeyboardShortcuts.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playerKeyboardShortcuts.es.js","sources":["../../../../src/components/Slide/utils/playerKeyboardShortcuts.ts"],"sourcesContent":["export type PlayerKeyboardShortcutAction =\n | \"togglePlayback\"\n | \"previous\"\n | \"next\"\n | \"fullscreen\"\n | \"subtitle\"\n | \"interaction\";\n\nexport interface PlayerKeyboardShortcutEventLike {\n altKey?: boolean;\n code?: string;\n ctrlKey?: boolean;\n defaultPrevented?: boolean;\n key: string;\n metaKey?: boolean;\n shiftKey?: boolean;\n target?: EventTarget | null;\n}\n\ntype KeyboardShortcutTarget = EventTarget & {\n closest?: (selectors: string) => unknown;\n getAttribute?: (qualifiedName: string) => string | null;\n isContentEditable?: boolean;\n nodeType?: number;\n parentElement?: Element | null;\n tagName?: string;\n};\n\nconst EDITABLE_SELECTOR =\n 'input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role=\"textbox\"], [role=\"slider\"], [role=\"listbox\"], [role=\"combobox\"], [role=\"tablist\"], [role=\"menu\"], [role=\"tree\"], [role=\"grid\"], [data-player-keyboard-shortcuts-ignore=\"true\"]';\n\nconst NATIVE_SPACE_TARGET_SELECTOR = \"button, [role='button']\";\n\nconst playerKeyboardShortcutOwners = new Set<string>();\nlet activePlayerKeyboardShortcutOwnerId: string | null = null;\n\nconst getTargetCandidate = (\n target: EventTarget | null | undefined\n): KeyboardShortcutTarget | null => {\n if (!target || typeof target !== \"object\") {\n return null;\n }\n\n const candidate = target as KeyboardShortcutTarget;\n\n if (candidate.nodeType === 3) {\n return (candidate.parentElement as KeyboardShortcutTarget | null) ?? null;\n }\n\n return candidate;\n};\n\nexport const getPlayerKeyboardShortcutAction = (\n event: PlayerKeyboardShortcutEventLike\n): PlayerKeyboardShortcutAction | null => {\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return null;\n }\n\n const normalizedKey = event.key.toLowerCase();\n\n if (\n event.code === \"Space\" ||\n normalizedKey === \" \" ||\n normalizedKey === \"spacebar\"\n ) {\n return \"togglePlayback\";\n }\n\n switch (normalizedKey) {\n case \"arrowleft\":\n return \"previous\";\n case \"arrowright\":\n return \"next\";\n case \"f\":\n return \"fullscreen\";\n case \"c\":\n return \"subtitle\";\n case \"n\":\n return \"interaction\";\n default:\n return null;\n }\n};\n\nexport const isPlayerKeyboardShortcutEditableTarget = (\n target: EventTarget | null | undefined\n) => {\n const candidate = getTargetCandidate(target);\n\n if (!candidate) {\n return false;\n }\n\n const tagName = candidate.tagName?.toLowerCase();\n\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n return true;\n }\n\n if (candidate.isContentEditable) {\n return true;\n }\n\n const contentEditable = candidate.getAttribute?.(\"contenteditable\");\n\n if (contentEditable !== undefined && contentEditable !== null) {\n return contentEditable.toLowerCase() !== \"false\";\n }\n\n return Boolean(candidate.closest?.(EDITABLE_SELECTOR));\n};\n\nexport const isPlayerKeyboardShortcutNativeSpaceTarget = (\n target: EventTarget | null | undefined\n) => {\n const candidate = getTargetCandidate(target);\n\n if (!candidate) {\n return false;\n }\n\n const tagName = candidate.tagName?.toLowerCase();\n\n if (tagName === \"button\") {\n return true;\n }\n\n return Boolean(candidate.closest?.(NATIVE_SPACE_TARGET_SELECTOR));\n};\n\nexport const shouldIgnorePlayerKeyboardShortcutEvent = (\n event: PlayerKeyboardShortcutEventLike,\n action: PlayerKeyboardShortcutAction | null\n) => {\n if (event.defaultPrevented || !action) {\n return true;\n }\n\n if (isPlayerKeyboardShortcutEditableTarget(event.target)) {\n return true;\n }\n\n return (\n action === \"togglePlayback\" &&\n isPlayerKeyboardShortcutNativeSpaceTarget(event.target)\n );\n};\n\nexport const registerPlayerKeyboardShortcutOwner = (ownerId: string) => {\n playerKeyboardShortcutOwners.add(ownerId);\n\n if (\n !activePlayerKeyboardShortcutOwnerId ||\n !playerKeyboardShortcutOwners.has(activePlayerKeyboardShortcutOwnerId)\n ) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n }\n\n return () => {\n playerKeyboardShortcutOwners.delete(ownerId);\n\n if (activePlayerKeyboardShortcutOwnerId !== ownerId) {\n return;\n }\n\n activePlayerKeyboardShortcutOwnerId =\n playerKeyboardShortcutOwners.values().next().value ?? null;\n };\n};\n\nexport const activatePlayerKeyboardShortcutOwner = (ownerId: string) => {\n if (playerKeyboardShortcutOwners.size === 0) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n return;\n }\n\n if (playerKeyboardShortcutOwners.has(ownerId)) {\n activePlayerKeyboardShortcutOwnerId = ownerId;\n }\n};\n\nexport const isActivePlayerKeyboardShortcutOwner = (ownerId: string) =>\n activePlayerKeyboardShortcutOwnerId === ownerId;\n\nexport const resetPlayerKeyboardShortcutOwnersForTest = () => {\n playerKeyboardShortcutOwners.clear();\n activePlayerKeyboardShortcutOwnerId = null;\n};\n"],"names":["EDITABLE_SELECTOR","NATIVE_SPACE_TARGET_SELECTOR","playerKeyboardShortcutOwners","activePlayerKeyboardShortcutOwnerId","getTargetCandidate","target","candidate","getPlayerKeyboardShortcutAction","event","normalizedKey","isPlayerKeyboardShortcutEditableTarget","tagName","contentEditable","isPlayerKeyboardShortcutNativeSpaceTarget","shouldIgnorePlayerKeyboardShortcutEvent","action","registerPlayerKeyboardShortcutOwner","ownerId","activatePlayerKeyboardShortcutOwner","isActivePlayerKeyboardShortcutOwner"],"mappings":"AA4BA,MAAMA,IACJ,oQAEIC,IAA+B,2BAE/BC,wBAAmC,IAAA;AACzC,IAAIC,IAAqD;AAEzD,MAAMC,IAAqB,CACzBC,MACkC;AAClC,MAAI,CAACA,KAAU,OAAOA,KAAW;AAC/B,WAAO;AAGT,QAAMC,IAAYD;AAElB,SAAIC,EAAU,aAAa,IACjBA,EAAU,iBAAmD,OAGhEA;AACT,GAEaC,IAAkC,CAC7CC,MACwC;AACxC,MAAIA,EAAM,UAAUA,EAAM,WAAWA,EAAM,WAAWA,EAAM;AAC1D,WAAO;AAGT,QAAMC,IAAgBD,EAAM,IAAI,YAAA;AAEhC,MACEA,EAAM,SAAS,WACfC,MAAkB,OAClBA,MAAkB;AAElB,WAAO;AAGT,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb,GAEaC,IAAyC,CACpDL,MACG;AACH,QAAMC,IAAYF,EAAmBC,CAAM;AAE3C,MAAI,CAACC;AACH,WAAO;AAGT,QAAMK,IAAUL,EAAU,SAAS,YAAA;AAMnC,MAJIK,MAAY,WAAWA,MAAY,cAAcA,MAAY,YAI7DL,EAAU;AACZ,WAAO;AAGT,QAAMM,IAAkBN,EAAU,eAAe,iBAAiB;AAElE,SAAqCM,KAAoB,OAChDA,EAAgB,kBAAkB,UAGpC,EAAQN,EAAU,UAAUN,CAAiB;AACtD,GAEaa,IAA4C,CACvDR,MACG;AACH,QAAMC,IAAYF,EAAmBC,CAAM;AAE3C,SAAKC,IAIWA,EAAU,SAAS,YAAA,MAEnB,WACP,KAGF,EAAQA,EAAU,UAAUL,CAA4B,IATtD;AAUX,GAEaa,IAA0C,CACrDN,GACAO,MAEIP,EAAM,oBAAoB,CAACO,KAI3BL,EAAuCF,EAAM,MAAM,IAC9C,KAIPO,MAAW,oBACXF,EAA0CL,EAAM,MAAM,GAI7CQ,IAAsC,CAACC,OAClDf,EAA6B,IAAIe,CAAO,IAGtC,CAACd,KACD,CAACD,EAA6B,IAAIC,CAAmC,OAErEA,IAAsCc,IAGjC,MAAM;AAGX,EAFAf,EAA6B,OAAOe,CAAO,GAEvCd,MAAwCc,MAI5Cd,IACED,EAA6B,OAAA,EAAS,KAAA,EAAO,SAAS;AAC1D,IAGWgB,IAAsC,CAACD,MAAoB;AACtE,MAAIf,EAA6B,SAAS,GAAG;AAC3C,IAAAC,IAAsCc;AACtC;AAAA,EACF;AAEA,EAAIf,EAA6B,IAAIe,CAAO,MAC1Cd,IAAsCc;AAE1C,GAEaE,IAAsC,CAACF,MAClDd,MAAwCc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../_virtual/index.cjs9.js"),v=require("./constants.cjs.js");var d;function x(){if(d)return c.__exports;d=1,Object.defineProperty(c.__exports,"__esModule",{value:!0}),c.__exports.sanitizeUrl=void 0;var e=v.__require();function m(r){return e.relativeFirstCharacters.indexOf(r[0])>-1}function p(r){var i=r.replace(e.ctrlCharactersRegex,"");return i.replace(e.htmlEntitiesRegex,function(t,a){return String.fromCharCode(a)})}function R(r){return URL.canParse(r)}function l(r){try{return decodeURIComponent(r)}catch{return r}}function f(r){if(!r)return e.BLANK_URL;var i,t=l(r.trim());do t=p(t).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),t=l(t),i=t.match(e.ctrlCharactersRegex)||t.match(e.htmlEntitiesRegex)||t.match(e.htmlCtrlEntityRegex)||t.match(e.whitespaceEscapeCharsRegex);while(i&&i.length>0);var a=t;if(!a)return e.BLANK_URL;if(m(a))return a;var u=a.trimStart(),h=u.match(e.urlSchemeRegex);if(!h)return a;var n=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(n))return e.BLANK_URL;var s=u.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return s;if(n==="http:"||n==="https:"){if(!R(s))return e.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}return c.__exports.sanitizeUrl=f,c.__exports}exports.__require=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../_virtual/index.cjs8.js"),v=require("./constants.cjs.js");var d;function x(){if(d)return c.__exports;d=1,Object.defineProperty(c.__exports,"__esModule",{value:!0}),c.__exports.sanitizeUrl=void 0;var e=v.__require();function m(r){return e.relativeFirstCharacters.indexOf(r[0])>-1}function p(r){var i=r.replace(e.ctrlCharactersRegex,"");return i.replace(e.htmlEntitiesRegex,function(t,a){return String.fromCharCode(a)})}function R(r){return URL.canParse(r)}function l(r){try{return decodeURIComponent(r)}catch{return r}}function f(r){if(!r)return e.BLANK_URL;var i,t=l(r.trim());do t=p(t).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),t=l(t),i=t.match(e.ctrlCharactersRegex)||t.match(e.htmlEntitiesRegex)||t.match(e.htmlCtrlEntityRegex)||t.match(e.whitespaceEscapeCharsRegex);while(i&&i.length>0);var a=t;if(!a)return e.BLANK_URL;if(m(a))return a;var u=a.trimStart(),h=u.match(e.urlSchemeRegex);if(!h)return a;var n=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(n))return e.BLANK_URL;var s=u.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return s;if(n==="http:"||n==="https:"){if(!R(s))return e.BLANK_URL;var o=new URL(s);return o.protocol=o.protocol.toLowerCase(),o.hostname=o.hostname.toLowerCase(),o.toString()}return s}return c.__exports.sanitizeUrl=f,c.__exports}exports.__require=x;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as c } from "../../../../_virtual/index.es9.js";
1
+ import { __exports as c } from "../../../../_virtual/index.es8.js";
2
2
  import { __require as v } from "./constants.es.js";
3
3
  var m;
4
4
  function g() {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../_virtual/index.cjs8.js");/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../_virtual/index.cjs9.js");/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
@@ -1,4 +1,4 @@
1
- import { __module as s } from "../../_virtual/index.es8.js";
1
+ import { __module as s } from "../../_virtual/index.es9.js";
2
2
  /*!
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../_virtual/cose-base.cjs2.js"),Q=require("../layout-base/layout-base.cjs.js");var $=I.__module.exports,X;function J(){return X||(X=1,(function(W,k){(function(y,w){W.exports=w(Q.__require())})($,function(x){return(function(y){var w={};function l(n){if(w[n])return w[n].exports;var g=w[n]={i:n,l:!1,exports:{}};return y[n].call(g.exports,g,g.exports,l),g.l=!0,g.exports}return l.m=y,l.c=w,l.i=function(n){return n},l.d=function(n,g,p){l.o(n,g)||Object.defineProperty(n,g,{configurable:!1,enumerable:!0,get:p})},l.n=function(n){var g=n&&n.__esModule?function(){return n.default}:function(){return n};return l.d(g,"a",g),g},l.o=function(n,g){return Object.prototype.hasOwnProperty.call(n,g)},l.p="",l(l.s=7)})([(function(y,w){y.exports=x}),(function(y,w,l){var n=l(0).FDLayoutConstants;function g(){}for(var p in n)g[p]=n[p];g.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,g.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,g.DEFAULT_COMPONENT_SEPERATION=60,g.TILE=!0,g.TILING_PADDING_VERTICAL=10,g.TILING_PADDING_HORIZONTAL=10,g.TREE_REDUCTION_ON_INCREMENTAL=!1,y.exports=g}),(function(y,w,l){var n=l(0).FDLayoutEdge;function g(G,u,E){n.call(this,G,u,E)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).LGraph;function g(G,u,E){n.call(this,G,u,E)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).LGraphManager;function g(G){n.call(this,G)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).FDLayoutNode,g=l(0).IMath;function p(u,E,T,L){n.call(this,u,E,T,L)}p.prototype=Object.create(n.prototype);for(var G in n)p[G]=n[G];p.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*g.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*g.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},p.prototype.propogateDisplacementToChildren=function(u,E){for(var T=this.getChild().getNodes(),L,P=0;P<T.length;P++)L=T[P],L.getChild()==null?(L.moveBy(u,E),L.displacementX+=u,L.displacementY+=E):L.propogateDisplacementToChildren(u,E)},p.prototype.setPred1=function(u){this.pred1=u},p.prototype.getPred1=function(){return pred1},p.prototype.getPred2=function(){return pred2},p.prototype.setNext=function(u){this.next=u},p.prototype.getNext=function(){return next},p.prototype.setProcessed=function(u){this.processed=u},p.prototype.isProcessed=function(){return processed},y.exports=p}),(function(y,w,l){var n=l(0).FDLayout,g=l(4),p=l(3),G=l(5),u=l(2),E=l(1),T=l(0).FDLayoutConstants,L=l(0).LayoutConstants,P=l(0).Point,R=l(0).PointD,V=l(0).Layout,B=l(0).Integer,Z=l(0).IGeometry,j=l(0).LGraph,_=l(0).Transform;function d(){n.call(this),this.toBeTiled={}}d.prototype=Object.create(n.prototype);for(var U in n)d[U]=n[U];d.prototype.newGraphManager=function(){var t=new g(this);return this.graphManager=t,t},d.prototype.newGraph=function(t){return new p(null,this.graphManager,t)},d.prototype.newNode=function(t){return new G(this.graphManager,t)},d.prototype.newEdge=function(t){return new u(null,null,t)},d.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.isSubLayout||(E.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=E.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=E.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=T.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=T.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=T.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=T.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=T.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=T.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/T.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=T.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},d.prototype.layout=function(){var t=L.DEFAULT_CREATE_BENDS_AS_NEEDED;return t&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},d.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(E.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),r=this.nodesWithGravity.filter(function(a){return e.has(a)});this.graphManager.setAllNodesToApplyGravitation(r)}}else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),r=this.nodesWithGravity.filter(function(i){return e.has(i)});this.graphManager.setAllNodesToApplyGravitation(r),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},d.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%T.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(o){return t.has(o)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=T.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=T.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var r=!this.isTreeGrowing&&!this.isGrowthFinished,i=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(r,i),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},d.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},r=0;r<t.length;r++){var i=t[r].rect,o=t[r].id;e[o]={id:o,x:i.getCenterX(),y:i.getCenterY(),w:i.width,h:i.height}}return e},d.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if(T.ANIMATE==="during")this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},d.prototype.calculateNodesToApplyGravitationTo=function(){var t=[],e,r=this.graphManager.getGraphs(),i=r.length,o;for(o=0;o<i;o++)e=r[o],e.updateConnected(),e.isConnected||(t=t.concat(e.getNodes()));return t},d.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set,r;for(r=0;r<t.length;r++){var i=t[r];if(!e.has(i)){var o=i.getSource(),a=i.getTarget();if(o==a)i.getBendpoints().push(new R),i.getBendpoints().push(new R),this.createDummyNodesForBendpoints(i),e.add(i);else{var s=[];if(s=s.concat(o.getEdgeListToNode(a)),s=s.concat(a.getEdgeListToNode(o)),!e.has(s[0])){if(s.length>1){var h;for(h=0;h<s.length;h++){var f=s[h];f.getBendpoints().push(new R),this.createDummyNodesForBendpoints(f)}}s.forEach(function(C){e.add(C)})}}}if(e.size==t.length)break}},d.prototype.positionNodesRadially=function(t){for(var e=new P(0,0),r=Math.ceil(Math.sqrt(t.length)),i=0,o=0,a=0,s=new R(0,0),h=0;h<t.length;h++){h%r==0&&(a=0,o=i,h!=0&&(o+=E.DEFAULT_COMPONENT_SEPERATION),i=0);var f=t[h],C=V.findCenterOfTree(f);e.x=a,e.y=o,s=d.radialLayout(f,C,e),s.y>i&&(i=Math.floor(s.y)),a=Math.floor(s.x+E.DEFAULT_COMPONENT_SEPERATION)}this.transform(new R(L.WORLD_CENTER_X-s.x/2,L.WORLD_CENTER_Y-s.y/2))},d.radialLayout=function(t,e,r){var i=Math.max(this.maxDiagonalInTree(t),E.DEFAULT_RADIAL_SEPARATION);d.branchRadialLayout(e,null,0,359,0,i);var o=j.calculateBounds(t),a=new _;a.setDeviceOrgX(o.getMinX()),a.setDeviceOrgY(o.getMinY()),a.setWorldOrgX(r.x),a.setWorldOrgY(r.y);for(var s=0;s<t.length;s++){var h=t[s];h.transform(a)}var f=new R(o.getMaxX(),o.getMaxY());return a.inverseTransformPoint(f)},d.branchRadialLayout=function(t,e,r,i,o,a){var s=(i-r+1)/2;s<0&&(s+=180);var h=(s+r)%360,f=h*Z.TWO_PI/360,C=o*Math.cos(f),m=o*Math.sin(f);t.setCenter(C,m);var N=[];N=N.concat(t.getEdges());var c=N.length;e!=null&&c--;for(var v=0,A=N.length,D,O=t.getEdgesBetween(e);O.length>1;){var F=O[0];O.splice(0,1);var M=N.indexOf(F);M>=0&&N.splice(M,1),A--,c--}e!=null?D=(N.indexOf(O[0])+1)%A:D=0;for(var b=Math.abs(i-r)/c,S=D;v!=c;S=++S%A){var Y=N[S].getOtherEnd(t);if(Y!=e){var H=(r+v*b)%360,K=(H+b)%360;d.branchRadialLayout(Y,t,H,K,o+a,a),v++}}},d.maxDiagonalInTree=function(t){for(var e=B.MIN_VALUE,r=0;r<t.length;r++){var i=t[r],o=i.getDiagonal();o>e&&(e=o)}return e},d.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},d.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var r=[],i=this.graphManager.getAllNodes(),o=0;o<i.length;o++){var a=i[o],s=a.getParent();this.getNodeDegreeWithChildren(a)===0&&(s.id==null||!this.getToBeTiled(s))&&r.push(a)}for(var o=0;o<r.length;o++){var a=r[o],h=a.getParent().id;typeof e[h]>"u"&&(e[h]=[]),e[h]=e[h].concat(a)}Object.keys(e).forEach(function(f){if(e[f].length>1){var C="DummyCompound_"+f;t.memberGroups[C]=e[f];var m=e[f][0].getParent(),N=new G(t.graphManager);N.id=C,N.paddingLeft=m.paddingLeft||0,N.paddingRight=m.paddingRight||0,N.paddingBottom=m.paddingBottom||0,N.paddingTop=m.paddingTop||0,t.idToDummyNode[C]=N;var c=t.getGraphManager().add(t.newGraph(),N),v=m.getChild();v.add(N);for(var A=0;A<e[f].length;A++){var D=e[f][A];v.remove(D),c.add(D)}}})},d.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var r=0;r<this.compoundOrder.length;r++)e[this.compoundOrder[r].id]=this.compoundOrder[r],t[this.compoundOrder[r].id]=[].concat(this.compoundOrder[r].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[r].getChild()),this.compoundOrder[r].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},d.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(r){var i=t.idToDummyNode[r];e[r]=t.tileNodes(t.memberGroups[r],i.paddingLeft+i.paddingRight),i.rect.width=e[r].width,i.rect.height=e[r].height})},d.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],r=e.id,i=e.paddingLeft,o=e.paddingTop;this.adjustLocations(this.tiledMemberPack[r],e.rect.x,e.rect.y,i,o)}},d.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(r){var i=t.idToDummyNode[r],o=i.paddingLeft,a=i.paddingTop;t.adjustLocations(e[r],i.rect.x,i.rect.y,o,a)})},d.prototype.getToBeTiled=function(t){var e=t.id;if(this.toBeTiled[e]!=null)return this.toBeTiled[e];var r=t.getChild();if(r==null)return this.toBeTiled[e]=!1,!1;for(var i=r.getNodes(),o=0;o<i.length;o++){var a=i[o];if(this.getNodeDegree(a)>0)return this.toBeTiled[e]=!1,!1;if(a.getChild()==null){this.toBeTiled[a.id]=!1;continue}if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},d.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),r=0,i=0;i<e.length;i++){var o=e[i];o.getSource().id!==o.getTarget().id&&(r=r+1)}return r},d.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(t.getChild()==null)return e;for(var r=t.getChild().getNodes(),i=0;i<r.length;i++){var o=r[i];e+=this.getNodeDegreeWithChildren(o)}return e},d.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},d.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var r=t[e];r.getChild()!=null&&this.fillCompexOrderByDFS(r.getChild().getNodes()),this.getToBeTiled(r)&&this.compoundOrder.push(r)}},d.prototype.adjustLocations=function(t,e,r,i,o){e+=i,r+=o;for(var a=e,s=0;s<t.rows.length;s++){var h=t.rows[s];e=a;for(var f=0,C=0;C<h.length;C++){var m=h[C];m.rect.x=e,m.rect.y=r,e+=m.rect.width+t.horizontalPadding,m.rect.height>f&&(f=m.rect.height)}r+=f+t.verticalPadding}},d.prototype.tileCompoundMembers=function(t,e){var r=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(i){var o=e[i];r.tiledMemberPack[i]=r.tileNodes(t[i],o.paddingLeft+o.paddingRight),o.rect.width=r.tiledMemberPack[i].width,o.rect.height=r.tiledMemberPack[i].height})},d.prototype.tileNodes=function(t,e){var r=E.TILING_PADDING_VERTICAL,i=E.TILING_PADDING_HORIZONTAL,o={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i};t.sort(function(h,f){return h.rect.width*h.rect.height>f.rect.width*f.rect.height?-1:h.rect.width*h.rect.height<f.rect.width*f.rect.height?1:0});for(var a=0;a<t.length;a++){var s=t[a];o.rows.length==0?this.insertNodeToRow(o,s,0,e):this.canAddHorizontal(o,s.rect.width,s.rect.height)?this.insertNodeToRow(o,s,this.getShortestRowIndex(o),e):this.insertNodeToRow(o,s,o.rows.length,e),this.shiftToLastRow(o)}return o},d.prototype.insertNodeToRow=function(t,e,r,i){var o=i;if(r==t.rows.length){var a=[];t.rows.push(a),t.rowWidth.push(o),t.rowHeight.push(0)}var s=t.rowWidth[r]+e.rect.width;t.rows[r].length>0&&(s+=t.horizontalPadding),t.rowWidth[r]=s,t.width<s&&(t.width=s);var h=e.rect.height;r>0&&(h+=t.verticalPadding);var f=0;h>t.rowHeight[r]&&(f=t.rowHeight[r],t.rowHeight[r]=h,f=t.rowHeight[r]-f),t.height+=f,t.rows[r].push(e)},d.prototype.getShortestRowIndex=function(t){for(var e=-1,r=Number.MAX_VALUE,i=0;i<t.rows.length;i++)t.rowWidth[i]<r&&(e=i,r=t.rowWidth[i]);return e},d.prototype.getLongestRowIndex=function(t){for(var e=-1,r=Number.MIN_VALUE,i=0;i<t.rows.length;i++)t.rowWidth[i]>r&&(e=i,r=t.rowWidth[i]);return e},d.prototype.canAddHorizontal=function(t,e,r){var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a=0;t.rowHeight[i]<r&&i>0&&(a=r+t.verticalPadding-t.rowHeight[i]);var s;t.width-o>=e+t.horizontalPadding?s=(t.height+a)/(o+e+t.horizontalPadding):s=(t.height+a)/t.width,a=r+t.verticalPadding;var h;return t.width<e?h=(t.height+a)/e:h=(t.height+a)/t.width,h<1&&(h=1/h),s<1&&(s=1/s),s<h},d.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),r=t.rowWidth.length-1,i=t.rows[e],o=i[i.length-1],a=o.width+t.horizontalPadding;if(t.width-t.rowWidth[r]>a&&e!=r){i.splice(-1,1),t.rows[r].push(o),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[r]=t.rowWidth[r]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,h=0;h<i.length;h++)i[h].height>s&&(s=i[h].height);e>0&&(s+=t.verticalPadding);var f=t.rowHeight[e]+t.rowHeight[r];t.rowHeight[e]=s,t.rowHeight[r]<o.height+t.verticalPadding&&(t.rowHeight[r]=o.height+t.verticalPadding);var C=t.rowHeight[e]+t.rowHeight[r];t.height+=C-f,this.shiftToLastRow(t)}},d.prototype.tilingPreLayout=function(){E.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},d.prototype.tilingPostLayout=function(){E.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},d.prototype.reduceTrees=function(){for(var t=[],e=!0,r;e;){var i=this.graphManager.getAllNodes(),o=[];e=!1;for(var a=0;a<i.length;a++)r=i[a],r.getEdges().length==1&&!r.getEdges()[0].isInterGraph&&r.getChild()==null&&(o.push([r,r.getEdges()[0],r.getOwner()]),e=!0);if(e==!0){for(var s=[],h=0;h<o.length;h++)o[h][0].getEdges().length==1&&(s.push(o[h]),o[h][0].getOwner().remove(o[h][0]));t.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=t},d.prototype.growTree=function(t){for(var e=t.length,r=t[e-1],i,o=0;o<r.length;o++)i=r[o],this.findPlaceforPrunedNode(i),i[2].add(i[0]),i[2].add(i[1],i[1].source,i[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},d.prototype.findPlaceforPrunedNode=function(t){var e,r,i=t[0];i==t[1].source?r=t[1].target:r=t[1].source;var o=r.startX,a=r.finishX,s=r.startY,h=r.finishY,f=0,C=0,m=0,N=0,c=[f,m,C,N];if(s>0)for(var v=o;v<=a;v++)c[0]+=this.grid[v][s-1].length+this.grid[v][s].length-1;if(a<this.grid.length-1)for(var v=s;v<=h;v++)c[1]+=this.grid[a+1][v].length+this.grid[a][v].length-1;if(h<this.grid[0].length-1)for(var v=o;v<=a;v++)c[2]+=this.grid[v][h+1].length+this.grid[v][h].length-1;if(o>0)for(var v=s;v<=h;v++)c[3]+=this.grid[o-1][v].length+this.grid[o][v].length-1;for(var A=B.MAX_VALUE,D,O,F=0;F<c.length;F++)c[F]<A?(A=c[F],D=1,O=F):c[F]==A&&D++;if(D==3&&A==0)c[0]==0&&c[1]==0&&c[2]==0?e=1:c[0]==0&&c[1]==0&&c[3]==0?e=0:c[0]==0&&c[2]==0&&c[3]==0?e=3:c[1]==0&&c[2]==0&&c[3]==0&&(e=2);else if(D==2&&A==0){var M=Math.floor(Math.random()*2);c[0]==0&&c[1]==0?M==0?e=0:e=1:c[0]==0&&c[2]==0?M==0?e=0:e=2:c[0]==0&&c[3]==0?M==0?e=0:e=3:c[1]==0&&c[2]==0?M==0?e=1:e=2:c[1]==0&&c[3]==0?M==0?e=1:e=3:M==0?e=2:e=3}else if(D==4&&A==0){var M=Math.floor(Math.random()*4);e=M}else e=O;e==0?i.setCenter(r.getCenterX(),r.getCenterY()-r.getHeight()/2-T.DEFAULT_EDGE_LENGTH-i.getHeight()/2):e==1?i.setCenter(r.getCenterX()+r.getWidth()/2+T.DEFAULT_EDGE_LENGTH+i.getWidth()/2,r.getCenterY()):e==2?i.setCenter(r.getCenterX(),r.getCenterY()+r.getHeight()/2+T.DEFAULT_EDGE_LENGTH+i.getHeight()/2):i.setCenter(r.getCenterX()-r.getWidth()/2-T.DEFAULT_EDGE_LENGTH-i.getWidth()/2,r.getCenterY())},y.exports=d}),(function(y,w,l){var n={};n.layoutBase=l(0),n.CoSEConstants=l(1),n.CoSEEdge=l(2),n.CoSEGraph=l(3),n.CoSEGraphManager=l(4),n.CoSELayout=l(6),n.CoSENode=l(5),y.exports=n})])})})(I.__module)),I.__module.exports}exports.__require=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../_virtual/cose-base.cjs.js"),Q=require("../layout-base/layout-base.cjs.js");var $=I.__module.exports,X;function J(){return X||(X=1,(function(W,k){(function(y,w){W.exports=w(Q.__require())})($,function(x){return(function(y){var w={};function l(n){if(w[n])return w[n].exports;var g=w[n]={i:n,l:!1,exports:{}};return y[n].call(g.exports,g,g.exports,l),g.l=!0,g.exports}return l.m=y,l.c=w,l.i=function(n){return n},l.d=function(n,g,p){l.o(n,g)||Object.defineProperty(n,g,{configurable:!1,enumerable:!0,get:p})},l.n=function(n){var g=n&&n.__esModule?function(){return n.default}:function(){return n};return l.d(g,"a",g),g},l.o=function(n,g){return Object.prototype.hasOwnProperty.call(n,g)},l.p="",l(l.s=7)})([(function(y,w){y.exports=x}),(function(y,w,l){var n=l(0).FDLayoutConstants;function g(){}for(var p in n)g[p]=n[p];g.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,g.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,g.DEFAULT_COMPONENT_SEPERATION=60,g.TILE=!0,g.TILING_PADDING_VERTICAL=10,g.TILING_PADDING_HORIZONTAL=10,g.TREE_REDUCTION_ON_INCREMENTAL=!1,y.exports=g}),(function(y,w,l){var n=l(0).FDLayoutEdge;function g(G,u,E){n.call(this,G,u,E)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).LGraph;function g(G,u,E){n.call(this,G,u,E)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).LGraphManager;function g(G){n.call(this,G)}g.prototype=Object.create(n.prototype);for(var p in n)g[p]=n[p];y.exports=g}),(function(y,w,l){var n=l(0).FDLayoutNode,g=l(0).IMath;function p(u,E,T,L){n.call(this,u,E,T,L)}p.prototype=Object.create(n.prototype);for(var G in n)p[G]=n[G];p.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*g.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*g.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},p.prototype.propogateDisplacementToChildren=function(u,E){for(var T=this.getChild().getNodes(),L,P=0;P<T.length;P++)L=T[P],L.getChild()==null?(L.moveBy(u,E),L.displacementX+=u,L.displacementY+=E):L.propogateDisplacementToChildren(u,E)},p.prototype.setPred1=function(u){this.pred1=u},p.prototype.getPred1=function(){return pred1},p.prototype.getPred2=function(){return pred2},p.prototype.setNext=function(u){this.next=u},p.prototype.getNext=function(){return next},p.prototype.setProcessed=function(u){this.processed=u},p.prototype.isProcessed=function(){return processed},y.exports=p}),(function(y,w,l){var n=l(0).FDLayout,g=l(4),p=l(3),G=l(5),u=l(2),E=l(1),T=l(0).FDLayoutConstants,L=l(0).LayoutConstants,P=l(0).Point,R=l(0).PointD,V=l(0).Layout,B=l(0).Integer,Z=l(0).IGeometry,j=l(0).LGraph,_=l(0).Transform;function d(){n.call(this),this.toBeTiled={}}d.prototype=Object.create(n.prototype);for(var U in n)d[U]=n[U];d.prototype.newGraphManager=function(){var t=new g(this);return this.graphManager=t,t},d.prototype.newGraph=function(t){return new p(null,this.graphManager,t)},d.prototype.newNode=function(t){return new G(this.graphManager,t)},d.prototype.newEdge=function(t){return new u(null,null,t)},d.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.isSubLayout||(E.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=E.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=E.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=T.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=T.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=T.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=T.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=T.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=T.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/T.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=T.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},d.prototype.layout=function(){var t=L.DEFAULT_CREATE_BENDS_AS_NEEDED;return t&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},d.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(E.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),r=this.nodesWithGravity.filter(function(a){return e.has(a)});this.graphManager.setAllNodesToApplyGravitation(r)}}else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),r=this.nodesWithGravity.filter(function(i){return e.has(i)});this.graphManager.setAllNodesToApplyGravitation(r),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},d.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%T.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(o){return t.has(o)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=T.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=T.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var r=!this.isTreeGrowing&&!this.isGrowthFinished,i=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(r,i),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},d.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},r=0;r<t.length;r++){var i=t[r].rect,o=t[r].id;e[o]={id:o,x:i.getCenterX(),y:i.getCenterY(),w:i.width,h:i.height}}return e},d.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if(T.ANIMATE==="during")this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},d.prototype.calculateNodesToApplyGravitationTo=function(){var t=[],e,r=this.graphManager.getGraphs(),i=r.length,o;for(o=0;o<i;o++)e=r[o],e.updateConnected(),e.isConnected||(t=t.concat(e.getNodes()));return t},d.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set,r;for(r=0;r<t.length;r++){var i=t[r];if(!e.has(i)){var o=i.getSource(),a=i.getTarget();if(o==a)i.getBendpoints().push(new R),i.getBendpoints().push(new R),this.createDummyNodesForBendpoints(i),e.add(i);else{var s=[];if(s=s.concat(o.getEdgeListToNode(a)),s=s.concat(a.getEdgeListToNode(o)),!e.has(s[0])){if(s.length>1){var h;for(h=0;h<s.length;h++){var f=s[h];f.getBendpoints().push(new R),this.createDummyNodesForBendpoints(f)}}s.forEach(function(C){e.add(C)})}}}if(e.size==t.length)break}},d.prototype.positionNodesRadially=function(t){for(var e=new P(0,0),r=Math.ceil(Math.sqrt(t.length)),i=0,o=0,a=0,s=new R(0,0),h=0;h<t.length;h++){h%r==0&&(a=0,o=i,h!=0&&(o+=E.DEFAULT_COMPONENT_SEPERATION),i=0);var f=t[h],C=V.findCenterOfTree(f);e.x=a,e.y=o,s=d.radialLayout(f,C,e),s.y>i&&(i=Math.floor(s.y)),a=Math.floor(s.x+E.DEFAULT_COMPONENT_SEPERATION)}this.transform(new R(L.WORLD_CENTER_X-s.x/2,L.WORLD_CENTER_Y-s.y/2))},d.radialLayout=function(t,e,r){var i=Math.max(this.maxDiagonalInTree(t),E.DEFAULT_RADIAL_SEPARATION);d.branchRadialLayout(e,null,0,359,0,i);var o=j.calculateBounds(t),a=new _;a.setDeviceOrgX(o.getMinX()),a.setDeviceOrgY(o.getMinY()),a.setWorldOrgX(r.x),a.setWorldOrgY(r.y);for(var s=0;s<t.length;s++){var h=t[s];h.transform(a)}var f=new R(o.getMaxX(),o.getMaxY());return a.inverseTransformPoint(f)},d.branchRadialLayout=function(t,e,r,i,o,a){var s=(i-r+1)/2;s<0&&(s+=180);var h=(s+r)%360,f=h*Z.TWO_PI/360,C=o*Math.cos(f),m=o*Math.sin(f);t.setCenter(C,m);var N=[];N=N.concat(t.getEdges());var c=N.length;e!=null&&c--;for(var v=0,A=N.length,D,O=t.getEdgesBetween(e);O.length>1;){var F=O[0];O.splice(0,1);var M=N.indexOf(F);M>=0&&N.splice(M,1),A--,c--}e!=null?D=(N.indexOf(O[0])+1)%A:D=0;for(var b=Math.abs(i-r)/c,S=D;v!=c;S=++S%A){var Y=N[S].getOtherEnd(t);if(Y!=e){var H=(r+v*b)%360,K=(H+b)%360;d.branchRadialLayout(Y,t,H,K,o+a,a),v++}}},d.maxDiagonalInTree=function(t){for(var e=B.MIN_VALUE,r=0;r<t.length;r++){var i=t[r],o=i.getDiagonal();o>e&&(e=o)}return e},d.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},d.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var r=[],i=this.graphManager.getAllNodes(),o=0;o<i.length;o++){var a=i[o],s=a.getParent();this.getNodeDegreeWithChildren(a)===0&&(s.id==null||!this.getToBeTiled(s))&&r.push(a)}for(var o=0;o<r.length;o++){var a=r[o],h=a.getParent().id;typeof e[h]>"u"&&(e[h]=[]),e[h]=e[h].concat(a)}Object.keys(e).forEach(function(f){if(e[f].length>1){var C="DummyCompound_"+f;t.memberGroups[C]=e[f];var m=e[f][0].getParent(),N=new G(t.graphManager);N.id=C,N.paddingLeft=m.paddingLeft||0,N.paddingRight=m.paddingRight||0,N.paddingBottom=m.paddingBottom||0,N.paddingTop=m.paddingTop||0,t.idToDummyNode[C]=N;var c=t.getGraphManager().add(t.newGraph(),N),v=m.getChild();v.add(N);for(var A=0;A<e[f].length;A++){var D=e[f][A];v.remove(D),c.add(D)}}})},d.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var r=0;r<this.compoundOrder.length;r++)e[this.compoundOrder[r].id]=this.compoundOrder[r],t[this.compoundOrder[r].id]=[].concat(this.compoundOrder[r].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[r].getChild()),this.compoundOrder[r].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},d.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(r){var i=t.idToDummyNode[r];e[r]=t.tileNodes(t.memberGroups[r],i.paddingLeft+i.paddingRight),i.rect.width=e[r].width,i.rect.height=e[r].height})},d.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],r=e.id,i=e.paddingLeft,o=e.paddingTop;this.adjustLocations(this.tiledMemberPack[r],e.rect.x,e.rect.y,i,o)}},d.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(r){var i=t.idToDummyNode[r],o=i.paddingLeft,a=i.paddingTop;t.adjustLocations(e[r],i.rect.x,i.rect.y,o,a)})},d.prototype.getToBeTiled=function(t){var e=t.id;if(this.toBeTiled[e]!=null)return this.toBeTiled[e];var r=t.getChild();if(r==null)return this.toBeTiled[e]=!1,!1;for(var i=r.getNodes(),o=0;o<i.length;o++){var a=i[o];if(this.getNodeDegree(a)>0)return this.toBeTiled[e]=!1,!1;if(a.getChild()==null){this.toBeTiled[a.id]=!1;continue}if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},d.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),r=0,i=0;i<e.length;i++){var o=e[i];o.getSource().id!==o.getTarget().id&&(r=r+1)}return r},d.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(t.getChild()==null)return e;for(var r=t.getChild().getNodes(),i=0;i<r.length;i++){var o=r[i];e+=this.getNodeDegreeWithChildren(o)}return e},d.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},d.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var r=t[e];r.getChild()!=null&&this.fillCompexOrderByDFS(r.getChild().getNodes()),this.getToBeTiled(r)&&this.compoundOrder.push(r)}},d.prototype.adjustLocations=function(t,e,r,i,o){e+=i,r+=o;for(var a=e,s=0;s<t.rows.length;s++){var h=t.rows[s];e=a;for(var f=0,C=0;C<h.length;C++){var m=h[C];m.rect.x=e,m.rect.y=r,e+=m.rect.width+t.horizontalPadding,m.rect.height>f&&(f=m.rect.height)}r+=f+t.verticalPadding}},d.prototype.tileCompoundMembers=function(t,e){var r=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(i){var o=e[i];r.tiledMemberPack[i]=r.tileNodes(t[i],o.paddingLeft+o.paddingRight),o.rect.width=r.tiledMemberPack[i].width,o.rect.height=r.tiledMemberPack[i].height})},d.prototype.tileNodes=function(t,e){var r=E.TILING_PADDING_VERTICAL,i=E.TILING_PADDING_HORIZONTAL,o={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i};t.sort(function(h,f){return h.rect.width*h.rect.height>f.rect.width*f.rect.height?-1:h.rect.width*h.rect.height<f.rect.width*f.rect.height?1:0});for(var a=0;a<t.length;a++){var s=t[a];o.rows.length==0?this.insertNodeToRow(o,s,0,e):this.canAddHorizontal(o,s.rect.width,s.rect.height)?this.insertNodeToRow(o,s,this.getShortestRowIndex(o),e):this.insertNodeToRow(o,s,o.rows.length,e),this.shiftToLastRow(o)}return o},d.prototype.insertNodeToRow=function(t,e,r,i){var o=i;if(r==t.rows.length){var a=[];t.rows.push(a),t.rowWidth.push(o),t.rowHeight.push(0)}var s=t.rowWidth[r]+e.rect.width;t.rows[r].length>0&&(s+=t.horizontalPadding),t.rowWidth[r]=s,t.width<s&&(t.width=s);var h=e.rect.height;r>0&&(h+=t.verticalPadding);var f=0;h>t.rowHeight[r]&&(f=t.rowHeight[r],t.rowHeight[r]=h,f=t.rowHeight[r]-f),t.height+=f,t.rows[r].push(e)},d.prototype.getShortestRowIndex=function(t){for(var e=-1,r=Number.MAX_VALUE,i=0;i<t.rows.length;i++)t.rowWidth[i]<r&&(e=i,r=t.rowWidth[i]);return e},d.prototype.getLongestRowIndex=function(t){for(var e=-1,r=Number.MIN_VALUE,i=0;i<t.rows.length;i++)t.rowWidth[i]>r&&(e=i,r=t.rowWidth[i]);return e},d.prototype.canAddHorizontal=function(t,e,r){var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a=0;t.rowHeight[i]<r&&i>0&&(a=r+t.verticalPadding-t.rowHeight[i]);var s;t.width-o>=e+t.horizontalPadding?s=(t.height+a)/(o+e+t.horizontalPadding):s=(t.height+a)/t.width,a=r+t.verticalPadding;var h;return t.width<e?h=(t.height+a)/e:h=(t.height+a)/t.width,h<1&&(h=1/h),s<1&&(s=1/s),s<h},d.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),r=t.rowWidth.length-1,i=t.rows[e],o=i[i.length-1],a=o.width+t.horizontalPadding;if(t.width-t.rowWidth[r]>a&&e!=r){i.splice(-1,1),t.rows[r].push(o),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[r]=t.rowWidth[r]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,h=0;h<i.length;h++)i[h].height>s&&(s=i[h].height);e>0&&(s+=t.verticalPadding);var f=t.rowHeight[e]+t.rowHeight[r];t.rowHeight[e]=s,t.rowHeight[r]<o.height+t.verticalPadding&&(t.rowHeight[r]=o.height+t.verticalPadding);var C=t.rowHeight[e]+t.rowHeight[r];t.height+=C-f,this.shiftToLastRow(t)}},d.prototype.tilingPreLayout=function(){E.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},d.prototype.tilingPostLayout=function(){E.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},d.prototype.reduceTrees=function(){for(var t=[],e=!0,r;e;){var i=this.graphManager.getAllNodes(),o=[];e=!1;for(var a=0;a<i.length;a++)r=i[a],r.getEdges().length==1&&!r.getEdges()[0].isInterGraph&&r.getChild()==null&&(o.push([r,r.getEdges()[0],r.getOwner()]),e=!0);if(e==!0){for(var s=[],h=0;h<o.length;h++)o[h][0].getEdges().length==1&&(s.push(o[h]),o[h][0].getOwner().remove(o[h][0]));t.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=t},d.prototype.growTree=function(t){for(var e=t.length,r=t[e-1],i,o=0;o<r.length;o++)i=r[o],this.findPlaceforPrunedNode(i),i[2].add(i[0]),i[2].add(i[1],i[1].source,i[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},d.prototype.findPlaceforPrunedNode=function(t){var e,r,i=t[0];i==t[1].source?r=t[1].target:r=t[1].source;var o=r.startX,a=r.finishX,s=r.startY,h=r.finishY,f=0,C=0,m=0,N=0,c=[f,m,C,N];if(s>0)for(var v=o;v<=a;v++)c[0]+=this.grid[v][s-1].length+this.grid[v][s].length-1;if(a<this.grid.length-1)for(var v=s;v<=h;v++)c[1]+=this.grid[a+1][v].length+this.grid[a][v].length-1;if(h<this.grid[0].length-1)for(var v=o;v<=a;v++)c[2]+=this.grid[v][h+1].length+this.grid[v][h].length-1;if(o>0)for(var v=s;v<=h;v++)c[3]+=this.grid[o-1][v].length+this.grid[o][v].length-1;for(var A=B.MAX_VALUE,D,O,F=0;F<c.length;F++)c[F]<A?(A=c[F],D=1,O=F):c[F]==A&&D++;if(D==3&&A==0)c[0]==0&&c[1]==0&&c[2]==0?e=1:c[0]==0&&c[1]==0&&c[3]==0?e=0:c[0]==0&&c[2]==0&&c[3]==0?e=3:c[1]==0&&c[2]==0&&c[3]==0&&(e=2);else if(D==2&&A==0){var M=Math.floor(Math.random()*2);c[0]==0&&c[1]==0?M==0?e=0:e=1:c[0]==0&&c[2]==0?M==0?e=0:e=2:c[0]==0&&c[3]==0?M==0?e=0:e=3:c[1]==0&&c[2]==0?M==0?e=1:e=2:c[1]==0&&c[3]==0?M==0?e=1:e=3:M==0?e=2:e=3}else if(D==4&&A==0){var M=Math.floor(Math.random()*4);e=M}else e=O;e==0?i.setCenter(r.getCenterX(),r.getCenterY()-r.getHeight()/2-T.DEFAULT_EDGE_LENGTH-i.getHeight()/2):e==1?i.setCenter(r.getCenterX()+r.getWidth()/2+T.DEFAULT_EDGE_LENGTH+i.getWidth()/2,r.getCenterY()):e==2?i.setCenter(r.getCenterX(),r.getCenterY()+r.getHeight()/2+T.DEFAULT_EDGE_LENGTH+i.getHeight()/2):i.setCenter(r.getCenterX()-r.getWidth()/2-T.DEFAULT_EDGE_LENGTH-i.getWidth()/2,r.getCenterY())},y.exports=d}),(function(y,w,l){var n={};n.layoutBase=l(0),n.CoSEConstants=l(1),n.CoSEEdge=l(2),n.CoSEGraph=l(3),n.CoSEGraphManager=l(4),n.CoSELayout=l(6),n.CoSENode=l(5),y.exports=n})])})})(I.__module)),I.__module.exports}exports.__require=J;
2
2
  //# sourceMappingURL=cose-base.cjs.js.map