lexgui 8.2.5 → 8.3.1

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.
Files changed (36) hide show
  1. package/build/components/NodeTree.d.ts +51 -51
  2. package/build/components/Tabs.d.ts +1 -0
  3. package/build/core/Namespace.js +1 -1
  4. package/build/core/Namespace.js.map +1 -1
  5. package/build/extensions/AssetView.d.ts +138 -138
  6. package/build/extensions/AssetView.js +1433 -1433
  7. package/build/extensions/CodeEditor.d.ts +467 -363
  8. package/build/extensions/CodeEditor.js +3962 -4628
  9. package/build/extensions/CodeEditor.js.map +1 -1
  10. package/build/extensions/DocMaker.d.ts +28 -28
  11. package/build/extensions/DocMaker.js +363 -363
  12. package/build/extensions/Timeline.d.ts +2 -2
  13. package/build/extensions/Timeline.js +28 -15
  14. package/build/extensions/Timeline.js.map +1 -1
  15. package/build/extensions/VideoEditor.d.ts +1 -1
  16. package/build/extensions/VideoEditor.js +1021 -1014
  17. package/build/extensions/VideoEditor.js.map +1 -1
  18. package/build/extensions/index.js +1 -1
  19. package/build/lexgui.all.js +6379 -6951
  20. package/build/lexgui.all.js.map +1 -1
  21. package/build/lexgui.all.min.js +1 -1
  22. package/build/lexgui.all.module.js +6379 -6952
  23. package/build/lexgui.all.module.js.map +1 -1
  24. package/build/lexgui.all.module.min.js +1 -1
  25. package/build/lexgui.css +7544 -7459
  26. package/build/lexgui.js +4731 -241
  27. package/build/lexgui.js.map +1 -1
  28. package/build/lexgui.min.css +1 -1
  29. package/build/lexgui.min.js +1 -1
  30. package/build/lexgui.module.js +4731 -241
  31. package/build/lexgui.module.js.map +1 -1
  32. package/build/lexgui.module.min.js +1 -1
  33. package/changelog.md +43 -1
  34. package/demo.js +3 -2
  35. package/examples/code-editor.html +97 -16
  36. package/package.json +1 -1
