@intlayer/editor 8.3.3 → 8.4.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 (97) hide show
  1. package/dist/cjs/_virtual/_@oxc-project_runtime@0.115.0/helpers/decorate.cjs +1 -0
  2. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  3. package/dist/cjs/components/ContentSelector.cjs +41 -0
  4. package/dist/cjs/components/ContentSelector.cjs.map +1 -0
  5. package/dist/cjs/components/ContentSelectorWrapper.cjs +15 -0
  6. package/dist/cjs/components/ContentSelectorWrapper.cjs.map +1 -0
  7. package/dist/cjs/components/EditedContent.cjs +13 -0
  8. package/dist/cjs/components/EditedContent.cjs.map +1 -0
  9. package/dist/cjs/components/IntlayerEditor.cjs +2 -0
  10. package/dist/cjs/components/IntlayerEditor.cjs.map +1 -0
  11. package/dist/cjs/components/index.cjs +1 -0
  12. package/dist/cjs/core/CrossFrameMessenger.cjs +2 -0
  13. package/dist/cjs/core/CrossFrameMessenger.cjs.map +1 -0
  14. package/dist/cjs/core/CrossFrameStateManager.cjs +2 -0
  15. package/dist/cjs/core/CrossFrameStateManager.cjs.map +1 -0
  16. package/dist/cjs/core/EditorStateManager.cjs +2 -0
  17. package/dist/cjs/core/EditorStateManager.cjs.map +1 -0
  18. package/dist/cjs/core/IframeClickInterceptor.cjs +2 -0
  19. package/dist/cjs/core/IframeClickInterceptor.cjs.map +1 -0
  20. package/dist/cjs/core/UrlStateManager.cjs +2 -0
  21. package/dist/cjs/core/UrlStateManager.cjs.map +1 -0
  22. package/dist/cjs/core/globalManager.cjs +2 -0
  23. package/dist/cjs/core/globalManager.cjs.map +1 -0
  24. package/dist/cjs/core/index.cjs +1 -0
  25. package/dist/cjs/core/initEditorClient.cjs +2 -0
  26. package/dist/cjs/core/initEditorClient.cjs.map +1 -0
  27. package/dist/cjs/index.cjs +1 -1
  28. package/dist/cjs/isEnabled.cjs +2 -0
  29. package/dist/cjs/isEnabled.cjs.map +1 -0
  30. package/dist/cjs/messageKey.cjs +2 -0
  31. package/dist/cjs/messageKey.cjs.map +1 -0
  32. package/dist/esm/_virtual/_@oxc-project_runtime@0.115.0/helpers/decorate.mjs +1 -0
  33. package/dist/esm/components/ContentSelector.mjs +41 -0
  34. package/dist/esm/components/ContentSelector.mjs.map +1 -0
  35. package/dist/esm/components/ContentSelectorWrapper.mjs +15 -0
  36. package/dist/esm/components/ContentSelectorWrapper.mjs.map +1 -0
  37. package/dist/esm/components/EditedContent.mjs +13 -0
  38. package/dist/esm/components/EditedContent.mjs.map +1 -0
  39. package/dist/esm/components/IntlayerEditor.mjs +2 -0
  40. package/dist/esm/components/IntlayerEditor.mjs.map +1 -0
  41. package/dist/esm/components/index.mjs +1 -0
  42. package/dist/esm/core/CrossFrameMessenger.mjs +2 -0
  43. package/dist/esm/core/CrossFrameMessenger.mjs.map +1 -0
  44. package/dist/esm/core/CrossFrameStateManager.mjs +2 -0
  45. package/dist/esm/core/CrossFrameStateManager.mjs.map +1 -0
  46. package/dist/esm/core/EditorStateManager.mjs +2 -0
  47. package/dist/esm/core/EditorStateManager.mjs.map +1 -0
  48. package/dist/esm/core/IframeClickInterceptor.mjs +2 -0
  49. package/dist/esm/core/IframeClickInterceptor.mjs.map +1 -0
  50. package/dist/esm/core/UrlStateManager.mjs +2 -0
  51. package/dist/esm/core/UrlStateManager.mjs.map +1 -0
  52. package/dist/esm/core/globalManager.mjs +2 -0
  53. package/dist/esm/core/globalManager.mjs.map +1 -0
  54. package/dist/esm/core/index.mjs +1 -0
  55. package/dist/esm/core/initEditorClient.mjs +2 -0
  56. package/dist/esm/core/initEditorClient.mjs.map +1 -0
  57. package/dist/esm/index.mjs +1 -1
  58. package/dist/esm/isEnabled.mjs +2 -0
  59. package/dist/esm/isEnabled.mjs.map +1 -0
  60. package/dist/esm/messageKey.mjs +2 -0
  61. package/dist/esm/messageKey.mjs.map +1 -0
  62. package/dist/types/components/ContentSelector.d.ts +49 -0
  63. package/dist/types/components/ContentSelector.d.ts.map +1 -0
  64. package/dist/types/components/ContentSelectorWrapper.d.ts +49 -0
  65. package/dist/types/components/ContentSelectorWrapper.d.ts.map +1 -0
  66. package/dist/types/components/EditedContent.d.ts +39 -0
  67. package/dist/types/components/EditedContent.d.ts.map +1 -0
  68. package/dist/types/components/IntlayerEditor.d.ts +40 -0
  69. package/dist/types/components/IntlayerEditor.d.ts.map +1 -0
  70. package/dist/types/components/index.d.ts +5 -0
  71. package/dist/types/core/CrossFrameMessenger.d.ts +51 -0
  72. package/dist/types/core/CrossFrameMessenger.d.ts.map +1 -0
  73. package/dist/types/core/CrossFrameStateManager.d.ts +44 -0
  74. package/dist/types/core/CrossFrameStateManager.d.ts.map +1 -0
  75. package/dist/types/core/EditorStateManager.d.ts +73 -0
  76. package/dist/types/core/EditorStateManager.d.ts.map +1 -0
  77. package/dist/types/core/IframeClickInterceptor.d.ts +26 -0
  78. package/dist/types/core/IframeClickInterceptor.d.ts.map +1 -0
  79. package/dist/types/core/UrlStateManager.d.ts +21 -0
  80. package/dist/types/core/UrlStateManager.d.ts.map +1 -0
  81. package/dist/types/core/globalManager.d.ts +39 -0
  82. package/dist/types/core/globalManager.d.ts.map +1 -0
  83. package/dist/types/core/index.d.ts +8 -0
  84. package/dist/types/core/initEditorClient.d.ts +20 -0
  85. package/dist/types/core/initEditorClient.d.ts.map +1 -0
  86. package/dist/types/index.d.ts +13 -2
  87. package/dist/types/isEnabled.d.ts +5 -0
  88. package/dist/types/isEnabled.d.ts.map +1 -0
  89. package/dist/types/messageKey.d.ts +27 -0
  90. package/dist/types/messageKey.d.ts.map +1 -0
  91. package/package.json +18 -3
  92. package/dist/cjs/messagesKeys.cjs +0 -2
  93. package/dist/cjs/messagesKeys.cjs.map +0 -1
  94. package/dist/esm/messagesKeys.mjs +0 -2
  95. package/dist/esm/messagesKeys.mjs.map +0 -1
  96. package/dist/types/messagesKeys.d.ts +0 -16
  97. package/dist/types/messagesKeys.d.ts.map +0 -1
