@intlayer/editor 8.9.7 → 8.10.0-canary.0

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 (67) hide show
  1. package/README.md +14 -0
  2. package/dist/cjs/compareUrls.cjs.map +1 -1
  3. package/dist/cjs/components/ContentSelector.cjs.map +1 -1
  4. package/dist/cjs/components/ContentSelectorWrapper.cjs.map +1 -1
  5. package/dist/cjs/components/EditedContent.cjs.map +1 -1
  6. package/dist/cjs/components/IntlayerEditor.cjs.map +1 -1
  7. package/dist/cjs/core/CrossFrameMessenger.cjs.map +1 -1
  8. package/dist/cjs/core/CrossFrameStateManager.cjs.map +1 -1
  9. package/dist/cjs/core/EditorStateManager.cjs +115 -0
  10. package/dist/cjs/core/EditorStateManager.cjs.map +1 -1
  11. package/dist/cjs/core/IframeClickInterceptor.cjs.map +1 -1
  12. package/dist/cjs/core/UrlStateManager.cjs.map +1 -1
  13. package/dist/cjs/core/editedContentBus.cjs +37 -0
  14. package/dist/cjs/core/editedContentBus.cjs.map +1 -0
  15. package/dist/cjs/core/focusedContentBus.cjs +43 -0
  16. package/dist/cjs/core/focusedContentBus.cjs.map +1 -0
  17. package/dist/cjs/core/globalManager.cjs.map +1 -1
  18. package/dist/cjs/core/index.cjs +9 -1
  19. package/dist/cjs/core/initEditorClient.cjs.map +1 -1
  20. package/dist/cjs/index.cjs +9 -1
  21. package/dist/cjs/mergeIframeClick.cjs.map +1 -1
  22. package/dist/cjs/messageKey.cjs +2 -0
  23. package/dist/cjs/messageKey.cjs.map +1 -1
  24. package/dist/esm/compareUrls.mjs.map +1 -1
  25. package/dist/esm/components/ContentSelector.mjs.map +1 -1
  26. package/dist/esm/components/ContentSelectorWrapper.mjs.map +1 -1
  27. package/dist/esm/components/EditedContent.mjs.map +1 -1
  28. package/dist/esm/components/IntlayerEditor.mjs.map +1 -1
  29. package/dist/esm/core/CrossFrameMessenger.mjs.map +1 -1
  30. package/dist/esm/core/CrossFrameStateManager.mjs.map +1 -1
  31. package/dist/esm/core/EditorStateManager.mjs +115 -0
  32. package/dist/esm/core/EditorStateManager.mjs.map +1 -1
  33. package/dist/esm/core/IframeClickInterceptor.mjs.map +1 -1
  34. package/dist/esm/core/UrlStateManager.mjs.map +1 -1
  35. package/dist/esm/core/editedContentBus.mjs +33 -0
  36. package/dist/esm/core/editedContentBus.mjs.map +1 -0
  37. package/dist/esm/core/focusedContentBus.mjs +39 -0
  38. package/dist/esm/core/focusedContentBus.mjs.map +1 -0
  39. package/dist/esm/core/globalManager.mjs.map +1 -1
  40. package/dist/esm/core/index.mjs +3 -1
  41. package/dist/esm/core/initEditorClient.mjs.map +1 -1
  42. package/dist/esm/index.mjs +3 -1
  43. package/dist/esm/mergeIframeClick.mjs.map +1 -1
  44. package/dist/esm/messageKey.mjs +2 -0
  45. package/dist/esm/messageKey.mjs.map +1 -1
  46. package/dist/types/compareUrls.d.ts.map +1 -1
  47. package/dist/types/components/ContentSelector.d.ts.map +1 -1
  48. package/dist/types/components/ContentSelectorWrapper.d.ts.map +1 -1
  49. package/dist/types/components/EditedContent.d.ts.map +1 -1
  50. package/dist/types/core/CrossFrameMessenger.d.ts.map +1 -1
  51. package/dist/types/core/CrossFrameStateManager.d.ts.map +1 -1
  52. package/dist/types/core/EditorStateManager.d.ts +17 -0
  53. package/dist/types/core/EditorStateManager.d.ts.map +1 -1
  54. package/dist/types/core/IframeClickInterceptor.d.ts.map +1 -1
  55. package/dist/types/core/UrlStateManager.d.ts.map +1 -1
  56. package/dist/types/core/editedContentBus.d.ts +9 -0
  57. package/dist/types/core/editedContentBus.d.ts.map +1 -0
  58. package/dist/types/core/focusedContentBus.d.ts +9 -0
  59. package/dist/types/core/focusedContentBus.d.ts.map +1 -0
  60. package/dist/types/core/globalManager.d.ts.map +1 -1
  61. package/dist/types/core/index.d.ts +3 -1
  62. package/dist/types/core/initEditorClient.d.ts.map +1 -1
  63. package/dist/types/index.d.ts +3 -1
  64. package/dist/types/mergeIframeClick.d.ts.map +1 -1
  65. package/dist/types/messageKey.d.ts +3 -1
  66. package/dist/types/messageKey.d.ts.map +1 -1
  67. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"initEditorClient.mjs","names":[],"sources":["../../../src/core/initEditorClient.ts"],"sourcesContent":["import { default as configuration, editor } from '@intlayer/config/built';\nimport { defineIntlayerElements } from '../components';\nimport type { MessengerConfig } from './CrossFrameMessenger';\nimport { EditorStateManager } from './EditorStateManager';\nimport {\n getGlobalEditorManager,\n setGlobalEditorManager,\n} from './globalManager';\n\nexport const buildClientMessengerConfig = (): MessengerConfig => {\n return {\n allowedOrigins: [editor?.editorURL, editor?.cmsURL].filter(\n Boolean\n ) as string[],\n postMessageFn: (payload: unknown, origin: string) => {\n if (typeof window === 'undefined') return;\n\n const isInIframe = window.self !== window.top;\n\n if (!isInIframe) return;\n window.parent?.postMessage(payload, origin);\n },\n };\n};\n\n/** Reference count — tracks how many providers have called initEditorClient. */\nlet _clientRefCount = 0;\n\n/**\n * Initialize the Intlayer editor client singleton.\n * Safe to call multiple times — returns the existing manager if already initialized.\n * Increments a reference counter so nested providers don't destroy the manager\n * prematurely when the inner provider unmounts.\n */\nexport const initEditorClient = (): EditorStateManager => {\n _clientRefCount++;\n\n const existing = getGlobalEditorManager();\n if (existing) return existing;\n\n const manager = new EditorStateManager({\n mode: 'client',\n messenger: buildClientMessengerConfig(),\n configuration,\n });\n\n setGlobalEditorManager(manager);\n defineIntlayerElements();\n manager.start();\n\n return manager;\n};\n\n/**\n * Decrement the reference count and stop the global editor client singleton\n * only when the last provider unmounts.\n */\nexport const stopEditorClient = (): void => {\n _clientRefCount = Math.max(0, _clientRefCount - 1);\n\n if (_clientRefCount > 0) return;\n\n const manager = getGlobalEditorManager();\n manager?.stop();\n setGlobalEditorManager(null);\n};\n"],"mappings":";;;;;;AASA,MAAa,mCAAoD;CAC/D,OAAO;EACL,gBAAgB,CAAC,QAAQ,WAAW,QAAQ,OAAO,CAAC,OAClD,QACD;EACD,gBAAgB,SAAkB,WAAmB;GACnD,IAAI,OAAO,WAAW,aAAa;GAInC,IAAI,EAFe,OAAO,SAAS,OAAO,MAEzB;GACjB,OAAO,QAAQ,YAAY,SAAS,OAAO;;EAE9C;;;AAIH,IAAI,kBAAkB;;;;;;;AAQtB,MAAa,yBAA6C;CACxD;CAEA,MAAM,WAAW,wBAAwB;CACzC,IAAI,UAAU,OAAO;CAErB,MAAM,UAAU,IAAI,mBAAmB;EACrC,MAAM;EACN,WAAW,4BAA4B;EACvC;EACD,CAAC;CAEF,uBAAuB,QAAQ;CAC/B,wBAAwB;CACxB,QAAQ,OAAO;CAEf,OAAO;;;;;;AAOT,MAAa,yBAA+B;CAC1C,kBAAkB,KAAK,IAAI,GAAG,kBAAkB,EAAE;CAElD,IAAI,kBAAkB,GAAG;CAGzB,AADgB,wBACT,EAAE,MAAM;CACf,uBAAuB,KAAK"}
