mol_plot_all 1.2.243 → 1.2.246

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web.js CHANGED
@@ -369,7 +369,7 @@ var $;
369
369
  "use strict";
370
370
  var $;
371
371
  (function ($) {
372
- $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n}\n\n[mol_theme] {\n\tbackground-color: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n}\n\t\n:root, [mol_theme] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50% , calc( 54% + 44% * var(--mol_theme_luma) ) );\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0% , calc( 50% - 30% * var(--mol_theme_luma) ) );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 0%, calc( 50% + 50% * var(--mol_theme_luma) ), .2 );\n\t\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 0%, 50%, .05 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 50%, 1 );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 50%, calc( 50% - 5% * var(--mol_theme_luma) ) );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, calc( 50% - 15% * var(--mol_theme_luma) ) );\n\t\n}\n\n[mol_theme=\"$mol_theme_light\"] {\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n}\n\n[mol_theme=\"$mol_theme_dark\"] {\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n}\n\n[mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_luma: -2;\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 40% );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 60%, 30% );\n\t--mol_theme_current: hsl( var(--mol_theme_hue), 100%, 20% );\n}\n\n[mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% + 25% * var(--mol_theme_luma) ) );\n}\n\n[mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% + 25% * var(--mol_theme_luma) ) );\n}\n\n[mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_luma: -2;\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 40% );\n\t--mol_theme_hover: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 35% );\n}\n\n[mol_theme=\"$mol_theme_accent\"] [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: black;\n}\n");
372
+ $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: none;\n}\n\n[mol_theme] {\n\tbackground-color: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n}\n\t\n:root, [mol_theme] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50% , calc( 54% + 44% * var(--mol_theme_luma) ) );\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0% , calc( 50% - 30% * var(--mol_theme_luma) ) );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 0%, calc( 50% + 50% * var(--mol_theme_luma) ), .2 );\n\t\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 0%, 50%, .05 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 50%, 1 );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 50%, calc( 50% - 5% * var(--mol_theme_luma) ) );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, calc( 50% - 15% * var(--mol_theme_luma) ) );\n\t\n}\n\n[mol_theme=\"$mol_theme_light\"] {\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n}\n\n[mol_theme=\"$mol_theme_dark\"] {\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n}\n\n[mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_luma: -2;\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 40% );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 60%, 30% );\n\t--mol_theme_current: hsl( var(--mol_theme_hue), 100%, 20% );\n}\n\n[mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% + 25% * var(--mol_theme_luma) ) );\n}\n\n[mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% + 25% * var(--mol_theme_luma) ) );\n}\n\n[mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_luma: -2;\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 40% );\n\t--mol_theme_hover: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 35% );\n}\n\n[mol_theme=\"$mol_theme_accent\"] [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: black;\n}\n");
373
373
  })($ || ($ = {}));
374
374
  //mol/theme/-css/theme.css.ts
375
375
  ;
@@ -468,7 +468,7 @@ var $;
468
468
  promote() {
469
469
  $mol_wire_auto()?.track_next(this);
470
470
  }
471
- refresh() { }
471
+ fresh() { }
472
472
  complete() { }
473
473
  emit(quant = $mol_wire_cursor.stale) {
474
474
  for (let i = this.sub_from; i < this.data.length; i += 2) {
@@ -671,7 +671,7 @@ var $;
671
671
  }
672
672
  for (let cursor = this.pub_from; cursor < this.cursor; cursor += 2) {
673
673
  const pub = this.data[cursor];
674
- pub.refresh();
674
+ pub.fresh();
675
675
  }
676
676
  this.cursor = $mol_wire_cursor.fresh;
677
677
  }
@@ -747,18 +747,20 @@ var $;
747
747
  class $mol_after_frame extends $mol_object2 {
748
748
  task;
749
749
  static _promise = null;
750
- static _timeout = null;
751
750
  static get promise() {
752
751
  if (this._promise)
753
752
  return this._promise;
754
753
  return this._promise = new Promise(done => {
755
754
  const complete = () => {
756
755
  this._promise = null;
757
- clearTimeout(this._timeout);
758
756
  done();
759
757
  };
760
- requestAnimationFrame(complete);
761
- this._timeout = setTimeout(complete, 100);
758
+ if (typeof requestAnimationFrame === 'function') {
759
+ requestAnimationFrame(complete);
760
+ }
761
+ else {
762
+ setTimeout(complete, 16);
763
+ }
762
764
  });
763
765
  }
764
766
  cancelled = false;
@@ -811,7 +813,7 @@ var $;
811
813
  continue;
812
814
  if (fiber.cursor === $mol_wire_cursor.final)
813
815
  continue;
814
- fiber.refresh();
816
+ fiber.fresh();
815
817
  }
