@lvce-editor/renderer-process 20.1.0 → 20.3.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;
@@ -741,7 +744,7 @@ const acquire$1 = id => {
741
744
  return promise;
742
745
  };
743
746
  const getFileHandles$1 = async ids => {
744
- const promises = ids.map(id => acquire$1(id));
747
+ const promises = ids.map(acquire$1);
745
748
  const handles = await Promise.all(promises);
746
749
  return handles;
747
750
  };
@@ -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.type);
789
+ }
790
+ if (dragInfo.label) {
791
+ setDragImage(dataTransfer, dragInfo.label);
792
+ }
784
793
  }
785
794
  }
786
795
  };
@@ -796,74 +805,114 @@ const stopIgnore = () => {
796
805
  const enabled = () => {
797
806
  return ignore;
798
807
  };
808
+ const unwrapItemString = async item => {
809
+ const {
810
+ resolve,
811
+ promise
812
+ } = Promise.withResolvers();
813
+ item.getAsString(resolve);
814
+ const value = await promise;
815
+ return {
816
+ kind: 'string',
817
+ type: item.type,
818
+ value
819
+ };
820
+ };
821
+ const unwrapItemFile = async item => {
822
+ // @ts-ignore
823
+ const file = await item.getAsFileSystemHandle();
824
+ return {
825
+ kind: 'file',
826
+ type: item.type,
827
+ value: file
828
+ };
829
+ };
830
+ const unknownItem = {
831
+ kind: 'unknown',
832
+ type: '',
833
+ value: ''
834
+ };
835
+ const unwrapItem = item => {
836
+ switch (item.kind) {
837
+ case 'file':
838
+ return unwrapItemFile(item);
839
+ case 'string':
840
+ return unwrapItemString(item);
841
+ default:
842
+ return unknownItem;
843
+ }
844
+ };
799
845
  const handleDataTransferFiles = event => {
846
+ if (!event.dataTransfer) {
847
+ return [];
848
+ }
800
849
  const items = [...event.dataTransfer.items];
801
- const promises = items.map(item => item.getAsFileSystemHandle());
850
+ const promises = items.map(unwrapItem);
802
851
  const ids = promises.map(promise => add(promise));
803
852
  return ids;
804
853
  };
805
854
  const getEventListenerArg = (param, event) => {
806
855
  switch (param) {
807
- case 'event.dataTransfer.files2':
808
- return handleDataTransferFiles(event);
856
+ case 'event.altKey':
857
+ return event.altKey;
858
+ case 'event.button':
859
+ return event.button;
809
860
  case 'event.clientX':
810
861
  return event.clientX;
811
- case 'event.x':
812
- return event.x;
813
862
  case 'event.clientY':
814
863
  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;
864
+ case 'event.ctrlKey':
865
+ return event.ctrlKey;
827
866
  case 'event.data':
828
867
  return event.data;
868
+ case 'event.dataTransfer.files':
869
+ return event.dataTransfer.files;
870
+ case 'event.dataTransfer.files2':
871
+ return handleDataTransferFiles(event);
872
+ case 'event.defaultPrevented':
873
+ return event.defaultPrevented;
829
874
  case 'event.deltaMode':
830
875
  return event.deltaMode;
831
876
  case 'event.deltaX':
832
877
  return event.deltaX;
833
878
  case 'event.deltaY':
834
879
  return event.deltaY;
835
- case 'event.target.scrollTop':
836
- return event.target.scrollTop;
837
880
  case 'event.detail':
838
881
  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;
882
+ case 'event.inputType':
883
+ return event.inputType;
884
+ case 'event.isTrusted':
885
+ return event.isTrusted;
847
886
  case 'event.key':
848
887
  return event.key;
849
- case 'event.ctrlKey':
850
- return event.ctrlKey;
851
888
  case 'event.shiftKey':
852
889
  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;
890
+ case 'event.target.className':
891
+ return event.target.className;
859
892
  case 'event.target.dataset.index':
860
893
  return event.target.dataset.index;
894
+ case 'event.target.dataset.name':
895
+ return event.target.dataset.name;
896
+ case 'event.target.href':
897
+ return event.target.href;
898
+ case 'event.target.name':
899
+ return event.target.name || '';
861
900
  case 'event.target.nodeName':
862
901
  return event.target.nodeName;
863
- case 'event.target.selectionStart':
864
- return event.target.selectionStart;
902
+ case 'event.target.scrollTop':
903
+ return event.target.scrollTop;
865
904
  case 'event.target.selectionEnd':
866
905
  return event.target.selectionEnd;
906
+ case 'event.target.selectionStart':
907
+ return event.target.selectionStart;
908
+ case 'event.target.src':
909
+ return event.target.src;
910
+ case 'event.target.value':
911
+ return event.target.value;
912
+ case 'event.x':
913
+ return event.x;
914
+ case 'event.y':
915
+ return event.y;
867
916
  default:
868
917
  return param;
869
918
  }
@@ -898,8 +947,8 @@ const applyPointerTrackMaybe = (info, map, event) => {
898
947
  return;
899
948
  }
900
949
  const {
901
- target,
902
- pointerId
950
+ pointerId,
951
+ target
903
952
  } = event;
904
953
  target.setPointerCapture(pointerId);
905
954
  const [pointerMoveKey, pointerUpKey] = trackPointerEvents;
@@ -1093,9 +1142,9 @@ const getTitleBarHeight = () => {
1093
1142
  };
1094
1143
  const getBounds = () => {
1095
1144
  return {
1096
- windowWidth: window.innerWidth,
1145
+ titleBarHeight: getTitleBarHeight(),
1097
1146
  windowHeight: window.innerHeight,
1098
- titleBarHeight: getTitleBarHeight()
1147
+ windowWidth: window.innerWidth
1099
1148
  };
1100
1149
  };
1101
1150
 
@@ -1123,14 +1172,14 @@ const shouldLaunchMultipleWorkers = true;
1123
1172
 
1124
1173
  const getInitData = () => {
1125
1174
  const initData = {
1126
- Location: {
1127
- href: getHref()
1175
+ Config: {
1176
+ shouldLaunchMultipleWorkers: shouldLaunchMultipleWorkers
1128
1177
  },
1129
1178
  Layout: {
1130
1179
  bounds: getBounds()
1131
1180
  },
1132
- Config: {
1133
- shouldLaunchMultipleWorkers: shouldLaunchMultipleWorkers
1181
+ Location: {
1182
+ href: getHref()
1134
1183
  }
1135
1184
  };
1136
1185
  return initData;
@@ -1159,16 +1208,16 @@ const withResolvers = () => {
1159
1208
  _reject = reject;
1160
1209
  });
1161
1210
  return {
1162
- resolve: _resolve,
1211
+ promise,
1163
1212
  reject: _reject,
1164
- promise
1213
+ resolve: _resolve
1165
1214
  };
1166
1215
  };
1167
1216
 
1168
1217
  const getFirstEvent$1 = (eventTarget, eventMap) => {
1169
1218
  const {
1170
- resolve,
1171
- promise
1219
+ promise,
1220
+ resolve
1172
1221
  } = withResolvers();
1173
1222
  const listenerMap = Object.create(null);
1174
1223
  const cleanup = value => {
@@ -1180,8 +1229,8 @@ const getFirstEvent$1 = (eventTarget, eventMap) => {
1180
1229
  for (const [event, type] of Object.entries(eventMap)) {
1181
1230
  const listener = event => {
1182
1231
  cleanup({
1183
- type,
1184
- event
1232
+ event,
1233
+ type
1185
1234
  });
1186
1235
  };
1187
1236
  eventTarget.addEventListener(event, listener);
@@ -1197,8 +1246,8 @@ const getFirstEvent$1 = (eventTarget, eventMap) => {
1197
1246
  */
1198
1247
  const getFirstWorkerEvent$1 = worker => {
1199
1248
  return getFirstEvent$1(worker, {
1200
- message: Message$2,
1201
- error: Error$3
1249
+ error: Error$3,
1250
+ message: Message$2
1202
1251
  });
1203
1252
  };
1204
1253
 
@@ -1288,17 +1337,17 @@ const getWorkerDisplayName$1 = name => {
1288
1337
  return `${name} worker`;
1289
1338
  };
1290
1339
  const create$F = async ({
1291
- url,
1292
- name
1340
+ name,
1341
+ url
1293
1342
  }) => {
1294
1343
  const worker = new Worker(url, {
1295
- type: Module$1,
1296
- name
1344
+ name,
1345
+ type: Module$1
1297
1346
  });
1298
1347
  // @ts-expect-error
1299
1348
  const {
1300
- type,
1301
- event
1349
+ event,
1350
+ type
1302
1351
  } = await getFirstWorkerEvent$1(worker);
1303
1352
  switch (type) {
1304
1353
  case Message$2:
@@ -1620,8 +1669,8 @@ const getModuleNotFoundError = stderr => {
1620
1669
  const messageIndex = lines.findIndex(isModuleNotFoundMessage);
1621
1670
  const message = lines[messageIndex];
1622
1671
  return {
1623
- message,
1624
- code: ERR_MODULE_NOT_FOUND
1672
+ code: ERR_MODULE_NOT_FOUND,
1673
+ message
1625
1674
  };
1626
1675
  };
1627
1676
  const isModuleNotFoundError = stderr => {
@@ -1644,14 +1693,14 @@ const isUnhelpfulNativeModuleError = stderr => {
1644
1693
  const getNativeModuleErrorMessage = stderr => {
1645
1694
  const message = getMessageCodeBlock(stderr);
1646
1695
  return {
1647
- message: `Incompatible native node module: ${message}`,
1648
- code: E_INCOMPATIBLE_NATIVE_MODULE
1696
+ code: E_INCOMPATIBLE_NATIVE_MODULE,
1697
+ message: `Incompatible native node module: ${message}`
1649
1698
  };
1650
1699
  };
1651
1700
  const getModuleSyntaxError = () => {
1652
1701
  return {
1653
- message: `ES Modules are not supported in electron`,
1654
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
1702
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
1703
+ message: `ES Modules are not supported in electron`
1655
1704
  };
1656
1705
  };
1657
1706
  const getHelpfulChildProcessError = (stdout, stderr) => {
@@ -1670,8 +1719,8 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
1670
1719
  rest
1671
1720
  } = getDetails$1(lines);
1672
1721
  return {
1673
- message: actualMessage,
1674
1722
  code: '',
1723
+ message: actualMessage,
1675
1724
  stack: rest
1676
1725
  };
1677
1726
  };
@@ -1681,8 +1730,8 @@ class IpcError extends VError$1 {
1681
1730
  if (stdout || stderr) {
1682
1731
  // @ts-ignore
1683
1732
  const {
1684
- message,
1685
1733
  code,
1734
+ message,
1686
1735
  stack
1687
1736
  } = getHelpfulChildProcessError(stdout, stderr);
1688
1737
  const cause = new Error(message);
@@ -1706,7 +1755,7 @@ const getData$2 = event => {
1706
1755
  return event.data;
1707
1756
  };
1708
1757
  const listen$9 = () => {
1709
- return window;
1758
+ return globalThis;
1710
1759
  };
1711
1760
  const signal$a = global => {
1712
1761
  global.postMessage(readyMessage);
@@ -1736,7 +1785,7 @@ class IpcChildWithElectronWindow extends Ipc {
1736
1785
  const {
1737
1786
  ports
1738
1787
  } = event;
1739
- if (ports.length) {
1788
+ if (ports.length > 0) {
1740
1789
  return;
1741
1790
  }
1742
1791
  callback(event);
@@ -1770,8 +1819,8 @@ const removeListener = (emitter, type, callback) => {
1770
1819
  };
1771
1820
  const getFirstEvent = (eventEmitter, eventMap) => {
1772
1821
  const {
1773
- resolve,
1774
- promise
1822
+ promise,
1823
+ resolve
1775
1824
  } = Promise.withResolvers();
1776
1825
  const listenerMap = Object.create(null);
1777
1826
  const cleanup = value => {
@@ -1783,8 +1832,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
1783
1832
  for (const [event, type] of Object.entries(eventMap)) {
1784
1833
  const listener = event => {
1785
1834
  cleanup({
1786
- type,
1787
- event
1835
+ event,
1836
+ type
1788
1837
  });
1789
1838
  };
1790
1839
  addListener(eventEmitter, event, listener);
@@ -1793,9 +1842,9 @@ const getFirstEvent = (eventEmitter, eventMap) => {
1793
1842
  return promise;
1794
1843
  };
1795
1844
  const Message$1 = 3;
1796
- const create$5$2 = async ({
1797
- messagePort,
1798
- isMessagePortOpen
1845
+ const create$5$1 = async ({
1846
+ isMessagePortOpen,
1847
+ messagePort
1799
1848
  }) => {
1800
1849
  if (!isMessagePort(messagePort)) {
1801
1850
  throw new IpcError('port must be of type MessagePort');
@@ -1808,8 +1857,8 @@ const create$5$2 = async ({
1808
1857
  });
1809
1858
  messagePort.start();
1810
1859
  const {
1811
- type,
1812
- event
1860
+ event,
1861
+ type
1813
1862
  } = await eventPromise;
1814
1863
  if (type !== Message$1) {
1815
1864
  throw new IpcError('Failed to wait for ipc message');
@@ -1844,7 +1893,7 @@ const wrap$5 = messagePort => {
1844
1893
  };
1845
1894
  const IpcParentWithMessagePort$1 = {
1846
1895
  __proto__: null,
1847
- create: create$5$2,
1896
+ create: create$5$1,
1848
1897
  signal: signal$1,
1849
1898
  wrap: wrap$5
1850
1899
  };
@@ -1852,8 +1901,8 @@ const Message = 'message';
1852
1901
  const Error$1$1 = 'error';
1853
1902
  const getFirstWorkerEvent = worker => {
1854
1903
  return getFirstEvent(worker, {
1855
- message: Message,
1856
- error: Error$1$1
1904
+ error: Error$1$1,
1905
+ message: Message
1857
1906
  });
1858
1907
  };
1859
1908
  const isErrorEvent = event => {
@@ -1886,17 +1935,17 @@ ${relevant}`;
1886
1935
  }
1887
1936
  }
1888
1937
  const Module = 'module';
1889
- const create$4$3 = async ({
1890
- url,
1891
- name
1938
+ const create$4$2 = async ({
1939
+ name,
1940
+ url
1892
1941
  }) => {
1893
1942
  const worker = new Worker(url, {
1894
- type: Module,
1895
- name
1943
+ name,
1944
+ type: Module
1896
1945
  });
1897
1946
  const {
1898
- type,
1899
- event
1947
+ event,
1948
+ type
1900
1949
  } = await getFirstWorkerEvent(worker);
1901
1950
  switch (type) {
1902
1951
  case Message:
@@ -1948,60 +1997,18 @@ const wrap$4 = worker => {
1948
1997
  };
1949
1998
  const IpcParentWithModuleWorker$1 = {
1950
1999
  __proto__: null,
1951
- create: create$4$3,
2000
+ create: create$4$2,
1952
2001
  wrap: wrap$4
1953
2002
  };
1954
2003
 
1955
- const Two = '2.0';
1956
- const create$4$2 = (method, params) => {
1957
- return {
1958
- jsonrpc: Two,
1959
- method,
1960
- params
1961
- };
1962
- };
2004
+ const Two$1 = '2.0';
1963
2005
  const callbacks = Object.create(null);
1964
- const set$8 = (id, fn) => {
1965
- callbacks[id] = fn;
1966
- };
1967
2006
  const get$7 = id => {
1968
2007
  return callbacks[id];
1969
2008
  };
1970
2009
  const remove$3 = id => {
1971
2010
  delete callbacks[id];
1972
2011
  };
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
2012
  class JsonRpcError extends Error {
2006
2013
  constructor(message) {
2007
2014
  super(message);
@@ -2197,7 +2204,7 @@ const getErrorProperty = (error, prettyError) => {
2197
2204
  };
2198
2205
  const create$1$1 = (id, error) => {
2199
2206
  return {
2200
- jsonrpc: Two,
2207
+ jsonrpc: Two$1,
2201
2208
  id,
2202
2209
  error
2203
2210
  };
@@ -2210,7 +2217,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
2210
2217
  };
2211
2218
  const create$C = (message, result) => {
2212
2219
  return {
2213
- jsonrpc: Two,
2220
+ jsonrpc: Two$1,
2214
2221
  id: message.id,
2215
2222
  result: result ?? null
2216
2223
  };
@@ -2221,7 +2228,7 @@ const getSuccessResponse = (message, result) => {
2221
2228
  };
2222
2229
  const getErrorResponseSimple = (id, error) => {
2223
2230
  return {
2224
- jsonrpc: Two,
2231
+ jsonrpc: Two$1,
2225
2232
  id,
2226
2233
  error: {
2227
2234
  code: Custom,
@@ -2308,29 +2315,6 @@ const handleJsonRpcMessage = async (...args) => {
2308
2315
  }
2309
2316
  throw new JsonRpcError('unexpected message');
2310
2317
  };
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
2318
 
2335
2319
  class CommandNotFoundError extends Error {
2336
2320
  constructor(command) {
@@ -2352,25 +2336,88 @@ const execute = (command, ...args) => {
2352
2336
  }
2353
2337
  return fn(...args);
2354
2338
  };
2355
-
2339
+
2340
+ const Two = '2.0';
2341
+ const create$s$1 = (method, params) => {
2342
+ return {
2343
+ jsonrpc: Two,
2344
+ method,
2345
+ params
2346
+ };
2347
+ };
2348
+ const create$r$1 = (id, method, params) => {
2349
+ const message = {
2350
+ id,
2351
+ jsonrpc: Two,
2352
+ method,
2353
+ params
2354
+ };
2355
+ return message;
2356
+ };
2357
+ let id = 0;
2358
+ const create$q$1 = () => {
2359
+ return ++id;
2360
+ };
2361
+
2362
+ /* eslint-disable n/no-unsupported-features/es-syntax */
2363
+
2364
+ const registerPromise = map => {
2365
+ const id = create$q$1();
2366
+ const {
2367
+ promise,
2368
+ resolve
2369
+ } = Promise.withResolvers();
2370
+ map[id] = resolve;
2371
+ return {
2372
+ id,
2373
+ promise
2374
+ };
2375
+ };
2376
+
2377
+ // @ts-ignore
2378
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
2379
+ const {
2380
+ id,
2381
+ promise
2382
+ } = registerPromise(callbacks);
2383
+ const message = create$r$1(id, method, params);
2384
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
2385
+ ipc.sendAndTransfer(message);
2386
+ } else {
2387
+ ipc.send(message);
2388
+ }
2389
+ const responseMessage = await promise;
2390
+ return unwrapJsonRpcResult(responseMessage);
2391
+ };
2356
2392
  const createRpc = ipc => {
2393
+ const callbacks = Object.create(null);
2394
+ ipc._resolve = (id, response) => {
2395
+ const fn = callbacks[id];
2396
+ if (!fn) {
2397
+ console.warn(`callback ${id} may already be disposed`);
2398
+ return;
2399
+ }
2400
+ fn(response);
2401
+ delete callbacks[id];
2402
+ };
2357
2403
  const rpc = {
2404
+ async dispose() {
2405
+ await ipc?.dispose();
2406
+ },
2407
+ invoke(method, ...params) {
2408
+ return invokeHelper(callbacks, ipc, method, params, false);
2409
+ },
2410
+ invokeAndTransfer(method, ...params) {
2411
+ return invokeHelper(callbacks, ipc, method, params, true);
2412
+ },
2358
2413
  // @ts-ignore
2359
2414
  ipc,
2360
2415
  /**
2361
2416
  * @deprecated
2362
2417
  */
2363
2418
  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();
2419
+ const message = create$s$1(method, params);
2420
+ ipc.send(message);
2374
2421
  }
2375
2422
  };
2376
2423
  return rpc;
@@ -2387,7 +2434,7 @@ const logError$1 = () => {
2387
2434
  const handleMessage = event => {
2388
2435
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
2389
2436
  const actualExecute = event?.target?.execute || execute;
2390
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError$1, actualRequiresSocket);
2437
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError$1, actualRequiresSocket);
2391
2438
  };
2392
2439
  const handleIpc = ipc => {
2393
2440
  if ('addEventListener' in ipc) {
@@ -2405,7 +2452,7 @@ const unhandleIpc = ipc => {
2405
2452
  ipc.onmessage = null;
2406
2453
  }
2407
2454
  };
2408
- const create$g$1 = async ({
2455
+ const create$l$1 = async ({
2409
2456
  commandMap,
2410
2457
  window
2411
2458
  }) => {
@@ -2418,21 +2465,21 @@ const create$g$1 = async ({
2418
2465
  };
2419
2466
  const ElectronWindowRpcClient = {
2420
2467
  __proto__: null,
2421
- create: create$g$1
2468
+ create: create$l$1
2422
2469
  };
2423
2470
  const isWorker = value => {
2424
2471
  return value instanceof Worker;
2425
2472
  };
2426
- const create$c$1 = async ({
2473
+ const create$b$1 = async ({
2427
2474
  commandMap,
2428
- url,
2429
- name
2475
+ name,
2476
+ url
2430
2477
  }) => {
2431
2478
  // TODO create a commandMap per rpc instance
2432
2479
  register(commandMap);
2433
2480
  const worker = await IpcParentWithModuleWorker$1.create({
2434
- url,
2435
- name
2481
+ name,
2482
+ url
2436
2483
  });
2437
2484
  if (!isWorker(worker)) {
2438
2485
  throw new Error(`worker must be of type Worker`);
@@ -2444,19 +2491,19 @@ const create$c$1 = async ({
2444
2491
  };
2445
2492
  const ModuleWorkerRpcParent = {
2446
2493
  __proto__: null,
2447
- create: create$c$1
2494
+ create: create$b$1
2448
2495
  };
2449
- const create$b$1 = async ({
2496
+ const create$a$1 = async ({
2450
2497
  commandMap,
2451
- url,
2498
+ name,
2452
2499
  port,
2453
- name
2500
+ url
2454
2501
  }) => {
2455
2502
  // TODO create a commandMap per rpc instance
2456
2503
  register(commandMap);
2457
2504
  const worker = await IpcParentWithModuleWorker$1.create({
2458
- url,
2459
- name
2505
+ name,
2506
+ url
2460
2507
  });
2461
2508
  if (!isWorker(worker)) {
2462
2509
  throw new Error(`worker must be of type Worker`);
@@ -2470,17 +2517,18 @@ const create$b$1 = async ({
2470
2517
  };
2471
2518
  const ModuleWorkerWithMessagePortRpcParent = {
2472
2519
  __proto__: null,
2473
- create: create$b$1
2520
+ create: create$a$1
2474
2521
  };
2475
- const create$5$1 = async ({
2522
+ const create$4$1 = async ({
2476
2523
  commandMap,
2524
+ isMessagePortOpen = true,
2477
2525
  messagePort
2478
2526
  }) => {
2479
2527
  // TODO create a commandMap per rpc instance
2480
2528
  register(commandMap);
2481
2529
  const rawIpc = await IpcParentWithMessagePort$1.create({
2482
- messagePort,
2483
- isMessagePortOpen: true
2530
+ isMessagePortOpen,
2531
+ messagePort
2484
2532
  });
2485
2533
  const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
2486
2534
  handleIpc(ipc);
@@ -2488,31 +2536,31 @@ const create$5$1 = async ({
2488
2536
  messagePort.start();
2489
2537
  return rpc;
2490
2538
  };
2491
- const create$4$1 = async ({
2539
+ const create$3$1 = async ({
2492
2540
  commandMap,
2493
2541
  messagePort
2494
2542
  }) => {
2495
- return create$5$1({
2543
+ return create$4$1({
2496
2544
  commandMap,
2497
2545
  messagePort
2498
2546
  });
2499
2547
  };
2500
2548
  const PlainMessagePortRpcParent = {
2501
2549
  __proto__: null,
2502
- create: create$4$1
2550
+ create: create$3$1
2503
2551
  };
2504
2552
 
2505
2553
  // TODO add test
2506
2554
  const create$B = async ({
2507
- url,
2508
2555
  name,
2509
- port
2556
+ port,
2557
+ url
2510
2558
  }) => {
2511
2559
  await ModuleWorkerWithMessagePortRpcParent.create({
2512
- url,
2513
- name,
2514
2560
  commandMap: {},
2515
- port
2561
+ name,
2562
+ port,
2563
+ url
2516
2564
  });
2517
2565
  return undefined;
2518
2566
  };
@@ -2553,8 +2601,8 @@ const isElectron = platform === Electron;
2553
2601
 
2554
2602
  // TODO use handleIncomingIpc function
2555
2603
  const create$A = async ({
2556
- port,
2557
- ipcId
2604
+ ipcId,
2605
+ port
2558
2606
  }) => {
2559
2607
  number(ipcId);
2560
2608
  if (!isElectron) {
@@ -2575,16 +2623,16 @@ const IpcParentWithElectron = {
2575
2623
 
2576
2624
  const getModule = method => {
2577
2625
  switch (method) {
2578
- case ModuleWorker:
2579
- return IpcParentWithModuleWorker$2;
2626
+ case Electron$1:
2627
+ return IpcParentWithElectron;
2580
2628
  case MessagePort$1:
2581
2629
  return IpcParentWithMessagePort$2;
2582
- case ReferencePort:
2583
- return IpcParentWithReferencePort;
2630
+ case ModuleWorker:
2631
+ return IpcParentWithModuleWorker$2;
2584
2632
  case ModuleWorkerWithMessagePort:
2585
2633
  return IpcParentWithModuleWorkerWithMessagePort;
2586
- case Electron$1:
2587
- return IpcParentWithElectron;
2634
+ case ReferencePort:
2635
+ return IpcParentWithReferencePort;
2588
2636
  default:
2589
2637
  throw new Error('unexpected ipc type');
2590
2638
  }
@@ -2611,9 +2659,9 @@ const launchWorker = async ({
2611
2659
  url
2612
2660
  }) => {
2613
2661
  const rpc = await ModuleWorkerRpcParent.create({
2614
- url,
2662
+ commandMap: commandMapRef,
2615
2663
  name,
2616
- commandMap: commandMapRef
2664
+ url
2617
2665
  });
2618
2666
  return rpc;
2619
2667
  };
@@ -2785,8 +2833,8 @@ const setThemeColor = color => {
2785
2833
 
2786
2834
  // TODO this file is not needed when all elements are position fixed
2787
2835
  const state$6 = {
2788
- widgetSet: new Set(),
2789
- $Widgets: undefined
2836
+ $Widgets: undefined,
2837
+ widgetSet: new Set()
2790
2838
  };
2791
2839
  const create$Widgets = () => {
2792
2840
  const $Widgets = document.createElement('div');
@@ -3102,13 +3150,13 @@ const FocusOutput = 28;
3102
3150
  // TODO keyboard handling
3103
3151
 
3104
3152
  const state$3 = {
3105
- handleKeyDown(event) {},
3106
- handleFocusOut(event) {},
3107
3153
  $$Menus: [],
3154
+ $BackDrop: undefined,
3155
+ anchorTime: -1,
3108
3156
  anchorX: 0,
3109
3157
  anchorY: 0,
3110
- anchorTime: -1,
3111
- $BackDrop: undefined
3158
+ handleFocusOut(event) {},
3159
+ handleKeyDown(event) {}
3112
3160
  };
3113
3161
  const getLevel = $Menu => {
3114
3162
  // @ts-expect-error
@@ -3157,9 +3205,9 @@ const handleMouseDown$4 = event => {
3157
3205
  */
3158
3206
  const handleMouseEnter = event => {
3159
3207
  const {
3160
- target,
3161
3208
  clientX,
3162
3209
  clientY,
3210
+ target,
3163
3211
  timeStamp
3164
3212
  } = event;
3165
3213
  const $Menu = target.closest('.Menu');
@@ -3295,15 +3343,15 @@ const hideSubMenu = level => {
3295
3343
 
3296
3344
  // TODO support nested menus / submenus
3297
3345
  const showControlled = ({
3298
- x,
3299
- y,
3300
- items,
3301
- handleKeyDown,
3302
- handleFocusOut,
3303
3346
  $Parent,
3347
+ handleFocusOut,
3348
+ handleKeyDown,
3349
+ height,
3350
+ items,
3304
3351
  level,
3305
3352
  width,
3306
- height
3353
+ x,
3354
+ y
3307
3355
  }) => {
3308
3356
  // @ts-expect-error
3309
3357
  showMenu(x, y, width, height, items, level);
@@ -3466,12 +3514,12 @@ const start = async (id, options) => {
3466
3514
 
3467
3515
  const getEventClass = eventType => {
3468
3516
  switch (eventType) {
3469
- case Wheel:
3470
- return WheelEvent;
3471
3517
  case PointerDown:
3472
- case PointerUp:
3473
3518
  case PointerMove:
3519
+ case PointerUp:
3474
3520
  return PointerEvent;
3521
+ case Wheel:
3522
+ return WheelEvent;
3475
3523
  default:
3476
3524
  return Event;
3477
3525
  }
@@ -3586,8 +3634,8 @@ const querySelector = selector => {
3586
3634
  throw new Error(`unsupported selector: ${selector}`);
3587
3635
  };
3588
3636
  const querySelectorWithOptions = (selector, {
3589
- nth = -1,
3590
- hasText = ''
3637
+ hasText = '',
3638
+ nth = -1
3591
3639
  } = {}) => {
3592
3640
  let elements = querySelector(selector);
3593
3641
  if (hasText) {
@@ -3628,18 +3676,18 @@ const performAction2 = async (locator, fnName, options) => {
3628
3676
 
3629
3677
  const toHaveText$1 = locator => {
3630
3678
  const element = querySelectorWithOptions(locator._selector, {
3631
- nth: locator._nth,
3632
- hasText: locator._hasText
3679
+ hasText: locator._hasText,
3680
+ nth: locator._nth
3633
3681
  });
3634
3682
  if (!element) {
3635
3683
  return {
3636
- wasFound: false,
3637
- actual: ''
3684
+ actual: '',
3685
+ wasFound: false
3638
3686
  };
3639
3687
  }
3640
3688
  return {
3641
- wasFound: true,
3642
- actual: element.textContent
3689
+ actual: element.textContent,
3690
+ wasFound: true
3643
3691
  };
3644
3692
  };
3645
3693
  const toHaveAttribute$1 = (locator, {
@@ -3647,19 +3695,19 @@ const toHaveAttribute$1 = (locator, {
3647
3695
  value
3648
3696
  }) => {
3649
3697
  const element = querySelectorWithOptions(locator._selector, {
3650
- nth: locator._nth,
3651
- hasText: locator._hasText
3698
+ hasText: locator._hasText,
3699
+ nth: locator._nth
3652
3700
  });
3653
3701
  if (!element) {
3654
3702
  return {
3655
- wasFound: false,
3656
- actual: ''
3703
+ actual: '',
3704
+ wasFound: false
3657
3705
  };
3658
3706
  }
3659
3707
  const actual = element.getAttribute(key);
3660
3708
  return {
3661
- wasFound: true,
3662
- actual
3709
+ actual,
3710
+ wasFound: true
3663
3711
  };
3664
3712
  };
3665
3713
  const toHaveCount$1 = locator => {
@@ -3694,26 +3742,26 @@ const toHaveClass$1 = (locator, {
3694
3742
  const [element] = querySelector(locator._selector);
3695
3743
  if (!element) {
3696
3744
  return {
3697
- wasFound: false,
3698
- actual: ''
3745
+ actual: '',
3746
+ wasFound: false
3699
3747
  };
3700
3748
  }
3701
3749
  return {
3702
- wasFound: true,
3703
- actual: className
3750
+ actual: className,
3751
+ wasFound: true
3704
3752
  };
3705
3753
  };
3706
3754
  const toHaveId$1 = locator => {
3707
3755
  const [element] = querySelector(locator._selector);
3708
3756
  if (!element) {
3709
3757
  return {
3710
- wasFound: false,
3711
- actual: ''
3758
+ actual: '',
3759
+ wasFound: false
3712
3760
  };
3713
3761
  }
3714
3762
  return {
3715
- wasFound: true,
3716
- actual: element.id
3763
+ actual: element.id,
3764
+ wasFound: true
3717
3765
  };
3718
3766
  };
3719
3767
  const toHaveCss$1 = (locator, {
@@ -3722,15 +3770,15 @@ const toHaveCss$1 = (locator, {
3722
3770
  const [element] = querySelector(locator._selector);
3723
3771
  if (!element) {
3724
3772
  return {
3725
- wasFound: false,
3726
- actual: ''
3773
+ actual: '',
3774
+ wasFound: false
3727
3775
  };
3728
3776
  }
3729
3777
  const style = getComputedStyle(element);
3730
3778
  const actual = style[key];
3731
3779
  return {
3732
- wasFound: true,
3733
- actual
3780
+ actual,
3781
+ wasFound: true
3734
3782
  };
3735
3783
  };
3736
3784
  const toHaveJSProperty$1 = (locator, {
@@ -3739,14 +3787,14 @@ const toHaveJSProperty$1 = (locator, {
3739
3787
  const [element] = querySelector(locator._selector);
3740
3788
  if (!element) {
3741
3789
  return {
3742
- wasFound: false,
3743
- actual: ''
3790
+ actual: '',
3791
+ wasFound: false
3744
3792
  };
3745
3793
  }
3746
3794
  const actual = element[key];
3747
3795
  return {
3748
- wasFound: true,
3749
- actual
3796
+ actual,
3797
+ wasFound: true
3750
3798
  };
3751
3799
  };
3752
3800
 
@@ -4370,16 +4418,16 @@ const create$u = (pointerDown, pointerMove, pointerUp) => {
4370
4418
  };
4371
4419
  const handlePointerUp = event => {
4372
4420
  const {
4373
- target,
4374
- pointerId
4421
+ pointerId,
4422
+ target
4375
4423
  } = event;
4376
4424
  stopTracking$1(target, pointerId, handlePointerMove, handlePointerUp);
4377
4425
  shared(pointerUp, event);
4378
4426
  };
4379
4427
  const handlePointerDown = event => {
4380
4428
  const {
4381
- target,
4382
- pointerId
4429
+ pointerId,
4430
+ target
4383
4431
  } = event;
4384
4432
  startTracking$1(target, pointerId, handlePointerMove, handlePointerUp);
4385
4433
  shared(pointerDown, event);
@@ -4496,11 +4544,11 @@ const handleKeyDown$3 = event => {
4496
4544
  stopPropagation(event);
4497
4545
  const uid = fromEvent(event);
4498
4546
  const {
4499
- key,
4500
4547
  altKey,
4501
4548
  ctrlKey,
4502
- shiftKey,
4503
- metaKey
4549
+ key,
4550
+ metaKey,
4551
+ shiftKey
4504
4552
  } = event;
4505
4553
  handleKeyDown$4(uid, key, altKey, ctrlKey, shiftKey, metaKey);
4506
4554
  };
@@ -4608,12 +4656,12 @@ const create$r = () => {
4608
4656
  $Dialog.append($DialogHeader, $DialogBody);
4609
4657
  $Dialog.onclick = handleClick$4;
4610
4658
  return {
4611
- $Viewlet: $Dialog,
4612
- $DialogTitle,
4613
4659
  $DialogBodyErrorCodeFrame,
4614
4660
  $DialogBodyErrorMessage,
4661
+ $DialogBodyErrorStack,
4615
4662
  $DialogBodyOptions,
4616
- $DialogBodyErrorStack
4663
+ $DialogTitle,
4664
+ $Viewlet: $Dialog
4617
4665
  };
4618
4666
  };
4619
4667
  const postAppend = state => {
@@ -5000,17 +5048,17 @@ const handleScrollBarThumbPointerMove = event => {
5000
5048
  };
5001
5049
  const handlePointerCaptureLost$2 = event => {
5002
5050
  const {
5003
- target,
5004
- pointerId
5051
+ pointerId,
5052
+ target
5005
5053
  } = event;
5006
5054
  stopTracking(target, pointerId, handleScrollBarThumbPointerMove, handlePointerCaptureLost$2);
5007
5055
  };
5008
5056
  const handleScrollBarPointerDown$1 = event => {
5009
5057
  preventDefault(event);
5010
5058
  const {
5011
- target,
5059
+ clientY,
5012
5060
  pointerId,
5013
- clientY
5061
+ target
5014
5062
  } = event;
5015
5063
  startTracking(target, pointerId, handleScrollBarThumbPointerMove, handlePointerCaptureLost$2);
5016
5064
  const uid = fromEvent(event);
@@ -5036,12 +5084,12 @@ const Large = 'Large';
5036
5084
 
5037
5085
  const getClassName = size => {
5038
5086
  switch (size) {
5039
- case Small$1:
5040
- return Small;
5041
- case Normal$1:
5042
- return Normal;
5043
5087
  case Large$1:
5044
5088
  return Large;
5089
+ case Normal$1:
5090
+ return Normal;
5091
+ case Small$1:
5092
+ return Small;
5045
5093
  default:
5046
5094
  return None$1;
5047
5095
  }
@@ -5090,17 +5138,17 @@ const create$q = () => {
5090
5138
  $Viewlet.id = 'Completions';
5091
5139
  $Viewlet.append($ListItems, $ScrollBar);
5092
5140
  return {
5093
- $Viewlet,
5094
5141
  $ListItems,
5095
5142
  $ScrollBar,
5096
- $ScrollBarThumb
5143
+ $ScrollBarThumb,
5144
+ $Viewlet
5097
5145
  };
5098
5146
  };
5099
5147
  const attachEvents$7 = state => {
5100
5148
  const {
5101
- $Viewlet,
5102
5149
  $ListItems,
5103
- $ScrollBar
5150
+ $ScrollBar,
5151
+ $Viewlet
5104
5152
  } = state;
5105
5153
  $Viewlet.addEventListener(Wheel, handleWheel$2, Passive);
5106
5154
  attachEvents$8($ListItems, {
@@ -5329,9 +5377,9 @@ const RightClick = 2;
5329
5377
  */
5330
5378
  const handlePointerMove = event => {
5331
5379
  const {
5332
- pointerId,
5333
5380
  clientX,
5334
- clientY
5381
+ clientY,
5382
+ pointerId
5335
5383
  } = event;
5336
5384
  const uid = fromEvent(event);
5337
5385
  handlePointerMove$1(uid, pointerId, clientX, clientY);
@@ -5342,10 +5390,10 @@ const handlePointerMove = event => {
5342
5390
  */
5343
5391
  const handlePointerUp = event => {
5344
5392
  const {
5345
- pointerId,
5393
+ button,
5346
5394
  clientX,
5347
5395
  clientY,
5348
- button
5396
+ pointerId
5349
5397
  } = event;
5350
5398
  if (button !== LeftClick) {
5351
5399
  return;
@@ -5366,11 +5414,11 @@ const handlePointerCaptureLost$1 = event => {
5366
5414
  */
5367
5415
  const handlePointerDown$1 = event => {
5368
5416
  const {
5369
- pointerId,
5417
+ button,
5370
5418
  clientX,
5371
5419
  clientY,
5372
- target,
5373
- button
5420
+ pointerId,
5421
+ target
5374
5422
  } = event;
5375
5423
  if (button !== LeftClick) {
5376
5424
  return;
@@ -5432,10 +5480,10 @@ const attachEvents$5 = state => {
5432
5480
  $Viewlet
5433
5481
  } = state;
5434
5482
  attachEvents$8($Viewlet, {
5435
- [PointerDown]: handlePointerDown$1,
5436
- [PointerUp]: handlePointerUp,
5437
5483
  [ContextMenu]: handleContextMenu$4,
5438
- [FocusIn]: handleFocus$6
5484
+ [FocusIn]: handleFocus$6,
5485
+ [PointerDown]: handlePointerDown$1,
5486
+ [PointerUp]: handlePointerUp
5439
5487
  });
5440
5488
  $Viewlet.addEventListener(Error$2, handleError$5, Capture);
5441
5489
  $Viewlet.addEventListener(Wheel, handleWheel$1, Passive);
@@ -5622,9 +5670,9 @@ const handleFocus$5 = event => {
5622
5670
  };
5623
5671
  const handleMouseMove = event => {
5624
5672
  const {
5673
+ altKey,
5625
5674
  clientX,
5626
- clientY,
5627
- altKey
5675
+ clientY
5628
5676
  } = event;
5629
5677
  return ['handleMouseMove', clientX, clientY, altKey];
5630
5678
  };
@@ -5641,8 +5689,8 @@ const handleBlur$5 = event => {
5641
5689
  const handleBeforeInput = event => {
5642
5690
  preventDefault(event);
5643
5691
  const {
5644
- inputType,
5645
- data
5692
+ data,
5693
+ inputType
5646
5694
  } = event;
5647
5695
  return ['handleBeforeInput', inputType, data];
5648
5696
  };
@@ -5681,9 +5729,9 @@ const isRightClick = event => {
5681
5729
  };
5682
5730
  const handleEditorPointerMove = event => {
5683
5731
  const {
5732
+ altKey,
5684
5733
  clientX,
5685
- clientY,
5686
- altKey
5734
+ clientY
5687
5735
  } = event;
5688
5736
  // TODO if/else should be in renderer worker
5689
5737
  if (altKey) {
@@ -5706,13 +5754,13 @@ const handleEditorLostPointerCapture = event => {
5706
5754
  */
5707
5755
  const handleEditorPointerDown = event => {
5708
5756
  const {
5709
- target,
5710
- pointerId
5757
+ pointerId,
5758
+ target
5711
5759
  } = event;
5712
5760
  target.setPointerCapture(pointerId);
5713
5761
  attachEventsFunctional(target, {
5714
- [PointerMove]: handleEditorPointerMove,
5715
5762
  [LostPointerCapture]: handleEditorLostPointerCapture,
5763
+ [PointerMove]: handleEditorPointerMove,
5716
5764
  returnValue: true
5717
5765
  });
5718
5766
  return [];
@@ -5788,8 +5836,8 @@ const handleScrollBarThumbHorizontalPointerMove = event => {
5788
5836
  */
5789
5837
  const handleScrollBarHorizontalPointerUp = event => {
5790
5838
  const {
5791
- target,
5792
- pointerId
5839
+ pointerId,
5840
+ target
5793
5841
  } = event;
5794
5842
  stopTracking(target, pointerId, handleScrollBarThumbHorizontalPointerMove, handleScrollBarHorizontalPointerUp);
5795
5843
  return [];
@@ -5801,9 +5849,9 @@ const handleScrollBarHorizontalPointerUp = event => {
5801
5849
  */
5802
5850
  const handleScrollBarHorizontalPointerDown = event => {
5803
5851
  const {
5804
- target,
5852
+ clientX,
5805
5853
  pointerId,
5806
- clientX
5854
+ target
5807
5855
  } = event;
5808
5856
  startTracking(target, pointerId, handleScrollBarThumbHorizontalPointerMove, handleScrollBarHorizontalPointerUp);
5809
5857
  return ['handleScrollBarHorizontalPointerDown', clientX];
@@ -5895,12 +5943,12 @@ const create$l = () => {
5895
5943
  // TODO where to best put listeners (side effects)
5896
5944
  attachEventsFunctional($EditorInput, {
5897
5945
  [BeforeInput]: handleBeforeInput,
5946
+ [Blur]: handleBlur$5,
5947
+ [CompositionEnd]: handleCompositionEnd,
5898
5948
  [CompositionStart]: handleCompositionStart,
5899
5949
  [CompositionUpdate]: handleCompositionUpdate,
5900
- [CompositionEnd]: handleCompositionEnd,
5901
- [Focus]: handleFocus$5,
5902
- [Blur]: handleBlur$5,
5903
5950
  [Cut]: handleCut,
5951
+ [Focus]: handleFocus$5,
5904
5952
  [Paste]: handlePaste,
5905
5953
  returnValue: true
5906
5954
  });
@@ -5925,8 +5973,8 @@ const create$l = () => {
5925
5973
  const $ScrollBarVertical = document.createElement('div');
5926
5974
  $ScrollBarVertical.className = 'ScrollBar ScrollBarVertical';
5927
5975
  attachEventsFunctional($ScrollBarVertical, {
5928
- [PointerDown]: handleScrollBarVerticalPointerDown,
5929
5976
  [ContextMenu]: handleScrollBarContextMenu,
5977
+ [PointerDown]: handleScrollBarVerticalPointerDown,
5930
5978
  returnValue: true
5931
5979
  });
5932
5980
  $ScrollBarVertical.append($ScrollBarThumbVertical);
@@ -5973,19 +6021,19 @@ const create$l = () => {
5973
6021
  returnValue: true
5974
6022
  });
5975
6023
  return {
5976
- $LayerCursor,
5977
- $LayerSelections,
5978
- $LayerText,
5979
- $LayerGutter,
5980
- $EditorLayers,
5981
6024
  $Editor,
5982
6025
  $EditorInput,
5983
- $ScrollBarThumbVertical,
5984
- $ScrollBarThumbHorizontal,
6026
+ $EditorLayers,
6027
+ $LayerCursor,
5985
6028
  $LayerDiagnostics,
6029
+ $LayerGutter,
6030
+ $LayerSelections,
6031
+ $LayerText,
5986
6032
  $ScrollBarDiagnostics,
5987
- shouldIgnoreSelectionChange: false,
5988
- $Viewlet: $Editor
6033
+ $ScrollBarThumbHorizontal,
6034
+ $ScrollBarThumbVertical,
6035
+ $Viewlet: $Editor,
6036
+ shouldIgnoreSelectionChange: false
5989
6037
  };
5990
6038
  };
5991
6039
  const setText$2 = (state, dom) => {
@@ -5997,8 +6045,8 @@ const setIncrementalEdits$1 = (state, incrementalEdits) => {
5997
6045
  } = state;
5998
6046
  for (const incrementalEdit of incrementalEdits) {
5999
6047
  const {
6000
- rowIndex,
6001
6048
  columnIndex,
6049
+ rowIndex,
6002
6050
  text
6003
6051
  } = incrementalEdit;
6004
6052
  const $Row = $LayerText.children[rowIndex];
@@ -6451,16 +6499,16 @@ const handleResizerPointerMove = event => {
6451
6499
  // TODO use lostpointercapture event instead
6452
6500
  const handleResizerPointerUp = event => {
6453
6501
  const {
6454
- target,
6455
- pointerId
6502
+ pointerId,
6503
+ target
6456
6504
  } = event;
6457
6505
  stopTracking(target, pointerId, handleResizerPointerMove, handleResizerPointerUp);
6458
6506
  };
6459
6507
  const handleResizerPointerDown = event => {
6460
6508
  const {
6461
- target,
6509
+ clientX,
6462
6510
  pointerId,
6463
- clientX
6511
+ target
6464
6512
  } = event;
6465
6513
  startTracking(target, pointerId, handleResizerPointerMove, handleResizerPointerUp);
6466
6514
  const id = target.nextSibling ? 1 : 2;
@@ -6716,35 +6764,19 @@ const Plus = 132;
6716
6764
 
6717
6765
  const getKeyCode = key => {
6718
6766
  switch (key) {
6767
+ case Backquote$1:
6768
+ case Backquote2:
6769
+ return Backquote;
6770
+ case Backslash$1:
6771
+ return Backslash;
6719
6772
  case Backspace$1:
6720
6773
  return Backspace;
6721
- case Tab$1:
6722
- return Tab;
6723
- case Escape$1:
6724
- return Escape;
6725
- case Enter$1:
6726
- return Enter;
6727
- case Space$1:
6728
- case Space2:
6729
- return Space;
6730
- case PageUp$1:
6731
- return PageUp;
6732
- case PageDown$1:
6733
- return PageDown;
6734
- case End$1:
6735
- return End;
6736
- case Home$1:
6737
- return Home;
6738
- case LeftArrow$1:
6739
- return LeftArrow;
6740
- case UpArrow$1:
6741
- return UpArrow;
6742
- case RightArrow$1:
6743
- return RightArrow;
6744
- case DownArrow$1:
6745
- return DownArrow;
6746
- case Insert$1:
6747
- return Insert;
6774
+ case BracketLeft$1:
6775
+ return BracketLeft;
6776
+ case BracketRight$1:
6777
+ return BracketRight;
6778
+ case Comma$1:
6779
+ return Comma;
6748
6780
  case Delete$1:
6749
6781
  return Delete;
6750
6782
  case Digit0$1:
@@ -6767,6 +6799,68 @@ const getKeyCode = key => {
6767
6799
  return Digit8;
6768
6800
  case Digit9$1:
6769
6801
  return Digit9;
6802
+ case DownArrow$1:
6803
+ return DownArrow;
6804
+ case End$1:
6805
+ return End;
6806
+ case Enter$1:
6807
+ return Enter;
6808
+ case Equal$1:
6809
+ return Equal;
6810
+ case Escape$1:
6811
+ return Escape;
6812
+ case F1$1:
6813
+ return F1;
6814
+ case F10$1:
6815
+ return F10;
6816
+ case F11$1:
6817
+ return F11;
6818
+ case F12$1:
6819
+ return F12;
6820
+ case F13$1:
6821
+ return F13;
6822
+ case F14$1:
6823
+ return F14;
6824
+ case F15$1:
6825
+ return F15;
6826
+ case F16$1:
6827
+ return F16;
6828
+ case F17$1:
6829
+ return F17;
6830
+ case F18$1:
6831
+ return F18;
6832
+ case F19$1:
6833
+ return F19;
6834
+ case F2$1:
6835
+ return F2;
6836
+ case F20$1:
6837
+ return F20;
6838
+ case F21$1:
6839
+ return F21;
6840
+ case F22$1:
6841
+ return F22;
6842
+ case F23$1:
6843
+ return F23;
6844
+ case F24$1:
6845
+ return F24;
6846
+ case F3$1:
6847
+ return F3;
6848
+ case F4$1:
6849
+ return F4;
6850
+ case F5$1:
6851
+ return F5;
6852
+ case F6$1:
6853
+ return F6;
6854
+ case F7$1:
6855
+ return F7;
6856
+ case F8$1:
6857
+ return F8;
6858
+ case F9$1:
6859
+ return F9;
6860
+ case Home$1:
6861
+ return Home;
6862
+ case Insert$1:
6863
+ return Insert;
6770
6864
  case KeyA$1:
6771
6865
  return KeyA;
6772
6866
  case KeyB$1:
@@ -6819,81 +6913,35 @@ const getKeyCode = key => {
6819
6913
  return KeyY;
6820
6914
  case KeyZ$1:
6821
6915
  return KeyZ;
6822
- case F1$1:
6823
- return F1;
6824
- case F2$1:
6825
- return F2;
6826
- case F3$1:
6827
- return F3;
6828
- case F4$1:
6829
- return F4;
6830
- case F5$1:
6831
- return F5;
6832
- case F6$1:
6833
- return F6;
6834
- case F7$1:
6835
- return F7;
6836
- case F8$1:
6837
- return F8;
6838
- case F9$1:
6839
- return F9;
6840
- case F10$1:
6841
- return F10;
6842
- case F11$1:
6843
- return F11;
6844
- case F12$1:
6845
- return F12;
6846
- case F13$1:
6847
- return F13;
6848
- case F14$1:
6849
- return F14;
6850
- case F15$1:
6851
- return F15;
6852
- case F16$1:
6853
- return F16;
6854
- case F17$1:
6855
- return F17;
6856
- case F18$1:
6857
- return F18;
6858
- case F19$1:
6859
- return F19;
6860
- case F20$1:
6861
- return F20;
6862
- case F21$1:
6863
- return F21;
6864
- case F22$1:
6865
- return F22;
6866
- case F23$1:
6867
- return F23;
6868
- case F24$1:
6869
- return F24;
6870
- case SemiColon$1:
6871
- return SemiColon;
6872
- case Equal$1:
6873
- return Equal;
6874
- case Comma$1:
6875
- return Comma;
6916
+ case LeftArrow$1:
6917
+ return LeftArrow;
6876
6918
  case Minus$1:
6877
6919
  return Minus;
6920
+ case PageDown$1:
6921
+ return PageDown;
6922
+ case PageUp$1:
6923
+ return PageUp;
6878
6924
  case Period$1:
6879
6925
  return Period;
6880
- case Slash$1:
6881
- return Slash;
6882
- case Backquote$1:
6883
- case Backquote2:
6884
- return Backquote;
6885
- case BracketLeft$1:
6886
- return BracketLeft;
6887
- case Backslash$1:
6888
- return Backslash;
6889
- case BracketRight$1:
6890
- return BracketRight;
6926
+ case Plus$1:
6927
+ return Plus;
6891
6928
  case Quote$1:
6892
6929
  return Quote;
6930
+ case RightArrow$1:
6931
+ return RightArrow;
6932
+ case SemiColon$1:
6933
+ return SemiColon;
6934
+ case Slash$1:
6935
+ return Slash;
6936
+ case Space$1:
6937
+ case Space2:
6938
+ return Space;
6893
6939
  case Star$1:
6894
6940
  return Star;
6895
- case Plus$1:
6896
- return Plus;
6941
+ case Tab$1:
6942
+ return Tab;
6943
+ case UpArrow$1:
6944
+ return UpArrow;
6897
6945
  default:
6898
6946
  return Unknown;
6899
6947
  }
@@ -6915,11 +6963,11 @@ const normalizeKey = (key, code) => {
6915
6963
 
6916
6964
  const getKeyBindingIdentifier = event => {
6917
6965
  const {
6918
- ctrlKey,
6919
- shiftKey,
6920
6966
  altKey,
6967
+ code,
6968
+ ctrlKey,
6921
6969
  key,
6922
- code
6970
+ shiftKey
6923
6971
  } = event;
6924
6972
  const modifierControl = ctrlKey ? CtrlCmd : 0;
6925
6973
  const modifierShift = shiftKey ? Shift : 0;
@@ -6982,8 +7030,8 @@ const handleSashPointerMove = event => {
6982
7030
  };
6983
7031
  const handlePointerCaptureLost = event => {
6984
7032
  const {
6985
- target,
6986
- pointerId
7033
+ pointerId,
7034
+ target
6987
7035
  } = event;
6988
7036
  stopTracking(target, pointerId, handleSashPointerMove, handlePointerCaptureLost);
6989
7037
  const id = getSashId(target);
@@ -6991,8 +7039,8 @@ const handlePointerCaptureLost = event => {
6991
7039
  };
6992
7040
  const handleSashPointerDown = event => {
6993
7041
  const {
6994
- target,
6995
- pointerId
7042
+ pointerId,
7043
+ target
6996
7044
  } = event;
6997
7045
  startTracking(target, pointerId, handleSashPointerMove, handlePointerCaptureLost);
6998
7046
  const id = getSashId(target);
@@ -7007,8 +7055,8 @@ const handleSashDoubleClick = event => {
7007
7055
  };
7008
7056
  const handleResize = () => {
7009
7057
  const {
7010
- innerWidth,
7011
- innerHeight
7058
+ innerHeight,
7059
+ innerWidth
7012
7060
  } = window;
7013
7061
  handleResize$1(innerWidth, innerHeight);
7014
7062
  };
@@ -7037,36 +7085,36 @@ const create$d = () => {
7037
7085
  $Viewlet.role = Application;
7038
7086
  $Viewlet.append($SashSideBar, $SashPanel);
7039
7087
  return {
7040
- $Viewlet,
7088
+ $SashPanel,
7041
7089
  $SashSideBar,
7042
- $SashPanel
7090
+ $Viewlet
7043
7091
  };
7044
7092
  };
7045
7093
  const attachEvents$4 = state => {
7046
7094
  const {
7047
- $SashSideBar,
7048
- $SashPanel
7095
+ $SashPanel,
7096
+ $SashSideBar
7049
7097
  } = state;
7050
7098
  attachEvents$8($SashSideBar, {
7051
- [PointerDown]: handleSashPointerDown,
7052
- [DoubleClick]: handleSashDoubleClick
7099
+ [DoubleClick]: handleSashDoubleClick,
7100
+ [PointerDown]: handleSashPointerDown
7053
7101
  });
7054
7102
  attachEvents$8($SashPanel, {
7055
- [PointerDown]: handleSashPointerDown,
7056
- [DoubleClick]: handleSashDoubleClick
7103
+ [DoubleClick]: handleSashDoubleClick,
7104
+ [PointerDown]: handleSashPointerDown
7057
7105
  });
7058
7106
  attachEvents$8(window, {
7059
- [Resize]: handleResize,
7060
- [Focus]: handleFocus$2,
7061
7107
  [Blur]: handleBlur$3,
7108
+ [Focus]: handleFocus$2,
7062
7109
  [KeyDown]: handleKeyDown$1,
7063
- [KeyUp]: handleKeyUp
7110
+ [KeyUp]: handleKeyUp,
7111
+ [Resize]: handleResize
7064
7112
  });
7065
7113
  };
7066
7114
  const setSashes = (state, sashSideBar, sashPanel) => {
7067
7115
  const {
7068
- $SashSideBar,
7069
- $SashPanel
7116
+ $SashPanel,
7117
+ $SashSideBar
7070
7118
  } = state;
7071
7119
  setBounds$a($SashSideBar, sashSideBar.x, sashSideBar.y, sashSideBar.width, sashSideBar.height);
7072
7120
  $SashSideBar.classList.toggle('SashActive', sashSideBar.active);
@@ -7141,9 +7189,9 @@ const handleDragLeave = event => {
7141
7189
  const handleDrop$1 = event => {
7142
7190
  preventDefault(event);
7143
7191
  const {
7144
- dataTransfer,
7145
7192
  clientX,
7146
- clientY
7193
+ clientY,
7194
+ dataTransfer
7147
7195
  } = event;
7148
7196
  const {
7149
7197
  files
@@ -7186,11 +7234,11 @@ const create$c = () => {
7186
7234
  // $Main.append($MainTabs, $MainContent)
7187
7235
 
7188
7236
  return {
7189
- $Viewlet,
7237
+ $DragOverlay: undefined,
7190
7238
  $Main: $Viewlet,
7191
7239
  $MainContent: undefined,
7192
7240
  $MainTabs: undefined,
7193
- $DragOverlay: undefined
7241
+ $Viewlet
7194
7242
  };
7195
7243
  };
7196
7244
  const attachEvents$3 = state => {
@@ -7198,11 +7246,11 @@ const attachEvents$3 = state => {
7198
7246
  $Viewlet
7199
7247
  } = state;
7200
7248
  attachEvents$8($Viewlet, {
7201
- [Drop]: handleDrop$1,
7202
- [DragOver]: handleDragOver$1,
7249
+ [ContextMenu]: handleContextMenu$2,
7203
7250
  [DragEnd]: handleDragEnd,
7204
7251
  [DragLeave]: handleDragLeave,
7205
- [ContextMenu]: handleContextMenu$2
7252
+ [DragOver]: handleDragOver$1,
7253
+ [Drop]: handleDrop$1
7206
7254
  });
7207
7255
  };
7208
7256
  const dispose$8 = state => {};
@@ -7300,8 +7348,8 @@ const handleTabsWheel = event => {
7300
7348
  };
7301
7349
  const handleDragStart = event => {
7302
7350
  const {
7303
- target,
7304
- dataTransfer
7351
+ dataTransfer,
7352
+ target
7305
7353
  } = event;
7306
7354
  setEffectAllowed(dataTransfer, CopyMove);
7307
7355
  dataTransfer.setData('x-lvce-drag', target.dataset.dragUid);
@@ -7322,9 +7370,9 @@ const handleDragOver = event => {
7322
7370
  const handleDrop = event => {
7323
7371
  preventDefault(event);
7324
7372
  const {
7325
- dataTransfer,
7326
7373
  clientX,
7327
- clientY
7374
+ clientY,
7375
+ dataTransfer
7328
7376
  } = event;
7329
7377
  const item = dataTransfer.getData('x-lvce-drag');
7330
7378
  const uid = getUid();
@@ -7332,9 +7380,9 @@ const handleDrop = event => {
7332
7380
  };
7333
7381
  const handleTabsMouseDown = event => {
7334
7382
  const {
7383
+ button,
7335
7384
  clientX,
7336
- clientY,
7337
- button
7385
+ clientY
7338
7386
  } = event;
7339
7387
  const uid = getUid();
7340
7388
  handleTabClick(uid, button, clientX, clientY);
@@ -7355,8 +7403,8 @@ const create$b = () => {
7355
7403
  $MainTabs.role = TabList;
7356
7404
  // TODO race condition: what if tab has already been closed?
7357
7405
  return {
7358
- $Viewlet: $MainTabs,
7359
- $MainTabs
7406
+ $MainTabs,
7407
+ $Viewlet: $MainTabs
7360
7408
  };
7361
7409
  };
7362
7410
  const attachEvents$2 = state => {
@@ -7469,10 +7517,10 @@ const create$a = () => {
7469
7517
  $Viewlet.tabIndex = 0;
7470
7518
  $Viewlet.append($ViewletOutputContent, $ViewletOutputWidgets);
7471
7519
  return {
7472
- $Viewlet,
7473
- content: $ViewletOutputContent,
7474
7520
  $Content: $ViewletOutputContent,
7475
- $ViewletOutputContent
7521
+ $Viewlet,
7522
+ $ViewletOutputContent,
7523
+ content: $ViewletOutputContent
7476
7524
  };
7477
7525
  };
7478
7526
  const setText = (state, text) => {
@@ -7519,9 +7567,9 @@ const ViewletOutput = {
7519
7567
  };
7520
7568
 
7521
7569
  const state$1 = {
7522
- instances: Object.create(null),
7523
- currentSideBarView: undefined,
7524
7570
  currentPanelView: undefined,
7571
+ currentSideBarView: undefined,
7572
+ instances: Object.create(null),
7525
7573
  modules: Object.create(null)
7526
7574
  };
7527
7575
 
@@ -7597,21 +7645,21 @@ const create$9 = () => {
7597
7645
  $Viewlet.append($PanelHeader);
7598
7646
  $Viewlet.ariaLabel = 'Panel';
7599
7647
  return {
7600
- $Panel: $Viewlet,
7601
- $Viewlet,
7602
- $PanelTabs,
7603
- $PanelHeader,
7604
- $PanelContent: undefined,
7605
7648
  $ButtonClose,
7606
7649
  $ButtonMaximize,
7607
- $PanelActions
7650
+ $Panel: $Viewlet,
7651
+ $PanelActions,
7652
+ $PanelContent: undefined,
7653
+ $PanelHeader,
7654
+ $PanelTabs,
7655
+ $Viewlet
7608
7656
  };
7609
7657
  // await openViewlet('Terminal')
7610
7658
  };
7611
7659
  const attachEvents$1 = state => {
7612
7660
  const {
7613
- $ButtonMaximize,
7614
7661
  $ButtonClose,
7662
+ $ButtonMaximize,
7615
7663
  $PanelHeader
7616
7664
  } = state;
7617
7665
  attachEvents$8($PanelHeader, {
@@ -7766,12 +7814,12 @@ const create$7 = () => {
7766
7814
  $Viewlet.ariaRoleDescription = SideBar$1;
7767
7815
  $Viewlet.append($SideBarTitleArea);
7768
7816
  return {
7769
- $Viewlet,
7817
+ $Actions: undefined,
7770
7818
  $SideBar: $Viewlet,
7771
- $SideBarTitleArea,
7772
7819
  $SideBarContent: undefined,
7820
+ $SideBarTitleArea,
7773
7821
  $SideBarTitleAreaTitle,
7774
- $Actions: undefined
7822
+ $Viewlet
7775
7823
  };
7776
7824
  };
7777
7825
  const attachEvents = state => {
@@ -7798,8 +7846,8 @@ const setActionsDom = (state, actions, parentId, eventMap = {}) => {
7798
7846
  return;
7799
7847
  }
7800
7848
  const {
7801
- $SideBarTitleArea,
7802
- $Actions
7849
+ $Actions,
7850
+ $SideBarTitleArea
7803
7851
  } = state;
7804
7852
  const $Parent = document.createElement('div');
7805
7853
  const $NewViewlet = rememberFocus$1($Parent, actions, {}, parentId);
@@ -7965,8 +8013,8 @@ const handleMouseOver = event => {
7965
8013
  };
7966
8014
  const handleMouseOut = event => {
7967
8015
  const {
7968
- target,
7969
- relatedTarget
8016
+ relatedTarget,
8017
+ target
7970
8018
  } = event;
7971
8019
  if (!relatedTarget) {
7972
8020
  return;
@@ -8093,8 +8141,8 @@ const create$5 = () => {
8093
8141
  const $Viewlet = document.createElement('div');
8094
8142
  $Viewlet.className = 'Viewlet Terminals';
8095
8143
  return {
8096
- $Viewlet,
8097
- $TerminalTabs: undefined
8144
+ $TerminalTabs: undefined,
8145
+ $Viewlet
8098
8146
  };
8099
8147
  };
8100
8148
  const setTabsDom = (state, dom) => {
@@ -8125,8 +8173,8 @@ const isInsideTitleBarMenu = $Element => {
8125
8173
  };
8126
8174
  const handleFocusOut = event => {
8127
8175
  const {
8128
- target,
8129
- relatedTarget
8176
+ relatedTarget,
8177
+ target
8130
8178
  } = event;
8131
8179
  if (relatedTarget && isInsideTitleBarMenu(relatedTarget)) {
8132
8180
  return;
@@ -8179,23 +8227,23 @@ const getLevelAndIndex = event => {
8179
8227
  } = $Menu;
8180
8228
  const level = Number.parseInt(id.slice(5));
8181
8229
  return {
8182
- level,
8183
- index
8230
+ index,
8231
+ level
8184
8232
  };
8185
8233
  };
8186
8234
  const handleMenuMouseOver = event => {
8187
8235
  // TODO just send pixel coordinates instead
8188
8236
  const {
8189
- level,
8190
- index
8237
+ index,
8238
+ level
8191
8239
  } = getLevelAndIndex(event);
8192
8240
  const uid = fromEvent(event);
8193
8241
  handleMenuMouseOver$1(uid, level, index);
8194
8242
  };
8195
8243
  const handleMenuClick = event => {
8196
8244
  const {
8197
- level,
8198
- index
8245
+ index,
8246
+ level
8199
8247
  } = getLevelAndIndex(event);
8200
8248
  const uid = fromEvent(event);
8201
8249
  handleMenuClick$1(uid, level, index);
@@ -8311,14 +8359,14 @@ const openMenu = (state, unFocusIndex, index, level, menuItems, menuFocusedIndex
8311
8359
  state$3.$$Menus = [];
8312
8360
  // @ts-expect-error
8313
8361
  showControlled({
8314
- x,
8315
- y,
8316
- width,
8362
+ $Parent: $Viewlet.children[index],
8363
+ handleFocusOut: handleFocusOut,
8317
8364
  height,
8318
8365
  items: menuItems,
8319
- handleFocusOut: handleFocusOut,
8320
- $Parent: $Viewlet.children[index],
8321
- level
8366
+ level,
8367
+ width,
8368
+ x,
8369
+ y
8322
8370
  });
8323
8371
  if (menuFocusedIndex !== -1) {
8324
8372
  focusIndex(0, -1, menuFocusedIndex);
@@ -8390,12 +8438,12 @@ const setMenus = (state, changes, uid) => {
8390
8438
  $Menu.onmouseover = handleMenuMouseOver;
8391
8439
  $Menu.onclick = handleMenuClick;
8392
8440
  const {
8393
- x,
8394
- y,
8395
- width,
8441
+ focusedIndex,
8396
8442
  height,
8397
8443
  level,
8398
- focusedIndex
8444
+ width,
8445
+ x,
8446
+ y
8399
8447
  } = menu;
8400
8448
  setBounds$a($Menu, x, y, width, height);
8401
8449
  renderInto($Menu, dom);
@@ -8409,18 +8457,28 @@ const setMenus = (state, changes, uid) => {
8409
8457
  $$Menus.push($Menu);
8410
8458
  break;
8411
8459
  }
8460
+ case 'closeMenus':
8461
+ {
8462
+ const keepCount = change[1];
8463
+ const $$ToDispose = $$Menus.slice(keepCount);
8464
+ for (const $ToDispose of $$ToDispose) {
8465
+ remove$1($ToDispose);
8466
+ }
8467
+ $$Menus.length = keepCount;
8468
+ break;
8469
+ }
8412
8470
  case 'updateMenu':
8413
8471
  {
8414
8472
  const menu = change[1];
8415
8473
  const newLength = change[2];
8416
8474
  const dom = change[3];
8417
8475
  const {
8476
+ focusedIndex,
8477
+ height,
8418
8478
  level,
8419
- x,
8420
- y,
8421
8479
  width,
8422
- height,
8423
- focusedIndex
8480
+ x,
8481
+ y
8424
8482
  } = menu;
8425
8483
  const $Menu = $$Menus[level];
8426
8484
  setBounds$a($Menu, x, y, width, height);
@@ -8435,16 +8493,6 @@ const setMenus = (state, changes, uid) => {
8435
8493
  }
8436
8494
  break;
8437
8495
  }
8438
- case 'closeMenus':
8439
- {
8440
- const keepCount = change[1];
8441
- const $$ToDispose = $$Menus.slice(keepCount);
8442
- for (const $ToDispose of $$ToDispose) {
8443
- remove$1($ToDispose);
8444
- }
8445
- $$Menus.length = keepCount;
8446
- break;
8447
- }
8448
8496
  // No default
8449
8497
  }
8450
8498
  }
@@ -8679,8 +8727,6 @@ const ViewletWebView = {
8679
8727
 
8680
8728
  const load$1 = moduleId => {
8681
8729
  switch (moduleId) {
8682
- case ImagePreview:
8683
- return ImagePreview$1;
8684
8730
  case ActivityBar:
8685
8731
  return ViewletActivityBar;
8686
8732
  case Audio$1:
@@ -8697,8 +8743,16 @@ const load$1 = moduleId => {
8697
8743
  return ViewletDialog;
8698
8744
  case DiffEditor:
8699
8745
  return ViewletDiffEditor;
8746
+ case E2eTest:
8747
+ return ViewletE2eTest;
8748
+ case E2eTests:
8749
+ return ViewletE2eTests;
8750
+ case EditorCodeGenerator:
8751
+ return ViewletEditorCodeGenerator;
8700
8752
  case EditorCompletion:
8701
8753
  return ViewletEditorCompletion;
8754
+ case EditorCompletionDetails:
8755
+ return ViewletEditorCompletionDetails;
8702
8756
  case EditorError:
8703
8757
  return ViewletEditorError;
8704
8758
  case EditorHover:
@@ -8707,18 +8761,28 @@ const load$1 = moduleId => {
8707
8761
  return ViewletEditorImage;
8708
8762
  case EditorPlainText:
8709
8763
  return ViewletEditorPlainText;
8764
+ case EditorSourceActions:
8765
+ return ViewletEditorSourceActions;
8710
8766
  case EditorText:
8711
8767
  return ViewletEditorText;
8768
+ case EditorTextError:
8769
+ return ViewletEditorTextError;
8712
8770
  case EditorWidgetError:
8713
8771
  return ViewletEditorWidgetError;
8714
8772
  case Empty:
8715
8773
  return ViewletEmpty;
8774
+ case EmptyEditor:
8775
+ return ViewletEmptyEditor;
8716
8776
  case Error$1:
8717
8777
  return ViewletError;
8718
8778
  case FindWidget:
8719
8779
  return ViewletFindWidget;
8780
+ case ImagePreview:
8781
+ return ImagePreview$1;
8720
8782
  case Implementations:
8721
8783
  return ViewletImplementations;
8784
+ case InlineDiffEditor:
8785
+ return ViewletInlineDiffEditor;
8722
8786
  case KeyBindings:
8723
8787
  return ViewletKeyBindings;
8724
8788
  case Layout:
@@ -8754,33 +8818,17 @@ const load$1 = moduleId => {
8754
8818
  case TitleBar:
8755
8819
  return ViewletTitleBar;
8756
8820
  case TitleBarButtons:
8757
- return ViewletTitleBarButtons;
8758
- case TitleBarIcon:
8759
- return ViewletTitleBarIcon;
8760
- case TitleBarMenuBar:
8761
- return ViewletTitleBarMenuBar;
8762
- case Video:
8763
- return ViewletVideo;
8764
- case TitleBarTitle:
8765
- return ViewletTitleBarTitle;
8766
- case EditorSourceActions:
8767
- return ViewletEditorSourceActions;
8768
- case EmptyEditor:
8769
- return ViewletEmptyEditor;
8770
- case InlineDiffEditor:
8771
- return ViewletInlineDiffEditor;
8772
- case E2eTests:
8773
- return ViewletE2eTests;
8774
- case E2eTest:
8775
- return ViewletE2eTest;
8821
+ return ViewletTitleBarButtons;
8822
+ case TitleBarIcon:
8823
+ return ViewletTitleBarIcon;
8824
+ case TitleBarMenuBar:
8825
+ return ViewletTitleBarMenuBar;
8826
+ case TitleBarTitle:
8827
+ return ViewletTitleBarTitle;
8828
+ case Video:
8829
+ return ViewletVideo;
8776
8830
  case WebView:
8777
8831
  return ViewletWebView;
8778
- case EditorCompletionDetails:
8779
- return ViewletEditorCompletionDetails;
8780
- case EditorTextError:
8781
- return ViewletEditorTextError;
8782
- case EditorCodeGenerator:
8783
- return ViewletEditorCodeGenerator;
8784
8832
  default:
8785
8833
  throw new Error(`${moduleId} module not found in renderer process`);
8786
8834
  }
@@ -8800,8 +8848,8 @@ const create$3 = (id, uid = id) => {
8800
8848
  module.attachEvents(instanceState);
8801
8849
  }
8802
8850
  state$1.instances[uid] = {
8803
- state: instanceState,
8804
- factory: module
8851
+ factory: module,
8852
+ state: instanceState
8805
8853
  };
8806
8854
  };
8807
8855
  const createFunctionalRoot = (id, uid = id, hasFunctionalEvents) => {
@@ -8819,8 +8867,8 @@ const createFunctionalRoot = (id, uid = id, hasFunctionalEvents) => {
8819
8867
  $Viewlet: document.createElement('div')
8820
8868
  };
8821
8869
  state$1.instances[uid] = {
8822
- state: instanceState,
8823
- factory: module
8870
+ factory: module,
8871
+ state: instanceState
8824
8872
  };
8825
8873
  };
8826
8874
  const addKeyBindings = (id, keyBindings) => {
@@ -9042,49 +9090,47 @@ const sendMultiple = commands => {
9042
9090
  for (const command of commands) {
9043
9091
  const [_, viewletId, method, ...args] = command;
9044
9092
  switch (_) {
9045
- case 'Viewlet.ariaAnnounce':
9046
- {
9047
- ariaAnnounce(viewletId);
9048
- break;
9049
- }
9050
- case 'Viewlet.setBounds':
9093
+ case 'Css.addCssStyleSheet':
9094
+ case 'Viewlet.addCss':
9095
+ case 'Viewlet.setCss':
9096
+ // @ts-ignore
9097
+ addCssStyleSheet(viewletId, method, ...args);
9098
+ break;
9099
+ case 'Viewlet.addKeyBindings':
9100
+ addKeyBindings(viewletId, method);
9101
+ break;
9102
+ case 'Viewlet.append':
9051
9103
  {
9052
9104
  // @ts-expect-error
9053
- setBounds$1(viewletId, method, ...args);
9054
- break;
9055
- }
9056
- case 'Viewlet.create':
9057
- {
9058
- create$3(viewletId, method);
9105
+ append(viewletId, method, ...args);
9059
9106
  break;
9060
9107
  }
9061
- case 'Viewlet.createFunctionalRoot':
9108
+ case 'Viewlet.appendToBody':
9062
9109
  {
9063
- // @ts-ignore
9064
- createFunctionalRoot(viewletId, method, ...args);
9110
+ // @ts-expect-error
9111
+ appendToBody(viewletId, method, ...args);
9065
9112
  break;
9066
9113
  }
9067
- case 'Viewlet.append':
9114
+ case 'Viewlet.appendViewlet':
9068
9115
  {
9069
9116
  // @ts-expect-error
9070
- append(viewletId, method, ...args);
9117
+ appendViewlet(viewletId, method, ...args);
9071
9118
  break;
9072
9119
  }
9073
- case 'Viewlet.appendToBody':
9120
+ case 'Viewlet.ariaAnnounce':
9074
9121
  {
9075
- // @ts-expect-error
9076
- appendToBody(viewletId, method, ...args);
9122
+ ariaAnnounce(viewletId);
9077
9123
  break;
9078
9124
  }
9079
- case 'Viewlet.dispose':
9125
+ case 'Viewlet.create':
9080
9126
  {
9081
- dispose$3(viewletId);
9127
+ create$3(viewletId, method);
9082
9128
  break;
9083
9129
  }
9084
- case 'Viewlet.setPatches':
9130
+ case 'Viewlet.createFunctionalRoot':
9085
9131
  {
9086
9132
  // @ts-ignore
9087
- setPatches(viewletId, method, ...args);
9133
+ createFunctionalRoot(viewletId, method, ...args);
9088
9134
  break;
9089
9135
  }
9090
9136
  case 'Viewlet.createPlaceholder':
@@ -9093,10 +9139,9 @@ const sendMultiple = commands => {
9093
9139
  createPlaceholder(viewletId, method, ...args);
9094
9140
  break;
9095
9141
  }
9096
- case 'Viewlet.handleError':
9142
+ case 'Viewlet.dispose':
9097
9143
  {
9098
- // @ts-expect-error
9099
- handleError$1(viewletId, method, ...args);
9144
+ dispose$3(viewletId);
9100
9145
  break;
9101
9146
  }
9102
9147
  case 'Viewlet.focus':
@@ -9104,25 +9149,48 @@ const sendMultiple = commands => {
9104
9149
  focus$1(viewletId);
9105
9150
  break;
9106
9151
  }
9107
- case 'Viewlet.appendViewlet':
9152
+ case 'Viewlet.focusElementByName':
9153
+ // @ts-ignore
9154
+ focusElementByName(viewletId, method, ...args);
9155
+ break;
9156
+ case 'Viewlet.focusSelector':
9157
+ // @ts-ignore
9158
+ focusSelector(viewletId, method, ...args);
9159
+ break;
9160
+ case 'Viewlet.focusSelector':
9161
+ // @ts-ignore
9162
+ focusSelector(viewletId, method, ...args);
9163
+ break;
9164
+ case 'Viewlet.handleError':
9108
9165
  {
9109
9166
  // @ts-expect-error
9110
- appendViewlet(viewletId, method, ...args);
9167
+ handleError$1(viewletId, method, ...args);
9111
9168
  break;
9112
9169
  }
9113
- case 'Viewlet.addKeyBindings':
9114
- addKeyBindings(viewletId, method);
9115
- break;
9116
- case 'Viewlet.setProperty':
9170
+ case 'Viewlet.registerEventListeners':
9117
9171
  // @ts-ignore
9118
- setProperty(viewletId, method, ...args);
9172
+ registerEventListeners(viewletId, method, ...args);
9119
9173
  break;
9120
9174
  case 'Viewlet.removeKeyBindings':
9121
9175
  removeKeyBindings(viewletId);
9122
9176
  break;
9177
+ case 'Viewlet.replaceChildren':
9178
+ // @ts-ignore
9179
+ replaceChildren(viewletId, method, ...args);
9180
+ break;
9123
9181
  case 'Viewlet.send':
9124
9182
  invoke(viewletId, method, ...args);
9125
9183
  break;
9184
+ case 'Viewlet.setBounds':
9185
+ {
9186
+ // @ts-expect-error
9187
+ setBounds$1(viewletId, method, ...args);
9188
+ break;
9189
+ }
9190
+ case 'Viewlet.setCheckBoxValue':
9191
+ // @ts-ignore
9192
+ setCheckBoxValue(viewletId, method, ...args);
9193
+ break;
9126
9194
  case 'Viewlet.setDom':
9127
9195
  // @ts-expect-error
9128
9196
  setDom(viewletId, method, ...args);
@@ -9131,55 +9199,35 @@ const sendMultiple = commands => {
9131
9199
  // @ts-ignore
9132
9200
  setDom2(viewletId, method, ...args);
9133
9201
  break;
9134
- case 'Viewlet.focusSelector':
9135
- // @ts-ignore
9136
- focusSelector(viewletId, method, ...args);
9137
- break;
9138
- case 'Viewlet.focusSelector':
9139
- // @ts-ignore
9140
- focusSelector(viewletId, method, ...args);
9141
- break;
9142
- case 'Viewlet.focusElementByName':
9143
- // @ts-ignore
9144
- focusElementByName(viewletId, method, ...args);
9145
- break;
9146
- case 'Viewlet.setValueByName':
9202
+ case 'Viewlet.setDragData':
9147
9203
  // @ts-ignore
9148
- setValueByName(viewletId, method, ...args);
9204
+ setDragData(viewletId, method, ...args);
9149
9205
  break;
9150
9206
  case 'Viewlet.setInputValues':
9151
9207
  // @ts-ignore
9152
9208
  setInputValues(viewletId, method, ...args);
9153
9209
  break;
9154
- case 'Viewlet.setCheckBoxValue':
9210
+ case 'Viewlet.setPatches':
9211
+ {
9212
+ // @ts-ignore
9213
+ setPatches(viewletId, method, ...args);
9214
+ break;
9215
+ }
9216
+ case 'Viewlet.setProperty':
9155
9217
  // @ts-ignore
9156
- setCheckBoxValue(viewletId, method, ...args);
9218
+ setProperty(viewletId, method, ...args);
9157
9219
  break;
9158
9220
  case 'Viewlet.setSelectionByName':
9159
9221
  // @ts-ignore
9160
9222
  setSelectionByName(viewletId, method, ...args);
9161
9223
  break;
9162
- case 'Viewlet.registerEventListeners':
9163
- // @ts-ignore
9164
- registerEventListeners(viewletId, method, ...args);
9165
- break;
9166
9224
  case 'Viewlet.setUid':
9167
9225
  // @ts-ignore
9168
9226
  setUid(viewletId, method, ...args);
9169
9227
  break;
9170
- case 'Viewlet.setDragData':
9171
- // @ts-ignore
9172
- setDragData(viewletId, method, ...args);
9173
- break;
9174
- case 'Viewlet.replaceChildren':
9175
- // @ts-ignore
9176
- replaceChildren(viewletId, method, ...args);
9177
- break;
9178
- case 'Viewlet.addCss':
9179
- case 'Viewlet.setCss':
9180
- case 'Css.addCssStyleSheet':
9228
+ case 'Viewlet.setValueByName':
9181
9229
  // @ts-ignore
9182
- addCssStyleSheet(viewletId, method, ...args);
9230
+ setValueByName(viewletId, method, ...args);
9183
9231
  break;
9184
9232
  default:
9185
9233
  {
@@ -9323,60 +9371,60 @@ const appendToBody = childId => {
9323
9371
  };
9324
9372
  const getFn = command => {
9325
9373
  switch (command) {
9326
- case 'Viewlet.create':
9327
- return create$3;
9328
- case 'Viewlet.send':
9329
- return invoke;
9330
- case 'Viewlet.show':
9331
- return show;
9332
- case 'Viewlet.dispose':
9333
- return dispose$3;
9334
- case 'Viewlet.setDom2':
9335
- return setDom2;
9336
- case 'Viewlet.setBounds':
9337
- return setBounds$1;
9338
- case 'Viewlet.ariaAnnounce':
9339
- return ariaAnnounce;
9374
+ case 'Css.addCssStyleSheet':
9375
+ case 'Viewlet.addCss':
9376
+ case 'Viewlet.setCss':
9377
+ return addCssStyleSheet;
9378
+ case 'Viewlet.addKeyBindings':
9379
+ return addKeyBindings;
9340
9380
  case 'Viewlet.append':
9341
9381
  return append;
9342
9382
  case 'Viewlet.appendToBody':
9343
9383
  return appendToBody;
9344
- case 'Viewlet.createPlaceholder':
9345
- return createPlaceholder;
9346
- case 'Viewlet.focus':
9347
- return focus$1;
9348
9384
  case 'Viewlet.appendViewlet':
9349
9385
  return appendViewlet;
9350
- case 'Viewlet.addKeyBindings':
9351
- return addKeyBindings;
9352
- case 'Viewlet.setDom':
9353
- return setDom;
9386
+ case 'Viewlet.ariaAnnounce':
9387
+ return ariaAnnounce;
9388
+ case 'Viewlet.create':
9389
+ return create$3;
9354
9390
  case 'Viewlet.createFunctionalRoot':
9355
9391
  return createFunctionalRoot;
9392
+ case 'Viewlet.createPlaceholder':
9393
+ return createPlaceholder;
9394
+ case 'Viewlet.dispose':
9395
+ return dispose$3;
9396
+ case 'Viewlet.focus':
9397
+ return focus$1;
9356
9398
  case 'Viewlet.focusElementByName':
9357
9399
  return focusElementByName;
9358
- case 'Viewlet.setValueByName':
9359
- return setValueByName;
9360
- case 'Viewlet.setCheckBoxValue':
9361
- return setCheckBoxValue;
9400
+ case 'Viewlet.focusSelector':
9401
+ return focusSelector;
9362
9402
  case 'Viewlet.registerEventListeners':
9363
9403
  return registerEventListeners;
9364
- case 'Viewlet.setPatches':
9365
- return setPatches;
9404
+ case 'Viewlet.replaceChildren':
9405
+ return replaceChildren;
9406
+ case 'Viewlet.send':
9407
+ return invoke;
9408
+ case 'Viewlet.setBounds':
9409
+ return setBounds$1;
9410
+ case 'Viewlet.setCheckBoxValue':
9411
+ return setCheckBoxValue;
9412
+ case 'Viewlet.setDom':
9413
+ return setDom;
9414
+ case 'Viewlet.setDom2':
9415
+ return setDom2;
9366
9416
  case 'Viewlet.setDragData':
9367
9417
  return setDragData;
9368
- case 'Viewlet.focusSelector':
9369
- return focusSelector;
9370
9418
  case 'Viewlet.setInputValues':
9371
9419
  return setInputValues;
9420
+ case 'Viewlet.setPatches':
9421
+ return setPatches;
9372
9422
  case 'Viewlet.setProperty':
9373
9423
  return setProperty;
9374
- case 'Viewlet.replaceChildren':
9375
- return replaceChildren;
9376
- case 'Css.addCssStyleSheet':
9377
- case 'Viewlet.addCss':
9378
- case 'Viewlet.setCss':
9379
- return addCssStyleSheet;
9424
+ case 'Viewlet.setValueByName':
9425
+ return setValueByName;
9426
+ case 'Viewlet.show':
9427
+ return show;
9380
9428
  default:
9381
9429
  throw new Error(`unknown command ${command}`);
9382
9430
  }
@@ -9514,8 +9562,8 @@ const getFilePathElectron = async file => {
9514
9562
 
9515
9563
  const handleMessagePort = async port => {
9516
9564
  await PlainMessagePortRpcParent.create({
9517
- messagePort: port,
9518
- commandMap: {}
9565
+ commandMap: {},
9566
+ messagePort: port
9519
9567
  });
9520
9568
  };
9521
9569
 
@@ -9528,8 +9576,8 @@ const set = ($Iframe, permissionPolicy) => {
9528
9576
 
9529
9577
  const waitForFrameToLoad = $Frame => {
9530
9578
  const {
9531
- resolve,
9532
- promise
9579
+ promise,
9580
+ resolve
9533
9581
  } = withResolvers();
9534
9582
  $Frame.addEventListener('load', resolve, {
9535
9583
  once: true
@@ -9646,6 +9694,7 @@ const commandMap = {
9646
9694
  'PointerCapture.unmock': unmock,
9647
9695
  'Prompt.prompt': prompt,
9648
9696
  'ScreenCapture.start': start,
9697
+ 'TestFrameWork.checkConditionError': checkConditionError,
9649
9698
  'TestFrameWork.checkMultiElementCondition': checkMultiElementCondition,
9650
9699
  'TestFrameWork.checkSingleElementCondition': checkSingleElementCondition,
9651
9700
  'TestFrameWork.performAction': performAction,
@@ -9654,7 +9703,6 @@ const commandMap = {
9654
9703
  'TestFrameWork.showOverlay': showOverlay,
9655
9704
  'TestFrameWork.transfer': transfer,
9656
9705
  'TestFrameWork.transferToWebView': transferToWebView,
9657
- 'TestFrameWork.checkConditionError': checkConditionError,
9658
9706
  'Viewlet.addKeyBindings': addKeyBindings,
9659
9707
  'Viewlet.appendViewlet': appendViewlet,
9660
9708
  'Viewlet.dispose': dispose$3,
@@ -9699,10 +9747,10 @@ const editorWorkerUrl = getConfiguredEditorWorkerUrl() || `${assetDir}/packages/
9699
9747
 
9700
9748
  const launchEditorWorker = async port => {
9701
9749
  const ipc = await create$z({
9702
- name: 'Editor Worker',
9703
- url: editorWorkerUrl,
9704
9750
  method: ModuleWorkerWithMessagePort,
9705
- port
9751
+ name: 'Editor Worker',
9752
+ port,
9753
+ url: editorWorkerUrl
9706
9754
  });
9707
9755
  return ipc;
9708
9756
  };
@@ -9727,10 +9775,10 @@ const extensionHostWorkerUrl = getConfiguredExtensionHostWorkerUrl() || `${asset
9727
9775
  const launchExtensionHostWorker = async port => {
9728
9776
  const name = isElectron ? 'Extension Host (Electron)' : 'Extension Host';
9729
9777
  const ipc = await create$z({
9730
- name,
9731
- url: extensionHostWorkerUrl,
9732
9778
  method: ModuleWorkerWithMessagePort,
9733
- port
9779
+ name,
9780
+ port,
9781
+ url: extensionHostWorkerUrl
9734
9782
  });
9735
9783
  return ipc;
9736
9784
  };
@@ -9755,10 +9803,10 @@ const syntaxHighlightingWorkerUrl = getConfiguredSyntaxHighlightingWorkerUrl() |
9755
9803
 
9756
9804
  const launchSyntaxHighlightingWorker = async port => {
9757
9805
  const ipc = await create$z({
9758
- name: 'Syntax Highlighting Worker',
9759
- url: syntaxHighlightingWorkerUrl,
9760
9806
  method: ModuleWorkerWithMessagePort,
9761
- port
9807
+ name: 'Syntax Highlighting Worker',
9808
+ port,
9809
+ url: syntaxHighlightingWorkerUrl
9762
9810
  });
9763
9811
  return ipc;
9764
9812
  };
@@ -9893,8 +9941,8 @@ const cleanLine = line => {
9893
9941
  const getDetails = lines => {
9894
9942
  const index = lines.findIndex(isNormalStackLine);
9895
9943
  return {
9896
- custom: lines.slice(0, index),
9897
- actualStack: lines.slice(index).map(cleanLine)
9944
+ actualStack: lines.slice(index).map(cleanLine),
9945
+ custom: lines.slice(0, index)
9898
9946
  };
9899
9947
  };
9900
9948
  const mergeCustom = (custom, relevantStack) => {
@@ -9917,8 +9965,8 @@ const cleanStack = stack => {
9917
9965
  string(stack);
9918
9966
  const lines = splitLines$2(stack);
9919
9967
  const {
9920
- custom,
9921
- actualStack
9968
+ actualStack,
9969
+ custom
9922
9970
  } = getDetails(lines);
9923
9971
  const relevantStack = actualStack.filter(isRelevantLine).filter(isApplicationUsefulLine);
9924
9972
  const merged = mergeCustom(custom, relevantStack);
@@ -9964,11 +10012,11 @@ const getErrorMessage = error => {
9964
10012
  const prepareErrorMessageWithCodeFrame = error => {
9965
10013
  if (!error) {
9966
10014
  return {
10015
+ _error: error,
10016
+ codeFrame: undefined,
9967
10017
  message: error,
9968
10018
  stack: undefined,
9969
- codeFrame: undefined,
9970
- type: 'Error',
9971
- _error: error
10019
+ type: 'Error'
9972
10020
  };
9973
10021
  }
9974
10022
  const message = getErrorMessage(error);
@@ -9976,20 +10024,20 @@ const prepareErrorMessageWithCodeFrame = error => {
9976
10024
  const relevantStack = joinLines$2(lines);
9977
10025
  if (error.codeFrame) {
9978
10026
  return {
10027
+ _error: error,
10028
+ codeFrame: error.codeFrame,
9979
10029
  message,
9980
10030
  stack: relevantStack,
9981
- codeFrame: error.codeFrame,
9982
- type: error.constructor.name,
9983
- _error: error
10031
+ type: error.constructor.name
9984
10032
  };
9985
10033
  }
9986
10034
  return {
10035
+ _error: error,
10036
+ category: error.category,
10037
+ codeFrame: error.originalCodeFrame,
9987
10038
  message,
9988
10039
  stack: error.originalStack,
9989
- codeFrame: error.originalCodeFrame,
9990
- category: error.category,
9991
- stderr: error.stderr,
9992
- _error: error
10040
+ stderr: error.stderr
9993
10041
  };
9994
10042
  };
9995
10043
  const RE_PATH_1 = /\((.*):(\d+):(\d+)\)$/;
@@ -10028,9 +10076,9 @@ const prepareErrorMessageWithoutCodeFrame = async error => {
10028
10076
  return error;
10029
10077
  }
10030
10078
  return {
10079
+ _error: error,
10031
10080
  message: error?.message || '',
10032
- type: error.constructor.name,
10033
- _error: error
10081
+ type: error.constructor.name
10034
10082
  };
10035
10083
  } catch (otherError) {
10036
10084
  warn$1(`ErrorHandling Error: ${otherError}`);
@@ -10266,26 +10314,26 @@ const setTerminal = (state, canvasCursorId, canvasTextId) => {
10266
10314
  } = state;
10267
10315
  const terminal = create$1({
10268
10316
  $Element: $Viewlet,
10269
- handleKeyDown: (...args) => {
10270
- handleKeyDown({
10271
- target: $Viewlet
10272
- }, ...args);
10273
- },
10317
+ background: `#1b2020`,
10318
+ canvasCursor,
10319
+ canvasText,
10320
+ foreground: 'white',
10274
10321
  handleBlur: (...args) => {
10275
10322
  // @ts-ignore
10276
10323
  handleBlur({
10277
10324
  target: $Viewlet
10278
10325
  }, ...args);
10279
10326
  },
10327
+ handleKeyDown: (...args) => {
10328
+ handleKeyDown({
10329
+ target: $Viewlet
10330
+ }, ...args);
10331
+ },
10280
10332
  handleMouseDown: (...args) => {
10281
10333
  handleMouseDown({
10282
10334
  target: $Viewlet
10283
10335
  }, ...args);
10284
- },
10285
- background: `#1b2020`,
10286
- foreground: 'white',
10287
- canvasText,
10288
- canvasCursor
10336
+ }
10289
10337
  });
10290
10338
  state.terminal = terminal;
10291
10339
  };