@@ -0,0 +1,73 @@
1
+ import { CrossFrameMessenger, MessengerConfig } from "./CrossFrameMessenger.js";
2
+ import { CrossFrameStateManager } from "./CrossFrameStateManager.js";
3
+ import { IntlayerConfig } from "@intlayer/types/config";
4
+ import { Locale } from "@intlayer/types/allLocales";
5
+ import { ContentNode, Dictionary, LocalDictionaryId } from "@intlayer/types/dictionary";
6
+ import { KeyPath } from "@intlayer/types/keyPath";
7
+
8
+ //#region src/core/EditorStateManager.d.ts
9
+ type DictionaryContent = Record<LocalDictionaryId, Dictionary>;
10
+ type FileContent = {
11
+ dictionaryKey: string;
12
+ dictionaryLocalId?: LocalDictionaryId;
13
+ keyPath?: KeyPath[];
14
+ };
15
+ type EditorStateManagerConfig = {
16
+ /** 'client' = the app running inside the iframe; 'editor' = the editor wrapping the app */mode: 'editor' | 'client'; /** Cross-frame messaging configuration */
17
+ messenger: MessengerConfig; /** Optional initial Intlayer configuration to broadcast */
18
+ configuration?: IntlayerConfig;
19
+ };
20
+ /**
21
+ * EditorStateManager is the single entry point for all Intlayer editor state.
22
+ * It is framework-agnostic: instantiate one instance at the root of the application
23
+ * and subscribe to its EventTarget-based events from any framework adapter.
24
+ *
25
+ * Replaces all context providers, hooks and store files across React, Preact,
26
+ * Solid, Svelte, and Vue integrations.
27
+ */
28
+ declare class EditorStateManager {
29
+ readonly messenger: CrossFrameMessenger;
30
+ readonly editorEnabled: CrossFrameStateManager<boolean>;
31
+ readonly focusedContent: CrossFrameStateManager<FileContent | null>;
32
+ readonly localeDictionaries: CrossFrameStateManager<DictionaryContent>;
33
+ readonly editedContent: CrossFrameStateManager<DictionaryContent>;
34
+ readonly configuration: CrossFrameStateManager<IntlayerConfig>;
35
+ readonly currentLocale: CrossFrameStateManager<Locale | undefined>;
36
+ private readonly _urlManager;
37
+ private readonly _iframeInterceptor;
38
+ private readonly _mode;
39
+ private readonly _configuration;
40
+ private _unsubAreYouThere;
41
+ private _unsubActivate;
42
+ private _unsubClientReady;
43
+ constructor(config: EditorStateManagerConfig);
44
+ start(): void;
45
+ stop(): void;
46
+ /**
47
+ * EDITOR mode: re-send ARE_YOU_THERE to attempt re-connection with the client.
48
+ * Call this when the user clicks "Enable Editor" or when the iframe reloads.
49
+ */
50
+ pingClient(): void;
51
+ setFocusedContentKeyPath(keyPath: KeyPath[]): void;
52
+ setLocaleDictionary(dictionary: Dictionary): void;
53
+ setEditedDictionary(newDict: Dictionary): void;
54
+ setEditedContent(localDictionaryId: LocalDictionaryId, newValue: Dictionary['content']): void;
55
+ addContent(localDictionaryId: LocalDictionaryId, newValue: ContentNode, keyPath?: KeyPath[], overwrite?: boolean): void;
56
+ renameContent(localDictionaryId: LocalDictionaryId, newKey: KeyPath['key'], keyPath?: KeyPath[]): void;
57
+ removeContent(localDictionaryId: LocalDictionaryId, keyPath: KeyPath[]): void;
58
+ restoreContent(localDictionaryId: LocalDictionaryId): void;
59
+ clearContent(localDictionaryId: LocalDictionaryId): void;
60
+ clearAllContent(): void;
61
+ getContentValue(localDictionaryIdOrKey: LocalDictionaryId | string, keyPath: KeyPath[]): ContentNode | undefined;
62
+ /**
63
+ * EDITOR mode: listen for CLIENT_READY and respond with EDITOR_ACTIVATE.
64
+ * Also pings the client immediately in case it loaded before the editor.
65
+ */
66
+ private _setupEditorHandshake;
67
+ private _setupActivationHandshake;
68
+ private _broadcastData;
69
+ private _loadDictionaries;
70
+ }
71
+ //#endregion
72
+ export { DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent };
73
+ //# sourceMappingURL=EditorStateManager.d.ts.map
@@ -0,0 +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;EAWlC,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"}
@@ -0,0 +1,26 @@
1
+ import { CrossFrameMessenger } from "./CrossFrameMessenger.js";
2
+
3
+ //#region src/core/IframeClickInterceptor.d.ts
4
+ /**
5
+ * IframeClickInterceptor handles click events across iframe boundaries.
6
+ *
7
+ * - startInterceptor(): called in the client (iframe) — broadcasts mousedown to parent
8
+ * - startMerger(): called in the editor (parent) — merges received clicks into DOM events
9
+ *
10
+ * Replaces useIframeClickInterceptor / useIframeClickMerger across all frameworks.
11
+ */
12
+ declare class IframeClickInterceptor {
13
+ private readonly _messenger;
14
+ private _mousedownHandler;
15
+ private _unsubscribeMerge;
16
+ constructor(messenger: CrossFrameMessenger);
17
+ /** Called on the client side (inside iframe). Broadcasts click events to parent. */
18
+ startInterceptor(): void;
19
+ /** Called on the editor side (parent frame). Merges incoming iframe clicks into DOM. */
20
+ startMerger(): void;
21
+ stopInterceptor(): void;
22
+ stopMerger(): void;
23
+ }
24
+ //#endregion
25
+ export { IframeClickInterceptor };
26
+ //# sourceMappingURL=IframeClickInterceptor.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import { CrossFrameMessenger } from "./CrossFrameMessenger.js";
2
+
3
+ //#region src/core/UrlStateManager.d.ts
4
+ /**
5
+ * UrlStateManager patches window.history and broadcasts URL path changes
6
+ * across frames via postMessage.
7
+ *
8
+ * Replaces useCrossURLPathSetter / useCrossURLPathState across all frameworks.
9
+ */
10
+ declare class UrlStateManager {
11
+ private readonly _messenger;
12
+ private _originalPushState;
13
+ private _originalReplaceState;
14
+ private _listeners;
15
+ constructor(messenger: CrossFrameMessenger);
16
+ start(): void;
17
+ stop(): void;
18
+ }
19
+ //#endregion
20
+ export { UrlStateManager };
21
+ //# sourceMappingURL=UrlStateManager.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,39 @@
1
+ import { EditorStateManager } from "./EditorStateManager.js";
2
+
3
+ //#region src/core/globalManager.d.ts
4
+ /**
5
+ * Retrieves the global editor state manager instance.
6
+ * Returns null if no manager has been set or in SSR environments where
7
+ * window is undefined.
8
+ *
9
+ * @returns The global EditorStateManager instance or null if not set
10
+ */
11
+ declare const getGlobalEditorManager: () => EditorStateManager | null;
12
+ /**
13
+ * Sets the global editor state manager instance and notifies all listeners
14
+ * of the change through a CustomEvent.
15
+ *
16
+ * @param manager - The EditorStateManager instance to set globally, or null to clear it
17
+ */
18
+ declare const setGlobalEditorManager: (manager: EditorStateManager | null) => void;
19
+ /**
20
+ * Registers a callback function to be invoked whenever the global editor
21
+ * manager changes. Useful for reactive updates across the application.
22
+ *
23
+ * @param changeCallback - Function to invoke with the new manager state whenever it changes
24
+ * @returns An unsubscribe function that removes the listener when called
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const unsubscribe = onGlobalEditorManagerChange((manager) => {
29
+ * console.log('Manager updated:', manager);
30
+ * });
31
+ *
32
+ * // Later, clean up the listener
33
+ * unsubscribe();
34
+ * ```
35
+ */
36
+ declare const onGlobalEditorManagerChange: (changeCallback: (manager: EditorStateManager | null) => void) => (() => void);
37
+ //#endregion
38
+ export { getGlobalEditorManager, onGlobalEditorManagerChange, setGlobalEditorManager };
39
+ //# sourceMappingURL=globalManager.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import { CrossFrameMessenger, MessagePayload, MessengerConfig } from "./CrossFrameMessenger.js";
2
+ import { CrossFrameStateManager, CrossFrameStateOptions } from "./CrossFrameStateManager.js";
3
+ import { DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent } from "./EditorStateManager.js";
4
+ import { IframeClickInterceptor } from "./IframeClickInterceptor.js";
5
+ import { UrlStateManager } from "./UrlStateManager.js";
6
+ import { getGlobalEditorManager, onGlobalEditorManagerChange, setGlobalEditorManager } from "./globalManager.js";
7
+ 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 };
@@ -0,0 +1,20 @@
1
+ import { MessengerConfig } from "./CrossFrameMessenger.js";
2
+ import { EditorStateManager } from "./EditorStateManager.js";
3
+
4
+ //#region src/core/initEditorClient.d.ts
5
+ declare const buildClientMessengerConfig: () => MessengerConfig;
6
+ /**
7
+ * Initialize the Intlayer editor client singleton.
8
+ * Safe to call multiple times — returns the existing manager if already initialized.
9
+ * Increments a reference counter so nested providers don't destroy the manager
10
+ * prematurely when the inner provider unmounts.
11
+ */
12
+ declare const initEditorClient: () => EditorStateManager;
13
+ /**
14
+ * Decrement the reference count and stop the global editor client singleton
15
+ * only when the last provider unmounts.
16
+ */
17
+ declare const stopEditorClient: () => void;
18
+ //#endregion
19
+ export { buildClientMessengerConfig, initEditorClient, stopEditorClient };
20
+ //# sourceMappingURL=initEditorClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initEditorClient.d.ts","names":[],"sources":["../../../src/core/initEditorClient.ts"],"mappings":";;;;cASa,0BAAA,QAAiC,eAAA;;AAA9C;;;;;cA2Ba,gBAAA,QAAuB,kBAAA;;;;;cAuBvB,gBAAA"}
@@ -1,4 +1,15 @@
1
1
  import { compareUrls } from "./compareUrls.js";
