@aurumjs/html 0.10.12
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/LICENSE +21 -0
- package/README.md +152 -0
- package/package.json +52 -0
- package/prebuilt/esnext/builtin_components/portal.d.ts +9 -0
- package/prebuilt/esnext/builtin_components/portal.d.ts.map +1 -0
- package/prebuilt/esnext/builtin_components/portal.js +40 -0
- package/prebuilt/esnext/builtin_components/portal.js.map +1 -0
- package/prebuilt/esnext/builtin_components/router_link.d.ts +21 -0
- package/prebuilt/esnext/builtin_components/router_link.d.ts.map +1 -0
- package/prebuilt/esnext/builtin_components/router_link.js +54 -0
- package/prebuilt/esnext/builtin_components/router_link.js.map +1 -0
- package/prebuilt/esnext/index.d.ts +18 -0
- package/prebuilt/esnext/index.d.ts.map +1 -0
- package/prebuilt/esnext/index.js +18 -0
- package/prebuilt/esnext/index.js.map +1 -0
- package/prebuilt/esnext/jsx-dev-runtime.d.ts +2 -0
- package/prebuilt/esnext/jsx-dev-runtime.d.ts.map +1 -0
- package/prebuilt/esnext/jsx-dev-runtime.js +2 -0
- package/prebuilt/esnext/jsx-dev-runtime.js.map +1 -0
- package/prebuilt/esnext/jsx-runtime.d.ts +28 -0
- package/prebuilt/esnext/jsx-runtime.d.ts.map +1 -0
- package/prebuilt/esnext/jsx-runtime.js +26 -0
- package/prebuilt/esnext/jsx-runtime.js.map +1 -0
- package/prebuilt/esnext/nodes/input.d.ts +41 -0
- package/prebuilt/esnext/nodes/input.d.ts.map +1 -0
- package/prebuilt/esnext/nodes/input.js +92 -0
- package/prebuilt/esnext/nodes/input.js.map +1 -0
- package/prebuilt/esnext/nodes/rendering_helpers.d.ts +8 -0
- package/prebuilt/esnext/nodes/rendering_helpers.d.ts.map +1 -0
- package/prebuilt/esnext/nodes/rendering_helpers.js +173 -0
- package/prebuilt/esnext/nodes/rendering_helpers.js.map +1 -0
- package/prebuilt/esnext/nodes/select.d.ts +17 -0
- package/prebuilt/esnext/nodes/select.d.ts.map +1 -0
- package/prebuilt/esnext/nodes/select.js +95 -0
- package/prebuilt/esnext/nodes/select.js.map +1 -0
- package/prebuilt/esnext/nodes/simple_dom_nodes.d.ts +866 -0
- package/prebuilt/esnext/nodes/simple_dom_nodes.d.ts.map +1 -0
- package/prebuilt/esnext/nodes/simple_dom_nodes.js +531 -0
- package/prebuilt/esnext/nodes/simple_dom_nodes.js.map +1 -0
- package/prebuilt/esnext/nodes/textarea.d.ts +34 -0
- package/prebuilt/esnext/nodes/textarea.d.ts.map +1 -0
- package/prebuilt/esnext/nodes/textarea.js +61 -0
- package/prebuilt/esnext/nodes/textarea.js.map +1 -0
- package/prebuilt/esnext/rendering/dom_runtime.d.ts +91 -0
- package/prebuilt/esnext/rendering/dom_runtime.d.ts.map +1 -0
- package/prebuilt/esnext/rendering/dom_runtime.js +970 -0
- package/prebuilt/esnext/rendering/dom_runtime.js.map +1 -0
- package/prebuilt/esnext/rendering/render_batch.d.ts +15 -0
- package/prebuilt/esnext/rendering/render_batch.d.ts.map +1 -0
- package/prebuilt/esnext/rendering/render_batch.js +73 -0
- package/prebuilt/esnext/rendering/render_batch.js.map +1 -0
- package/prebuilt/esnext/rendering/renderers/dom_adapter.d.ts +199 -0
- package/prebuilt/esnext/rendering/renderers/dom_adapter.d.ts.map +1 -0
- package/prebuilt/esnext/rendering/renderers/dom_adapter.js +525 -0
- package/prebuilt/esnext/rendering/renderers/dom_adapter.js.map +1 -0
- package/prebuilt/esnext/rendering/renderers/string_adapter.d.ts +4 -0
- package/prebuilt/esnext/rendering/renderers/string_adapter.d.ts.map +1 -0
- package/prebuilt/esnext/rendering/renderers/string_adapter.js +112 -0
- package/prebuilt/esnext/rendering/renderers/string_adapter.js.map +1 -0
- package/prebuilt/esnext/rendering/renderers/vdom_adapter.d.ts +11 -0
- package/prebuilt/esnext/rendering/renderers/vdom_adapter.d.ts.map +1 -0
- package/prebuilt/esnext/rendering/renderers/vdom_adapter.js +23 -0
- package/prebuilt/esnext/rendering/renderers/vdom_adapter.js.map +1 -0
- package/prebuilt/esnext/utilities/aurum.d.ts +155 -0
- package/prebuilt/esnext/utilities/aurum.d.ts.map +1 -0
- package/prebuilt/esnext/utilities/aurum.js +282 -0
- package/prebuilt/esnext/utilities/aurum.js.map +1 -0
- package/prebuilt/esnext/utilities/sanitize.d.ts +25 -0
- package/prebuilt/esnext/utilities/sanitize.d.ts.map +1 -0
- package/prebuilt/esnext/utilities/sanitize.js +191 -0
- package/prebuilt/esnext/utilities/sanitize.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string_adapter.js","sourceRoot":"","sources":["../../../../src/rendering/renderers/string_adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Renderable, RenderTree, RenderTreeNode, RenderTreePropertyResolver } from '@aurumjs/rendering';
|
|
2
|
+
import { CancellationToken } from '@aurumjs/streams';
|
|
3
|
+
/** @deprecated Use RenderTree from @aurumjs/rendering. */
|
|
4
|
+
export { RenderTree as VDOM };
|
|
5
|
+
/** @deprecated Use RenderTreeNode from @aurumjs/rendering. */
|
|
6
|
+
export type VDOMNode = RenderTreeNode;
|
|
7
|
+
export declare const resolveHTMLRenderTreeProperty: RenderTreePropertyResolver;
|
|
8
|
+
export declare function aurumToRenderTree(content: Renderable, sessionToken?: CancellationToken): RenderTree;
|
|
9
|
+
/** @deprecated Use aurumToRenderTree or renderToTree. */
|
|
10
|
+
export declare function aurumToVDOM(content: Renderable, sessionToken: CancellationToken): RenderTree;
|
|
11
|
+
//# sourceMappingURL=vdom_adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vdom_adapter.d.ts","sourceRoot":"","sources":["../../../../src/rendering/renderers/vdom_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAyB,cAAc,EAAE,0BAA0B,EAAgB,MAAM,oBAAoB,CAAC;AAC7I,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,0DAA0D;AAC1D,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;AAC9B,8DAA8D;AAC9D,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC;AAEtC,eAAO,MAAM,6BAA6B,EAAE,0BAS3C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,GAAE,iBAA2C,GAAG,UAAU,CAK5H;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,GAAG,UAAU,CAE5F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RenderTree, renderToTree } from '@aurumjs/rendering';
|
|
2
|
+
import { CancellationToken } from '@aurumjs/streams';
|
|
3
|
+
import { handleClass, handleStyle } from '../../nodes/rendering_helpers.js';
|
|
4
|
+
/** @deprecated Use RenderTree from @aurumjs/rendering. */
|
|
5
|
+
export { RenderTree as VDOM };
|
|
6
|
+
export const resolveHTMLRenderTreeProperty = (key, value, lifetime, _node) => {
|
|
7
|
+
if (key === 'style')
|
|
8
|
+
return handleStyle(value, lifetime);
|
|
9
|
+
if (key === 'class')
|
|
10
|
+
return handleClass(value, lifetime);
|
|
11
|
+
return value;
|
|
12
|
+
};
|
|
13
|
+
export function aurumToRenderTree(content, sessionToken = new CancellationToken()) {
|
|
14
|
+
return renderToTree(content, {
|
|
15
|
+
cancellationToken: sessionToken,
|
|
16
|
+
resolveProperty: resolveHTMLRenderTreeProperty
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/** @deprecated Use aurumToRenderTree or renderToTree. */
|
|
20
|
+
export function aurumToVDOM(content, sessionToken) {
|
|
21
|
+
return aurumToRenderTree(content, sessionToken);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=vdom_adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vdom_adapter.js","sourceRoot":"","sources":["../../../../src/rendering/renderers/vdom_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAqE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7I,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE5E,0DAA0D;AAC1D,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;AAI9B,MAAM,CAAC,MAAM,6BAA6B,GAA+B,CACrE,GAAW,EACX,KAAc,EACd,QAA2B,EAC3B,KAA4B,EACrB,EAAE;IACT,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC,KAA0C,EAAE,QAAQ,CAAC,CAAC;IAC9F,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC,KAA0C,EAAE,QAAQ,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,OAAmB,EAAE,eAAkC,IAAI,iBAAiB,EAAE;IAC5G,OAAO,YAAY,CAAC,OAAO,EAAE;QACzB,iBAAiB,EAAE,YAAY;QAC/B,eAAe,EAAE,6BAA6B;KACjD,CAAC,CAAC;AACP,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CAAC,OAAmB,EAAE,YAA+B;IAC5E,OAAO,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { HTMLNodeProps } from '../rendering/renderers/dom_adapter.js';
|
|
2
|
+
import { InputProps } from '../nodes/input.js';
|
|
3
|
+
import { SelectProps } from '../nodes/select.js';
|
|
4
|
+
import { AProps, AreaProps, AudioProps, ButtonProps, CanvasProps, ColProps, DataProps, FormProps, HtmlProps, IFrameProps, ImgProps, LabelProps, LinkProps, MetaProps, ObjectProps, OptGroupProps, OptionProps, OutputProps, ParamProps, ProgressProps, ScriptProps, SlotProps, SourceProps, StyleProps, SvgProps, TableCellProps, TimeProps, TrackProps, VideoProps, CircleProps, EllipseProps, ImageProps, LineProps, PathProps, PolygonProps, PolylineProps, RectProps, SymbolProps, UseProps, LinearGradientProps, RadialGradientProps, StopProps, MaskProps, ClipPathProps, PatternProps, ForeignObjectProps, MarkerProps } from '../nodes/simple_dom_nodes.js';
|
|
5
|
+
import { GenericHTMLNodeProps } from '../rendering/renderers/dom_adapter.js';
|
|
6
|
+
import { TextAreaProps } from '../nodes/textarea.js';
|
|
7
|
+
import { AurumComponentAPI, AurumElementModel, Renderable } from '@aurumjs/rendering';
|
|
8
|
+
import { batchRender } from '../rendering/render_batch.js';
|
|
9
|
+
import { ArrayDataSource, DataSource } from '@aurumjs/streams';
|
|
10
|
+
import { CancellationToken, MapLike } from '@aurumjs/streams';
|
|
11
|
+
import { HTMLSanitizeConfig } from './sanitize.js';
|
|
12
|
+
export type AurumDecorator = (model: AurumElementModel<any>) => Renderable;
|
|
13
|
+
export declare class Aurum {
|
|
14
|
+
/** Coalesces DOM rendering caused by synchronous stream updates while leaving stream propagation unchanged. */
|
|
15
|
+
static batchRender: typeof batchRender;
|
|
16
|
+
static rehydrate(aurumRenderable: Renderable, dom: HTMLElement): CancellationToken;
|
|
17
|
+
/**
|
|
18
|
+
* Allows taking an HTML string for example from a server response and insert it into the page with options on how to deal with untrusted HTML sources
|
|
19
|
+
*/
|
|
20
|
+
static stringToInnerHTML(content: string | DataSource<string> | ArrayDataSource<string>, target: HTMLElement, config?: HTMLSanitizeConfig): CancellationToken;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new Aurum rendering root attached to a dom element
|
|
23
|
+
* @param aurumRenderable the renderable to attach
|
|
24
|
+
* @param dom the dom element to attach to
|
|
25
|
+
* @returns a token that can be used to unmount the renderable
|
|
26
|
+
*/
|
|
27
|
+
static attach(aurumRenderable: Renderable, dom: HTMLElement): CancellationToken;
|
|
28
|
+
/**
|
|
29
|
+
* Fragment works through factory by checking if the node is equal to this function
|
|
30
|
+
*/
|
|
31
|
+
static fragment(): void;
|
|
32
|
+
static factory(node: string | ((props: any, children: Renderable[], api: AurumComponentAPI) => Renderable), args: MapLike<any>, ...innerNodes: Renderable[]): AurumElementModel<any>;
|
|
33
|
+
}
|
|
34
|
+
export declare namespace Aurum {
|
|
35
|
+
namespace JSX {
|
|
36
|
+
type StandardHTMLIntrinsicElements = {
|
|
37
|
+
[K in keyof HTMLElementTagNameMap]: GenericHTMLNodeProps<HTMLElementTagNameMap[K]>;
|
|
38
|
+
};
|
|
39
|
+
interface IntrinsicAttributes {
|
|
40
|
+
decorate?: AurumDecorator | AurumDecorator[];
|
|
41
|
+
}
|
|
42
|
+
interface IntrinsicElements extends StandardHTMLIntrinsicElements {
|
|
43
|
+
address: HTMLNodeProps<HTMLElement>;
|
|
44
|
+
wbr: HTMLNodeProps<HTMLElement>;
|
|
45
|
+
samp: HTMLNodeProps<HTMLElement>;
|
|
46
|
+
strong: HTMLNodeProps<HTMLElement>;
|
|
47
|
+
kbd: HTMLNodeProps<HTMLElement>;
|
|
48
|
+
var: HTMLNodeProps<HTMLElement>;
|
|
49
|
+
picture: HTMLNodeProps<HTMLElement>;
|
|
50
|
+
output: OutputProps;
|
|
51
|
+
object: ObjectProps;
|
|
52
|
+
optgroup: OptGroupProps;
|
|
53
|
+
track: TrackProps;
|
|
54
|
+
param: ParamProps;
|
|
55
|
+
code: HTMLNodeProps<HTMLElement>;
|
|
56
|
+
button: ButtonProps;
|
|
57
|
+
hr: HTMLNodeProps<HTMLHRElement>;
|
|
58
|
+
div: HTMLNodeProps<HTMLDivElement>;
|
|
59
|
+
input: InputProps;
|
|
60
|
+
meta: MetaProps;
|
|
61
|
+
li: HTMLNodeProps<HTMLLIElement>;
|
|
62
|
+
span: HTMLNodeProps<HTMLElement>;
|
|
63
|
+
style: StyleProps;
|
|
64
|
+
ul: HTMLNodeProps<HTMLUListElement>;
|
|
65
|
+
p: HTMLNodeProps<HTMLParagraphElement>;
|
|
66
|
+
img: ImgProps;
|
|
67
|
+
link: LinkProps;
|
|
68
|
+
canvas: CanvasProps;
|
|
69
|
+
a: AProps;
|
|
70
|
+
article: HTMLNodeProps<HTMLElement>;
|
|
71
|
+
section: HTMLNodeProps<HTMLElement>;
|
|
72
|
+
br: HTMLNodeProps<HTMLBRElement>;
|
|
73
|
+
form: FormProps;
|
|
74
|
+
label: LabelProps;
|
|
75
|
+
ol: HTMLNodeProps<HTMLOListElement>;
|
|
76
|
+
pre: HTMLNodeProps<HTMLPreElement>;
|
|
77
|
+
progress: ProgressProps;
|
|
78
|
+
table: HTMLNodeProps<HTMLTableElement>;
|
|
79
|
+
td: TableCellProps;
|
|
80
|
+
tr: HTMLNodeProps<HTMLTableRowElement>;
|
|
81
|
+
th: TableCellProps;
|
|
82
|
+
textarea: TextAreaProps;
|
|
83
|
+
h1: HTMLNodeProps<HTMLElement>;
|
|
84
|
+
h2: HTMLNodeProps<HTMLElement>;
|
|
85
|
+
h3: HTMLNodeProps<HTMLElement>;
|
|
86
|
+
h4: HTMLNodeProps<HTMLElement>;
|
|
87
|
+
h5: HTMLNodeProps<HTMLElement>;
|
|
88
|
+
h6: HTMLNodeProps<HTMLElement>;
|
|
89
|
+
header: HTMLNodeProps<HTMLElement>;
|
|
90
|
+
blockquote: HTMLNodeProps<HTMLElement>;
|
|
91
|
+
footer: HTMLNodeProps<HTMLElement>;
|
|
92
|
+
nav: HTMLNodeProps<HTMLElement>;
|
|
93
|
+
b: HTMLNodeProps<HTMLElement>;
|
|
94
|
+
i: HTMLNodeProps<HTMLElement>;
|
|
95
|
+
script: ScriptProps;
|
|
96
|
+
abbr: HTMLNodeProps<HTMLElement>;
|
|
97
|
+
area: AreaProps;
|
|
98
|
+
slot: SlotProps;
|
|
99
|
+
aside: HTMLNodeProps<HTMLElement>;
|
|
100
|
+
audio: AudioProps;
|
|
101
|
+
em: HTMLNodeProps<HTMLElement>;
|
|
102
|
+
iframe: IFrameProps;
|
|
103
|
+
noscript: HTMLNodeProps<HTMLElement>;
|
|
104
|
+
option: OptionProps;
|
|
105
|
+
datalist: HTMLNodeProps<HTMLDataListElement>;
|
|
106
|
+
q: HTMLNodeProps<HTMLQuoteElement>;
|
|
107
|
+
select: SelectProps;
|
|
108
|
+
source: SourceProps;
|
|
109
|
+
title: HTMLNodeProps<HTMLTitleElement>;
|
|
110
|
+
video: VideoProps;
|
|
111
|
+
tbody: HTMLNodeProps<HTMLElement>;
|
|
112
|
+
tfoot: HTMLNodeProps<HTMLElement>;
|
|
113
|
+
thead: HTMLNodeProps<HTMLElement>;
|
|
114
|
+
summary: HTMLNodeProps<HTMLElement>;
|
|
115
|
+
details: HTMLNodeProps<HTMLDetailsElement>;
|
|
116
|
+
sub: HTMLNodeProps<HTMLElement>;
|
|
117
|
+
sup: HTMLNodeProps<HTMLElement>;
|
|
118
|
+
svg: SvgProps;
|
|
119
|
+
data: DataProps;
|
|
120
|
+
time: TimeProps;
|
|
121
|
+
body: HTMLNodeProps<HTMLBodyElement>;
|
|
122
|
+
head: HTMLNodeProps<HTMLHeadElement>;
|
|
123
|
+
html: HtmlProps;
|
|
124
|
+
template: HTMLNodeProps<HTMLTemplateElement>;
|
|
125
|
+
col: ColProps;
|
|
126
|
+
colgroup: ColProps;
|
|
127
|
+
caption: HTMLNodeProps<HTMLTableCaptionElement>;
|
|
128
|
+
line: LineProps;
|
|
129
|
+
rect: RectProps;
|
|
130
|
+
defs: HTMLNodeProps<SVGDefsElement>;
|
|
131
|
+
g: HTMLNodeProps<SVGGElement>;
|
|
132
|
+
text: SvgProps;
|
|
133
|
+
tspan: SvgProps;
|
|
134
|
+
circle: CircleProps;
|
|
135
|
+
ellipse: EllipseProps;
|
|
136
|
+
polygon: PolygonProps;
|
|
137
|
+
polyline: PolylineProps;
|
|
138
|
+
path: PathProps;
|
|
139
|
+
image: ImageProps;
|
|
140
|
+
symbol: SymbolProps;
|
|
141
|
+
use: UseProps;
|
|
142
|
+
stop: StopProps;
|
|
143
|
+
linearGradient: LinearGradientProps;
|
|
144
|
+
radialGradient: RadialGradientProps;
|
|
145
|
+
lineargradient: LinearGradientProps;
|
|
146
|
+
radialgradient: RadialGradientProps;
|
|
147
|
+
clipPath: ClipPathProps;
|
|
148
|
+
pattern: PatternProps;
|
|
149
|
+
mask: MaskProps;
|
|
150
|
+
foreignObject: ForeignObjectProps;
|
|
151
|
+
marker: MarkerProps;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=aurum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aurum.d.ts","sourceRoot":"","sources":["../../../src/utilities/aurum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { Input } from '../nodes/input.js';
|
|
2
|
+
import { Select } from '../nodes/select.js';
|
|
3
|
+
import { A, Abbr, Address, Area, Article, Aside, Section, Audio, B, Body, Br, Button, Canvas, Caption, Code, Col, Colgroup, Data, Defs, Details, Div, Em, Blockquote, Footer, Form, G, H1, H2, H3, H4, H5, H6, Head, Header, Hr, Html, I, IFrame, Img, Kbd, Label, Li, Line, Link, Meta, Nav, NoScript, Object, Ol, OptGroup, Option, Datalist, Output, P, Param, Picture, Pre, Progress, Q, Rect, Samp, Script, Slot, Source, Span, Strong, Style, Sub, Summary, Sup, Svg, Table, TBody, Td, Template, TFoot, Th, THead, Time, Title, Tr, Track, Ul, Var, Video, Wbr, Text, Tspan, Circle, Ellipse, Polygon, Polyline, Path, Image, Symbol, Mask, Use, Stop, LinearGradient, RadialGradient, Marker, ClipPath, ForeignObject, Pattern } from '../nodes/simple_dom_nodes.js';
|
|
4
|
+
import { createGenericIntrinsicFactory } from '../rendering/renderers/dom_adapter.js';
|
|
5
|
+
import { TextArea } from '../nodes/textarea.js';
|
|
6
|
+
import { aurumElementModelIdentitiy, createRenderSession } from '@aurumjs/rendering';
|
|
7
|
+
import { ArrayAurumElement, AurumElement, createDOMAPI, renderInternal } from '../rendering/dom_runtime.js';
|
|
8
|
+
import { batchRender } from '../rendering/render_batch.js';
|
|
9
|
+
import { ArrayDataSource, DataSource } from '@aurumjs/streams';
|
|
10
|
+
import { CancellationToken } from '@aurumjs/streams';
|
|
11
|
+
import { insertSanitizedHTML, setSanitizedHTML } from './sanitize.js';
|
|
12
|
+
import { dsTap, dsUnique, dsUpdateToken } from '@aurumjs/streams';
|
|
13
|
+
const nodeMap = {
|
|
14
|
+
address: Address,
|
|
15
|
+
kbd: Kbd,
|
|
16
|
+
samp: Samp,
|
|
17
|
+
object: Object,
|
|
18
|
+
optgroup: OptGroup,
|
|
19
|
+
picture: Picture,
|
|
20
|
+
output: Output,
|
|
21
|
+
param: Param,
|
|
22
|
+
strong: Strong,
|
|
23
|
+
track: Track,
|
|
24
|
+
var: Var,
|
|
25
|
+
wbr: Wbr,
|
|
26
|
+
button: Button,
|
|
27
|
+
code: Code,
|
|
28
|
+
hr: Hr,
|
|
29
|
+
div: Div,
|
|
30
|
+
input: Input,
|
|
31
|
+
li: Li,
|
|
32
|
+
span: Span,
|
|
33
|
+
style: Style,
|
|
34
|
+
ul: Ul,
|
|
35
|
+
p: P,
|
|
36
|
+
img: Img,
|
|
37
|
+
link: Link,
|
|
38
|
+
canvas: Canvas,
|
|
39
|
+
a: A,
|
|
40
|
+
article: Article,
|
|
41
|
+
section: Section,
|
|
42
|
+
br: Br,
|
|
43
|
+
form: Form,
|
|
44
|
+
label: Label,
|
|
45
|
+
ol: Ol,
|
|
46
|
+
pre: Pre,
|
|
47
|
+
progress: Progress,
|
|
48
|
+
table: Table,
|
|
49
|
+
td: Td,
|
|
50
|
+
tr: Tr,
|
|
51
|
+
th: Th,
|
|
52
|
+
textarea: TextArea,
|
|
53
|
+
h1: H1,
|
|
54
|
+
h2: H2,
|
|
55
|
+
h3: H3,
|
|
56
|
+
h4: H4,
|
|
57
|
+
h5: H5,
|
|
58
|
+
h6: H6,
|
|
59
|
+
html: Html,
|
|
60
|
+
head: Head,
|
|
61
|
+
header: Header,
|
|
62
|
+
blockquote: Blockquote,
|
|
63
|
+
footer: Footer,
|
|
64
|
+
nav: Nav,
|
|
65
|
+
b: B,
|
|
66
|
+
i: I,
|
|
67
|
+
script: Script,
|
|
68
|
+
abbr: Abbr,
|
|
69
|
+
area: Area,
|
|
70
|
+
aside: Aside,
|
|
71
|
+
audio: Audio,
|
|
72
|
+
em: Em,
|
|
73
|
+
iframe: IFrame,
|
|
74
|
+
noscript: NoScript,
|
|
75
|
+
option: Option,
|
|
76
|
+
datalist: Datalist,
|
|
77
|
+
q: Q,
|
|
78
|
+
select: Select,
|
|
79
|
+
source: Source,
|
|
80
|
+
title: Title,
|
|
81
|
+
video: Video,
|
|
82
|
+
tbody: TBody,
|
|
83
|
+
tfoot: TFoot,
|
|
84
|
+
meta: Meta,
|
|
85
|
+
body: Body,
|
|
86
|
+
thead: THead,
|
|
87
|
+
summary: Summary,
|
|
88
|
+
details: Details,
|
|
89
|
+
sub: Sub,
|
|
90
|
+
sup: Sup,
|
|
91
|
+
svg: Svg,
|
|
92
|
+
data: Data,
|
|
93
|
+
time: Time,
|
|
94
|
+
template: Template,
|
|
95
|
+
slot: Slot,
|
|
96
|
+
col: Col,
|
|
97
|
+
colgroup: Colgroup,
|
|
98
|
+
caption: Caption,
|
|
99
|
+
line: Line,
|
|
100
|
+
rect: Rect,
|
|
101
|
+
defs: Defs,
|
|
102
|
+
g: G,
|
|
103
|
+
text: Text,
|
|
104
|
+
tspan: Tspan,
|
|
105
|
+
circle: Circle,
|
|
106
|
+
ellipse: Ellipse,
|
|
107
|
+
polygon: Polygon,
|
|
108
|
+
polyline: Polyline,
|
|
109
|
+
path: Path,
|
|
110
|
+
image: Image,
|
|
111
|
+
symbol: Symbol,
|
|
112
|
+
use: Use,
|
|
113
|
+
stop: Stop,
|
|
114
|
+
linearGradient: LinearGradient,
|
|
115
|
+
radialGradient: RadialGradient,
|
|
116
|
+
clipPath: ClipPath,
|
|
117
|
+
pattern: Pattern,
|
|
118
|
+
mask: Mask,
|
|
119
|
+
foreignObject: ForeignObject,
|
|
120
|
+
marker: Marker,
|
|
121
|
+
// Legacy all-lowercase aliases; SVG tag names are case-sensitive in the DOM.
|
|
122
|
+
lineargradient: LinearGradient,
|
|
123
|
+
radialgradient: RadialGradient,
|
|
124
|
+
clippath: ClipPath,
|
|
125
|
+
foreignobject: ForeignObject
|
|
126
|
+
};
|
|
127
|
+
const genericNodeFactories = new Map();
|
|
128
|
+
export class Aurum {
|
|
129
|
+
static rehydrate(aurumRenderable, dom) {
|
|
130
|
+
const target = dom.parentElement;
|
|
131
|
+
dom.remove();
|
|
132
|
+
return Aurum.attach(aurumRenderable, target);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Allows taking an HTML string for example from a server response and insert it into the page with options on how to deal with untrusted HTML sources
|
|
136
|
+
*/
|
|
137
|
+
static stringToInnerHTML(content, target, config) {
|
|
138
|
+
const token = new CancellationToken();
|
|
139
|
+
if (content instanceof DataSource) {
|
|
140
|
+
content.transform(dsUnique(), dsTap((v) => {
|
|
141
|
+
setSanitizedHTML(target, v, config);
|
|
142
|
+
}), token);
|
|
143
|
+
}
|
|
144
|
+
else if (content instanceof ArrayDataSource) {
|
|
145
|
+
content.listenAndRepeat((change) => {
|
|
146
|
+
switch (change.operationDetailed) {
|
|
147
|
+
case 'append':
|
|
148
|
+
insertSanitizedHTML(target, change.items.join(''), 'append', config);
|
|
149
|
+
break;
|
|
150
|
+
case 'prepend':
|
|
151
|
+
insertSanitizedHTML(target, change.items.join(''), 'prepend', config);
|
|
152
|
+
break;
|
|
153
|
+
case 'clear':
|
|
154
|
+
target.replaceChildren();
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
setSanitizedHTML(target, content.getData().join(''), config);
|
|
158
|
+
}
|
|
159
|
+
}, token);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
setSanitizedHTML(target, content, config);
|
|
163
|
+
}
|
|
164
|
+
token.addCancellable(() => {
|
|
165
|
+
target.replaceChildren();
|
|
166
|
+
});
|
|
167
|
+
return token;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Creates a new Aurum rendering root attached to a dom element
|
|
171
|
+
* @param aurumRenderable the renderable to attach
|
|
172
|
+
* @param dom the dom element to attach to
|
|
173
|
+
* @returns a token that can be used to unmount the renderable
|
|
174
|
+
*/
|
|
175
|
+
static attach(aurumRenderable, dom) {
|
|
176
|
+
if (aurumRenderable == undefined) {
|
|
177
|
+
throw new Error('Cannot attach undefined renderable');
|
|
178
|
+
}
|
|
179
|
+
const session = createRenderSession();
|
|
180
|
+
const content = renderInternal(aurumRenderable, session);
|
|
181
|
+
if (content instanceof DataSource) {
|
|
182
|
+
content.transform(dsUpdateToken()).listenAndRepeat(({ value, token }) => {
|
|
183
|
+
session.sessionToken.addCancellable(token);
|
|
184
|
+
if (value instanceof AurumElement) {
|
|
185
|
+
value.attachToDom(dom, dom.childNodes.length);
|
|
186
|
+
token.addCancellable(() => value.dispose());
|
|
187
|
+
}
|
|
188
|
+
else if (Array.isArray(value)) {
|
|
189
|
+
const root = new ArrayAurumElement(new ArrayDataSource(value), createDOMAPI(session));
|
|
190
|
+
token.addCancellable(() => root.dispose());
|
|
191
|
+
root.attachToDom(dom, dom.childNodes.length);
|
|
192
|
+
}
|
|
193
|
+
else if (value == undefined) {
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
dom.appendChild(value);
|
|
197
|
+
token.addCancellable(() => {
|
|
198
|
+
if (value.isConnected) {
|
|
199
|
+
dom.removeChild(value);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}, session.sessionToken);
|
|
204
|
+
}
|
|
205
|
+
else if (content instanceof AurumElement) {
|
|
206
|
+
content.attachToDom(dom, dom.childNodes.length);
|
|
207
|
+
session.sessionToken.addCancellable(() => content.dispose());
|
|
208
|
+
}
|
|
209
|
+
else if (Array.isArray(content)) {
|
|
210
|
+
const root = new ArrayAurumElement(new ArrayDataSource(content), createDOMAPI(session));
|
|
211
|
+
session.sessionToken.addCancellable(() => root.dispose());
|
|
212
|
+
root.attachToDom(dom, dom.childNodes.length);
|
|
213
|
+
}
|
|
214
|
+
else if (content == undefined) {
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
dom.appendChild(content);
|
|
218
|
+
session.sessionToken.addCancellable(() => {
|
|
219
|
+
if (content.isConnected) {
|
|
220
|
+
dom.removeChild(content);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
for (let i = session.attachCalls.length - 1; i >= 0; i--) {
|
|
225
|
+
session.attachCalls[i]();
|
|
226
|
+
}
|
|
227
|
+
return session.sessionToken;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Fragment works through factory by checking if the node is equal to this function
|
|
231
|
+
*/
|
|
232
|
+
static fragment() { }
|
|
233
|
+
static factory(node, args, ...innerNodes) {
|
|
234
|
+
//@ts-ignore
|
|
235
|
+
if (node === Aurum.fragment) {
|
|
236
|
+
return innerNodes;
|
|
237
|
+
}
|
|
238
|
+
let name;
|
|
239
|
+
let intrinsic = false;
|
|
240
|
+
if (typeof node === 'string') {
|
|
241
|
+
intrinsic = true;
|
|
242
|
+
name = node;
|
|
243
|
+
const type = node;
|
|
244
|
+
node = nodeMap[node];
|
|
245
|
+
if (node === undefined) {
|
|
246
|
+
node = genericNodeFactories.get(type);
|
|
247
|
+
if (node === undefined) {
|
|
248
|
+
node = createGenericIntrinsicFactory(type);
|
|
249
|
+
genericNodeFactories.set(type, node);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
name = node.name;
|
|
255
|
+
}
|
|
256
|
+
let model = {
|
|
257
|
+
[aurumElementModelIdentitiy]: true,
|
|
258
|
+
name,
|
|
259
|
+
isIntrinsic: intrinsic,
|
|
260
|
+
factory: node,
|
|
261
|
+
props: args,
|
|
262
|
+
children: innerNodes
|
|
263
|
+
};
|
|
264
|
+
if (args != undefined && args.decorate != undefined) {
|
|
265
|
+
if (Array.isArray(args.decorate)) {
|
|
266
|
+
for (const decorate of args.decorate) {
|
|
267
|
+
model = decorate(model);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
else if (typeof args.decorate === 'function') {
|
|
271
|
+
model = args.decorate(model);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
throw new Error('Decorate must be a function or an array of functions');
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return model;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/** Coalesces DOM rendering caused by synchronous stream updates while leaving stream propagation unchanged. */
|
|
281
|
+
Aurum.batchRender = batchRender;
|
|
282
|
+
//# sourceMappingURL=aurum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aurum.js","sourceRoot":"","sources":["../../../src/utilities/aurum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface HTMLSanitizeConfig {
|
|
2
|
+
attributeBlacklist?: string[];
|
|
3
|
+
attributeWhitelist?: string[];
|
|
4
|
+
tagBlacklist?: string[];
|
|
5
|
+
tagWhitelist?: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Sanitizes HTML and returns its serialized representation.
|
|
9
|
+
*
|
|
10
|
+
* Prefer setSanitizedHTML when inserting the result into the DOM. Sanitization
|
|
11
|
+
* is context-sensitive, so serializing and reparsing HTML in a different
|
|
12
|
+
* element can reintroduce mutation-XSS hazards.
|
|
13
|
+
*/
|
|
14
|
+
export declare function sanitizeHTML(html: string, config?: HTMLSanitizeConfig): string;
|
|
15
|
+
/**
|
|
16
|
+
* Safely replaces an element's children with sanitized HTML.
|
|
17
|
+
*
|
|
18
|
+
* The native safe HTML Sanitizer API is used when available. Browsers without
|
|
19
|
+
* it parse into a detached element and apply the same mandatory safety policy
|
|
20
|
+
* before any nodes are connected to the document.
|
|
21
|
+
*/
|
|
22
|
+
export declare function setSanitizedHTML(target: HTMLElement, html: string, config?: HTMLSanitizeConfig): void;
|
|
23
|
+
/** Safely appends or prepends sanitized HTML without rebuilding existing nodes. */
|
|
24
|
+
export declare function insertSanitizedHTML(target: HTMLElement, html: string, position: 'append' | 'prepend', config?: HTMLSanitizeConfig): void;
|
|
25
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/utilities/sanitize.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AA+CD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,kBAAuB,GAAG,MAAM,CAIlF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,kBAAuB,GAAG,IAAI,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,MAAM,GAAE,kBAAuB,GAChC,IAAI,CAUN"}
|