@lvce-editor/renderer-process 20.0.0 → 20.2.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.
@@ -123,7 +123,7 @@ const prompt$1 = message => {
123
123
  const state$9 = {
124
124
  styleSheets: Object.create(null)
125
125
  };
126
- const set$a = (id, sheet) => {
126
+ const set$9 = (id, sheet) => {
127
127
  state$9.styleSheets[id] = sheet;
128
128
  };
129
129
  const get$a = id => {
@@ -137,7 +137,7 @@ const addCssStyleSheet = async (id, text) => {
137
137
  return;
138
138
  }
139
139
  const sheet = new CSSStyleSheet({});
140
- set$a(id, sheet);
140
+ set$9(id, sheet);
141
141
  await sheet.replace(text);
142
142
  document.adoptedStyleSheets.push(sheet);
143
143
  };
@@ -294,8 +294,44 @@ const VirtualDomElements = {
294
294
  Text: Text$1};
295
295
  const getElementTag$1 = type => {
296
296
  switch (type) {
297
+ case A:
298
+ return A$1;
299
+ case Article:
300
+ return Article$1;
301
+ case Aside:
302
+ return Aside$1;
297
303
  case Audio$2:
298
304
  return Audio$1$1;
305
+ case Br:
306
+ return Br$1;
307
+ case Button:
308
+ return Button$1;
309
+ case Cite:
310
+ return Cite$1;
311
+ case Code$2:
312
+ return Code$1;
313
+ case Col:
314
+ return Col$1;
315
+ case ColGroup:
316
+ return ColGroup$1;
317
+ case Data:
318
+ return Data$1;
319
+ case Dd:
320
+ return Dd$1;
321
+ case Del:
322
+ return Del$1;
323
+ case Div:
324
+ return Div$1;
325
+ case Dl:
326
+ return Dl$1;
327
+ case Dt:
328
+ return Dt$1;
329
+ case Figcaption:
330
+ return Figcaption$1;
331
+ case Figure:
332
+ return Figure$1;
333
+ case Footer:
334
+ return Footer$1;
299
335
  case H1:
300
336
  return H1$1;
301
337
  case H2:
@@ -308,100 +344,64 @@ const getElementTag$1 = type => {
308
344
  return H5$1;
309
345
  case H6:
310
346
  return H6$1;
311
- case Div:
312
- return Div$1;
313
- case Kbd:
314
- return Kbd$1;
315
- case Table:
316
- return Table$1;
317
- case TBody:
318
- return TBody$1;
319
- case Th:
320
- return Th$1;
321
- case Td:
322
- return Td$1;
323
- case THead:
324
- return THead$1;
325
- case Tr:
326
- return Tr$1;
327
- case Input:
328
- return Input$1;
329
- case ColGroup:
330
- return ColGroup$1;
331
- case Col:
332
- return Col$1;
333
- case Button:
334
- return Button$1;
335
- case Span:
336
- return Span$1;
347
+ case Header:
348
+ return Header$1;
349
+ case Hr:
350
+ return Hr$1;
337
351
  case I:
338
352
  return I$1;
339
353
  case Img:
340
354
  return Img$1;
355
+ case Input:
356
+ return Input$1;
341
357
  case Ins:
342
358
  return Ins$1;
343
- case Del:
344
- return Del$1;
345
- case Article:
346
- return Article$1;
347
- case Aside:
348
- return Aside$1;
349
- case Footer:
350
- return Footer$1;
351
- case Header:
352
- return Header$1;
353
- case Nav:
354
- return Nav$1;
355
- case Section:
356
- return Section$1;
357
- case Search:
358
- return Search$1;
359
- case Dd:
360
- return Dd$1;
361
- case Dl:
362
- return Dl$1;
363
- case Figcaption:
364
- return Figcaption$1;
365
- case Figure:
366
- return Figure$1;
367
- case Hr:
368
- return Hr$1;
359
+ case Kbd:
360
+ return Kbd$1;
361
+ case Label:
362
+ return Label$1;
369
363
  case Li:
370
364
  return Li$1;
365
+ case Nav:
366
+ return Nav$1;
371
367
  case Ol:
372
368
  return Ol$1;
369
+ case Option:
370
+ return Option$1;
373
371
  case P:
374
372
  return P$1;
375
373
  case Pre:
376
374
  return Pre$1;
377
- case A:
378
- return A$1;
379
- case Br:
380
- return Br$1;
381
- case Cite:
382
- return Cite$1;
383
- case Data:
384
- return Data$1;
385
- case Time:
386
- return Time$1;
375
+ case Search:
376
+ return Search$1;
377
+ case Section:
378
+ return Section$1;
379
+ case Select:
380
+ return Select$1;
381
+ case Span:
382
+ return Span$1;
383
+ case Table:
384
+ return Table$1;
385
+ case TBody:
386
+ return TBody$1;
387
+ case Td:
388
+ return Td$1;
389
+ case TextArea:
390
+ return TextArea$1;
387
391
  case Tfoot:
388
392
  return Tfoot$1;
393
+ case Th:
394
+ return Th$1;
395
+ case THead:
396
+ return THead$1;
397
+ case Time:
398
+ return Time$1;
399
+ case Tr:
400
+ return Tr$1;
389
401
  case Ul:
390
402
  return Ul$1;
391
403
  case Video$2:
392
404
  return Video$1;
393
- case TextArea:
394
- return TextArea$1;
395
- case Select:
396
- return Select$1;
397
- case Option:
398
- return Option$1;
399
- case Code$2:
400
- return Code$1;
401
- case Label:
402
- return Label$1;
403
- case Dt:
404
- return Dt$1;
405
405
  default:
406
406
  throw new Error(`element tag not found ${type}`);
407
407
  }
@@ -450,8 +450,8 @@ const getComponentUid = $Element => {
450
450
  };
451
451
  const getComponentUidFromEvent = event => {
452
452
  const {
453
- target,
454
- currentTarget
453
+ currentTarget,
454
+ target
455
455
  } = event;
456
456
  return getComponentUid(currentTarget || target);
457
457
  };
@@ -468,7 +468,7 @@ const cache$1 = new Map();
468
468
  const has$1 = listener => {
469
469
  return cache$1.has(listener);
470
470
  };
471
- const set$9 = (listener, value) => {
471
+ const set$8 = (listener, value) => {
472
472
  cache$1.set(listener, value);
473
473
  };
474
474
  const get$9 = listener => {
@@ -495,7 +495,7 @@ const getWrappedListener$1 = (listener, returnValue) => {
495
495
  ipc.send('Viewlet.executeViewletCommand', uid, ...result);
496
496
  };
497
497
  nameAnonymousFunction$1(wrapped, listener.name);
498
- set$9(listener, wrapped);
498
+ set$8(listener, wrapped);
499
499
  }
500
500
  return get$9(listener);
501
501
  };
@@ -527,34 +527,18 @@ const attachEvent$1 = ($Node, eventMap, key, value, newEventMap) => {
527
527
  };
528
528
  const setProp = ($Element, key, value, eventMap, newEventMap) => {
529
529
  switch (key) {
530
- case 'maskImage':
531
- $Element.style.maskImage = `url('${value}')`;
532
- $Element.style.webkitMaskImage = `url('${value}')`;
533
- break;
534
- case 'paddingLeft':
535
- case 'paddingRight':
536
- case 'top':
537
- case 'left':
538
- case 'marginTop':
539
- $Element.style[key] = typeof value === 'number' ? `${value}px` : value;
540
- break;
541
- case 'translate':
542
- $Element.style[key] = value;
543
- break;
544
- case 'width':
545
- case 'height':
546
- if ($Element instanceof HTMLImageElement) {
547
- $Element[key] = value;
548
- } else if (typeof value === 'number') {
549
- $Element.style[key] = `${value}px`;
530
+ case 'ariaActivedescendant':
531
+ if (value) {
532
+ $Element.setAttribute('aria-activedescendant', value);
550
533
  } else {
551
- $Element.style[key] = value;
534
+ $Element.removeAttribute('aria-activedescendant');
552
535
  }
553
536
  break;
554
- case 'style':
555
- throw new Error('style property is not supported');
556
- case 'childCount':
557
- case 'type':
537
+ case 'ariaControls':
538
+ $Element.setAttribute('aria-controls', value);
539
+ break;
540
+ case 'ariaLabelledBy':
541
+ $Element.setAttribute('aria-labelledby', value);
558
542
  break;
559
543
  case 'ariaOwns':
560
544
  // TODO remove this once idl is supported
@@ -564,22 +548,37 @@ const setProp = ($Element, key, value, eventMap, newEventMap) => {
564
548
  $Element.removeAttribute('aria-owns');
565
549
  }
566
550
  break;
567
- case 'ariaActivedescendant':
568
- if (value) {
569
- $Element.setAttribute('aria-activedescendant', value);
551
+ case 'height':
552
+ case 'width':
553
+ if ($Element instanceof HTMLImageElement) {
554
+ $Element[key] = value;
555
+ } else if (typeof value === 'number') {
556
+ $Element.style[key] = `${value}px`;
570
557
  } else {
571
- $Element.removeAttribute('aria-activedescendant');
558
+ $Element.style[key] = value;
572
559
  }
573
560
  break;
574
- case 'ariaControls':
575
- $Element.setAttribute('aria-controls', value);
561
+ case 'id':
562
+ if (value) {
563
+ $Element[key] = value;
564
+ } else {
565
+ $Element.removeAttribute(key);
566
+ }
576
567
  break;
577
568
  case 'inputType':
578
569
  // @ts-ignore
579
570
  $Element.type = value;
580
571
  break;
581
- case 'ariaLabelledBy':
582
- $Element.setAttribute('aria-labelledby', value);
572
+ case 'left':
573
+ case 'marginTop':
574
+ case 'paddingLeft':
575
+ case 'paddingRight':
576
+ case 'top':
577
+ $Element.style[key] = typeof value === 'number' ? `${value}px` : value;
578
+ break;
579
+ case 'maskImage':
580
+ $Element.style.maskImage = `url('${value}')`;
581
+ $Element.style.webkitMaskImage = `url('${value}')`;
583
582
  break;
584
583
  case 'onBlur':
585
584
  case 'onChange':
@@ -613,12 +612,13 @@ const setProp = ($Element, key, value, eventMap, newEventMap) => {
613
612
  }
614
613
  attachEvent$1($Element, eventMap, eventName, value, newEventMap);
615
614
  break;
616
- case 'id':
617
- if (value) {
618
- $Element[key] = value;
619
- } else {
620
- $Element.removeAttribute(key);
621
- }
615
+ case 'style':
616
+ throw new Error('style property is not supported');
617
+ case 'childCount':
618
+ case 'type':
619
+ break;
620
+ case 'translate':
621
+ $Element.style[key] = value;
622
622
  break;
623
623
  default:
624
624
  if (key.startsWith('data-')) {
@@ -696,30 +696,30 @@ const applyPatch = ($Element, patches) => {
696
696
  let $Current = $Element;
697
697
  for (const patch of patches) {
698
698
  switch (patch.type) {
699
- case SetAttribute:
700
- setAttribute($Current, patch.key, patch.value);
701
- break;
702
- case RemoveAttribute:
703
- removeAttribute($Current, patch.key);
704
- break;
705
- case SetText:
706
- setText$3($Current, patch.value);
707
- break;
708
- case RemoveChild:
709
- removeChild($Current, patch.index);
710
- break;
711
699
  case Add:
712
700
  add$1($Current, patch.nodes);
713
701
  break;
714
- case NavigateSibling:
715
- $Current = $Current.parentNode.childNodes[patch.index];
716
- break;
717
702
  case NavigateChild:
718
703
  $Current = $Current.childNodes[patch.index];
719
704
  break;
720
705
  case NavigateParent:
721
706
  $Current = $Current.parentNode;
722
707
  break;
708
+ case NavigateSibling:
709
+ $Current = $Current.parentNode.childNodes[patch.index];
710
+ break;
711
+ case RemoveAttribute:
712
+ removeAttribute($Current, patch.key);
713
+ break;
714
+ case RemoveChild:
715
+ removeChild($Current, patch.index);
716
+ break;
717
+ case SetAttribute:
718
+ setAttribute($Current, patch.key, patch.value);
719
+ break;
720
+ case SetText:
721
+ setText$3($Current, patch.value);
722
+ break;
723
723
  }
724
724
  }
725
725
  };
@@ -730,6 +730,9 @@ const setDragInfo = (id, data) => {
730
730
  const getDragInfo = id => {
731
731
  return dragInfos[id];
732
732
  };
733
+ const isDragInfoOld = data => {
734
+ return Array.isArray(data);
735
+ };
733
736
  let id$1 = 0;
734
737
  const create$G = () => {
735
738
  return ++id$1;
@@ -767,8 +770,8 @@ const setDragImage = (dataTransfer, label) => {
767
770
  };
768
771
  const applyDragInfoMaybe = event => {
769
772
  const {
770
- target,
771
- dataTransfer
773
+ dataTransfer,
774
+ target
772
775
  } = event;
773
776
  if (dataTransfer) {
774
777
  const uid = getComponentUid(target);
@@ -776,11 +779,17 @@ const applyDragInfoMaybe = event => {
776
779
  if (!dragInfo) {
777
780
  return;
778
781
  }
779
- for (const item of dragInfo) {
780
- dataTransfer.setData(item.type, item.data);
781
- }
782
- if (dragInfo.label) {
783
- setDragImage(dataTransfer, dragInfo.label);
782
+ if (isDragInfoOld(dragInfo)) {
783
+ for (const item of dragInfo) {
784
+ dataTransfer.setData(item.type, item.data);
785
+ }
786
+ } else {
787
+ for (const item of dragInfo.items) {
788
+ dataTransfer.items.add(item.data, item.data);
789
+ }
790
+ if (dragInfo.label) {
791
+ setDragImage(dataTransfer, dragInfo.label);
792
+ }
784
793
  }
785
794
  }
786
795
  };
@@ -804,66 +813,66 @@ const handleDataTransferFiles = event => {
804
813
  };
805
814
  const getEventListenerArg = (param, event) => {
806
815
  switch (param) {
807
- case 'event.dataTransfer.files2':
808
- return handleDataTransferFiles(event);
816
+ case 'event.altKey':
817
+ return event.altKey;
818
+ case 'event.button':
819
+ return event.button;
809
820
  case 'event.clientX':
810
821
  return event.clientX;
811
- case 'event.x':
812
- return event.x;
813
822
  case 'event.clientY':
814
823
  return event.clientY;
815
- case 'event.y':
816
- return event.y;
817
- case 'event.button':
818
- return event.button;
819
- case 'event.target.value':
820
- return event.target.value;
821
- case 'event.isTrusted':
822
- return event.isTrusted;
823
- case 'event.dataTransfer.files':
824
- return event.dataTransfer.files;
825
- case 'event.target.className':
826
- return event.target.className;
824
+ case 'event.ctrlKey':
825
+ return event.ctrlKey;
827
826
  case 'event.data':
828
827
  return event.data;
828
+ case 'event.dataTransfer.files':
829
+ return event.dataTransfer.files;
830
+ case 'event.dataTransfer.files2':
831
+ return handleDataTransferFiles(event);
832
+ case 'event.defaultPrevented':
833
+ return event.defaultPrevented;
829
834
  case 'event.deltaMode':
830
835
  return event.deltaMode;
831
836
  case 'event.deltaX':
832
837
  return event.deltaX;
833
838
  case 'event.deltaY':
834
839
  return event.deltaY;
835
- case 'event.target.scrollTop':
836
- return event.target.scrollTop;
837
840
  case 'event.detail':
838
841
  return event.detail;
839
- case 'event.target.name':
840
- return event.target.name || '';
841
- case 'event.target.href':
842
- return event.target.href;
843
- case 'event.target.src':
844
- return event.target.src;
845
- case 'event.altKey':
846
- return event.altKey;
842
+ case 'event.inputType':
843
+ return event.inputType;
844
+ case 'event.isTrusted':
845
+ return event.isTrusted;
847
846
  case 'event.key':
848
847
  return event.key;
849
- case 'event.ctrlKey':
850
- return event.ctrlKey;
851
848
  case 'event.shiftKey':
852
849
  return event.shiftKey;
853
- case 'event.inputType':
854
- return event.inputType;
855
- case 'event.defaultPrevented':
856
- return event.defaultPrevented;
857
- case 'event.target.dataset.name':
858
- return event.target.dataset.name;
850
+ case 'event.target.className':
851
+ return event.target.className;
859
852
  case 'event.target.dataset.index':
860
853
  return event.target.dataset.index;
854
+ case 'event.target.dataset.name':
855
+ return event.target.dataset.name;
856
+ case 'event.target.href':
857
+ return event.target.href;
858
+ case 'event.target.name':
859
+ return event.target.name || '';
861
860
  case 'event.target.nodeName':
862
861
  return event.target.nodeName;
863
- case 'event.target.selectionStart':
864
- return event.target.selectionStart;
862
+ case 'event.target.scrollTop':
863
+ return event.target.scrollTop;
865
864
  case 'event.target.selectionEnd':
866
865
  return event.target.selectionEnd;
866
+ case 'event.target.selectionStart':
867
+ return event.target.selectionStart;
868
+ case 'event.target.src':
869
+ return event.target.src;
870
+ case 'event.target.value':
871
+ return event.target.value;
872
+ case 'event.x':
873
+ return event.x;
874
+ case 'event.y':
875
+ return event.y;
867
876
  default:
868
877
  return param;
869
878
  }
@@ -898,8 +907,8 @@ const applyPointerTrackMaybe = (info, map, event) => {
898
907
  return;
899
908
  }
900
909
  const {
901
- target,
902
- pointerId
910
+ pointerId,
911
+ target
903
912
  } = event;
904
913
  target.setPointerCapture(pointerId);
905
914
  const [pointerMoveKey, pointerUpKey] = trackPointerEvents;
@@ -1093,9 +1102,9 @@ const getTitleBarHeight = () => {
1093
1102
  };
1094
1103
  const getBounds = () => {
1095
1104
  return {
1096
- windowWidth: window.innerWidth,
1105
+ titleBarHeight: getTitleBarHeight(),
1097
1106
  windowHeight: window.innerHeight,
1098
- titleBarHeight: getTitleBarHeight()
1107
+ windowWidth: window.innerWidth
1099
1108
  };
1100
1109
  };
1101
1110
 
@@ -1123,14 +1132,14 @@ const shouldLaunchMultipleWorkers = true;
1123
1132
 
1124
1133
  const getInitData = () => {
1125
1134
  const initData = {
1126
- Location: {
1127
- href: getHref()
1135
+ Config: {
1136
+ shouldLaunchMultipleWorkers: shouldLaunchMultipleWorkers
1128
1137
  },
1129
1138
  Layout: {
1130
1139
  bounds: getBounds()
1131
1140
  },
1132
- Config: {
1133
- shouldLaunchMultipleWorkers: shouldLaunchMultipleWorkers
1141
+ Location: {
1142
+ href: getHref()
1134
1143
  }
1135
1144
  };
1136
1145
  return initData;
@@ -1159,16 +1168,16 @@ const withResolvers = () => {
1159
1168
  _reject = reject;
1160
1169
  });
1161
1170
  return {
1162
- resolve: _resolve,
1171
+ promise,
1163
1172
  reject: _reject,
1164
- promise
1173
+ resolve: _resolve
1165
1174
  };
1166
1175
  };
1167
1176
 
1168
1177
  const getFirstEvent$1 = (eventTarget, eventMap) => {
1169
1178
  const {
1170
- resolve,
1171
- promise
1179
+ promise,
1180
+ resolve
1172
1181
  } = withResolvers();
1173
1182
  const listenerMap = Object.create(null);
1174
1183
  const cleanup = value => {
@@ -1180,8 +1189,8 @@ const getFirstEvent$1 = (eventTarget, eventMap) => {
1180
1189
  for (const [event, type] of Object.entries(eventMap)) {
1181
1190
  const listener = event => {
1182
1191
  cleanup({
1183
- type,
1184
- event
1192
+ event,
1193
+ type
1185
1194
  });
1186
1195
  };
1187
1196
  eventTarget.addEventListener(event, listener);
@@ -1197,8 +1206,8 @@ const getFirstEvent$1 = (eventTarget, eventMap) => {
1197
1206
  */
1198
1207
  const getFirstWorkerEvent$1 = worker => {
1199
1208
  return getFirstEvent$1(worker, {
1200
- message: Message$2,
1201
- error: Error$3
1209
+ error: Error$3,
1210
+ message: Message$2
1202
1211
  });
1203
1212
  };
1204
1213
 
@@ -1288,17 +1297,17 @@ const getWorkerDisplayName$1 = name => {
1288
1297
  return `${name} worker`;
1289
1298
  };
1290
1299
  const create$F = async ({
1291
- url,
1292
- name
1300
+ name,
1301
+ url
1293
1302
  }) => {
1294
1303
  const worker = new Worker(url, {
1295
- type: Module$1,
1296
- name
1304
+ name,
1305
+ type: Module$1
1297
1306
  });
1298
1307
  // @ts-expect-error
1299
1308
  const {
1300
- type,
1301
- event
1309
+ event,
1310
+ type
1302
1311
  } = await getFirstWorkerEvent$1(worker);
1303
1312
  switch (type) {
1304
1313
  case Message$2:
@@ -1620,8 +1629,8 @@ const getModuleNotFoundError = stderr => {
1620
1629
  const messageIndex = lines.findIndex(isModuleNotFoundMessage);
1621
1630
  const message = lines[messageIndex];
1622
1631
  return {
1623
- message,
1624
- code: ERR_MODULE_NOT_FOUND
1632
+ code: ERR_MODULE_NOT_FOUND,
1633
+ message
1625
1634
  };
1626
1635
  };
1627
1636
  const isModuleNotFoundError = stderr => {
@@ -1644,14 +1653,14 @@ const isUnhelpfulNativeModuleError = stderr => {
1644
1653
  const getNativeModuleErrorMessage = stderr => {
1645
1654
  const message = getMessageCodeBlock(stderr);
1646
1655
  return {
1647
- message: `Incompatible native node module: ${message}`,
1648
- code: E_INCOMPATIBLE_NATIVE_MODULE
1656
+ code: E_INCOMPATIBLE_NATIVE_MODULE,
1657
+ message: `Incompatible native node module: ${message}`
1649
1658
  };
1650
1659
  };
1651
1660
  const getModuleSyntaxError = () => {
1652
1661
  return {
1653
- message: `ES Modules are not supported in electron`,
1654
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
1662
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
1663
+ message: `ES Modules are not supported in electron`
1655
1664
  };
1656
1665
  };
1657
1666
  const getHelpfulChildProcessError = (stdout, stderr) => {
@@ -1670,8 +1679,8 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
1670
1679
  rest
1671
1680
  } = getDetails$1(lines);
1672
1681
  return {
1673
- message: actualMessage,
1674
1682
  code: '',
1683
+ message: actualMessage,
1675
1684
  stack: rest
1676
1685
  };
1677
1686
  };
@@ -1681,8 +1690,8 @@ class IpcError extends VError$1 {
1681
1690
  if (stdout || stderr) {
1682
1691
  // @ts-ignore
1683
1692
  const {
1684
- message,
1685
1693
  code,
1694
+ message,
1686
1695
  stack
1687
1696
  } = getHelpfulChildProcessError(stdout, stderr);
1688
1697
  const cause = new Error(message);
@@ -1706,7 +1715,7 @@ const getData$2 = event => {
1706
1715
  return event.data;
1707
1716
  };
1708
1717
  const listen$9 = () => {
1709
- return window;
1718
+ return globalThis;
1710
1719
  };
1711
1720
  const signal$a = global => {
1712
1721
  global.postMessage(readyMessage);
@@ -1736,7 +1745,7 @@ class IpcChildWithElectronWindow extends Ipc {
1736
1745
  const {
1737
1746
  ports
1738
1747
  } = event;
1739
- if (ports.length) {
1748
+ if (ports.length > 0) {
1740
1749
  return;
1741
1750
  }
1742
1751
  callback(event);
@@ -1770,8 +1779,8 @@ const removeListener = (emitter, type, callback) => {
1770
1779
  };
1771
1780
  const getFirstEvent = (eventEmitter, eventMap) => {
1772
1781
  const {
1773
- resolve,
1774
- promise
1782
+ promise,
1783
+ resolve
1775
1784
  } = Promise.withResolvers();
1776
1785
  const listenerMap = Object.create(null);
1777
1786
  const cleanup = value => {
@@ -1783,8 +1792,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
1783
1792
  for (const [event, type] of Object.entries(eventMap)) {
1784
1793
  const listener = event => {
1785
1794
  cleanup({
1786
- type,
1787
- event
1795
+ event,
1796
+ type
1788
1797
  });
1789
1798
  };
1790
1799
  addListener(eventEmitter, event, listener);
@@ -1793,9 +1802,9 @@ const getFirstEvent = (eventEmitter, eventMap) => {
1793
1802
  return promise;
1794
1803
  };
1795
1804
  const Message$1 = 3;
1796
- const create$5$2 = async ({
1797
- messagePort,
1798
- isMessagePortOpen
1805
+ const create$5$1 = async ({
1806
+ isMessagePortOpen,
1807
+ messagePort
1799
1808
  }) => {
1800
1809
  if (!isMessagePort(messagePort)) {
1801
1810
  throw new IpcError('port must be of type MessagePort');
@@ -1808,8 +1817,8 @@ const create$5$2 = async ({
1808
1817
  });
1809
1818
  messagePort.start();
1810
1819
  const {
1811
- type,
1812
- event
1820
+ event,
1821
+ type
1813
1822
  } = await eventPromise;
1814
1823
  if (type !== Message$1) {
1815
1824
  throw new IpcError('Failed to wait for ipc message');
@@ -1844,7 +1853,7 @@ const wrap$5 = messagePort => {
1844
1853
  };
1845
1854
  const IpcParentWithMessagePort$1 = {
1846
1855
  __proto__: null,
1847
- create: create$5$2,
1856
+ create: create$5$1,
1848
1857
  signal: signal$1,
1849
1858
  wrap: wrap$5
1850
1859
  };
@@ -1852,8 +1861,8 @@ const Message = 'message';
1852
1861
  const Error$1$1 = 'error';
1853
1862
  const getFirstWorkerEvent = worker => {
1854
1863
  return getFirstEvent(worker, {
1855
- message: Message,
1856
- error: Error$1$1
1864
+ error: Error$1$1,
1865
+ message: Message
1857
1866
  });
1858
1867
  };
1859
1868
  const isErrorEvent = event => {
@@ -1886,17 +1895,17 @@ ${relevant}`;
1886
1895
  }
1887
1896
  }
1888
1897
  const Module = 'module';
1889
- const create$4$3 = async ({
1890
- url,
1891
- name
1898
+ const create$4$2 = async ({
1899
+ name,
1900
+ url
1892
1901
  }) => {
1893
1902
  const worker = new Worker(url, {
1894
- type: Module,
1895
- name
1903
+ name,
1904
+ type: Module
1896
1905
  });
1897
1906
  const {
1898
- type,
1899
- event
1907
+ event,
1908
+ type
1900
1909
  } = await getFirstWorkerEvent(worker);
1901
1910
  switch (type) {
1902
1911
  case Message:
@@ -1948,60 +1957,18 @@ const wrap$4 = worker => {
1948
1957
  };
1949
1958
  const IpcParentWithModuleWorker$1 = {
1950
1959
  __proto__: null,
1951
- create: create$4$3,
1960
+ create: create$4$2,
1952
1961
  wrap: wrap$4
1953
1962
  };
1954
1963
 
1955
- const Two = '2.0';
1956
- const create$4$2 = (method, params) => {
1957
- return {
1958
- jsonrpc: Two,
1959
- method,
1960
- params
1961
- };
1962
- };
1964
+ const Two$1 = '2.0';
1963
1965
  const callbacks = Object.create(null);
1964
- const set$8 = (id, fn) => {
1965
- callbacks[id] = fn;
1966
- };
1967
1966
  const get$7 = id => {
1968
1967
  return callbacks[id];
1969
1968
  };
1970
1969
  const remove$3 = id => {
1971
1970
  delete callbacks[id];
1972
1971
  };
1973
- let id = 0;
1974
- const create$3$1 = () => {
1975
- return ++id;
1976
- };
1977
- const registerPromise = () => {
1978
- const id = create$3$1();
1979
- const {
1980
- resolve,
1981
- promise
1982
- } = Promise.withResolvers();
1983
- set$8(id, resolve);
1984
- return {
1985
- id,
1986
- promise
1987
- };
1988
- };
1989
- const create$2$1 = (method, params) => {
1990
- const {
1991
- id,
1992
- promise
1993
- } = registerPromise();
1994
- const message = {
1995
- jsonrpc: Two,
1996
- method,
1997
- params,
1998
- id
1999
- };
2000
- return {
2001
- message,
2002
- promise
2003
- };
2004
- };
2005
1972
  class JsonRpcError extends Error {
2006
1973
  constructor(message) {
2007
1974
  super(message);
@@ -2197,7 +2164,7 @@ const getErrorProperty = (error, prettyError) => {
2197
2164
  };
2198
2165
  const create$1$1 = (id, error) => {
2199
2166
  return {
2200
- jsonrpc: Two,
2167
+ jsonrpc: Two$1,
2201
2168
  id,
2202
2169
  error
2203
2170
  };
@@ -2210,7 +2177,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
2210
2177
  };
2211
2178
  const create$C = (message, result) => {
2212
2179
  return {
2213
- jsonrpc: Two,
2180
+ jsonrpc: Two$1,
2214
2181
  id: message.id,
2215
2182
  result: result ?? null
2216
2183
  };
@@ -2221,7 +2188,7 @@ const getSuccessResponse = (message, result) => {
2221
2188
  };
2222
2189
  const getErrorResponseSimple = (id, error) => {
2223
2190
  return {
2224
- jsonrpc: Two,
2191
+ jsonrpc: Two$1,
2225
2192
  id,
2226
2193
  error: {
2227
2194
  code: Custom,
@@ -2308,29 +2275,6 @@ const handleJsonRpcMessage = async (...args) => {
2308
2275
  }
2309
2276
  throw new JsonRpcError('unexpected message');
2310
2277
  };
2311
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
2312
- const {
2313
- message,
2314
- promise
2315
- } = create$2$1(method, params);
2316
- if (useSendAndTransfer && ipc.sendAndTransfer) {
2317
- ipc.sendAndTransfer(message);
2318
- } else {
2319
- ipc.send(message);
2320
- }
2321
- const responseMessage = await promise;
2322
- return unwrapJsonRpcResult(responseMessage);
2323
- };
2324
- const send$1 = (transport, method, ...params) => {
2325
- const message = create$4$2(method, params);
2326
- transport.send(message);
2327
- };
2328
- const invoke$2 = (ipc, method, ...params) => {
2329
- return invokeHelper(ipc, method, params, false);
2330
- };
2331
- const invokeAndTransfer$1 = (ipc, method, ...params) => {
2332
- return invokeHelper(ipc, method, params, true);
2333
- };
2334
2278
 
2335
2279
  class CommandNotFoundError extends Error {
2336
2280
  constructor(command) {
@@ -2350,27 +2294,90 @@ const execute = (command, ...args) => {
2350
2294
  if (!fn) {
2351
2295
  throw new CommandNotFoundError(command);
2352
2296
  }
2353
- return fn(...args);
2297
+ return fn(...args);
2298
+ };
2299
+
2300
+ const Two = '2.0';
2301
+ const create$s$1 = (method, params) => {
2302
+ return {
2303
+ jsonrpc: Two,
2304
+ method,
2305
+ params
2306
+ };
2307
+ };
2308
+ const create$r$1 = (id, method, params) => {
2309
+ const message = {
2310
+ id,
2311
+ jsonrpc: Two,
2312
+ method,
2313
+ params
2314
+ };
2315
+ return message;
2316
+ };
2317
+ let id = 0;
2318
+ const create$q$1 = () => {
2319
+ return ++id;
2320
+ };
2321
+
2322
+ /* eslint-disable n/no-unsupported-features/es-syntax */
2323
+
2324
+ const registerPromise = map => {
2325
+ const id = create$q$1();
2326
+ const {
2327
+ promise,
2328
+ resolve
2329
+ } = Promise.withResolvers();
2330
+ map[id] = resolve;
2331
+ return {
2332
+ id,
2333
+ promise
2334
+ };
2335
+ };
2336
+
2337
+ // @ts-ignore
2338
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
2339
+ const {
2340
+ id,
2341
+ promise
2342
+ } = registerPromise(callbacks);
2343
+ const message = create$r$1(id, method, params);
2344
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
2345
+ ipc.sendAndTransfer(message);
2346
+ } else {
2347
+ ipc.send(message);
2348
+ }
2349
+ const responseMessage = await promise;
2350
+ return unwrapJsonRpcResult(responseMessage);
2354
2351
  };
2355
-
2356
2352
  const createRpc = ipc => {
2353
+ const callbacks = Object.create(null);
2354
+ ipc._resolve = (id, response) => {
2355
+ const fn = callbacks[id];
2356
+ if (!fn) {
2357
+ console.warn(`callback ${id} may already be disposed`);
2358
+ return;
2359
+ }
2360
+ fn(response);
2361
+ delete callbacks[id];
2362
+ };
2357
2363
  const rpc = {
2364
+ async dispose() {
2365
+ await ipc?.dispose();
2366
+ },
2367
+ invoke(method, ...params) {
2368
+ return invokeHelper(callbacks, ipc, method, params, false);
2369
+ },
2370
+ invokeAndTransfer(method, ...params) {
2371
+ return invokeHelper(callbacks, ipc, method, params, true);
2372
+ },
2358
2373
  // @ts-ignore
2359
2374
  ipc,
2360
2375
  /**
2361
2376
  * @deprecated
2362
2377
  */
2363
2378
  send(method, ...params) {
2364
- send$1(ipc, method, ...params);
2365
- },
2366
- invoke(method, ...params) {
2367
- return invoke$2(ipc, method, ...params);
2368
- },
2369
- invokeAndTransfer(method, ...params) {
2370
- return invokeAndTransfer$1(ipc, method, ...params);
2371
- },
2372
- async dispose() {
2373
- await ipc?.dispose();
2379
+ const message = create$s$1(method, params);
2380
+ ipc.send(message);
2374
2381
  }
2375
2382
  };
2376
2383
  return rpc;
@@ -2387,7 +2394,7 @@ const logError$1 = () => {
2387
2394
  const handleMessage = event => {
2388
2395
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
2389
2396
  const actualExecute = event?.target?.execute || execute;
2390
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError$1, actualRequiresSocket);
2397
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError$1, actualRequiresSocket);
2391
2398
  };
2392
2399
  const handleIpc = ipc => {
2393
2400
  if ('addEventListener' in ipc) {
@@ -2405,7 +2412,7 @@ const unhandleIpc = ipc => {
2405
2412
  ipc.onmessage = null;
2406
2413
  }
2407
2414
  };
2408
- const create$g$1 = async ({
2415
+ const create$l$1 = async ({
2409
2416
  commandMap,
2410
2417
  window
2411
2418
  }) => {
@@ -2418,21 +2425,21 @@ const create$g$1 = async ({
2418
2425
  };
2419
2426
  const ElectronWindowRpcClient = {
2420
2427
  __proto__: null,
2421
- create: create$g$1
2428
+ create: create$l$1
2422
2429
  };
2423
2430
  const isWorker = value => {
2424
2431
  return value instanceof Worker;
2425
2432
  };
2426
- const create$c$1 = async ({
2433
+ const create$b$1 = async ({
2427
2434
  commandMap,
2428
- url,
2429
- name
2435
+ name,
2436
+ url
2430
2437
  }) => {
2431
2438
  // TODO create a commandMap per rpc instance
2432
2439
  register(commandMap);
2433
2440
  const worker = await IpcParentWithModuleWorker$1.create({
2434
- url,
2435
- name
2441
+ name,
2442
+ url
2436
2443
  });
2437
2444
  if (!isWorker(worker)) {
2438
2445
  throw new Error(`worker must be of type Worker`);
@@ -2444,19 +2451,19 @@ const create$c$1 = async ({
2444
2451
  };
2445
2452
  const ModuleWorkerRpcParent = {
2446
2453
  __proto__: null,
2447
- create: create$c$1
2454
+ create: create$b$1
2448
2455
  };
2449
- const create$b$1 = async ({
2456
+ const create$a$1 = async ({
2450
2457
  commandMap,
2451
- url,
2458
+ name,
2452
2459
  port,
2453
- name
2460
+ url
2454
2461
  }) => {
2455
2462
  // TODO create a commandMap per rpc instance
2456
2463
  register(commandMap);
2457
2464
  const worker = await IpcParentWithModuleWorker$1.create({
2458
- url,
2459
- name
2465
+ name,
2466
+ url
2460
2467
  });
2461
2468
  if (!isWorker(worker)) {
2462
2469
  throw new Error(`worker must be of type Worker`);
@@ -2470,17 +2477,18 @@ const create$b$1 = async ({
2470
2477
  };
2471
2478
  const ModuleWorkerWithMessagePortRpcParent = {
2472
2479
  __proto__: null,
2473
- create: create$b$1
2480
+ create: create$a$1
2474
2481
  };
2475
- const create$5$1 = async ({
2482
+ const create$4$1 = async ({
2476
2483
  commandMap,
2484
+ isMessagePortOpen = true,
2477
2485
  messagePort
2478
2486
  }) => {
2479
2487
  // TODO create a commandMap per rpc instance
2480
2488
  register(commandMap);
2481
2489
  const rawIpc = await IpcParentWithMessagePort$1.create({
2482
- messagePort,
2483
- isMessagePortOpen: true
2490
+ isMessagePortOpen,
2491
+ messagePort
2484
2492
  });
2485
2493
  const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
2486
2494
  handleIpc(ipc);
@@ -2488,31 +2496,31 @@ const create$5$1 = async ({
2488
2496
  messagePort.start();
2489
2497
  return rpc;
2490
2498
  };
2491
- const create$4$1 = async ({
2499
+ const create$3$1 = async ({
2492
2500
  commandMap,
2493
2501
  messagePort
2494
2502
  }) => {
2495
- return create$5$1({
2503
+ return create$4$1({
2496
2504
  commandMap,
2497
2505
  messagePort
2498
2506
  });
2499
2507
  };
2500
2508
  const PlainMessagePortRpcParent = {
2501
2509
  __proto__: null,
2502
- create: create$4$1
2510
+ create: create$3$1
2503
2511
  };
2504
2512
 
2505
2513
  // TODO add test
2506
2514
  const create$B = async ({
2507
- url,
2508
2515
  name,
2509
- port
2516
+ port,
2517
+ url
2510
2518
  }) => {
2511
2519
  await ModuleWorkerWithMessagePortRpcParent.create({
2512
- url,
2513
- name,
2514
2520
  commandMap: {},
2515
- port
2521
+ name,
2522
+ port,
2523
+ url
2516
2524
  });
2517
2525
  return undefined;
2518
2526
  };
@@ -2553,8 +2561,8 @@ const isElectron = platform === Electron;
2553
2561
 
2554
2562
  // TODO use handleIncomingIpc function
2555
2563
  const create$A = async ({
2556
- port,
2557
- ipcId
2564
+ ipcId,
2565
+ port
2558
2566
  }) => {
2559
2567
  number(ipcId);
2560
2568
  if (!isElectron) {
@@ -2575,16 +2583,16 @@ const IpcParentWithElectron = {
2575
2583
 
2576
2584
  const getModule = method => {
2577
2585
  switch (method) {
2578
- case ModuleWorker:
2579
- return IpcParentWithModuleWorker$2;
2586
+ case Electron$1:
2587
+ return IpcParentWithElectron;
2580
2588
  case MessagePort$1:
2581
2589
  return IpcParentWithMessagePort$2;
2582
- case ReferencePort:
2583
- return IpcParentWithReferencePort;
2590
+ case ModuleWorker:
2591
+ return IpcParentWithModuleWorker$2;
2584
2592
  case ModuleWorkerWithMessagePort:
2585
2593
  return IpcParentWithModuleWorkerWithMessagePort;
2586
- case Electron$1:
2587
- return IpcParentWithElectron;
2594
+ case ReferencePort:
2595
+ return IpcParentWithReferencePort;
2588
2596
  default:
2589
2597
  throw new Error('unexpected ipc type');
2590
2598
  }
@@ -2611,9 +2619,9 @@ const launchWorker = async ({
2611
2619
  url
2612
2620
  }) => {
2613
2621
  const rpc = await ModuleWorkerRpcParent.create({
2614
- url,
2622
+ commandMap: commandMapRef,
2615
2623
  name,
2616
- commandMap: commandMapRef
2624
+ url
2617
2625
  });
2618
2626
  return rpc;
2619
2627
  };
@@ -2785,8 +2793,8 @@ const setThemeColor = color => {
2785
2793
 
2786
2794
  // TODO this file is not needed when all elements are position fixed
2787
2795
  const state$6 = {
2788
- widgetSet: new Set(),
2789
- $Widgets: undefined
2796
+ $Widgets: undefined,
2797
+ widgetSet: new Set()
2790
2798
  };
2791
2799
  const create$Widgets = () => {
2792
2800
  const $Widgets = document.createElement('div');
@@ -3102,13 +3110,13 @@ const FocusOutput = 28;
3102
3110
  // TODO keyboard handling
3103
3111
 
3104
3112
  const state$3 = {
3105
- handleKeyDown(event) {},
3106
- handleFocusOut(event) {},
3107
3113
  $$Menus: [],
3114
+ $BackDrop: undefined,
3115
+ anchorTime: -1,
3108
3116
  anchorX: 0,
3109
3117
  anchorY: 0,
3110
- anchorTime: -1,
3111
- $BackDrop: undefined
3118
+ handleFocusOut(event) {},
3119
+ handleKeyDown(event) {}
3112
3120
  };
3113
3121
  const getLevel = $Menu => {
3114
3122
  // @ts-expect-error
@@ -3157,9 +3165,9 @@ const handleMouseDown$4 = event => {
3157
3165
  */
3158
3166
  const handleMouseEnter = event => {
3159
3167
  const {
3160
- target,
3161
3168
  clientX,
3162
3169
  clientY,
3170
+ target,
3163
3171
  timeStamp
3164
3172
  } = event;
3165
3173
  const $Menu = target.closest('.Menu');
@@ -3295,15 +3303,15 @@ const hideSubMenu = level => {
3295
3303
 
3296
3304
  // TODO support nested menus / submenus
3297
3305
  const showControlled = ({
3298
- x,
3299
- y,
3300
- items,
3301
- handleKeyDown,
3302
- handleFocusOut,
3303
3306
  $Parent,
3307
+ handleFocusOut,
3308
+ handleKeyDown,
3309
+ height,
3310
+ items,
3304
3311
  level,
3305
3312
  width,
3306
- height
3313
+ x,
3314
+ y
3307
3315
  }) => {
3308
3316
  // @ts-expect-error
3309
3317
  showMenu(x, y, width, height, items, level);
@@ -3466,12 +3474,12 @@ const start = async (id, options) => {
3466
3474
 
3467
3475
  const getEventClass = eventType => {
3468
3476
  switch (eventType) {
3469
- case Wheel:
3470
- return WheelEvent;
3471
3477
  case PointerDown:
3472
- case PointerUp:
3473
3478
  case PointerMove:
3479
+ case PointerUp:
3474
3480
  return PointerEvent;
3481
+ case Wheel:
3482
+ return WheelEvent;
3475
3483
  default:
3476
3484
  return Event;
3477
3485
  }
@@ -3586,8 +3594,8 @@ const querySelector = selector => {
3586
3594
  throw new Error(`unsupported selector: ${selector}`);
3587
3595
  };
3588
3596
  const querySelectorWithOptions = (selector, {
3589
- nth = -1,
3590
- hasText = ''
3597
+ hasText = '',
3598
+ nth = -1
3591
3599
  } = {}) => {
3592
3600
  let elements = querySelector(selector);
3593
3601
  if (hasText) {
@@ -3628,18 +3636,18 @@ const performAction2 = async (locator, fnName, options) => {
3628
3636
 
3629
3637
  const toHaveText$1 = locator => {
3630
3638
  const element = querySelectorWithOptions(locator._selector, {
3631
- nth: locator._nth,
3632
- hasText: locator._hasText
3639
+ hasText: locator._hasText,
3640
+ nth: locator._nth
3633
3641
  });
3634
3642
  if (!element) {
3635
3643
  return {
3636
- wasFound: false,
3637
- actual: ''
3644
+ actual: '',
3645
+ wasFound: false
3638
3646
  };
3639
3647
  }
3640
3648
  return {
3641
- wasFound: true,
3642
- actual: element.textContent
3649
+ actual: element.textContent,
3650
+ wasFound: true
3643
3651
  };
3644
3652
  };
3645
3653
  const toHaveAttribute$1 = (locator, {
@@ -3647,19 +3655,19 @@ const toHaveAttribute$1 = (locator, {
3647
3655
  value
3648
3656
  }) => {
3649
3657
  const element = querySelectorWithOptions(locator._selector, {
3650
- nth: locator._nth,
3651
- hasText: locator._hasText
3658
+ hasText: locator._hasText,
3659
+ nth: locator._nth
3652
3660
  });
3653
3661
  if (!element) {
3654
3662
  return {
3655
- wasFound: false,
3656
- actual: ''
3663
+ actual: '',
3664
+ wasFound: false
3657
3665
  };
3658
3666
  }
3659
3667
  const actual = element.getAttribute(key);
3660
3668
  return {
3661
- wasFound: true,
3662
- actual
3669
+ actual,
3670
+ wasFound: true
3663
3671
  };
3664
3672
  };
3665
3673
  const toHaveCount$1 = locator => {
@@ -3694,26 +3702,26 @@ const toHaveClass$1 = (locator, {
3694
3702
  const [element] = querySelector(locator._selector);
3695
3703
  if (!element) {
3696
3704
  return {
3697
- wasFound: false,
3698
- actual: ''
3705
+ actual: '',
3706
+ wasFound: false
3699
3707
  };
3700
3708
  }
3701
3709
  return {
3702
- wasFound: true,
3703
- actual: className
3710
+ actual: className,
3711
+ wasFound: true
3704
3712
  };
3705
3713
  };
3706
3714
  const toHaveId$1 = locator => {
3707
3715
  const [element] = querySelector(locator._selector);
3708
3716
  if (!element) {
3709
3717
  return {
3710
- wasFound: false,
3711
- actual: ''
3718
+ actual: '',
3719
+ wasFound: false
3712
3720
  };
3713
3721
  }
3714
3722
  return {
3715
- wasFound: true,
3716
- actual: element.id
3723
+ actual: element.id,
3724
+ wasFound: true
3717
3725
  };
3718
3726
  };
3719
3727
  const toHaveCss$1 = (locator, {
@@ -3722,15 +3730,15 @@ const toHaveCss$1 = (locator, {
3722
3730
  const [element] = querySelector(locator._selector);
3723
3731
  if (!element) {
3724
3732
  return {
3725
- wasFound: false,
3726
- actual: ''
3733
+ actual: '',
3734
+ wasFound: false
3727
3735
  };
3728
3736
  }
3729
3737
  const style = getComputedStyle(element);
3730
3738
  const actual = style[key];
3731
3739
  return {
3732
- wasFound: true,
3733
- actual
3740
+ actual,
3741
+ wasFound: true
3734
3742
  };
3735
3743
  };
3736
3744
  const toHaveJSProperty$1 = (locator, {
@@ -3739,14 +3747,14 @@ const toHaveJSProperty$1 = (locator, {
3739
3747
  const [element] = querySelector(locator._selector);
3740
3748
  if (!element) {
3741
3749
  return {
3742
- wasFound: false,
3743
- actual: ''
3750
+ actual: '',
3751
+ wasFound: false
3744
3752
  };
3745
3753
  }
3746
3754
  const actual = element[key];
3747
3755
  return {
3748
- wasFound: true,
3749
- actual
3756
+ actual,
3757
+ wasFound: true
3750
3758
  };
3751
3759
  };
3752
3760
 
@@ -4370,16 +4378,16 @@ const create$u = (pointerDown, pointerMove, pointerUp) => {
4370
4378
  };
4371
4379
  const handlePointerUp = event => {
4372
4380
  const {
4373
- target,
4374
- pointerId
4381
+ pointerId,
4382
+ target
4375
4383
  } = event;
4376
4384
  stopTracking$1(target, pointerId, handlePointerMove, handlePointerUp);
4377
4385
  shared(pointerUp, event);
4378
4386
  };
4379
4387
  const handlePointerDown = event => {
4380
4388
  const {
4381
- target,
4382
- pointerId
4389
+ pointerId,
4390
+ target
4383
4391
  } = event;
4384
4392
  startTracking$1(target, pointerId, handlePointerMove, handlePointerUp);
4385
4393
  shared(pointerDown, event);
@@ -4496,11 +4504,11 @@ const handleKeyDown$3 = event => {
4496
4504
  stopPropagation(event);
4497
4505
  const uid = fromEvent(event);
4498
4506
  const {
4499
- key,
4500
4507
  altKey,
4501
4508
  ctrlKey,
4502
- shiftKey,
4503
- metaKey
4509
+ key,
4510
+ metaKey,
4511
+ shiftKey
4504
4512
  } = event;
4505
4513
  handleKeyDown$4(uid, key, altKey, ctrlKey, shiftKey, metaKey);
4506
4514
  };
@@ -4608,12 +4616,12 @@ const create$r = () => {
4608
4616
  $Dialog.append($DialogHeader, $DialogBody);
4609
4617
  $Dialog.onclick = handleClick$4;
4610
4618
  return {
4611
- $Viewlet: $Dialog,
4612
- $DialogTitle,
4613
4619
  $DialogBodyErrorCodeFrame,
4614
4620
  $DialogBodyErrorMessage,
4621
+ $DialogBodyErrorStack,
4615
4622
  $DialogBodyOptions,
4616
- $DialogBodyErrorStack
4623
+ $DialogTitle,
4624
+ $Viewlet: $Dialog
4617
4625
  };
4618
4626
  };
4619
4627
  const postAppend = state => {
@@ -5000,17 +5008,17 @@ const handleScrollBarThumbPointerMove = event => {
5000
5008
  };
5001
5009
  const handlePointerCaptureLost$2 = event => {
5002
5010
  const {
5003
- target,
5004
- pointerId
5011
+ pointerId,
5012
+ target
5005
5013
  } = event;
5006
5014
  stopTracking(target, pointerId, handleScrollBarThumbPointerMove, handlePointerCaptureLost$2);
5007
5015
  };
5008
5016
  const handleScrollBarPointerDown$1 = event => {
5009
5017
  preventDefault(event);
5010
5018
  const {
5011
- target,
5019
+ clientY,
5012
5020
  pointerId,
5013
- clientY
5021
+ target
5014
5022
  } = event;
5015
5023
  startTracking(target, pointerId, handleScrollBarThumbPointerMove, handlePointerCaptureLost$2);
5016
5024
  const uid = fromEvent(event);
@@ -5036,12 +5044,12 @@ const Large = 'Large';
5036
5044
 
5037
5045
  const getClassName = size => {
5038
5046
  switch (size) {
5039
- case Small$1:
5040
- return Small;
5041
- case Normal$1:
5042
- return Normal;
5043
5047
  case Large$1:
5044
5048
  return Large;
5049
+ case Normal$1:
5050
+ return Normal;
5051
+ case Small$1:
5052
+ return Small;
5045
5053
  default:
5046
5054
  return None$1;
5047
5055
  }
@@ -5090,17 +5098,17 @@ const create$q = () => {
5090
5098
  $Viewlet.id = 'Completions';
5091
5099
  $Viewlet.append($ListItems, $ScrollBar);
5092
5100
  return {
5093
- $Viewlet,
5094
5101
  $ListItems,
5095
5102
  $ScrollBar,
5096
- $ScrollBarThumb
5103
+ $ScrollBarThumb,
5104
+ $Viewlet
5097
5105
  };
5098
5106
  };
5099
5107
  const attachEvents$7 = state => {
5100
5108
  const {
5101
- $Viewlet,
5102
5109
  $ListItems,
5103
- $ScrollBar
5110
+ $ScrollBar,
5111
+ $Viewlet
5104
5112
  } = state;
5105
5113
  $Viewlet.addEventListener(Wheel, handleWheel$2, Passive);
5106
5114
  attachEvents$8($ListItems, {
@@ -5329,9 +5337,9 @@ const RightClick = 2;
5329
5337
  */
5330
5338
  const handlePointerMove = event => {
5331
5339
  const {
5332
- pointerId,
5333
5340
  clientX,
5334
- clientY
5341
+ clientY,
5342
+ pointerId
5335
5343
  } = event;
5336
5344
  const uid = fromEvent(event);
5337
5345
  handlePointerMove$1(uid, pointerId, clientX, clientY);
@@ -5342,10 +5350,10 @@ const handlePointerMove = event => {
5342
5350
  */
5343
5351
  const handlePointerUp = event => {
5344
5352
  const {
5345
- pointerId,
5353
+ button,
5346
5354
  clientX,
5347
5355
  clientY,
5348
- button
5356
+ pointerId
5349
5357
  } = event;
5350
5358
  if (button !== LeftClick) {
5351
5359
  return;
@@ -5366,11 +5374,11 @@ const handlePointerCaptureLost$1 = event => {
5366
5374
  */
5367
5375
  const handlePointerDown$1 = event => {
5368
5376
  const {
5369
- pointerId,
5377
+ button,
5370
5378
  clientX,
5371
5379
  clientY,
5372
- target,
5373
- button
5380
+ pointerId,
5381
+ target
5374
5382
  } = event;
5375
5383
  if (button !== LeftClick) {
5376
5384
  return;
@@ -5432,10 +5440,10 @@ const attachEvents$5 = state => {
5432
5440
  $Viewlet
5433
5441
  } = state;
5434
5442
  attachEvents$8($Viewlet, {
5435
- [PointerDown]: handlePointerDown$1,
5436
- [PointerUp]: handlePointerUp,
5437
5443
  [ContextMenu]: handleContextMenu$4,
5438
- [FocusIn]: handleFocus$6
5444
+ [FocusIn]: handleFocus$6,
5445
+ [PointerDown]: handlePointerDown$1,
5446
+ [PointerUp]: handlePointerUp
5439
5447
  });
5440
5448
  $Viewlet.addEventListener(Error$2, handleError$5, Capture);
5441
5449
  $Viewlet.addEventListener(Wheel, handleWheel$1, Passive);
@@ -5622,9 +5630,9 @@ const handleFocus$5 = event => {
5622
5630
  };
5623
5631
  const handleMouseMove = event => {
5624
5632
  const {
5633
+ altKey,
5625
5634
  clientX,
5626
- clientY,
5627
- altKey
5635
+ clientY
5628
5636
  } = event;
5629
5637
  return ['handleMouseMove', clientX, clientY, altKey];
5630
5638
  };
@@ -5641,8 +5649,8 @@ const handleBlur$5 = event => {
5641
5649
  const handleBeforeInput = event => {
5642
5650
  preventDefault(event);
5643
5651
  const {
5644
- inputType,
5645
- data
5652
+ data,
5653
+ inputType
5646
5654
  } = event;
5647
5655
  return ['handleBeforeInput', inputType, data];
5648
5656
  };
@@ -5681,9 +5689,9 @@ const isRightClick = event => {
5681
5689
  };
5682
5690
  const handleEditorPointerMove = event => {
5683
5691
  const {
5692
+ altKey,
5684
5693
  clientX,
5685
- clientY,
5686
- altKey
5694
+ clientY
5687
5695
  } = event;
5688
5696
  // TODO if/else should be in renderer worker
5689
5697
  if (altKey) {
@@ -5706,13 +5714,13 @@ const handleEditorLostPointerCapture = event => {
5706
5714
  */
5707
5715
  const handleEditorPointerDown = event => {
5708
5716
  const {
5709
- target,
5710
- pointerId
5717
+ pointerId,
5718
+ target
5711
5719
  } = event;
5712
5720
  target.setPointerCapture(pointerId);
5713
5721
  attachEventsFunctional(target, {
5714
- [PointerMove]: handleEditorPointerMove,
5715
5722
  [LostPointerCapture]: handleEditorLostPointerCapture,
5723
+ [PointerMove]: handleEditorPointerMove,
5716
5724
  returnValue: true
5717
5725
  });
5718
5726
  return [];
@@ -5788,8 +5796,8 @@ const handleScrollBarThumbHorizontalPointerMove = event => {
5788
5796
  */
5789
5797
  const handleScrollBarHorizontalPointerUp = event => {
5790
5798
  const {
5791
- target,
5792
- pointerId
5799
+ pointerId,
5800
+ target
5793
5801
  } = event;
5794
5802
  stopTracking(target, pointerId, handleScrollBarThumbHorizontalPointerMove, handleScrollBarHorizontalPointerUp);
5795
5803
  return [];
@@ -5801,9 +5809,9 @@ const handleScrollBarHorizontalPointerUp = event => {
5801
5809
  */
5802
5810
  const handleScrollBarHorizontalPointerDown = event => {
5803
5811
  const {
5804
- target,
5812
+ clientX,
5805
5813
  pointerId,
5806
- clientX
5814
+ target
5807
5815
  } = event;
5808
5816
  startTracking(target, pointerId, handleScrollBarThumbHorizontalPointerMove, handleScrollBarHorizontalPointerUp);
5809
5817
  return ['handleScrollBarHorizontalPointerDown', clientX];
@@ -5895,12 +5903,12 @@ const create$l = () => {
5895
5903
  // TODO where to best put listeners (side effects)
5896
5904
  attachEventsFunctional($EditorInput, {
5897
5905
  [BeforeInput]: handleBeforeInput,
5906
+ [Blur]: handleBlur$5,
5907
+ [CompositionEnd]: handleCompositionEnd,
5898
5908
  [CompositionStart]: handleCompositionStart,
5899
5909
  [CompositionUpdate]: handleCompositionUpdate,
5900
- [CompositionEnd]: handleCompositionEnd,
5901
- [Focus]: handleFocus$5,
5902
- [Blur]: handleBlur$5,
5903
5910
  [Cut]: handleCut,
5911
+ [Focus]: handleFocus$5,
5904
5912
  [Paste]: handlePaste,
5905
5913
  returnValue: true
5906
5914
  });
@@ -5925,8 +5933,8 @@ const create$l = () => {
5925
5933
  const $ScrollBarVertical = document.createElement('div');
5926
5934
  $ScrollBarVertical.className = 'ScrollBar ScrollBarVertical';
5927
5935
  attachEventsFunctional($ScrollBarVertical, {
5928
- [PointerDown]: handleScrollBarVerticalPointerDown,
5929
5936
  [ContextMenu]: handleScrollBarContextMenu,
5937
+ [PointerDown]: handleScrollBarVerticalPointerDown,
5930
5938
  returnValue: true
5931
5939
  });
5932
5940
  $ScrollBarVertical.append($ScrollBarThumbVertical);
@@ -5973,19 +5981,19 @@ const create$l = () => {
5973
5981
  returnValue: true
5974
5982
  });
5975
5983
  return {
5976
- $LayerCursor,
5977
- $LayerSelections,
5978
- $LayerText,
5979
- $LayerGutter,
5980
- $EditorLayers,
5981
5984
  $Editor,
5982
5985
  $EditorInput,
5983
- $ScrollBarThumbVertical,
5984
- $ScrollBarThumbHorizontal,
5986
+ $EditorLayers,
5987
+ $LayerCursor,
5985
5988
  $LayerDiagnostics,
5989
+ $LayerGutter,
5990
+ $LayerSelections,
5991
+ $LayerText,
5986
5992
  $ScrollBarDiagnostics,
5987
- shouldIgnoreSelectionChange: false,
5988
- $Viewlet: $Editor
5993
+ $ScrollBarThumbHorizontal,
5994
+ $ScrollBarThumbVertical,
5995
+ $Viewlet: $Editor,
5996
+ shouldIgnoreSelectionChange: false
5989
5997
  };
5990
5998
  };
5991
5999
  const setText$2 = (state, dom) => {
@@ -5997,8 +6005,8 @@ const setIncrementalEdits$1 = (state, incrementalEdits) => {
5997
6005
  } = state;
5998
6006
  for (const incrementalEdit of incrementalEdits) {
5999
6007
  const {
6000
- rowIndex,
6001
6008
  columnIndex,
6009
+ rowIndex,
6002
6010
  text
6003
6011
  } = incrementalEdit;
6004
6012
  const $Row = $LayerText.children[rowIndex];
@@ -6451,16 +6459,16 @@ const handleResizerPointerMove = event => {
6451
6459
  // TODO use lostpointercapture event instead
6452
6460
  const handleResizerPointerUp = event => {
6453
6461
  const {
6454
- target,
6455
- pointerId
6462
+ pointerId,
6463
+ target
6456
6464
  } = event;
6457
6465
  stopTracking(target, pointerId, handleResizerPointerMove, handleResizerPointerUp);
6458
6466
  };
6459
6467
  const handleResizerPointerDown = event => {
6460
6468
  const {
6461
- target,
6469
+ clientX,
6462
6470
  pointerId,
6463
- clientX
6471
+ target
6464
6472
  } = event;
6465
6473
  startTracking(target, pointerId, handleResizerPointerMove, handleResizerPointerUp);
6466
6474
  const id = target.nextSibling ? 1 : 2;
@@ -6616,6 +6624,7 @@ const Minus$1 = '-';
6616
6624
  const Period$1 = '.';
6617
6625
  const Slash$1 = '/';
6618
6626
  const Backquote$1 = '`';
6627
+ const Backquote2 = 'Backquote';
6619
6628
  const BracketLeft$1 = '[';
6620
6629
  const Backslash$1 = '\\';
6621
6630
  const BracketRight$1 = ']';
@@ -6715,35 +6724,19 @@ const Plus = 132;
6715
6724
 
6716
6725
  const getKeyCode = key => {
6717
6726
  switch (key) {
6727
+ case Backquote$1:
6728
+ case Backquote2:
6729
+ return Backquote;
6730
+ case Backslash$1:
6731
+ return Backslash;
6718
6732
  case Backspace$1:
6719
6733
  return Backspace;
6720
- case Tab$1:
6721
- return Tab;
6722
- case Escape$1:
6723
- return Escape;
6724
- case Enter$1:
6725
- return Enter;
6726
- case Space$1:
6727
- case Space2:
6728
- return Space;
6729
- case PageUp$1:
6730
- return PageUp;
6731
- case PageDown$1:
6732
- return PageDown;
6733
- case End$1:
6734
- return End;
6735
- case Home$1:
6736
- return Home;
6737
- case LeftArrow$1:
6738
- return LeftArrow;
6739
- case UpArrow$1:
6740
- return UpArrow;
6741
- case RightArrow$1:
6742
- return RightArrow;
6743
- case DownArrow$1:
6744
- return DownArrow;
6745
- case Insert$1:
6746
- return Insert;
6734
+ case BracketLeft$1:
6735
+ return BracketLeft;
6736
+ case BracketRight$1:
6737
+ return BracketRight;
6738
+ case Comma$1:
6739
+ return Comma;
6747
6740
  case Delete$1:
6748
6741
  return Delete;
6749
6742
  case Digit0$1:
@@ -6766,6 +6759,68 @@ const getKeyCode = key => {
6766
6759
  return Digit8;
6767
6760
  case Digit9$1:
6768
6761
  return Digit9;
6762
+ case DownArrow$1:
6763
+ return DownArrow;
6764
+ case End$1:
6765
+ return End;
6766
+ case Enter$1:
6767
+ return Enter;
6768
+ case Equal$1:
6769
+ return Equal;
6770
+ case Escape$1:
6771
+ return Escape;
6772
+ case F1$1:
6773
+ return F1;
6774
+ case F10$1:
6775
+ return F10;
6776
+ case F11$1:
6777
+ return F11;
6778
+ case F12$1:
6779
+ return F12;
6780
+ case F13$1:
6781
+ return F13;
6782
+ case F14$1:
6783
+ return F14;
6784
+ case F15$1:
6785
+ return F15;
6786
+ case F16$1:
6787
+ return F16;
6788
+ case F17$1:
6789
+ return F17;
6790
+ case F18$1:
6791
+ return F18;
6792
+ case F19$1:
6793
+ return F19;
6794
+ case F2$1:
6795
+ return F2;
6796
+ case F20$1:
6797
+ return F20;
6798
+ case F21$1:
6799
+ return F21;
6800
+ case F22$1:
6801
+ return F22;
6802
+ case F23$1:
6803
+ return F23;
6804
+ case F24$1:
6805
+ return F24;
6806
+ case F3$1:
6807
+ return F3;
6808
+ case F4$1:
6809
+ return F4;
6810
+ case F5$1:
6811
+ return F5;
6812
+ case F6$1:
6813
+ return F6;
6814
+ case F7$1:
6815
+ return F7;
6816
+ case F8$1:
6817
+ return F8;
6818
+ case F9$1:
6819
+ return F9;
6820
+ case Home$1:
6821
+ return Home;
6822
+ case Insert$1:
6823
+ return Insert;
6769
6824
  case KeyA$1:
6770
6825
  return KeyA;
6771
6826
  case KeyB$1:
@@ -6818,80 +6873,35 @@ const getKeyCode = key => {
6818
6873
  return KeyY;
6819
6874
  case KeyZ$1:
6820
6875
  return KeyZ;
6821
- case F1$1:
6822
- return F1;
6823
- case F2$1:
6824
- return F2;
6825
- case F3$1:
6826
- return F3;
6827
- case F4$1:
6828
- return F4;
6829
- case F5$1:
6830
- return F5;
6831
- case F6$1:
6832
- return F6;
6833
- case F7$1:
6834
- return F7;
6835
- case F8$1:
6836
- return F8;
6837
- case F9$1:
6838
- return F9;
6839
- case F10$1:
6840
- return F10;
6841
- case F11$1:
6842
- return F11;
6843
- case F12$1:
6844
- return F12;
6845
- case F13$1:
6846
- return F13;
6847
- case F14$1:
6848
- return F14;
6849
- case F15$1:
6850
- return F15;
6851
- case F16$1:
6852
- return F16;
6853
- case F17$1:
6854
- return F17;
6855
- case F18$1:
6856
- return F18;
6857
- case F19$1:
6858
- return F19;
6859
- case F20$1:
6860
- return F20;
6861
- case F21$1:
6862
- return F21;
6863
- case F22$1:
6864
- return F22;
6865
- case F23$1:
6866
- return F23;
6867
- case F24$1:
6868
- return F24;
6869
- case SemiColon$1:
6870
- return SemiColon;
6871
- case Equal$1:
6872
- return Equal;
6873
- case Comma$1:
6874
- return Comma;
6876
+ case LeftArrow$1:
6877
+ return LeftArrow;
6875
6878
  case Minus$1:
6876
6879
  return Minus;
6880
+ case PageDown$1:
6881
+ return PageDown;
6882
+ case PageUp$1:
6883
+ return PageUp;
6877
6884
  case Period$1:
6878
6885
  return Period;
6879
- case Slash$1:
6880
- return Slash;
6881
- case Backquote$1:
6882
- return Backquote;
6883
- case BracketLeft$1:
6884
- return BracketLeft;
6885
- case Backslash$1:
6886
- return Backslash;
6887
- case BracketRight$1:
6888
- return BracketRight;
6886
+ case Plus$1:
6887
+ return Plus;
6889
6888
  case Quote$1:
6890
6889
  return Quote;
6890
+ case RightArrow$1:
6891
+ return RightArrow;
6892
+ case SemiColon$1:
6893
+ return SemiColon;
6894
+ case Slash$1:
6895
+ return Slash;
6896
+ case Space$1:
6897
+ case Space2:
6898
+ return Space;
6891
6899
  case Star$1:
6892
6900
  return Star;
6893
- case Plus$1:
6894
- return Plus;
6901
+ case Tab$1:
6902
+ return Tab;
6903
+ case UpArrow$1:
6904
+ return UpArrow;
6895
6905
  default:
6896
6906
  return Unknown;
6897
6907
  }
@@ -6913,11 +6923,11 @@ const normalizeKey = (key, code) => {
6913
6923
 
6914
6924
  const getKeyBindingIdentifier = event => {
6915
6925
  const {
6916
- ctrlKey,
6917
- shiftKey,
6918
6926
  altKey,
6927
+ code,
6928
+ ctrlKey,
6919
6929
  key,
6920
- code
6930
+ shiftKey
6921
6931
  } = event;
6922
6932
  const modifierControl = ctrlKey ? CtrlCmd : 0;
6923
6933
  const modifierShift = shiftKey ? Shift : 0;
@@ -6980,8 +6990,8 @@ const handleSashPointerMove = event => {
6980
6990
  };
6981
6991
  const handlePointerCaptureLost = event => {
6982
6992
  const {
6983
- target,
6984
- pointerId
6993
+ pointerId,
6994
+ target
6985
6995
  } = event;
6986
6996
  stopTracking(target, pointerId, handleSashPointerMove, handlePointerCaptureLost);
6987
6997
  const id = getSashId(target);
@@ -6989,8 +6999,8 @@ const handlePointerCaptureLost = event => {
6989
6999
  };
6990
7000
  const handleSashPointerDown = event => {
6991
7001
  const {
6992
- target,
6993
- pointerId
7002
+ pointerId,
7003
+ target
6994
7004
  } = event;
6995
7005
  startTracking(target, pointerId, handleSashPointerMove, handlePointerCaptureLost);
6996
7006
  const id = getSashId(target);
@@ -7005,8 +7015,8 @@ const handleSashDoubleClick = event => {
7005
7015
  };
7006
7016
  const handleResize = () => {
7007
7017
  const {
7008
- innerWidth,
7009
- innerHeight
7018
+ innerHeight,
7019
+ innerWidth
7010
7020
  } = window;
7011
7021
  handleResize$1(innerWidth, innerHeight);
7012
7022
  };
@@ -7035,36 +7045,36 @@ const create$d = () => {
7035
7045
  $Viewlet.role = Application;
7036
7046
  $Viewlet.append($SashSideBar, $SashPanel);
7037
7047
  return {
7038
- $Viewlet,
7048
+ $SashPanel,
7039
7049
  $SashSideBar,
7040
- $SashPanel
7050
+ $Viewlet
7041
7051
  };
7042
7052
  };
7043
7053
  const attachEvents$4 = state => {
7044
7054
  const {
7045
- $SashSideBar,
7046
- $SashPanel
7055
+ $SashPanel,
7056
+ $SashSideBar
7047
7057
  } = state;
7048
7058
  attachEvents$8($SashSideBar, {
7049
- [PointerDown]: handleSashPointerDown,
7050
- [DoubleClick]: handleSashDoubleClick
7059
+ [DoubleClick]: handleSashDoubleClick,
7060
+ [PointerDown]: handleSashPointerDown
7051
7061
  });
7052
7062
  attachEvents$8($SashPanel, {
7053
- [PointerDown]: handleSashPointerDown,
7054
- [DoubleClick]: handleSashDoubleClick
7063
+ [DoubleClick]: handleSashDoubleClick,
7064
+ [PointerDown]: handleSashPointerDown
7055
7065
  });
7056
7066
  attachEvents$8(window, {
7057
- [Resize]: handleResize,
7058
- [Focus]: handleFocus$2,
7059
7067
  [Blur]: handleBlur$3,
7068
+ [Focus]: handleFocus$2,
7060
7069
  [KeyDown]: handleKeyDown$1,
7061
- [KeyUp]: handleKeyUp
7070
+ [KeyUp]: handleKeyUp,
7071
+ [Resize]: handleResize
7062
7072
  });
7063
7073
  };
7064
7074
  const setSashes = (state, sashSideBar, sashPanel) => {
7065
7075
  const {
7066
- $SashSideBar,
7067
- $SashPanel
7076
+ $SashPanel,
7077
+ $SashSideBar
7068
7078
  } = state;
7069
7079
  setBounds$a($SashSideBar, sashSideBar.x, sashSideBar.y, sashSideBar.width, sashSideBar.height);
7070
7080
  $SashSideBar.classList.toggle('SashActive', sashSideBar.active);
@@ -7139,9 +7149,9 @@ const handleDragLeave = event => {
7139
7149
  const handleDrop$1 = event => {
7140
7150
  preventDefault(event);
7141
7151
  const {
7142
- dataTransfer,
7143
7152
  clientX,
7144
- clientY
7153
+ clientY,
7154
+ dataTransfer
7145
7155
  } = event;
7146
7156
  const {
7147
7157
  files
@@ -7184,11 +7194,11 @@ const create$c = () => {
7184
7194
  // $Main.append($MainTabs, $MainContent)
7185
7195
 
7186
7196
  return {
7187
- $Viewlet,
7197
+ $DragOverlay: undefined,
7188
7198
  $Main: $Viewlet,
7189
7199
  $MainContent: undefined,
7190
7200
  $MainTabs: undefined,
7191
- $DragOverlay: undefined
7201
+ $Viewlet
7192
7202
  };
7193
7203
  };
7194
7204
  const attachEvents$3 = state => {
@@ -7196,11 +7206,11 @@ const attachEvents$3 = state => {
7196
7206
  $Viewlet
7197
7207
  } = state;
7198
7208
  attachEvents$8($Viewlet, {
7199
- [Drop]: handleDrop$1,
7200
- [DragOver]: handleDragOver$1,
7209
+ [ContextMenu]: handleContextMenu$2,
7201
7210
  [DragEnd]: handleDragEnd,
7202
7211
  [DragLeave]: handleDragLeave,
7203
- [ContextMenu]: handleContextMenu$2
7212
+ [DragOver]: handleDragOver$1,
7213
+ [Drop]: handleDrop$1
7204
7214
  });
7205
7215
  };
7206
7216
  const dispose$8 = state => {};
@@ -7298,8 +7308,8 @@ const handleTabsWheel = event => {
7298
7308
  };
7299
7309
  const handleDragStart = event => {
7300
7310
  const {
7301
- target,
7302
- dataTransfer
7311
+ dataTransfer,
7312
+ target
7303
7313
  } = event;
7304
7314
  setEffectAllowed(dataTransfer, CopyMove);
7305
7315
  dataTransfer.setData('x-lvce-drag', target.dataset.dragUid);
@@ -7320,9 +7330,9 @@ const handleDragOver = event => {
7320
7330
  const handleDrop = event => {
7321
7331
  preventDefault(event);
7322
7332
  const {
7323
- dataTransfer,
7324
7333
  clientX,
7325
- clientY
7334
+ clientY,
7335
+ dataTransfer
7326
7336
  } = event;
7327
7337
  const item = dataTransfer.getData('x-lvce-drag');
7328
7338
  const uid = getUid();
@@ -7330,9 +7340,9 @@ const handleDrop = event => {
7330
7340
  };
7331
7341
  const handleTabsMouseDown = event => {
7332
7342
  const {
7343
+ button,
7333
7344
  clientX,
7334
- clientY,
7335
- button
7345
+ clientY
7336
7346
  } = event;
7337
7347
  const uid = getUid();
7338
7348
  handleTabClick(uid, button, clientX, clientY);
@@ -7353,8 +7363,8 @@ const create$b = () => {
7353
7363
  $MainTabs.role = TabList;
7354
7364
  // TODO race condition: what if tab has already been closed?
7355
7365
  return {
7356
- $Viewlet: $MainTabs,
7357
- $MainTabs
7366
+ $MainTabs,
7367
+ $Viewlet: $MainTabs
7358
7368
  };
7359
7369
  };
7360
7370
  const attachEvents$2 = state => {
@@ -7467,10 +7477,10 @@ const create$a = () => {
7467
7477
  $Viewlet.tabIndex = 0;
7468
7478
  $Viewlet.append($ViewletOutputContent, $ViewletOutputWidgets);
7469
7479
  return {
7470
- $Viewlet,
7471
- content: $ViewletOutputContent,
7472
7480
  $Content: $ViewletOutputContent,
7473
- $ViewletOutputContent
7481
+ $Viewlet,
7482
+ $ViewletOutputContent,
7483
+ content: $ViewletOutputContent
7474
7484
  };
7475
7485
  };
7476
7486
  const setText = (state, text) => {
@@ -7517,9 +7527,9 @@ const ViewletOutput = {
7517
7527
  };
7518
7528
 
7519
7529
  const state$1 = {
7520
- instances: Object.create(null),
7521
- currentSideBarView: undefined,
7522
7530
  currentPanelView: undefined,
7531
+ currentSideBarView: undefined,
7532
+ instances: Object.create(null),
7523
7533
  modules: Object.create(null)
7524
7534
  };
7525
7535
 
@@ -7595,21 +7605,21 @@ const create$9 = () => {
7595
7605
  $Viewlet.append($PanelHeader);
7596
7606
  $Viewlet.ariaLabel = 'Panel';
7597
7607
  return {
7598
- $Panel: $Viewlet,
7599
- $Viewlet,
7600
- $PanelTabs,
7601
- $PanelHeader,
7602
- $PanelContent: undefined,
7603
7608
  $ButtonClose,
7604
7609
  $ButtonMaximize,
7605
- $PanelActions
7610
+ $Panel: $Viewlet,
7611
+ $PanelActions,
7612
+ $PanelContent: undefined,
7613
+ $PanelHeader,
7614
+ $PanelTabs,
7615
+ $Viewlet
7606
7616
  };
7607
7617
  // await openViewlet('Terminal')
7608
7618
  };
7609
7619
  const attachEvents$1 = state => {
7610
7620
  const {
7611
- $ButtonMaximize,
7612
7621
  $ButtonClose,
7622
+ $ButtonMaximize,
7613
7623
  $PanelHeader
7614
7624
  } = state;
7615
7625
  attachEvents$8($PanelHeader, {
@@ -7764,12 +7774,12 @@ const create$7 = () => {
7764
7774
  $Viewlet.ariaRoleDescription = SideBar$1;
7765
7775
  $Viewlet.append($SideBarTitleArea);
7766
7776
  return {
7767
- $Viewlet,
7777
+ $Actions: undefined,
7768
7778
  $SideBar: $Viewlet,
7769
- $SideBarTitleArea,
7770
7779
  $SideBarContent: undefined,
7780
+ $SideBarTitleArea,
7771
7781
  $SideBarTitleAreaTitle,
7772
- $Actions: undefined
7782
+ $Viewlet
7773
7783
  };
7774
7784
  };
7775
7785
  const attachEvents = state => {
@@ -7796,8 +7806,8 @@ const setActionsDom = (state, actions, parentId, eventMap = {}) => {
7796
7806
  return;
7797
7807
  }
7798
7808
  const {
7799
- $SideBarTitleArea,
7800
- $Actions
7809
+ $Actions,
7810
+ $SideBarTitleArea
7801
7811
  } = state;
7802
7812
  const $Parent = document.createElement('div');
7803
7813
  const $NewViewlet = rememberFocus$1($Parent, actions, {}, parentId);
@@ -7963,8 +7973,8 @@ const handleMouseOver = event => {
7963
7973
  };
7964
7974
  const handleMouseOut = event => {
7965
7975
  const {
7966
- target,
7967
- relatedTarget
7976
+ relatedTarget,
7977
+ target
7968
7978
  } = event;
7969
7979
  if (!relatedTarget) {
7970
7980
  return;
@@ -8091,8 +8101,8 @@ const create$5 = () => {
8091
8101
  const $Viewlet = document.createElement('div');
8092
8102
  $Viewlet.className = 'Viewlet Terminals';
8093
8103
  return {
8094
- $Viewlet,
8095
- $TerminalTabs: undefined
8104
+ $TerminalTabs: undefined,
8105
+ $Viewlet
8096
8106
  };
8097
8107
  };
8098
8108
  const setTabsDom = (state, dom) => {
@@ -8123,8 +8133,8 @@ const isInsideTitleBarMenu = $Element => {
8123
8133
  };
8124
8134
  const handleFocusOut = event => {
8125
8135
  const {
8126
- target,
8127
- relatedTarget
8136
+ relatedTarget,
8137
+ target
8128
8138
  } = event;
8129
8139
  if (relatedTarget && isInsideTitleBarMenu(relatedTarget)) {
8130
8140
  return;
@@ -8177,23 +8187,23 @@ const getLevelAndIndex = event => {
8177
8187
  } = $Menu;
8178
8188
  const level = Number.parseInt(id.slice(5));
8179
8189
  return {
8180
- level,
8181
- index
8190
+ index,
8191
+ level
8182
8192
  };
8183
8193
  };
8184
8194
  const handleMenuMouseOver = event => {
8185
8195
  // TODO just send pixel coordinates instead
8186
8196
  const {
8187
- level,
8188
- index
8197
+ index,
8198
+ level
8189
8199
  } = getLevelAndIndex(event);
8190
8200
  const uid = fromEvent(event);
8191
8201
  handleMenuMouseOver$1(uid, level, index);
8192
8202
  };
8193
8203
  const handleMenuClick = event => {
8194
8204
  const {
8195
- level,
8196
- index
8205
+ index,
8206
+ level
8197
8207
  } = getLevelAndIndex(event);
8198
8208
  const uid = fromEvent(event);
8199
8209
  handleMenuClick$1(uid, level, index);
@@ -8309,14 +8319,14 @@ const openMenu = (state, unFocusIndex, index, level, menuItems, menuFocusedIndex
8309
8319
  state$3.$$Menus = [];
8310
8320
  // @ts-expect-error
8311
8321
  showControlled({
8312
- x,
8313
- y,
8314
- width,
8322
+ $Parent: $Viewlet.children[index],
8323
+ handleFocusOut: handleFocusOut,
8315
8324
  height,
8316
8325
  items: menuItems,
8317
- handleFocusOut: handleFocusOut,
8318
- $Parent: $Viewlet.children[index],
8319
- level
8326
+ level,
8327
+ width,
8328
+ x,
8329
+ y
8320
8330
  });
8321
8331
  if (menuFocusedIndex !== -1) {
8322
8332
  focusIndex(0, -1, menuFocusedIndex);
@@ -8388,12 +8398,12 @@ const setMenus = (state, changes, uid) => {
8388
8398
  $Menu.onmouseover = handleMenuMouseOver;
8389
8399
  $Menu.onclick = handleMenuClick;
8390
8400
  const {
8391
- x,
8392
- y,
8393
- width,
8401
+ focusedIndex,
8394
8402
  height,
8395
8403
  level,
8396
- focusedIndex
8404
+ width,
8405
+ x,
8406
+ y
8397
8407
  } = menu;
8398
8408
  setBounds$a($Menu, x, y, width, height);
8399
8409
  renderInto($Menu, dom);
@@ -8407,18 +8417,28 @@ const setMenus = (state, changes, uid) => {
8407
8417
  $$Menus.push($Menu);
8408
8418
  break;
8409
8419
  }
8420
+ case 'closeMenus':
8421
+ {
8422
+ const keepCount = change[1];
8423
+ const $$ToDispose = $$Menus.slice(keepCount);
8424
+ for (const $ToDispose of $$ToDispose) {
8425
+ remove$1($ToDispose);
8426
+ }
8427
+ $$Menus.length = keepCount;
8428
+ break;
8429
+ }
8410
8430
  case 'updateMenu':
8411
8431
  {
8412
8432
  const menu = change[1];
8413
8433
  const newLength = change[2];
8414
8434
  const dom = change[3];
8415
8435
  const {
8436
+ focusedIndex,
8437
+ height,
8416
8438
  level,
8417
- x,
8418
- y,
8419
8439
  width,
8420
- height,
8421
- focusedIndex
8440
+ x,
8441
+ y
8422
8442
  } = menu;
8423
8443
  const $Menu = $$Menus[level];
8424
8444
  setBounds$a($Menu, x, y, width, height);
@@ -8433,16 +8453,6 @@ const setMenus = (state, changes, uid) => {
8433
8453
  }
8434
8454
  break;
8435
8455
  }
8436
- case 'closeMenus':
8437
- {
8438
- const keepCount = change[1];
8439
- const $$ToDispose = $$Menus.slice(keepCount);
8440
- for (const $ToDispose of $$ToDispose) {
8441
- remove$1($ToDispose);
8442
- }
8443
- $$Menus.length = keepCount;
8444
- break;
8445
- }
8446
8456
  // No default
8447
8457
  }
8448
8458
  }
@@ -8677,8 +8687,6 @@ const ViewletWebView = {
8677
8687
 
8678
8688
  const load$1 = moduleId => {
8679
8689
  switch (moduleId) {
8680
- case ImagePreview:
8681
- return ImagePreview$1;
8682
8690
  case ActivityBar:
8683
8691
  return ViewletActivityBar;
8684
8692
  case Audio$1:
@@ -8695,8 +8703,16 @@ const load$1 = moduleId => {
8695
8703
  return ViewletDialog;
8696
8704
  case DiffEditor:
8697
8705
  return ViewletDiffEditor;
8706
+ case E2eTest:
8707
+ return ViewletE2eTest;
8708
+ case E2eTests:
8709
+ return ViewletE2eTests;
8710
+ case EditorCodeGenerator:
8711
+ return ViewletEditorCodeGenerator;
8698
8712
  case EditorCompletion:
8699
8713
  return ViewletEditorCompletion;
8714
+ case EditorCompletionDetails:
8715
+ return ViewletEditorCompletionDetails;
8700
8716
  case EditorError:
8701
8717
  return ViewletEditorError;
8702
8718
  case EditorHover:
@@ -8705,18 +8721,28 @@ const load$1 = moduleId => {
8705
8721
  return ViewletEditorImage;
8706
8722
  case EditorPlainText:
8707
8723
  return ViewletEditorPlainText;
8724
+ case EditorSourceActions:
8725
+ return ViewletEditorSourceActions;
8708
8726
  case EditorText:
8709
8727
  return ViewletEditorText;
8728
+ case EditorTextError:
8729
+ return ViewletEditorTextError;
8710
8730
  case EditorWidgetError:
8711
8731
  return ViewletEditorWidgetError;
8712
8732
  case Empty:
8713
8733
  return ViewletEmpty;
8734
+ case EmptyEditor:
8735
+ return ViewletEmptyEditor;
8714
8736
  case Error$1:
8715
8737
  return ViewletError;
8716
8738
  case FindWidget:
8717
8739
  return ViewletFindWidget;
8740
+ case ImagePreview:
8741
+ return ImagePreview$1;
8718
8742
  case Implementations:
8719
8743
  return ViewletImplementations;
8744
+ case InlineDiffEditor:
8745
+ return ViewletInlineDiffEditor;
8720
8746
  case KeyBindings:
8721
8747
  return ViewletKeyBindings;
8722
8748
  case Layout:
@@ -8752,33 +8778,17 @@ const load$1 = moduleId => {
8752
8778
  case TitleBar:
8753
8779
  return ViewletTitleBar;
8754
8780
  case TitleBarButtons:
8755
- return ViewletTitleBarButtons;
8756
- case TitleBarIcon:
8757
- return ViewletTitleBarIcon;
8758
- case TitleBarMenuBar:
8759
- return ViewletTitleBarMenuBar;
8760
- case Video:
8761
- return ViewletVideo;
8762
- case TitleBarTitle:
8763
- return ViewletTitleBarTitle;
8764
- case EditorSourceActions:
8765
- return ViewletEditorSourceActions;
8766
- case EmptyEditor:
8767
- return ViewletEmptyEditor;
8768
- case InlineDiffEditor:
8769
- return ViewletInlineDiffEditor;
8770
- case E2eTests:
8771
- return ViewletE2eTests;
8772
- case E2eTest:
8773
- return ViewletE2eTest;
8781
+ return ViewletTitleBarButtons;
8782
+ case TitleBarIcon:
8783
+ return ViewletTitleBarIcon;
8784
+ case TitleBarMenuBar:
8785
+ return ViewletTitleBarMenuBar;
8786
+ case TitleBarTitle:
8787
+ return ViewletTitleBarTitle;
8788
+ case Video:
8789
+ return ViewletVideo;
8774
8790
  case WebView:
8775
8791
  return ViewletWebView;
8776
- case EditorCompletionDetails:
8777
- return ViewletEditorCompletionDetails;
8778
- case EditorTextError:
8779
- return ViewletEditorTextError;
8780
- case EditorCodeGenerator:
8781
- return ViewletEditorCodeGenerator;
8782
8792
  default:
8783
8793
  throw new Error(`${moduleId} module not found in renderer process`);
8784
8794
  }
@@ -8798,8 +8808,8 @@ const create$3 = (id, uid = id) => {
8798
8808
  module.attachEvents(instanceState);
8799
8809
  }
8800
8810
  state$1.instances[uid] = {
8801
- state: instanceState,
8802
- factory: module
8811
+ factory: module,
8812
+ state: instanceState
8803
8813
  };
8804
8814
  };
8805
8815
  const createFunctionalRoot = (id, uid = id, hasFunctionalEvents) => {
@@ -8817,8 +8827,8 @@ const createFunctionalRoot = (id, uid = id, hasFunctionalEvents) => {
8817
8827
  $Viewlet: document.createElement('div')
8818
8828
  };
8819
8829
  state$1.instances[uid] = {
8820
- state: instanceState,
8821
- factory: module
8830
+ factory: module,
8831
+ state: instanceState
8822
8832
  };
8823
8833
  };
8824
8834
  const addKeyBindings = (id, keyBindings) => {
@@ -9040,49 +9050,47 @@ const sendMultiple = commands => {
9040
9050
  for (const command of commands) {
9041
9051
  const [_, viewletId, method, ...args] = command;
9042
9052
  switch (_) {
9043
- case 'Viewlet.ariaAnnounce':
9044
- {
9045
- ariaAnnounce(viewletId);
9046
- break;
9047
- }
9048
- case 'Viewlet.setBounds':
9053
+ case 'Css.addCssStyleSheet':
9054
+ case 'Viewlet.addCss':
9055
+ case 'Viewlet.setCss':
9056
+ // @ts-ignore
9057
+ addCssStyleSheet(viewletId, method, ...args);
9058
+ break;
9059
+ case 'Viewlet.addKeyBindings':
9060
+ addKeyBindings(viewletId, method);
9061
+ break;
9062
+ case 'Viewlet.append':
9049
9063
  {
9050
9064
  // @ts-expect-error
9051
- setBounds$1(viewletId, method, ...args);
9052
- break;
9053
- }
9054
- case 'Viewlet.create':
9055
- {
9056
- create$3(viewletId, method);
9065
+ append(viewletId, method, ...args);
9057
9066
  break;
9058
9067
  }
9059
- case 'Viewlet.createFunctionalRoot':
9068
+ case 'Viewlet.appendToBody':
9060
9069
  {
9061
- // @ts-ignore
9062
- createFunctionalRoot(viewletId, method, ...args);
9070
+ // @ts-expect-error
9071
+ appendToBody(viewletId, method, ...args);
9063
9072
  break;
9064
9073
  }
9065
- case 'Viewlet.append':
9074
+ case 'Viewlet.appendViewlet':
9066
9075
  {
9067
9076
  // @ts-expect-error
9068
- append(viewletId, method, ...args);
9077
+ appendViewlet(viewletId, method, ...args);
9069
9078
  break;
9070
9079
  }
9071
- case 'Viewlet.appendToBody':
9080
+ case 'Viewlet.ariaAnnounce':
9072
9081
  {
9073
- // @ts-expect-error
9074
- appendToBody(viewletId, method, ...args);
9082
+ ariaAnnounce(viewletId);
9075
9083
  break;
9076
9084
  }
9077
- case 'Viewlet.dispose':
9085
+ case 'Viewlet.create':
9078
9086
  {
9079
- dispose$3(viewletId);
9087
+ create$3(viewletId, method);
9080
9088
  break;
9081
9089
  }
9082
- case 'Viewlet.setPatches':
9090
+ case 'Viewlet.createFunctionalRoot':
9083
9091
  {
9084
9092
  // @ts-ignore
9085
- setPatches(viewletId, method, ...args);
9093
+ createFunctionalRoot(viewletId, method, ...args);
9086
9094
  break;
9087
9095
  }
9088
9096
  case 'Viewlet.createPlaceholder':
@@ -9091,10 +9099,9 @@ const sendMultiple = commands => {
9091
9099
  createPlaceholder(viewletId, method, ...args);
9092
9100
  break;
9093
9101
  }
9094
- case 'Viewlet.handleError':
9102
+ case 'Viewlet.dispose':
9095
9103
  {
9096
- // @ts-expect-error
9097
- handleError$1(viewletId, method, ...args);
9104
+ dispose$3(viewletId);
9098
9105
  break;
9099
9106
  }
9100
9107
  case 'Viewlet.focus':
@@ -9102,25 +9109,48 @@ const sendMultiple = commands => {
9102
9109
  focus$1(viewletId);
9103
9110
  break;
9104
9111
  }
9105
- case 'Viewlet.appendViewlet':
9112
+ case 'Viewlet.focusElementByName':
9113
+ // @ts-ignore
9114
+ focusElementByName(viewletId, method, ...args);
9115
+ break;
9116
+ case 'Viewlet.focusSelector':
9117
+ // @ts-ignore
9118
+ focusSelector(viewletId, method, ...args);
9119
+ break;
9120
+ case 'Viewlet.focusSelector':
9121
+ // @ts-ignore
9122
+ focusSelector(viewletId, method, ...args);
9123
+ break;
9124
+ case 'Viewlet.handleError':
9106
9125
  {
9107
9126
  // @ts-expect-error
9108
- appendViewlet(viewletId, method, ...args);
9127
+ handleError$1(viewletId, method, ...args);
9109
9128
  break;
9110
9129
  }
9111
- case 'Viewlet.addKeyBindings':
9112
- addKeyBindings(viewletId, method);
9113
- break;
9114
- case 'Viewlet.setProperty':
9130
+ case 'Viewlet.registerEventListeners':
9115
9131
  // @ts-ignore
9116
- setProperty(viewletId, method, ...args);
9132
+ registerEventListeners(viewletId, method, ...args);
9117
9133
  break;
9118
9134
  case 'Viewlet.removeKeyBindings':
9119
9135
  removeKeyBindings(viewletId);
9120
9136
  break;
9137
+ case 'Viewlet.replaceChildren':
9138
+ // @ts-ignore
9139
+ replaceChildren(viewletId, method, ...args);
9140
+ break;
9121
9141
  case 'Viewlet.send':
9122
9142
  invoke(viewletId, method, ...args);
9123
9143
  break;
9144
+ case 'Viewlet.setBounds':
9145
+ {
9146
+ // @ts-expect-error
9147
+ setBounds$1(viewletId, method, ...args);
9148
+ break;
9149
+ }
9150
+ case 'Viewlet.setCheckBoxValue':
9151
+ // @ts-ignore
9152
+ setCheckBoxValue(viewletId, method, ...args);
9153
+ break;
9124
9154
  case 'Viewlet.setDom':
9125
9155
  // @ts-expect-error
9126
9156
  setDom(viewletId, method, ...args);
@@ -9129,55 +9159,35 @@ const sendMultiple = commands => {
9129
9159
  // @ts-ignore
9130
9160
  setDom2(viewletId, method, ...args);
9131
9161
  break;
9132
- case 'Viewlet.focusSelector':
9133
- // @ts-ignore
9134
- focusSelector(viewletId, method, ...args);
9135
- break;
9136
- case 'Viewlet.focusSelector':
9137
- // @ts-ignore
9138
- focusSelector(viewletId, method, ...args);
9139
- break;
9140
- case 'Viewlet.focusElementByName':
9141
- // @ts-ignore
9142
- focusElementByName(viewletId, method, ...args);
9143
- break;
9144
- case 'Viewlet.setValueByName':
9162
+ case 'Viewlet.setDragData':
9145
9163
  // @ts-ignore
9146
- setValueByName(viewletId, method, ...args);
9164
+ setDragData(viewletId, method, ...args);
9147
9165
  break;
9148
9166
  case 'Viewlet.setInputValues':
9149
9167
  // @ts-ignore
9150
9168
  setInputValues(viewletId, method, ...args);
9151
9169
  break;
9152
- case 'Viewlet.setCheckBoxValue':
9170
+ case 'Viewlet.setPatches':
9171
+ {
9172
+ // @ts-ignore
9173
+ setPatches(viewletId, method, ...args);
9174
+ break;
9175
+ }
9176
+ case 'Viewlet.setProperty':
9153
9177
  // @ts-ignore
9154
- setCheckBoxValue(viewletId, method, ...args);
9178
+ setProperty(viewletId, method, ...args);
9155
9179
  break;
9156
9180
  case 'Viewlet.setSelectionByName':
9157
9181
  // @ts-ignore
9158
9182
  setSelectionByName(viewletId, method, ...args);
9159
9183
  break;
9160
- case 'Viewlet.registerEventListeners':
9161
- // @ts-ignore
9162
- registerEventListeners(viewletId, method, ...args);
9163
- break;
9164
9184
  case 'Viewlet.setUid':
9165
9185
  // @ts-ignore
9166
9186
  setUid(viewletId, method, ...args);
9167
9187
  break;
9168
- case 'Viewlet.setDragData':
9169
- // @ts-ignore
9170
- setDragData(viewletId, method, ...args);
9171
- break;
9172
- case 'Viewlet.replaceChildren':
9173
- // @ts-ignore
9174
- replaceChildren(viewletId, method, ...args);
9175
- break;
9176
- case 'Viewlet.addCss':
9177
- case 'Viewlet.setCss':
9178
- case 'Css.addCssStyleSheet':
9188
+ case 'Viewlet.setValueByName':
9179
9189
  // @ts-ignore
9180
- addCssStyleSheet(viewletId, method, ...args);
9190
+ setValueByName(viewletId, method, ...args);
9181
9191
  break;
9182
9192
  default:
9183
9193
  {
@@ -9321,60 +9331,60 @@ const appendToBody = childId => {
9321
9331
  };
9322
9332
  const getFn = command => {
9323
9333
  switch (command) {
9324
- case 'Viewlet.create':
9325
- return create$3;
9326
- case 'Viewlet.send':
9327
- return invoke;
9328
- case 'Viewlet.show':
9329
- return show;
9330
- case 'Viewlet.dispose':
9331
- return dispose$3;
9332
- case 'Viewlet.setDom2':
9333
- return setDom2;
9334
- case 'Viewlet.setBounds':
9335
- return setBounds$1;
9336
- case 'Viewlet.ariaAnnounce':
9337
- return ariaAnnounce;
9334
+ case 'Css.addCssStyleSheet':
9335
+ case 'Viewlet.addCss':
9336
+ case 'Viewlet.setCss':
9337
+ return addCssStyleSheet;
9338
+ case 'Viewlet.addKeyBindings':
9339
+ return addKeyBindings;
9338
9340
  case 'Viewlet.append':
9339
9341
  return append;
9340
9342
  case 'Viewlet.appendToBody':
9341
9343
  return appendToBody;
9342
- case 'Viewlet.createPlaceholder':
9343
- return createPlaceholder;
9344
- case 'Viewlet.focus':
9345
- return focus$1;
9346
9344
  case 'Viewlet.appendViewlet':
9347
9345
  return appendViewlet;
9348
- case 'Viewlet.addKeyBindings':
9349
- return addKeyBindings;
9350
- case 'Viewlet.setDom':
9351
- return setDom;
9346
+ case 'Viewlet.ariaAnnounce':
9347
+ return ariaAnnounce;
9348
+ case 'Viewlet.create':
9349
+ return create$3;
9352
9350
  case 'Viewlet.createFunctionalRoot':
9353
9351
  return createFunctionalRoot;
9352
+ case 'Viewlet.createPlaceholder':
9353
+ return createPlaceholder;
9354
+ case 'Viewlet.dispose':
9355
+ return dispose$3;
9356
+ case 'Viewlet.focus':
9357
+ return focus$1;
9354
9358
  case 'Viewlet.focusElementByName':
9355
9359
  return focusElementByName;
9356
- case 'Viewlet.setValueByName':
9357
- return setValueByName;
9358
- case 'Viewlet.setCheckBoxValue':
9359
- return setCheckBoxValue;
9360
+ case 'Viewlet.focusSelector':
9361
+ return focusSelector;
9360
9362
  case 'Viewlet.registerEventListeners':
9361
9363
  return registerEventListeners;
9362
- case 'Viewlet.setPatches':
9363
- return setPatches;
9364
+ case 'Viewlet.replaceChildren':
9365
+ return replaceChildren;
9366
+ case 'Viewlet.send':
9367
+ return invoke;
9368
+ case 'Viewlet.setBounds':
9369
+ return setBounds$1;
9370
+ case 'Viewlet.setCheckBoxValue':
9371
+ return setCheckBoxValue;
9372
+ case 'Viewlet.setDom':
9373
+ return setDom;
9374
+ case 'Viewlet.setDom2':
9375
+ return setDom2;
9364
9376
  case 'Viewlet.setDragData':
9365
9377
  return setDragData;
9366
- case 'Viewlet.focusSelector':
9367
- return focusSelector;
9368
9378
  case 'Viewlet.setInputValues':
9369
9379
  return setInputValues;
9380
+ case 'Viewlet.setPatches':
9381
+ return setPatches;
9370
9382
  case 'Viewlet.setProperty':
9371
9383
  return setProperty;
9372
- case 'Viewlet.replaceChildren':
9373
- return replaceChildren;
9374
- case 'Css.addCssStyleSheet':
9375
- case 'Viewlet.addCss':
9376
- case 'Viewlet.setCss':
9377
- return addCssStyleSheet;
9384
+ case 'Viewlet.setValueByName':
9385
+ return setValueByName;
9386
+ case 'Viewlet.show':
9387
+ return show;
9378
9388
  default:
9379
9389
  throw new Error(`unknown command ${command}`);
9380
9390
  }
@@ -9512,8 +9522,8 @@ const getFilePathElectron = async file => {
9512
9522
 
9513
9523
  const handleMessagePort = async port => {
9514
9524
  await PlainMessagePortRpcParent.create({
9515
- messagePort: port,
9516
- commandMap: {}
9525
+ commandMap: {},
9526
+ messagePort: port
9517
9527
  });
9518
9528
  };
9519
9529
 
@@ -9526,8 +9536,8 @@ const set = ($Iframe, permissionPolicy) => {
9526
9536
 
9527
9537
  const waitForFrameToLoad = $Frame => {
9528
9538
  const {
9529
- resolve,
9530
- promise
9539
+ promise,
9540
+ resolve
9531
9541
  } = withResolvers();
9532
9542
  $Frame.addEventListener('load', resolve, {
9533
9543
  once: true
@@ -9644,6 +9654,7 @@ const commandMap = {
9644
9654
  'PointerCapture.unmock': unmock,
9645
9655
  'Prompt.prompt': prompt,
9646
9656
  'ScreenCapture.start': start,
9657
+ 'TestFrameWork.checkConditionError': checkConditionError,
9647
9658
  'TestFrameWork.checkMultiElementCondition': checkMultiElementCondition,
9648
9659
  'TestFrameWork.checkSingleElementCondition': checkSingleElementCondition,
9649
9660
  'TestFrameWork.performAction': performAction,
@@ -9652,7 +9663,6 @@ const commandMap = {
9652
9663
  'TestFrameWork.showOverlay': showOverlay,
9653
9664
  'TestFrameWork.transfer': transfer,
9654
9665
  'TestFrameWork.transferToWebView': transferToWebView,
9655
- 'TestFrameWork.checkConditionError': checkConditionError,
9656
9666
  'Viewlet.addKeyBindings': addKeyBindings,
9657
9667
  'Viewlet.appendViewlet': appendViewlet,
9658
9668
  'Viewlet.dispose': dispose$3,
@@ -9697,10 +9707,10 @@ const editorWorkerUrl = getConfiguredEditorWorkerUrl() || `${assetDir}/packages/
9697
9707
 
9698
9708
  const launchEditorWorker = async port => {
9699
9709
  const ipc = await create$z({
9700
- name: 'Editor Worker',
9701
- url: editorWorkerUrl,
9702
9710
  method: ModuleWorkerWithMessagePort,
9703
- port
9711
+ name: 'Editor Worker',
9712
+ port,
9713
+ url: editorWorkerUrl
9704
9714
  });
9705
9715
  return ipc;
9706
9716
  };
@@ -9725,10 +9735,10 @@ const extensionHostWorkerUrl = getConfiguredExtensionHostWorkerUrl() || `${asset
9725
9735
  const launchExtensionHostWorker = async port => {
9726
9736
  const name = isElectron ? 'Extension Host (Electron)' : 'Extension Host';
9727
9737
  const ipc = await create$z({
9728
- name,
9729
- url: extensionHostWorkerUrl,
9730
9738
  method: ModuleWorkerWithMessagePort,
9731
- port
9739
+ name,
9740
+ port,
9741
+ url: extensionHostWorkerUrl
9732
9742
  });
9733
9743
  return ipc;
9734
9744
  };
@@ -9753,10 +9763,10 @@ const syntaxHighlightingWorkerUrl = getConfiguredSyntaxHighlightingWorkerUrl() |
9753
9763
 
9754
9764
  const launchSyntaxHighlightingWorker = async port => {
9755
9765
  const ipc = await create$z({
9756
- name: 'Syntax Highlighting Worker',
9757
- url: syntaxHighlightingWorkerUrl,
9758
9766
  method: ModuleWorkerWithMessagePort,
9759
- port
9767
+ name: 'Syntax Highlighting Worker',
9768
+ port,
9769
+ url: syntaxHighlightingWorkerUrl
9760
9770
  });
9761
9771
  return ipc;
9762
9772
  };
@@ -9891,8 +9901,8 @@ const cleanLine = line => {
9891
9901
  const getDetails = lines => {
9892
9902
  const index = lines.findIndex(isNormalStackLine);
9893
9903
  return {
9894
- custom: lines.slice(0, index),
9895
- actualStack: lines.slice(index).map(cleanLine)
9904
+ actualStack: lines.slice(index).map(cleanLine),
9905
+ custom: lines.slice(0, index)
9896
9906
  };
9897
9907
  };
9898
9908
  const mergeCustom = (custom, relevantStack) => {
@@ -9915,8 +9925,8 @@ const cleanStack = stack => {
9915
9925
  string(stack);
9916
9926
  const lines = splitLines$2(stack);
9917
9927
  const {
9918
- custom,
9919
- actualStack
9928
+ actualStack,
9929
+ custom
9920
9930
  } = getDetails(lines);
9921
9931
  const relevantStack = actualStack.filter(isRelevantLine).filter(isApplicationUsefulLine);
9922
9932
  const merged = mergeCustom(custom, relevantStack);
@@ -9962,11 +9972,11 @@ const getErrorMessage = error => {
9962
9972
  const prepareErrorMessageWithCodeFrame = error => {
9963
9973
  if (!error) {
9964
9974
  return {
9975
+ _error: error,
9976
+ codeFrame: undefined,
9965
9977
  message: error,
9966
9978
  stack: undefined,
9967
- codeFrame: undefined,
9968
- type: 'Error',
9969
- _error: error
9979
+ type: 'Error'
9970
9980
  };
9971
9981
  }
9972
9982
  const message = getErrorMessage(error);
@@ -9974,20 +9984,20 @@ const prepareErrorMessageWithCodeFrame = error => {
9974
9984
  const relevantStack = joinLines$2(lines);
9975
9985
  if (error.codeFrame) {
9976
9986
  return {
9987
+ _error: error,
9988
+ codeFrame: error.codeFrame,
9977
9989
  message,
9978
9990
  stack: relevantStack,
9979
- codeFrame: error.codeFrame,
9980
- type: error.constructor.name,
9981
- _error: error
9991
+ type: error.constructor.name
9982
9992
  };
9983
9993
  }
9984
9994
  return {
9995
+ _error: error,
9996
+ category: error.category,
9997
+ codeFrame: error.originalCodeFrame,
9985
9998
  message,
9986
9999
  stack: error.originalStack,
9987
- codeFrame: error.originalCodeFrame,
9988
- category: error.category,
9989
- stderr: error.stderr,
9990
- _error: error
10000
+ stderr: error.stderr
9991
10001
  };
9992
10002
  };
9993
10003
  const RE_PATH_1 = /\((.*):(\d+):(\d+)\)$/;
@@ -10026,9 +10036,9 @@ const prepareErrorMessageWithoutCodeFrame = async error => {
10026
10036
  return error;
10027
10037
  }
10028
10038
  return {
10039
+ _error: error,
10029
10040
  message: error?.message || '',
10030
- type: error.constructor.name,
10031
- _error: error
10041
+ type: error.constructor.name
10032
10042
  };
10033
10043
  } catch (otherError) {
10034
10044
  warn$1(`ErrorHandling Error: ${otherError}`);
@@ -10264,26 +10274,26 @@ const setTerminal = (state, canvasCursorId, canvasTextId) => {
10264
10274
  } = state;
10265
10275
  const terminal = create$1({
10266
10276
  $Element: $Viewlet,
10267
- handleKeyDown: (...args) => {
10268
- handleKeyDown({
10269
- target: $Viewlet
10270
- }, ...args);
10271
- },
10277
+ background: `#1b2020`,
10278
+ canvasCursor,
10279
+ canvasText,
10280
+ foreground: 'white',
10272
10281
  handleBlur: (...args) => {
10273
10282
  // @ts-ignore
10274
10283
  handleBlur({
10275
10284
  target: $Viewlet
10276
10285
  }, ...args);
10277
10286
  },
10287
+ handleKeyDown: (...args) => {
10288
+ handleKeyDown({
10289
+ target: $Viewlet
10290
+ }, ...args);
10291
+ },
10278
10292
  handleMouseDown: (...args) => {
10279
10293
  handleMouseDown({
10280
10294
  target: $Viewlet
10281
10295
  }, ...args);
10282
- },
10283
- background: `#1b2020`,
10284
- foreground: 'white',
10285
- canvasText,
10286
- canvasCursor
10296
+ }
10287
10297
  });
10288
10298
  state.terminal = terminal;
10289
10299
  };