@@ -13,7 +13,6 @@ export declare abstract class Timeline {
13
13
  static TRACK_COLOR_SECONDARY: string;
14
14
  static TRACK_COLOR_TERTIARY: string;
15
15
  static TRACK_SELECTED: string;
16
- static TRACK_SELECTED_LIGHT: string;
17
16
  static FONT: string;
18
17
  static FONT_COLOR_PRIMARY: string;
19
18
  static FONT_COLOR_TERTIARY: string;
@@ -69,6 +68,7 @@ export declare abstract class Timeline {
69
68
  leftPanel: typeof Panel;
70
69
  trackTreesPanel: any;
71
70
  trackTreesComponent: any;
71
+ trackTreesEvents: any;
72
72
  lastTrackTreesComponentOffset: any;
73
73
  mainArea: typeof Area;
74
74
  root: HTMLBodyElement;
@@ -90,7 +90,6 @@ export declare abstract class Timeline {
90
90
  onShowContextMenu: Nullable<(event: any) => void>;
91
91
  onAddNewTrackButton: Nullable<() => void>;
92
92
  onAddNewTrack: Nullable<(track: any, options: any) => void>;
93
- onTrackTreeEvent: Nullable<(event: any) => void>;
94
93
  onBeforeDrawContent: Nullable<(ctx: CanvasRenderingContext2D) => void>;
95
94
  onStateStop: Nullable<() => void>;
96
95
  onStateChange: Nullable<(s: boolean) => void>;
@@ -122,6 +121,7 @@ export declare abstract class Timeline {
122
121
  * @method updateHeader
123
122
  */
124
123
  updateHeader(): void;
124
+ setTrackTreeEventListener(type: string, callback: (event: any) => any): void;
125
125
  /**
126
126
  * @method updateLeftPanel
127
127
  */
@@ -21,7 +21,6 @@ class Timeline {
21
21
  static TRACK_COLOR_SECONDARY;
22
22
  static TRACK_COLOR_TERTIARY;
23
23
  static TRACK_SELECTED;
24
- static TRACK_SELECTED_LIGHT;
25
24
  static FONT;
26
25
  static FONT_COLOR_PRIMARY;
27
26
  static FONT_COLOR_TERTIARY;
@@ -77,6 +76,7 @@ class Timeline {
77
76
  leftPanel; // where tree will be placed
78
77
  trackTreesPanel = null;
79
78
  trackTreesComponent = null;
79
+ trackTreesEvents = {}; // holds callbacks
80
80
  lastTrackTreesComponentOffset = 0; // this.trackTreesComponent.innerTree.domEl.offsetTop - canvas.offsetTop. Check draw()
81
81
  mainArea;
82
82
  root;
@@ -98,7 +98,6 @@ class Timeline {
98
98
  onShowContextMenu = null;
99
99
  onAddNewTrackButton = null; // overrides button "add track" behaviour
100
100
  onAddNewTrack = null;
101
- onTrackTreeEvent = null;
102
101
  onBeforeDrawContent = null;
103
102
  onStateStop = null;
104
103
  onStateChange = null;
@@ -183,6 +182,7 @@ class Timeline {
183
182
  Timeline.TRACK_COLOR_PRIMARY = LX.getCSSVariable('card');
184
183
  Timeline.TRACK_COLOR_SECONDARY = LX.getCSSVariable('secondary');
185
184
  Timeline.TRACK_COLOR_TERTIARY = LX.getCSSVariable('accent');
185
+ Timeline.TRACK_SELECTED = LX.getCSSVariable('primary');
186
186
  Timeline.FONT = LX.getCSSVariable('global-font');
187
187
  Timeline.FONT_COLOR_PRIMARY = LX.getCSSVariable('foreground');
188
188
  Timeline.FONT_COLOR_TERTIARY = LX.getCSSVariable('primary');
@@ -192,6 +192,8 @@ class Timeline {
192
192
  Timeline.KEYFRAME_COLOR_LOCK = LX.getCSSVariable('lxTimeline-keyframe-locked');
193
193
  Timeline.KEYFRAME_COLOR_EDITED = LX.getCSSVariable('lxTimeline-keyframe-edited');
194
194
  Timeline.KEYFRAME_COLOR_INACTIVE = LX.getCSSVariable('lxTimeline-keyframe-inactive');
195
+ Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('primary');
196
+ Timeline.TIME_MARKER_COLOR_TEXT = LX.getCSSVariable('primary-foreground');
195
197
  }
196
198
  this.updateTheme = updateTheme.bind(this);
197
199
  LX.addSignal('@on_new_color_scheme', this.updateTheme);
@@ -309,6 +311,12 @@ class Timeline {
309
311
  header.addContent('header-buttons-end', buttonContainerEnd);
310
312
  header.endLine('justify-between');
311
313
  }
314
+ setTrackTreeEventListener(type, callback) {
315
+ this.trackTreesEvents[type] = callback;
316
+ if (type != 'select' && type != 'visibleChanged') {
317
+ this.trackTreesComponent.on(type, this.trackTreesEvents[type]);
318
+ }
319
+ }
312
320
  /**
313
321
  * @method updateLeftPanel
314
322
  */
@@ -347,18 +355,23 @@ class Timeline {
347
355
  const flag = event.domEvent.shiftKey ? !node.trackData.isSelected : true;
348
356
  this.setTrackSelection(node.trackData.trackIdx, flag, false, false); // do callback, do not update left panel
349
357
  }
358
+ if (this.trackTreesEvents['select']) {
359
+ this.trackTreesEvents['select'](event);
360
+ }
350
361
  });
351
362
  this.trackTreesComponent.on('visibleChanged', (event, resolve) => {
352
363
  const node = event.items[0];
353
364
  if (node.trackData) {
354
365
  this.setTrackState(node.trackData.trackIdx, node.visible, false, false); // do not update left panel
355
366
  }
367
+ if (this.trackTreesEvents['visibleChanged']) {
368
+ this.trackTreesEvents['visibleChanged'](event);
369
+ }
356
370
  });
357
- // Not used!
358
- // if ( this.onTrackTreeEvent )
359
- // {
360
- // this.onTrackTreeEvent( e );
361
- // }
371
+ // reset all tree events to the new tree
372
+ for (let name in this.trackTreesEvents) {
373
+ this.setTrackTreeEventListener(name, this.trackTreesEvents[name]);
374
+ }
362
375
  const that = this;
363
376
  this.trackTreesComponent.innerTree._refresh = this.trackTreesComponent.innerTree.refresh;
364
377
  this.trackTreesComponent.innerTree.refresh = function (newData, selectedId) {
@@ -537,7 +550,7 @@ class Timeline {
537
550
  ctx.save();
538
551
  ctx.fillStyle = Timeline.TRACK_COLOR_SECONDARY;
539
552
  const rectsOffset = this.currentScrollInPixels % line_height;
540
- const blackOrWhite = 1 - Math.floor(this.currentScrollInPixels / line_height) % 2;
553
+ const blackOrWhite = Math.floor(this.currentScrollInPixels / line_height) % 2;
541
554
  for (let i = blackOrWhite; i <= max_tracks; i += 2) {
542
555
  ctx.fillRect(0, treeOffset - rectsOffset + i * line_height, w, line_height);
543
556
  }
@@ -566,8 +579,9 @@ class Timeline {
566
579
  const w = ctx.canvas.width;
567
580
  const h = ctx.canvas.height;
568
581
  const scrollableHeight = this.trackTreesComponent.root.scrollHeight;
582
+ // hack: get 'ul' start pos to know when tracks start
569
583
  // tree has gaps of 0.25rem (4px ) inbetween entries but not in the beginning nor ending. Move half gap upwards.
570
- const treeOffset = this.lastTrackTreesComponentOffset = this.trackTreesComponent.innerTree.domEl.offsetTop
584
+ const treeOffset = this.lastTrackTreesComponentOffset = this.trackTreesComponent.innerTree.domEl.children[0].offsetTop
571
585
  - this.canvas.offsetTop - 2;
572
586
  // zoom
573
587
  let startTime = this.visualOriginTime; // seconds
@@ -1263,14 +1277,13 @@ Timeline.BACKGROUND_COLOR = LX.getCSSVariable('background-blur');
1263
1277
  Timeline.TRACK_COLOR_PRIMARY = LX.getCSSVariable('card');
1264
1278
  Timeline.TRACK_COLOR_SECONDARY = LX.getCSSVariable('secondary');
1265
1279
  Timeline.TRACK_COLOR_TERTIARY = LX.getCSSVariable('accent');
1266
- Timeline.TRACK_SELECTED = LX.getCSSVariable('color-blue-600');
1267
- Timeline.TRACK_SELECTED_LIGHT = LX.getCSSVariable('color-blue-400');
1280
+ Timeline.TRACK_SELECTED = LX.getCSSVariable('primary');
1268
1281
  Timeline.FONT = LX.getCSSVariable('global-font');
1269
1282
  Timeline.FONT_COLOR_PRIMARY = LX.getCSSVariable('foreground');
1270
1283
  Timeline.FONT_COLOR_TERTIARY = LX.getCSSVariable('primary');
1271
1284
  Timeline.FONT_COLOR_QUATERNARY = LX.getCSSVariable('muted-foreground');
1272
- Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('color-blue-600');
1273
- Timeline.TIME_MARKER_COLOR_TEXT = '#ffffff';
1285
+ Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('primary');
1286
+ Timeline.TIME_MARKER_COLOR_TEXT = LX.getCSSVariable('primary-foreground');
1274
1287
  LX.setCSSVariable('lxTimeline-keyframe', 'light-dark(#2d69da,#2d69da )');
1275
1288
  LX.setCSSVariable('lxTimeline-keyframe-selected', 'light-dark(#f5c700,#fafa14)');
1276
1289
  LX.setCSSVariable('lxTimeline-keyframe-hovered', 'light-dark(#f5c700,#fafa14)');
@@ -1978,7 +1991,7 @@ class KeyFramesTimeline extends Timeline {
1978
1991
  drawTrackWithCurves(ctx, trackHeight, track) {
1979
1992
  if (track.isSelected) {
1980
1993
  ctx.globalAlpha = 0.2;
1981
- ctx.fillStyle = Timeline.TRACK_SELECTED_LIGHT;
1994
+ ctx.fillStyle = Timeline.TRACK_SELECTED;
1982
1995
  ctx.fillRect(0, 0, ctx.canvas.width, trackHeight);
1983
1996
  }
1984
1997
  ctx.globalAlpha = 1;
@@ -3343,7 +3356,7 @@ class ClipsTimeline extends Timeline {
3343
3356
  drawTrackWithBoxes(ctx, y, trackHeight, track) {
3344
3357
  // Fill track background if it's selected
3345
3358
  ctx.globalAlpha = 0.2;
3346
- ctx.fillStyle = Timeline.TRACK_SELECTED_LIGHT;
3359
+ ctx.fillStyle = Timeline.TRACK_SELECTED;
3347
3360
  if (track.isSelected) {
3348
3361
  ctx.fillRect(0, y, ctx.canvas.width, trackHeight);
3349
3362
  }