1
+ {"version":3,"file":"initEditorClient.mjs","names":[],"sources":["../../../src/core/initEditorClient.ts"],"sourcesContent":["import { default as configuration, editor } from '@intlayer/config/built';\nimport { defineIntlayerElements } from '../components';\nimport type { MessengerConfig } from './CrossFrameMessenger';\nimport { EditorStateManager } from './EditorStateManager';\nimport {\n getGlobalEditorManager,\n setGlobalEditorManager,\n} from './globalManager';\n\nexport const buildClientMessengerConfig = (): MessengerConfig => {\n return {\n allowedOrigins: [editor?.editorURL, editor?.cmsURL].filter(\n Boolean\n ) as string[],\n postMessageFn: (payload: unknown, origin: string) => {\n if (typeof window === 'undefined') return;\n\n const isInIframe = window.self !== window.top;\n\n if (!isInIframe) return;\n window.parent?.postMessage(payload, origin);\n },\n };\n};\n\n/** Reference count — tracks how many providers have called initEditorClient. */\nlet _clientRefCount = 0;\n\n/**\n * Initialize the Intlayer editor client singleton.\n * Safe to call multiple times — returns the existing manager if already initialized.\n * Increments a reference counter so nested providers don't destroy the manager\n * prematurely when the inner provider unmounts.\n */\nexport const initEditorClient = (): EditorStateManager => {\n _clientRefCount++;\n\n const existing = getGlobalEditorManager();\n if (existing) return existing;\n\n const manager = new EditorStateManager({\n mode: 'client',\n messenger: buildClientMessengerConfig(),\n configuration,\n });\n\n setGlobalEditorManager(manager);\n defineIntlayerElements();\n manager.start();\n\n return manager;\n};\n\n/**\n * Decrement the reference count and stop the global editor client singleton\n * only when the last provider unmounts.\n */\nexport const stopEditorClient = (): void => {\n _clientRefCount = Math.max(0, _clientRefCount - 1);\n\n if (_clientRefCount > 0) return;\n\n const manager = getGlobalEditorManager();\n manager?.stop();\n setGlobalEditorManager(null);\n};\n"],"mappings":";;;;;;AASA,MAAa,mCAAoD;CAC/D,OAAO;EACL,gBAAgB,CAAC,QAAQ,WAAW,QAAQ,MAAM,EAAE,OAClD,OACF;EACA,gBAAgB,SAAkB,WAAmB;GACnD,IAAI,OAAO,WAAW,aAAa;GAInC,IAAI,EAFe,OAAO,SAAS,OAAO,MAEzB;GACjB,OAAO,QAAQ,YAAY,SAAS,MAAM;EAC5C;CACF;AACF;;AAGA,IAAI,kBAAkB;;;;;;;AAQtB,MAAa,yBAA6C;CACxD;CAEA,MAAM,WAAW,uBAAuB;CACxC,IAAI,UAAU,OAAO;CAErB,MAAM,UAAU,IAAI,mBAAmB;EACrC,MAAM;EACN,WAAW,2BAA2B;EACtC;CACF,CAAC;CAED,uBAAuB,OAAO;CAC9B,uBAAuB;CACvB,QAAQ,MAAM;CAEd,OAAO;AACT;;;;;AAMA,MAAa,yBAA+B;CAC1C,kBAAkB,KAAK,IAAI,GAAG,kBAAkB,CAAC;CAEjD,IAAI,kBAAkB,GAAG;CAGzB,AADgB,uBACV,GAAG,KAAK;CACd,uBAAuB,IAAI;AAC7B"}
@@ -6,6 +6,8 @@ import { IntlayerContentSelectorWrapperElement, defineIntlayerContentSelectorWra
6
6
  import { IntlayerEditedContentElement, defineIntlayerEditedContent } from "./components/EditedContent.mjs";
7
7
  import { CrossFrameMessenger } from "./core/CrossFrameMessenger.mjs";
8
8
  import { CrossFrameStateManager } from "./core/CrossFrameStateManager.mjs";
9
+ import { getGlobalEditedContent, setGlobalEditedContent, subscribeToGlobalEditedContent } from "./core/editedContentBus.mjs";
10
+ import { getGlobalFocusedContent, setGlobalFocusedContent, subscribeToGlobalFocusedContent } from "./core/focusedContentBus.mjs";
9
11
  import { IframeClickInterceptor } from "./core/IframeClickInterceptor.mjs";
10
12
  import { UrlStateManager } from "./core/UrlStateManager.mjs";
11
13
  import { EditorStateManager } from "./core/EditorStateManager.mjs";
@@ -13,4 +15,4 @@ import { buildClientMessengerConfig, initEditorClient, stopEditorClient } from "
13
15
  import { IntlayerEditorElement, defineIntlayerEditorElement } from "./components/IntlayerEditor.mjs";
14
16
  import { IntlayerContentSelectorElement, defineIntlayerElements } from "./components/ContentSelector.mjs";
15
17
 
16
- export { CrossFrameMessenger, CrossFrameStateManager, EditorStateManager, IframeClickInterceptor, IntlayerContentSelectorElement, IntlayerContentSelectorWrapperElement, IntlayerEditedContentElement, IntlayerEditorElement, MessageKey, UrlStateManager, buildClientMessengerConfig, compareUrls, defineIntlayerContentSelectorWrapper, defineIntlayerEditedContent, defineIntlayerEditorElement, defineIntlayerElements, getGlobalEditorManager, initEditorClient, mergeIframeClick, onGlobalEditorManagerChange, setGlobalEditorManager, stopEditorClient };
18
+ export { CrossFrameMessenger, CrossFrameStateManager, EditorStateManager, IframeClickInterceptor, IntlayerContentSelectorElement, IntlayerContentSelectorWrapperElement, IntlayerEditedContentElement, IntlayerEditorElement, MessageKey, UrlStateManager, buildClientMessengerConfig, compareUrls, defineIntlayerContentSelectorWrapper, defineIntlayerEditedContent, defineIntlayerEditorElement, defineIntlayerElements, getGlobalEditedContent, getGlobalEditorManager, getGlobalFocusedContent, initEditorClient, mergeIframeClick, onGlobalEditorManagerChange, setGlobalEditedContent, setGlobalEditorManager, setGlobalFocusedContent, stopEditorClient, subscribeToGlobalEditedContent, subscribeToGlobalFocusedContent };
@@ -1 +1 @@
1
- {"version":3,"file":"mergeIframeClick.mjs","names":[],"sources":["../../src/mergeIframeClick.ts"],"sourcesContent":["// Listener for messages from the iframe\nexport const mergeIframeClick = (event: MessageEvent) => {\n // Simulate or merge the iframe message with a click event\n const simulatedMouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n const simulatedClickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n\n // Optionally attach additional properties from the iframe message\n Object.assign(simulatedClickEvent, { iframeData: event });\n Object.assign(simulatedMouseDownEvent, { iframeData: event });\n\n // Dispatch the simulated click event on the window or a specific element\n window.dispatchEvent(simulatedClickEvent);\n window.dispatchEvent(simulatedMouseDownEvent);\n};\n"],"mappings":";AACA,MAAa,oBAAoB,UAAwB;CAEvD,MAAM,0BAA0B,IAAI,WAAW,aAAa;EAC1D,SAAS;EACT,YAAY;EACZ,MAAM;EACP,CAAC;CACF,MAAM,sBAAsB,IAAI,WAAW,SAAS;EAClD,SAAS;EACT,YAAY;EACZ,MAAM;EACP,CAAC;CAGF,OAAO,OAAO,qBAAqB,EAAE,YAAY,OAAO,CAAC;CACzD,OAAO,OAAO,yBAAyB,EAAE,YAAY,OAAO,CAAC;CAG7D,OAAO,cAAc,oBAAoB;CACzC,OAAO,cAAc,wBAAwB"}
1
+ {"version":3,"file":"mergeIframeClick.mjs","names":[],"sources":["../../src/mergeIframeClick.ts"],"sourcesContent":["// Listener for messages from the iframe\nexport const mergeIframeClick = (event: MessageEvent) => {\n // Simulate or merge the iframe message with a click event\n const simulatedMouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n const simulatedClickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n\n // Optionally attach additional properties from the iframe message\n Object.assign(simulatedClickEvent, { iframeData: event });\n Object.assign(simulatedMouseDownEvent, { iframeData: event });\n\n // Dispatch the simulated click event on the window or a specific element\n window.dispatchEvent(simulatedClickEvent);\n window.dispatchEvent(simulatedMouseDownEvent);\n};\n"],"mappings":";AACA,MAAa,oBAAoB,UAAwB;CAEvD,MAAM,0BAA0B,IAAI,WAAW,aAAa;EAC1D,SAAS;EACT,YAAY;EACZ,MAAM;CACR,CAAC;CACD,MAAM,sBAAsB,IAAI,WAAW,SAAS;EAClD,SAAS;EACT,YAAY;EACZ,MAAM;CACR,CAAC;CAGD,OAAO,OAAO,qBAAqB,EAAE,YAAY,MAAM,CAAC;CACxD,OAAO,OAAO,yBAAyB,EAAE,YAAY,MAAM,CAAC;CAG5D,OAAO,cAAc,mBAAmB;CACxC,OAAO,cAAc,uBAAuB;AAC9C"}
@@ -21,6 +21,8 @@ let MessageKey = /* @__PURE__ */ function(MessageKey) {
21
21
  MessageKey["INTLAYER_EDITED_CONTENT_CHANGED"] = "INTLAYER_EDITED_CONTENT_CHANGED";
22
22
  /** Client → editor: Helper to sync iframe client reactivity on click client */
23
23
  MessageKey["INTLAYER_IFRAME_CLICKED"] = "INTLAYER_IFRAME_CLICKED";
24
+ /** Client → editor: list of dictionary keys currently rendered in the iframe */
25
+ MessageKey["INTLAYER_DISPLAYED_DICTIONARY_KEYS"] = "INTLAYER_DISPLAYED_DICTIONARY_KEYS";
24
26
  return MessageKey;
25
27
  }({});
26
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"messageKey.mjs","names":[],"sources":["../../src/messageKey.ts"],"sourcesContent":["export enum MessageKey {\n /** Client → editor: announces the client is ready (also used as response to ARE_YOU_THERE) */\n INTLAYER_CLIENT_READY = 'INTLAYER_CLIENT_READY',\n /** Editor → client: asks if the client is still alive */\n INTLAYER_ARE_YOU_THERE = 'INTLAYER_ARE_YOU_THERE',\n /** Editor → client: instructs the client to activate the editor selector */\n INTLAYER_EDITOR_ACTIVATE = 'INTLAYER_EDITOR_ACTIVATE',\n /** Client → editor: instructs the editor that the client is enabled */\n INTLAYER_EDITOR_ENABLED = 'INTLAYER_EDITOR_ENABLED',\n\n /** Client → editor: send information related the app */\n INTLAYER_CONFIGURATION = 'INTLAYER_CONFIGURATION',\n INTLAYER_CURRENT_LOCALE = 'INTLAYER_CURRENT_LOCALE',\n INTLAYER_URL_CHANGE = 'INTLAYER_URL_CHANGE',\n\n /** Client → editor: load and update content */\n INTLAYER_LOCALE_DICTIONARIES_CHANGED = 'INTLAYER_LOCALE_DICTIONARIES_CHANGED',\n INTLAYER_DISTANT_DICTIONARIES_CHANGED = 'INTLAYER_DISTANT_DICTIONARIES_CHANGED',\n\n /** Client → editor & Editor → client: Update focus and changed content */\n INTLAYER_HOVERED_CONTENT_CHANGED = 'INTLAYER_HOVERED_CONTENT_CHANGED',\n INTLAYER_FOCUSED_CONTENT_CHANGED = 'INTLAYER_FOCUSED_CONTENT_CHANGED',\n INTLAYER_EDITED_CONTENT_CHANGED = 'INTLAYER_EDITED_CONTENT_CHANGED',\n\n /** Client → editor: Helper to sync iframe client reactivity on click client */\n INTLAYER_IFRAME_CLICKED = 'INTLAYER_IFRAME_CLICKED',\n}\n"],"mappings":";AAAA,IAAY,aAAL;;CAEL;;CAEA;;CAEA;;CAEA;;CAGA;CACA;CACA;;CAGA;CACA;;CAGA;CACA;CACA;;CAGA;;KACD"}
1
+ {"version":3,"file":"messageKey.mjs","names":[],"sources":["../../src/messageKey.ts"],"sourcesContent":["export enum MessageKey {\n /** Client → editor: announces the client is ready (also used as response to ARE_YOU_THERE) */\n INTLAYER_CLIENT_READY = 'INTLAYER_CLIENT_READY',\n /** Editor → client: asks if the client is still alive */\n INTLAYER_ARE_YOU_THERE = 'INTLAYER_ARE_YOU_THERE',\n /** Editor → client: instructs the client to activate the editor selector */\n INTLAYER_EDITOR_ACTIVATE = 'INTLAYER_EDITOR_ACTIVATE',\n /** Client → editor: instructs the editor that the client is enabled */\n INTLAYER_EDITOR_ENABLED = 'INTLAYER_EDITOR_ENABLED',\n\n /** Client → editor: send information related the app */\n INTLAYER_CONFIGURATION = 'INTLAYER_CONFIGURATION',\n INTLAYER_CURRENT_LOCALE = 'INTLAYER_CURRENT_LOCALE',\n INTLAYER_URL_CHANGE = 'INTLAYER_URL_CHANGE',\n\n /** Client → editor: load and update content */\n INTLAYER_LOCALE_DICTIONARIES_CHANGED = 'INTLAYER_LOCALE_DICTIONARIES_CHANGED',\n INTLAYER_DISTANT_DICTIONARIES_CHANGED = 'INTLAYER_DISTANT_DICTIONARIES_CHANGED',\n\n /** Client → editor & Editor → client: Update focus and changed content */\n INTLAYER_HOVERED_CONTENT_CHANGED = 'INTLAYER_HOVERED_CONTENT_CHANGED',\n INTLAYER_FOCUSED_CONTENT_CHANGED = 'INTLAYER_FOCUSED_CONTENT_CHANGED',\n INTLAYER_EDITED_CONTENT_CHANGED = 'INTLAYER_EDITED_CONTENT_CHANGED',\n\n /** Client → editor: Helper to sync iframe client reactivity on click client */\n INTLAYER_IFRAME_CLICKED = 'INTLAYER_IFRAME_CLICKED',\n\n /** Client → editor: list of dictionary keys currently rendered in the iframe */\n INTLAYER_DISPLAYED_DICTIONARY_KEYS = 'INTLAYER_DISPLAYED_DICTIONARY_KEYS',\n}\n"],"mappings":";AAAA,IAAY,aAAL;;CAEL;;CAEA;;CAEA;;CAEA;;CAGA;CACA;CACA;;CAGA;CACA;;CAGA;CACA;CACA;;CAGA;;CAGA;;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"compareUrls.d.ts","names":[],"sources":["../../src/compareUrls.ts"],"mappings":";;AAgBA;;;;;;;;;;;;;;;cAAa,WAAA,GAAe,IAAA,UAAc,IAAA"}
1
+ {"version":3,"file":"compareUrls.d.ts","names":[],"sources":["../../src/compareUrls.ts"],"mappings":";;AAgBA;;;;AAAsD;;;;;;;;;;;cAAzC,WAAA,GAAe,IAAA,UAAc,IAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentSelector.d.ts","names":[],"sources":["../../../src/components/ContentSelector.ts"],"mappings":";cA4BM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,8BAAA,SAAuC,YAAA;EAAA,QAC1C,YAAA;EAAA,QACA,cAAA;EAAA,QACA,UAAA;EAAA,QACA,iBAAA;EAAA,QACA,QAAA;EAAA,QACA,WAAA;EAAA,QACA,oBAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAKZ,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;;EA+BlB,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAWF,iBAAA,CAAA;EAYA,oBAAA,CAAA;EAAA,QAQQ,kBAAA;EAAA,QAUA,gBAAA;EAAA,QAOA,SAAA;EAAA,QAMA,gBAAA;EAAA,QASA,iBAAA;EAAA,QAMA,qBAAA;EAAA,QASA,YAAA;EAAA,QAOA,WAAA;AAAA;;;AAWV;;;cAAa,sBAAA"}
1
+ {"version":3,"file":"ContentSelector.d.ts","names":[],"sources":["../../../src/components/ContentSelector.ts"],"mappings":";cA4BM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,8BAAA,SAAuC,YAAY;EAAA,QACtD,YAAA;EAAA,QACA,cAAA;EAAA,QACA,UAAA;EAAA,QACA,iBAAA;EAAA,QACA,QAAA;EAAA,QACA,WAAA;EAAA,QACA,oBAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAKZ,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;;EA+BlB,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAWF,iBAAA,CAAA;EAYA,oBAAA,CAAA;EAAA,QAQQ,kBAAA;EAAA,QAUA,gBAAA;EAAA,QAOA,SAAA;EAAA,QAMA,gBAAA;EAAA,QASA,iBAAA;EAAA,QAMA,qBAAA;EAAA,QASA,YAAA;EAAA,QAOA,WAAA;AAAA;;AAAW;AAWrB;;;cAAa,sBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentSelectorWrapper.d.ts","names":[],"sources":["../../../src/components/ContentSelectorWrapper.ts"],"mappings":";cAkBM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,qCAAA,SAA8C,YAAA;EAAA,QACjD,YAAA;EAAA,QACA,cAAA;EAAA,QACA,cAAA;EAAA,QACA,WAAA;EAAA,QACA,WAAA;EAAA,QACA,YAAA;EAAA,QAEA,YAAA;EAAA,QACA,SAAA;EAAA,QAEA,aAAA;EAAA,QACA,aAAA;EAAA,QACA,aAAA;EAAA,QACA,mBAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAMZ,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;;EAclB,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAaF,iBAAA,CAAA;EAQA,oBAAA,CAAA;EAAA,QAIQ,SAAA;EAAA,QAWA,cAAA;EAAA,QAQA,mBAAA;EAAA,QAMA,kBAAA;EAAA,QAkDA,iBAAA;EAAA,QAgBA,mBAAA;EAAA,QASA,mBAAA;EAAA,QAwBA,0BAAA;EAAA,QA+BA,YAAA;EAAA,QAWA,YAAA;EAAA,QAWA,cAAA;EAAA,QAQA,OAAA;EAAA,QA+BA,eAAA;AAAA;AAAA,cAkCG,oCAAA"}
1
+ {"version":3,"file":"ContentSelectorWrapper.d.ts","names":[],"sources":["../../../src/components/ContentSelectorWrapper.ts"],"mappings":";cAkBM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,qCAAA,SAA8C,YAAY;EAAA,QAC7D,YAAA;EAAA,QACA,cAAA;EAAA,QACA,cAAA;EAAA,QACA,WAAA;EAAA,QACA,WAAA;EAAA,QACA,YAAA;EAAA,QAEA,YAAA;EAAA,QACA,SAAA;EAAA,QAEA,aAAA;EAAA,QACA,aAAA;EAAA,QACA,aAAA;EAAA,QACA,mBAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAMZ,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;;EAclB,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAaF,iBAAA,CAAA;EAQA,oBAAA,CAAA;EAAA,QAIQ,SAAA;EAAA,QAWA,cAAA;EAAA,QAQA,mBAAA;EAAA,QAMA,kBAAA;EAAA,QAkDA,iBAAA;EAAA,QAgBA,mBAAA;EAAA,QASA,mBAAA;EAAA,QAwBA,0BAAA;EAAA,QA+BA,YAAA;EAAA,QAWA,YAAA;EAAA,QAWA,cAAA;EAAA,QAQA,OAAA;EAAA,QA+BA,eAAA;AAAA;AAAA,cAkCG,oCAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditedContent.d.ts","names":[],"sources":["../../../src/components/EditedContent.ts"],"mappings":";cAQM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,4BAAA,SAAqC,YAAA;EAAA,QACxC,cAAA;EAAA,QACA,YAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QAEA,aAAA;EAAA,QACA,mBAAA;EAAA,QAEA,gBAAA;EAAA,QACA,KAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;EAAA,IAKd,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAKZ,MAAA,CAAA;EAAA,IAGA,MAAA,CAAO,CAAA;;EAoBX,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAcF,iBAAA,CAAA;EAIA,oBAAA,CAAA;EAAA,QAIQ,SAAA;EAAA,QAOA,WAAA;EAAA,QAQA,OAAA;EAAA,QAaA,kBAAA;EAAA,QA2CA,0BAAA;EAAA,QAUA,mBAAA;AAAA;AAAA,cAmBG,2BAAA"}
1
+ {"version":3,"file":"EditedContent.d.ts","names":[],"sources":["../../../src/components/EditedContent.ts"],"mappings":";cAQM,YAAA;EAAA,QAG2C,WAAA;aAAA,WAAA;AAAA;;;;;;;AAgBjD;;;;;;;;cAAa,4BAAA,SAAqC,YAAY;EAAA,QACpD,cAAA;EAAA,QACA,YAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QAEA,aAAA;EAAA,QACA,mBAAA;EAAA,QAEA,gBAAA;EAAA,QACA,KAAA;EAAA,WAEG,kBAAA,CAAA;EAAA,IAIP,aAAA,CAAA;EAAA,IAGA,aAAA,CAAc,CAAA;EAAA,IAKd,WAAA,CAAA;EAAA,IAGA,WAAA,CAAY,CAAA;EAAA,IAKZ,MAAA,CAAA;EAAA,IAGA,MAAA,CAAO,CAAA;;EAoBX,wBAAA,CACE,IAAA,UACA,OAAA,iBACA,MAAA;EAcF,iBAAA,CAAA;EAIA,oBAAA,CAAA;EAAA,QAIQ,SAAA;EAAA,QAOA,WAAA;EAAA,QAQA,OAAA;EAAA,QAaA,kBAAA;EAAA,QA2CA,0BAAA;EAAA,QAUA,mBAAA;AAAA;AAAA,cAmBG,2BAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CrossFrameMessenger.d.ts","names":[],"sources":["../../../src/core/CrossFrameMessenger.ts"],"mappings":";KAIY,cAAA;EACV,IAAA;EACA,IAAA;EACA,QAAA,WAHwB;EAKxB,SAAA;AAAA;AAAA,KAGU,eAAA;EAHV;;;AAGF;EAKE,cAAA;;;;;EAKA,aAAA,GAAgB,OAAA,EAAS,cAAA,EAAgB,MAAA;AAAA;AAAA,KAGtC,cAAA,iBAA+B,IAAA,EAAM,CAAA,EAAG,QAAA;;;AAF3C;;;;;cAWW,mBAAA;EAAA,SACF,QAAA;EAAA,iBACQ,OAAA;EAAA,iBACA,YAAA;EAAA,QAET,cAAA;EALG;EAAA,iBAOM,eAAA;cAEL,MAAA,EAAQ,eAAA;EAAA;EAMpB,KAAA,CAAA;EAqC8C;EA3B9C,IAAA,CAAA;EA2B4D;EAnB5D,IAAA,CAAK,IAAA,UAAc,IAAA;EA/BF;;;;EAkDjB,SAAA,aAAA,CAAuB,IAAA,UAAc,OAAA,EAAS,cAAA,CAAe,CAAA;EAAA,QAUrD,cAAA;AAAA"}
1
+ {"version":3,"file":"CrossFrameMessenger.d.ts","names":[],"sources":["../../../src/core/CrossFrameMessenger.ts"],"mappings":";KAIY,cAAA;EACV,IAAA;EACA,IAAA;EACA,QAAA,WAHwB;EAKxB,SAAA;AAAA;AAAA,KAGU,eAAA;EAHV;;AAAS;AAGX;EAKE,cAAA;;;;;EAKA,aAAA,GAAgB,OAAA,EAAS,cAAc,EAAE,MAAA;AAAA;AAAA,KAGtC,cAAA,iBAA+B,IAAA,EAAM,CAAC,EAAE,QAAA;;AAHY;AACvD;;;;;cAWW,mBAAA;EAAA,SACF,QAAA;EAAA,iBACQ,OAAA;EAAA,iBACA,YAAA;EAAA,QAET,cAAA;EALG;EAAA,iBAOM,eAAA;cAEL,MAAA,EAAQ,eAAA;EAAA;EAMpB,KAAA,CAAA;EAqC8C;EA3B9C,IAAA,CAAA;EA2B4D;EAnB5D,IAAA,CAAK,IAAA,UAAc,IAAA;EA/BF;;;;EAkDjB,SAAA,aAAA,CAAuB,IAAA,UAAc,OAAA,EAAS,cAAA,CAAe,CAAA;EAAA,QAUrD,cAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CrossFrameStateManager.d.ts","names":[],"sources":["../../../src/core/CrossFrameStateManager.ts"],"mappings":";;;KAEY,sBAAA;0EAEV,IAAA,YAFgC;EAIhC,OAAA;AAAA;;AAeF;;;;;;;;;;;cAAa,sBAAA,YAAkC,WAAA;EAAA,QACrC,MAAA;EAAA,iBACS,IAAA;EAAA,iBACA,UAAA;EAAA,iBACA,QAAA;EAAA,iBACA,cAAA;cAGf,GAAA,UACA,SAAA,EAAW,mBAAA,EACX,OAAA,GAAS,sBAAA;IAA2B,YAAA,GAAe,CAAA;EAAA;EAAA,IAcjD,KAAA,CAAA,GAAS,CAAA;EAfX;EAoBF,GAAA,CAAI,QAAA,EAAU,CAAA;EAnBwB;;;;EA+BtC,KAAA,CAAA;EAZA;EA4CA,IAAA,CAAA;EA5CI;EAkDJ,gBAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"CrossFrameStateManager.d.ts","names":[],"sources":["../../../src/core/CrossFrameStateManager.ts"],"mappings":";;;KAEY,sBAAA;0EAEV,IAAA,YAFgC;EAIhC,OAAO;AAAA;AAAA;AAeT;;;;;;;;;;;AAfS,cAeI,sBAAA,YAAkC,WAAA;EAAA,QACrC,MAAA;EAAA,iBACS,IAAA;EAAA,iBACA,UAAA;EAAA,iBACA,QAAA;EAAA,iBACA,cAAA;cAGf,GAAA,UACA,SAAA,EAAW,mBAAA,EACX,OAAA,GAAS,sBAAA;IAA2B,YAAA,GAAe,CAAA;EAAA;EAAA,IAcjD,KAAA,CAAA,GAAS,CAAA;EAfX;EAoBF,GAAA,CAAI,QAAA,EAAU,CAAA;EAnBwB;;;;EA+BtC,KAAA,CAAA;EAZA;EA4CA,IAAA,CAAA;EA5CI;EAkDJ,gBAAA,CAAA;AAAA"}
@@ -33,6 +33,7 @@ declare class EditorStateManager {
33
33
  readonly editedContent: CrossFrameStateManager<DictionaryContent>;
34
34
  readonly configuration: CrossFrameStateManager<IntlayerConfig>;
35
35
  readonly currentLocale: CrossFrameStateManager<Locale | undefined>;
36
+ readonly displayedDictionaryKeys: CrossFrameStateManager<string[]>;
36
37
  private readonly _urlManager;
37
38
  private readonly _iframeInterceptor;
38
39
  private readonly _mode;
@@ -40,6 +41,15 @@ declare class EditorStateManager {
40
41
  private _unsubAreYouThere;
41
42
  private _unsubActivate;
42
43
  private _unsubClientReady;
44
+ private _displayedKeysObserver;
45
+ private _displayedKeysTimer;
46
+ private _displayedKeysListeners;
47
+ private _editedContentFromBus;
48
+ private _unsubGlobalEditedContent;
49
+ private _editedContentBusHandler;
50
+ private _focusedContentFromBus;
51
+ private _unsubGlobalFocusedContent;
52
+ private _focusedContentBusHandler;
43
53
  constructor(config: EditorStateManagerConfig);
44
54
  start(): void;
45
55
  stop(): void;
@@ -59,6 +69,13 @@ declare class EditorStateManager {
59
69
  clearContent(localDictionaryId: LocalDictionaryId): void;
60
70
  clearAllContent(): void;
61
71
  getContentValue(localDictionaryIdOrKey: LocalDictionaryId | string, keyPath: KeyPath[]): ContentNode | undefined;
72
+ private _startEditedContentBusSync;
73
+ private _stopEditedContentBusSync;
74
+ private _startFocusedContentBusSync;
75
+ private _stopFocusedContentBusSync;
76
+ private _scanDisplayedDictionaryKeys;
77
+ private _startDisplayedDictionariesTracking;
78
+ private _stopDisplayedDictionariesTracking;
62
79
  /**
63
80
  * EDITOR mode: listen for CLIENT_READY and respond with EDITOR_ACTIVATE.
64
81
  * Also pings the client immediately in case it loaded before the editor.
@@ -1 +1 @@
1
- {"version":3,"file":"EditorStateManager.d.ts","names":[],"sources":["../../../src/core/EditorStateManager.ts"],"mappings":";;;;;;;;KAuBY,iBAAA,GAAoB,MAAA,CAAO,iBAAA,EAAmB,UAAA;AAAA,KAE9C,WAAA;EACV,aAAA;EACA,iBAAA,GAAoB,iBAAA;EACpB,OAAA,GAAU,OAAA;AAAA;AAAA,KAGA,wBAAA;EARoB,2FAU9B,IAAA,uBAVoC;EAYpC,SAAA,EAAW,eAAA,EAZ0B;EAcrC,aAAA,GAAgB,cAAA;AAAA;;AAZlB;;;;;;;cAuBa,kBAAA;EAAA,SACF,SAAA,EAAW,mBAAA;EAAA,SACX,aAAA,EAAe,sBAAA;EAAA,SACf,cAAA,EAAgB,sBAAA,CAAuB,WAAA;EAAA,SACvC,kBAAA,EAAoB,sBAAA,CAAuB,iBAAA;EAAA,SAC3C,aAAA,EAAe,sBAAA,CAAuB,iBAAA;EAAA,SACtC,aAAA,EAAe,sBAAA,CAAuB,cAAA;EAAA,SACtC,aAAA,EAAe,sBAAA,CAAuB,MAAA;EAAA,iBAE9B,WAAA;EAAA,iBACA,kBAAA;EAAA,iBACA,KAAA;EAAA,iBACA,cAAA;EAAA,QAGT,iBAAA;EAAA,QACA,cAAA;EAAA,QAEA,iBAAA;cAEI,MAAA,EAAQ,wBAAA;EAoDpB,KAAA,CAAA;EAyBA,IAAA,CAAA;EAhGoB;;;;EAyHpB,UAAA,CAAA;EAQA,wBAAA,CAAyB,OAAA,EAAS,OAAA;EAalC,mBAAA,CAAoB,UAAA,EAAY,UAAA;EAYhC,mBAAA,CAAoB,OAAA,EAAS,UAAA;EAa7B,gBAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,QAAA,EAAU,UAAA;EAaZ,UAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,QAAA,EAAU,WAAA,EACV,OAAA,GAAS,OAAA,IACT,SAAA;EAgDF,aAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,MAAA,EAAQ,OAAA,SACR,OAAA,GAAS,OAAA;EAmBX,aAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,OAAA,EAAS,OAAA;EAwBX,cAAA,CAAe,iBAAA,EAAmB,iBAAA;EASlC,YAAA,CAAa,iBAAA,EAAmB,iBAAA;EAShC,eAAA,CAAA;EAIA,eAAA,CACE,sBAAA,EAAwB,iBAAA,WACxB,OAAA,EAAS,OAAA,KACR,WAAA;EA3IkB;;;;EAAA,QAmMb,qBAAA;EAAA,QAcA,yBAAA;EAAA,QAsBA,cAAA;EAAA,QA2BM,iBAAA;AAAA"}
1
+ {"version":3,"file":"EditorStateManager.d.ts","names":[],"sources":["../../../src/core/EditorStateManager.ts"],"mappings":";;;;;;;;KAiCY,iBAAA,GAAoB,MAAA,CAAO,iBAAA,EAAmB,UAAA;AAAA,KAE9C,WAAA;EACV,aAAA;EACA,iBAAA,GAAoB,iBAAA;EACpB,OAAA,GAAU,OAAO;AAAA;AAAA,KAGP,wBAAA;EARoB,2FAU9B,IAAA,uBAVoC;EAYpC,SAAA,EAAW,eAAA,EAZ0B;EAcrC,aAAA,GAAgB,cAAc;AAAA;AAdoC;AAEpE;;;;;;;AAFoE,cAyBvD,kBAAA;EAAA,SACF,SAAA,EAAW,mBAAA;EAAA,SACX,aAAA,EAAe,sBAAA;EAAA,SACf,cAAA,EAAgB,sBAAA,CAAuB,WAAA;EAAA,SACvC,kBAAA,EAAoB,sBAAA,CAAuB,iBAAA;EAAA,SAC3C,aAAA,EAAe,sBAAA,CAAuB,iBAAA;EAAA,SACtC,aAAA,EAAe,sBAAA,CAAuB,cAAA;EAAA,SACtC,aAAA,EAAe,sBAAA,CAAuB,MAAA;EAAA,SACtC,uBAAA,EAAyB,sBAAA;EAAA,iBAEjB,WAAA;EAAA,iBACA,kBAAA;EAAA,iBACA,KAAA;EAAA,iBACA,cAAA;EAAA,QAGT,iBAAA;EAAA,QACA,cAAA;EAAA,QAEA,iBAAA;EAAA,QAGA,sBAAA;EAAA,QACA,mBAAA;EAAA,QACA,uBAAA;EAAA,QAGA,qBAAA;EAAA,QACA,yBAAA;EAAA,QACA,wBAAA;EAAA,QAGA,sBAAA;EAAA,QACA,0BAAA;EAAA,QACA,yBAAA;cAEI,MAAA,EAAQ,wBAAA;EA+DpB,KAAA,CAAA;EA6BA,IAAA,CAAA;EAzH+C;;;;EAsJ/C,UAAA,CAAA;EAQA,wBAAA,CAAyB,OAAA,EAAS,OAAA;EAalC,mBAAA,CAAoB,UAAA,EAAY,UAAA;EAYhC,mBAAA,CAAoB,OAAA,EAAS,UAAA;EAa7B,gBAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,QAAA,EAAU,UAAA;EAaZ,UAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,QAAA,EAAU,WAAA,EACV,OAAA,GAAS,OAAA,IACT,SAAA;EAgDF,aAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,MAAA,EAAQ,OAAA,SACR,OAAA,GAAS,OAAA;EAmBX,aAAA,CACE,iBAAA,EAAmB,iBAAA,EACnB,OAAA,EAAS,OAAA;EAwBX,cAAA,CAAe,iBAAA,EAAmB,iBAAA;EASlC,YAAA,CAAa,iBAAA,EAAmB,iBAAA;EAShC,eAAA,CAAA;EAIA,eAAA,CACE,sBAAA,EAAwB,iBAAA,WACxB,OAAA,EAAS,OAAA,KACR,WAAA;EAAA,QAsDK,0BAAA;EAAA,QA+BA,yBAAA;EAAA,QAcA,2BAAA;EAAA,QA4BA,0BAAA;EAAA,QAcA,4BAAA;EAAA,QAeA,mCAAA;EAAA,QA8BA,kCAAA;EA1LM;;;;EAAA,QA6MN,qBAAA;EAAA,QAcA,yBAAA;EAAA,QAsBA,cAAA;EAAA,QA2BM,iBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"IframeClickInterceptor.d.ts","names":[],"sources":["../../../src/core/IframeClickInterceptor.ts"],"mappings":";;;;;AAYA;;;;;;cAAa,sBAAA;EAAA,iBACM,UAAA;EAAA,QACT,iBAAA;EAAA,QACA,iBAAA;cAEI,SAAA,EAAW,mBAAA;EAcvB;EATA,gBAAA,CAAA;EAuBA;EAdA,WAAA,CAAA;EAOA,eAAA,CAAA;EAOA,UAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"IframeClickInterceptor.d.ts","names":[],"sources":["../../../src/core/IframeClickInterceptor.ts"],"mappings":";;;;;AAYA;;;;;;cAAa,sBAAA;EAAA,iBACM,UAAA;EAAA,QACT,iBAAA;EAAA,QACA,iBAAA;cAEI,SAAA,EAAW,mBAAmB;EAc1C;EATA,gBAAA,CAAA;EAuBA;EAdA,WAAA,CAAA;EAOA,eAAA,CAAA;EAOA,UAAA,CAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UrlStateManager.d.ts","names":[],"sources":["../../../src/core/UrlStateManager.ts"],"mappings":";;;;;AASA;;;;cAAa,eAAA;EAAA,iBACM,UAAA;EAAA,QACT,kBAAA;EAAA,QACA,qBAAA;EAAA,QACA,UAAA;cAEI,SAAA,EAAW,mBAAA;EAIvB,KAAA,CAAA;EA2CA,IAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"UrlStateManager.d.ts","names":[],"sources":["../../../src/core/UrlStateManager.ts"],"mappings":";;;;;AASA;;;;cAAa,eAAA;EAAA,iBACM,UAAA;EAAA,QACT,kBAAA;EAAA,QACA,qBAAA;EAAA,QACA,UAAA;cAEI,SAAA,EAAW,mBAAmB;EAI1C,KAAA,CAAA;EA2CA,IAAA,CAAA;AAAA"}
@@ -0,0 +1,9 @@
1
+ import { DictionaryContent } from "./EditorStateManager.js";
2
+
3
+ //#region src/core/editedContentBus.d.ts
4
+ declare const getGlobalEditedContent: () => DictionaryContent;
5
+ declare const setGlobalEditedContent: (content: DictionaryContent, sourceId?: string) => void;
6
+ declare const subscribeToGlobalEditedContent: (cb: (content: DictionaryContent, sourceId?: string) => void) => (() => void);
7
+ //#endregion
8
+ export { getGlobalEditedContent, setGlobalEditedContent, subscribeToGlobalEditedContent };
9
+ //# sourceMappingURL=editedContentBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editedContentBus.d.ts","names":[],"sources":["../../../src/core/editedContentBus.ts"],"mappings":";;;cAmBa,sBAAA,QAA6B,iBAGzC;AAAA,cAEY,sBAAA,GACX,OAAA,EAAS,iBAAiB,EAC1B,QAAA;AAAA,cAUW,8BAAA,GACX,EAAA,GAAK,OAAA,EAAS,iBAAiB,EAAE,QAAA"}
@@ -0,0 +1,9 @@
1
+ import { FileContent } from "./EditorStateManager.js";
2
+
3
+ //#region src/core/focusedContentBus.d.ts
4
+ declare const getGlobalFocusedContent: () => FileContent | null | undefined;
5
+ declare const setGlobalFocusedContent: (content: FileContent | null, sourceId?: string) => void;
6
+ declare const subscribeToGlobalFocusedContent: (cb: (content: FileContent | null, sourceId?: string) => void) => (() => void);
7
+ //#endregion
8
+ export { getGlobalFocusedContent, setGlobalFocusedContent, subscribeToGlobalFocusedContent };
9
+ //# sourceMappingURL=focusedContentBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusedContentBus.d.ts","names":[],"sources":["../../../src/core/focusedContentBus.ts"],"mappings":";;;cAoBa,uBAAA,QAA8B,WAAW;AAAA,cAOzC,uBAAA,GACX,OAAA,EAAS,WAAW,SACpB,QAAA;AAAA,cAYW,+BAAA,GACX,EAAA,GAAK,OAAA,EAAS,WAAW,SAAS,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"globalManager.d.ts","names":[],"sources":["../../../src/core/globalManager.ts"],"mappings":";;;;;AAmDA;;;;;cAAa,sBAAA,QAA6B,kBAAA;;;;;AAiD1C;;cAhCa,sBAAA,GACX,OAAA,EAAS,kBAAA;;;;;;;;;;;;;;;;;;cA+BE,2BAAA,GACX,cAAA,GAAiB,OAAA,EAAS,kBAAA"}
1
+ {"version":3,"file":"globalManager.d.ts","names":[],"sources":["../../../src/core/globalManager.ts"],"mappings":";;;;;AAmDA;;;;AAA4D;cAA/C,sBAAA,QAA6B,kBAAkB;;;;AAkBxB;AA+BpC;;cAhCa,sBAAA,GACX,OAAkC,EAAzB,kBAAkB;;;;;;AAgCiC;;;;;;;;;;;;cADjD,2BAAA,GACX,cAAA,GAAiB,OAAA,EAAS,kBAAkB"}
@@ -3,6 +3,8 @@ import { CrossFrameStateManager, CrossFrameStateOptions } from "./CrossFrameStat
3
3
  import { DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent } from "./EditorStateManager.js";
4
4
  import { IframeClickInterceptor } from "./IframeClickInterceptor.js";
5
5
  import { UrlStateManager } from "./UrlStateManager.js";
6
+ import { getGlobalEditedContent, setGlobalEditedContent, subscribeToGlobalEditedContent } from "./editedContentBus.js";
7
+ import { getGlobalFocusedContent, setGlobalFocusedContent, subscribeToGlobalFocusedContent } from "./focusedContentBus.js";
6
8
  import { getGlobalEditorManager, onGlobalEditorManagerChange, setGlobalEditorManager } from "./globalManager.js";
7
9
  import { buildClientMessengerConfig, initEditorClient, stopEditorClient } from "./initEditorClient.js";
8
- export { CrossFrameMessenger, CrossFrameStateManager, CrossFrameStateOptions, DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent, IframeClickInterceptor, MessagePayload, MessengerConfig, UrlStateManager, buildClientMessengerConfig, getGlobalEditorManager, initEditorClient, onGlobalEditorManagerChange, setGlobalEditorManager, stopEditorClient };
10
+ export { CrossFrameMessenger, CrossFrameStateManager, CrossFrameStateOptions, DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent, IframeClickInterceptor, MessagePayload, MessengerConfig, UrlStateManager, buildClientMessengerConfig, getGlobalEditedContent, getGlobalEditorManager, getGlobalFocusedContent, initEditorClient, onGlobalEditorManagerChange, setGlobalEditedContent, setGlobalEditorManager, setGlobalFocusedContent, stopEditorClient, subscribeToGlobalEditedContent, subscribeToGlobalFocusedContent };
@@ -1 +1 @@
1
- {"version":3,"file":"initEditorClient.d.ts","names":[],"sources":["../../../src/core/initEditorClient.ts"],"mappings":";;;;cASa,0BAAA,QAAiC,eAAA;;AAA9C;;;;;cAyBa,gBAAA,QAAuB,kBAAA;;;;;cAuBvB,gBAAA"}
1
+ {"version":3,"file":"initEditorClient.d.ts","names":[],"sources":["../../../src/core/initEditorClient.ts"],"mappings":";;;;cASa,0BAAA,QAAiC,eAc7C;;AAdD;;;;AAcC;cAWY,gBAAA,QAAuB,kBAiBnC;;;;AAAA;cAMY,gBAAA"}
@@ -8,8 +8,10 @@ import { CrossFrameStateManager, CrossFrameStateOptions } from "./core/CrossFram
8
8
  import { DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent } from "./core/EditorStateManager.js";
9
9
  import { IframeClickInterceptor } from "./core/IframeClickInterceptor.js";
10
10
  import { UrlStateManager } from "./core/UrlStateManager.js";
11
+ import { getGlobalEditedContent, setGlobalEditedContent, subscribeToGlobalEditedContent } from "./core/editedContentBus.js";
12
+ import { getGlobalFocusedContent, setGlobalFocusedContent, subscribeToGlobalFocusedContent } from "./core/focusedContentBus.js";
11
13
  import { getGlobalEditorManager, onGlobalEditorManagerChange, setGlobalEditorManager } from "./core/globalManager.js";
12
14
  import { buildClientMessengerConfig, initEditorClient, stopEditorClient } from "./core/initEditorClient.js";
13
15
  import { mergeIframeClick } from "./mergeIframeClick.js";
14
16
  import { MessageKey } from "./messageKey.js";
15
- export { CrossFrameMessenger, CrossFrameStateManager, CrossFrameStateOptions, DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent, IframeClickInterceptor, IntlayerContentSelectorElement, IntlayerContentSelectorWrapperElement, IntlayerEditedContentElement, IntlayerEditorElement, MessageKey, MessagePayload, MessengerConfig, UrlStateManager, buildClientMessengerConfig, compareUrls, defineIntlayerContentSelectorWrapper, defineIntlayerEditedContent, defineIntlayerEditorElement, defineIntlayerElements, getGlobalEditorManager, initEditorClient, mergeIframeClick, onGlobalEditorManagerChange, setGlobalEditorManager, stopEditorClient };
17
+ export { CrossFrameMessenger, CrossFrameStateManager, CrossFrameStateOptions, DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent, IframeClickInterceptor, IntlayerContentSelectorElement, IntlayerContentSelectorWrapperElement, IntlayerEditedContentElement, IntlayerEditorElement, MessageKey, MessagePayload, MessengerConfig, UrlStateManager, buildClientMessengerConfig, compareUrls, defineIntlayerContentSelectorWrapper, defineIntlayerEditedContent, defineIntlayerEditorElement, defineIntlayerElements, getGlobalEditedContent, getGlobalEditorManager, getGlobalFocusedContent, initEditorClient, mergeIframeClick, onGlobalEditorManagerChange, setGlobalEditedContent, setGlobalEditorManager, setGlobalFocusedContent, stopEditorClient, subscribeToGlobalEditedContent, subscribeToGlobalFocusedContent };
@@ -1 +1 @@
1
- {"version":3,"file":"mergeIframeClick.d.ts","names":[],"sources":["../../src/mergeIframeClick.ts"],"mappings":";cACa,gBAAA,GAAoB,KAAA,EAAO,YAAA"}
1
+ {"version":3,"file":"mergeIframeClick.d.ts","names":[],"sources":["../../src/mergeIframeClick.ts"],"mappings":";cACa,gBAAA,GAAoB,KAAmB,EAAZ,YAAY"}
@@ -20,7 +20,9 @@ declare enum MessageKey {
20
20
  INTLAYER_FOCUSED_CONTENT_CHANGED = "INTLAYER_FOCUSED_CONTENT_CHANGED",
21
21
  INTLAYER_EDITED_CONTENT_CHANGED = "INTLAYER_EDITED_CONTENT_CHANGED",
22
22
  /** Client → editor: Helper to sync iframe client reactivity on click client */
23
- INTLAYER_IFRAME_CLICKED = "INTLAYER_IFRAME_CLICKED"
23
+ INTLAYER_IFRAME_CLICKED = "INTLAYER_IFRAME_CLICKED",
24
+ /** Client → editor: list of dictionary keys currently rendered in the iframe */
25
+ INTLAYER_DISPLAYED_DICTIONARY_KEYS = "INTLAYER_DISPLAYED_DICTIONARY_KEYS"
24
26
  }
25
27
  //#endregion
26
28
  export { MessageKey };
@@ -1 +1 @@
1
- {"version":3,"file":"messageKey.d.ts","names":[],"sources":["../../src/messageKey.ts"],"mappings":";aAAY,UAAA;EAAA;EAEV,qBAAA;;EAEA,sBAAA;EAFA;EAIA,wBAAA;EAAA;EAEA,uBAAA;EAGA;EAAA,sBAAA;EACA,uBAAA;EACA,mBAAA;EAIA;EADA,oCAAA;EACA,qCAAA;EAKA;EAFA,gCAAA;EACA,gCAAA;EACA,+BAAA;;EAGA,uBAAA;AAAA"}
1
+ {"version":3,"file":"messageKey.d.ts","names":[],"sources":["../../src/messageKey.ts"],"mappings":";aAAY,UAAA;EAAA;EAEV,qBAAA;;EAEA,sBAAA;EAFA;EAIA,wBAAA;EAAA;EAEA,uBAAA;EAGA;EAAA,sBAAA;EACA,uBAAA;EACA,mBAAA;EAIA;EADA,oCAAA;EACA,qCAAA;EAKA;EAFA,gCAAA;EACA,gCAAA;EACA,+BAAA;EAMkC;EAHlC,uBAAA;;EAGA,kCAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/editor",
3
- "version": "8.9.7",
3
+ "version": "8.10.0-canary.0",
4
4
  "private": false,
5
5
  "description": "Provides the utilities to interface the application with the Intlayer editor and manipulate dictionaries",
6
6
  "keywords": [
@@ -75,13 +75,13 @@
75
75
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
76
76
  },
77
77
  "dependencies": {
78
- "@intlayer/config": "8.9.7",
79
- "@intlayer/core": "8.9.7",
80
- "@intlayer/types": "8.9.7",
81
- "@intlayer/unmerged-dictionaries-entry": "8.9.7"
78
+ "@intlayer/config": "8.10.0-canary.0",
79
+ "@intlayer/core": "8.10.0-canary.0",
80
+ "@intlayer/types": "8.10.0-canary.0",
81
+ "@intlayer/unmerged-dictionaries-entry": "8.10.0-canary.0"
82
82
  },
83
83
  "devDependencies": {
84
- "@types/node": "25.8.0",
84
+ "@types/node": "25.9.0",
85
85
  "@utils/ts-config": "1.0.4",
86
86
  "@utils/ts-config-types": "1.0.4",
87
87
  "@utils/tsdown-config": "1.0.4",