svelte-intlayer 7.1.8 → 7.1.9
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.
- package/dist/IntlayerNodeWrapper.svelte +10 -0
- package/dist/IntlayerNodeWrapper.svelte.d.ts +22 -0
- package/dist/client/IntlayerProvider.svelte +24 -0
- package/dist/client/IntlayerProvider.svelte.d.ts +30 -0
- package/dist/{types/client → client}/getBrowserLocale.d.ts +1 -1
- package/dist/client/getBrowserLocale.js +17 -0
- package/dist/client/index.js +12 -0
- package/dist/{types/client → client}/intlayerContext.d.ts +1 -1
- package/dist/client/intlayerContext.js +8 -0
- package/dist/client/intlayerStore.d.ts +11 -0
- package/dist/client/intlayerStore.js +19 -0
- package/dist/{types/client → client}/useDictionary.d.ts +3 -3
- package/dist/client/useDictionary.js +18 -0
- package/dist/{types/client → client}/useDictionaryAsync.d.ts +2 -2
- package/dist/client/useDictionaryAsync.js +38 -0
- package/dist/{types/client → client}/useDictionaryDynamic.d.ts +2 -2
- package/dist/client/useDictionaryDynamic.js +38 -0
- package/dist/{types/client → client}/useIntlayer.d.ts +3 -3
- package/dist/client/useIntlayer.js +18 -0
- package/dist/{types/client → client}/useLocale.d.ts +4 -4
- package/dist/client/useLocale.js +33 -0
- package/dist/client/useLocaleStorage.d.ts +39 -0
- package/dist/client/useLocaleStorage.js +52 -0
- package/dist/editor/ContentSelector.svelte +125 -0
- package/dist/editor/ContentSelector.svelte.d.ts +35 -0
- package/dist/editor/ContentSelectorWrapper.svelte +69 -0
- package/dist/editor/ContentSelectorWrapper.svelte.d.ts +31 -0
- package/dist/{types/editor → editor}/communicator.d.ts +1 -1
- package/dist/editor/communicator.js +54 -0
- package/dist/{types/editor → editor}/dictionariesRecord.d.ts +2 -2
- package/dist/editor/dictionariesRecord.js +16 -0
- package/dist/{types/editor → editor}/editorEnabled.d.ts +1 -1
- package/dist/editor/editorEnabled.js +41 -0
- package/dist/{types/editor → editor}/focusDictionary.d.ts +2 -2
- package/dist/editor/focusDictionary.js +22 -0
- package/dist/editor/index.js +9 -0
- package/dist/{types/editor → editor}/useCrossFrameMessageListener.d.ts +1 -1
- package/dist/editor/useCrossFrameMessageListener.js +65 -0
- package/dist/{types/editor → editor}/useCrossFrameState.d.ts +2 -2
- package/dist/editor/useCrossFrameState.js +82 -0
- package/dist/editor/useEditor.js +46 -0
- package/dist/editor/useIframeClickInterceptor.js +29 -0
- package/dist/{types/getDictionary.d.ts → getDictionary.d.ts} +3 -3
- package/dist/getDictionary.js +18 -0
- package/dist/{types/getIntlayer.d.ts → getIntlayer.d.ts} +3 -3
- package/dist/getIntlayer.js +18 -0
- package/dist/{types/index.d.ts → index.d.ts} +3 -3
- package/dist/index.js +7 -0
- package/dist/index.test.d.ts +1 -0
- package/dist/index.test.js +6 -0
- package/dist/markdown/MarkdownMetadataRenderer.svelte +21 -0
- package/dist/markdown/MarkdownMetadataRenderer.svelte.d.ts +25 -0
- package/dist/markdown/MarkdownMetadataWithSelector.svelte +21 -0
- package/dist/markdown/MarkdownMetadataWithSelector.svelte.d.ts +24 -0
- package/dist/markdown/MarkdownProvider.svelte +9 -0
- package/dist/markdown/MarkdownProvider.svelte.d.ts +29 -0
- package/dist/markdown/MarkdownRenderer.svelte +11 -0
- package/dist/markdown/MarkdownRenderer.svelte.d.ts +20 -0
- package/dist/markdown/MarkdownWithSelector.svelte +15 -0
- package/dist/markdown/MarkdownWithSelector.svelte.d.ts +23 -0
- package/dist/markdown/context.js +10 -0
- package/dist/markdown/index.js +4 -0
- package/dist/{types/plugins.d.ts → plugins.d.ts} +3 -3
- package/dist/plugins.js +87 -0
- package/dist/renderIntlayerNode.js +44 -0
- package/dist/setIntlayerMarkdown.d.ts +1 -0
- package/dist/setIntlayerMarkdown.js +2 -0
- package/package.json +22 -30
- package/dist/ContentSelectorWrapper-Ct4vOl_g.js +0 -163
- package/dist/ContentSelectorWrapper-DMEqv3vE.cjs +0 -10
- package/dist/MarkdownRenderer-BFrmuaFN.js +0 -47
- package/dist/MarkdownRenderer-DyK7SeHa.cjs +0 -1
- package/dist/cjs/client/getBrowserLocale.cjs +0 -1
- package/dist/cjs/client/index.cjs +0 -1
- package/dist/cjs/client/intlayerContext.cjs +0 -1
- package/dist/cjs/client/intlayerStore.cjs +0 -1
- package/dist/cjs/client/useDictionary.cjs +0 -1
- package/dist/cjs/client/useDictionaryAsync.cjs +0 -1
- package/dist/cjs/client/useDictionaryDynamic.cjs +0 -1
- package/dist/cjs/client/useIntlayer.cjs +0 -1
- package/dist/cjs/client/useLocale.cjs +0 -1
- package/dist/cjs/client/useLocaleStorage.cjs +0 -1
- package/dist/cjs/editor/communicator.cjs +0 -1
- package/dist/cjs/editor/dictionariesRecord.cjs +0 -1
- package/dist/cjs/editor/editorEnabled.cjs +0 -1
- package/dist/cjs/editor/focusDictionary.cjs +0 -1
- package/dist/cjs/editor/index.cjs +0 -1
- package/dist/cjs/editor/useCrossFrameMessageListener.cjs +0 -1
- package/dist/cjs/editor/useCrossFrameState.cjs +0 -1
- package/dist/cjs/editor/useEditor.cjs +0 -1
- package/dist/cjs/editor/useIframeClickInterceptor.cjs +0 -1
- package/dist/cjs/getDictionary.cjs +0 -1
- package/dist/cjs/getIntlayer.cjs +0 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/markdown/context.cjs +0 -1
- package/dist/cjs/markdown/index.cjs +0 -1
- package/dist/cjs/plugins.cjs +0 -1
- package/dist/cjs/renderIntlayerNode.cjs +0 -1
- package/dist/cjs/setIntlayerMarkdown.cjs +0 -1
- package/dist/esm/client/getBrowserLocale.mjs +0 -9
- package/dist/esm/client/index.mjs +0 -19
- package/dist/esm/client/intlayerContext.mjs +0 -8
- package/dist/esm/client/intlayerStore.mjs +0 -16
- package/dist/esm/client/useDictionary.mjs +0 -14
- package/dist/esm/client/useDictionaryAsync.mjs +0 -27
- package/dist/esm/client/useDictionaryDynamic.mjs +0 -27
- package/dist/esm/client/useIntlayer.mjs +0 -14
- package/dist/esm/client/useLocale.mjs +0 -33
- package/dist/esm/client/useLocaleStorage.mjs +0 -29
- package/dist/esm/editor/communicator.mjs +0 -31
- package/dist/esm/editor/dictionariesRecord.mjs +0 -20
- package/dist/esm/editor/editorEnabled.mjs +0 -28
- package/dist/esm/editor/focusDictionary.mjs +0 -21
- package/dist/esm/editor/index.mjs +0 -23
- package/dist/esm/editor/useCrossFrameMessageListener.mjs +0 -37
- package/dist/esm/editor/useCrossFrameState.mjs +0 -53
- package/dist/esm/editor/useEditor.mjs +0 -38
- package/dist/esm/editor/useIframeClickInterceptor.mjs +0 -26
- package/dist/esm/getDictionary.mjs +0 -18
- package/dist/esm/getIntlayer.mjs +0 -14
- package/dist/esm/index.mjs +0 -37
- package/dist/esm/markdown/context.mjs +0 -11
- package/dist/esm/markdown/index.mjs +0 -21
- package/dist/esm/plugins.mjs +0 -133
- package/dist/esm/renderIntlayerNode.mjs +0 -51
- package/dist/esm/setIntlayerMarkdown.mjs +0 -5
- package/dist/types/IntlayerNodeWrapper.svelte.d.ts +0 -1
- package/dist/types/client/intlayerStore.d.ts +0 -11
- package/dist/types/client/useLocaleStorage.d.ts +0 -39
- package/dist/types/editor/ContentSelector.svelte.d.ts +0 -1
- package/dist/types/editor/ContentSelectorWrapper.svelte.d.ts +0 -1
- package/dist/types/markdown/MarkdownMetadataRenderer.svelte.d.ts +0 -1
- package/dist/types/markdown/MarkdownMetadataWithSelector.svelte.d.ts +0 -1
- package/dist/types/markdown/MarkdownProvider.svelte.d.ts +0 -1
- package/dist/types/markdown/MarkdownRenderer.svelte.d.ts +0 -1
- package/dist/types/markdown/MarkdownWithSelector.svelte.d.ts +0 -1
- package/dist/types/setIntlayerMarkdown.d.ts +0 -1
- /package/dist/{types/client → client}/index.d.ts +0 -0
- /package/dist/{types/editor → editor}/index.d.ts +0 -0
- /package/dist/{types/editor → editor}/useEditor.d.ts +0 -0
- /package/dist/{types/editor → editor}/useIframeClickInterceptor.d.ts +0 -0
- /package/dist/{types/markdown → markdown}/context.d.ts +0 -0
- /package/dist/{types/markdown → markdown}/index.d.ts +0 -0
- /package/dist/{types/renderIntlayerNode.d.ts → renderIntlayerNode.d.ts} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { getContentNodeByKeyPath, getMarkdownMetadata } from '@intlayer/core';
|
|
3
|
+
import type { ContentNode, KeyPath, Locale } from '@intlayer/types';
|
|
4
|
+
import { useLocale } from '../client/useLocale';
|
|
5
|
+
|
|
6
|
+
export const locale: Locale | undefined = undefined;
|
|
7
|
+
export let value: string;
|
|
8
|
+
export let metadataKeyPath: KeyPath[];
|
|
9
|
+
|
|
10
|
+
const { locale: contextLocale } = useLocale();
|
|
11
|
+
|
|
12
|
+
$: metadata = getMarkdownMetadata(value);
|
|
13
|
+
$: currentLocale = locale ?? $contextLocale;
|
|
14
|
+
$: metadataEl = getContentNodeByKeyPath(
|
|
15
|
+
metadata as ContentNode,
|
|
16
|
+
metadataKeyPath,
|
|
17
|
+
currentLocale
|
|
18
|
+
);
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
{metadataEl}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { KeyPath, Locale } from '@intlayer/types';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const MarkdownMetadataRenderer: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
locale?: Locale | undefined;
|
|
17
|
+
value: string;
|
|
18
|
+
metadataKeyPath: KeyPath[];
|
|
19
|
+
}, {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
}, {}, {
|
|
22
|
+
locale: Locale | undefined;
|
|
23
|
+
}, string>;
|
|
24
|
+
type MarkdownMetadataRenderer = InstanceType<typeof MarkdownMetadataRenderer>;
|
|
25
|
+
export default MarkdownMetadataRenderer;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { KeyPath } from '@intlayer/types';
|
|
3
|
+
import ContentSelectorWrapper from '../editor/ContentSelectorWrapper.svelte';
|
|
4
|
+
import MarkdownMetadataRenderer from './MarkdownMetadataRenderer.svelte';
|
|
5
|
+
|
|
6
|
+
export let dictionaryKey: string;
|
|
7
|
+
export let keyPath: KeyPath[];
|
|
8
|
+
export let value: string;
|
|
9
|
+
export let metadataKeyPath: KeyPath[];
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<ContentSelectorWrapper {dictionaryKey} {keyPath}>
|
|
13
|
+
<MarkdownMetadataRenderer
|
|
14
|
+
{dictionaryKey}
|
|
15
|
+
{keyPath}
|
|
16
|
+
{value}
|
|
17
|
+
{metadataKeyPath}
|
|
18
|
+
/>
|
|
19
|
+
</ContentSelectorWrapper>
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { KeyPath } from '@intlayer/types';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const MarkdownMetadataWithSelector: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
dictionaryKey: string;
|
|
17
|
+
keyPath: KeyPath[];
|
|
18
|
+
value: string;
|
|
19
|
+
metadataKeyPath: KeyPath[];
|
|
20
|
+
}, {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
}, {}, {}, string>;
|
|
23
|
+
type MarkdownMetadataWithSelector = InstanceType<typeof MarkdownMetadataWithSelector>;
|
|
24
|
+
export default MarkdownMetadataWithSelector;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: Props & {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
15
|
+
default: any;
|
|
16
|
+
} ? Props extends Record<string, never> ? any : {
|
|
17
|
+
children?: any;
|
|
18
|
+
} : {});
|
|
19
|
+
declare const MarkdownProvider: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
|
+
renderMarkdown?: (markdown: string) => string;
|
|
21
|
+
}, {
|
|
22
|
+
default: {};
|
|
23
|
+
}>, {
|
|
24
|
+
[evt: string]: CustomEvent<any>;
|
|
25
|
+
}, {
|
|
26
|
+
default: {};
|
|
27
|
+
}, {}, string>;
|
|
28
|
+
type MarkdownProvider = InstanceType<typeof MarkdownProvider>;
|
|
29
|
+
export default MarkdownProvider;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: Props & {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const MarkdownRenderer: $$__sveltets_2_IsomorphicComponent<{
|
|
15
|
+
value: string;
|
|
16
|
+
}, {
|
|
17
|
+
[evt: string]: CustomEvent<any>;
|
|
18
|
+
}, {}, {}, string>;
|
|
19
|
+
type MarkdownRenderer = InstanceType<typeof MarkdownRenderer>;
|
|
20
|
+
export default MarkdownRenderer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { KeyPath } from '@intlayer/types';
|
|
3
|
+
import ContentSelectorWrapper from '../editor/ContentSelectorWrapper.svelte';
|
|
4
|
+
import MarkdownRenderer from './MarkdownRenderer.svelte';
|
|
5
|
+
|
|
6
|
+
export let dictionaryKey: string;
|
|
7
|
+
export let keyPath: KeyPath[];
|
|
8
|
+
export let value: string;
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<ContentSelectorWrapper {dictionaryKey} {keyPath}>
|
|
12
|
+
<MarkdownRenderer {dictionaryKey} {keyPath} {value} />
|
|
13
|
+
</ContentSelectorWrapper>
|
|
14
|
+
|
|
15
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { KeyPath } from '@intlayer/types';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const MarkdownWithSelector: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
dictionaryKey: string;
|
|
17
|
+
keyPath: KeyPath[];
|
|
18
|
+
value: string;
|
|
19
|
+
}, {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
}, {}, {}, string>;
|
|
22
|
+
type MarkdownWithSelector = InstanceType<typeof MarkdownWithSelector>;
|
|
23
|
+
export default MarkdownWithSelector;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getContext, setContext } from 'svelte';
|
|
2
|
+
export const MARKDOWN_CONTEXT_KEY = Symbol('INTLAYER_MARKDOWN_CONTEXT');
|
|
3
|
+
export const getMarkdownContext = () => {
|
|
4
|
+
return (getContext(MARKDOWN_CONTEXT_KEY) || {
|
|
5
|
+
renderMarkdown: (md) => md,
|
|
6
|
+
});
|
|
7
|
+
};
|
|
8
|
+
export const setMarkdownContext = (context) => {
|
|
9
|
+
setContext(MARKDOWN_CONTEXT_KEY, context);
|
|
10
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
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';
|
|
1
|
+
import { type DeepTransformContent as DeepTransformContentCore, type IInterpreterPluginState as IInterpreterPluginStateCore, type Plugins } from '@intlayer/core';
|
|
2
|
+
import { type DeclaredLocales, type LocalesValues, NodeType } from '@intlayer/types';
|
|
3
|
+
import { type IntlayerNode } from './renderIntlayerNode';
|
|
4
4
|
/**
|
|
5
5
|
* Interface for Svelte-specific plugin functionality
|
|
6
6
|
* This interface can be augmented to add more Svelte-specific transformations
|
package/dist/plugins.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { getMarkdownMetadata, } from '@intlayer/core';
|
|
2
|
+
import { NodeType, } from '@intlayer/types';
|
|
3
|
+
import { ContentSelectorWrapper } from './editor';
|
|
4
|
+
import MarkdownMetadataWithSelector from './markdown/MarkdownMetadataWithSelector.svelte';
|
|
5
|
+
import MarkdownWithSelector from './markdown/MarkdownWithSelector.svelte';
|
|
6
|
+
import { renderIntlayerNode } from './renderIntlayerNode';
|
|
7
|
+
/**
|
|
8
|
+
* Basic Intlayer node plugins for content handling
|
|
9
|
+
* These handle the core content transformation logic
|
|
10
|
+
*/
|
|
11
|
+
export const intlayerNodePlugins = {
|
|
12
|
+
id: 'intlayer-node-plugin',
|
|
13
|
+
canHandle: (node) => typeof node === 'bigint' ||
|
|
14
|
+
typeof node === 'string' ||
|
|
15
|
+
typeof node === 'number',
|
|
16
|
+
transform: (node, { children, ...rest }) => renderIntlayerNode({
|
|
17
|
+
value: children ?? node,
|
|
18
|
+
component: ContentSelectorWrapper,
|
|
19
|
+
props: rest,
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Svelte-specific node plugins for handling basic content types
|
|
24
|
+
* These plugins handle strings, numbers, and bigints in Svelte applications
|
|
25
|
+
*/
|
|
26
|
+
export const svelteNodePlugins = intlayerNodePlugins;
|
|
27
|
+
/** Markdown string plugin. Replaces string node with a component that render the markdown. */
|
|
28
|
+
export const markdownStringPlugin = {
|
|
29
|
+
id: 'markdown-string-plugin',
|
|
30
|
+
canHandle: (node) => typeof node === 'string',
|
|
31
|
+
transform: (node, props, deepTransformNode) => {
|
|
32
|
+
const { ...rest } = props;
|
|
33
|
+
const metadata = getMarkdownMetadata(node) ?? {};
|
|
34
|
+
const metadataPlugins = {
|
|
35
|
+
id: 'markdown-metadata-plugin',
|
|
36
|
+
canHandle: (metadataNode) => typeof metadataNode === 'string' ||
|
|
37
|
+
typeof metadataNode === 'number' ||
|
|
38
|
+
typeof metadataNode === 'boolean' ||
|
|
39
|
+
!metadataNode,
|
|
40
|
+
transform: (metadataNode, props) => renderIntlayerNode({
|
|
41
|
+
value: metadataNode,
|
|
42
|
+
component: MarkdownMetadataWithSelector,
|
|
43
|
+
props: {
|
|
44
|
+
...rest,
|
|
45
|
+
value: node, // The full markdown string
|
|
46
|
+
metadataKeyPath: props.keyPath,
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
// Transform metadata while keeping the same structure
|
|
51
|
+
const metadataNodes = deepTransformNode(metadata, {
|
|
52
|
+
plugins: [metadataPlugins],
|
|
53
|
+
dictionaryKey: rest.dictionaryKey,
|
|
54
|
+
keyPath: [],
|
|
55
|
+
}) ?? {};
|
|
56
|
+
return renderIntlayerNode({
|
|
57
|
+
value: node,
|
|
58
|
+
component: MarkdownWithSelector,
|
|
59
|
+
props: {
|
|
60
|
+
...rest,
|
|
61
|
+
value: node,
|
|
62
|
+
},
|
|
63
|
+
additionalProps: {
|
|
64
|
+
metadata: metadataNodes,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
export const markdownPlugin = {
|
|
70
|
+
id: 'markdown-plugin',
|
|
71
|
+
canHandle: (node) => typeof node === 'object' && node?.nodeType === NodeType.Markdown,
|
|
72
|
+
transform: (node, props, deepTransformNode) => {
|
|
73
|
+
const newKeyPath = [
|
|
74
|
+
...props.keyPath,
|
|
75
|
+
{
|
|
76
|
+
type: NodeType.Markdown,
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
const children = node[NodeType.Markdown];
|
|
80
|
+
return deepTransformNode(children, {
|
|
81
|
+
...props,
|
|
82
|
+
children,
|
|
83
|
+
keyPath: newKeyPath,
|
|
84
|
+
plugins: [markdownStringPlugin, ...(props.plugins ?? [])],
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import IntlayerNodeWrapper from './IntlayerNodeWrapper.svelte';
|
|
2
|
+
export const renderIntlayerNode = (args) => {
|
|
3
|
+
const isClassComponent = Boolean(IntlayerNodeWrapper.prototype?.$destroy);
|
|
4
|
+
let Node;
|
|
5
|
+
if (isClassComponent) {
|
|
6
|
+
Node = class extends IntlayerNodeWrapper {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
...options,
|
|
10
|
+
props: {
|
|
11
|
+
...options.props,
|
|
12
|
+
Renderer: args.component,
|
|
13
|
+
rendererProps: args.props,
|
|
14
|
+
value: args.value,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
// Functional component (Svelte 5)
|
|
22
|
+
Node = (anchor, props) => {
|
|
23
|
+
const mergedProps = {
|
|
24
|
+
...props,
|
|
25
|
+
Renderer: args.component,
|
|
26
|
+
rendererProps: args.props,
|
|
27
|
+
value: args.value,
|
|
28
|
+
};
|
|
29
|
+
return IntlayerNodeWrapper(anchor, mergedProps);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
Object.defineProperty(Node, 'value', {
|
|
33
|
+
value: args.value,
|
|
34
|
+
writable: false,
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(Node, 'toString', {
|
|
37
|
+
value: () => args.value?.toString() ?? '',
|
|
38
|
+
writable: false,
|
|
39
|
+
});
|
|
40
|
+
if (args.additionalProps) {
|
|
41
|
+
Object.assign(Node, args.additionalProps);
|
|
42
|
+
}
|
|
43
|
+
return Node;
|
|
44
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const setIntlayerMarkdown: (context: import("./markdown").MarkdownContext) => void;
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-intlayer",
|
|
3
|
-
"version": "7.1.
|
|
4
|
-
"private": false,
|
|
3
|
+
"version": "7.1.9",
|
|
5
4
|
"description": "Easily internationalize i18n your Svelte applications with type-safe multilingual content management.",
|
|
6
5
|
"keywords": [
|
|
7
6
|
"intlayer",
|
|
@@ -36,31 +35,25 @@
|
|
|
36
35
|
"type": "module",
|
|
37
36
|
"exports": {
|
|
38
37
|
".": {
|
|
39
|
-
"types": "./dist/
|
|
40
|
-
"
|
|
41
|
-
"
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"svelte": "./dist/index.js",
|
|
40
|
+
"default": "./dist/index.js"
|
|
42
41
|
},
|
|
43
42
|
"./package.json": "./package.json"
|
|
44
43
|
},
|
|
45
|
-
"main": "dist/
|
|
46
|
-
"module": "dist/
|
|
47
|
-
"types": "dist/
|
|
48
|
-
"typesVersions": {
|
|
49
|
-
"*": {
|
|
50
|
-
"package.json": [
|
|
51
|
-
"./package.json"
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
|
-
},
|
|
44
|
+
"main": "dist/index.js",
|
|
45
|
+
"module": "dist/index.js",
|
|
46
|
+
"types": "dist/index.d.ts",
|
|
55
47
|
"files": [
|
|
56
48
|
"./dist",
|
|
57
49
|
"./package.json"
|
|
58
50
|
],
|
|
59
51
|
"scripts": {
|
|
60
|
-
"build": "
|
|
61
|
-
"build:ci": "
|
|
52
|
+
"build": "svelte-package -i src -o dist",
|
|
53
|
+
"build:ci": "svelte-package -i src -o dist",
|
|
54
|
+
"check": "svelte-check --tsconfig ./tsconfig.types.json",
|
|
62
55
|
"clean": "rimraf ./dist .turbo",
|
|
63
|
-
"dev": "
|
|
56
|
+
"dev": "svelte-package -i src -o dist --watch",
|
|
64
57
|
"format": "biome format . --check",
|
|
65
58
|
"format:fix": "biome format --write .",
|
|
66
59
|
"lint": "biome lint .",
|
|
@@ -74,24 +67,26 @@
|
|
|
74
67
|
"typecheck": "tsc --noEmit --project tsconfig.types.json"
|
|
75
68
|
},
|
|
76
69
|
"dependencies": {
|
|
77
|
-
"@intlayer/api": "7.1.
|
|
78
|
-
"@intlayer/config": "7.1.
|
|
79
|
-
"@intlayer/core": "7.1.
|
|
80
|
-
"@intlayer/editor": "7.1.
|
|
81
|
-
"@intlayer/types": "7.1.
|
|
82
|
-
"@intlayer/unmerged-dictionaries-entry": "7.1.
|
|
70
|
+
"@intlayer/api": "7.1.9",
|
|
71
|
+
"@intlayer/config": "7.1.9",
|
|
72
|
+
"@intlayer/core": "7.1.9",
|
|
73
|
+
"@intlayer/editor": "7.1.9",
|
|
74
|
+
"@intlayer/types": "7.1.9",
|
|
75
|
+
"@intlayer/unmerged-dictionaries-entry": "7.1.9"
|
|
83
76
|
},
|
|
84
77
|
"devDependencies": {
|
|
85
|
-
"@sveltejs/
|
|
78
|
+
"@sveltejs/package": "^2.5.4",
|
|
79
|
+
"@sveltejs/vite-plugin-svelte": "^4.0.0",
|
|
86
80
|
"@types/node": "24.10.1",
|
|
87
81
|
"@utils/ts-config": "1.0.4",
|
|
88
82
|
"@utils/ts-config-types": "1.0.4",
|
|
89
83
|
"@utils/tsdown-config": "1.0.4",
|
|
90
84
|
"rimraf": "6.1.0",
|
|
85
|
+
"svelte": "^5.0.0",
|
|
86
|
+
"svelte-check": "^4.0.0",
|
|
91
87
|
"tsdown": "0.16.5",
|
|
92
88
|
"typescript": "5.9.3",
|
|
93
|
-
"vite": "
|
|
94
|
-
"vite-plugin-dts": "4.5.4",
|
|
89
|
+
"vite": "^5.0.0",
|
|
95
90
|
"vitest": "4.0.10"
|
|
96
91
|
},
|
|
97
92
|
"peerDependencies": {
|
|
@@ -99,8 +94,5 @@
|
|
|
99
94
|
},
|
|
100
95
|
"engines": {
|
|
101
96
|
"node": ">=14.18"
|
|
102
|
-
},
|
|
103
|
-
"bug": {
|
|
104
|
-
"url": "https://github.com/aymericzip/intlayer/issues"
|
|
105
97
|
}
|
|
106
98
|
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import "svelte/internal/disclose-version";
|
|
2
|
-
import "svelte/internal/flags/legacy";
|
|
3
|
-
import * as e from "svelte/internal/client";
|
|
4
|
-
import { isSameKeyPath as M } from "@intlayer/core";
|
|
5
|
-
import { MessageKey as D } from "@intlayer/editor";
|
|
6
|
-
import { NodeType as w } from "@intlayer/types";
|
|
7
|
-
import { get as N } from "svelte/store";
|
|
8
|
-
import { onMount as L, onDestroy as R } from "svelte";
|
|
9
|
-
import { useCommunicator as I } from "./esm/editor/communicator.mjs";
|
|
10
|
-
import { useEditorEnabled as U } from "./esm/editor/editorEnabled.mjs";
|
|
11
|
-
import { useFocusDictionary as x } from "./esm/editor/focusDictionary.mjs";
|
|
12
|
-
import { useEditor as A } from "./esm/editor/useEditor.mjs";
|
|
13
|
-
const H = (a, t, o) => {
|
|
14
|
-
t(), o();
|
|
15
|
-
}, K = (a, t, o, u) => {
|
|
16
|
-
e.get(t) && (e.set(t, !1), o()?.()), u();
|
|
17
|
-
}, F = (a, t, o) => {
|
|
18
|
-
e.get(t) ? (a.preventDefault(), a.stopPropagation()) : o()?.(a);
|
|
19
|
-
};
|
|
20
|
-
var G = () => {
|
|
21
|
-
}, V = e.template('<span role="button" tabindex="0"><!></span>');
|
|
22
|
-
function Y(a, t) {
|
|
23
|
-
e.push(t, !1);
|
|
24
|
-
const o = e.mutable_state();
|
|
25
|
-
let u = e.prop(t, "onClickOutside", 8, void 0), f = e.prop(t, "pressDuration", 8, 250), h = e.prop(t, "isSelecting", 8, !1), c = e.prop(t, "onPress", 8, void 0), m = e.prop(t, "onUnhover", 8, void 0), p = e.prop(t, "onHover", 8, void 0), k = e.prop(t, "onClick", 8, void 0), _ = e.mutable_state(null), r = e.mutable_state(!1), g = e.mutable_state(h()), d = null;
|
|
26
|
-
const E = () => {
|
|
27
|
-
e.set(g, !0), c()?.();
|
|
28
|
-
}, C = () => {
|
|
29
|
-
d = setTimeout(
|
|
30
|
-
() => {
|
|
31
|
-
E();
|
|
32
|
-
},
|
|
33
|
-
f()
|
|
34
|
-
);
|
|
35
|
-
}, l = () => {
|
|
36
|
-
d && (clearTimeout(d), d = null);
|
|
37
|
-
}, b = () => {
|
|
38
|
-
e.get(r) && (e.set(r, !1), m()?.()), l();
|
|
39
|
-
}, y = (v) => {
|
|
40
|
-
e.get(_) && !e.get(_).contains(v.target) && (e.set(g, !1), u() && u()());
|
|
41
|
-
};
|
|
42
|
-
L(() => {
|
|
43
|
-
document.addEventListener("mousedown", y);
|
|
44
|
-
}), R(() => {
|
|
45
|
-
typeof document < "u" && document.removeEventListener("mousedown", y), l();
|
|
46
|
-
}), e.legacy_pre_effect(
|
|
47
|
-
() => (e.deep_read_state(h()), e.get(g)),
|
|
48
|
-
() => {
|
|
49
|
-
e.set(o, h() || e.get(g));
|
|
50
|
-
}
|
|
51
|
-
), e.legacy_pre_effect_reset(), e.init();
|
|
52
|
-
var n = V();
|
|
53
|
-
n.__click = [F, o, k], n.__keydown = [G], n.__mousedown = [
|
|
54
|
-
H,
|
|
55
|
-
l,
|
|
56
|
-
C
|
|
57
|
-
], n.__mouseup = [
|
|
58
|
-
K,
|
|
59
|
-
r,
|
|
60
|
-
m,
|
|
61
|
-
l
|
|
62
|
-
], n.__touchstart = [
|
|
63
|
-
H,
|
|
64
|
-
l,
|
|
65
|
-
C
|
|
66
|
-
], n.__touchend = [
|
|
67
|
-
K,
|
|
68
|
-
r,
|
|
69
|
-
m,
|
|
70
|
-
l
|
|
71
|
-
];
|
|
72
|
-
var P = e.child(n);
|
|
73
|
-
e.slot(P, t, "default", {}, null), e.reset(n), e.bind_this(n, (v) => e.set(_, v), () => e.get(_)), e.template_effect(() => e.set_style(n, `display: inline-block;
|
|
74
|
-
cursor: pointer;
|
|
75
|
-
user-select: none;
|
|
76
|
-
border-radius: 0.375rem;
|
|
77
|
-
outline-width: 2px;
|
|
78
|
-
outline-offset: 4px;
|
|
79
|
-
outline-style: solid;
|
|
80
|
-
outline-color: ${e.get(o) || e.get(r) ? "inherit" : "transparent"};
|
|
81
|
-
transition: all 100ms 50ms ease-in-out;
|
|
82
|
-
`)), e.event("mouseleave", n, b), e.event("touchcancel", n, b), e.event("mouseenter", n, () => {
|
|
83
|
-
e.set(r, !0), p()?.();
|
|
84
|
-
}), e.append(a, n), e.pop();
|
|
85
|
-
}
|
|
86
|
-
e.delegate([
|
|
87
|
-
"click",
|
|
88
|
-
"keydown",
|
|
89
|
-
"mousedown",
|
|
90
|
-
"mouseup",
|
|
91
|
-
"touchstart",
|
|
92
|
-
"touchend"
|
|
93
|
-
]);
|
|
94
|
-
function te(a, t) {
|
|
95
|
-
e.push(t, !1);
|
|
96
|
-
const [o, u] = e.setup_stores(), f = () => e.store_get(_, "$focusedContent", o), h = () => e.store_get(E, "$enabled", o), c = e.mutable_state(), m = e.mutable_state();
|
|
97
|
-
let p = e.prop(t, "dictionaryKey", 8), k = e.prop(t, "keyPath", 8);
|
|
98
|
-
const { focusedContent: _, setFocusedContent: r } = x(), g = U(), d = I(), { enabled: E } = g;
|
|
99
|
-
A();
|
|
100
|
-
const C = () => {
|
|
101
|
-
r({
|
|
102
|
-
dictionaryKey: p(),
|
|
103
|
-
keyPath: e.get(c)
|
|
104
|
-
});
|
|
105
|
-
}, l = () => {
|
|
106
|
-
const { postMessage: s, senderId: i } = N(d);
|
|
107
|
-
s({
|
|
108
|
-
type: `${D.INTLAYER_HOVERED_CONTENT_CHANGED}/post`,
|
|
109
|
-
data: {
|
|
110
|
-
dictionaryKey: p(),
|
|
111
|
-
keyPath: e.get(c)
|
|
112
|
-
},
|
|
113
|
-
senderId: i
|
|
114
|
-
});
|
|
115
|
-
}, b = () => {
|
|
116
|
-
const { postMessage: s, senderId: i } = N(d);
|
|
117
|
-
s({
|
|
118
|
-
type: `${D.INTLAYER_HOVERED_CONTENT_CHANGED}/post`,
|
|
119
|
-
data: null,
|
|
120
|
-
senderId: i
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
e.legacy_pre_effect(
|
|
124
|
-
() => (e.deep_read_state(k()), w),
|
|
125
|
-
() => {
|
|
126
|
-
e.set(c, k().filter((s) => s.type !== w.Translation));
|
|
127
|
-
}
|
|
128
|
-
), e.legacy_pre_effect(
|
|
129
|
-
() => (f(), e.deep_read_state(p()), e.get(c)),
|
|
130
|
-
() => {
|
|
131
|
-
e.set(m, f()?.dictionaryKey === p() && (f()?.keyPath?.length ?? 0) > 0 && M(f()?.keyPath ?? [], e.get(c)));
|
|
132
|
-
}
|
|
133
|
-
), e.legacy_pre_effect_reset(), e.init();
|
|
134
|
-
var y = e.comment(), n = e.first_child(y);
|
|
135
|
-
{
|
|
136
|
-
var P = (s) => {
|
|
137
|
-
Y(s, {
|
|
138
|
-
onPress: C,
|
|
139
|
-
get isSelecting() {
|
|
140
|
-
return e.get(m);
|
|
141
|
-
},
|
|
142
|
-
onHover: l,
|
|
143
|
-
onUnhover: b,
|
|
144
|
-
children: (i, T) => {
|
|
145
|
-
var S = e.comment(), O = e.first_child(S);
|
|
146
|
-
e.slot(O, t, "default", {}, null), e.append(i, S);
|
|
147
|
-
},
|
|
148
|
-
$$slots: { default: !0 }
|
|
149
|
-
});
|
|
150
|
-
}, v = (s) => {
|
|
151
|
-
var i = e.comment(), T = e.first_child(i);
|
|
152
|
-
e.slot(T, t, "default", {}, null), e.append(s, i);
|
|
153
|
-
};
|
|
154
|
-
e.if(n, (s) => {
|
|
155
|
-
h() ? s(P) : s(v, !1);
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
e.append(a, y), e.pop(), u();
|
|
159
|
-
}
|
|
160
|
-
export {
|
|
161
|
-
Y as C,
|
|
162
|
-
te as a
|
|
163
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";require("svelte/internal/disclose-version");require("svelte/internal/flags/legacy");const L=require("svelte/internal/client"),R=require("@intlayer/core"),D=require("@intlayer/editor"),O=require("@intlayer/types"),q=require("svelte/store"),N=require("svelte"),I=require("./cjs/editor/communicator.cjs"),U=require("./cjs/editor/editorEnabled.cjs"),j=require("./cjs/editor/focusDictionary.cjs"),A=require("./cjs/editor/useEditor.cjs");function x(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const n in s)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:()=>s[n]})}}return t.default=s,Object.freeze(t)}const e=x(L),w=(s,t,n)=>{t(),n()},K=(s,t,n,a)=>{e.get(t)&&(e.set(t,!1),n()?.()),a()},F=(s,t,n)=>{e.get(t)?(s.preventDefault(),s.stopPropagation()):n()?.(s)};var G=()=>{},V=e.template('<span role="button" tabindex="0"><!></span>');function M(s,t){e.push(t,!1);const n=e.mutable_state();let a=e.prop(t,"onClickOutside",8,void 0),f=e.prop(t,"pressDuration",8,250),y=e.prop(t,"isSelecting",8,!1),u=e.prop(t,"onPress",8,void 0),_=e.prop(t,"onUnhover",8,void 0),p=e.prop(t,"onHover",8,void 0),b=e.prop(t,"onClick",8,void 0),m=e.mutable_state(null),l=e.mutable_state(!1),g=e.mutable_state(y()),d=null;const E=()=>{e.set(g,!0),u()?.()},k=()=>{d=setTimeout(()=>{E()},f())},i=()=>{d&&(clearTimeout(d),d=null)},C=()=>{e.get(l)&&(e.set(l,!1),_()?.()),i()},h=v=>{e.get(m)&&!e.get(m).contains(v.target)&&(e.set(g,!1),a()&&a()())};N.onMount(()=>{document.addEventListener("mousedown",h)}),N.onDestroy(()=>{typeof document<"u"&&document.removeEventListener("mousedown",h),i()}),e.legacy_pre_effect(()=>(e.deep_read_state(y()),e.get(g)),()=>{e.set(n,y()||e.get(g))}),e.legacy_pre_effect_reset(),e.init();var o=V();o.__click=[F,n,b],o.__keydown=[G],o.__mousedown=[w,i,k],o.__mouseup=[K,l,_,i],o.__touchstart=[w,i,k],o.__touchend=[K,l,_,i];var P=e.child(o);e.slot(P,t,"default",{},null),e.reset(o),e.bind_this(o,v=>e.set(m,v),()=>e.get(m)),e.template_effect(()=>e.set_style(o,`display: inline-block;
|
|
2
|
-
cursor: pointer;
|
|
3
|
-
user-select: none;
|
|
4
|
-
border-radius: 0.375rem;
|
|
5
|
-
outline-width: 2px;
|
|
6
|
-
outline-offset: 4px;
|
|
7
|
-
outline-style: solid;
|
|
8
|
-
outline-color: ${e.get(n)||e.get(l)?"inherit":"transparent"};
|
|
9
|
-
transition: all 100ms 50ms ease-in-out;
|
|
10
|
-
`)),e.event("mouseleave",o,C),e.event("touchcancel",o,C),e.event("mouseenter",o,()=>{e.set(l,!0),p()?.()}),e.append(s,o),e.pop()}e.delegate(["click","keydown","mousedown","mouseup","touchstart","touchend"]);function W(s,t){e.push(t,!1);const[n,a]=e.setup_stores(),f=()=>e.store_get(m,"$focusedContent",n),y=()=>e.store_get(E,"$enabled",n),u=e.mutable_state(),_=e.mutable_state();let p=e.prop(t,"dictionaryKey",8),b=e.prop(t,"keyPath",8);const{focusedContent:m,setFocusedContent:l}=j.useFocusDictionary(),g=U.useEditorEnabled(),d=I.useCommunicator(),{enabled:E}=g;A.useEditor();const k=()=>{l({dictionaryKey:p(),keyPath:e.get(u)})},i=()=>{const{postMessage:r,senderId:c}=q.get(d);r({type:`${D.MessageKey.INTLAYER_HOVERED_CONTENT_CHANGED}/post`,data:{dictionaryKey:p(),keyPath:e.get(u)},senderId:c})},C=()=>{const{postMessage:r,senderId:c}=q.get(d);r({type:`${D.MessageKey.INTLAYER_HOVERED_CONTENT_CHANGED}/post`,data:null,senderId:c})};e.legacy_pre_effect(()=>(e.deep_read_state(b()),O.NodeType),()=>{e.set(u,b().filter(r=>r.type!==O.NodeType.Translation))}),e.legacy_pre_effect(()=>(f(),e.deep_read_state(p()),e.get(u)),()=>{e.set(_,f()?.dictionaryKey===p()&&(f()?.keyPath?.length??0)>0&&R.isSameKeyPath(f()?.keyPath??[],e.get(u)))}),e.legacy_pre_effect_reset(),e.init();var h=e.comment(),o=e.first_child(h);{var P=r=>{M(r,{onPress:k,get isSelecting(){return e.get(_)},onHover:i,onUnhover:C,children:(c,S)=>{var T=e.comment(),H=e.first_child(T);e.slot(H,t,"default",{},null),e.append(c,T)},$$slots:{default:!0}})},v=r=>{var c=e.comment(),S=e.first_child(c);e.slot(S,t,"default",{},null),e.append(r,c)};e.if(o,r=>{y()?r(P):r(v,!1)})}e.append(s,h),e.pop(),a()}exports.ContentSelector=M;exports.ContentSelectorWrapper=W;
|