@lvce-editor/renderer-process 11.2.0 → 11.4.0

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.
@@ -1164,309 +1164,288 @@ const load$2 = moduleId => {
1164
1164
  }
1165
1165
  };
1166
1166
 
1167
- // src/parts/ElementTags/ElementTags.ts
1168
- var Audio$2 = "audio";
1169
- var Button = "button";
1170
- var Col = "col";
1171
- var ColGroup = "colgroup";
1172
- var Del = "del";
1173
- var Div = "div";
1174
- var H1 = "h1";
1175
- var H2 = "h2";
1176
- var H3 = "h3";
1177
- var H4 = "h4";
1178
- var H5 = "h5";
1179
- var H6 = "h6";
1180
- var I = "i";
1181
- var Img = "img";
1182
- var Input$1 = "input";
1183
- var Ins = "ins";
1184
- var Kbd = "kbd";
1185
- var Span = "span";
1186
- var Table = "table";
1187
- var TBody = "tbody";
1188
- var Td = "td";
1189
- var Th = "th";
1190
- var THead = "thead";
1191
- var Tr = "tr";
1192
- var Article = "article";
1193
- var Aside = "aside";
1194
- var Footer = "footer";
1195
- var Header = "header";
1196
- var Nav = "nav";
1197
- var Section = "section";
1198
- var Search = "search";
1199
- var Dd = "dd";
1200
- var Dl = "dl";
1201
- var Figcaption = "figcaption";
1202
- var Figure = "figure";
1203
- var Hr = "hr";
1204
- var Li = "li";
1205
- var Ol = "ol";
1206
- var P = "p";
1207
- var Pre = "pre";
1208
- var A = "a";
1209
- var Br = "br";
1210
- var Cite = "cite";
1211
- var Data = "data";
1212
- var Time = "time";
1213
- var Tfoot = "tfoot";
1214
- var Ul = "ul";
1215
- var Video$1 = "video";
1216
- var TextArea = "textarea";
1217
- var Select = "select";
1218
- var Option = "option";
1219
- var Code$1 = "code";
1220
-
1221
- // src/parts/VirtualDomElements/VirtualDomElements.ts
1222
- var Audio2 = 0;
1223
- var Button2 = 1;
1224
- var Col2 = 2;
1225
- var ColGroup2 = 3;
1226
- var Div2 = 4;
1227
- var H12 = 5;
1228
- var Input2 = 6;
1229
- var Kbd2 = 7;
1230
- var Span2 = 8;
1231
- var Table2 = 9;
1232
- var TBody2 = 10;
1233
- var Td2 = 11;
1234
- var Text$1 = 12;
1235
- var Th2 = 13;
1236
- var THead2 = 14;
1237
- var Tr2 = 15;
1238
- var I2 = 16;
1239
- var Img2 = 17;
1240
- var Ins2 = 20;
1241
- var Del2 = 21;
1242
- var H22 = 22;
1243
- var H32 = 23;
1244
- var H42 = 24;
1245
- var H52 = 25;
1246
- var H62 = 26;
1247
- var Article2 = 27;
1248
- var Aside2 = 28;
1249
- var Footer2 = 29;
1250
- var Header2 = 30;
1251
- var Nav2 = 40;
1252
- var Section2 = 41;
1253
- var Search2 = 42;
1254
- var Dd2 = 43;
1255
- var Dl2 = 44;
1256
- var Figcaption2 = 45;
1257
- var Figure2 = 46;
1258
- var Hr2 = 47;
1259
- var Li2 = 48;
1260
- var Ol2 = 49;
1261
- var P2 = 50;
1262
- var Pre2 = 51;
1263
- var A2 = 53;
1264
- var Br2 = 55;
1265
- var Cite2 = 56;
1266
- var Data2 = 57;
1267
- var Time2 = 58;
1268
- var Tfoot2 = 59;
1269
- var Ul2 = 60;
1270
- var Video2 = 61;
1271
- var TextArea2 = 62;
1272
- var Select2 = 63;
1273
- var Option2 = 64;
1274
- var Code2 = 65;
1275
-
1276
- // src/parts/ElementTagMap/ElementTagMap.ts
1277
- var getElementTag = type => {
1167
+ const Audio$1$1 = 'audio';
1168
+ const Button$1 = 'button';
1169
+ const Col$1 = 'col';
1170
+ const ColGroup$1 = 'colgroup';
1171
+ const Del$1 = 'del';
1172
+ const Div$1 = 'div';
1173
+ const H1$1 = 'h1';
1174
+ const H2$1 = 'h2';
1175
+ const H3$1 = 'h3';
1176
+ const H4$1 = 'h4';
1177
+ const H5$1 = 'h5';
1178
+ const H6$1 = 'h6';
1179
+ const I$1 = 'i';
1180
+ const Img$1 = 'img';
1181
+ const Input$1 = 'input';
1182
+ const Ins$1 = 'ins';
1183
+ const Kbd$1 = 'kbd';
1184
+ const Span$1 = 'span';
1185
+ const Table$1 = 'table';
1186
+ const TBody$1 = 'tbody';
1187
+ const Td$1 = 'td';
1188
+ const Th$1 = 'th';
1189
+ const THead$1 = 'thead';
1190
+ const Tr$1 = 'tr';
1191
+ const Article$1 = 'article';
1192
+ const Aside$1 = 'aside';
1193
+ const Footer$1 = 'footer';
1194
+ const Header$1 = 'header';
1195
+ const Nav$1 = 'nav';
1196
+ const Section$1 = 'section';
1197
+ const Search$1 = 'search';
1198
+ const Dd$1 = 'dd';
1199
+ const Dl$1 = 'dl';
1200
+ const Figcaption$1 = 'figcaption';
1201
+ const Figure$1 = 'figure';
1202
+ const Hr$1 = 'hr';
1203
+ const Li$1 = 'li';
1204
+ const Ol$1 = 'ol';
1205
+ const P$1 = 'p';
1206
+ const Pre$1 = 'pre';
1207
+ const A$1 = 'a';
1208
+ const Br$1 = 'br';
1209
+ const Cite$1 = 'cite';
1210
+ const Data$1 = 'data';
1211
+ const Time$1 = 'time';
1212
+ const Tfoot$1 = 'tfoot';
1213
+ const Ul$1 = 'ul';
1214
+ const Video$1 = 'video';
1215
+ const TextArea$1 = 'textarea';
1216
+ const Select$1 = 'select';
1217
+ const Option$1 = 'option';
1218
+ const Code$1 = 'code';
1219
+ const Audio$2 = 0;
1220
+ const Button = 1;
1221
+ const Col = 2;
1222
+ const ColGroup = 3;
1223
+ const Div = 4;
1224
+ const H1 = 5;
1225
+ const Input$2 = 6;
1226
+ const Kbd = 7;
1227
+ const Span = 8;
1228
+ const Table = 9;
1229
+ const TBody = 10;
1230
+ const Td = 11;
1231
+ const Text$1 = 12;
1232
+ const Th = 13;
1233
+ const THead = 14;
1234
+ const Tr = 15;
1235
+ const I = 16;
1236
+ const Img = 17;
1237
+ const Ins = 20;
1238
+ const Del = 21;
1239
+ const H2 = 22;
1240
+ const H3 = 23;
1241
+ const H4 = 24;
1242
+ const H5 = 25;
1243
+ const H6 = 26;
1244
+ const Article = 27;
1245
+ const Aside = 28;
1246
+ const Footer = 29;
1247
+ const Header = 30;
1248
+ const Nav = 40;
1249
+ const Section = 41;
1250
+ const Search = 42;
1251
+ const Dd = 43;
1252
+ const Dl = 44;
1253
+ const Figcaption = 45;
1254
+ const Figure = 46;
1255
+ const Hr = 47;
1256
+ const Li = 48;
1257
+ const Ol = 49;
1258
+ const P = 50;
1259
+ const Pre = 51;
1260
+ const A = 53;
1261
+ const Br = 55;
1262
+ const Cite = 56;
1263
+ const Data = 57;
1264
+ const Time = 58;
1265
+ const Tfoot = 59;
1266
+ const Ul = 60;
1267
+ const Video$2 = 61;
1268
+ const TextArea = 62;
1269
+ const Select = 63;
1270
+ const Option = 64;
1271
+ const Code$2 = 65;
1272
+ const getElementTag = type => {
1278
1273
  switch (type) {
1279
- case Audio2:
1280
- return Audio$2;
1281
- case H12:
1282
- return H1;
1283
- case H22:
1284
- return H2;
1285
- case H32:
1286
- return H3;
1287
- case H42:
1288
- return H4;
1289
- case H52:
1290
- return H5;
1291
- case H62:
1292
- return H6;
1293
- case Div2:
1294
- return Div;
1295
- case Kbd2:
1296
- return Kbd;
1297
- case Table2:
1298
- return Table;
1299
- case TBody2:
1300
- return TBody;
1301
- case Th2:
1302
- return Th;
1303
- case Td2:
1304
- return Td;
1305
- case THead2:
1306
- return THead;
1307
- case Tr2:
1308
- return Tr;
1309
- case Input2:
1274
+ case Audio$2:
1275
+ return Audio$1$1;
1276
+ case H1:
1277
+ return H1$1;
1278
+ case H2:
1279
+ return H2$1;
1280
+ case H3:
1281
+ return H3$1;
1282
+ case H4:
1283
+ return H4$1;
1284
+ case H5:
1285
+ return H5$1;
1286
+ case H6:
1287
+ return H6$1;
1288
+ case Div:
1289
+ return Div$1;
1290
+ case Kbd:
1291
+ return Kbd$1;
1292
+ case Table:
1293
+ return Table$1;
1294
+ case TBody:
1295
+ return TBody$1;
1296
+ case Th:
1297
+ return Th$1;
1298
+ case Td:
1299
+ return Td$1;
1300
+ case THead:
1301
+ return THead$1;
1302
+ case Tr:
1303
+ return Tr$1;
1304
+ case Input$2:
1310
1305
  return Input$1;
1311
- case ColGroup2:
1312
- return ColGroup;
1313
- case Col2:
1314
- return Col;
1315
- case Button2:
1316
- return Button;
1317
- case Span2:
1318
- return Span;
1319
- case I2:
1320
- return I;
1321
- case Img2:
1322
- return Img;
1323
- case Ins2:
1324
- return Ins;
1325
- case Del2:
1326
- return Del;
1327
- case Article2:
1328
- return Article;
1329
- case Aside2:
1330
- return Aside;
1331
- case Footer2:
1332
- return Footer;
1333
- case Header2:
1334
- return Header;
1335
- case Nav2:
1336
- return Nav;
1337
- case Section2:
1338
- return Section;
1339
- case Search2:
1340
- return Search;
1341
- case Dd2:
1342
- return Dd;
1343
- case Dl2:
1344
- return Dl;
1345
- case Figcaption2:
1346
- return Figcaption;
1347
- case Figure2:
1348
- return Figure;
1349
- case Hr2:
1350
- return Hr;
1351
- case Li2:
1352
- return Li;
1353
- case Ol2:
1354
- return Ol;
1355
- case P2:
1356
- return P;
1357
- case Pre2:
1358
- return Pre;
1359
- case A2:
1360
- return A;
1361
- case Br2:
1362
- return Br;
1363
- case Cite2:
1364
- return Cite;
1365
- case Data2:
1366
- return Data;
1367
- case Time2:
1368
- return Time;
1369
- case Tfoot2:
1370
- return Tfoot;
1371
- case Ul2:
1372
- return Ul;
1373
- case Video2:
1306
+ case ColGroup:
1307
+ return ColGroup$1;
1308
+ case Col:
1309
+ return Col$1;
1310
+ case Button:
1311
+ return Button$1;
1312
+ case Span:
1313
+ return Span$1;
1314
+ case I:
1315
+ return I$1;
1316
+ case Img:
1317
+ return Img$1;
1318
+ case Ins:
1319
+ return Ins$1;
1320
+ case Del:
1321
+ return Del$1;
1322
+ case Article:
1323
+ return Article$1;
1324
+ case Aside:
1325
+ return Aside$1;
1326
+ case Footer:
1327
+ return Footer$1;
1328
+ case Header:
1329
+ return Header$1;
1330
+ case Nav:
1331
+ return Nav$1;
1332
+ case Section:
1333
+ return Section$1;
1334
+ case Search:
1335
+ return Search$1;
1336
+ case Dd:
1337
+ return Dd$1;
1338
+ case Dl:
1339
+ return Dl$1;
1340
+ case Figcaption:
1341
+ return Figcaption$1;
1342
+ case Figure:
1343
+ return Figure$1;
1344
+ case Hr:
1345
+ return Hr$1;
1346
+ case Li:
1347
+ return Li$1;
1348
+ case Ol:
1349
+ return Ol$1;
1350
+ case P:
1351
+ return P$1;
1352
+ case Pre:
1353
+ return Pre$1;
1354
+ case A:
1355
+ return A$1;
1356
+ case Br:
1357
+ return Br$1;
1358
+ case Cite:
1359
+ return Cite$1;
1360
+ case Data:
1361
+ return Data$1;
1362
+ case Time:
1363
+ return Time$1;
1364
+ case Tfoot:
1365
+ return Tfoot$1;
1366
+ case Ul:
1367
+ return Ul$1;
1368
+ case Video$2:
1374
1369
  return Video$1;
1375
- case TextArea2:
1376
- return TextArea;
1377
- case Select2:
1378
- return Select;
1379
- case Option2:
1380
- return Option;
1381
- case Code2:
1370
+ case TextArea:
1371
+ return TextArea$1;
1372
+ case Select:
1373
+ return Select$1;
1374
+ case Option:
1375
+ return Option$1;
1376
+ case Code$2:
1382
1377
  return Code$1;
1383
1378
  default:
1384
1379
  throw new Error(`element tag not found ${type}`);
1385
1380
  }
1386
1381
  };
1387
-
1388
- // src/parts/GetEventListenerOptions/GetEventListenerOptions.ts
1389
- var getEventListenerOptions$1 = (eventName, value) => {
1382
+ const getEventListenerOptions$1 = (eventName, value) => {
1390
1383
  if (value.passive) {
1391
1384
  return {
1392
1385
  passive: true
1393
1386
  };
1394
1387
  }
1395
1388
  switch (eventName) {
1396
- case "wheel":
1389
+ case 'wheel':
1397
1390
  return {
1398
1391
  passive: true
1399
1392
  };
1400
1393
  default:
1401
- return void 0;
1394
+ return undefined;
1402
1395
  }
1403
1396
  };
1404
-
1405
- // src/parts/UidSymbol/UidSymbol.ts
1406
- var uidSymbol = Symbol("uid");
1407
-
1408
- // src/parts/GetUidTarget/GetUidTarget.ts
1409
- var getUidTarget = $Element => {
1397
+ const uidSymbol = Symbol('uid');
1398
+ const getUidTarget = $Element => {
1410
1399
  while ($Element) {
1411
1400
  if ($Element[uidSymbol]) {
1412
1401
  return $Element;
1413
1402
  }
1414
1403
  $Element = $Element.parentNode;
1415
1404
  }
1416
- return void 0;
1405
+ return undefined;
1417
1406
  };
1418
-
1419
- // src/parts/ComponentUid/ComponentUid.ts
1420
- var setComponentUid = ($Element, uid) => {
1407
+ const setComponentUid = ($Element, uid) => {
1421
1408
  $Element[uidSymbol] = uid;
1422
1409
  };
1423
- var getComponentUid = $Element => {
1410
+ const getComponentUid = $Element => {
1424
1411
  const $Target = getUidTarget($Element);
1425
1412
  if (!$Target) {
1426
1413
  return 0;
1427
1414
  }
1428
1415
  return $Target[uidSymbol];
1429
1416
  };
1430
- var getComponentUidFromEvent = event => {
1417
+ const getComponentUidFromEvent = event => {
1431
1418
  const {
1432
1419
  target,
1433
1420
  currentTarget
1434
1421
  } = event;
1435
1422
  return getComponentUid(currentTarget || target);
1436
1423
  };
1437
-
1438
- // src/parts/IpcState/IpcState.ts
1439
- var state$8 = {
1440
- ipc: void 0
1424
+ const state$8 = {
1425
+ ipc: undefined
1441
1426
  };
1442
- var getIpc = () => {
1427
+ const getIpc = () => {
1443
1428
  return state$8.ipc;
1444
1429
  };
1445
- var setIpc = value => {
1430
+ const setIpc = value => {
1446
1431
  state$8.ipc = value;
1447
1432
  };
1448
-
1449
- // src/parts/ListenerCache/ListenerCache.ts
1450
- var cache$1 = /* @__PURE__ */new Map();
1451
- var has = listener => {
1433
+ const cache$1 = new Map();
1434
+ const has = listener => {
1452
1435
  return cache$1.has(listener);
1453
1436
  };
1454
- var set$7 = (listener, value) => {
1437
+ const set$7 = (listener, value) => {
1455
1438
  cache$1.set(listener, value);
1456
1439
  };
1457
- var get$7 = listener => {
1440
+ const get$7 = listener => {
1458
1441
  return cache$1.get(listener);
1459
1442
  };
1460
-
1461
- // src/parts/NameAnonymousFunction/NameAnonymousFunction.ts
1462
- var nameAnonymousFunction$1 = (fn, name) => {
1463
- Object.defineProperty(fn, "name", {
1443
+ const nameAnonymousFunction$1 = (fn, name) => {
1444
+ Object.defineProperty(fn, 'name', {
1464
1445
  value: name
1465
1446
  });
1466
1447
  };
1467
-
1468
- // src/parts/GetWrappedListener/GetWrappedListener.ts
1469
- var getWrappedListener$1 = (listener, returnValue) => {
1448
+ const getWrappedListener$1 = (listener, returnValue) => {
1470
1449
  if (!returnValue) {
1471
1450
  return listener;
1472
1451
  }
@@ -1474,121 +1453,121 @@ var getWrappedListener$1 = (listener, returnValue) => {
1474
1453
  const wrapped = event => {
1475
1454
  const uid = getComponentUidFromEvent(event);
1476
1455
  const result = listener(event);
1456
+ // TODO check for empty array by value
1477
1457
  if (result.length === 0) {
1478
1458
  return;
1479
1459
  }
1480
1460
  const ipc = getIpc();
1481
- ipc.send("Viewlet.executeViewletCommand", uid, ...result);
1461
+ ipc.send('Viewlet.executeViewletCommand', uid, ...result);
1482
1462
  };
1483
1463
  nameAnonymousFunction$1(wrapped, listener.name);
1484
1464
  set$7(listener, wrapped);
1485
1465
  }
1486
1466
  return get$7(listener);
1487
1467
  };
1488
-
1489
- // src/parts/AttachEvent/AttachEvent.ts
1490
- var getOptions = fn => {
1468
+ const getOptions = fn => {
1491
1469
  if (fn.passive) {
1492
1470
  return {
1493
1471
  passive: true
1494
1472
  };
1495
1473
  }
1496
- return void 0;
1474
+ return undefined;
1497
1475
  };
1498
- var attachEvent$1 = ($Node, eventMap, key, value, newEventMap) => {
1476
+ const attachEvent$1 = ($Node, eventMap, key, value, newEventMap) => {
1499
1477
  if (newEventMap && newEventMap[value]) {
1500
1478
  const fn = newEventMap[value];
1501
- const options2 = getOptions(fn);
1502
- $Node.addEventListener(key, newEventMap[value], options2);
1479
+ const options = getOptions(fn);
1480
+ // TODO support event listener options
1481
+ $Node.addEventListener(key, newEventMap[value], options);
1503
1482
  return;
1504
1483
  }
1505
1484
  const listener = eventMap[value];
1506
1485
  if (!listener) {
1507
- console.warn("listener not found", value);
1486
+ console.warn('listener not found', value);
1508
1487
  return;
1509
1488
  }
1510
1489
  const options = getEventListenerOptions$1(key, value);
1511
1490
  const wrapped = getWrappedListener$1(listener, eventMap.returnValue);
1512
1491
  $Node.addEventListener(key, wrapped, options);
1513
1492
  };
1514
-
1515
- // src/parts/VirtualDomElementProp/VirtualDomElementProp.ts
1516
- var setProp = ($Element, key, value, eventMap, newEventMap) => {
1493
+ const setProp = ($Element, key, value, eventMap, newEventMap) => {
1517
1494
  switch (key) {
1518
- case "maskImage":
1495
+ case 'maskImage':
1519
1496
  $Element.style.maskImage = `url('${value}')`;
1520
1497
  $Element.style.webkitMaskImage = `url('${value}')`;
1521
1498
  break;
1522
- case "paddingLeft":
1523
- case "paddingRight":
1524
- case "top":
1525
- case "left":
1526
- case "marginTop":
1527
- $Element.style[key] = typeof value === "number" ? `${value}px` : value;
1499
+ case 'paddingLeft':
1500
+ case 'paddingRight':
1501
+ case 'top':
1502
+ case 'left':
1503
+ case 'marginTop':
1504
+ $Element.style[key] = typeof value === 'number' ? `${value}px` : value;
1528
1505
  break;
1529
- case "translate":
1506
+ case 'translate':
1530
1507
  $Element.style[key] = value;
1531
1508
  break;
1532
- case "width":
1533
- case "height":
1509
+ case 'width':
1510
+ case 'height':
1534
1511
  if ($Element instanceof HTMLImageElement) {
1535
1512
  $Element[key] = value;
1536
- } else if (typeof value === "number") {
1513
+ } else if (typeof value === 'number') {
1537
1514
  $Element.style[key] = `${value}px`;
1538
1515
  } else {
1539
1516
  $Element.style[key] = value;
1540
1517
  }
1541
1518
  break;
1542
- case "style":
1543
- throw new Error("style property is not supported");
1544
- case "childCount":
1545
- case "type":
1519
+ case 'style':
1520
+ throw new Error('style property is not supported');
1521
+ case 'childCount':
1522
+ case 'type':
1546
1523
  break;
1547
- case "ariaOwns":
1524
+ case 'ariaOwns':
1525
+ // TODO remove this once idl is supported
1548
1526
  if (value) {
1549
- $Element.setAttribute("aria-owns", value);
1527
+ $Element.setAttribute('aria-owns', value);
1550
1528
  } else {
1551
- $Element.removeAttribute("aria-owns");
1529
+ $Element.removeAttribute('aria-owns');
1552
1530
  }
1553
1531
  break;
1554
- case "ariaActivedescendant":
1532
+ case 'ariaActivedescendant':
1555
1533
  if (value) {
1556
- $Element.setAttribute("aria-activedescendant", value);
1534
+ $Element.setAttribute('aria-activedescendant', value);
1557
1535
  } else {
1558
- $Element.removeAttribute("aria-activedescendant");
1536
+ $Element.removeAttribute('aria-activedescendant');
1559
1537
  }
1560
1538
  break;
1561
- case "ariaControls":
1562
- $Element.setAttribute("aria-controls", value);
1539
+ case 'ariaControls':
1540
+ $Element.setAttribute('aria-controls', value);
1563
1541
  break;
1564
- case "inputType":
1542
+ case 'inputType':
1543
+ // @ts-ignore
1565
1544
  $Element.type = value;
1566
1545
  break;
1567
- case "ariaLabelledBy":
1568
- $Element.setAttribute("aria-labelledby", value);
1546
+ case 'ariaLabelledBy':
1547
+ $Element.setAttribute('aria-labelledby', value);
1569
1548
  break;
1570
- case "onBlur":
1571
- case "onChange":
1572
- case "onClick":
1573
- case "onContextMenu":
1574
- case "onDblClick":
1575
- case "onFocus":
1576
- case "onFocusIn":
1577
- case "onFocusOut":
1578
- case "onInput":
1579
- case "onKeyDown":
1580
- case "onMouseDown":
1581
- case "onPointerDown":
1582
- case "onPointerOut":
1583
- case "onPointerOver":
1584
- case "onWheel":
1549
+ case 'onBlur':
1550
+ case 'onChange':
1551
+ case 'onClick':
1552
+ case 'onContextMenu':
1553
+ case 'onDblClick':
1554
+ case 'onFocus':
1555
+ case 'onFocusIn':
1556
+ case 'onFocusOut':
1557
+ case 'onInput':
1558
+ case 'onKeyDown':
1559
+ case 'onMouseDown':
1560
+ case 'onPointerDown':
1561
+ case 'onPointerOut':
1562
+ case 'onPointerOver':
1563
+ case 'onWheel':
1585
1564
  const eventName = key.slice(2).toLowerCase();
1586
1565
  if (!eventMap || !value) {
1587
1566
  return;
1588
1567
  }
1589
1568
  attachEvent$1($Element, eventMap, eventName, value, newEventMap);
1590
1569
  break;
1591
- case "id":
1570
+ case 'id':
1592
1571
  if (value) {
1593
1572
  $Element[key] = value;
1594
1573
  } else {
@@ -1596,32 +1575,28 @@ var setProp = ($Element, key, value, eventMap, newEventMap) => {
1596
1575
  }
1597
1576
  break;
1598
1577
  default:
1599
- if (key.startsWith("data-")) {
1600
- $Element.dataset[key.slice("data-".length)] = value;
1578
+ if (key.startsWith('data-')) {
1579
+ $Element.dataset[key.slice('data-'.length)] = value;
1601
1580
  } else {
1602
1581
  $Element[key] = value;
1603
1582
  }
1604
1583
  }
1605
1584
  };
1606
-
1607
- // src/parts/VirtualDomElementProps/VirtualDomElementProps.ts
1608
- var setProps = ($Element, props, eventMap, newEventMap) => {
1585
+ const setProps = ($Element, props, eventMap, newEventMap) => {
1609
1586
  for (const key in props) {
1610
1587
  setProp($Element, key, props[key], eventMap, newEventMap);
1611
1588
  }
1612
1589
  };
1613
-
1614
- // src/parts/VirtualDomElement/VirtualDomElement.ts
1615
- var renderDomTextNode = element => {
1590
+ const renderDomTextNode = element => {
1616
1591
  return document.createTextNode(element.text);
1617
1592
  };
1618
- var renderDomElement = (element, eventMap, newEventMap) => {
1593
+ const renderDomElement = (element, eventMap, newEventMap) => {
1619
1594
  const tag = getElementTag(element.type);
1620
1595
  const $Element = document.createElement(tag);
1621
1596
  setProps($Element, element, eventMap, newEventMap);
1622
1597
  return $Element;
1623
1598
  };
1624
- var render = (element, eventMap, newEventMap) => {
1599
+ const render$1 = (element, eventMap, newEventMap) => {
1625
1600
  switch (element.type) {
1626
1601
  case Text$1:
1627
1602
  return renderDomTextNode(element);
@@ -1629,15 +1604,14 @@ var render = (element, eventMap, newEventMap) => {
1629
1604
  return renderDomElement(element, eventMap, newEventMap);
1630
1605
  }
1631
1606
  };
1632
-
1633
- // src/parts/RenderInternal/RenderInternal.ts
1634
- var renderInternal2 = ($Parent, elements, eventMap, newEventMap) => {
1607
+ const renderInternal = ($Parent, elements, eventMap, newEventMap) => {
1635
1608
  const max = elements.length - 1;
1636
1609
  let stack = [];
1637
1610
  for (let i = max; i >= 0; i--) {
1638
1611
  const element = elements[i];
1639
- const $Element = render(element, eventMap, newEventMap);
1612
+ const $Element = render$1(element, eventMap, newEventMap);
1640
1613
  if (element.childCount > 0) {
1614
+ // @ts-expect-error
1641
1615
  $Element.append(...stack.slice(0, element.childCount));
1642
1616
  stack = stack.slice(element.childCount);
1643
1617
  }
@@ -1645,37 +1619,31 @@ var renderInternal2 = ($Parent, elements, eventMap, newEventMap) => {
1645
1619
  }
1646
1620
  $Parent.append(...stack);
1647
1621
  };
1648
-
1649
- // src/parts/PatchFunctions/PatchFunctions.ts
1650
- var setAttribute = ($Element, key, value) => {
1622
+ const setAttribute = ($Element, key, value) => {
1651
1623
  $Element.setAttribute(key, value);
1652
1624
  };
1653
- var removeAttribute = ($Element, key) => {
1625
+ const removeAttribute = ($Element, key) => {
1654
1626
  $Element.removeAttribute(key);
1655
1627
  };
1656
- var setText$3 = ($Element, value) => {
1628
+ const setText$3 = ($Element, value) => {
1657
1629
  $Element.nodeValue = value;
1658
1630
  };
1659
- var removeChild = ($Element, index) => {
1631
+ const removeChild = ($Element, index) => {
1660
1632
  const $Child = $Element.children[index];
1661
1633
  $Child.remove();
1662
1634
  };
1663
- var add = ($Element, nodes) => {
1664
- renderInternal2($Element, nodes, {}, {});
1665
- };
1666
-
1667
- // src/parts/PatchType/PatchType.ts
1668
- var SetText = 1;
1669
- var SetAttribute = 3;
1670
- var RemoveAttribute = 4;
1671
- var Add = 6;
1672
- var NavigateChild = 7;
1673
- var NavigateParent = 8;
1674
- var RemoveChild = 9;
1675
- var NavigateSibling = 10;
1676
-
1677
- // src/parts/ApplyPatch/ApplyPatch.ts
1678
- var applyPatch = ($Element, patches) => {
1635
+ const add = ($Element, nodes) => {
1636
+ renderInternal($Element, nodes, {}, {});
1637
+ };
1638
+ const SetText = 1;
1639
+ const SetAttribute = 3;
1640
+ const RemoveAttribute = 4;
1641
+ const Add = 6;
1642
+ const NavigateChild = 7;
1643
+ const NavigateParent = 8;
1644
+ const RemoveChild = 9;
1645
+ const NavigateSibling = 10;
1646
+ const applyPatch = ($Element, patches) => {
1679
1647
  let $Current = $Element;
1680
1648
  for (const patch of patches) {
1681
1649
  switch (patch.type) {
@@ -1706,68 +1674,62 @@ var applyPatch = ($Element, patches) => {
1706
1674
  }
1707
1675
  }
1708
1676
  };
1709
-
1710
- // src/parts/GetEventListenerArg/GetEventListenerArg.ts
1711
- var getEventListenerArg = (param, event) => {
1677
+ const getEventListenerArg = (param, event) => {
1712
1678
  switch (param) {
1713
- case "event.clientX":
1679
+ case 'event.clientX':
1714
1680
  return event.clientX;
1715
- case "event.x":
1681
+ case 'event.x':
1716
1682
  return event.x;
1717
- case "event.clientY":
1683
+ case 'event.clientY':
1718
1684
  return event.clientY;
1719
- case "event.y":
1685
+ case 'event.y':
1720
1686
  return event.y;
1721
- case "event.button":
1687
+ case 'event.button':
1722
1688
  return event.button;
1723
- case "event.target.value":
1689
+ case 'event.target.value':
1724
1690
  return event.target.value;
1725
- case "event.isTrusted":
1691
+ case 'event.isTrusted':
1726
1692
  return event.isTrusted;
1727
- case "event.target.className":
1693
+ case 'event.target.className':
1728
1694
  return event.target.className;
1729
- case "event.data":
1695
+ case 'event.data':
1730
1696
  return event.data;
1731
- case "event.deltaMode":
1697
+ case 'event.deltaMode':
1732
1698
  return event.deltaMode;
1733
- case "event.deltaX":
1699
+ case 'event.deltaX':
1734
1700
  return event.deltaX;
1735
- case "event.deltaY":
1701
+ case 'event.deltaY':
1736
1702
  return event.deltaY;
1737
- case "event.detail":
1703
+ case 'event.detail':
1738
1704
  return event.detail;
1739
- case "event.target.name":
1740
- return event.target.name;
1741
- case "event.target.href":
1705
+ case 'event.target.name':
1706
+ return event.target.name || '';
1707
+ case 'event.target.href':
1742
1708
  return event.target.href;
1743
- case "event.target.src":
1709
+ case 'event.target.src':
1744
1710
  return event.target.src;
1745
- case "event.altKey":
1711
+ case 'event.altKey':
1746
1712
  return event.altKey;
1747
- case "event.key":
1713
+ case 'event.key':
1748
1714
  return event.key;
1749
- case "event.ctrlKey":
1715
+ case 'event.ctrlKey':
1750
1716
  return event.ctrlKey;
1751
- case "event.shiftKey":
1717
+ case 'event.shiftKey':
1752
1718
  return event.shiftKey;
1753
- case "event.inputType":
1719
+ case 'event.inputType':
1754
1720
  return event.inputType;
1755
1721
  default:
1756
1722
  return param;
1757
1723
  }
1758
1724
  };
1759
-
1760
- // src/parts/GetEventListenerArgs/GetEventListenerArgs.ts
1761
- var getEventListenerArgs = (params, event) => {
1725
+ const getEventListenerArgs = (params, event) => {
1762
1726
  const serialized = [];
1763
1727
  for (const param of params) {
1764
1728
  serialized.push(getEventListenerArg(param, event));
1765
1729
  }
1766
1730
  return serialized;
1767
1731
  };
1768
-
1769
- // src/parts/CreateEventListenerFunction/CreateEventListenerFunction.ts
1770
- var createFn = info => {
1732
+ const createFn = info => {
1771
1733
  const fn = event => {
1772
1734
  if (info.preventDefault) {
1773
1735
  event.preventDefault(event);
@@ -1778,53 +1740,50 @@ var createFn = info => {
1778
1740
  return;
1779
1741
  }
1780
1742
  const ipc = getIpc();
1781
- ipc.send("Viewlet.executeViewletCommand", uid, ...args);
1743
+ ipc.send('Viewlet.executeViewletCommand', uid, ...args);
1782
1744
  };
1783
1745
  nameAnonymousFunction$1(fn, info.name);
1784
1746
  if (info.passive) {
1747
+ // TODO avoid mutating function property, maybe return an object with function and options
1785
1748
  fn.passive = true;
1786
1749
  }
1787
1750
  return fn;
1788
1751
  };
1789
-
1790
- // src/parts/RegisterEventListeners/RegisterEventListeners.ts
1791
- var listeners = /* @__PURE__ */Object.create(null);
1792
- var registerEventListeners = (id, eventListeners) => {
1793
- const map = /* @__PURE__ */Object.create(null);
1752
+ const listeners = Object.create(null);
1753
+ const registerEventListeners = (id, eventListeners) => {
1754
+ const map = Object.create(null);
1794
1755
  for (const info of eventListeners) {
1795
1756
  const fn = createFn(info);
1796
1757
  map[info.name] = fn;
1797
1758
  }
1798
1759
  listeners[id] = map;
1799
1760
  };
1800
- var getEventListenerMap = id => {
1761
+ const getEventListenerMap = id => {
1801
1762
  const map = listeners[id];
1802
1763
  return map;
1803
1764
  };
1804
-
1805
- // src/parts/QueryInputs/QueryInputs.ts
1806
- var queryInputs = $Viewlet => {
1807
- return [...$Viewlet.querySelectorAll("input, textarea")];
1765
+ const queryInputs = $Viewlet => {
1766
+ return [...$Viewlet.querySelectorAll('input, textarea')];
1808
1767
  };
1809
-
1810
- // src/parts/ClearNode/ClearNode.ts
1811
- var clearNode = $Node => {
1812
- $Node.textContent = "";
1768
+ const clearNode = $Node => {
1769
+ $Node.textContent = '';
1813
1770
  };
1814
-
1815
- // src/parts/VirtualDom/VirtualDom.ts
1816
- var renderInto = ($Parent, dom, eventMap = {}) => {
1771
+ const renderInto = ($Parent, dom, eventMap = {}) => {
1817
1772
  clearNode($Parent);
1818
- renderInternal2($Parent, dom, eventMap);
1773
+ renderInternal($Parent, dom, eventMap);
1819
1774
  };
1820
- var render2 = (elements, eventMap = {}, newEventMap = {}) => {
1821
- const $Root = document.createElement("div");
1822
- renderInternal2($Root, elements, eventMap, newEventMap);
1775
+
1776
+ /**
1777
+ *
1778
+ * @param {any[]} elements
1779
+ * @returns
1780
+ */
1781
+ const render = (elements, eventMap = {}, newEventMap = {}) => {
1782
+ const $Root = document.createElement('div');
1783
+ renderInternal($Root, elements, eventMap, newEventMap);
1823
1784
  return $Root;
1824
1785
  };
1825
-
1826
- // src/parts/RememberFocus/RememberFocus.ts
1827
- var rememberFocus$1 = ($Viewlet, dom, eventMap, uid = 0) => {
1786
+ const rememberFocus$1 = ($Viewlet, dom, eventMap, uid = 0) => {
1828
1787
  const oldLeft = $Viewlet.style.left;
1829
1788
  const oldTop = $Viewlet.style.top;
1830
1789
  const oldWidth = $Viewlet.style.width;
@@ -1832,37 +1791,55 @@ var rememberFocus$1 = ($Viewlet, dom, eventMap, uid = 0) => {
1832
1791
  const {
1833
1792
  activeElement
1834
1793
  } = document;
1835
- const isTreeFocused = activeElement?.getAttribute("role") === "tree";
1836
- const isRootTree = $Viewlet.getAttribute("role") === "tree" && activeElement === $Viewlet;
1837
- const focused = activeElement?.getAttribute("name");
1794
+ const isTreeFocused = activeElement?.getAttribute('role') === 'tree';
1795
+ const isRootTree = $Viewlet.getAttribute('role') === 'tree' && activeElement === $Viewlet;
1796
+ const focused = activeElement?.getAttribute('name');
1797
+ const $Hidden = document.createElement('div');
1798
+ $Hidden.style.display = 'none';
1799
+ if (focused) {
1800
+ if (document.body) {
1801
+ document.body.append($Hidden);
1802
+ }
1803
+ // @ts-ignore
1804
+ $Hidden.append(activeElement);
1805
+ }
1838
1806
  const $$Inputs = queryInputs($Viewlet);
1839
- const inputMap = /* @__PURE__ */Object.create(null);
1807
+ const inputMap = Object.create(null);
1840
1808
  for (const $Input of $$Inputs) {
1841
1809
  inputMap[$Input.name] = $Input.value;
1842
1810
  }
1843
1811
  if (uid) {
1844
1812
  const newEventMap = getEventListenerMap(uid);
1845
- const $New = render2(dom, eventMap, newEventMap).firstChild;
1813
+ const $New = render(dom, eventMap, newEventMap).firstChild;
1846
1814
  setComponentUid($New, uid);
1815
+ const $$NewInputs = queryInputs($New);
1816
+ for (const $Input of $$NewInputs) {
1817
+ $Input.value = inputMap[$Input.name] || $Input.value || '';
1818
+ }
1847
1819
  $Viewlet.replaceWith($New);
1820
+ if (focused) {
1821
+ const $NewFocused = $New.querySelector(`[name="${focused}"]`);
1822
+ if ($NewFocused) {
1823
+ $NewFocused.replaceWith($Hidden.firstChild);
1824
+ }
1825
+ }
1826
+ $Hidden.remove();
1848
1827
  $Viewlet = $New;
1849
1828
  } else {
1850
1829
  renderInto($Viewlet, dom, eventMap);
1851
1830
  }
1852
- const $$NewInputs = queryInputs($Viewlet);
1853
- for (const $Input of $$NewInputs) {
1854
- $Input.value = inputMap[$Input.name] || $Input.value || "";
1855
- }
1856
1831
  if (isRootTree) {
1857
1832
  $Viewlet.focus();
1858
1833
  } else if (isTreeFocused) {
1859
1834
  const $Tree = $Viewlet.querySelector('[role="tree"]');
1860
1835
  if ($Tree) {
1836
+ // @ts-ignore
1861
1837
  $Tree.focus();
1862
1838
  }
1863
1839
  } else if (focused) {
1864
1840
  const $Focused = $Viewlet.querySelector(`[name="${focused}"]`);
1865
1841
  if ($Focused) {
1842
+ // @ts-ignore
1866
1843
  $Focused.focus();
1867
1844
  }
1868
1845
  }
@@ -2567,7 +2544,7 @@ const setDom$9 = (state, dom) => {
2567
2544
  $ListItems,
2568
2545
  $Viewlet
2569
2546
  } = state;
2570
- const $Root = render2(dom);
2547
+ const $Root = render(dom);
2571
2548
  // @ts-expect-error
2572
2549
  $ListItems.replaceChildren(...$Root.firstChild.childNodes);
2573
2550
  append$1($Viewlet);
@@ -2643,7 +2620,7 @@ const setDom$8 = (state, dom) => {
2643
2620
  const {
2644
2621
  $Viewlet
2645
2622
  } = state;
2646
- const $Root = render2(dom);
2623
+ const $Root = render(dom);
2647
2624
  // @ts-expect-error
2648
2625
  $Viewlet.replaceChildren(...$Root.firstChild.childNodes);
2649
2626
  append$1($Viewlet);
@@ -7581,7 +7558,7 @@ const setHeaderDom = (state, dom) => {
7581
7558
  $ExtensionHeader
7582
7559
  } = state;
7583
7560
  // @ts-expect-error
7584
- const $Element = render2(dom).firstChild.firstChild;
7561
+ const $Element = render(dom).firstChild.firstChild;
7585
7562
  $ExtensionHeader.replaceChildren($Element);
7586
7563
  };
7587
7564
  const setExtensionsDom = (state, dom) => {
@@ -7590,7 +7567,7 @@ const setExtensionsDom = (state, dom) => {
7590
7567
  const {
7591
7568
  $ListItems
7592
7569
  } = state;
7593
- const $Root = render2(dom);
7570
+ const $Root = render(dom);
7594
7571
  // @ts-expect-error
7595
7572
  $ListItems.replaceChildren(...$Root.firstChild.childNodes);
7596
7573
  };
@@ -9213,7 +9190,7 @@ const setActionsDom = (state, actions) => {
9213
9190
  $Actions
9214
9191
  } = state;
9215
9192
  const eventMap = {};
9216
- const $NewActions = render2(actions, eventMap).firstChild;
9193
+ const $NewActions = render(actions, eventMap).firstChild;
9217
9194
  if ($Actions) {
9218
9195
  $Actions.replaceWith($NewActions);
9219
9196
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/renderer-process",
3
- "version": "11.2.0",
3
+ "version": "11.4.0",
4
4
  "description": "",
5
5
  "main": "dist/rendererProcessMain.js",
6
6
  "type": "module",