@decidables/detectable-elements 0.1.3 → 0.2.2

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.
@@ -378,7 +378,7 @@
378
378
  v = /-->/g,
379
379
  a = />/g,
380
380
  f = />|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,
381
- _$n = /'/g,
381
+ _$p = /'/g,
382
382
  m = /"/g,
383
383
  g = /^(?:script|style|textarea|title)$/i,
384
384
  p = t => (i, ...s) => ({
@@ -418,7 +418,7 @@
418
418
  p = -1,
419
419
  $ = 0;
420
420
 
421
- for (; $ < s.length && (d.lastIndex = $, u = d.exec(s), null !== u);) $ = d.lastIndex, d === c ? "!--" === u[1] ? d = v : void 0 !== u[1] ? d = a : void 0 !== u[2] ? (g.test(u[2]) && (h = RegExp("</" + u[2], "g")), d = f) : void 0 !== u[3] && (d = f) : d === f ? ">" === u[0] ? (d = null != h ? h : c, p = -1) : void 0 === u[1] ? p = -2 : (p = d.lastIndex - u[2].length, o = u[1], d = void 0 === u[3] ? f : '"' === u[3] ? m : _$n) : d === m || d === _$n ? d = f : d === v || d === a ? d = c : (d = f, h = void 0);
421
+ for (; $ < s.length && (d.lastIndex = $, u = d.exec(s), null !== u);) $ = d.lastIndex, d === c ? "!--" === u[1] ? d = v : void 0 !== u[1] ? d = a : void 0 !== u[2] ? (g.test(u[2]) && (h = RegExp("</" + u[2], "g")), d = f) : void 0 !== u[3] && (d = f) : d === f ? ">" === u[0] ? (d = null != h ? h : c, p = -1) : void 0 === u[1] ? p = -2 : (p = d.lastIndex - u[2].length, o = u[1], d = void 0 === u[3] ? f : '"' === u[3] ? m : _$p) : d === m || d === _$p ? d = f : d === v || d === a ? d = c : (d = f, h = void 0);
422
422
 
423
423
  const y = d === f && t[i + 1].startsWith("/>") ? " " : "";
424
424
  r += d === c ? s + n$1 : p >= 0 ? (l.push(o), s.slice(0, p) + "$lit$" + s.slice(p) + e + y) : s + e + (-2 === p ? (l.push(void 0), i) : y);
@@ -6468,14 +6468,14 @@
6468
6468
  return line;
6469
6469
  }
6470
6470
 
6471
- let _$m = t => t,
6472
- _t$m,
6473
- _t2$k,
6474
- _t3$a,
6475
- _t4$a,
6476
- _t5$a,
6477
- _t6$a,
6478
- _t7$a,
6471
+ let _$o = t => t,
6472
+ _t$o,
6473
+ _t2$m,
6474
+ _t3$c,
6475
+ _t4$c,
6476
+ _t5$c,
6477
+ _t6$c,
6478
+ _t7$c,
6479
6479
  _t8$8,
6480
6480
  _t9$8;
6481
6481
  /*
@@ -6655,10 +6655,11 @@
6655
6655
  }
6656
6656
 
6657
6657
  static get svgFilters() {
6658
- const shadows = DecidablesElement.shadows; // eslint-disable-line prefer-destructuring
6658
+ const shadows = DecidablesElement.shadows;
6659
+ /* eslint-disable-line prefer-destructuring */
6659
6660
 
6660
6661
  const filters = shadows.elevations.map(z => {
6661
- return y$1(_t$m || (_t$m = _$m`
6662
+ return y$1(_t$o || (_t$o = _$o`
6662
6663
  <filter id=${0} x="-250%" y="-250%" width="600%" height="600%">
6663
6664
  <feComponentTransfer in="SourceAlpha" result="solid">
6664
6665
  <feFuncA type="table" tableValues="0 1 1"/>
@@ -6688,9 +6689,9 @@
6688
6689
  <feMergeNode in="finalA" />
6689
6690
  <feMergeNode in="SourceGraphic" />
6690
6691
  </feMerge>
6691
- </filter>`), `shadow-${z}`, shadows.mapUmbra[z].y / 2, shadows.mapUmbra[z].y, shadows.mapPenumbra[z].y / 2, shadows.mapPenumbra[z].y, shadows.mapAmbient[z].y / 2, shadows.mapAmbient[z].y, shadows.mapUmbra[z].s === 0 ? y$1(_t2$k || (_t2$k = _$m``)) : y$1(_t3$a || (_t3$a = _$m`<feMorphology in="offU" result="spreadU" operator=${0} radius=${0} />`), shadows.mapUmbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapUmbra[z].s)), shadows.mapPenumbra[z].s === 0 ? y$1(_t4$a || (_t4$a = _$m``)) : y$1(_t5$a || (_t5$a = _$m`<feMorphology in="offP" result="spreadP" operator=${0} radius=${0} />`), shadows.mapPenumbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapPenumbra[z].s)), shadows.mapAmbient[z].s === 0 ? y$1(_t6$a || (_t6$a = _$m``)) : y$1(_t7$a || (_t7$a = _$m`<feMorphology in="offA" result="spreadA" operator=${0} radius=${0} />`), shadows.mapAmbient[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapAmbient[z].s)), shadows.mapUmbra[z].s === 0 ? 'offU' : 'spreadU', shadows.mapUmbra[z].b / 2, shadows.mapPenumbra[z].s === 0 ? 'offP' : 'spreadP', shadows.mapPenumbra[z].b / 2, shadows.mapAmbient[z].s === 0 ? 'offA' : 'spreadA', shadows.mapAmbient[z].b / 2, shadows.baselineColor, shadows.opacityUmbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityPenumbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityAmbient + shadows.opacityBoost);
6692
+ </filter>`), `shadow-${z}`, shadows.mapUmbra[z].y / 2, shadows.mapUmbra[z].y, shadows.mapPenumbra[z].y / 2, shadows.mapPenumbra[z].y, shadows.mapAmbient[z].y / 2, shadows.mapAmbient[z].y, shadows.mapUmbra[z].s === 0 ? y$1(_t2$m || (_t2$m = _$o``)) : y$1(_t3$c || (_t3$c = _$o`<feMorphology in="offU" result="spreadU" operator=${0} radius=${0} />`), shadows.mapUmbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapUmbra[z].s)), shadows.mapPenumbra[z].s === 0 ? y$1(_t4$c || (_t4$c = _$o``)) : y$1(_t5$c || (_t5$c = _$o`<feMorphology in="offP" result="spreadP" operator=${0} radius=${0} />`), shadows.mapPenumbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapPenumbra[z].s)), shadows.mapAmbient[z].s === 0 ? y$1(_t6$c || (_t6$c = _$o``)) : y$1(_t7$c || (_t7$c = _$o`<feMorphology in="offA" result="spreadA" operator=${0} radius=${0} />`), shadows.mapAmbient[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapAmbient[z].s)), shadows.mapUmbra[z].s === 0 ? 'offU' : 'spreadU', shadows.mapUmbra[z].b / 2, shadows.mapPenumbra[z].s === 0 ? 'offP' : 'spreadP', shadows.mapPenumbra[z].b / 2, shadows.mapAmbient[z].s === 0 ? 'offA' : 'spreadA', shadows.mapAmbient[z].b / 2, shadows.baselineColor, shadows.opacityUmbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityPenumbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityAmbient + shadows.opacityBoost);
6692
6693
  });
