solid-js 1.9.7 → 1.9.8

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,2 +1,3 @@
1
1
  import type { RendererOptions, Renderer } from "./universal.js";
2
+ export type { RendererOptions, Renderer } from "./universal.js";
2
3
  export declare function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType>;
@@ -19,8 +19,8 @@ export interface Renderer<NodeType> {
19
19
  createElement(tag: string): NodeType;
20
20
  createTextNode(value: string): NodeType;
21
21
  insertNode(parent: NodeType, node: NodeType, anchor?: NodeType): void;
22
- insert<T>(parent: any, accessor: (() => T) | T, marker?: any | null): NodeType;
23
- spread<T>(node: any, accessor: (() => T) | T, skipChildren?: Boolean): void;
22
+ insert<T>(parent: any, accessor: (() => T) | T, marker?: any | null, initial?: any): NodeType;
23
+ spread<T>(node: any, accessor: (() => T) | T, skipChildren?: boolean): void;
24
24
  setProp<T>(node: NodeType, name: string, value: T, prev?: T): T;
25
25
  mergeProps(...sources: unknown[]): unknown;
26
26
  use<A, T>(fn: (element: NodeType, arg: A) => T, element: NodeType, arg: A): T;
package/web/dist/dev.cjs CHANGED
@@ -2,8 +2,27 @@
2
2
 
3
3
  var solidJs = require('solid-js');
4
4
 
5
- const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
6
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
5
+ const booleans = ["allowfullscreen", "async", "alpha",
6
+ "autofocus",
7
+ "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden",
8
+ "indeterminate", "inert",
9
+ "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless",
10
+ "selected", "adauctionheaders",
11
+ "browsingtopics",
12
+ "credentialless",
13
+ "defaultchecked", "defaultmuted", "defaultselected", "defer", "disablepictureinpicture", "disableremoteplayback", "preservespitch",
14
+ "shadowrootclonable", "shadowrootcustomelementregistry",
15
+ "shadowrootdelegatesfocus", "shadowrootserializable",
16
+ "sharedstoragewritable"
17
+ ];
18
+ const Properties = /*#__PURE__*/new Set([
19
+ "className", "value",
20
+ "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", "adAuctionHeaders",
21
+ "allowFullscreen", "browsingTopics",
22
+ "defaultChecked", "defaultMuted", "defaultSelected", "disablePictureInPicture", "disableRemotePlayback", "preservesPitch", "shadowRootClonable", "shadowRootCustomElementRegistry",
23
+ "shadowRootDelegatesFocus", "shadowRootSerializable",
24
+ "sharedStorageWritable",
25
+ ...booleans]);
7
26
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
8
27
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
9
28
  className: "class",
@@ -36,6 +55,62 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
36
55
  $: "readOnly",
37
56
  INPUT: 1,
38
57
  TEXTAREA: 1
58
+ },
59
+ adauctionheaders: {
60
+ $: "adAuctionHeaders",
61
+ IFRAME: 1
62
+ },
63
+ allowfullscreen: {
64
+ $: "allowFullscreen",
65
+ IFRAME: 1
66
+ },
67
+ browsingtopics: {
68
+ $: "browsingTopics",
69
+ IMG: 1
70
+ },
71
+ defaultchecked: {
72
+ $: "defaultChecked",
73
+ INPUT: 1
74
+ },
75
+ defaultmuted: {
76
+ $: "defaultMuted",
77
+ AUDIO: 1,
78
+ VIDEO: 1
79
+ },
80
+ defaultselected: {
81
+ $: "defaultSelected",
82
+ OPTION: 1
83
+ },
84
+ disablepictureinpicture: {
85
+ $: "disablePictureInPicture",
86
+ VIDEO: 1
87
+ },
88
+ disableremoteplayback: {
89
+ $: "disableRemotePlayback",
90
+ AUDIO: 1,
91
+ VIDEO: 1
92
+ },
93
+ preservespitch: {
94
+ $: "preservesPitch",
95
+ AUDIO: 1,
96
+ VIDEO: 1
97
+ },
98
+ shadowrootclonable: {
99
+ $: "shadowRootClonable",
100
+ TEMPLATE: 1
101
+ },
102
+ shadowrootdelegatesfocus: {
103
+ $: "shadowRootDelegatesFocus",
104
+ TEMPLATE: 1
105
+ },
106
+ shadowrootserializable: {
107
+ $: "shadowRootSerializable",
108
+ TEMPLATE: 1
109
+ },
110
+ sharedstoragewritable: {
111
+ $: "sharedStorageWritable",
112
+ IFRAME: 1,
113
+ IMG: 1
39
114
  }
