solid-js 1.9.7 → 1.9.9

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.
@@ -3,9 +3,28 @@ export { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch,
3
3
  import { Feature, Serializer, getCrossReferenceHeader } from 'seroval';
4
4
  import { AbortSignalPlugin, CustomEventPlugin, DOMExceptionPlugin, EventPlugin, FormDataPlugin, HeadersPlugin, ReadableStreamPlugin, RequestPlugin, ResponsePlugin, URLSearchParamsPlugin, URLPlugin } from 'seroval-plugins/web';
5
5
 
6
- 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 booleans = ["allowfullscreen", "async", "alpha",
7
+ "autofocus",
8
+ "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden",
9
+ "indeterminate", "inert",
10
+ "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless",
11
+ "selected", "adauctionheaders",
12
+ "browsingtopics",
13
+ "credentialless",
14
+ "defaultchecked", "defaultmuted", "defaultselected", "defer", "disablepictureinpicture", "disableremoteplayback", "preservespitch",
15
+ "shadowrootclonable", "shadowrootcustomelementregistry",
16
+ "shadowrootdelegatesfocus", "shadowrootserializable",
17
+ "sharedstoragewritable"
18
+ ];
7
19
  const BooleanAttributes = /*#__PURE__*/new Set(booleans);
8
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
20
+ const Properties = /*#__PURE__*/new Set([
21
+ "className", "value",
22
+ "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", "adAuctionHeaders",
23
+ "allowFullscreen", "browsingTopics",
24
+ "defaultChecked", "defaultMuted", "defaultSelected", "disablePictureInPicture", "disableRemotePlayback", "preservesPitch", "shadowRootClonable", "shadowRootCustomElementRegistry",
25
+ "shadowRootDelegatesFocus", "shadowRootSerializable",
26
+ "sharedStorageWritable",
27
+ ...booleans]);
9
28
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
10
29
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
11
30
  className: "class",
@@ -38,6 +57,62 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
38
57
  $: "readOnly",
39
58
  INPUT: 1,
40
59
  TEXTAREA: 1
60
+ },
61
+ adauctionheaders: {
62
+ $: "adAuctionHeaders",
63
+ IFRAME: 1
64
+ },
65
+ allowfullscreen: {
66
+ $: "allowFullscreen",
67
+ IFRAME: 1
68
+ },
69
+ browsingtopics: {
70
+ $: "browsingTopics",
71
+ IMG: 1
72
+ },
73
+ defaultchecked: {
74
+ $: "defaultChecked",
75
+ INPUT: 1
76
+ },
77
+ defaultmuted: {
78
+ $: "defaultMuted",
79
+ AUDIO: 1,
80
+ VIDEO: 1
81
+ },
82
+ defaultselected: {
83
+ $: "defaultSelected",
84
+ OPTION: 1
85
+ },
86
+ disablepictureinpicture: {
87
+ $: "disablePictureInPicture",
88
+ VIDEO: 1
89
+ },
90
+ disableremoteplayback: {
91
+ $: "disableRemotePlayback",
92
+ AUDIO: 1,
93
+ VIDEO: 1
94
+ },
95
+ preservespitch: {
96
+ $: "preservesPitch",
97
+ AUDIO: 1,
98
+ VIDEO: 1
99
+ },
100
+ shadowrootclonable: {
101
+ $: "shadowRootClonable",
102
+ TEMPLATE: 1
103
+ },
104
+ shadowrootdelegatesfocus: {
105
+ $: "shadowRootDelegatesFocus",
106
+ TEMPLATE: 1
107
+ },
108
+ shadowrootserializable: {
109
+ $: "shadowRootSerializable",
110
+ TEMPLATE: 1
111
+ },
112
+ sharedstoragewritable: {
113
+ $: "sharedStorageWritable",
114
+ IFRAME: 1,
115
+ IMG: 1
41
116
  }
42
117
  });
43
118
  function getPropAlias(prop, tagName) {
@@ -54,7 +129,9 @@ const SVGNamespace = {
54
129
  xlink: "http://www.w3.org/1999/xlink",
55
130
  xml: "http://www.w3.org/XML/1998/namespace"
56
131
  };
57
- 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"]);
132
+ 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
+ "webview",
134
+ "isindex", "listing", "multicol", "nextid", "noindex", "search"]);
58
135
 
59
136
  const memo = fn => createMemo(() => fn());
60
137
 
@@ -399,11 +476,17 @@ function ssrStyle(value) {
399
476
  const v = value[s];
400
477
  if (v != undefined) {
401
478
  if (i) result += ";";
402
- result += `${s}:${escape(v, true)}`;
479
+ const r = escape(v, true);
480
+ if (r != undefined && r !== "undefined") {
481
+ result += `${s}:${r}`;
482
+ }
403
483
  }
404
484
  }
405
485
  return result;
406
486
  }