2
+ import { IntlayerContentSelectorElement, defineIntlayerElements } from "./components/ContentSelector.js";
3
+ import { IntlayerContentSelectorWrapperElement, defineIntlayerContentSelectorWrapper } from "./components/ContentSelectorWrapper.js";
4
+ import { IntlayerEditedContentElement, defineIntlayerEditedContent } from "./components/EditedContent.js";
5
+ import { IntlayerEditorElement, defineIntlayerEditorElement } from "./components/IntlayerEditor.js";
6
+ import { CrossFrameMessenger, MessagePayload, MessengerConfig } from "./core/CrossFrameMessenger.js";
7
+ import { CrossFrameStateManager, CrossFrameStateOptions } from "./core/CrossFrameStateManager.js";
8
+ import { DictionaryContent, EditorStateManager, EditorStateManagerConfig, FileContent } from "./core/EditorStateManager.js";
9
+ import { IframeClickInterceptor } from "./core/IframeClickInterceptor.js";
10
+ import { UrlStateManager } from "./core/UrlStateManager.js";
11
+ import { getGlobalEditorManager, onGlobalEditorManagerChange, setGlobalEditorManager } from "./core/globalManager.js";
12
+ import { buildClientMessengerConfig, initEditorClient, stopEditorClient } from "./core/initEditorClient.js";
2
13
  import { mergeIframeClick } from "./mergeIframeClick.js";