816
818
  }
817
819
  while (this.reaping.size) {
@@ -879,7 +881,7 @@ var $;
879
881
  else
880
882
  super.emit(quant);
881
883
  }
882
- refresh() {
884
+ fresh() {
883
885
  if (this.cursor === $mol_wire_cursor.fresh)
884
886
  return;
885
887
  if (this.cursor === $mol_wire_cursor.final)
@@ -887,7 +889,7 @@ var $;
887
889
  check: if (this.cursor === $mol_wire_cursor.doubt) {
888
890
  for (let i = this.pub_from; i < this.sub_from; i += 2) {
889
891
  ;
890
- this.data[i]?.refresh();
892
+ this.data[i]?.fresh();
891
893
  if (this.cursor !== $mol_wire_cursor.doubt)
892
894
  break check;
893
895
  }
@@ -943,12 +945,16 @@ var $;
943
945
  this.track_off(bu);
944
946
  this.put(result);
945
947
  }
948
+ refresh() {
949
+ this.cursor = $mol_wire_cursor.stale;
950
+ this.fresh();
951
+ }
946
952
  sync() {
947
953
  if (!$mol_wire_fiber.warm) {
948
954
  return this.result();
949
955
  }
950
956
  this.promote();
951
- this.refresh();
957
+ this.fresh();
952
958
  if (this.cache instanceof Error) {
953
959
  return $mol_fail_hidden(this.cache);
954
960
  }
@@ -959,7 +965,7 @@ var $;
959
965
  }
960
966
  async async() {
961
967
  while (true) {
962
- this.refresh();
968
+ this.fresh();
963
969
  if (this.cache instanceof Error) {
964
970
  $mol_fail_hidden(this.cache);
965
971
  }
@@ -1261,6 +1267,22 @@ var $;
1261
1267
  };
1262
1268
  }
1263
1269
  }
1270
+ static watching = new Set();
1271
+ static watch() {
1272
+ new $mol_after_frame($mol_wire_atom.watch);
1273
+ for (const atom of $mol_wire_atom.watching) {
1274
+ if (atom.cursor === $mol_wire_cursor.final) {
1275
+ $mol_wire_atom.watching.delete(atom);
1276
+ }
1277
+ else {
1278
+ atom.cursor = $mol_wire_cursor.stale;
1279
+ atom.fresh();
1280
+ }
1281
+ }
1282
+ }
1283
+ watch() {
1284
+ $mol_wire_atom.watching.add(this);
1285
+ }
1264
1286
  resync(args) {
1265
1287
  return this.put(this.task.call(this.host, ...args));
1266
1288
  }
@@ -1315,6 +1337,7 @@ var $;
1315
1337
  $mol_wire_method
1316
1338
  ], $mol_wire_atom.prototype, "once", null);
1317
1339
  $.$mol_wire_atom = $mol_wire_atom;
1340
+ $mol_wire_atom.watch();
1318
1341
  })($ || ($ = {}));
1319
1342
  //mol/wire/atom/atom.ts
1320
1343
  ;
@@ -1549,6 +1572,22 @@ var $;
1549
1572
  ;
1550
1573
  "use strict";
1551
1574
  var $;
1575
+ (function ($) {
1576
+ function $mol_wire_watch() {
1577
+ const atom = $mol_wire_auto();
1578
+ if (atom instanceof $mol_wire_atom) {
1579
+ atom.watch();
1580
+ }
1581
+ else {
1582
+ $mol_fail(new Error('Atom is equired for watching'));
1583
+ }
1584
+ }
1585
+ $.$mol_wire_watch = $mol_wire_watch;
1586
+ })($ || ($ = {}));
1587
+ //mol/wire/watch/watch.ts
1588
+ ;
1589
+ "use strict";
1590
+ var $;
1552
1591
  (function ($) {
1553
1592
  function $mol_const(value) {
1554
1593
  var getter = (() => value);
@@ -1599,7 +1638,12 @@ var $;
1599
1638
  fiber = temp(obj, args);
1600
1639
  return fiber.async();
1601
1640
  };
1602
- }
1641
+ },
1642
+ apply(obj, self, args) {
1643
+ const temp = $mol_wire_task.getter(obj);
1644
+ const fiber = temp(self, args);
1645
+ return fiber.async();
1646
+ },
1603
1647
  });