6693
- return y$1(_t8$8 || (_t8$8 = _$m`
6694
+ return y$1(_t8$8 || (_t8$8 = _$o`
6694
6695
  <svg class="defs">
6695
6696
  <defs>
6696
6697
  ${0}
@@ -6700,7 +6701,7 @@
6700
6701
  }
6701
6702
 
6702
6703
  static get styles() {
6703
- return r$2(_t9$8 || (_t9$8 = _$m`
6704
+ return r$2(_t9$8 || (_t9$8 = _$o`
6704
6705
  :host {
6705
6706
  ---shadow-0: var(--shadow-0, ${0});
6706
6707
  ---shadow-2: var(--shadow-2, ${0});
@@ -6762,9 +6763,9 @@
6762
6763
 
6763
6764
  }
6764
6765
 
6765
- let _$l = t => t,
6766
- _t$l,
6767
- _t2$j;
6766
+ let _$n = t => t,
6767
+ _t$n,
6768
+ _t2$l;
6768
6769
  class DecidablesButton extends DecidablesElement {
6769
6770
  static get properties() {
6770
6771
  return {
@@ -6783,7 +6784,7 @@
6783
6784
  }
6784
6785
 
6785
6786
  static get styles() {
6786
- return [super.styles, r$2(_t$l || (_t$l = _$l`
6787
+ return [super.styles, r$2(_t$n || (_t$n = _$n`
6787
6788
  :host {
6788
6789
  margin: 0.25rem;
6789
6790
  }
@@ -6840,7 +6841,7 @@
6840
6841
  }
6841
6842
 
6842
6843
  render() {
6843
- return $(_t2$j || (_t2$j = _$l`
6844
+ return $(_t2$l || (_t2$l = _$n`
6844
6845
  <button ?disabled=${0}>
6845
6846
  <slot></slot>
6846
6847
  </button>
@@ -6858,9 +6859,9 @@
6858
6859
 
6859
6860
  const l = l => null != l ? l : w;
6860
6861
 
6861
- let _$k = t => t,
6862
- _t$k,
6863
- _t2$i;
6862
+ let _$m = t => t,
6863
+ _t$m,
6864
+ _t2$k;
6864
6865
  class DecidablesSlider extends DecidablesElement {
6865
6866
  static get properties() {
6866
6867
  return {
@@ -6917,7 +6918,7 @@
6917
6918
  }
6918
6919
 
6919
6920
  static get styles() {
6920
- return [super.styles, r$2(_t$k || (_t$k = _$k`
6921
+ return [super.styles, r$2(_t$m || (_t$m = _$m`
6921
6922
  :host {
6922
6923
  ---shadow-2-rotate: var(--shadow-2-rotate, ${0});
6923
6924
  ---shadow-4-rotate: var(--shadow-4-rotate, ${0});
@@ -7171,7 +7172,7 @@
7171
7172
  }
7172
7173
 
7173
7174
  render() {
7174
- return $(_t2$i || (_t2$i = _$k`
7175
+ return $(_t2$k || (_t2$k = _$m`
7175
7176
  <label for="slider">
7176
7177
  <slot></slot>
7177
7178
  </label>
@@ -7185,9 +7186,9 @@
7185
7186
  }
7186
7187
  customElements.define('decidables-slider', DecidablesSlider);
7187
7188
 
7188
- let _$j = t => t,
7189
- _t$j,
7190
- _t2$h;
7189
+ let _$l = t => t,
7190
+ _t$l,
7191
+ _t2$j;
7191
7192
  class DecidablesSpinner extends DecidablesElement {
7192
7193
  static get properties() {
7193
7194
  return {
@@ -7234,7 +7235,7 @@
7234
7235
  }
7235
7236
 
7236
7237
  static get styles() {
7237
- return [super.styles, r$2(_t$j || (_t$j = _$j`
7238
+ return [super.styles, r$2(_t$l || (_t$l = _$l`
7238
7239
  :host {
7239
7240
  ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);
7240
7241
  ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);
@@ -7317,7 +7318,7 @@
7317
7318
  }
7318
7319
 
7319
7320
  render() {
7320
- return $(_t2$h || (_t2$h = _$j`
7321
+ return $(_t2$j || (_t2$j = _$l`
7321
7322
  <label>
7322
7323
  <slot></slot>
7323
7324
  <input ?disabled=${0} type="number" min=${0} max=${0} step=${0} .value=${0} @input=${0}>
@@ -7328,9 +7329,9 @@
7328
7329
  }
7329
7330
  customElements.define('decidables-spinner', DecidablesSpinner);
7330
7331
 
7331
- let _$i = t => t,
7332
- _t$i,
7333
- _t2$g;
7332
+ let _$k = t => t,
7333
+ _t$k,
7334
+ _t2$i;
7334
7335
  class DecidablesSwitch extends DecidablesElement {
7335
7336
  static get properties() {
7336
7337
  return {
@@ -7365,7 +7366,7 @@
7365
7366
  }
7366
7367
 
7367
7368
  static get styles() {
7368
- return [super.styles, r$2(_t$i || (_t$i = _$i`
7369
+ return [super.styles, r$2(_t$k || (_t$k = _$k`
7369
7370
  :host {
7370
7371
  display: flex;
7371
7372
 
@@ -7488,7 +7489,7 @@
7488
7489
  }
7489
7490
 
7490
7491
  render() {
7491
- return $(_t2$g || (_t2$g = _$i`
7492
+ return $(_t2$i || (_t2$i = _$k`
7492
7493
  <input type="checkbox" id="switch" ?checked=${0} ?disabled=${0} @change=${0}>
7493
7494
  <label for="switch">
7494
7495
  <slot name="off-label"></slot>
@@ -7502,9 +7503,9 @@
7502
7503
  }
7503
7504
  customElements.define('decidables-switch', DecidablesSwitch);
7504
7505
 
7505
- let _$h = t => t,
7506
- _t$h,
7507
- _t2$f;
7506
+ let _$j = t => t,
7507
+ _t$j,
7508
+ _t2$h;
7508
7509
  class DecidablesToggle extends DecidablesElement {
7509
7510
  static get properties() {
7510
7511
  return {
@@ -7523,7 +7524,7 @@
7523
7524
  }
7524
7525
 
7525
7526
  static get styles() {
7526
- return [super.styles, r$2(_t$h || (_t$h = _$h`
7527
+ return [super.styles, r$2(_t$j || (_t$j = _$j`
7527
7528
  fieldset {
7528
7529
  display: flex;
7529
7530
 
@@ -7544,7 +7545,7 @@
7544
7545
  }
7545
7546
 
7546
7547
  render() {
7547
- return $(_t2$f || (_t2$f = _$h`
7548
+ return $(_t2$h || (_t2$h = _$j`
7548
7549
  <fieldset ?disabled=${0}>
7549
7550
  <legend><slot name="label"></slot></legend>
7550
7551
  <slot></slot>
@@ -7555,9 +7556,9 @@
7555
7556
  }
7556
7557
  customElements.define('decidables-toggle', DecidablesToggle);
7557
7558
 
7558
- let _$g = t => t,
7559
- _t$g,
7560
- _t2$e;
7559
+ let _$i = t => t,
7560
+ _t$i,
7561
+ _t2$g;
7561
7562
  class DecidablesToggleOption extends DecidablesElement {
7562
7563
  static get properties() {
7563
7564
  return {
@@ -7605,7 +7606,7 @@
7605
7606
  }
7606
7607
 
7607
7608
  static get styles() {
7608
- return [super.styles, r$2(_t$g || (_t$g = _$g`
7609
+ return [super.styles, r$2(_t$i || (_t$i = _$i`
7609
7610
  :host {
7610
7611
  display: flex;
7611
7612
  }
@@ -7702,7 +7703,7 @@
7702
7703
  }
7703
7704
 
7704
7705
  render() {
7705
- return $(_t2$e || (_t2$e = _$g`
7706
+ return $(_t2$g || (_t2$g = _$i`
7706
7707
  <input type="radio" id="toggle-option" name=${0} value=${0} .checked=${0} @change=${0}>
7707
7708
  <label for="toggle-option">
7708
7709
  <slot></slot>
@@ -7713,6 +7714,23 @@
7713
7714
  }
7714
7715
  customElements.define('decidables-toggle-option', DecidablesToggleOption);
7715
7716
 
7717
+ /*
7718
+ Attribute: Space-separated sequence of numbers
7719
+ Property: Array of numbers
7720
+ */
7721
+ const DecidablesConverterArray = {
7722
+ fromAttribute: value => {
7723
+ return value.split(/\s+/).map(item => {
7724
+ return Number.parseFloat(item);
7725
+ });
7726
+ },
7727
+ toAttribute: value => {
7728
+ return value.length ? value.map(item => {
7729
+ return item.toFixed(3);
7730
+ }).join(' ') : null;
7731
+ }
7732
+ };
7733
+
7716
7734
  /*
7717
7735
  Attribute: Space-separated sequence of strings
7718
7736
  Property: Set of strings
@@ -7726,8 +7744,8 @@
7726
7744
  }
7727
7745
  };
7728
7746
 
7729
- let _$f = t => t,
7730
- _t$f;
7747
+ let _$h = t => t,
7748
+ _t$h;
7731
7749
  /*
7732
7750
  DetectableElement Base Class - Not intended for instantiation!
7733
7751
  <detectable-element>
@@ -7784,7 +7802,7 @@
7784
7802
  }
7785
7803
 
7786
7804
  static get styles() {
7787
- return [super.styles, r$2(_t$f || (_t$f = _$f`
7805
+ return [super.styles, r$2(_t$h || (_t$h = _$h`
7788
7806
  :host {
7789
7807
  ---color-h: var(--color-h, ${0});
7790
7808
  ---color-m: var(--color-m, ${0});
@@ -7839,9 +7857,9 @@
7839
7857
 
7840
7858
  }
7841
7859
 
7842
- let _$e = t => t,
7843
- _t$e,
7844
- _t2$d;
7860
+ let _$g = t => t,
7861
+ _t$g,
7862
+ _t2$f;
7845
7863
  /*
7846
7864
  RDKTask element
7847
7865
  <rdk-task>
@@ -7995,7 +8013,7 @@
7995
8013
  }
7996
8014
 
7997
8015
  static get styles() {
7998
- return [super.styles, r$2(_t$e || (_t$e = _$e`
8016
+ return [super.styles, r$2(_t$g || (_t$g = _$g`
7999
8017
  :host {
8000
8018
  display: inline-block;
8001
8019
 
@@ -8044,8 +8062,8 @@
8044
8062
  }
8045
8063
 
8046
8064
  render() {
8047
- // eslint-disable-line class-methods-use-this
8048
- return $(_t2$d || (_t2$d = _$e``));
8065
+ /* eslint-disable-line class-methods-use-this */
8066
+ return $(_t2$f || (_t2$f = _$g``));
8049
8067
  }
8050
8068
 
8051
8069
  getDimensions() {
@@ -13233,9 +13251,9 @@
13233
13251
 
13234
13252
  }
13235
13253
 
13236
- let _$d = t => t,
13237
- _t$d,
13238
- _t2$c;
13254
+ let _$f = t => t,
13255
+ _t$f,
13256
+ _t2$e;
13239
13257
  /*
13240
13258
  ROCSpace element
13241
13259
  <roc-space>
@@ -13455,7 +13473,7 @@
13455
13473
  }
13456
13474
 
13457
13475
  static get styles() {
13458
- return [super.styles, r$2(_t$d || (_t$d = _$d`
13476
+ return [super.styles, r$2(_t$f || (_t$f = _$f`
13459
13477
  :host {
13460
13478
  display: inline-block;
13461
13479
 
@@ -13591,8 +13609,8 @@
13591
13609
  }
13592
13610
 
13593
13611
  render() {
13594
- // eslint-disable-line class-methods-use-this
13595
- return $(_t2$c || (_t2$c = _$d`
13612
+ /* eslint-disable-line class-methods-use-this */
13613
+ return $(_t2$e || (_t2$e = _$f`
13596
13614
  ${0}
13597
13615
  `), DetectableElement.svgFilters);
13598
13616
  }
@@ -14132,14 +14150,14 @@
14132
14150
  }
14133
14151
  customElements.define('roc-space', ROCSpace);
14134
14152
 
14135
- let _$c = t => t,
14136
- _t$c,
14137
- _t2$b,
14138
- _t3$9,
14139
- _t4$9,
14140
- _t5$9,
14141
- _t6$9,
14142
- _t7$9,
14153
+ let _$e = t => t,
14154
+ _t$e,
14155
+ _t2$d,
14156
+ _t3$b,
14157
+ _t4$b,
14158
+ _t5$b,
14159
+ _t6$b,
14160
+ _t7$b,
14143
14161
  _t8$7,
14144
14162
  _t9$7,
14145
14163
  _t10$7,
@@ -14226,7 +14244,7 @@
14226
14244
  this.duration = undefined;
14227
14245
  this.coherence = undefined;
14228
14246
  this.payoff = undefined;
14229
- this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
14247
+ this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
14230
14248
  this.color = undefined;
14231
14249
  this.zRoc = undefined;
14232
14250
  this.run = false;
@@ -14326,7 +14344,7 @@
14326
14344
  }
14327
14345
 
14328
14346
  static get styles() {
14329
- return [super.styles, r$2(_t$c || (_t$c = _$c`
14347
+ return [super.styles, r$2(_t$e || (_t$e = _$e`
14330
14348
  :host {
14331
14349
  display: inline-block;
14332
14350
  }
@@ -14357,7 +14375,7 @@
14357
14375
  }
14358
14376
 
14359
14377
  render() {
14360
- return $(_t2$b || (_t2$b = _$c`
14378
+ return $(_t2$d || (_t2$d = _$e`
14361
14379
  <div class="holder">
14362
14380
  ${0}
14363
14381
  ${0}
@@ -14366,7 +14384,7 @@
14366
14384
  ${0}
14367
14385
  ${0}
14368
14386
  ${0}
14369
- </div>`), this.trials ? $(_t3$9 || (_t3$9 = _$c`<decidables-slider min="1" max="100" step="1" .value=${0} @change=${0} @input=${0}>Trials</decidables-slider>`), this.trials, this.setTrials.bind(this), this.setTrials.bind(this)) : $(_t4$9 || (_t4$9 = _$c``)), this.duration ? $(_t5$9 || (_t5$9 = _$c`<decidables-slider min="10" max="2000" step="10" .value=${0} @change=${0} @input=${0}>Duration</decidables-slider>`), this.duration, this.setDuration.bind(this), this.setDuration.bind(this)) : $(_t6$9 || (_t6$9 = _$c``)), this.coherence ? $(_t7$9 || (_t7$9 = _$c`<decidables-slider min="0" max="1" step=".01" .value=${0} @change=${0} @input=${0}>Coherence</decidables-slider>`), this.coherence, this.setCoherence.bind(this), this.setCoherence.bind(this)) : $(_t8$7 || (_t8$7 = _$c``)), this.payoff ? $(_t9$7 || (_t9$7 = _$c`<decidables-slider class="payoff" min="0" max="100" step="1" .value=${0} @change=${0} @input=${0}>Payoff</decidables-slider>`), this.payoff, this.setPayoff.bind(this), this.setPayoff.bind(this)) : $(_t10$7 || (_t10$7 = _$c``)), this.color !== undefined ? $(_t11$7 || (_t11$7 = _$c`
14387
+ </div>`), this.trials ? $(_t3$b || (_t3$b = _$e`<decidables-slider min="1" max="100" step="1" .value=${0} @change=${0} @input=${0}>Trials</decidables-slider>`), this.trials, this.setTrials.bind(this), this.setTrials.bind(this)) : $(_t4$b || (_t4$b = _$e``)), this.duration ? $(_t5$b || (_t5$b = _$e`<decidables-slider min="10" max="2000" step="10" .value=${0} @change=${0} @input=${0}>Duration</decidables-slider>`), this.duration, this.setDuration.bind(this), this.setDuration.bind(this)) : $(_t6$b || (_t6$b = _$e``)), this.coherence ? $(_t7$b || (_t7$b = _$e`<decidables-slider min="0" max="1" step=".01" .value=${0} @change=${0} @input=${0}>Coherence</decidables-slider>`), this.coherence, this.setCoherence.bind(this), this.setCoherence.bind(this)) : $(_t8$7 || (_t8$7 = _$e``)), this.payoff ? $(_t9$7 || (_t9$7 = _$e`<decidables-slider class="payoff" min="0" max="100" step="1" .value=${0} @change=${0} @input=${0}>Payoff</decidables-slider>`), this.payoff, this.setPayoff.bind(this), this.setPayoff.bind(this)) : $(_t10$7 || (_t10$7 = _$e``)), this.color !== undefined ? $(_t11$7 || (_t11$7 = _$e`
14370
14388
  <decidables-toggle @change=${0}>
14371
14389
  <span slot="label">Emphasis</span>
14372
14390
  <decidables-toggle-option name="toggle" value="none" ?checked=${0}>None</decidables-toggle-option>
@@ -14374,27 +14392,28 @@
14374
14392
  <decidables-toggle-option name="toggle" value="stimulus" ?checked=${0}>Stimulus</decidables-toggle-option>
14375
14393
  <decidables-toggle-option name="toggle" value="response" ?checked=${0}>Response</decidables-toggle-option>
14376
14394
  <decidables-toggle-option name="toggle" value="outcome" ?checked=${0}>Outcome</decidables-toggle-option>
14395
+ <decidables-toggle-option name="toggle" value="all" ?checked=${0}>All</decidables-toggle-option>
14377
14396
  </decidables-toggle>
14378
- `), this.chooseColor.bind(this), this.color === 'none', this.color === 'accuracy', this.color === 'stimulus', this.color === 'response', this.color === 'outcome') : $(_t12$2 || (_t12$2 = _$c``)), this.zRoc !== undefined ? $(_t13$2 || (_t13$2 = _$c`
14397
+ `), this.chooseColor.bind(this), this.color === 'none', this.color === 'accuracy', this.color === 'stimulus', this.color === 'response', this.color === 'outcome', this.color === 'all') : $(_t12$2 || (_t12$2 = _$e``)), this.zRoc !== undefined ? $(_t13$2 || (_t13$2 = _$e`
14379
14398
  <decidables-switch ?checked=${0} @change=${0}>
14380
14399
  <span class="math-var">z</span>ROC
14381
14400
  <span slot="off-label">ROC</span>
14382
14401
  </decidables-switch>
14383
- `), this.zRoc, this.flipZRoc.bind(this)) : $(_t14$2 || (_t14$2 = _$c``)), this.run || this.pause || this.reset ? $(_t15$2 || (_t15$2 = _$c`
14402
+ `), this.zRoc, this.flipZRoc.bind(this)) : $(_t14$2 || (_t14$2 = _$e``)), this.run || this.pause || this.reset ? $(_t15$2 || (_t15$2 = _$e`
14384
14403
  <div class="buttons">
14385
14404
  ${0}
14386
14405
  ${0}
14387
14406
  ${0}
14388
14407
  </div>
14389
- `), this.run ? $(_t16$2 || (_t16$2 = _$c`<decidables-button name="run" ?disabled=${0} @click=${0}>Run</decidables-button>`), this.state === 'running' || this.state === 'ended', this.doRun.bind(this)) : $(_t17$2 || (_t17$2 = _$c``)), this.pause ? $(_t18$2 || (_t18$2 = _$c`<decidables-button name="pause" ?disabled=${0} @click=${0}>Pause</decidables-button>`), this.state !== 'running', this.doPause.bind(this)) : $(_t19$2 || (_t19$2 = _$c``)), this.reset ? $(_t20$2 || (_t20$2 = _$c`<decidables-button name="reset" ?disabled=${0} @click=${0}>Reset</decidables-button>`), this.state === 'resetted', this.doReset.bind(this)) : $(_t21$1 || (_t21$1 = _$c``))) : $(_t22$1 || (_t22$1 = _$c``)));
14408
+ `), this.run ? $(_t16$2 || (_t16$2 = _$e`<decidables-button name="run" ?disabled=${0} @click=${0}>Run</decidables-button>`), this.state === 'running' || this.state === 'ended', this.doRun.bind(this)) : $(_t17$2 || (_t17$2 = _$e``)), this.pause ? $(_t18$2 || (_t18$2 = _$e`<decidables-button name="pause" ?disabled=${0} @click=${0}>Pause</decidables-button>`), this.state !== 'running', this.doPause.bind(this)) : $(_t19$2 || (_t19$2 = _$e``)), this.reset ? $(_t20$2 || (_t20$2 = _$e`<decidables-button name="reset" ?disabled=${0} @click=${0}>Reset</decidables-button>`), this.state === 'resetted', this.doReset.bind(this)) : $(_t21$1 || (_t21$1 = _$e``))) : $(_t22$1 || (_t22$1 = _$e``)));
14390
14409
  }
14391
14410
 
14392
14411
  }
14393
14412
  customElements.define('detectable-control', DetectableControl);
14394
14413
 
14395
- let _$b = t => t,
14396
- _t$b,
14397
- _t2$a;
14414
+ let _$d = t => t,
14415
+ _t$d,
14416
+ _t2$c;
14398
14417
  /*
14399
14418
  SDTModel element
14400
14419
  <sdt-model>
@@ -14631,7 +14650,7 @@
14631
14650
  }
14632
14651
 
14633
14652
  static get styles() {
14634
- return [super.styles, r$2(_t$b || (_t$b = _$b`
14653
+ return [super.styles, r$2(_t$d || (_t$d = _$d`
14635
14654
  :host {
14636
14655
  display: inline-block;
14637
14656
 
@@ -14877,8 +14896,8 @@
14877
14896
  }
14878
14897
 
14879
14898
  render() {
14880
- // eslint-disable-line class-methods-use-this
14881
- return $(_t2$a || (_t2$a = _$b`
14899
+ /* eslint-disable-line class-methods-use-this */
14900
+ return $(_t2$c || (_t2$c = _$d`
14882
14901
  ${0}
14883
14902
  `), DetectableElement.svgFilters);
14884
14903
  }
@@ -15023,7 +15042,8 @@
15023
15042
  datum.startMuS = this.muS;
15024
15043
  }).on('drag', (event, datum) => {
15025
15044
  this.drag = true;
15026
- let muS = this.muS; // eslint-disable-line prefer-destructuring
15045
+ let muS = this.muS;
15046
+ /* eslint-disable-line prefer-destructuring */
15027
15047
 
15028
15048
  if (this.interactive) {
15029
15049
  muS = xScale.invert(event.x); // Clamp Signal Curve to stay visible
@@ -15031,7 +15051,8 @@
15031
15051
  muS = muS < xScale.domain()[0] ? xScale.domain()[0] : muS > xScale.domain()[1] ? xScale.domain()[1] : muS;
15032
15052
  }
15033
15053
 
15034
- let hS = this.hS; // eslint-disable-line prefer-destructuring
15054
+ let hS = this.hS;
15055
+ /* eslint-disable-line prefer-destructuring */
15035
15056
 
15036
15057
  if (this.unequal) {
15037
15058
  hS = yScale.invert(event.y); // Clamp Signal Curve to stay visible
@@ -15162,7 +15183,8 @@
15162
15183
 
15163
15184
  const noiseMerge = signalNoiseMerge.selectAll('.noise').attr('tabindex', this.interactive ? 0 : null).classed('interactive', this.interactive).on('keydown', this.interactive ? event => {
15164
15185
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15165
- let muN = this.muN; // eslint-disable-line prefer-destructuring
15186
+ let muN = this.muN;
15187
+ /* eslint-disable-line prefer-destructuring */
15166
15188
 
15167
15189
  switch (event.key) {
15168
15190
  case 'ArrowRight':
@@ -15293,7 +15315,8 @@
15293
15315
 
15294
15316
  const signalMerge = signalNoiseMerge.selectAll('.signal').attr('tabindex', this.interactive || this.unequal ? 0 : null).classed('interactive', this.interactive).classed('unequal', this.unequal).on('keydown.sensitivity', this.interactive ? event => {
15295
15317
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15296
- let muS = this.muS; // eslint-disable-line prefer-destructuring
15318
+ let muS = this.muS;
15319
+ /* eslint-disable-line prefer-destructuring */
15297
15320
 
15298
15321
  switch (event.key) {
15299
15322
  case 'ArrowRight':
@@ -15318,7 +15341,8 @@
15318
15341
  }
15319
15342
  } : null).on('keydown.variance', this.unequal ? event => {
15320
15343
  if (['ArrowUp', 'ArrowDown'].includes(event.key)) {
15321
- let hS = this.hS; // eslint-disable-line prefer-destructuring
15344
+ let hS = this.hS;
15345
+ /* eslint-disable-line prefer-destructuring */
15322
15346
 
15323
15347
  switch (event.key) {
15324
15348
  case 'ArrowUp':
@@ -15475,7 +15499,7 @@
15475
15499
  const interpolateD = interpolate$1(element.d !== undefined ? element.d : this.d, this.d);
15476
15500
  return time => {
15477
15501
  element.d = interpolateD(time);
15478
- select(element).text(+element.d.toFixed(3));
15502
+ select(element).text(format('.3')(element.d));
15479
15503
  };
15480
15504
  }); // EXIT
15481
15505
 
@@ -15506,7 +15530,7 @@
15506
15530
  const interpolateC = interpolate$1(element.c !== undefined ? element.c : this.c, this.c);
15507
15531
  return time => {
15508
15532
  element.c = interpolateC(time);
15509
- select(element).text(+element.c.toFixed(3));
15533
+ select(element).text(format('.3')(element.c));
15510
15534
  };
15511
15535
  }); // EXIT
15512
15536
 
@@ -15541,7 +15565,7 @@
15541
15565
  const interpolateS = interpolate$1(element.s !== undefined ? element.s : this.s, this.s);
15542
15566
  return time => {
15543
15567
  element.s = interpolateS(time);
15544
- select(element).text(+element.s.toFixed(3));
15568
+ select(element).text(format('.3')(element.s));
15545
15569
  };
15546
15570
  }); // EXIT
15547
15571
 
@@ -15560,7 +15584,8 @@
15560
15584
  if (this.interactive) {
15561
15585
  thresholdMerge.call(dragThreshold).on('keydown', event => {
15562
15586
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15563
- let l = this.l; // eslint-disable-line prefer-destructuring
15587
+ let l = this.l;
15588
+ /* eslint-disable-line prefer-destructuring */
15564
15589
 
15565
15590
  switch (event.key) {
15566
15591
  case 'ArrowRight':
@@ -15810,14 +15835,14 @@
15810
15835
  }
15811
15836
  customElements.define('sdt-model', SDTModel);
15812
15837
 
15813
- let _$a = t => t,
15814
- _t$a,
15815
- _t2$9,
15816
- _t3$8,
15817
- _t4$8,
15818
- _t5$8,
15819
- _t6$8,
15820
- _t7$8,
15838
+ let _$c = t => t,
15839
+ _t$c,
15840
+ _t2$b,
15841
+ _t3$a,
15842
+ _t4$a,
15843
+ _t5$a,
15844
+ _t6$a,
15845
+ _t7$a,
15821
15846
  _t8$6,
15822
15847
  _t9$6,
15823
15848
  _t10$6,
@@ -16077,7 +16102,7 @@
16077
16102
  }
16078
16103
 
16079
16104
  static get styles() {
16080
- return [super.styles, r$2(_t$a || (_t$a = _$a`
16105
+ return [super.styles, r$2(_t$c || (_t$c = _$c`
16081
16106
  :host {
16082
16107
  display: inline-block;
16083
16108
  }
@@ -16149,6 +16174,11 @@
16149
16174
  border: 1px solid var(---color-element-border);
16150
16175
  }
16151
16176
 
16177
+ :host([payoff="trial"]) .feedback,
16178
+ :host([payoff="total"]) .feedback {
16179
+ height: 5rem;
16180
+ }
16181
+
16152
16182
  .feedback.h {
16153
16183
  background-color: var(---color-h-light);
16154
16184
  }
@@ -16184,59 +16214,76 @@
16184
16214
  line-height: 1.15;
16185
16215
  }
16186
16216
 
16187
- :host([payoff="trial"]) .feedback,
16188
- :host([payoff="total"]) .feedback {
16189
- height: 4rem;
16190
- }
16191
-
16192
16217
  /* Payoff feedback */
16193
- .payoff {
16218
+ .total {
16194
16219
  text-align: center;
16195
16220
  }
16196
16221
 
16197
- .payoff .label {
16222
+ .total .label {
16198
16223
  font-weight: 600;
16199
16224
  }
16200
16225
  `))];
16201
16226
  }
16202
16227
 
16203
16228
  render() {
16204
- return $(_t2$9 || (_t2$9 = _$a`
16229
+ const payoffFormatter = new Intl.NumberFormat('en-US', {
16230
+ style: 'currency',
16231
+ currency: 'USD',
16232
+ minimumFractionDigits: 0,
16233
+ maximumFractionDigits: 0
16234
+ });
16235
+
16236
+ const payoffFormat = number => {
16237
+ return payoffFormatter.formatToParts(number).map(({
16238
+ type,
16239
+ value
16240
+ }) => {
16241
+ if (type === 'minusSign') {
16242
+ return '−';
16243
+ }
16244
+
16245
+ return value;
16246
+ }).reduce((string, part) => {
16247
+ return string + part;
16248
+ });
16249
+ };
16250
+
16251
+ return $(_t2$b || (_t2$b = _$c`
16205
16252
  <div class="holder">
16206
16253
  <div class="responses">
16207
16254
  <decidables-button name="present" class=${0} ?disabled=${0} @click=${0}>Present</decidables-button>
16208
16255
  <decidables-button name="absent" class=${0} ?disabled=${0} @click=${0}>Absent</decidables-button>
16209
16256
  </div>
16210
16257
  ${0}
16211
- </div>`), this.state === 'feedback' && this.response === 'present' ? 'selected' : this.state === 'waiting' ? 'waiting' : '', this.state !== 'waiting' || this.interactive !== true, this.present.bind(this), this.state === 'feedback' && this.response === 'absent' ? 'selected' : this.state === 'waiting' ? 'waiting' : '', this.state !== 'waiting' || this.interactive !== true, this.absent.bind(this), this.trial || this.feedback !== 'none' || this.payoff === 'total' ? $(_t3$8 || (_t3$8 = _$a`
16258
+ </div>`), this.state === 'feedback' && this.response === 'present' ? 'selected' : this.state === 'waiting' ? 'waiting' : '', this.state !== 'waiting' || this.interactive !== true, this.present.bind(this), this.state === 'feedback' && this.response === 'absent' ? 'selected' : this.state === 'waiting' ? 'waiting' : '', this.state !== 'waiting' || this.interactive !== true, this.absent.bind(this), this.trial || this.feedback !== 'none' || this.payoff === 'total' ? $(_t3$a || (_t3$a = _$c`
16212
16259
  <div class="feedbacks">
16213
16260
  ${0}
16214
16261
  ${0}
16215
16262
  ${0}
16216
- </div>`), this.trial ? $(_t4$8 || (_t4$8 = _$a`
16263
+ </div>`), this.trial ? $(_t4$a || (_t4$a = _$c`
16217
16264
  <div class="trial">
16218
16265
  <span class="label">Trial: </span><span class="count">${0}</span><span class="of"> of </span><span class="total">${0}</span>
16219
- </div>`), this.trialCount, this.trialTotal) : $(_t5$8 || (_t5$8 = _$a``)), this.feedback !== 'none' ? $(_t6$8 || (_t6$8 = _$a`
16266
+ </div>`), this.trialCount, this.trialTotal) : $(_t5$a || (_t5$a = _$c``)), this.feedback !== 'none' ? $(_t6$a || (_t6$a = _$c`
16220
16267
  <div class=${0}>
16221
16268
  ${0}
16222
16269
  ${0}
16223
- </div>`), `feedback ${this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome : this.accuracy : ''}`, this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome === 'h' ? $(_t7$8 || (_t7$8 = _$a`<span class="outcome">Hit</span>`)) : this.outcome === 'm' ? $(_t8$6 || (_t8$6 = _$a`<span class="outcome">Miss</span>`)) : this.outcome === 'fa' ? $(_t9$6 || (_t9$6 = _$a`<span class="outcome">False<br>Alarm</span>`)) : this.outcome === 'cr' ? $(_t10$6 || (_t10$6 = _$a`<span class="outcome">Correct<br>Rejection</span>`)) : $(_t11$6 || (_t11$6 = _$a`<span class="outcome">No<br>Response</span>`)) : this.accuracy === 'c' ? $(_t12$1 || (_t12$1 = _$a`<span class="outcome">Correct</span>`)) : this.accuracy === 'e' ? $(_t13$1 || (_t13$1 = _$a`<span class="outcome">Error</span>`)) : $(_t14$1 || (_t14$1 = _$a`<span class="outcome">No<br>Response</span>`)) : '', this.payoff === 'trial' || this.payoff === 'total' ? $(_t15$1 || (_t15$1 = _$a`<span class="payoff">${0}</span>`), this.trialPayoff) : $(_t16$1 || (_t16$1 = _$a``))) : $(_t17$1 || (_t17$1 = _$a``)), this.payoff === 'total' ? $(_t18$1 || (_t18$1 = _$a`
16224
- <div class="payoff">
16270
+ </div>`), `feedback ${this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome : this.accuracy : ''}`, this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome === 'h' ? $(_t7$a || (_t7$a = _$c`<span class="outcome">Hit</span>`)) : this.outcome === 'm' ? $(_t8$6 || (_t8$6 = _$c`<span class="outcome">Miss</span>`)) : this.outcome === 'fa' ? $(_t9$6 || (_t9$6 = _$c`<span class="outcome">False<br>Alarm</span>`)) : this.outcome === 'cr' ? $(_t10$6 || (_t10$6 = _$c`<span class="outcome">Correct<br>Rejection</span>`)) : $(_t11$6 || (_t11$6 = _$c`<span class="outcome">No<br>Response</span>`)) : this.accuracy === 'c' ? $(_t12$1 || (_t12$1 = _$c`<span class="outcome">Correct</span>`)) : this.accuracy === 'e' ? $(_t13$1 || (_t13$1 = _$c`<span class="outcome">Error</span>`)) : $(_t14$1 || (_t14$1 = _$c`<span class="outcome">No<br>Response</span>`)) : '', this.state === 'feedback' && (this.payoff === 'trial' || this.payoff === 'total') ? $(_t15$1 || (_t15$1 = _$c`<span class="payoff">${0}</span>`), payoffFormat(this.trialPayoff)) : $(_t16$1 || (_t16$1 = _$c``))) : $(_t17$1 || (_t17$1 = _$c``)), this.payoff === 'total' ? $(_t18$1 || (_t18$1 = _$c`
16271
+ <div class="total">
16225
16272
  <span class="label">Total: </span><span class="value">${0}</span>
16226
- </div>`), this.totalPayoff) : $(_t19$1 || (_t19$1 = _$a``))) : $(_t20$1 || (_t20$1 = _$a``)));
16273
+ </div>`), payoffFormat(this.totalPayoff)) : $(_t19$1 || (_t19$1 = _$c``))) : $(_t20$1 || (_t20$1 = _$c``)));
16227
16274
  }
16228
16275
 
16229
16276
  }
16230
16277
  customElements.define('detectable-response', DetectableResponse);
16231
16278
 
16232
- let _$9 = t => t,
16233
- _t$9,
16234
- _t2$8,
16235
- _t3$7,
16236
- _t4$7,
16237
- _t5$7,
16238
- _t6$7,
16239
- _t7$7,
16279
+ let _$b = t => t,
16280
+ _t$b,
16281
+ _t2$a,
16282
+ _t3$9,
16283
+ _t4$9,
16284
+ _t5$9,
16285
+ _t6$9,
16286
+ _t7$9,
16240
16287
  _t8$5,
16241
16288
  _t9$5,
16242
16289
  _t10$5,
@@ -16383,8 +16430,8 @@
16383
16430
  this.numeric = false;
16384
16431
  this.summaries = ['stimulusRates', 'responseRates', 'accuracy'];
16385
16432
  this.summary = new Set();
16386
- this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
16387
- this.color = 'outcome';
16433
+ this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
16434
+ this.color = 'all';
16388
16435
  this.h = 40;
16389
16436
  this.m = 60;
16390
16437
  this.fa = 75;
@@ -16523,7 +16570,7 @@
16523
16570
  }
16524
16571
 
16525
16572
  static get styles() {
16526
- return [super.styles, r$2(_t$9 || (_t$9 = _$9`
16573
+ return [super.styles, r$2(_t$b || (_t$b = _$b`
16527
16574
  :host {
16528
16575
  display: inline-block;
16529
16576
  }
@@ -16586,7 +16633,7 @@
16586
16633
 
16587
16634
  /* Color schemes & Table emphasis */
16588
16635
 
16589
- /* (Default) Outcome color scheme */
16636
+ /* (Default) All color scheme */
16590
16637
  .h {
16591
16638
  background: var(---color-h-light);
16592
16639
  border-top: 2px solid var(---color-element-emphasis);
@@ -16685,6 +16732,15 @@
16685
16732
  background: var(---color-element-background);
16686
16733
  }
16687
16734
 
16735
+ /* Outcome color scheme */
16736
+ :host([color="outcome"]) .hr,
16737
+ :host([color="outcome"]) .far,
16738
+ :host([color="outcome"]) .ppv,
16739
+ :host([color="outcome"]) .fomr,
16740
+ :host([color="outcome"]) .acc {
16741
+ background: var(---color-element-background);
16742
+ }
16743
+
16688
16744
  /* No color scheme */
16689
16745
  :host([color="none"]) .cr,
16690
16746
  :host([color="none"]) .fa,
@@ -16707,6 +16763,22 @@
16707
16763
  minimumFractionDigits: 0,
16708
16764
  maximumFractionDigits: 0
16709
16765
  });
16766
+
16767
+ const payoffFormat = number => {
16768
+ return payoffFormatter.formatToParts(number).map(({
16769
+ type,
16770
+ value
16771
+ }) => {
16772
+ if (type === 'minusSign') {
16773
+ return '−';
16774
+ }
16775
+
16776
+ return value;
16777
+ }).reduce((string, part) => {
16778
+ return string + part;
16779
+ });
16780
+ };
16781
+
16710
16782
  this.alignState();
16711
16783
  let h;
16712
16784
  let m;
@@ -16719,72 +16791,72 @@
16719
16791
  let fomr;
16720
16792
 
16721
16793
  if (this.numeric) {
16722
- h = $(_t2$8 || (_t2$8 = _$9`
16794
+ h = $(_t2$a || (_t2$a = _$b`
16723
16795
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16724
16796
  <span>Hits</span>
16725
16797
  ${0}
16726
16798
  </decidables-spinner>
16727
- `), !this.interactive, this.h, this.hInput.bind(this), this.payoff ? $(_t3$7 || (_t3$7 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.hPayoff)) : $(_t4$7 || (_t4$7 = _$9``)));
16728
- m = $(_t5$7 || (_t5$7 = _$9`
16799
+ `), !this.interactive, this.h, this.hInput.bind(this), this.payoff ? $(_t3$9 || (_t3$9 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.hPayoff)) : $(_t4$9 || (_t4$9 = _$b``)));
16800
+ m = $(_t5$9 || (_t5$9 = _$b`
16729
16801
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16730
16802
  <span>Misses</span>
16731
16803
  ${0}
16732
16804
  </decidables-spinner>
16733
- `), !this.interactive, this.m, this.mInput.bind(this), this.payoff ? $(_t6$7 || (_t6$7 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.mPayoff)) : $(_t7$7 || (_t7$7 = _$9``)));
16734
- fa = $(_t8$5 || (_t8$5 = _$9`
16805
+ `), !this.interactive, this.m, this.mInput.bind(this), this.payoff ? $(_t6$9 || (_t6$9 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.mPayoff)) : $(_t7$9 || (_t7$9 = _$b``)));
16806
+ fa = $(_t8$5 || (_t8$5 = _$b`
16735
16807
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16736
16808
  <span>False Alarms</span>
16737
16809
  ${0}
16738
16810
  </decidables-spinner>
16739
- `), !this.interactive, this.fa, this.faInput.bind(this), this.payoff ? $(_t9$5 || (_t9$5 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.faPayoff)) : $(_t10$5 || (_t10$5 = _$9``)));
16740
- cr = $(_t11$5 || (_t11$5 = _$9`
16811
+ `), !this.interactive, this.fa, this.faInput.bind(this), this.payoff ? $(_t9$5 || (_t9$5 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.faPayoff)) : $(_t10$5 || (_t10$5 = _$b``)));
16812
+ cr = $(_t11$5 || (_t11$5 = _$b`
16741
16813
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16742
16814
  <span>Correct Rejections</span>
16743
16815
  ${0}
16744
16816
  </decidables-spinner>
16745
- `), !this.interactive, this.cr, this.crInput.bind(this), this.payoff ? $(_t12 || (_t12 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.crPayoff)) : $(_t13 || (_t13 = _$9``)));
16746
- hr = $(_t14 || (_t14 = _$9`
16817
+ `), !this.interactive, this.cr, this.crInput.bind(this), this.payoff ? $(_t12 || (_t12 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.crPayoff)) : $(_t13 || (_t13 = _$b``)));
16818
+ hr = $(_t14 || (_t14 = _$b`
16747
16819
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16748
16820
  <span>Hit Rate</span>
16749
16821
  </decidables-spinner>
16750
16822
  `), !this.interactive, +this.hr.toFixed(3), this.hrInput.bind(this));
16751
- far = $(_t15 || (_t15 = _$9`
16823
+ far = $(_t15 || (_t15 = _$b`
16752
16824
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16753
16825
  <span>False Alarm Rate</span>
16754
16826
  </decidables-spinner>
16755
16827
  `), !this.interactive, +this.far.toFixed(3), this.farInput.bind(this));
16756
- acc = $(_t16 || (_t16 = _$9`
16828
+ acc = $(_t16 || (_t16 = _$b`
16757
16829
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16758
16830
  <span>Accuracy</span>
16759
16831
  </decidables-spinner>
16760
16832
  `), !this.interactive, +this.acc.toFixed(3), this.accInput.bind(this));
16761
- ppv = $(_t17 || (_t17 = _$9`
16833
+ ppv = $(_t17 || (_t17 = _$b`
16762
16834
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16763
16835
  <span>Positive Predictive Value</span>
16764
16836
  </decidables-spinner>
16765
16837
  `), !this.interactive, +this.ppv.toFixed(3), this.ppvInput.bind(this));
16766
- fomr = $(_t18 || (_t18 = _$9`
16838
+ fomr = $(_t18 || (_t18 = _$b`
16767
16839
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16768
16840
  <span>False Omission Rate</span>
16769
16841
  </decidables-spinner>
16770
16842
  `), !this.interactive, +this.fomr.toFixed(3), this.fomrInput.bind(this));
16771
16843
  } else {
16772
- h = $(_t19 || (_t19 = _$9`<span>Hits</span>
16773
- ${0}`), this.payoff ? $(_t20 || (_t20 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.hPayoff)) : $(_t21 || (_t21 = _$9``)));
16774
- m = $(_t22 || (_t22 = _$9`<span>Misses</span>
16775
- ${0}`), this.payoff ? $(_t23 || (_t23 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.mPayoff)) : $(_t24 || (_t24 = _$9``)));
16776
- fa = $(_t25 || (_t25 = _$9`<span>False Alarms</span>
16777
- ${0}`), this.payoff ? $(_t26 || (_t26 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.faPayoff)) : $(_t27 || (_t27 = _$9``)));
16778
- cr = $(_t28 || (_t28 = _$9`<span>Correct Rejections</span>
16779
- ${0}`), this.payoff ? $(_t29 || (_t29 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.crPayoff)) : $(_t30 || (_t30 = _$9``)));
16780
- hr = $(_t31 || (_t31 = _$9`<span>Hit Rate</span>`));
16781
- far = $(_t32 || (_t32 = _$9`<span>False Alarm Rate</span>`));
16782
- acc = $(_t33 || (_t33 = _$9`<span>Accuracy</span>`));
16783
- ppv = $(_t34 || (_t34 = _$9`<span>Positive Predictive Value</span>`));
16784
- fomr = $(_t35 || (_t35 = _$9`<span>False Omission Rate</span>`));
16844
+ h = $(_t19 || (_t19 = _$b`<span>Hits</span>
16845
+ ${0}`), this.payoff ? $(_t20 || (_t20 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.hPayoff)) : $(_t21 || (_t21 = _$b``)));
16846
+ m = $(_t22 || (_t22 = _$b`<span>Misses</span>
16847
+ ${0}`), this.payoff ? $(_t23 || (_t23 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.mPayoff)) : $(_t24 || (_t24 = _$b``)));
16848
+ fa = $(_t25 || (_t25 = _$b`<span>False Alarms</span>
16849
+ ${0}`), this.payoff ? $(_t26 || (_t26 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.faPayoff)) : $(_t27 || (_t27 = _$b``)));
16850
+ cr = $(_t28 || (_t28 = _$b`<span>Correct Rejections</span>
16851
+ ${0}`), this.payoff ? $(_t29 || (_t29 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.crPayoff)) : $(_t30 || (_t30 = _$b``)));
16852
+ hr = $(_t31 || (_t31 = _$b`<span>Hit Rate</span>`));
16853
+ far = $(_t32 || (_t32 = _$b`<span>False Alarm Rate</span>`));
16854
+ acc = $(_t33 || (_t33 = _$b`<span>Accuracy</span>`));
16855
+ ppv = $(_t34 || (_t34 = _$b`<span>Positive Predictive Value</span>`));
16856
+ fomr = $(_t35 || (_t35 = _$b`<span>False Omission Rate</span>`));
16785
16857
  }
16786
16858
 
16787
- return $(_t36 || (_t36 = _$9`
16859
+ return $(_t36 || (_t36 = _$b`
16788
16860
  <table class=${0}>
16789
16861
  <thead>
16790
16862
  <tr>
@@ -16832,35 +16904,35 @@
16832
16904
  </tr>
16833
16905
  ${0}
16834
16906
  </tbody>
16835
- </table>`), this.numeric ? 'numeric' : '', h, m, this.summary.has('stimulusRates') ? $(_t37 || (_t37 = _$9`
16907
+ </table>`), this.numeric ? 'numeric' : '', h, m, this.summary.has('stimulusRates') ? $(_t37 || (_t37 = _$b`
16836
16908
  <td class="td td-summary hr">
16837
16909
  ${0}
16838
- </td>`), hr) : $(_t38 || (_t38 = _$9``)), fa, cr, this.summary.has('stimulusRates') ? $(_t39 || (_t39 = _$9`
16910
+ </td>`), hr) : $(_t38 || (_t38 = _$b``)), fa, cr, this.summary.has('stimulusRates') ? $(_t39 || (_t39 = _$b`
16839
16911
  <td class="td td-summary far">
16840
16912
  ${0}
16841
- </td>`), far) : $(_t40 || (_t40 = _$9``)), this.summary.has('responseRates') || this.summary.has('accuracy') ? $(_t41 || (_t41 = _$9`
16913
+ </td>`), far) : $(_t40 || (_t40 = _$b``)), this.summary.has('responseRates') || this.summary.has('accuracy') ? $(_t41 || (_t41 = _$b`
16842
16914
  <tr>
16843
16915
  <td colspan="2"></td>
16844
16916
  ${0}
16845
16917
  ${0}
16846
- </tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$9`
16918
+ </tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$b`
16847
16919
  <td class="td td-summary ppv">
16848
16920
  ${0}
16849
16921
  </td>
16850
16922
  <td class="td td-summary fomr">
16851
16923
  ${0}
16852
- </td>`), ppv, fomr) : $(_t43 || (_t43 = _$9`
16853
- <td colspan="2"></td>`)), this.summary.has('accuracy') ? $(_t44 || (_t44 = _$9`
16924
+ </td>`), ppv, fomr) : $(_t43 || (_t43 = _$b`
16925
+ <td colspan="2"></td>`)), this.summary.has('accuracy') ? $(_t44 || (_t44 = _$b`
16854
16926
  <td class="td td-summary acc" rowspan="2">
16855
16927
  ${0}
16856
- </td>`), acc) : $(_t45 || (_t45 = _$9``))) : $(_t46 || (_t46 = _$9``)));
16928
+ </td>`), acc) : $(_t45 || (_t45 = _$b``))) : $(_t46 || (_t46 = _$b``)));
16857
16929
  }
16858
16930
 
16859
16931
  }
16860
16932
  customElements.define('detectable-table', DetectableTable);
16861
16933
 
16862
- let _$8 = t => t,
16863
- _t$8;
16934
+ let _$a = t => t,
16935
+ _t$a;
16864
16936
  /*
16865
16937
  SDTEquation Base Class - Not intended for instantiation!
16866
16938
  <sdt-equation>
@@ -16883,7 +16955,7 @@
16883
16955
  }
16884
16956
 
16885
16957
  static get styles() {
16886
- return [super.styles, r$2(_t$8 || (_t$8 = _$8`
16958
+ return [super.styles, r$2(_t$a || (_t$a = _$a`
16887
16959
  :host {
16888
16960
  display: block;
16889
16961
 
@@ -16902,6 +16974,7 @@
16902
16974
  /* Overall <table> */
16903
16975
  .equation {
16904
16976
  text-align: center;
16977
+ white-space: nowrap;
16905
16978
 
16906
16979
  border-collapse: collapse;
16907
16980
 
@@ -16975,6 +17048,14 @@
16975
17048
  background: var(---color-fa-light);
16976
17049
  }
16977
17050
 
17051
+ .ppv {
17052
+ background: var(---color-present-light);
17053
+ }
17054
+
17055
+ .fomr {
17056
+ background: var(---color-absent-light);
17057
+ }
17058
+
16978
17059
  .acc {
16979
17060
  background: var(---color-acc-light);
16980
17061
  }
@@ -17003,14 +17084,14 @@
17003
17084
 
17004
17085
  }
17005
17086
 
17006
- let _$7 = t => t,
17007
- _t$7,
17008
- _t2$7,
17009
- _t3$6,
17010
- _t4$6,
17011
- _t5$6,
17012
- _t6$6,
17013
- _t7$6,
17087
+ let _$9 = t => t,
17088
+ _t$9,
17089
+ _t2$9,
17090
+ _t3$8,
17091
+ _t4$8,
17092
+ _t5$8,
17093
+ _t6$8,
17094
+ _t7$8,
17014
17095
  _t8$4,
17015
17096
  _t9$4,
17016
17097
  _t10$4,
@@ -17105,37 +17186,37 @@
17105
17186
  let far;
17106
17187
 
17107
17188
  if (this.numeric) {
17108
- d = $(_t$7 || (_t$7 = _$7`
17189
+ d = $(_t$9 || (_t$9 = _$9`
17109
17190
  <decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17110
17191
  <var class="math-var">d′</var>
17111
17192
  </decidables-spinner>
17112
17193
  `), !this.interactive, this.d, this.dInput.bind(this));
17113
- c = $(_t2$7 || (_t2$7 = _$7`
17194
+ c = $(_t2$9 || (_t2$9 = _$9`
17114
17195
  <decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17115
17196
  <var class="math-var">c</var>
17116
17197
  </decidables-spinner>
17117
17198
  `), !this.interactive, this.c, this.cInput.bind(this));
17118
- s = $(_t3$6 || (_t3$6 = _$7`
17199
+ s = $(_t3$8 || (_t3$8 = _$9`
17119
17200
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17120
17201
  <var class="math-var">σ</var>
17121
17202
  </decidables-spinner>
17122
17203
  `), !this.interactive, this.s, this.sInput.bind(this));
17123
- far = $(_t4$6 || (_t4$6 = _$7`
17204
+ far = $(_t4$8 || (_t4$8 = _$9`
17124
17205
  <decidables-spinner class="far bottom" disabled min="0" max="1" step=".001" .value="${0}">
17125
17206
  <var>False Alarm Rate</var>
17126
17207
  </decidables-spinner>
17127
17208
  `), +this.far.toFixed(3));
17128
17209
  } else {
17129
- d = $(_t5$6 || (_t5$6 = _$7`<var class="math-var d">d′</var>`));
17130
- c = $(_t6$6 || (_t6$6 = _$7`<var class="math-var c">c</var>`));
17131
- s = $(_t7$6 || (_t7$6 = _$7`<var class="math-var s">σ</var>`));
17132
- far = $(_t8$4 || (_t8$4 = _$7`<var class="far">False Alarm Rate</var>`));
17210
+ d = $(_t5$8 || (_t5$8 = _$9`<var class="math-var d">d′</var>`));
17211
+ c = $(_t6$8 || (_t6$8 = _$9`<var class="math-var c">c</var>`));
17212
+ s = $(_t7$8 || (_t7$8 = _$9`<var class="math-var s">σ</var>`));
17213
+ far = $(_t8$4 || (_t8$4 = _$9`<var class="far">False Alarm Rate</var>`));
17133
17214
  }
17134
17215
 
17135
17216
  let equation;
17136
17217
 
17137
17218
  if (this.unequal) {
17138
- equation = $(_t9$4 || (_t9$4 = _$7`
17219
+ equation = $(_t9$4 || (_t9$4 = _$9`
17139
17220
  <tr>
17140
17221
  <td rowspan="2">
17141
17222
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
@@ -17162,7 +17243,7 @@
17162
17243
  </td>
17163
17244
  </tr>`), far, s, d, c, s);
17164
17245
  } else {
17165
- equation = $(_t10$4 || (_t10$4 = _$7`
17246
+ equation = $(_t10$4 || (_t10$4 = _$9`
17166
17247
  <tr>
17167
17248
  <td rowspan="2">
17168
17249
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="minus tight">−</span>
@@ -17181,7 +17262,7 @@
17181
17262
  </tr>`), far, d, c);
17182
17263
  }
17183
17264
 
17184
- return $(_t11$4 || (_t11$4 = _$7`
17265
+ return $(_t11$4 || (_t11$4 = _$9`
17185
17266
  <div class="holder">
17186
17267
  <table class="equation">
17187
17268
  <tbody>
@@ -17194,14 +17275,14 @@
17194
17275
  }
17195
17276
  customElements.define('sdt-equation-dc2far', SDTEquationDC2Far);
17196
17277
 
17197
- let _$6 = t => t,
17198
- _t$6,
17199
- _t2$6,
17200
- _t3$5,
17201
- _t4$5,
17202
- _t5$5,
17203
- _t6$5,
17204
- _t7$5,
17278
+ let _$8 = t => t,
17279
+ _t$8,
17280
+ _t2$8,
17281
+ _t3$7,
17282
+ _t4$7,
17283
+ _t5$7,
17284
+ _t6$7,
17285
+ _t7$7,
17205
17286
  _t8$3,
17206
17287
  _t9$3,
17207
17288
  _t10$3,
@@ -17296,37 +17377,37 @@
17296
17377
  let hr;
17297
17378
 
17298
17379
  if (this.numeric) {
17299
- d = $(_t$6 || (_t$6 = _$6`
17380
+ d = $(_t$8 || (_t$8 = _$8`
17300
17381
  <decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17301
17382
  <var class="math-var">d′</var>
17302
17383
  </decidables-spinner>
17303
17384
  `), !this.interactive, this.d, this.dInput.bind(this));
17304
- c = $(_t2$6 || (_t2$6 = _$6`
17385
+ c = $(_t2$8 || (_t2$8 = _$8`
17305
17386
  <decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17306
17387
  <var class="math-var">c</var>
17307
17388
  </decidables-spinner>
17308
17389
  `), !this.interactive, this.c, this.cInput.bind(this));
17309
- s = $(_t3$5 || (_t3$5 = _$6`
17390
+ s = $(_t3$7 || (_t3$7 = _$8`
17310
17391
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17311
17392
  <var class="math-var">σ</var>
17312
17393
  </decidables-spinner>
17313
17394
  `), !this.interactive, this.s, this.sInput.bind(this));
17314
- hr = $(_t4$5 || (_t4$5 = _$6`
17395
+ hr = $(_t4$7 || (_t4$7 = _$8`
17315
17396
  <decidables-spinner class="hr bottom" disabled min="0" max="1" step=".001" .value="${0}">
17316
17397
  <var>Hit Rate</var>
17317
17398
  </decidables-spinner>
17318
17399
  `), +this.hr.toFixed(3));
17319
17400
  } else {
17320
- d = $(_t5$5 || (_t5$5 = _$6`<var class="math-var d">d′</var>`));
17321
- c = $(_t6$5 || (_t6$5 = _$6`<var class="math-var c">c</var>`));
17322
- s = $(_t7$5 || (_t7$5 = _$6`<var class="math-var s">σ</var>`));
17323
- hr = $(_t8$3 || (_t8$3 = _$6`<var class="hr">Hit Rate</var>`));
17401
+ d = $(_t5$7 || (_t5$7 = _$8`<var class="math-var d">d′</var>`));
17402
+ c = $(_t6$7 || (_t6$7 = _$8`<var class="math-var c">c</var>`));
17403
+ s = $(_t7$7 || (_t7$7 = _$8`<var class="math-var s">σ</var>`));
17404
+ hr = $(_t8$3 || (_t8$3 = _$8`<var class="hr">Hit Rate</var>`));
17324
17405
  }
17325
17406
 
17326
17407
  let equation;
17327
17408
 
17328
17409
  if (this.unequal) {
17329
- equation = $(_t9$3 || (_t9$3 = _$6`
17410
+ equation = $(_t9$3 || (_t9$3 = _$8`
17330
17411
  <tr>
17331
17412
  <td rowspan="2">
17332
17413
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
@@ -17362,7 +17443,7 @@
17362
17443
  </td>
17363
17444
  </tr>`), hr, s, d, c, s, s);
17364
17445
  } else {
17365
- equation = $(_t10$3 || (_t10$3 = _$6`
17446
+ equation = $(_t10$3 || (_t10$3 = _$8`
17366
17447
  <tr>
17367
17448
  <td rowspan="2">
17368
17449
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span>
@@ -17381,7 +17462,7 @@
17381
17462
  </tr>`), hr, d, c);
17382
17463
  }
17383
17464
 
17384
- return $(_t11$3 || (_t11$3 = _$6`
17465
+ return $(_t11$3 || (_t11$3 = _$8`
17385
17466
  <div class="holder">
17386
17467
  <table class="equation">
17387
17468
  <tbody>
@@ -17394,14 +17475,14 @@
17394
17475
  }
17395
17476
  customElements.define('sdt-equation-dc2hr', SDTEquationDC2Hr);
17396
17477
 
17397
- let _$5 = t => t,
17398
- _t$5,
17399
- _t2$5,
17400
- _t3$4,
17401
- _t4$4,
17402
- _t5$4,
17403
- _t6$4,
17404
- _t7$4;
17478
+ let _$7 = t => t,
17479
+ _t$7,
17480
+ _t2$7,
17481
+ _t3$6,
17482
+ _t4$6,
17483
+ _t5$6,
17484
+ _t6$6,
17485
+ _t7$6;
17405
17486
  /*
17406
17487
  SDTEquationFaCr2Far element
17407
17488
  <sdt-equation-facr2far>
@@ -17472,28 +17553,28 @@
17472
17553
  let far;
17473
17554
 
17474
17555
  if (this.numeric) {
17475
- fa = $(_t$5 || (_t$5 = _$5`
17556
+ fa = $(_t$7 || (_t$7 = _$7`
17476
17557
  <decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17477
17558
  <var>False Alarms</var>
17478
17559
  </decidables-spinner>
17479
17560
  `), !this.interactive, this.fa, this.faInput.bind(this));
17480
- cr = $(_t2$5 || (_t2$5 = _$5`
17561
+ cr = $(_t2$7 || (_t2$7 = _$7`
17481
17562
  <decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17482
17563
  <var>Correct Rejections</var>
17483
17564
  </decidables-spinner>
17484
17565
  `), !this.interactive, this.cr, this.crInput.bind(this));
17485
- far = $(_t3$4 || (_t3$4 = _$5`
17566
+ far = $(_t3$6 || (_t3$6 = _$7`
17486
17567
  <decidables-spinner class="far" disabled min="0" max="1" step=".001" .value="${0}">
17487
17568
  <var>False Alarm Rate</var>
17488
17569
  </decidables-spinner>
17489
17570
  `), +this.far.toFixed(3));
17490
17571
  } else {
17491
- fa = $(_t4$4 || (_t4$4 = _$5`<var class="fa">False Alarms</var>`));
17492
- cr = $(_t5$4 || (_t5$4 = _$5`<var class="cr">Correct Rejections</var>`));
17493
- far = $(_t6$4 || (_t6$4 = _$5`<var class="far">False Alarm Rate</var>`));
17572
+ fa = $(_t4$6 || (_t4$6 = _$7`<var class="fa">False Alarms</var>`));
17573
+ cr = $(_t5$6 || (_t5$6 = _$7`<var class="cr">Correct Rejections</var>`));
17574
+ far = $(_t6$6 || (_t6$6 = _$7`<var class="far">False Alarm Rate</var>`));
17494
17575
  }
17495
17576
 
17496
- return $(_t7$4 || (_t7$4 = _$5`
17577
+ return $(_t7$6 || (_t7$6 = _$7`
17497
17578
  <div class="holder">
17498
17579
  <table class="equation">
17499
17580
  <tbody>
@@ -17518,23 +17599,23 @@
17518
17599
  }
17519
17600
  customElements.define('sdt-equation-facr2far', SDTEquationFaCr2Far);
17520
17601
 
17521
- let _$4 = t => t,
17522
- _t$4,
17523
- _t2$4,
17524
- _t3$3,
17525
- _t4$3,
17526
- _t5$3,
17527
- _t6$3,
17528
- _t7$3;
17602
+ let _$6 = t => t,
17603
+ _t$6,
17604
+ _t2$6,
17605
+ _t3$5,
17606
+ _t4$5,
17607
+ _t5$5,
17608
+ _t6$5,
17609
+ _t7$5;
17529
17610
  /*
17530
- SDTEquationHM2Hr element
17611
+ SDTEquationHFa2Ppv element
17531
17612
  <sdt-equation-hm2hr>
17532
17613
 
17533
17614
  Attributes:
17534
17615
  Hits; Misses; Hit Rate;
17535
17616
  */
17536
17617
 
17537
- class SDTEquationHM2Hr extends SDTEquation {
17618
+ class SDTEquationHFa2Ppv extends SDTEquation {
17538
17619
  static get properties() {
17539
17620
  return {
17540
17621
  h: {
@@ -17542,12 +17623,12 @@
17542
17623
  type: Number,
17543
17624
  reflect: true
17544
17625
  },
17545
- m: {
17546
- attribute: 'misses',
17626
+ fa: {
17627
+ attribute: 'false-alarms',
17547
17628
  type: Number,
17548
17629
  reflect: true
17549
17630
  },
17550
- hr: {
17631
+ ppv: {
17551
17632
  attribute: false,
17552
17633
  type: Number,
17553
17634
  reflect: false
@@ -17558,20 +17639,145 @@
17558
17639
  constructor() {
17559
17640
  super();
17560
17641
  this.h = 0;
17561
- this.m = 0;
17642
+ this.fa = 0;
17562
17643
  this.alignState();
17563
17644
  }
17564
17645
 
17565
17646
  alignState() {
17566
- this.hr = SDTMath.hM2Hr(this.h, this.m);
17647
+ this.ppv = SDTMath.hFa2Ppv(this.h, this.fa);
17567
17648
  }
17568
17649
 
17569
17650
  sendEvent() {
17570
- this.dispatchEvent(new CustomEvent('sdt-equation-hm2hr-change', {
17651
+ this.dispatchEvent(new CustomEvent('sdt-equation-hfa2ppv-change', {
17571
17652
  detail: {
17572
17653
  h: this.h,
17573
- m: this.m,
17574
- hr: this.hr
17654
+ fa: this.fa,
17655
+ ppv: this.ppv
17656
+ },
17657
+ bubbles: true
17658
+ }));
17659
+ }
17660
+
17661
+ hInput(event) {
17662
+ this.h = parseInt(event.target.value, 10);
17663
+ this.alignState();
17664
+ this.sendEvent();
17665
+ }
17666
+
17667
+ faInput(event) {
17668
+ this.fa = parseInt(event.target.value, 10);
17669
+ this.alignState();
17670
+ this.sendEvent();
17671
+ }
17672
+
17673
+ render() {
17674
+ this.alignState();
17675
+ let h;
17676
+ let fa;
17677
+ let ppv;
17678
+
17679
+ if (this.numeric) {
17680
+ h = $(_t$6 || (_t$6 = _$6`
17681
+ <decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17682
+ <var>Hits</var>
17683
+ </decidables-spinner>
17684
+ `), !this.interactive, this.h, this.hInput.bind(this));
17685
+ fa = $(_t2$6 || (_t2$6 = _$6`
17686
+ <decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17687
+ <var>False Alarms</var>
17688
+ </decidables-spinner>
17689
+ `), !this.interactive, this.fa, this.faInput.bind(this));
17690
+ ppv = $(_t3$5 || (_t3$5 = _$6`
17691
+ <decidables-spinner class="ppv" disabled min="0" max="1" step=".001" .value="${0}">
17692
+ <var>Positive Predictive Value</var>
17693
+ </decidables-spinner>
17694
+ `), +this.ppv.toFixed(3));
17695
+ } else {
17696
+ h = $(_t4$5 || (_t4$5 = _$6`<var class="h">Hits</var>`));
17697
+ fa = $(_t5$5 || (_t5$5 = _$6`<var class="fa">False Alarms</var>`));
17698
+ ppv = $(_t6$5 || (_t6$5 = _$6`<var class="ppv">Positive Predictive Value</var>`));
17699
+ }
17700
+
17701
+ return $(_t7$5 || (_t7$5 = _$6`
17702
+ <div class="holder">
17703
+ <table class="equation">
17704
+ <tbody>
17705
+ <tr>
17706
+ <td rowspan="2">
17707
+ ${0}<span class="equals">=</span>
17708
+ </td>
17709
+ <td class="underline">
17710
+ ${0}
17711
+ </td>
17712
+ </tr>
17713
+ <tr>
17714
+ <td>
17715
+ ${0}<span class="plus">+</span>${0}
17716
+ </td>
17717
+ </tr>
17718
+ </tbody>
17719
+ </table>
17720
+ </div>
17721
+ `), ppv, h, h, fa);
17722
+ }
17723
+
17724
+ }
17725
+ customElements.define('sdt-equation-hfa2ppv', SDTEquationHFa2Ppv);
17726
+
17727
+ let _$5 = t => t,
17728
+ _t$5,
17729
+ _t2$5,
17730
+ _t3$4,
17731
+ _t4$4,
17732
+ _t5$4,
17733
+ _t6$4,
17734
+ _t7$4;
17735
+ /*
17736
+ SDTEquationHM2Hr element
17737
+ <sdt-equation-hm2hr>
17738
+
17739
+ Attributes:
17740
+ Hits; Misses; Hit Rate;
17741
+ */
17742
+
17743
+ class SDTEquationHM2Hr extends SDTEquation {
17744
+ static get properties() {
17745
+ return {
17746
+ h: {
17747
+ attribute: 'hits',
17748
+ type: Number,
17749
+ reflect: true
17750
+ },
17751
+ m: {
17752
+ attribute: 'misses',
17753
+ type: Number,
17754
+ reflect: true
17755
+ },
17756
+ hr: {
17757
+ attribute: false,
17758
+ type: Number,
17759
+ reflect: false
17760
+ }
17761
+ };
17762
+ }
17763
+
17764
+ constructor() {
17765
+ super();
17766
+ this.h = 0;
17767
+ this.m = 0;
17768
+ this.alignState();
17769
+ }
17770
+
17771
+ alignState() {
17772
+ this.hr = SDTMath.hM2Hr(this.h, this.m);
17773
+ }
17774
+
17775
+ sendEvent() {
17776
+ this.dispatchEvent(new CustomEvent('sdt-equation-hm2hr-change', {
17777
+ detail: {
17778
+ h: this.h,
17779
+ m: this.m,
17780
+ hr: this.hr
17575
17781
  },
17576
17782
  bubbles: true
17577
17783
  }));
@@ -17596,28 +17802,28 @@
17596
17802
  let hr;
17597
17803
 
17598
17804
  if (this.numeric) {
17599
- h = $(_t$4 || (_t$4 = _$4`
17805
+ h = $(_t$5 || (_t$5 = _$5`
17600
17806
  <decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17601
17807
  <var>Hits</var>
17602
17808
  </decidables-spinner>
17603
17809
  `), !this.interactive, this.h, this.hInput.bind(this));
17604
- m = $(_t2$4 || (_t2$4 = _$4`
17810
+ m = $(_t2$5 || (_t2$5 = _$5`
17605
17811
  <decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17606
17812
  <var>Misses</var>
17607
17813
  </decidables-spinner>
17608
17814
  `), !this.interactive, this.m, this.mInput.bind(this));
17609
- hr = $(_t3$3 || (_t3$3 = _$4`
17815
+ hr = $(_t3$4 || (_t3$4 = _$5`
17610
17816
  <decidables-spinner class="hr" disabled min="0" max="1" step=".001" .value="${0}">
17611
17817
  <var>Hit Rate</var>
17612
17818
  </decidables-spinner>
17613
17819
  `), +this.hr.toFixed(3));
17614
17820
  } else {
17615
- h = $(_t4$3 || (_t4$3 = _$4`<var class="h">Hits</var>`));
17616
- m = $(_t5$3 || (_t5$3 = _$4`<var class="m">Misses</var>`));
17617
- hr = $(_t6$3 || (_t6$3 = _$4`<var class="hr">Hit Rate</var>`));
17821
+ h = $(_t4$4 || (_t4$4 = _$5`<var class="h">Hits</var>`));
17822
+ m = $(_t5$4 || (_t5$4 = _$5`<var class="m">Misses</var>`));
17823
+ hr = $(_t6$4 || (_t6$4 = _$5`<var class="hr">Hit Rate</var>`));
17618
17824
  }
17619
17825
 
17620
- return $(_t7$3 || (_t7$3 = _$4`
17826
+ return $(_t7$4 || (_t7$4 = _$5`
17621
17827
  <div class="holder">
17622
17828
  <table class="equation">
17623
17829
  <tbody>
@@ -17643,14 +17849,14 @@
17643
17849
  }
17644
17850
  customElements.define('sdt-equation-hm2hr', SDTEquationHM2Hr);
17645
17851
 
17646
- let _$3 = t => t,
17647
- _t$3,
17648
- _t2$3,
17649
- _t3$2,
17650
- _t4$2,
17651
- _t5$2,
17652
- _t6$2,
17653
- _t7$2,
17852
+ let _$4 = t => t,
17853
+ _t$4,
17854
+ _t2$4,
17855
+ _t3$3,
17856
+ _t4$3,
17857
+ _t5$3,
17858
+ _t6$3,
17859
+ _t7$3,
17654
17860
  _t8$2,
17655
17861
  _t9$2,
17656
17862
  _t10$2,
@@ -17753,40 +17959,40 @@
17753
17959
  let acc;
17754
17960
 
17755
17961
  if (this.numeric) {
17756
- h = $(_t$3 || (_t$3 = _$3`
17962
+ h = $(_t$4 || (_t$4 = _$4`
17757
17963
  <decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17758
17964
  <var>Hits</var>
17759
17965
  </decidables-spinner>
17760
17966
  `), !this.interactive, this.h, this.hInput.bind(this));
17761
- m = $(_t2$3 || (_t2$3 = _$3`
17967
+ m = $(_t2$4 || (_t2$4 = _$4`
17762
17968
  <decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17763
17969
  <var>Misses</var>
17764
17970
  </decidables-spinner>
17765
17971
  `), !this.interactive, this.m, this.mInput.bind(this));
17766
- fa = $(_t3$2 || (_t3$2 = _$3`
17972
+ fa = $(_t3$3 || (_t3$3 = _$4`
17767
17973
  <decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17768
17974
  <var>False Alarms</var>
17769
17975
  </decidables-spinner>
17770
17976
  `), !this.interactive, this.fa, this.faInput.bind(this));
17771
- cr = $(_t4$2 || (_t4$2 = _$3`
17977
+ cr = $(_t4$3 || (_t4$3 = _$4`
17772
17978
  <decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17773
17979
  <var>Correct Rejections</var>
17774
17980
  </decidables-spinner>
17775
17981
  `), !this.interactive, this.cr, this.crInput.bind(this));
17776
- acc = $(_t5$2 || (_t5$2 = _$3`
17982
+ acc = $(_t5$3 || (_t5$3 = _$4`
17777
17983
  <decidables-spinner class="acc" disabled min="0" max="1" step=".001" .value="${0}">
17778
17984
  <var>Accuracy</var>
17779
17985
  </decidables-spinner>
17780
17986
  `), +this.acc.toFixed(3));
17781
17987
  } else {
17782
- h = $(_t6$2 || (_t6$2 = _$3`<var class="h">Hits</var>`));
17783
- m = $(_t7$2 || (_t7$2 = _$3`<var class="m">Misses</var>`));
17784
- fa = $(_t8$2 || (_t8$2 = _$3`<var class="fa">False Alarms</var>`));
17785
- cr = $(_t9$2 || (_t9$2 = _$3`<var class="cr">Correct Rejections</var>`));
17786
- acc = $(_t10$2 || (_t10$2 = _$3`<var class="acc">Accuracy</var>`));
17988
+ h = $(_t6$3 || (_t6$3 = _$4`<var class="h">Hits</var>`));
17989
+ m = $(_t7$3 || (_t7$3 = _$4`<var class="m">Misses</var>`));
17990
+ fa = $(_t8$2 || (_t8$2 = _$4`<var class="fa">False Alarms</var>`));
17991
+ cr = $(_t9$2 || (_t9$2 = _$4`<var class="cr">Correct Rejections</var>`));
17992
+ acc = $(_t10$2 || (_t10$2 = _$4`<var class="acc">Accuracy</var>`));
17787
17993
  }
17788
17994
 
17789
- return $(_t11$2 || (_t11$2 = _$3`
17995
+ return $(_t11$2 || (_t11$2 = _$4`
17790
17996
  <div class="holder">
17791
17997
  <table class="equation">
17792
17998
  <tbody>
@@ -17811,14 +18017,14 @@
17811
18017
  }
17812
18018
  customElements.define('sdt-equation-hmfacr2acc', SDTEquationHMFaCr2Acc);
17813
18019
 
17814
- let _$2 = t => t,
17815
- _t$2,
17816
- _t2$2,
17817
- _t3$1,
17818
- _t4$1,
17819
- _t5$1,
17820
- _t6$1,
17821
- _t7$1,
18020
+ let _$3 = t => t,
18021
+ _t$3,
18022
+ _t2$3,
18023
+ _t3$2,
18024
+ _t4$2,
18025
+ _t5$2,
18026
+ _t6$2,
18027
+ _t7$2,
17822
18028
  _t8$1,
17823
18029
  _t9$1,
17824
18030
  _t10$1,
@@ -17913,37 +18119,37 @@
17913
18119
  let c;
17914
18120
 
17915
18121
  if (this.numeric) {
17916
- hr = $(_t$2 || (_t$2 = _$2`
18122
+ hr = $(_t$3 || (_t$3 = _$3`
17917
18123
  <decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
17918
18124
  <var>Hit Rate</var>
17919
18125
  </decidables-spinner>
17920
18126
  `), !this.interactive, this.hr, this.hrInput.bind(this));
17921
- far = $(_t2$2 || (_t2$2 = _$2`
18127
+ far = $(_t2$3 || (_t2$3 = _$3`
17922
18128
  <decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
17923
18129
  <var>False Alarm Rate</var>
17924
18130
  </decidables-spinner>
17925
18131
  `), !this.interactive, this.far, this.farInput.bind(this));
17926
- s = $(_t3$1 || (_t3$1 = _$2`
18132
+ s = $(_t3$2 || (_t3$2 = _$3`
17927
18133
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17928
18134
  <var class="math-var">σ</var>
17929
18135
  </decidables-spinner>
17930
18136
  `), !this.interactive, this.s, this.sInput.bind(this));
17931
- c = $(_t4$1 || (_t4$1 = _$2`
18137
+ c = $(_t4$2 || (_t4$2 = _$3`
17932
18138
  <decidables-spinner class="c bottom" disabled step=".001" .value="${0}">
17933
18139
  <var class="math-var">c</var>
17934
18140
  </decidables-spinner>
17935
18141
  `), +this.c.toFixed(3));
17936
18142
  } else {
17937
- hr = $(_t5$1 || (_t5$1 = _$2`<var class="hr">Hit Rate</var>`));
17938
- far = $(_t6$1 || (_t6$1 = _$2`<var class="far">False Alarm Rate</var>`));
17939
- s = $(_t7$1 || (_t7$1 = _$2`<var class="math-var s">σ</var>`));
17940
- c = $(_t8$1 || (_t8$1 = _$2`<var class="math-var c">c</var>`));
18143
+ hr = $(_t5$2 || (_t5$2 = _$3`<var class="hr">Hit Rate</var>`));
18144
+ far = $(_t6$2 || (_t6$2 = _$3`<var class="far">False Alarm Rate</var>`));
18145
+ s = $(_t7$2 || (_t7$2 = _$3`<var class="math-var s">σ</var>`));
18146
+ c = $(_t8$1 || (_t8$1 = _$3`<var class="math-var c">c</var>`));
17941
18147
  }
17942
18148
 
17943
18149
  let equation;
17944
18150
 
17945
18151
  if (this.unequal) {
17946
- equation = $(_t9$1 || (_t9$1 = _$2`
18152
+ equation = $(_t9$1 || (_t9$1 = _$3`
17947
18153
  <tr>
17948
18154
  <td rowspan="2">
17949
18155
  ${0}<span class="equals">=</span><span class="bracket tight">(</span>
@@ -17970,7 +18176,7 @@
17970
18176
  </td>
17971
18177
  </tr>`), c, s, s, hr, far, s);
17972
18178
  } else {
17973
- equation = $(_t10$1 || (_t10$1 = _$2`
18179
+ equation = $(_t10$1 || (_t10$1 = _$3`
17974
18180
  <tr>
17975
18181
  <td rowspan="2">
17976
18182
  ${0}<span class="equals">=</span>
@@ -17986,7 +18192,7 @@
17986
18192
  </tr>`), c, hr, far);
17987
18193
  }
17988
18194
 
17989
- return $(_t11$1 || (_t11$1 = _$2`
18195
+ return $(_t11$1 || (_t11$1 = _$3`
17990
18196
  <div class="holder">
17991
18197
  <table class="equation">
17992
18198
  <tbody>
@@ -17999,14 +18205,14 @@
17999
18205
  }
18000
18206
  customElements.define('sdt-equation-hrfar2c', SDTEquationHrFar2C);
18001
18207
 
18002
- let _$1 = t => t,
18003
- _t$1,
18004
- _t2$1,
18005
- _t3,
18006
- _t4,
18007
- _t5,
18008
- _t6,
18009
- _t7,
18208
+ let _$2 = t => t,
18209
+ _t$2,
18210
+ _t2$2,
18211
+ _t3$1,
18212
+ _t4$1,
18213
+ _t5$1,
18214
+ _t6$1,
18215
+ _t7$1,
18010
18216
  _t8,
18011
18217
  _t9,
18012
18218
  _t10,
@@ -18101,37 +18307,37 @@
18101
18307
  let d;
18102
18308
 
18103
18309
  if (this.numeric) {
18104
- hr = $(_t$1 || (_t$1 = _$1`
18310
+ hr = $(_t$2 || (_t$2 = _$2`
18105
18311
  <decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
18106
18312
  <var>Hit Rate</var>
18107
18313
  </decidables-spinner>
18108
18314
  `), !this.interactive, this.hr, this.hrInput.bind(this));
18109
- far = $(_t2$1 || (_t2$1 = _$1`
18315
+ far = $(_t2$2 || (_t2$2 = _$2`
18110
18316
  <decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
18111
18317
  <var>False Alarm Rate</var>
18112
18318
  </decidables-spinner>
18113
18319
  `), !this.interactive, this.far, this.farInput.bind(this));
18114
- s = $(_t3 || (_t3 = _$1`
18320
+ s = $(_t3$1 || (_t3$1 = _$2`
18115
18321
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
18116
18322
  <var class="math-var">σ</var>
18117
18323
  </decidables-spinner>
18118
18324
  `), !this.interactive, this.s, this.sInput.bind(this));
18119
- d = $(_t4 || (_t4 = _$1`
18325
+ d = $(_t4$1 || (_t4$1 = _$2`
18120
18326
  <decidables-spinner class="d bottom" disabled step=".001" .value="${0}">
18121
18327
  <var class="math-var">d′</var>
18122
18328
  </decidables-spinner>
18123
18329
  `), +this.d.toFixed(3));
18124
18330
  } else {
18125
- hr = $(_t5 || (_t5 = _$1`<var class="hr">Hit Rate</var>`));
18126
- far = $(_t6 || (_t6 = _$1`<var class="far">False Alarm Rate</var>`));
18127
- s = $(_t7 || (_t7 = _$1`<var class="math-var s">σ</var>`));
18128
- d = $(_t8 || (_t8 = _$1`<var class="math-var d">d′</var>`));
18331
+ hr = $(_t5$1 || (_t5$1 = _$2`<var class="hr">Hit Rate</var>`));
18332
+ far = $(_t6$1 || (_t6$1 = _$2`<var class="far">False Alarm Rate</var>`));
18333
+ s = $(_t7$1 || (_t7$1 = _$2`<var class="math-var s">σ</var>`));
18334
+ d = $(_t8 || (_t8 = _$2`<var class="math-var d">d′</var>`));
18129
18335
  }
18130
18336
 
18131
18337
  let equation;
18132
18338
 
18133
18339
  if (this.unequal) {
18134
- equation = $(_t9 || (_t9 = _$1`
18340
+ equation = $(_t9 || (_t9 = _$2`
18135
18341
  <tr>
18136
18342
  <td rowspan="2">
18137
18343
  ${0}<span class="equals">=</span><span class="bracket tight">(</span>
@@ -18149,7 +18355,7 @@
18149
18355
  </td>
18150
18356
  </tr>`), d, s, s, hr, far);
18151
18357
  } else {
18152
- equation = $(_t10 || (_t10 = _$1`
18358
+ equation = $(_t10 || (_t10 = _$2`
18153
18359
  <tr>
18154
18360
  <td>
18155
18361
  ${0}<span class="equals">=</span><span class="tight"><var class="math-greek phi tight">Φ</var><sup class="exp">−1</sup></span><span class="paren tight">(</span>${0}<span class="paren tight">)</span><span class="minus">−</span><span class="tight"><var class="math-greek phi tight">Φ</var><sup class="exp">−1</sup></span><span class="paren tight">(</span>${0}<span class="paren tight">)</span>
@@ -18157,7 +18363,7 @@
18157
18363
  </tr>`), d, hr, far);
18158
18364
  }
18159
18365
 
18160
- return $(_t11 || (_t11 = _$1`
18366
+ return $(_t11 || (_t11 = _$2`
18161
18367
  <div class="holder">
18162
18368
  <table class="equation">
18163
18369
  <tbody>
@@ -18170,6 +18376,131 @@
18170
18376
  }
18171
18377
  customElements.define('sdt-equation-hrfar2d', SDTEquationHrFar2D);
18172
18378
 
18379
+ let _$1 = t => t,
18380
+ _t$1,
18381
+ _t2$1,
18382
+ _t3,
18383
+ _t4,
18384
+ _t5,
18385
+ _t6,
18386
+ _t7;
18387
+ /*
18388
+ SDTEquationMCr2Fomr element
18389
+ <sdt-equation-mcr2fomr>
18390
+
18391
+ Attributes:
18392
+ Hits; Misses; Hit Rate;
18393
+ */
18394
+
18395
+ class SDTEquationMCr2Fomr extends SDTEquation {
18396
+ static get properties() {
18397
+ return {
18398
+ m: {
18399
+ attribute: 'misses',
18400
+ type: Number,
18401
+ reflect: true
18402
+ },
18403
+ cr: {
18404
+ attribute: 'correct-rejections',
18405
+ type: Number,
18406
+ reflect: true
18407
+ },
18408
+ fomr: {
18409
+ attribute: false,
18410
+ type: Number,
18411
+ reflect: false
18412
+ }
18413
+ };
18414
+ }
18415
+
18416
+ constructor() {
18417
+ super();
18418
+ this.m = 0;
18419
+ this.cr = 0;
18420
+ this.alignState();
18421
+ }
18422
+
18423
+ alignState() {
18424
+ this.fomr = SDTMath.mCr2Fomr(this.m, this.cr);
18425
+ }
18426
+
18427
+ sendEvent() {
18428
+ this.dispatchEvent(new CustomEvent('sdt-equation-mcr2fomr-change', {
18429
+ detail: {
18430
+ m: this.m,
18431
+ cr: this.cr,
18432
+ fomr: this.fomr
18433
+ },
18434
+ bubbles: true
18435
+ }));
18436
+ }
18437
+
18438
+ mInput(event) {
18439
+ this.m = parseInt(event.target.value, 10);
18440
+ this.alignState();
18441
+ this.sendEvent();
18442
+ }
18443
+
18444
+ crInput(event) {
18445
+ this.cr = parseInt(event.target.value, 10);
18446
+ this.alignState();
18447
+ this.sendEvent();
18448
+ }
18449
+
18450
+ render() {
18451
+ this.alignState();
18452
+ let m;
18453
+ let cr;
18454
+ let fomr;
18455
+
18456
+ if (this.numeric) {
18457
+ m = $(_t$1 || (_t$1 = _$1`
18458
+ <decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
18459
+ <var>Misses</var>
18460
+ </decidables-spinner>
18461
+ `), !this.interactive, this.m, this.mInput.bind(this));
18462
+ cr = $(_t2$1 || (_t2$1 = _$1`
18463
+ <decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
18464
+ <var>Correct Rejections</var>
18465
+ </decidables-spinner>
18466
+ `), !this.interactive, this.cr, this.crInput.bind(this));
18467
+ fomr = $(_t3 || (_t3 = _$1`
18468
+ <decidables-spinner class="fomr" disabled min="0" max="1" step=".001" .value="${0}">
18469
+ <var>False Omission Rate</var>
18470
+ </decidables-spinner>
18471
+ `), +this.fomr.toFixed(3));
18472
+ } else {
18473
+ m = $(_t4 || (_t4 = _$1`<var class="m">Misses</var>`));
18474
+ cr = $(_t5 || (_t5 = _$1`<var class="cr">Correct Rejections</var>`));
18475
+ fomr = $(_t6 || (_t6 = _$1`<var class="fomr">False Omission Rate</var>`));
18476
+ }
18477
+
18478
+ return $(_t7 || (_t7 = _$1`
18479
+ <div class="holder">
18480
+ <table class="equation">
18481
+ <tbody>
18482
+ <tr>
18483
+ <td rowspan="2">
18484
+ ${0}<span class="equals">=</span>
18485
+ </td>
18486
+ <td class="underline">
18487
+ ${0}
18488
+ </td>
18489
+ </tr>
18490
+ <tr>
18491
+ <td>
18492
+ ${0}<span class="plus">+</span>${0}
18493
+ </td>
18494
+ </tr>
18495
+ </tbody>
18496
+ </table>
18497
+ </div>
18498
+ `), fomr, m, m, cr);
18499
+ }
18500
+
18501
+ }
18502
+ customElements.define('sdt-equation-mcr2fomr', SDTEquationMCr2Fomr);
18503
+
18173
18504
  let _ = t => t,
18174
18505
  _t,
18175
18506
  _t2;
@@ -18228,7 +18559,7 @@
18228
18559
  }
18229
18560
 
18230
18561
  render() {
18231
- // eslint-disable-line class-methods-use-this
18562
+ /* eslint-disable-line class-methods-use-this */
18232
18563
  return $(_t2 || (_t2 = _`
18233
18564
  <div class="holder">
18234
18565
  <div class="body">
@@ -18876,6 +19207,81 @@
18876
19207
  }
18877
19208
  customElements.define('sdt-example-model', SDTExampleModel);
18878
19209
 
19210
+ /*
19211
+ SDTExampleMulti element
19212
+ <sdt-example-multi>
19213
+ */
19214
+
19215
+ class SDTExampleMultiple extends SDTExample {
19216
+ static get properties() {
19217
+ return {
19218
+ variable: {
19219
+ attribute: 'variable',
19220
+ type: String,
19221
+ reflect: true
19222
+ },
19223
+ values: {
19224
+ attribute: 'values',
19225
+ converter: DecidablesConverterArray,
19226
+ reflect: true
19227
+ }
19228
+ };
19229
+ }
19230
+
19231
+ constructor() {
19232
+ super();
19233
+ this.variables = ['d', 'c'];
19234
+ this.variable = 'd';
19235
+ this.values = [0, 1];
19236
+ }
19237
+
19238
+ firstUpdated() {
19239
+ this.detectableControl = this.querySelector('detectable-control');
19240
+ this.rocSpace = this.querySelector('roc-space');
19241
+ this.sdtModel = this.querySelector('sdt-model');
19242
+
19243
+ if (this.detectableControl) {
19244
+ this.detectableControl.addEventListener('detectable-control-z-roc', event => {
19245
+ this.rocSpace.zRoc = event.detail.zRoc;
19246
+ });
19247
+ }
19248
+
19249
+ if (this.rocSpace) {
19250
+ this.rocSpace.setWithSDT(1, 0, 'default', '', 1);
19251
+
19252
+ if (this.variable === 'd') {
19253
+ this.values.forEach((d, index) => {
19254
+ this.rocSpace.setWithSDT(d, this.sdtModel.c, `point${index}`, index + 1, this.sdtModel.s);
19255
+ });
19256
+ } else if (this.variable === 'c') {
19257
+ this.values.forEach((c, index) => {
19258
+ this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, index + 1, this.sdtModel.s);
19259
+ });
19260
+ }
19261
+ }
19262
+
19263
+ if (this.sdtModel) {
19264
+ this.sdtModel.addEventListener('sdt-model-change', event => {
19265
+ if (this.rocSpace) {
19266
+ this.rocSpace.setWithSDT(event.detail.d, event.detail.c, 'default', '', event.detail.s);
19267
+
19268
+ if (this.variable === 'd') {
19269
+ this.values.forEach((d, index) => {
19270
+ this.rocSpace.setWithSDT(d, event.detail.c, `point${index}`, index + 1, event.detail.s);
19271
+ });
19272
+ } else if (this.variable === 'c') {
19273
+ this.values.forEach((c, index) => {
19274
+ this.rocSpace.setWithSDT(event.detail.d, c, `point${index}`, index + 1, event.detail.s);
19275
+ });
19276
+ }
19277
+ }
19278
+ });
19279
+ }
19280
+ }
19281
+
19282
+ }
19283
+ customElements.define('sdt-example-multiple', SDTExampleMultiple);
19284
+
18879
19285
  /*
18880
19286
  SDTExampleUnequal element
18881
19287
  <sdt-example-unequal>
@@ -18895,15 +19301,13 @@
18895
19301
 
18896
19302
  if (this.rocSpace) {
18897
19303
  this.rocSpace.setWithSDT(1, 0, 'default', '', 1); // Set 'default' to equal variance for contours
19304
+
19305
+ range(-1.5, 1.6, 0.5).forEach((c, index) => {
19306
+ this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, '', this.sdtModel.s);
19307
+ });
18898
19308
  }
18899
19309
 
18900
19310
  if (this.sdtModel) {
18901
- if (this.rocSpace) {
18902
- range(-1.5, 1.6, 0.5).forEach((c, index) => {
18903
- this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, '', this.sdtModel.s);
18904
- });
18905
- }
18906
-
18907
19311
  this.sdtModel.addEventListener('sdt-model-change', event => {
18908
19312
  if (this.rocSpace) {
18909
19313
  range(-1.5, 1.6, 0.5).forEach((c, index) => {
@@ -18926,14 +19330,17 @@
18926
19330
  exports.SDTEquationDC2Far = SDTEquationDC2Far;
18927
19331
  exports.SDTEquationDC2Hr = SDTEquationDC2Hr;
18928
19332
  exports.SDTEquationFaCr2Far = SDTEquationFaCr2Far;
19333
+ exports.SDTEquationHFa2Ppv = SDTEquationHFa2Ppv;
18929
19334
  exports.SDTEquationHM2Hr = SDTEquationHM2Hr;
18930
19335
  exports.SDTEquationHMFaCr2Acc = SDTEquationHMFaCr2Acc;
18931
19336
  exports.SDTEquationHrFar2C = SDTEquationHrFar2C;
18932
19337
  exports.SDTEquationHrFar2D = SDTEquationHrFar2D;
19338
+ exports.SDTEquationMCr2Fomr = SDTEquationMCr2Fomr;
18933
19339
  exports.SDTExampleDoubleInteractive = SDTExampleDoubleInteractive;
18934
19340
  exports.SDTExampleHuman = SDTExampleHuman;
18935
19341
  exports.SDTExampleInteractive = SDTExampleInteractive;
18936
19342
  exports.SDTExampleModel = SDTExampleModel;
19343
+ exports.SDTExampleMultiple = SDTExampleMultiple;
18937
19344
  exports.SDTExampleUnequal = SDTExampleUnequal;
18938
19345
  exports.SDTModel = SDTModel;
18939
19346