svelte-intlayer 8.2.3 → 8.2.4
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.
|
@@ -12,7 +12,12 @@ export const preserveFrontmatter: boolean | undefined = undefined;
|
|
|
12
12
|
export const tagfilter: boolean | undefined = undefined;
|
|
13
13
|
|
|
14
14
|
let customRenderMarkdown:
|
|
15
|
-
| ((
|
|
15
|
+
| ((
|
|
16
|
+
markdown: string,
|
|
17
|
+
options?: any,
|
|
18
|
+
components?: HTMLComponents<'permissive', {}>,
|
|
19
|
+
wrapper?: any
|
|
20
|
+
) => string)
|
|
16
21
|
| undefined;
|
|
17
22
|
export { customRenderMarkdown as renderMarkdown };
|
|
18
23
|
|
|
@@ -25,50 +30,47 @@ $: baseOptions = {
|
|
|
25
30
|
tagfilter,
|
|
26
31
|
};
|
|
27
32
|
|
|
28
|
-
const internalRenderMarkdown = (
|
|
33
|
+
const internalRenderMarkdown = (
|
|
34
|
+
markdown: string,
|
|
35
|
+
options?: {
|
|
36
|
+
forceBlock?: boolean;
|
|
37
|
+
forceInline?: boolean;
|
|
38
|
+
preserveFrontmatter?: boolean;
|
|
39
|
+
tagfilter?: boolean;
|
|
40
|
+
},
|
|
41
|
+
componentsOverride?: HTMLComponents<'permissive', {}>,
|
|
42
|
+
wrapperOverride?: any
|
|
43
|
+
) => {
|
|
29
44
|
if (typeof customRenderMarkdown === 'function') {
|
|
30
|
-
return customRenderMarkdown(
|
|
45
|
+
return customRenderMarkdown(
|
|
46
|
+
markdown,
|
|
47
|
+
options,
|
|
48
|
+
componentsOverride,
|
|
49
|
+
wrapperOverride
|
|
50
|
+
);
|
|
31
51
|
}
|
|
32
52
|
|
|
33
|
-
const isOptionsObject =
|
|
34
|
-
overrides &&
|
|
35
|
-
typeof overrides === 'object' &&
|
|
36
|
-
('components' in overrides ||
|
|
37
|
-
'wrapper' in overrides ||
|
|
38
|
-
'forceBlock' in overrides ||
|
|
39
|
-
'forceInline' in overrides ||
|
|
40
|
-
'preserveFrontmatter' in overrides ||
|
|
41
|
-
'tagfilter' in overrides);
|
|
42
|
-
|
|
43
|
-
const {
|
|
44
|
-
components: overrideComponents,
|
|
45
|
-
wrapper: localWrapper,
|
|
46
|
-
forceBlock: localForceBlock,
|
|
47
|
-
forceInline: localForceInline,
|
|
48
|
-
preserveFrontmatter: localPreserveFrontmatter,
|
|
49
|
-
tagfilter: localTagfilter,
|
|
50
|
-
...componentsFromRest
|
|
51
|
-
} = isOptionsObject ? overrides : { components: overrides };
|
|
52
|
-
|
|
53
|
-
const actualComponents = overrideComponents || componentsFromRest;
|
|
54
|
-
|
|
55
53
|
const mergedOptions = {
|
|
56
|
-
forceBlock:
|
|
57
|
-
forceInline:
|
|
54
|
+
forceBlock: options?.forceBlock ?? baseOptions.forceBlock,
|
|
55
|
+
forceInline: options?.forceInline ?? baseOptions.forceInline,
|
|
58
56
|
preserveFrontmatter:
|
|
59
|
-
|
|
60
|
-
tagfilter:
|
|
61
|
-
wrapper:
|
|
57
|
+
options?.preserveFrontmatter ?? baseOptions.preserveFrontmatter,
|
|
58
|
+
tagfilter: options?.tagfilter ?? baseOptions.tagfilter,
|
|
59
|
+
wrapper: wrapperOverride || baseOptions.wrapper,
|
|
60
|
+
forceWrapper: !!(wrapperOverride || baseOptions.wrapper),
|
|
62
61
|
components: {
|
|
63
62
|
...baseOptions.components,
|
|
64
|
-
...
|
|
63
|
+
...(componentsOverride ?? {}),
|
|
65
64
|
},
|
|
66
65
|
};
|
|
67
66
|
|
|
68
67
|
return compileMarkdown(markdown, mergedOptions) as string;
|
|
69
68
|
};
|
|
70
69
|
|
|
71
|
-
setMarkdownContext({
|
|
70
|
+
setMarkdownContext({
|
|
71
|
+
components,
|
|
72
|
+
renderMarkdown: internalRenderMarkdown,
|
|
73
|
+
});
|
|
72
74
|
</script>
|
|
73
75
|
|
|
74
76
|
<slot />
|
|
@@ -24,7 +24,7 @@ declare const MarkdownProvider: $$__sveltets_2_IsomorphicComponent<$$__sveltets_
|
|
|
24
24
|
forceInline?: boolean | undefined;
|
|
25
25
|
preserveFrontmatter?: boolean | undefined;
|
|
26
26
|
tagfilter?: boolean | undefined;
|
|
27
|
-
renderMarkdown: ((markdown: string,
|
|
27
|
+
renderMarkdown: ((markdown: string, options?: any, components?: HTMLComponents<"permissive", {}>, wrapper?: any) => string) | undefined;
|
|
28
28
|
}, {
|
|
29
29
|
default: {};
|
|
30
30
|
}>, {
|
|
@@ -13,14 +13,20 @@ export const tagfilter: boolean | undefined = undefined;
|
|
|
13
13
|
|
|
14
14
|
const context = getMarkdownContext();
|
|
15
15
|
|
|
16
|
-
$: htmlContent = context.renderMarkdown(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
16
|
+
$: htmlContent = context.renderMarkdown(
|
|
17
|
+
value,
|
|
18
|
+
{
|
|
19
|
+
forceBlock,
|
|
20
|
+
forceInline,
|
|
21
|
+
preserveFrontmatter,
|
|
22
|
+
tagfilter,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
...(context.components ?? {}),
|
|
26
|
+
...(components ?? {}),
|
|
27
|
+
},
|
|
28
|
+
wrapper
|
|
29
|
+
);
|
|
24
30
|
</script>
|
|
25
31
|
|
|
26
32
|
{@html htmlContent}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { HTMLComponents } from '../html/types';
|
|
2
2
|
export declare const MARKDOWN_CONTEXT_KEY: unique symbol;
|
|
3
|
-
export type
|
|
4
|
-
components?: HTMLComponents<'permissive', {}>;
|
|
5
|
-
wrapper?: any;
|
|
3
|
+
export type MarkdownProviderOptions = {
|
|
6
4
|
forceBlock?: boolean;
|
|
5
|
+
forceInline?: boolean;
|
|
7
6
|
preserveFrontmatter?: boolean;
|
|
8
7
|
tagfilter?: boolean;
|
|
9
8
|
};
|
|
9
|
+
export type RenderMarkdownOptions = MarkdownProviderOptions & {
|
|
10
|
+
components?: HTMLComponents<'permissive', {}>;
|
|
11
|
+
wrapper?: any;
|
|
12
|
+
};
|
|
10
13
|
export interface MarkdownContext {
|
|
11
|
-
|
|
14
|
+
components?: HTMLComponents<'permissive', {}>;
|
|
15
|
+
renderMarkdown: (markdown: string, options?: MarkdownProviderOptions, components?: HTMLComponents<'permissive', {}>, wrapper?: any) => string;
|
|
12
16
|
}
|
|
13
17
|
export declare const getMarkdownContext: () => MarkdownContext;
|
|
14
18
|
export declare const setMarkdownContext: (context: MarkdownContext) => void;
|
package/dist/markdown/context.js
CHANGED
|
@@ -3,7 +3,11 @@ import { compileMarkdown } from './compiler';
|
|
|
3
3
|
export const MARKDOWN_CONTEXT_KEY = Symbol('INTLAYER_MARKDOWN_CONTEXT');
|
|
4
4
|
export const getMarkdownContext = () => {
|
|
5
5
|
return (getContext(MARKDOWN_CONTEXT_KEY) || {
|
|
6
|
-
renderMarkdown: (md,
|
|
6
|
+
renderMarkdown: (md, _options, components, wrapper) => compileMarkdown(md, {
|
|
7
|
+
components,
|
|
8
|
+
wrapper,
|
|
9
|
+
forceWrapper: !!wrapper,
|
|
10
|
+
}),
|
|
7
11
|
});
|
|
8
12
|
};
|
|
9
13
|
export const setMarkdownContext = (context) => {
|