40
115
  });
41
116
  function getPropAlias(prop, tagName) {
@@ -52,7 +127,9 @@ const SVGNamespace = {
52
127
  xlink: "http://www.w3.org/1999/xlink",
53
128
  xml: "http://www.w3.org/XML/1998/namespace"
54
129
  };
55
- const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6"]);
130
+ const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6",
131
+ "webview",
132
+ "isindex", "listing", "multicol", "nextid", "noindex", "search"]);
56
133
 
57
134
  const memo = fn => solidJs.createMemo(() => fn());
58
135
 
@@ -227,6 +304,9 @@ function style(node, value, prev) {
227
304
  }
228
305
  return prev;
229
306
  }
307
+ function setStyleProperty(node, name, value) {
308
+ value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
309
+ }
230
310
  function spread(node, props = {}, isSVG, skipChildren) {
231
311
  const prevProps = {};
232
312
  if (!skipChildren) {
@@ -629,8 +709,10 @@ function ssrSpread(props, isSVG, skipChildren) {}
629
709
  const isServer = false;
630
710
  const isDev = true;
631
711
  const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
632
- function createElement(tagName, isSVG = false) {
633
- return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);
712
+ function createElement(tagName, isSVG = false, is = undefined) {
713
+ return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {
714
+ is
715
+ });
634
716
  }
635
717
  const hydrate = (...args) => {
636
718
  solidJs.enableHydration();
@@ -687,7 +769,7 @@ function createDynamic(component, props) {
687
769
  return solidJs.untrack(() => component(props));
688
770
  case "string":
689
771
  const isSvg = SVGElements.has(component);
690
- const el = solidJs.sharedConfig.context ? getNextElement() : createElement(component, isSvg);
772
+ const el = solidJs.sharedConfig.context ? getNextElement() : createElement(component, isSvg, props.is);
691
773
  spread(el, props, isSvg);
692
774
  return el;
693
775
  }
@@ -797,6 +879,7 @@ exports.setAttribute = setAttribute;
797
879
  exports.setAttributeNS = setAttributeNS;
798
880
  exports.setBoolAttribute = setBoolAttribute;
799
881
  exports.setProperty = setProperty;
882
+ exports.setStyleProperty = setStyleProperty;
800
883
  exports.spread = spread;
801
884
  exports.ssr = ssr;
802
885
  exports.ssrAttribute = ssrAttribute;
package/web/dist/dev.js CHANGED
@@ -1,8 +1,27 @@
1
1
  import { createMemo, createRoot, createRenderEffect, untrack, sharedConfig, enableHydration, getOwner, createEffect, runWithOwner, createSignal, onCleanup, $DEVCOMP, splitProps } from 'solid-js';
2
2
  export { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';
3
3
 
4
- const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
5
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
4
+ const booleans = ["allowfullscreen", "async", "alpha",
5
+ "autofocus",
6
+ "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden",
7
+ "indeterminate", "inert",
8
+ "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless",
9
+ "selected", "adauctionheaders",
10
+ "browsingtopics",
11
+ "credentialless",
12
+ "defaultchecked", "defaultmuted", "defaultselected", "defer", "disablepictureinpicture", "disableremoteplayback", "preservespitch",
13
+ "shadowrootclonable", "shadowrootcustomelementregistry",
14
+ "shadowrootdelegatesfocus", "shadowrootserializable",
15
+ "sharedstoragewritable"
16
+ ];
17
+ const Properties = /*#__PURE__*/new Set([
18
+ "className", "value",
19
+ "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", "adAuctionHeaders",
20
+ "allowFullscreen", "browsingTopics",
21
+ "defaultChecked", "defaultMuted", "defaultSelected", "disablePictureInPicture", "disableRemotePlayback", "preservesPitch", "shadowRootClonable", "shadowRootCustomElementRegistry",
22
+ "shadowRootDelegatesFocus", "shadowRootSerializable",
23
+ "sharedStorageWritable",
24
+ ...booleans]);
6
25
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
7
26
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
8
27
  className: "class",
@@ -35,6 +54,62 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
35
54
  $: "readOnly",
36
55
  INPUT: 1,
37
56
  TEXTAREA: 1
57
+ },
58
+ adauctionheaders: {
59
+ $: "adAuctionHeaders",
60
+ IFRAME: 1
61
+ },
62
+ allowfullscreen: {
63
+ $: "allowFullscreen",
64
+ IFRAME: 1
65
+ },
66
+ browsingtopics: {
67
+ $: "browsingTopics",
68
+ IMG: 1
69
+ },
70
+ defaultchecked: {
71
+ $: "defaultChecked",
72
+ INPUT: 1
73
+ },
74
+ defaultmuted: {
75
+ $: "defaultMuted",
76
+ AUDIO: 1,
77
+ VIDEO: 1
78
+ },
79
+ defaultselected: {
80
+ $: "defaultSelected",
81
+ OPTION: 1
82
+ },
83
+ disablepictureinpicture: {
84
+ $: "disablePictureInPicture",
85
+ VIDEO: 1
86
+ },
87
+ disableremoteplayback: {
88
+ $: "disableRemotePlayback",
89
+ AUDIO: 1,
90
+ VIDEO: 1
91
+ },
92
+ preservespitch: {
93
+ $: "preservesPitch",
94
+ AUDIO: 1,
95
+ VIDEO: 1
96
+ },
97
+ shadowrootclonable: {
98
+ $: "shadowRootClonable",
99
+ TEMPLATE: 1
100
+ },
101
+ shadowrootdelegatesfocus: {
102
+ $: "shadowRootDelegatesFocus",
103
+ TEMPLATE: 1
104
+ },
105
+ shadowrootserializable: {
106
+ $: "shadowRootSerializable",
107
+ TEMPLATE: 1
108
+ },
109
+ sharedstoragewritable: {
110
+ $: "sharedStorageWritable",
111
+ IFRAME: 1,
112
+ IMG: 1
38
113
  }
39
114
  });