3
- import { MessageKey } from "./messagesKeys.js";
4
- export { MessageKey, compareUrls, mergeIframeClick };
14
+ 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 };
@@ -0,0 +1,5 @@
1
+ //#region src/isEnabled.d.ts
2
+ declare const isEnabled: boolean;
3
+ //#endregion
4
+ export { isEnabled };
5
+ //# sourceMappingURL=isEnabled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEnabled.d.ts","names":[],"sources":["../../src/isEnabled.ts"],"mappings":";cAEa,SAAA"}
@@ -0,0 +1,27 @@
1
+ //#region src/messageKey.d.ts
2
+ declare enum MessageKey {
3
+ /** Client → editor: announces the client is ready (also used as response to ARE_YOU_THERE) */
4
+ INTLAYER_CLIENT_READY = "INTLAYER_CLIENT_READY",
5
+ /** Editor → client: asks if the client is still alive */
6
+ INTLAYER_ARE_YOU_THERE = "INTLAYER_ARE_YOU_THERE",
7
+ /** Editor → client: instructs the client to activate the editor selector */
8
+ INTLAYER_EDITOR_ACTIVATE = "INTLAYER_EDITOR_ACTIVATE",
9
+ /** Client → editor: instructs the editor that the client is enabled */
10
+ INTLAYER_EDITOR_ENABLED = "INTLAYER_EDITOR_ENABLED",
11
+ /** Client → editor: send information related the app */
12
+ INTLAYER_CONFIGURATION = "INTLAYER_CONFIGURATION",
13
+ INTLAYER_CURRENT_LOCALE = "INTLAYER_CURRENT_LOCALE",
14
+ INTLAYER_URL_CHANGE = "INTLAYER_URL_CHANGE",
15
+ /** Client → editor: load and update content */
16
+ INTLAYER_LOCALE_DICTIONARIES_CHANGED = "INTLAYER_LOCALE_DICTIONARIES_CHANGED",
17
+ INTLAYER_DISTANT_DICTIONARIES_CHANGED = "INTLAYER_DISTANT_DICTIONARIES_CHANGED",
18
+ /** Client → editor & Editor → client: Update focus and changed content */
19
+ INTLAYER_HOVERED_CONTENT_CHANGED = "INTLAYER_HOVERED_CONTENT_CHANGED",
20
+ INTLAYER_FOCUSED_CONTENT_CHANGED = "INTLAYER_FOCUSED_CONTENT_CHANGED",
21
+ INTLAYER_EDITED_CONTENT_CHANGED = "INTLAYER_EDITED_CONTENT_CHANGED",
22
+ /** Client → editor: Helper to sync iframe client reactivity on click client */
23
+ INTLAYER_IFRAME_CLICKED = "INTLAYER_IFRAME_CLICKED"
24
+ }
25
+ //#endregion
26
+ export { MessageKey };
27
+ //# sourceMappingURL=messageKey.d.ts.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/editor",
3
- "version": "8.3.3",
3
+ "version": "8.4.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": [
@@ -28,13 +28,21 @@
28
28
  "url": "https://github.com/aymericzip"
29
29
  }
