svelte-intlayer 7.1.7 → 7.1.8

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 (65) hide show
  1. package/dist/ContentSelectorWrapper-Ct4vOl_g.js +163 -0
  2. package/dist/ContentSelectorWrapper-DMEqv3vE.cjs +10 -0
  3. package/dist/MarkdownRenderer-BFrmuaFN.js +47 -0
  4. package/dist/MarkdownRenderer-DyK7SeHa.cjs +1 -0
  5. package/dist/cjs/client/useLocale.cjs +1 -1
  6. package/dist/cjs/client/useLocaleStorage.cjs +1 -0
  7. package/dist/cjs/editor/communicator.cjs +1 -0
  8. package/dist/cjs/editor/dictionariesRecord.cjs +1 -0
  9. package/dist/cjs/editor/editorEnabled.cjs +1 -0
  10. package/dist/cjs/editor/focusDictionary.cjs +1 -0
  11. package/dist/cjs/editor/index.cjs +1 -0
  12. package/dist/cjs/editor/useCrossFrameMessageListener.cjs +1 -0
  13. package/dist/cjs/editor/useCrossFrameState.cjs +1 -0
  14. package/dist/cjs/editor/useEditor.cjs +1 -0
  15. package/dist/cjs/editor/useIframeClickInterceptor.cjs +1 -0
  16. package/dist/cjs/index.cjs +1 -1
  17. package/dist/cjs/markdown/context.cjs +1 -0
  18. package/dist/cjs/markdown/index.cjs +1 -1
  19. package/dist/cjs/plugins.cjs +1 -1
  20. package/dist/cjs/renderIntlayerNode.cjs +1 -0
  21. package/dist/cjs/setIntlayerMarkdown.cjs +1 -0
  22. package/dist/esm/client/useLocale.mjs +27 -16
  23. package/dist/esm/client/useLocaleStorage.mjs +29 -0
  24. package/dist/esm/editor/communicator.mjs +31 -0
  25. package/dist/esm/editor/dictionariesRecord.mjs +20 -0
  26. package/dist/esm/editor/editorEnabled.mjs +28 -0
  27. package/dist/esm/editor/focusDictionary.mjs +21 -0
  28. package/dist/esm/editor/index.mjs +23 -0
  29. package/dist/esm/editor/useCrossFrameMessageListener.mjs +37 -0
  30. package/dist/esm/editor/useCrossFrameState.mjs +53 -0
  31. package/dist/esm/editor/useEditor.mjs +38 -0
  32. package/dist/esm/editor/useIframeClickInterceptor.mjs +26 -0
  33. package/dist/esm/index.mjs +34 -27
  34. package/dist/esm/markdown/context.mjs +11 -0
  35. package/dist/esm/markdown/index.mjs +19 -8
  36. package/dist/esm/plugins.mjs +128 -13
  37. package/dist/esm/renderIntlayerNode.mjs +51 -0
  38. package/dist/esm/setIntlayerMarkdown.mjs +5 -0
  39. package/dist/types/IntlayerNodeWrapper.svelte.d.ts +1 -0
  40. package/dist/types/client/intlayerContext.d.ts +1 -0
  41. package/dist/types/client/useLocale.d.ts +9 -8
  42. package/dist/types/client/useLocaleStorage.d.ts +39 -0
  43. package/dist/types/editor/ContentSelector.svelte.d.ts +1 -0
  44. package/dist/types/editor/ContentSelectorWrapper.svelte.d.ts +1 -0
  45. package/dist/types/editor/communicator.d.ts +9 -0
  46. package/dist/types/editor/dictionariesRecord.d.ts +5 -0
  47. package/dist/types/editor/editorEnabled.d.ts +14 -0
  48. package/dist/types/editor/focusDictionary.d.ts +15 -0
  49. package/dist/types/editor/index.d.ts +9 -0
  50. package/dist/types/editor/useCrossFrameMessageListener.d.ts +2 -0
  51. package/dist/types/editor/useCrossFrameState.d.ts +7 -0
  52. package/dist/types/editor/useEditor.d.ts +1 -0
  53. package/dist/types/editor/useIframeClickInterceptor.d.ts +2 -0
  54. package/dist/types/index.d.ts +3 -1
  55. package/dist/types/markdown/MarkdownMetadataRenderer.svelte.d.ts +1 -0
  56. package/dist/types/markdown/MarkdownMetadataWithSelector.svelte.d.ts +1 -0
  57. package/dist/types/markdown/MarkdownProvider.svelte.d.ts +1 -0
  58. package/dist/types/markdown/MarkdownRenderer.svelte.d.ts +1 -0
  59. package/dist/types/markdown/MarkdownWithSelector.svelte.d.ts +1 -0
  60. package/dist/types/markdown/context.d.ts +6 -0
  61. package/dist/types/markdown/index.d.ts +4 -27
  62. package/dist/types/plugins.d.ts +25 -14
  63. package/dist/types/renderIntlayerNode.d.ts +13 -0
  64. package/dist/types/setIntlayerMarkdown.d.ts +1 -0
  65. package/package.json +7 -6