40
115
  function getPropAlias(prop, tagName) {
@@ -51,7 +126,9 @@ const SVGNamespace = {
51
126
  xlink: "http://www.w3.org/1999/xlink",
52
127
  xml: "http://www.w3.org/XML/1998/namespace"
53
128
  };
54
- const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6"]);
129
+ const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6",
130
+ "webview",
131
+ "isindex", "listing", "multicol", "nextid", "noindex", "search"]);
55
132
 
56
133
  const memo = fn => createMemo(() => fn());
57
134
 
@@ -226,6 +303,9 @@ function style(node, value, prev) {
226
303
  }
227
304
  return prev;
228
305
  }
306
+ function setStyleProperty(node, name, value) {
307
+ value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
308
+ }
229
309
  function spread(node, props = {}, isSVG, skipChildren) {
230
310
  const prevProps = {};
231
311
  if (!skipChildren) {
@@ -628,8 +708,10 @@ function ssrSpread(props, isSVG, skipChildren) {}
628
708
  const isServer = false;
629
709
  const isDev = true;
630
710
  const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
631
- function createElement(tagName, isSVG = false) {
632
- return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);
711
+ function createElement(tagName, isSVG = false, is = undefined) {
712
+ return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {
713
+ is
714
+ });
633
715
  }
634
716
  const hydrate = (...args) => {
635
717
  enableHydration();
@@ -686,7 +768,7 @@ function createDynamic(component, props) {
686
768
  return untrack(() => component(props));
687
769
  case "string":
688
770
  const isSvg = SVGElements.has(component);
689
- const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);
771
+ const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, props.is);
690
772
  spread(el, props, isSvg);
691
773
  return el;
692
774
  }
@@ -697,4 +779,4 @@ function Dynamic(props) {
697
779
  return createDynamic(() => props.component, others);
698
780
  }
699
781
 
700
- export { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };
782
+ export { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };
@@ -4,9 +4,28 @@ var solidJs = require('solid-js');
4
4
  var seroval = require('seroval');
5
5
  var web = require('seroval-plugins/web');
6
6
 
7
- const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
7
+ const booleans = ["allowfullscreen", "async", "alpha",
8
+ "autofocus",
9
+ "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden",
10
+ "indeterminate", "inert",
11
+ "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless",
12
+ "selected", "adauctionheaders",
13
+ "browsingtopics",
14
+ "credentialless",
15
+ "defaultchecked", "defaultmuted", "defaultselected", "defer", "disablepictureinpicture", "disableremoteplayback", "preservespitch",
16
+ "shadowrootclonable", "shadowrootcustomelementregistry",
17
+ "shadowrootdelegatesfocus", "shadowrootserializable",
18
+ "sharedstoragewritable"
19
+ ];
8
20
  const BooleanAttributes = /*#__PURE__*/new Set(booleans);
