mol_view_tree2_lib 1.0.214 → 1.0.216

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/node.test.js CHANGED
@@ -2011,7 +2011,7 @@ var $;
2011
2011
  "use strict";
2012
2012
  var $;
2013
2013
  (function ($) {
2014
- const class_regex = /^[$A-Z][$\w<>\[\]()"'?|]+$/;
2014
+ const class_regex = /^[$A-Z][$\w<>\[\]()"'?|,]+$/;
2015
2015
  function $mol_view_tree2_class_match(klass) {
2016
2016
  if (!klass?.type)
2017
2017
  return false;
@@ -2723,7 +2723,7 @@ var $;
2723
2723
  'color': 'gray',
2724
2724
  });
2725
2725
  $.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
2726
- 'margin-left': '13px'
2726
+ 'margin-inline-start': '13px'
2727
2727
  });
2728
2728
  class Stack extends Array {
2729
2729
  // [ Symbol.toPrimitive ]() {
@@ -3617,14 +3617,14 @@ var $;
3617
3617
  reuse: if (existen) {
3618
3618
  if (!existen.temp)
3619
3619
  break reuse;
3620
- if (existen.task !== task) {
3621
- cause = 'task';
3622
- break reuse;
3623
- }
3624
3620
  if (existen.host !== host) {
3625
3621
  cause = 'host';
3626
3622
  break reuse;
3627
3623
  }
3624
+ if (existen.task !== task) {
3625
+ cause = 'task';
3626
+ break reuse;
3627
+ }
3628
3628
  if (!$mol_compare_deep(existen.args, args)) {
3629
3629
  cause = 'args';
3630
3630
  break reuse;
@@ -4349,134 +4349,115 @@ var $;
4349
4349
  "use strict";
4350
4350
  var $;
4351
4351
  (function ($) {
4352
- $.$mol_dom_context = new $node.jsdom.JSDOM('', { url: 'https://localhost/' }).window;
4352
+ $.$mol_dom_context = new $node.jsdom.JSDOM('', { url: `http://${process.env.DOMAIN || 'localhost'}/` }).window;
4353
4353
  })($ || ($ = {}));
4354
4354
 
4355
4355
  ;
4356
4356
  "use strict";
4357
4357
  var $;
4358
4358
  (function ($) {
4359
- /**
4360
- * Disable reaping of current subscriber
4361
- */
4362
- function $mol_wire_solid() {
4363
- let current = $mol_wire_auto();
4364
- if (current.temp)
4365
- current = current.host;
4366
- if (current.reap !== nothing) {
4367
- current?.sub_on(sub, sub.data.length);
4359
+ class $mol_storage extends $mol_object2 {
4360
+ /** Is storage a long term. */
4361
+ static persisted(next) {
4362
+ return false;
4368
4363
  }
4369
- current.reap = nothing;
4370
- }
4371
- $.$mol_wire_solid = $mol_wire_solid;
4372
- const nothing = () => { };
4373
- const sub = new $mol_wire_pub_sub;
4374
- })($ || ($ = {}));
4375
-
4376
- ;
4377
- "use strict";
4378
- var $;
4379
- (function ($) {
4380
- $.$mol_mem_persist = $mol_wire_solid;
4381
- })($ || ($ = {}));
4382
-
4383
- ;
4384
- "use strict";
4385
- var $;
4386
- (function ($) {
4387
- /** Run code without state changes */
4388
- function $mol_wire_probe(task, def) {
4389
- const warm = $mol_wire_fiber.warm;
4390
- try {
4391
- $mol_wire_fiber.warm = false;
4392
- const res = task();
4393
- if (res === undefined)
4394
- return def;
4395
- return res;
4364
+ /** Total storage quota in bytes. */
4365
+ static total() {
4366
+ return 0;
4396
4367
  }
4397
- finally {
4398
- $mol_wire_fiber.warm = warm;
4368
+ /** Total storage usage in bytes. */
4369
+ static used() {
4370
+ return 0;
4371
+ }
4372
+ /** Minimum available free space in bytes. */
4373
+ static free() {
4374
+ return this.total() - this.used();
4375
+ }
4376
+ /** Fulfillness of storage. */
4377
+ static portion() {
4378
+ const total = this.total();
4379
+ if (!total)
4380
+ return 1;
4381
+ return this.used() / total;
4382
+ }
4383
+ /**
4384
+ * Fulfillness logarithmic level.
4385
+ * `0` - empty
4386
+ * `1` - half free
4387
+ * `2` - quart free
4388
+ * `Infinity` - fulfilled
4389
+ */
4390
+ static level() {
4391
+ return Math.floor(-Math.log2(1 - this.portion()));
4399
4392
  }
4400
4393
  }
4401
- $.$mol_wire_probe = $mol_wire_probe;
4402
- })($ || ($ = {}));
4403
-
4404
- ;
4405
- "use strict";
4406
- var $;
4407
- (function ($) {
4408
- $.$mol_mem_cached = $mol_wire_probe;
4409
- })($ || ($ = {}));
4410
-
4411
- ;
4412
- "use strict";
4413
- var $;
4414
- (function ($) {
4415
- $.$mol_dom = $mol_dom_context;
4394
+ $.$mol_storage = $mol_storage;
4416
4395
  })($ || ($ = {}));
4417
4396
 
4418
4397
  ;
4419
4398
  "use strict";
4420
4399
  var $;
4421
4400
  (function ($) {
4422
- function $mol_wait_user_async() {
4423
- return new Promise(done => $mol_dom.addEventListener('click', function onclick() {
4424
- $mol_dom.removeEventListener('click', onclick);
4425
- done(null);
4426
- }));
4427
- }
4428
- $.$mol_wait_user_async = $mol_wait_user_async;
4429
- function $mol_wait_user() {
4430
- return this.$mol_wire_sync(this).$mol_wait_user_async();
4401
+ /** State of time moment */
4402
+ class $mol_state_time extends $mol_object {
4403
+ static task(precision, reset) {
4404
+ if (precision) {
4405
+ return new $mol_after_timeout(precision, () => this.task(precision, null));
4406
+ }
4407
+ else {
4408
+ return new $mol_after_frame(() => this.task(precision, null));
4409
+ }
4410
+ }
4411
+ static now(precision) {
4412
+ this.task(precision);
4413
+ return Date.now();
4414
+ }
4431
4415
  }
4432
- $.$mol_wait_user = $mol_wait_user;
4416
+ __decorate([
4417
+ $mol_mem_key
4418
+ ], $mol_state_time, "task", null);
4419
+ __decorate([
4420
+ $mol_mem_key
4421
+ ], $mol_state_time, "now", null);
4422
+ $.$mol_state_time = $mol_state_time;
4433
4423
  })($ || ($ = {}));
4434
4424
 
4435
4425
  ;
4436
4426
  "use strict";
4437
4427
  var $;
4438
4428
  (function ($) {
4439
- class $mol_storage extends $mol_object2 {
4440
- static native() {
4441
- return this.$.$mol_dom_context.navigator.storage ?? {
4442
- persisted: async () => false,
4443
- persist: async () => false,
4444
- estimate: async () => ({}),
4445
- getDirectory: async () => null,
4446
- };
4429
+ class $mol_storage_node extends $mol_storage {
4430
+ static persisted() {
4431
+ return true;
4447
4432
  }
4448
- static persisted(next, cache) {
4449
- $mol_mem_persist();
4450
- if (cache)
4451
- return Boolean(next);
4452
- const native = this.native();
4453
- if (next && !$mol_mem_cached(() => this.persisted())) {
4454
- this.$.$mol_wait_user_async()
4455
- .then(() => native.persist())
4456
- .then(actual => {
4457
- setTimeout(() => this.persisted(actual, 'cache'), 5000);
4458
- if (actual)
4459
- this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` });
4460
- else
4461
- this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` });
4462
- });
4463
- }
4464
- return next ?? $mol_wire_sync(native).persisted();
4433
+ static stats() {
4434
+ $mol_state_time.now(1000);
4435
+ return $node.fs.statfsSync('.');
4465
4436
  }
4466
- static estimate() {
4467
- return $mol_wire_sync(this.native() ?? {}).estimate();
4437
+ static total() {
4438
+ const { blocks, bsize } = this.stats();
4439
+ return blocks * bsize;
4468
4440
  }
4469
- static dir() {
4470
- return $mol_wire_sync(this.native()).getDirectory();
4441
+ static used() {
4442
+ const { blocks, bfree, bsize } = this.stats();
4443
+ return (blocks - bfree) * bsize;
4444
+ }
4445
+ static free() {
4446
+ const { bfree, bsize } = this.stats();
4447
+ return bfree * bsize;
4448
+ }
4449
+ static portion() {
4450
+ const { blocks, bfree } = this.stats();
4451
+ if (!blocks)
4452
+ return 1;
4453
+ return (blocks - bfree) / blocks;
4471
4454
  }
4472
4455
  }
4473
4456
  __decorate([
4474
4457
  $mol_mem
4475
- ], $mol_storage, "native", null);
4476
- __decorate([
4477
- $mol_mem
4478
- ], $mol_storage, "persisted", null);
4479
- $.$mol_storage = $mol_storage;
4458
+ ], $mol_storage_node, "stats", null);
4459
+ $.$mol_storage_node = $mol_storage_node;
4460
+ $.$mol_storage = $.$mol_storage_node;
4480
4461
  })($ || ($ = {}));
4481
4462
 
4482
4463
  ;
@@ -4600,6 +4581,27 @@ var $;
4600
4581
  $.$mol_wire_async = $mol_wire_async;
4601
4582
  })($ || ($ = {}));
4602
4583
 
4584
+ ;
4585
+ "use strict";
4586
+ var $;
4587
+ (function ($) {
4588
+ /** Run code without state changes */
4589
+ function $mol_wire_probe(task, def) {
4590
+ const warm = $mol_wire_fiber.warm;
4591
+ try {
4592
+ $mol_wire_fiber.warm = false;
4593
+ const res = task();
4594
+ if (res === undefined)
4595
+ return def;
4596
+ return res;
4597
+ }
4598
+ finally {
4599
+ $mol_wire_fiber.warm = warm;
4600
+ }
4601
+ }
4602
+ $.$mol_wire_probe = $mol_wire_probe;
4603
+ })($ || ($ = {}));
4604
+
4603
4605
  ;
4604
4606
  "use strict";
4605
4607
  var $;
@@ -4633,6 +4635,13 @@ var $;
4633
4635
  $.$mol_lock = $mol_lock;
4634
4636
  })($ || ($ = {}));
4635
4637
 
4638
+ ;
4639
+ "use strict";
4640
+ var $;
4641
+ (function ($) {
4642
+ $.$mol_mem_cached = $mol_wire_probe;
4643
+ })($ || ($ = {}));
4644
+
4636
4645
  ;
4637
4646
  "use strict";
4638
4647
  var $;
@@ -4766,6 +4775,27 @@ var $;
4766
4775
  $.$mol_file_transaction = $mol_file_transaction;
4767
4776
  })($ || ($ = {}));
4768
4777
 
4778
+ ;
4779
+ "use strict";
4780
+ var $;
4781
+ (function ($) {
4782
+ /**
4783
+ * Disable reaping of current subscriber
4784
+ */
4785
+ function $mol_wire_solid() {
4786
+ let current = $mol_wire_auto();
4787
+ if (current.temp)
4788
+ current = current.host;
4789
+ if (current.reap !== nothing) {
4790
+ current?.sub_on(sub, sub.data.length);
4791
+ }
4792
+ current.reap = nothing;
4793
+ }
4794
+ $.$mol_wire_solid = $mol_wire_solid;
4795
+ const nothing = () => { };
4796
+ const sub = new $mol_wire_pub_sub;
4797
+ })($ || ($ = {}));
4798
+
4769
4799
  ;
4770
4800
  "use strict";
4771
4801
  var $;
@@ -5442,6 +5472,13 @@ var $;
5442
5472
  $.$mol_file = $mol_file_node;
5443
5473
  })($ || ($ = {}));
5444
5474
 
5475
+ ;
5476
+ "use strict";
5477
+ var $;
5478
+ (function ($) {
5479
+ $.$mol_dom = $mol_dom_context;
5480
+ })($ || ($ = {}));
5481
+
5445
5482
  ;
5446
5483
  "use strict";
5447
5484
  var $;
@@ -5486,6 +5523,19 @@ var $;
5486
5523
  static lang(next) {
5487
5524
  return this.$.$mol_state_local.value('locale', next) || $mol_dom_context.navigator.language.replace(/-.*/, '') || this.lang_default();
5488
5525
  }
5526
+ static langs_rtl() {
5527
+ return ['ar', 'he', 'fa', 'ur', 'yi', 'ps', 'ug', 'sd'];
5528
+ }
5529
+ static direction() {
5530
+ const lang = this.lang();
5531
+ try {
5532
+ return new Intl.Locale(lang).getTextInfo().direction ?? 'ltr';
5533
+ }
5534
+ catch (e) {
5535
+ $mol_fail_log(e);
5536
+ return this.langs_rtl().includes(lang) ? 'rtl' : 'ltr';
5537
+ }
5538
+ }
5489
5539
  static source(lang) {
5490
5540
  return JSON.parse(this.$.$mol_file.relative(`web.locale=${lang}.json`).text().toString());
5491
5541
  }
@@ -5526,6 +5576,9 @@ var $;
5526
5576
  __decorate([
5527
5577
  $mol_mem
5528
5578
  ], $mol_locale, "lang", null);
5579
+ __decorate([
5580
+ $mol_mem
5581
+ ], $mol_locale, "direction", null);
5529
5582
  __decorate([
5530
5583
  $mol_mem_key
5531
5584
  ], $mol_locale, "source", null);
@@ -10116,7 +10169,7 @@ var $;
10116
10169
  "use strict";
10117
10170
  var $;
10118
10171
  (function ($) {
10119
- $mol_style_attach("mol/view/view/view.css", "@view-transition {\n\tnavigation: auto;\n}\n\n[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform, scale, translate, rotate;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\tscrollbar-color: var(--mol_theme_line) transparent;\n\tscrollbar-width: thin;\n}\t\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\t\n\n[mol_view]::-webkit-scrollbar {\n\twidth: .25rem;\n\theight: .25rem;\n}\n\n[mol_view]::-webkit-scrollbar-corner {\n\tbackground-color: var(--mol_theme_line);\n}\n\n[mol_view]::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n[mol_view]::-webkit-scrollbar-thumb {\n\tbackground-color: var(--mol_theme_line);\n\tborder-radius: var(--mol_gap_round);\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: system-ui, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\t/* background: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text); */\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n\ttab-size: 4;\n\t/*overscroll-behavior: contain; /** Disable navigation gestures **/\n}\n\n@media print {\n\t[mol_view_root] {\n\t\theight: auto;\n\t}\n}\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"], [mol_view_error=\"$mol_promise_blocker\"]) {\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\tjustify-content: center;\n}\n\n@keyframes mol_view_wait {\n\tfrom {\n\t\topacity: .25;\n\t}\n\t20% {\n\t\topacity: .75;\n\t}\n\tto {\n\t\topacity: .25;\n\t}\n}\n\n:where([mol_view][mol_view_error=\"$mol_promise_blocker\"]),\n:where([mol_view][mol_view_error=\"Promise\"]) {\n\tbackground: var(--mol_theme_hover);\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait 1s steps(20,end) infinite;\n}\n");
10172
+ $mol_style_attach("mol/view/view/view.css", "@view-transition {\n\tnavigation: auto;\n}\n\n[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform, scale, translate, rotate;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\tscrollbar-color: var(--mol_theme_line) transparent;\n\tscrollbar-width: thin;\n\t/* text-wrap-style: pretty; dont work in textarea */\n\tunicode-bidi: plaintext\n}\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\t\n\n[mol_view]::-webkit-scrollbar {\n\twidth: .25rem;\n\theight: .25rem;\n}\n\n[mol_view]::-webkit-scrollbar-corner {\n\tbackground-color: var(--mol_theme_line);\n}\n\n[mol_view]::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n[mol_view]::-webkit-scrollbar-thumb {\n\tbackground-color: var(--mol_theme_line);\n\tborder-radius: var(--mol_gap_round);\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: system-ui, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\t/* background: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text); */\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n\ttab-size: 4;\n\t/*overscroll-behavior: contain; /** Disable navigation gestures **/\n}\n\n@media print {\n\t[mol_view_root] {\n\t\theight: auto;\n\t}\n}\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"], [mol_view_error=\"$mol_promise_blocker\"]) {\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\tjustify-content: center;\n}\n\n@keyframes mol_view_wait {\n\tfrom {\n\t\topacity: .25;\n\t}\n\t20% {\n\t\topacity: .75;\n\t}\n\tto {\n\t\topacity: .25;\n\t}\n}\n\n:where([mol_view][mol_view_error=\"$mol_promise_blocker\"]),\n:where([mol_view][mol_view_error=\"Promise\"]) {\n\tbackground: var(--mol_theme_hover);\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait 1s steps(20,end) infinite;\n}\n");
10120
10173
  })($ || ($ = {}));
10121
10174
 
10122
10175
  ;
@@ -11176,7 +11229,7 @@ var $;
11176
11229
  "use strict";
11177
11230
  var $;
11178
11231
  (function ($) {
11179
- $mol_style_attach("mol/string/string.view.css", "[mol_string] {\n\tbox-sizing: border-box;\n\toutline-offset: 0;\n\tborder: none;\n\tborder-radius: var(--mol_gap_round);\n\twhite-space: pre-line;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tpadding: var(--mol_gap_text);\n\ttext-align: left;\n\tposition: relative;\n\tfont: inherit;\n\tflex: 1 1 auto;\n\tbackground: transparent;\n\tmin-width: 0;\n\tcolor: inherit;\n\tbackground: var(--mol_theme_field);\n}\n\n[mol_string]:disabled:not(:placeholder-shown) {\n\tbackground-color: transparent;\n\tcolor: var(--mol_theme_text);\n}\n\n[mol_string]:where(:not(:disabled)) {\n\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\n}\n\n[mol_string]:where(:not(:disabled)):hover {\n\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\n\tz-index: var(--mol_layer_hover);\n}\n\n[mol_string]:focus {\n\toutline: none;\n\tz-index: var(--mol_layer_focus);\n\tcolor: var(--mol_theme_text);\n\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\n}\n\n[mol_string]::placeholder {\n\tcolor: var(--mol_theme_shade);\n}\n\n[mol_string]::-ms-clear {\n\tdisplay: none;\n}\n");
11232
+ $mol_style_attach("mol/string/string.view.css", "[mol_string] {\n\tbox-sizing: border-box;\n\toutline-offset: 0;\n\tborder: none;\n\tborder-radius: var(--mol_gap_round);\n\twhite-space: pre-line;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tpadding: var(--mol_gap_text);\n\ttext-align: start;\n\tposition: relative;\n\tfont: inherit;\n\tflex: 1 1 auto;\n\tbackground: transparent;\n\tmin-width: 0;\n\tcolor: inherit;\n\tbackground: var(--mol_theme_field);\n}\n\n[mol_string]:disabled:not(:placeholder-shown) {\n\tbackground-color: transparent;\n\tcolor: var(--mol_theme_text);\n}\n\n[mol_string]:where(:not(:disabled)) {\n\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\n}\n\n[mol_string]:where(:not(:disabled)):hover {\n\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\n\tz-index: var(--mol_layer_hover);\n}\n\n[mol_string]:focus {\n\toutline: none;\n\tz-index: var(--mol_layer_focus);\n\tcolor: var(--mol_theme_text);\n\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\n}\n\n[mol_string]::placeholder {\n\tcolor: var(--mol_theme_shade);\n}\n\n[mol_string]::-ms-clear {\n\tdisplay: none;\n}\n");
11180
11233
  })($ || ($ = {}));
11181
11234
 
11182
11235
  ;
@@ -11692,7 +11745,7 @@ var $;
11692
11745
  needle <= query? \\
11693
11746
  key * escape? <=> clear? null
11694
11747
  Clear ${d}mol_button_minor
11695
- click?event <=> clear?event null
11748
+ click? <=> clear? null
11696
11749
  `;
11697
11750
  const dest = `
11698
11751
  query? \\
@@ -11718,7 +11771,7 @@ var $;
11718
11771
  <= title
11719
11772
  <= Close ${d}mol_button
11720
11773
  title \\close
11721
- click?event <=> close?event null
11774
+ click? <=> close? null
11722
11775
  `;
11723
11776
  const dest = `
11724
11777
  Close_icon ${d}mol_icon_cross
@@ -11783,13 +11836,13 @@ var $;
11783
11836
  Suggest_label ${d}mol_dimmer
11784
11837
  clear => clear
11785
11838
  Clear ${d}mol_button_minor
11786
- click?event <=> clear?event null
11839
+ click? <=> clear? null
11787
11840
  `;
11788
- $mol_assert_fail(() => normalize($, src).input, `Need an equal default values at \`/mol/view/tree2/class/props.test.ts#4:16/5\` vs \`/mol/view/tree2/class/props.test.ts#6:23/11\`
11841
+ $mol_assert_fail(() => normalize($, src).input, `Need an equal default values at \`/mol/view/tree2/class/props.test.ts#4:16/5\` vs \`/mol/view/tree2/class/props.test.ts#6:18/6\`
11789
11842
  <=>
11790
- /mol/view/tree2/class/props.test.ts#6:19/3
11843
+ /mol/view/tree2/class/props.test.ts#6:14/3
11791
11844
  click?
11792
- /mol/view/tree2/class/props.test.ts#6:7/11
11845
+ /mol/view/tree2/class/props.test.ts#6:7/6
11793
11846
  $mol_button_minor
11794
11847
  /mol/view/tree2/class/props.test.ts#5:12/17
11795
11848
  Clear