@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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -0
  3. package/package.json +52 -0
  4. package/prebuilt/esnext/builtin_components/portal.d.ts +9 -0
  5. package/prebuilt/esnext/builtin_components/portal.d.ts.map +1 -0
  6. package/prebuilt/esnext/builtin_components/portal.js +40 -0
  7. package/prebuilt/esnext/builtin_components/portal.js.map +1 -0
  8. package/prebuilt/esnext/builtin_components/router_link.d.ts +21 -0
  9. package/prebuilt/esnext/builtin_components/router_link.d.ts.map +1 -0
  10. package/prebuilt/esnext/builtin_components/router_link.js +54 -0
  11. package/prebuilt/esnext/builtin_components/router_link.js.map +1 -0
  12. package/prebuilt/esnext/index.d.ts +18 -0
  13. package/prebuilt/esnext/index.d.ts.map +1 -0
  14. package/prebuilt/esnext/index.js +18 -0
  15. package/prebuilt/esnext/index.js.map +1 -0
  16. package/prebuilt/esnext/jsx-dev-runtime.d.ts +2 -0
  17. package/prebuilt/esnext/jsx-dev-runtime.d.ts.map +1 -0
  18. package/prebuilt/esnext/jsx-dev-runtime.js +2 -0
  19. package/prebuilt/esnext/jsx-dev-runtime.js.map +1 -0
  20. package/prebuilt/esnext/jsx-runtime.d.ts +28 -0
  21. package/prebuilt/esnext/jsx-runtime.d.ts.map +1 -0
  22. package/prebuilt/esnext/jsx-runtime.js +26 -0
  23. package/prebuilt/esnext/jsx-runtime.js.map +1 -0
  24. package/prebuilt/esnext/nodes/input.d.ts +41 -0
  25. package/prebuilt/esnext/nodes/input.d.ts.map +1 -0
  26. package/prebuilt/esnext/nodes/input.js +92 -0
  27. package/prebuilt/esnext/nodes/input.js.map +1 -0
  28. package/prebuilt/esnext/nodes/rendering_helpers.d.ts +8 -0
  29. package/prebuilt/esnext/nodes/rendering_helpers.d.ts.map +1 -0
  30. package/prebuilt/esnext/nodes/rendering_helpers.js +173 -0
  31. package/prebuilt/esnext/nodes/rendering_helpers.js.map +1 -0
  32. package/prebuilt/esnext/nodes/select.d.ts +17 -0
  33. package/prebuilt/esnext/nodes/select.d.ts.map +1 -0
  34. package/prebuilt/esnext/nodes/select.js +95 -0
  35. package/prebuilt/esnext/nodes/select.js.map +1 -0
  36. package/prebuilt/esnext/nodes/simple_dom_nodes.d.ts +866 -0
  37. package/prebuilt/esnext/nodes/simple_dom_nodes.d.ts.map +1 -0
  38. package/prebuilt/esnext/nodes/simple_dom_nodes.js +531 -0
  39. package/prebuilt/esnext/nodes/simple_dom_nodes.js.map +1 -0
  40. package/prebuilt/esnext/nodes/textarea.d.ts +34 -0
  41. package/prebuilt/esnext/nodes/textarea.d.ts.map +1 -0
  42. package/prebuilt/esnext/nodes/textarea.js +61 -0
  43. package/prebuilt/esnext/nodes/textarea.js.map +1 -0
  44. package/prebuilt/esnext/rendering/dom_runtime.d.ts +91 -0
  45. package/prebuilt/esnext/rendering/dom_runtime.d.ts.map +1 -0
  46. package/prebuilt/esnext/rendering/dom_runtime.js +970 -0
  47. package/prebuilt/esnext/rendering/dom_runtime.js.map +1 -0
  48. package/prebuilt/esnext/rendering/render_batch.d.ts +15 -0
  49. package/prebuilt/esnext/rendering/render_batch.d.ts.map +1 -0
  50. package/prebuilt/esnext/rendering/render_batch.js +73 -0
  51. package/prebuilt/esnext/rendering/render_batch.js.map +1 -0
  52. package/prebuilt/esnext/rendering/renderers/dom_adapter.d.ts +199 -0
  53. package/prebuilt/esnext/rendering/renderers/dom_adapter.d.ts.map +1 -0
  54. package/prebuilt/esnext/rendering/renderers/dom_adapter.js +525 -0
  55. package/prebuilt/esnext/rendering/renderers/dom_adapter.js.map +1 -0
  56. package/prebuilt/esnext/rendering/renderers/string_adapter.d.ts +4 -0
  57. package/prebuilt/esnext/rendering/renderers/string_adapter.d.ts.map +1 -0
  58. package/prebuilt/esnext/rendering/renderers/string_adapter.js +112 -0
  59. package/prebuilt/esnext/rendering/renderers/string_adapter.js.map +1 -0
  60. package/prebuilt/esnext/rendering/renderers/vdom_adapter.d.ts +11 -0
  61. package/prebuilt/esnext/rendering/renderers/vdom_adapter.d.ts.map +1 -0
  62. package/prebuilt/esnext/rendering/renderers/vdom_adapter.js +23 -0
  63. package/prebuilt/esnext/rendering/renderers/vdom_adapter.js.map +1 -0
  64. package/prebuilt/esnext/utilities/aurum.d.ts +155 -0
  65. package/prebuilt/esnext/utilities/aurum.d.ts.map +1 -0
  66. package/prebuilt/esnext/utilities/aurum.js +282 -0
  67. package/prebuilt/esnext/utilities/aurum.js.map +1 -0
  68. package/prebuilt/esnext/utilities/sanitize.d.ts +25 -0
  69. package/prebuilt/esnext/utilities/sanitize.d.ts.map +1 -0
  70. package/prebuilt/esnext/utilities/sanitize.js +191 -0
  71. 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":"AACA,OAAO,EAAE,KAAK,EAAc,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAe,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACH,CAAC,EACD,IAAI,EACJ,OAAO,EAEP,IAAI,EAEJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,EAAE,EACF,MAAM,EAEN,MAAM,EAEN,OAAO,EACP,IAAI,EACJ,GAAG,EACH,QAAQ,EAER,IAAI,EAEJ,IAAI,EACJ,OAAO,EACP,GAAG,EACH,EAAE,EACF,UAAU,EACV,MAAM,EACN,IAAI,EAEJ,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAI,EACJ,MAAM,EACN,EAAE,EACF,IAAI,EAEJ,CAAC,EACD,MAAM,EAEN,GAAG,EAEH,GAAG,EACH,KAAK,EAEL,EAAE,EACF,IAAI,EACJ,IAAI,EAEJ,IAAI,EAEJ,GAAG,EACH,QAAQ,EACR,MAAM,EAEN,EAAE,EACF,QAAQ,EAER,MAAM,EAEN,QAAQ,EACR,MAAM,EAEN,CAAC,EACD,KAAK,EAEL,OAAO,EACP,GAAG,EACH,QAAQ,EAER,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,MAAM,EAEN,IAAI,EAEJ,MAAM,EAEN,IAAI,EACJ,MAAM,EACN,KAAK,EAEL,GAAG,EACH,OAAO,EACP,GAAG,EACH,GAAG,EAEH,KAAK,EAEL,KAAK,EACL,EAAE,EACF,QAAQ,EACR,KAAK,EACL,EAAE,EACF,KAAK,EACL,IAAI,EAEJ,KAAK,EACL,EAAE,EACF,KAAK,EAEL,EAAE,EACF,GAAG,EACH,KAAK,EAEL,GAAG,EACH,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EAeN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,cAAc,EACd,cAAc,EACd,MAAM,EACN,QAAQ,EACR,aAAa,EACb,OAAO,EAKV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAwB,MAAM,uCAAuC,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAwC,0BAA0B,EAAE,mBAAmB,EAAc,MAAM,oBAAoB,CAAC;AACvI,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAW,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAsB,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM;IACd,CAAC,EAAE,CAAC;IACJ,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,QAAQ;IAClB,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,GAAG;IACR,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,CAAC,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,CAAC,EAAE,CAAC;IACJ,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,MAAM;IACd,6EAA6E;IAC7E,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;CAC/B,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;AAEpD,MAAM,OAAO,KAAK;IAIP,MAAM,CAAC,SAAS,CAAC,eAA2B,EAAE,GAAgB;QACjE,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;QACjC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAC3B,OAA8D,EAC9D,MAAmB,EACnB,MAA2B;QAE3B,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,SAAS,CACb,QAAQ,EAAE,EACV,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACR,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,EACF,KAAK,CACR,CAAC;QACN,CAAC;aAAM,IAAI,OAAO,YAAY,eAAe,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/B,QAAQ,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,KAAK,QAAQ;wBACT,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACrE,MAAM;oBACV,KAAK,SAAS;wBACV,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;wBACtE,MAAM;oBACV,KAAK,OAAO;wBACR,MAAM,CAAC,eAAe,EAAE,CAAC;wBACzB,MAAM;oBACV;wBACI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACJ,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE;YACtB,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,eAA2B,EAAE,GAAgB;QAC9D,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;oBAChC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC9C,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtF,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACvB,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE;wBACtB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;4BACpB,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC3B,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,YAAY,YAAY,EAAE,CAAC;YACzC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE;gBACrC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACtB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC,YAAY,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,KAAI,CAAC;IAEpB,MAAM,CAAC,OAAO,CACjB,IAA2F,EAC3F,IAAkB,EAClB,GAAG,UAAwB;QAE3B,YAAY;QACZ,IAAI,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,UAAiB,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC;QACT,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,IAAI,GAAI,OAAwB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAQ,CAAC;oBAClD,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,GAAG;YACR,CAAC,0BAA0B,CAAC,EAAE,IAAI;YAClC,IAAI;YACJ,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,IAAkF;YAC3F,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,UAAU;SACvB,CAAC;QAEF,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC7C,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;;AArKD,+GAA+G;AACjG,iBAAW,GAAG,WAAW,CAAC"}
@@ -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"}