9
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
21
+ const Properties = /*#__PURE__*/new Set([
22
+ "className", "value",
23
+ "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", "adAuctionHeaders",
24
+ "allowFullscreen", "browsingTopics",
25
+ "defaultChecked", "defaultMuted", "defaultSelected", "disablePictureInPicture", "disableRemotePlayback", "preservesPitch", "shadowRootClonable", "shadowRootCustomElementRegistry",
26
+ "shadowRootDelegatesFocus", "shadowRootSerializable",
27
+ "sharedStorageWritable",
28
+ ...booleans]);
10
29
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
11
30
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
12
31
  className: "class",
@@ -39,6 +58,62 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
39
58
  $: "readOnly",
40
59
  INPUT: 1,
41
60
  TEXTAREA: 1
61
+ },
62
+ adauctionheaders: {
63
+ $: "adAuctionHeaders",
64
+ IFRAME: 1
65
+ },
66
+ allowfullscreen: {
67
+ $: "allowFullscreen",
68
+ IFRAME: 1
69
+ },
70
+ browsingtopics: {
71
+ $: "browsingTopics",
72
+ IMG: 1
73
+ },
74
+ defaultchecked: {
75
+ $: "defaultChecked",
76
+ INPUT: 1
77
+ },
78
+ defaultmuted: {
79
+ $: "defaultMuted",
80
+ AUDIO: 1,
81
+ VIDEO: 1
82
+ },
83
+ defaultselected: {
84
+ $: "defaultSelected",
85
+ OPTION: 1
86
+ },
87
+ disablepictureinpicture: {
88
+ $: "disablePictureInPicture",
89
+ VIDEO: 1
90
+ },
91
+ disableremoteplayback: {
92
+ $: "disableRemotePlayback",
93
+ AUDIO: 1,
94
+ VIDEO: 1
95
+ },
96
+ preservespitch: {
97
+ $: "preservesPitch",
98
+ AUDIO: 1,
99
+ VIDEO: 1
100
+ },
101
+ shadowrootclonable: {
102
+ $: "shadowRootClonable",
103
+ TEMPLATE: 1
104
+ },
105
+ shadowrootdelegatesfocus: {
106
+ $: "shadowRootDelegatesFocus",
107
+ TEMPLATE: 1
108
+ },
109
+ shadowrootserializable: {
110
+ $: "shadowRootSerializable",
111
+ TEMPLATE: 1
112
+ },
113
+ sharedstoragewritable: {
114
+ $: "sharedStorageWritable",
115
+ IFRAME: 1,
116
+ IMG: 1
42
117
  }
43
118
  });
44
119
  function getPropAlias(prop, tagName) {
@@ -55,7 +130,9 @@ const SVGNamespace = {
55
130
  xlink: "http://www.w3.org/1999/xlink",
56
131
  xml: "http://www.w3.org/XML/1998/namespace"
57
132
  };
58
- const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6"]);
133
+ const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6",
134
+ "webview",
135
+ "isindex", "listing", "multicol", "nextid", "noindex", "search"]);
59
136
 
60
137
  const memo = fn => solidJs.createMemo(() => fn());
61
138
 
@@ -400,11 +477,17 @@ function ssrStyle(value) {
400
477
  const v = value[s];
401
478
  if (v != undefined) {
402
479
  if (i) result += ";";
403
- result += `${s}:${escape(v, true)}`;
480
+ const r = escape(v, true);
481
+ if (r != undefined && r !== "undefined") {
482
+ result += `${s}:${r}`;
483
+ }
404
484
  }
405
485
  }
406
486
  return result;
407
487
  }
488
+ function ssrStyleProperty(name, value) {
489
+ return value != null ? name + value : "";
490
+ }
408
491
  function ssrElement(tag, props, children, needsId) {
409
492
  if (props == null) props = {};else if (typeof props === "function") props = props();
410
493
  const skipChildren = VOID_ELEMENTS.test(tag);
@@ -459,6 +542,7 @@ function escape(s, attr) {
459
542
  if (t !== "string") {
460
543
  if (!attr && t === "function") return escape(s());
461
544
  if (!attr && Array.isArray(s)) {
545
+ s = s.slice();
462
546
  for (let i = 0; i < s.length; i++) s[i] = escape(s[i]);
463
547
  return s;
464
548
  }
@@ -797,6 +881,7 @@ exports.ssrElement = ssrElement;
797
881
  exports.ssrHydrationKey = ssrHydrationKey;
798
882
  exports.ssrSpread = ssrSpread;
799
883
  exports.ssrStyle = ssrStyle;
884
+ exports.ssrStyleProperty = ssrStyleProperty;
800
885
  exports.style = notSup;
801
886
  exports.template = notSup;
802
887
  exports.useAssets = useAssets;