1604
1648
  }
1605
1649
  $.$mol_wire_async = $mol_wire_async;
@@ -1831,15 +1875,9 @@ var $;
1831
1875
  }
1832
1876
  static watchers = new Set();
1833
1877
  view_rect() {
1834
- this.view_rect_watcher();
1835
- return this.view_rect_cache();
1836
- }
1837
- view_rect_cache(next = null) {
1838
- return next;
1839
- }
1840
- view_rect_watcher() {
1841
- $mol_view.watchers.add(this);
1842
- return { destructor: () => $mol_view.watchers.delete(this) };
1878
+ $mol_wire_watch();
1879
+ const { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect();
1880
+ return { width, height, left, right, top, bottom };
1843
1881
  }
1844
1882
  dom_id() {
1845
1883
  return this.toString();
@@ -2056,12 +2094,6 @@ var $;
2056
2094
  __decorate([
2057
2095
  $mol_mem
2058
2096
  ], $mol_view.prototype, "view_rect", null);
2059
- __decorate([
2060
- $mol_mem
2061
- ], $mol_view.prototype, "view_rect_cache", null);
2062
- __decorate([
2063
- $mol_mem
2064
- ], $mol_view.prototype, "view_rect_watcher", null);
2065
2097
  __decorate([
2066
2098
  $mol_mem
2067
2099
  ], $mol_view.prototype, "dom_node", null);
@@ -2099,7 +2131,7 @@ var $;
2099
2131
  "use strict";
2100
2132
  var $;
2101
2133
  (function ($) {
2102
- $mol_style_attach("mol/view/view/view.css", "[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tword-break: break-word;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\ttab-size: 4;\n}\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\n\n[mol_view] > * {\n\tword-break: inherit;\n}\n\n[mol_view_root] {\n\tmargin: 0;\n\tpadding: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\n[mol_view_root]:not([mol_view_root=\"\"]) {\n\tbox-sizing: border-box;\n\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\tbackground: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n}\n\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"]) {\n\tbackground-image: repeating-linear-gradient(\n\t\t-45deg,\n\t\t#f92323,\n\t\t#f92323 .5rem,\n\t\t#ff3d3d .5rem,\n\t\t#ff3d3d 1.5rem\n\t);\n\tcolor: black;\n\talign-items: center;\n justify-content: center;\n}\n\n@keyframes mol_view_wait_move {\n\tfrom {\n\t\tbackground-position: 0 0;\n\t}\n\tto {\n\t\tbackground-position: 200vmax 0;\n\t}\n}\n\n@keyframes mol_view_wait_show {\n\tto {\n\t\tbackground-image: repeating-linear-gradient(\n\t\t\t45deg,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 0% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 5% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 45% ,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 50% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 55% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 95% ,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 100%\n\t\t);\n\t\tbackground-size: 200vmax 200vmax;\n\t}\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait_show .5s .5s linear forwards , mol_view_wait_move 1s linear infinite;\n\topacity: .75;\n}\n");
2134
+ $mol_style_attach("mol/view/view/view.css", "[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tword-break: break-word;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\ttab-size: 4;\n}\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\n\n[mol_view] > * {\n\tword-break: inherit;\n}\n\n[mol_view_root] {\n\tmargin: 0;\n\tpadding: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbox-sizing: border-box;\n\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\tbackground: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n}\n\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"]) {\n\tbackground-image: repeating-linear-gradient(\n\t\t-45deg,\n\t\t#f92323,\n\t\t#f92323 .5rem,\n\t\t#ff3d3d .5rem,\n\t\t#ff3d3d 1.5rem\n\t);\n\tcolor: black;\n\talign-items: center;\n justify-content: center;\n}\n\n@keyframes mol_view_wait_move {\n\tfrom {\n\t\tbackground-position: 0 0;\n\t}\n\tto {\n\t\tbackground-position: 200vmax 0;\n\t}\n}\n\n@keyframes mol_view_wait_show {\n\tto {\n\t\tbackground-image: repeating-linear-gradient(\n\t\t\t45deg,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 0% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 5% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 45% ,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 50% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 55% ,\n\t\t\thsla( 0 , 0% , 50% , 0 ) 95% ,\n\t\t\thsla( 0 , 0% , 50% , .5 ) 100%\n\t\t);\n\t\tbackground-size: 200vmax 200vmax;\n\t}\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait_show .5s .5s linear forwards , mol_view_wait_move 1s linear infinite;\n\topacity: .75;\n}\n");
2103
2135
  })($ || ($ = {}));
2104
2136
  //mol/view/view/-css/view.css.ts
2105
2137
  ;
@@ -2108,22 +2140,6 @@ var $;
2108
2140
  (function ($) {
2109
2141
  if ($mol_dom_context.document) {
2110
2142
  setTimeout(() => $mol_view.autobind());
2111
- function $mol_view_watch() {
2112
- new $mol_after_frame($mol_view_watch);
2113
- for (const view of $mol_view.watchers) {
2114
- const prev = view.view_rect_cache();
2115
- const next = view.dom_node().getBoundingClientRect();
2116
- if (next.left === 0 && next.right === 0 && next.width === 0) {
2117
- if (prev)
2118
- view.view_rect_cache(null);
2119
- continue;
2120
- }
2121
- if (!prev || prev.x !== next.x || prev.y !== next.y || prev.width !== next.width || prev.height !== next.height) {
2122
- view.view_rect_cache(next);
2123
- }
2124
- }
2125
- }
2126
- $mol_view_watch();
2127
2143
  }
2128
2144
  })($ || ($ = {}));
2129
2145
  //mol/view/view/view.web.ts
@@ -3679,14 +3695,12 @@ var $;
3679
3695
  const size_real = this.size_real();
3680
3696
  const max_x = (viewport.x.max - viewport.x.min) / size_real.x;
3681
3697
  const max_y = (viewport.y.max - viewport.y.min) / size_real.y;
3682
- return this.graphs().filter(graph => {
3698
+ return this.graphs_positioned().filter(graph => {
3683
3699
  const dims = graph.dimensions();
3684
3700
  if (dims.x.min > dims.x.max)
3685
3701
  return true;
3686
3702
  if (dims.y.min > dims.y.max)
3687
3703
  return true;
3688
- if (dims.x.max - dims.x.min < max_x && dims.y.max - dims.y.min < max_y)
3689
- return false;
3690
3704
  if (dims.x.min > viewport.x.max)
3691
3705
  return false;
3692
3706
  if (dims.x.max < viewport.x.min)
@@ -3699,7 +3713,7 @@ var $;
3699
3713
  });
3700
3714
  }
3701
3715
  graphs_positioned() {
3702
- const graphs = this.graphs_visible();
3716
+ const graphs = this.graphs();
3703
3717
  for (let graph of graphs) {
3704
3718
  graph.shift = () => this.shift();
3705
3719
  graph.scale = () => this.scale();
@@ -4147,12 +4161,6 @@ var $;
4147
4161
  const size_x = Math.max(0, Math.ceil((1 / aspect - 1) * diameter));
4148
4162
  return points.map(point => `M ${point[0] - shift_x} ${point[1] - shift_y} l ${size_x} ${size_y}`).join(' ');
4149
4163
  }
4150
- dimensions() {
4151
- const scale = this.scale();
4152
- const radius = this.diameter() / Math.min(...scale) / 2;
4153
- const dims = super.dimensions();
4154
- return new this.$.$mol_vector_2d(new $mol_vector_range(dims.x.min - radius, dims.x.max + radius), new $mol_vector_range(dims.y.min - radius, dims.y.max + radius));
4155
- }
4156
4164
  }
4157
4165
  __decorate([
4158
4166
  $mol_mem
@@ -4160,9 +4168,6 @@ var $;
4160
4168
  __decorate([
4161
4169
  $mol_mem
4162
4170
  ], $mol_plot_dot.prototype, "indexes", null);
4163
- __decorate([
4164
- $mol_mem
4165
- ], $mol_plot_dot.prototype, "dimensions", null);
4166
4171
  $$.$mol_plot_dot = $mol_plot_dot;
4167
4172
  })($$ = $.$$ || ($.$$ = {}));
4168
4173
  })($ || ($ = {}));