30
30
  ],
31
- "sideEffects": false,
31
+ "sideEffects": [
32
+ "./dist/esm/components/*.mjs",
33
+ "./dist/cjs/components/*.cjs"
34
+ ],
32
35
  "exports": {
33
36
  ".": {
34
37
  "types": "./dist/types/index.d.ts",
35
38
  "require": "./dist/cjs/index.cjs",
36
39
  "import": "./dist/esm/index.mjs"
37
40
  },
41
+ "./isEnabled": {
42
+ "types": "./dist/types/isEnabled.d.ts",
43
+ "require": "./dist/cjs/isEnabled.cjs",
44
+ "import": "./dist/esm/isEnabled.mjs"
45
+ },
38
46
  "./package.json": "./package.json"
39
47
  },
40
48
  "main": "dist/cjs/index.cjs",
@@ -69,13 +77,20 @@
69
77
  "test:watch": "bun --bun vitest",
70
78
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
71
79
  },
80
+ "dependencies": {
81
+ "@intlayer/config": "8.4.0-canary.0",
82
+ "@intlayer/core": "8.4.0-canary.0",
83
+ "@intlayer/types": "8.4.0-canary.0",
84
+ "@intlayer/unmerged-dictionaries-entry": "8.4.0-canary.0",
85
+ "lit": "^3.3.2"
86
+ },
72
87
  "devDependencies": {
73
88
  "@types/node": "25.5.0",
74
89
  "@utils/ts-config": "1.0.4",
75
90
  "@utils/ts-config-types": "1.0.4",
76
91
  "@utils/tsdown-config": "1.0.4",
77
92
  "rimraf": "6.1.3",
78
- "tsdown": "0.21.2",
93
+ "tsdown": "0.21.4",
79
94
  "typescript": "5.9.3",
80
95
  "vitest": "4.1.0"
81
96
  },
