solid-js 1.7.4 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.cjs CHANGED
@@ -287,7 +287,7 @@ function createResource(pSource, pFetcher, pOptions) {
287
287
  function loadEnd(p, v, error, key) {
288
288
  if (pr === p) {
289
289
  pr = null;
290
- resolved = true;
290
+ key !== undefined && (resolved = true);
291
291
  if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
292
292
  value: v
293
293
  }));
@@ -306,7 +306,7 @@ function createResource(pSource, pFetcher, pOptions) {
306
306
  function completeLoad(v, err) {
307
307
  runUpdates(() => {
308
308
  if (err === undefined) setValue(() => v);
309
- setState(err !== undefined ? "errored" : "ready");
309
+ setState(err !== undefined ? "errored" : resolved ? "ready" : "unresolved");
310
310
  setError(err);
311
311
  for (const c of contexts.keys()) c.decrement();
312
312
  contexts.clear();
@@ -1265,6 +1265,12 @@ const propTraps = {
1265
1265
  function resolveSource(s) {
1266
1266
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1267
1267
  }
1268
+ function resolveSources() {
1269
+ for (let i = 0, length = this.length; i < length; ++i) {
1270
+ const v = this[i]();
1271
+ if (v !== undefined) return v;
1272
+ }
1273
+ }
1268
1274
  function mergeProps(...sources) {
1269
1275
  let proxy = false;
1270
1276
  for (let i = 0; i < sources.length; i++) {
@@ -1294,28 +1300,44 @@ function mergeProps(...sources) {
1294
1300
  }, propTraps);
1295
1301
  }
1296
1302
  const target = {};
1303
+ const sourcesMap = {};
1304
+ let someNonTargetKey = false;
1297
1305
  for (let i = sources.length - 1; i >= 0; i--) {
1298
- if (sources[i]) {
1299
- const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
1300
- for (const key in descriptors) {
1301
- if (key in target) continue;
1302
- Object.defineProperty(target, key, {
1303
- enumerable: true,
1304
- get() {
1305
- for (let i = sources.length - 1; i >= 0; i--) {
1306
- const v = (sources[i] || {})[key];
1307
- if (v !== undefined) return v;
1308
- }
1306
+ const source = sources[i];
1307
+ if (!source) continue;
1308
+ const sourceKeys = Object.getOwnPropertyNames(source);
1309
+ someNonTargetKey = someNonTargetKey || i !== 0 && !!sourceKeys.length;
1310
+ for (let i = 0, length = sourceKeys.length; i < length; i++) {
1311
+ const key = sourceKeys[i];
1312
+ if (key === "__proto__" || key === "constructor") {
1313
+ continue;
1314
+ } else if (!(key in target)) {
1315
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1316
+ if (desc.get) {
1317
+ Object.defineProperty(target, key, {
1318
+ enumerable: true,
1319
+ configurable: true,
1320
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1321
+ });
1322
+ } else target[key] = desc.value;
1323
+ } else {
1324
+ const sources = sourcesMap[key];
1325
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1326
+ if (sources) {
1327
+ if (desc.get) {
1328
+ sources.push(desc.get.bind(source));
1329
+ } else if (desc.value !== undefined) {
1330
+ sources.push(() => desc.value);
1309
1331
  }
1310
- });
1332
+ } else if (target[key] === undefined) target[key] = desc.value;
1311
1333
  }
1312
1334
  }
1313
1335
  }
1314
1336
  return target;
1315
1337
  }
1316
1338
  function splitProps(props, ...keys) {
1317
- const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1318
1339
  if ($PROXY in props) {
1340
+ const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1319
1341
  const res = keys.map(k => {
1320
1342
  return new Proxy({
1321
1343
  get(property) {
@@ -1342,25 +1364,25 @@ function splitProps(props, ...keys) {
1342
1364
  }, propTraps));
1343
1365
  return res;
1344
1366
  }
1345
- const descriptors = Object.getOwnPropertyDescriptors(props);
1346
- keys.push(Object.keys(descriptors).filter(k => !blocked.has(k)));
1347
- return keys.map(k => {
1348
- const clone = {};
1349
- for (let i = 0; i < k.length; i++) {
1350
- const key = k[i];
1351
- if (!(key in props)) continue;
1352
- Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
1353
- get() {
1354
- return props[key];
1355
- },
1356
- set() {
1357
- return true;
1358
- },
1359
- enumerable: true
1360
- });
1367
+ const otherObject = {};
1368
+ const objects = keys.map(() => ({}));
1369
+ for (const propName of Object.getOwnPropertyNames(props)) {
1370
+ const desc = Object.getOwnPropertyDescriptor(props, propName);
1371
+ const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;
1372
+ let blocked = false;
1373
+ let objectIndex = 0;
1374
+ for (const k of keys) {
1375
+ if (k.includes(propName)) {
1376
+ blocked = true;
1377
+ isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);
1378
+ }
1379
+ ++objectIndex;
1361
1380
  }
1362
- return clone;
1363
- });
1381
+ if (!blocked) {
1382
+ isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);
1383
+ }
1384
+ }
1385
+ return [...objects, otherObject];
1364
1386
  }
1365
1387
  function lazy(fn) {
1366
1388
  let comp;
package/dist/dev.js CHANGED
@@ -285,7 +285,7 @@ function createResource(pSource, pFetcher, pOptions) {
285
285
  function loadEnd(p, v, error, key) {
286
286
  if (pr === p) {
287
287
  pr = null;
288
- resolved = true;
288
+ key !== undefined && (resolved = true);
289
289
  if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
290
290
  value: v
291
291
  }));
@@ -304,7 +304,7 @@ function createResource(pSource, pFetcher, pOptions) {
304
304
  function completeLoad(v, err) {
305
305
  runUpdates(() => {
306
306
  if (err === undefined) setValue(() => v);
307
- setState(err !== undefined ? "errored" : "ready");
307
+ setState(err !== undefined ? "errored" : resolved ? "ready" : "unresolved");
308
308
  setError(err);
309
309
  for (const c of contexts.keys()) c.decrement();
310
310
  contexts.clear();
@@ -1263,6 +1263,12 @@ const propTraps = {
1263
1263
  function resolveSource(s) {
1264
1264
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1265
1265
  }
1266
+ function resolveSources() {
1267
+ for (let i = 0, length = this.length; i < length; ++i) {
1268
+ const v = this[i]();
1269
+ if (v !== undefined) return v;
1270
+ }
1271
+ }
1266
1272
  function mergeProps(...sources) {
1267
1273
  let proxy = false;
1268
1274
  for (let i = 0; i < sources.length; i++) {
@@ -1292,28 +1298,44 @@ function mergeProps(...sources) {
1292
1298
  }, propTraps);
1293
1299
  }
1294
1300
  const target = {};
1301
+ const sourcesMap = {};
1302
+ let someNonTargetKey = false;
1295
1303
  for (let i = sources.length - 1; i >= 0; i--) {
1296
- if (sources[i]) {
1297
- const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
1298
- for (const key in descriptors) {
1299
- if (key in target) continue;
1300
- Object.defineProperty(target, key, {
1301
- enumerable: true,
1302
- get() {
1303
- for (let i = sources.length - 1; i >= 0; i--) {
1304
- const v = (sources[i] || {})[key];
1305
- if (v !== undefined) return v;
1306
- }
1304
+ const source = sources[i];
1305
+ if (!source) continue;
1306
+ const sourceKeys = Object.getOwnPropertyNames(source);
1307
+ someNonTargetKey = someNonTargetKey || i !== 0 && !!sourceKeys.length;
1308
+ for (let i = 0, length = sourceKeys.length; i < length; i++) {
1309
+ const key = sourceKeys[i];
1310
+ if (key === "__proto__" || key === "constructor") {
1311
+ continue;
1312
+ } else if (!(key in target)) {
1313
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1314
+ if (desc.get) {
1315
+ Object.defineProperty(target, key, {
1316
+ enumerable: true,
1317
+ configurable: true,
1318
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1319
+ });
1320
+ } else target[key] = desc.value;
1321
+ } else {
1322
+ const sources = sourcesMap[key];
1323
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1324
+ if (sources) {
1325
+ if (desc.get) {
1326
+ sources.push(desc.get.bind(source));
1327
+ } else if (desc.value !== undefined) {
1328
+ sources.push(() => desc.value);
1307
1329
  }
1308
- });
1330
+ } else if (target[key] === undefined) target[key] = desc.value;
1309
1331
  }
1310
1332
  }
1311
1333
  }
1312
1334
  return target;
1313
1335
  }
1314
1336
  function splitProps(props, ...keys) {
1315
- const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1316
1337
  if ($PROXY in props) {
1338
+ const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1317
1339
  const res = keys.map(k => {
1318
1340
  return new Proxy({
1319
1341
  get(property) {
@@ -1340,25 +1362,25 @@ function splitProps(props, ...keys) {
1340
1362
  }, propTraps));
1341
1363
  return res;
1342
1364
  }
1343
- const descriptors = Object.getOwnPropertyDescriptors(props);
1344
- keys.push(Object.keys(descriptors).filter(k => !blocked.has(k)));
1345
- return keys.map(k => {
1346
- const clone = {};
1347
- for (let i = 0; i < k.length; i++) {
1348
- const key = k[i];
1349
- if (!(key in props)) continue;
1350
- Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
1351
- get() {
1352
- return props[key];
1353
- },
1354
- set() {
1355
- return true;
1356
- },
1357
- enumerable: true
1358
- });
1365
+ const otherObject = {};
1366
+ const objects = keys.map(() => ({}));
1367
+ for (const propName of Object.getOwnPropertyNames(props)) {
1368
+ const desc = Object.getOwnPropertyDescriptor(props, propName);
1369
+ const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;
1370
+ let blocked = false;
1371
+ let objectIndex = 0;
1372
+ for (const k of keys) {
1373
+ if (k.includes(propName)) {
1374
+ blocked = true;
1375
+ isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);
1376
+ }
1377
+ ++objectIndex;
1359
1378
  }
1360
- return clone;
1361
- });
1379
+ if (!blocked) {
1380
+ isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);
1381
+ }
1382
+ }
1383
+ return [...objects, otherObject];
1362
1384
  }
1363
1385
  function lazy(fn) {
1364
1386
  let comp;
package/dist/solid.cjs CHANGED
@@ -271,7 +271,7 @@ function createResource(pSource, pFetcher, pOptions) {
271
271
  function loadEnd(p, v, error, key) {
272
272
  if (pr === p) {
273
273
  pr = null;
274
- resolved = true;
274
+ key !== undefined && (resolved = true);
275
275
  if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
276
276
  value: v
277
277
  }));
@@ -290,7 +290,7 @@ function createResource(pSource, pFetcher, pOptions) {
290
290
  function completeLoad(v, err) {
291
291
  runUpdates(() => {
292
292
  if (err === undefined) setValue(() => v);
293
- setState(err !== undefined ? "errored" : "ready");
293
+ setState(err !== undefined ? "errored" : resolved ? "ready" : "unresolved");
294
294
  setError(err);
295
295
  for (const c of contexts.keys()) c.decrement();
296
296
  contexts.clear();
@@ -1220,6 +1220,12 @@ const propTraps = {
1220
1220
  function resolveSource(s) {
1221
1221
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1222
1222
  }
1223
+ function resolveSources() {
1224
+ for (let i = 0, length = this.length; i < length; ++i) {
1225
+ const v = this[i]();
1226
+ if (v !== undefined) return v;
1227
+ }
1228
+ }
1223
1229
  function mergeProps(...sources) {
1224
1230
  let proxy = false;
1225
1231
  for (let i = 0; i < sources.length; i++) {
@@ -1249,28 +1255,44 @@ function mergeProps(...sources) {
1249
1255
  }, propTraps);
1250
1256
  }
1251
1257
  const target = {};
1258
+ const sourcesMap = {};
1259
+ let someNonTargetKey = false;
1252
1260
  for (let i = sources.length - 1; i >= 0; i--) {
1253
- if (sources[i]) {
1254
- const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
1255
- for (const key in descriptors) {
1256
- if (key in target) continue;
1257
- Object.defineProperty(target, key, {
1258
- enumerable: true,
1259
- get() {
1260
- for (let i = sources.length - 1; i >= 0; i--) {
1261
- const v = (sources[i] || {})[key];
1262
- if (v !== undefined) return v;
1263
- }
1261
+ const source = sources[i];
1262
+ if (!source) continue;
1263
+ const sourceKeys = Object.getOwnPropertyNames(source);
1264
+ someNonTargetKey = someNonTargetKey || i !== 0 && !!sourceKeys.length;
1265
+ for (let i = 0, length = sourceKeys.length; i < length; i++) {
1266
+ const key = sourceKeys[i];
1267
+ if (key === "__proto__" || key === "constructor") {
1268
+ continue;
1269
+ } else if (!(key in target)) {
1270
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1271
+ if (desc.get) {
1272
+ Object.defineProperty(target, key, {
1273
+ enumerable: true,
1274
+ configurable: true,
1275
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1276
+ });
1277
+ } else target[key] = desc.value;
1278
+ } else {
1279
+ const sources = sourcesMap[key];
1280
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1281
+ if (sources) {
1282
+ if (desc.get) {
1283
+ sources.push(desc.get.bind(source));
1284
+ } else if (desc.value !== undefined) {
1285
+ sources.push(() => desc.value);
1264
1286
  }
1265
- });
1287
+ } else if (target[key] === undefined) target[key] = desc.value;
1266
1288
  }
1267
1289
  }
1268
1290
  }
1269
1291
  return target;
1270
1292
  }
1271
1293
  function splitProps(props, ...keys) {
1272
- const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1273
1294
  if ($PROXY in props) {
1295
+ const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1274
1296
  const res = keys.map(k => {
1275
1297
  return new Proxy({
1276
1298
  get(property) {
@@ -1297,25 +1319,25 @@ function splitProps(props, ...keys) {
1297
1319
  }, propTraps));
1298
1320
  return res;
1299
1321
  }
1300
- const descriptors = Object.getOwnPropertyDescriptors(props);
1301
- keys.push(Object.keys(descriptors).filter(k => !blocked.has(k)));
1302
- return keys.map(k => {
1303
- const clone = {};
1304
- for (let i = 0; i < k.length; i++) {
1305
- const key = k[i];
1306
- if (!(key in props)) continue;
1307
- Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
1308
- get() {
1309
- return props[key];
1310
- },
1311
- set() {
1312
- return true;
1313
- },
1314
- enumerable: true
1315
- });
1322
+ const otherObject = {};
1323
+ const objects = keys.map(() => ({}));
1324
+ for (const propName of Object.getOwnPropertyNames(props)) {
1325
+ const desc = Object.getOwnPropertyDescriptor(props, propName);
1326
+ const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;
1327
+ let blocked = false;
1328
+ let objectIndex = 0;
1329
+ for (const k of keys) {
1330
+ if (k.includes(propName)) {
1331
+ blocked = true;
1332
+ isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);
1333
+ }
1334
+ ++objectIndex;
1316
1335
  }
1317
- return clone;
1318
- });
1336
+ if (!blocked) {
1337
+ isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);
1338
+ }
1339
+ }
1340
+ return [...objects, otherObject];
1319
1341
  }
1320
1342
  function lazy(fn) {
1321
1343
  let comp;
package/dist/solid.js CHANGED
@@ -269,7 +269,7 @@ function createResource(pSource, pFetcher, pOptions) {
269
269
  function loadEnd(p, v, error, key) {
270
270
  if (pr === p) {
271
271
  pr = null;
272
- resolved = true;
272
+ key !== undefined && (resolved = true);
273
273
  if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
274
274
  value: v
275
275
  }));
@@ -288,7 +288,7 @@ function createResource(pSource, pFetcher, pOptions) {
288
288
  function completeLoad(v, err) {
289
289
  runUpdates(() => {
290
290
  if (err === undefined) setValue(() => v);
291
- setState(err !== undefined ? "errored" : "ready");
291
+ setState(err !== undefined ? "errored" : resolved ? "ready" : "unresolved");
292
292
  setError(err);
293
293
  for (const c of contexts.keys()) c.decrement();
294
294
  contexts.clear();
@@ -1218,6 +1218,12 @@ const propTraps = {
1218
1218
  function resolveSource(s) {
1219
1219
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1220
1220
  }
1221
+ function resolveSources() {
1222
+ for (let i = 0, length = this.length; i < length; ++i) {
1223
+ const v = this[i]();
1224
+ if (v !== undefined) return v;
1225
+ }
1226
+ }
1221
1227
  function mergeProps(...sources) {
1222
1228
  let proxy = false;
1223
1229
  for (let i = 0; i < sources.length; i++) {
@@ -1247,28 +1253,44 @@ function mergeProps(...sources) {
1247
1253
  }, propTraps);
1248
1254
  }
1249
1255
  const target = {};
1256
+ const sourcesMap = {};
1257
+ let someNonTargetKey = false;
1250
1258
  for (let i = sources.length - 1; i >= 0; i--) {
1251
- if (sources[i]) {
1252
- const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
1253
- for (const key in descriptors) {
1254
- if (key in target) continue;
1255
- Object.defineProperty(target, key, {
1256
- enumerable: true,
1257
- get() {
1258
- for (let i = sources.length - 1; i >= 0; i--) {
1259
- const v = (sources[i] || {})[key];
1260
- if (v !== undefined) return v;
1261
- }
1259
+ const source = sources[i];
1260
+ if (!source) continue;
1261
+ const sourceKeys = Object.getOwnPropertyNames(source);
1262
+ someNonTargetKey = someNonTargetKey || i !== 0 && !!sourceKeys.length;
1263
+ for (let i = 0, length = sourceKeys.length; i < length; i++) {
1264
+ const key = sourceKeys[i];
1265
+ if (key === "__proto__" || key === "constructor") {
1266
+ continue;
1267
+ } else if (!(key in target)) {
1268
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1269
+ if (desc.get) {
1270
+ Object.defineProperty(target, key, {
1271
+ enumerable: true,
1272
+ configurable: true,
1273
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
1274
+ });
1275
+ } else target[key] = desc.value;
1276
+ } else {
1277
+ const sources = sourcesMap[key];
1278
+ const desc = Object.getOwnPropertyDescriptor(source, key);
1279
+ if (sources) {
1280
+ if (desc.get) {
1281
+ sources.push(desc.get.bind(source));
1282
+ } else if (desc.value !== undefined) {
1283
+ sources.push(() => desc.value);
1262
1284
  }
1263
- });
1285
+ } else if (target[key] === undefined) target[key] = desc.value;
1264
1286
  }
1265
1287
  }
1266
1288
  }
1267
1289
  return target;
1268
1290
  }
1269
1291
  function splitProps(props, ...keys) {
1270
- const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1271
1292
  if ($PROXY in props) {
1293
+ const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
1272
1294
  const res = keys.map(k => {
1273
1295
  return new Proxy({
1274
1296
  get(property) {
@@ -1295,25 +1317,25 @@ function splitProps(props, ...keys) {
1295
1317
  }, propTraps));
1296
1318
  return res;
1297
1319
  }
1298
- const descriptors = Object.getOwnPropertyDescriptors(props);
1299
- keys.push(Object.keys(descriptors).filter(k => !blocked.has(k)));
1300
- return keys.map(k => {
1301
- const clone = {};
1302
- for (let i = 0; i < k.length; i++) {
1303
- const key = k[i];
1304
- if (!(key in props)) continue;
1305
- Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
1306
- get() {
1307
- return props[key];
1308
- },
1309
- set() {
1310
- return true;
1311
- },
1312
- enumerable: true
1313
- });
1320
+ const otherObject = {};
1321
+ const objects = keys.map(() => ({}));
1322
+ for (const propName of Object.getOwnPropertyNames(props)) {
1323
+ const desc = Object.getOwnPropertyDescriptor(props, propName);
1324
+ const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;
1325
+ let blocked = false;
1326
+ let objectIndex = 0;
1327
+ for (const k of keys) {
1328
+ if (k.includes(propName)) {
1329
+ blocked = true;
1330
+ isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);
1331
+ }
1332
+ ++objectIndex;
1314
1333
  }
1315
- return clone;
1316
- });
1334
+ if (!blocked) {
1335
+ isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);
1336
+ }
1337
+ }
1338
+ return [...objects, otherObject];
1317
1339
  }
1318
1340
  function lazy(fn) {
1319
1341
  let comp;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "solid-js",
3
3
  "description": "A declarative JavaScript library for building user interfaces.",
4
- "version": "1.7.4",
4
+ "version": "1.7.6",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
package/store/dist/dev.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $PROXY, DEV as DEV$1, $TRACK, getListener, batch, createSignal } from 'solid-js';
1
+ import { DEV as DEV$1, $PROXY, $TRACK, getListener, batch, createSignal } from 'solid-js';
2
2
 
3
3
  const $RAW = Symbol("store-raw"),
4
4
  $NODE = Symbol("store-node");
package/types/jsx.d.ts CHANGED
@@ -283,7 +283,10 @@ export namespace JSX {
283
283
  onTouchEnd?: EventHandlerUnion<T, TouchEvent>;
284
284
  onTouchMove?: EventHandlerUnion<T, TouchEvent>;
285
285
  onTouchStart?: EventHandlerUnion<T, TouchEvent>;
286
+ onTransitionStart?: EventHandlerUnion<T, TransitionEvent>;
286
287
  onTransitionEnd?: EventHandlerUnion<T, TransitionEvent>;
288
+ onTransitionRun?: EventHandlerUnion<T, TransitionEvent>;
289
+ onTransitionCancel?: EventHandlerUnion<T, TransitionEvent>;
287
290
  onVolumeChange?: EventHandlerUnion<T, Event>;
288
291
  onWaiting?: EventHandlerUnion<T, Event>;
289
292
  onWheel?: EventHandlerUnion<T, WheelEvent>;
@@ -366,7 +369,10 @@ export namespace JSX {
366
369
  ontouchend?: EventHandlerUnion<T, TouchEvent>;
367
370
  ontouchmove?: EventHandlerUnion<T, TouchEvent>;
368
371
  ontouchstart?: EventHandlerUnion<T, TouchEvent>;
372
+ ontransitionstart?: EventHandlerUnion<T, TransitionEvent>;
369
373
  ontransitionend?: EventHandlerUnion<T, TransitionEvent>;
374
+ ontransitionrun?: EventHandlerUnion<T, TransitionEvent>;
375
+ ontransitioncancel?: EventHandlerUnion<T, TransitionEvent>;
370
376
  onvolumechange?: EventHandlerUnion<T, Event>;
371
377
  onwaiting?: EventHandlerUnion<T, Event>;
372
378
  onwheel?: EventHandlerUnion<T, WheelEvent>;
@@ -705,7 +711,7 @@ export namespace JSX {
705
711
  contenteditable?: boolean | "inherit";
706
712
  contextmenu?: string;
707
713
  dir?: HTMLDir;
708
- draggable?: boolean;
714
+ draggable?: boolean | "false" | "true";
709
715
  hidden?: boolean | "hidden" | "until-found";
710
716
  id?: string;
711
717
  inert?: boolean;
@@ -876,8 +882,8 @@ export namespace JSX {
876
882
  useMap?: string;
877
883
  width?: number | string;
878
884
  crossOrigin?: HTMLCrossorigin;
879
- elementtiming: string;
880
- fetchpriority: "high" | "low" | "auto";
885
+ elementtiming?: string;
886
+ fetchpriority?: "high" | "low" | "auto";
881
887
  }
882
888
  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
883
889
  accept?: string;
package/web/dist/dev.cjs CHANGED
@@ -48,7 +48,7 @@ const SVGNamespace = {
48
48
  xlink: "http://www.w3.org/1999/xlink",
49
49
  xml: "http://www.w3.org/XML/1998/namespace"
50
50
  };
51
- 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"]);
51
+ 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"]);
52
52
 
53
53
  function reconcileArrays(parentNode, a, b) {
54
54
  let bLength = b.length,
@@ -126,7 +126,7 @@ function template(html, isCE, isSVG) {
126
126
  t.innerHTML = html;
127
127
  return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
128
128
  };
129
- const fn = isCE ? () => (node || (node = create())).cloneNode(true) : () => solidJs.untrack(() => document.importNode(node || (node = create()), true));
129
+ const fn = isCE ? () => solidJs.untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
130
130
  fn.cloneNode = fn;
131
131
  return fn;
132
132
  }
package/web/dist/dev.js CHANGED
@@ -47,7 +47,7 @@ const SVGNamespace = {
47
47
  xlink: "http://www.w3.org/1999/xlink",
48
48
  xml: "http://www.w3.org/XML/1998/namespace"
49
49
  };
50
- 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"]);
50
+ 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"]);
51
51
 
52
52
  function reconcileArrays(parentNode, a, b) {
53
53
  let bLength = b.length,
@@ -125,7 +125,7 @@ function template(html, isCE, isSVG) {
125
125
  t.innerHTML = html;
126
126
  return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
127
127
  };
128
- const fn = isCE ? () => (node || (node = create())).cloneNode(true) : () => untrack(() => document.importNode(node || (node = create()), true));
128
+ const fn = isCE ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
129
129
  fn.cloneNode = fn;
130
130
  return fn;
131
131
  }
@@ -5,7 +5,6 @@ var seroval = require('seroval');
5
5
 
6
6
  const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
7
7
  const BooleanAttributes = /*#__PURE__*/new Set(booleans);
8
- /*#__PURE__*/new Set(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
9
8
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
10
9
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
11
10
  className: "class",
@@ -4,7 +4,6 @@ import { serialize, Feature } from 'seroval';
4
4
 
5
5
  const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
6
6
  const BooleanAttributes = /*#__PURE__*/new Set(booleans);
7
- /*#__PURE__*/new Set(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
8
7
  const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
9
8
  const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
10
9
  className: "class",
package/web/dist/web.cjs CHANGED
@@ -48,7 +48,7 @@ const SVGNamespace = {
48
48
  xlink: "http://www.w3.org/1999/xlink",
49
49
  xml: "http://www.w3.org/XML/1998/namespace"
50
50
  };
51
- 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"]);
51
+ 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"]);
52
52
 
53
53
  function reconcileArrays(parentNode, a, b) {
54
54
  let bLength = b.length,
@@ -126,7 +126,7 @@ function template(html, isCE, isSVG) {
126
126
  t.innerHTML = html;
127
127
  return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
128
128
  };
129
- const fn = isCE ? () => (node || (node = create())).cloneNode(true) : () => solidJs.untrack(() => document.importNode(node || (node = create()), true));
129
+ const fn = isCE ? () => solidJs.untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
130
130
  fn.cloneNode = fn;
131
131
  return fn;
132
132
  }
package/web/dist/web.js CHANGED
@@ -47,7 +47,7 @@ const SVGNamespace = {
47
47
  xlink: "http://www.w3.org/1999/xlink",
48
48
  xml: "http://www.w3.org/XML/1998/namespace"
49
49
  };
50
- 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"]);
50
+ 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"]);
51
51
 
52
52
  function reconcileArrays(parentNode, a, b) {
53
53
  let bLength = b.length,
@@ -125,7 +125,7 @@ function template(html, isCE, isSVG) {
125
125
  t.innerHTML = html;
126
126
  return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
127
127
  };
128
- const fn = isCE ? () => (node || (node = create())).cloneNode(true) : () => untrack(() => document.importNode(node || (node = create()), true));
128
+ const fn = isCE ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
129
129
  fn.cloneNode = fn;
130
130
  return fn;
131
131
  }