@solid-email/render 0.1.1 → 0.1.3
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/README.md +82 -0
- package/dist/browser/index.cjs +617 -4
- package/dist/browser/index.d.cts +65 -2
- package/dist/browser/index.d.cts.map +1 -1
- package/dist/browser/index.d.mts +65 -2
- package/dist/browser/index.d.mts.map +1 -1
- package/dist/browser/index.mjs +603 -5
- package/dist/browser/index.mjs.map +1 -1
- package/dist/edge/index.cjs +617 -4
- package/dist/edge/index.d.cts +65 -2
- package/dist/edge/index.d.cts.map +1 -1
- package/dist/edge/index.d.mts +65 -2
- package/dist/edge/index.d.mts.map +1 -1
- package/dist/edge/index.mjs +603 -5
- package/dist/edge/index.mjs.map +1 -1
- package/dist/node/index.cjs +617 -4
- package/dist/node/index.d.cts +65 -2
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.mts +65 -2
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.mjs +603 -5
- package/dist/node/index.mjs.map +1 -1
- package/package.json +6 -5
package/dist/node/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HtmlToTextOptions, SelectorDefinition } from "html-to-text";
|
|
1
|
+
import { HtmlToTextOptions, SelectorDefinition } from "@solid-email/html-to-text";
|
|
2
2
|
import { JSX } from "solid-js";
|
|
3
3
|
import { Options as Options$1 } from "prettier";
|
|
4
4
|
|
|
@@ -17,12 +17,75 @@ type Options = {
|
|
|
17
17
|
type RenderSyncOptions = {
|
|
18
18
|
pretty?: false;
|
|
19
19
|
} & PlainTextOptions;
|
|
20
|
+
type CompileOptions = {
|
|
21
|
+
withPlainText?: boolean;
|
|
22
|
+
htmlToTextOptions?: HtmlToTextOptions;
|
|
23
|
+
};
|
|
24
|
+
type CompileSyncOptions = CompileOptions;
|
|
25
|
+
type CompiledRenderOptions = {
|
|
26
|
+
pretty?: boolean;
|
|
27
|
+
plainText?: boolean;
|
|
28
|
+
};
|
|
29
|
+
type CompiledRenderSyncOptions = {
|
|
30
|
+
pretty?: false;
|
|
31
|
+
plainText?: boolean;
|
|
32
|
+
};
|
|
20
33
|
//#endregion
|
|
21
34
|
//#region src/shared/render.d.ts
|
|
22
35
|
type Renderable = JSX.Element | (() => JSX.Element);
|
|
36
|
+
declare function normalizeRenderable(node: Renderable): () => JSX.Element;
|
|
37
|
+
declare function removeSolidResourceScripts(html: string): string;
|
|
38
|
+
declare function renderDocument(html: string): string;
|
|
39
|
+
declare function renderSyncOutput(html: string, options?: RenderSyncOptions): string;
|
|
40
|
+
declare function renderOutput(html: string, options?: Options): Promise<string>;
|
|
23
41
|
declare function render(node: Renderable, options?: Options): Promise<string>;
|
|
24
42
|
declare function renderSync(node: Renderable, options?: RenderSyncOptions): string;
|
|
25
43
|
//#endregion
|
|
44
|
+
//#region src/shared/slots.d.ts
|
|
45
|
+
type SlotPrimitive = string | number | boolean | null | undefined;
|
|
46
|
+
type SlotValue = SlotPrimitive | JSX.Element | SlotValue[];
|
|
47
|
+
type SlotRecord = Record<string, SlotValue>;
|
|
48
|
+
declare function decodeName(encoded: string): string;
|
|
49
|
+
declare function makeContentMarker(name: string, defaultValue?: string): string;
|
|
50
|
+
declare function makeAttrMarker(name: string): string;
|
|
51
|
+
interface SlotOccurrence {
|
|
52
|
+
full: string;
|
|
53
|
+
hasDefault: boolean;
|
|
54
|
+
defaultValue: string;
|
|
55
|
+
}
|
|
56
|
+
declare function buildSlotLookup(html: string): {
|
|
57
|
+
content: Map<string, SlotOccurrence[]>;
|
|
58
|
+
attr: Map<string, string[]>;
|
|
59
|
+
};
|
|
60
|
+
declare function Slot(props: {
|
|
61
|
+
name: string;
|
|
62
|
+
children?: JSX.Element;
|
|
63
|
+
}): JSX.Element;
|
|
64
|
+
declare function slot(name: string): string;
|
|
65
|
+
interface SlotDefinition<T extends SlotRecord> {
|
|
66
|
+
content: <K extends keyof T & string>(name: K, defaultValue?: string) => string;
|
|
67
|
+
attr: <K extends keyof T & string>(name: K) => string;
|
|
68
|
+
}
|
|
69
|
+
declare function defineSlots<T extends SlotRecord>(): SlotDefinition<T>;
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/shared/compile.d.ts
|
|
72
|
+
declare class CompiledTemplate<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>> {
|
|
73
|
+
private readonly html;
|
|
74
|
+
private readonly htmlToTextOptions?;
|
|
75
|
+
private readonly slotLookup;
|
|
76
|
+
private readonly markerRegex;
|
|
77
|
+
private readonly plainTextTemplate?;
|
|
78
|
+
constructor(html: string, options?: CompileOptions);
|
|
79
|
+
render(data: TSlots, options?: CompiledRenderOptions): Promise<string>;
|
|
80
|
+
renderSync(data: TSlots, options?: CompiledRenderSyncOptions): string;
|
|
81
|
+
private replaceHtmlSlots;
|
|
82
|
+
private replaceHtmlSlotsSync;
|
|
83
|
+
private renderPlainText;
|
|
84
|
+
private renderPlainTextSync;
|
|
85
|
+
}
|
|
86
|
+
declare function compile<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>>(node: Renderable, options?: CompileOptions): Promise<CompiledTemplate<TSlots>>;
|
|
87
|
+
declare function compileSync<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>>(node: Renderable, options?: CompileSyncOptions): CompiledTemplate<TSlots>;
|
|
88
|
+
//#endregion
|
|
26
89
|
//#region src/shared/utils/pretty.d.ts
|
|
27
90
|
declare const pretty: (str: string, options?: Options$1) => Promise<string>;
|
|
28
91
|
//#endregion
|
|
@@ -30,5 +93,5 @@ declare const pretty: (str: string, options?: Options$1) => Promise<string>;
|
|
|
30
93
|
declare const plainTextSelectors: SelectorDefinition[];
|
|
31
94
|
declare function toPlainText(html: string, options?: HtmlToTextOptions): string;
|
|
32
95
|
//#endregion
|
|
33
|
-
export { Options, RenderSyncOptions, Renderable, plainTextSelectors, pretty, render, renderSync, toPlainText };
|
|
96
|
+
export { CompileOptions, CompileSyncOptions, CompiledRenderOptions, CompiledRenderSyncOptions, CompiledTemplate, Options, RenderSyncOptions, Renderable, Slot, SlotDefinition, SlotOccurrence, SlotPrimitive, SlotRecord, SlotValue, buildSlotLookup, compile, compileSync, decodeName, defineSlots, makeAttrMarker, makeContentMarker, normalizeRenderable, plainTextSelectors, pretty, removeSolidResourceScripts, render, renderDocument, renderOutput, renderSync, renderSyncOutput, slot, toPlainText };
|
|
34
97
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/shared/options.ts","../../src/shared/render.ts","../../src/shared/utils/pretty.ts","../../src/shared/utils/to-plain-text.ts"],"mappings":";;;;;KAEK,iBAAA;EACH,SAAS;AAAA;AAAA,KAGN,gBAAA;EACH,SAAA;EACA,iBAAA,GAAoB,iBAAiB;AAAA;AAAA,KAGlC,gBAAA,GAAmB,iBAAA,GAAoB,gBAAgB;AAAA,KAEhD,OAAA;EACV,MAAA;AAAA,IACE,gBAAgB;AAAA,KAER,iBAAA;EACV,MAAA;AAAA,IACE,gBAAgB;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/shared/options.ts","../../src/shared/render.ts","../../src/shared/slots.ts","../../src/shared/compile.ts","../../src/shared/utils/pretty.ts","../../src/shared/utils/to-plain-text.ts"],"mappings":"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"}
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HtmlToTextOptions, SelectorDefinition } from "html-to-text";
|
|
1
|
+
import { HtmlToTextOptions, SelectorDefinition } from "@solid-email/html-to-text";
|
|
2
2
|
import { JSX } from "solid-js";
|
|
3
3
|
import { Options as Options$1 } from "prettier";
|
|
4
4
|
|
|
@@ -17,12 +17,75 @@ type Options = {
|
|
|
17
17
|
type RenderSyncOptions = {
|
|
18
18
|
pretty?: false;
|
|
19
19
|
} & PlainTextOptions;
|
|
20
|
+
type CompileOptions = {
|
|
21
|
+
withPlainText?: boolean;
|
|
22
|
+
htmlToTextOptions?: HtmlToTextOptions;
|
|
23
|
+
};
|
|
24
|
+
type CompileSyncOptions = CompileOptions;
|
|
25
|
+
type CompiledRenderOptions = {
|
|
26
|
+
pretty?: boolean;
|
|
27
|
+
plainText?: boolean;
|
|
28
|
+
};
|
|
29
|
+
type CompiledRenderSyncOptions = {
|
|
30
|
+
pretty?: false;
|
|
31
|
+
plainText?: boolean;
|
|
32
|
+
};
|
|
20
33
|
//#endregion
|
|
21
34
|
//#region src/shared/render.d.ts
|
|
22
35
|
type Renderable = JSX.Element | (() => JSX.Element);
|
|
36
|
+
declare function normalizeRenderable(node: Renderable): () => JSX.Element;
|
|
37
|
+
declare function removeSolidResourceScripts(html: string): string;
|
|
38
|
+
declare function renderDocument(html: string): string;
|
|
39
|
+
declare function renderSyncOutput(html: string, options?: RenderSyncOptions): string;
|
|
40
|
+
declare function renderOutput(html: string, options?: Options): Promise<string>;
|
|
23
41
|
declare function render(node: Renderable, options?: Options): Promise<string>;
|
|
24
42
|
declare function renderSync(node: Renderable, options?: RenderSyncOptions): string;
|
|
25
43
|
//#endregion
|
|
44
|
+
//#region src/shared/slots.d.ts
|
|
45
|
+
type SlotPrimitive = string | number | boolean | null | undefined;
|
|
46
|
+
type SlotValue = SlotPrimitive | JSX.Element | SlotValue[];
|
|
47
|
+
type SlotRecord = Record<string, SlotValue>;
|
|
48
|
+
declare function decodeName(encoded: string): string;
|
|
49
|
+
declare function makeContentMarker(name: string, defaultValue?: string): string;
|
|
50
|
+
declare function makeAttrMarker(name: string): string;
|
|
51
|
+
interface SlotOccurrence {
|
|
52
|
+
full: string;
|
|
53
|
+
hasDefault: boolean;
|
|
54
|
+
defaultValue: string;
|
|
55
|
+
}
|
|
56
|
+
declare function buildSlotLookup(html: string): {
|
|
57
|
+
content: Map<string, SlotOccurrence[]>;
|
|
58
|
+
attr: Map<string, string[]>;
|
|
59
|
+
};
|
|
60
|
+
declare function Slot(props: {
|
|
61
|
+
name: string;
|
|
62
|
+
children?: JSX.Element;
|
|
63
|
+
}): JSX.Element;
|
|
64
|
+
declare function slot(name: string): string;
|
|
65
|
+
interface SlotDefinition<T extends SlotRecord> {
|
|
66
|
+
content: <K extends keyof T & string>(name: K, defaultValue?: string) => string;
|
|
67
|
+
attr: <K extends keyof T & string>(name: K) => string;
|
|
68
|
+
}
|
|
69
|
+
declare function defineSlots<T extends SlotRecord>(): SlotDefinition<T>;
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/shared/compile.d.ts
|
|
72
|
+
declare class CompiledTemplate<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>> {
|
|
73
|
+
private readonly html;
|
|
74
|
+
private readonly htmlToTextOptions?;
|
|
75
|
+
private readonly slotLookup;
|
|
76
|
+
private readonly markerRegex;
|
|
77
|
+
private readonly plainTextTemplate?;
|
|
78
|
+
constructor(html: string, options?: CompileOptions);
|
|
79
|
+
render(data: TSlots, options?: CompiledRenderOptions): Promise<string>;
|
|
80
|
+
renderSync(data: TSlots, options?: CompiledRenderSyncOptions): string;
|
|
81
|
+
private replaceHtmlSlots;
|
|
82
|
+
private replaceHtmlSlotsSync;
|
|
83
|
+
private renderPlainText;
|
|
84
|
+
private renderPlainTextSync;
|
|
85
|
+
}
|
|
86
|
+
declare function compile<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>>(node: Renderable, options?: CompileOptions): Promise<CompiledTemplate<TSlots>>;
|
|
87
|
+
declare function compileSync<TSlots extends Record<string, SlotValue> = Record<string, SlotValue>>(node: Renderable, options?: CompileSyncOptions): CompiledTemplate<TSlots>;
|
|
88
|
+
//#endregion
|
|
26
89
|
//#region src/shared/utils/pretty.d.ts
|
|
27
90
|
declare const pretty: (str: string, options?: Options$1) => Promise<string>;
|
|
28
91
|
//#endregion
|
|
@@ -30,5 +93,5 @@ declare const pretty: (str: string, options?: Options$1) => Promise<string>;
|
|
|
30
93
|
declare const plainTextSelectors: SelectorDefinition[];
|
|
31
94
|
declare function toPlainText(html: string, options?: HtmlToTextOptions): string;
|
|
32
95
|
//#endregion
|
|
33
|
-
export { Options, RenderSyncOptions, Renderable, plainTextSelectors, pretty, render, renderSync, toPlainText };
|
|
96
|
+
export { CompileOptions, CompileSyncOptions, CompiledRenderOptions, CompiledRenderSyncOptions, CompiledTemplate, Options, RenderSyncOptions, Renderable, Slot, SlotDefinition, SlotOccurrence, SlotPrimitive, SlotRecord, SlotValue, buildSlotLookup, compile, compileSync, decodeName, defineSlots, makeAttrMarker, makeContentMarker, normalizeRenderable, plainTextSelectors, pretty, removeSolidResourceScripts, render, renderDocument, renderOutput, renderSync, renderSyncOutput, slot, toPlainText };
|
|
34
97
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/shared/options.ts","../../src/shared/render.ts","../../src/shared/utils/pretty.ts","../../src/shared/utils/to-plain-text.ts"],"mappings":";;;;;KAEK,iBAAA;EACH,SAAS;AAAA;AAAA,KAGN,gBAAA;EACH,SAAA;EACA,iBAAA,GAAoB,iBAAiB;AAAA;AAAA,KAGlC,gBAAA,GAAmB,iBAAA,GAAoB,gBAAgB;AAAA,KAEhD,OAAA;EACV,MAAA;AAAA,IACE,gBAAgB;AAAA,KAER,iBAAA;EACV,MAAA;AAAA,IACE,gBAAgB;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/shared/options.ts","../../src/shared/render.ts","../../src/shared/slots.ts","../../src/shared/compile.ts","../../src/shared/utils/pretty.ts","../../src/shared/utils/to-plain-text.ts"],"mappings":"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"}
|