@@ -1,31 +1,42 @@
1
- import { Plugins } from '@intlayer/core';
1
+ import { DeepTransformContent as DeepTransformContentCore, IInterpreterPluginState as IInterpreterPluginStateCore, Plugins } from '@intlayer/core';
2
+ import { DeclaredLocales, LocalesValues, NodeType } from '@intlayer/types';
3
+ import { IntlayerNode } from './renderIntlayerNode';
2
4
  /**
3
5
  * Interface for Svelte-specific plugin functionality
4
6
  * This interface can be augmented to add more Svelte-specific transformations
5
7
  */
6
- export interface IInterpreterPluginSvelte<T> {
8
+ export type IInterpreterPluginState = IInterpreterPluginStateCore & {
7
9
  /** Any Svelte-specific properties can be added here */
8
- svelteRendered?: T;
9
- }
10
+ intlayerNode: true;
11
+ markdown: true;
12
+ };
10
13
  /**
11
14
  * Type that represents the deep transformation of content for Svelte
12
15
  * This applies Svelte-specific transformations recursively to all content
13
16
  */
14
- export type DeepTransformContent<T> = T extends object ? {
15
- [K in keyof T]: DeepTransformContent<T[K]>;
16
- } & IInterpreterPluginSvelte<T> : T;
17
- /**
18
- * Svelte-specific node plugins for handling basic content types
19
- * These plugins handle strings, numbers, and bigints in Svelte applications
20
- */
21
- export declare const svelteNodePlugins: Plugins;
17
+ export type DeepTransformContent<T, L extends LocalesValues = DeclaredLocales> = DeepTransformContentCore<T, IInterpreterPluginState, L>;
22
18
  /**
23
19
  * Basic Intlayer node plugins for content handling
24
20
  * These handle the core content transformation logic
25
21
  */
26
22
  export declare const intlayerNodePlugins: Plugins;
27
23
  /**
28
- * Markdown plugin for handling markdown content in Svelte
29
- * This can be extended to integrate with Svelte markdown processors
24
+ * Svelte-specific node plugins for handling basic content types
25
+ * These plugins handle strings, numbers, and bigints in Svelte applications
30
26
  */
27
+ export declare const svelteNodePlugins: Plugins;
28
+ export type MarkdownStringCond<T> = T extends string ? IntlayerNode<string> : never;
29
+ /** Markdown string plugin. Replaces string node with a component that render the markdown. */
30
+ export declare const markdownStringPlugin: Plugins;
31
+ export type MarkdownCond<T> = T extends {
32
+ nodeType: NodeType | string;
33
+ [NodeType.Markdown]: infer M;
34
+ metadata?: infer U;
35
+ } ? IntlayerNode<DeepTransformContent<M>, {
36
+ metadata: DeepTransformContent<U>;
37
+ }> : never;
31
38
  export declare const markdownPlugin: Plugins;
39
+ export interface IInterpreterPluginSvelte<T> {
40
+ intlayerNode: T extends string | number ? IntlayerNode<T> : never;
41
+ markdown: MarkdownCond<T>;
42
+ }
@@ -0,0 +1,13 @@
1
+ type IntlayerNodeProps = {
2
+ value: any;
3
+ component: any;
4
+ props: Record<string, any>;
5
+ additionalProps?: Record<string, any>;
6
+ };
7
+ export type IntlayerNode<T = any, P = Record<string, any>> = {
8
+ new (...args: any[]): any;
9
+ (anchor: any, props: any): any;
10
+ value: T;
11
+ } & P;
12
+ export declare const renderIntlayerNode: <T = any, P = Record<string, any>>(args: IntlayerNodeProps) => IntlayerNode<T, P>;
13
+ export {};
@@ -0,0 +1 @@
1
+ export declare const setIntlayerMarkdown: (context: import('./markdown').MarkdownContext) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-intlayer",
3
- "version": "7.1.7",
3
+ "version": "7.1.8",
4
4
  "private": false,
5
5
  "description": "Easily internationalize i18n your Svelte applications with type-safe multilingual content management.",
6
6
  "keywords": [
@@ -74,11 +74,12 @@
74
74
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
75
75
  },
76
76
  "dependencies": {
77
- "@intlayer/api": "7.1.7",
78
- "@intlayer/config": "7.1.7",
79
- "@intlayer/core": "7.1.7",
80
- "@intlayer/editor": "7.1.7",
81
- "@intlayer/types": "7.1.7"
77
+ "@intlayer/api": "7.1.8",
78
+ "@intlayer/config": "7.1.8",
79
+ "@intlayer/core": "7.1.8",
80
+ "@intlayer/editor": "7.1.8",
81
+ "@intlayer/types": "7.1.8",
82
+ "@intlayer/unmerged-dictionaries-entry": "7.1.8"
82
83
  },
83
84
  "devDependencies": {
84
85
  "@sveltejs/vite-plugin-svelte": "6.1.4",