@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.
@@ -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;;;KCVR,UAAA,GAAa,GAAA,CAAI,OAAA,UAAiB,GAAA,CAAI,OAAO;AAAA,iBA+DnC,MAAA,CACpB,IAAA,EAAM,UAAA,EACN,OAAA,GAAU,OAAA,GACT,OAAA;AAAA,iBAQa,UAAA,CACd,IAAA,EAAM,UAAA,EACN,OAAA,GAAU,iBAAiB;;;cCuChB,MAAA,GAAU,GAAA,UAAa,OAAA,GAAS,SAAA,KAAY,OAAA;;;cCpH5C,kBAAA,EAAoB,kBAAkB;AAAA,iBASnC,WAAA,CAAY,IAAA,UAAc,OAAA,GAAU,iBAAiB"}
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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"}
@@ -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;;;KCVR,UAAA,GAAa,GAAA,CAAI,OAAA,UAAiB,GAAA,CAAI,OAAO;AAAA,iBA+DnC,MAAA,CACpB,IAAA,EAAM,UAAA,EACN,OAAA,GAAU,OAAA,GACT,OAAA;AAAA,iBAQa,UAAA,CACd,IAAA,EAAM,UAAA,EACN,OAAA,GAAU,iBAAiB;;;cCuChB,MAAA,GAAU,GAAA,UAAa,OAAA,GAAS,SAAA,KAAY,OAAA;;;cCpH5C,kBAAA,EAAoB,kBAAkB;AAAA,iBASnC,WAAA,CAAY,IAAA,UAAc,OAAA,GAAU,iBAAiB"}
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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"}