@@ -1,2 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=function(e){return e.INTLAYER_CONFIGURATION=`INTLAYER_CONFIGURATION`,e.INTLAYER_CURRENT_LOCALE=`INTLAYER_CURRENT_LOCALE`,e.INTLAYER_EDITOR_ENABLED=`INTLAYER_EDITOR_ENABLED`,e.INTLAYER_URL_CHANGE=`INTLAYER_URL_CHANGE`,e.INTLAYER_HOVERED_CONTENT_CHANGED=`INTLAYER_HOVERED_CONTENT_CHANGED`,e.INTLAYER_FOCUSED_CONTENT_CHANGED=`INTLAYER_FOCUSED_CONTENT_CHANGED`,e.INTLAYER_LOCALE_DICTIONARIES_CHANGED=`INTLAYER_LOCALE_DICTIONARIES_CHANGED`,e.INTLAYER_DISTANT_DICTIONARIES_CHANGED=`INTLAYER_DISTANT_DICTIONARIES_CHANGED`,e.INTLAYER_EDITED_CONTENT_CHANGED=`INTLAYER_EDITED_CONTENT_CHANGED`,e.INTLAYER_IFRAME_CLICKED=`INTLAYER_IFRAME_CLICKED`,e}({});exports.MessageKey=e;
2
- //# sourceMappingURL=messagesKeys.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messagesKeys.cjs","names":[],"sources":["../../src/messagesKeys.ts"],"sourcesContent":["export enum MessageKey {\n INTLAYER_CONFIGURATION = 'INTLAYER_CONFIGURATION',\n INTLAYER_CURRENT_LOCALE = 'INTLAYER_CURRENT_LOCALE',\n INTLAYER_EDITOR_ENABLED = 'INTLAYER_EDITOR_ENABLED',\n INTLAYER_URL_CHANGE = 'INTLAYER_URL_CHANGE',\n INTLAYER_HOVERED_CONTENT_CHANGED = 'INTLAYER_HOVERED_CONTENT_CHANGED',\n INTLAYER_FOCUSED_CONTENT_CHANGED = 'INTLAYER_FOCUSED_CONTENT_CHANGED',\n INTLAYER_LOCALE_DICTIONARIES_CHANGED = 'INTLAYER_LOCALE_DICTIONARIES_CHANGED',\n INTLAYER_DISTANT_DICTIONARIES_CHANGED = 'INTLAYER_DISTANT_DICTIONARIES_CHANGED',\n INTLAYER_EDITED_CONTENT_CHANGED = 'INTLAYER_EDITED_CONTENT_CHANGED',\n INTLAYER_IFRAME_CLICKED = 'INTLAYER_IFRAME_CLICKED',\n}\n"],"mappings":"mEAAA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,uBAAA,yBACA,EAAA,wBAAA,0BACA,EAAA,wBAAA,0BACA,EAAA,oBAAA,sBACA,EAAA,iCAAA,mCACA,EAAA,iCAAA,mCACA,EAAA,qCAAA,uCACA,EAAA,sCAAA,wCACA,EAAA,gCAAA,kCACA,EAAA,wBAAA,gCACD"}
@@ -1,2 +0,0 @@
1
- let e=function(e){return e.INTLAYER_CONFIGURATION=`INTLAYER_CONFIGURATION`,e.INTLAYER_CURRENT_LOCALE=`INTLAYER_CURRENT_LOCALE`,e.INTLAYER_EDITOR_ENABLED=`INTLAYER_EDITOR_ENABLED`,e.INTLAYER_URL_CHANGE=`INTLAYER_URL_CHANGE`,e.INTLAYER_HOVERED_CONTENT_CHANGED=`INTLAYER_HOVERED_CONTENT_CHANGED`,e.INTLAYER_FOCUSED_CONTENT_CHANGED=`INTLAYER_FOCUSED_CONTENT_CHANGED`,e.INTLAYER_LOCALE_DICTIONARIES_CHANGED=`INTLAYER_LOCALE_DICTIONARIES_CHANGED`,e.INTLAYER_DISTANT_DICTIONARIES_CHANGED=`INTLAYER_DISTANT_DICTIONARIES_CHANGED`,e.INTLAYER_EDITED_CONTENT_CHANGED=`INTLAYER_EDITED_CONTENT_CHANGED`,e.INTLAYER_IFRAME_CLICKED=`INTLAYER_IFRAME_CLICKED`,e}({});export{e as MessageKey};
2
- //# sourceMappingURL=messagesKeys.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messagesKeys.mjs","names":[],"sources":["../../src/messagesKeys.ts"],"sourcesContent":["export enum MessageKey {\n INTLAYER_CONFIGURATION = 'INTLAYER_CONFIGURATION',\n INTLAYER_CURRENT_LOCALE = 'INTLAYER_CURRENT_LOCALE',\n INTLAYER_EDITOR_ENABLED = 'INTLAYER_EDITOR_ENABLED',\n INTLAYER_URL_CHANGE = 'INTLAYER_URL_CHANGE',\n INTLAYER_HOVERED_CONTENT_CHANGED = 'INTLAYER_HOVERED_CONTENT_CHANGED',\n INTLAYER_FOCUSED_CONTENT_CHANGED = 'INTLAYER_FOCUSED_CONTENT_CHANGED',\n INTLAYER_LOCALE_DICTIONARIES_CHANGED = 'INTLAYER_LOCALE_DICTIONARIES_CHANGED',\n INTLAYER_DISTANT_DICTIONARIES_CHANGED = 'INTLAYER_DISTANT_DICTIONARIES_CHANGED',\n INTLAYER_EDITED_CONTENT_CHANGED = 'INTLAYER_EDITED_CONTENT_CHANGED',\n INTLAYER_IFRAME_CLICKED = 'INTLAYER_IFRAME_CLICKED',\n}\n"],"mappings":"AAAA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,uBAAA,yBACA,EAAA,wBAAA,0BACA,EAAA,wBAAA,0BACA,EAAA,oBAAA,sBACA,EAAA,iCAAA,mCACA,EAAA,iCAAA,mCACA,EAAA,qCAAA,uCACA,EAAA,sCAAA,wCACA,EAAA,gCAAA,kCACA,EAAA,wBAAA,gCACD"}
@@ -1,16 +0,0 @@
1
- //#region src/messagesKeys.d.ts
2
- declare enum MessageKey {
3
- INTLAYER_CONFIGURATION = "INTLAYER_CONFIGURATION",
4
- INTLAYER_CURRENT_LOCALE = "INTLAYER_CURRENT_LOCALE",
5
- INTLAYER_EDITOR_ENABLED = "INTLAYER_EDITOR_ENABLED",
6
- INTLAYER_URL_CHANGE = "INTLAYER_URL_CHANGE",
7
- INTLAYER_HOVERED_CONTENT_CHANGED = "INTLAYER_HOVERED_CONTENT_CHANGED",
8
- INTLAYER_FOCUSED_CONTENT_CHANGED = "INTLAYER_FOCUSED_CONTENT_CHANGED",
9
- INTLAYER_LOCALE_DICTIONARIES_CHANGED = "INTLAYER_LOCALE_DICTIONARIES_CHANGED",
10
- INTLAYER_DISTANT_DICTIONARIES_CHANGED = "INTLAYER_DISTANT_DICTIONARIES_CHANGED",
11
- INTLAYER_EDITED_CONTENT_CHANGED = "INTLAYER_EDITED_CONTENT_CHANGED",
12
- INTLAYER_IFRAME_CLICKED = "INTLAYER_IFRAME_CLICKED"
13
- }
14
- //#endregion
15
- export { MessageKey };
16
- //# sourceMappingURL=messagesKeys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messagesKeys.d.ts","names":[],"sources":["../../src/messagesKeys.ts"],"mappings":";aAAY,UAAA;EACV,sBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;EACA,gCAAA;EACA,gCAAA;EACA,oCAAA;EACA,qCAAA;EACA,+BAAA;EACA,uBAAA;AAAA"}