487
+ function ssrStyleProperty(name, value) {
488
+ return value != null ? name + value : "";
489
+ }
407
490
  function ssrElement(tag, props, children, needsId) {
408
491
  if (props == null) props = {};else if (typeof props === "function") props = props();
409
492
  const skipChildren = VOID_ELEMENTS.test(tag);
@@ -458,6 +541,7 @@ function escape(s, attr) {
458
541
  if (t !== "string") {
459
542
  if (!attr && t === "function") return escape(s());
460
543
  if (!attr && Array.isArray(s)) {
544
+ s = s.slice();
461
545
  for (let i = 0; i < s.length; i++) s[i] = escape(s[i]);
462
546
  return s;
463
547
  }
@@ -690,4 +774,4 @@ function Portal(props) {
690
774
  return "";
691
775
  }
692
776
 
693
- export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, notSup as addEventListener, notSup as assign, notSup as classList, notSup as className, createDynamic, notSup as delegateEvents, notSup as dynamicProperty, escape, generateHydrationScript, getAssets, getHydrationKey, notSup as getNextElement, notSup as getNextMarker, notSup as getNextMatch, getPropAlias, getRequestEvent, notSup as hydrate, notSup as insert, isDev, isServer, memo, pipeToNodeWritable, pipeToWritable, notSup as render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, notSup as runHydrationEvents, notSup as setAttribute, notSup as setAttributeNS, notSup as setProperty, notSup as spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, notSup as style, notSup as template, useAssets };
777
+ export { Aliases, Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, notSup as addEventListener, notSup as assign, notSup as classList, notSup as className, createDynamic, notSup as delegateEvents, notSup as dynamicProperty, escape, generateHydrationScript, getAssets, getHydrationKey, notSup as getNextElement, notSup as getNextMarker, notSup as getNextMatch, getPropAlias, getRequestEvent, notSup as hydrate, notSup as insert, isDev, isServer, memo, pipeToNodeWritable, pipeToWritable, notSup as render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, notSup as runHydrationEvents, notSup as setAttribute, notSup as setAttributeNS, notSup as setProperty, notSup as spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, ssrStyleProperty, notSup as style, notSup as template, useAssets };
package/web/dist/web.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
 
@@ -223,6 +300,9 @@ function style(node, value, prev) {
223
300
  }
224
301
  return prev;
225
302
  }
303
+ function setStyleProperty(node, name, value) {
304
+ value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
305
+ }
226
306
  function spread(node, props = {}, isSVG, skipChildren) {
227
307
  const prevProps = {};
228
308
  if (!skipChildren) {
@@ -621,8 +701,10 @@ function ssrSpread(props, isSVG, skipChildren) {}
621
701
  const isServer = false;
622
702
  const isDev = false;
623
703
  const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
624
- function createElement(tagName, isSVG = false) {
625
- return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);
704
+ function createElement(tagName, isSVG = false, is = undefined) {
705
+ return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {
706
+ is
707
+ });
626
708
  }
627
709
  const hydrate = (...args) => {
628
710
  solidJs.enableHydration();
@@ -676,7 +758,7 @@ function createDynamic(component, props) {
676
758
  return solidJs.untrack(() => component(props));
677
759
  case "string":
678
760
  const isSvg = SVGElements.has(component);
679
- const el = solidJs.sharedConfig.context ? getNextElement() : createElement(component, isSvg);
761
+ const el = solidJs.sharedConfig.context ? getNextElement() : createElement(component, isSvg, solidJs.untrack(() => props.is));
680
762
  spread(el, props, isSvg);
681
763
  return el;
682
764
  }
@@ -786,6 +868,7 @@ exports.setAttribute = setAttribute;
786
868
  exports.setAttributeNS = setAttributeNS;
787
869
  exports.setBoolAttribute = setBoolAttribute;
788
870
  exports.setProperty = setProperty;
871
+ exports.setStyleProperty = setStyleProperty;
789
872
  exports.spread = spread;
790
873
  exports.ssr = ssr;
791
874
  exports.ssrAttribute = ssrAttribute;
package/web/dist/web.js CHANGED
@@ -1,8 +1,27 @@
1
1
  import { createMemo, createRoot, createRenderEffect, untrack, sharedConfig, enableHydration, getOwner, createEffect, runWithOwner, createSignal, onCleanup, 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
 
@@ -222,6 +299,9 @@ function style(node, value, prev) {
222
299
  }
223
300
  return prev;
224
301
  }
302
+ function setStyleProperty(node, name, value) {
303
+ value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
304
+ }
225
305
  function spread(node, props = {}, isSVG, skipChildren) {
226
306
  const prevProps = {};
227
307
  if (!skipChildren) {
@@ -620,8 +700,10 @@ function ssrSpread(props, isSVG, skipChildren) {}
620
700
  const isServer = false;
621
701
  const isDev = false;
622
702
  const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
623
- function createElement(tagName, isSVG = false) {
624
- return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);
703
+ function createElement(tagName, isSVG = false, is = undefined) {
704
+ return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {
705
+ is
706
+ });
625
707
  }
626
708
  const hydrate = (...args) => {
627
709
  enableHydration();
@@ -675,7 +757,7 @@ function createDynamic(component, props) {
675
757
  return untrack(() => component(props));
676
758
  case "string":
677
759
  const isSvg = SVGElements.has(component);
678
- const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);
760
+ const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));
679
761
  spread(el, props, isSvg);
680
762
  return el;
681
763
  }
@@ -686,4 +768,4 @@ function Dynamic(props) {
686
768
  return createDynamic(() => props.component, others);
687
769
  }
688
770
 
689
- 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 };
771
+ 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 };