@decidables/detectable-elements 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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});
@@ -6722,6 +6723,8 @@
6722
6723
  ---font-family-base: var(--font-family-base, "Source Sans", sans-serif);
6723
6724
  ---font-family-math: var(--font-family-math, "Source Serif", serif);
6724
6725
 
6726
+ ---border: var(--border, 1px solid var(---color-border));
6727
+ ---border-radius: var(--border-radius, 0.25rem);
6725
6728
  ---transition-duration: var(--transition-duration, 500ms);
6726
6729
 
6727
6730
  font-family: var(---font-family-base);
@@ -6755,14 +6758,14 @@
6755
6758
  width: 0;
6756
6759
  height: 0;
6757
6760
  }
6758
- `), o$3(this.cssBoxShadow(0)), o$3(this.cssBoxShadow(2)), o$3(this.cssBoxShadow(4)), o$3(this.cssBoxShadow(8)), o$3(this.greys.white), o$3(this.greys.light75), o$3(this.greys.dark75), o$3(this.greys.white), o$3(this.greys.dark25), o$3(this.greys.light75), o$3(this.greys.light50), o$3(this.greys.grey), o$3(this.greys.dark25), o$3(this.greys.dark50), o$3(this.greys.dark75));
6761
+ `), o$3(this.cssBoxShadow(0)), o$3(this.cssBoxShadow(2)), o$3(this.cssBoxShadow(4)), o$3(this.cssBoxShadow(8)), o$3(this.greys.white), o$3(this.greys.light75), o$3(this.greys.dark75), o$3(this.greys.white), o$3(this.greys.dark25), o$3(this.greys.light75), o$3(this.greys.light50), o$3(this.greys.dark25), o$3(this.greys.grey), o$3(this.greys.dark50), o$3(this.greys.dark75));
6759
6762
  }
6760
6763
 
6761
6764
  }
6762
6765
 
6763
- let _$l = t => t,
6764
- _t$l,
6765
- _t2$j;
6766
+ let _$n = t => t,
6767
+ _t$n,
6768
+ _t2$l;
6766
6769
  class DecidablesButton extends DecidablesElement {
6767
6770
  static get properties() {
6768
6771
  return {
@@ -6781,7 +6784,7 @@
6781
6784
  }
6782
6785
 
6783
6786
  static get styles() {
6784
- return [super.styles, r$2(_t$l || (_t$l = _$l`
6787
+ return [super.styles, r$2(_t$n || (_t$n = _$n`
6785
6788
  :host {
6786
6789
  margin: 0.25rem;
6787
6790
  }
@@ -6797,7 +6800,7 @@
6797
6800
  color: var(---color-text-inverse);
6798
6801
 
6799
6802
  border: 0;
6800
- border-radius: 0.25rem;
6803
+ border-radius: var(---border-radius);
6801
6804
  outline: none;
6802
6805
  }
6803
6806
 
@@ -6838,7 +6841,7 @@
6838
6841
  }
6839
6842
 
6840
6843
  render() {
6841
- return $(_t2$j || (_t2$j = _$l`
6844
+ return $(_t2$l || (_t2$l = _$n`
6842
6845
  <button ?disabled=${0}>
6843
6846
  <slot></slot>
6844
6847
  </button>
@@ -6856,9 +6859,9 @@
6856
6859
 
6857
6860
  const l = l => null != l ? l : w;
6858
6861
 
6859
- let _$k = t => t,
6860
- _t$k,
6861
- _t2$i;
6862
+ let _$m = t => t,
6863
+ _t$m,
6864
+ _t2$k;
6862
6865
  class DecidablesSlider extends DecidablesElement {
6863
6866
  static get properties() {
6864
6867
  return {
@@ -6915,7 +6918,7 @@
6915
6918
  }
6916
6919
 
6917
6920
  static get styles() {
6918
- return [super.styles, r$2(_t$k || (_t$k = _$k`
6921
+ return [super.styles, r$2(_t$m || (_t$m = _$m`
6919
6922
  :host {
6920
6923
  ---shadow-2-rotate: var(--shadow-2-rotate, ${0});
6921
6924
  ---shadow-4-rotate: var(--shadow-4-rotate, ${0});
@@ -7169,7 +7172,7 @@
7169
7172
  }
7170
7173
 
7171
7174
  render() {
7172
- return $(_t2$i || (_t2$i = _$k`
7175
+ return $(_t2$k || (_t2$k = _$m`
7173
7176
  <label for="slider">
7174
7177
  <slot></slot>
7175
7178
  </label>
@@ -7183,9 +7186,9 @@
7183
7186
  }
7184
7187
  customElements.define('decidables-slider', DecidablesSlider);
7185
7188
 
7186
- let _$j = t => t,
7187
- _t$j,
7188
- _t2$h;
7189
+ let _$l = t => t,
7190
+ _t$l,
7191
+ _t2$j;
7189
7192
  class DecidablesSpinner extends DecidablesElement {
7190
7193
  static get properties() {
7191
7194
  return {
@@ -7232,7 +7235,7 @@
7232
7235
  }
7233
7236
 
7234
7237
  static get styles() {
7235
- return [super.styles, r$2(_t$j || (_t$j = _$j`
7238
+ return [super.styles, r$2(_t$l || (_t$l = _$l`
7236
7239
  :host {
7237
7240
  ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);
7238
7241
  ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);
@@ -7315,7 +7318,7 @@
7315
7318
  }
7316
7319
 
7317
7320
  render() {
7318
- return $(_t2$h || (_t2$h = _$j`
7321
+ return $(_t2$j || (_t2$j = _$l`
7319
7322
  <label>
7320
7323
  <slot></slot>
7321
7324
  <input ?disabled=${0} type="number" min=${0} max=${0} step=${0} .value=${0} @input=${0}>
@@ -7326,9 +7329,9 @@
7326
7329
  }
7327
7330
  customElements.define('decidables-spinner', DecidablesSpinner);
7328
7331
 
7329
- let _$i = t => t,
7330
- _t$i,
7331
- _t2$g;
7332
+ let _$k = t => t,
7333
+ _t$k,
7334
+ _t2$i;
7332
7335
  class DecidablesSwitch extends DecidablesElement {
7333
7336
  static get properties() {
7334
7337
  return {
@@ -7363,7 +7366,7 @@
7363
7366
  }
7364
7367
 
7365
7368
  static get styles() {
7366
- return [super.styles, r$2(_t$i || (_t$i = _$i`
7369
+ return [super.styles, r$2(_t$k || (_t$k = _$k`
7367
7370
  :host {
7368
7371
  display: flex;
7369
7372
 
@@ -7486,7 +7489,7 @@
7486
7489
  }
7487
7490
 
7488
7491
  render() {
7489
- return $(_t2$g || (_t2$g = _$i`
7492
+ return $(_t2$i || (_t2$i = _$k`
7490
7493
  <input type="checkbox" id="switch" ?checked=${0} ?disabled=${0} @change=${0}>
7491
7494
  <label for="switch">
7492
7495
  <slot name="off-label"></slot>
@@ -7500,9 +7503,9 @@
7500
7503
  }
7501
7504
  customElements.define('decidables-switch', DecidablesSwitch);
7502
7505
 
7503
- let _$h = t => t,
7504
- _t$h,
7505
- _t2$f;
7506
+ let _$j = t => t,
7507
+ _t$j,
7508
+ _t2$h;
7506
7509
  class DecidablesToggle extends DecidablesElement {
7507
7510
  static get properties() {
7508
7511
  return {
@@ -7521,7 +7524,7 @@
7521
7524
  }
7522
7525
 
7523
7526
  static get styles() {
7524
- return [super.styles, r$2(_t$h || (_t$h = _$h`
7527
+ return [super.styles, r$2(_t$j || (_t$j = _$j`
7525
7528
  fieldset {
7526
7529
  display: flex;
7527
7530
 
@@ -7542,7 +7545,7 @@
7542
7545
  }
7543
7546
 
7544
7547
  render() {
7545
- return $(_t2$f || (_t2$f = _$h`
7548
+ return $(_t2$h || (_t2$h = _$j`
7546
7549
  <fieldset ?disabled=${0}>
7547
7550
  <legend><slot name="label"></slot></legend>
7548
7551
  <slot></slot>
@@ -7553,9 +7556,9 @@
7553
7556
  }
7554
7557
  customElements.define('decidables-toggle', DecidablesToggle);
7555
7558
 
7556
- let _$g = t => t,
7557
- _t$g,
7558
- _t2$e;
7559
+ let _$i = t => t,
7560
+ _t$i,
7561
+ _t2$g;
7559
7562
  class DecidablesToggleOption extends DecidablesElement {
7560
7563
  static get properties() {
7561
7564
  return {
@@ -7603,7 +7606,7 @@
7603
7606
  }
7604
7607
 
7605
7608
  static get styles() {
7606
- return [super.styles, r$2(_t$g || (_t$g = _$g`
7609
+ return [super.styles, r$2(_t$i || (_t$i = _$i`
7607
7610
  :host {
7608
7611
  display: flex;
7609
7612
  }
@@ -7700,7 +7703,7 @@
7700
7703
  }
7701
7704
 
7702
7705
  render() {
7703
- return $(_t2$e || (_t2$e = _$g`
7706
+ return $(_t2$g || (_t2$g = _$i`
7704
7707
  <input type="radio" id="toggle-option" name=${0} value=${0} .checked=${0} @change=${0}>
7705
7708
  <label for="toggle-option">
7706
7709
  <slot></slot>
@@ -7711,6 +7714,23 @@
7711
7714
  }
7712
7715
  customElements.define('decidables-toggle-option', DecidablesToggleOption);
7713
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
+
7714
7734
  /*
7715
7735
  Attribute: Space-separated sequence of strings
7716
7736
  Property: Set of strings
@@ -7724,8 +7744,8 @@
7724
7744
  }
7725
7745
  };
7726
7746
 
7727
- let _$f = t => t,
7728
- _t$f;
7747
+ let _$h = t => t,
7748
+ _t$h;
7729
7749
  /*
7730
7750
  DetectableElement Base Class - Not intended for instantiation!
7731
7751
  <detectable-element>
@@ -7782,7 +7802,7 @@
7782
7802
  }
7783
7803
 
7784
7804
  static get styles() {
7785
- return [super.styles, r$2(_t$f || (_t$f = _$f`
7805
+ return [super.styles, r$2(_t$h || (_t$h = _$h`
7786
7806
  :host {
7787
7807
  ---color-h: var(--color-h, ${0});
7788
7808
  ---color-m: var(--color-m, ${0});
@@ -7837,9 +7857,9 @@
7837
7857
 
7838
7858
  }
7839
7859
 
7840
- let _$e = t => t,
7841
- _t$e,
7842
- _t2$d;
7860
+ let _$g = t => t,
7861
+ _t$g,
7862
+ _t2$f;
7843
7863
  /*
7844
7864
  RDKTask element
7845
7865
  <rdk-task>
@@ -7993,7 +8013,7 @@
7993
8013
  }
7994
8014
 
7995
8015
  static get styles() {
7996
- return [super.styles, r$2(_t$e || (_t$e = _$e`
8016
+ return [super.styles, r$2(_t$g || (_t$g = _$g`
7997
8017
  :host {
7998
8018
  display: inline-block;
7999
8019
 
@@ -8042,8 +8062,8 @@
8042
8062
  }
8043
8063
 
8044
8064
  render() {
8045
- // eslint-disable-line class-methods-use-this
8046
- return $(_t2$d || (_t2$d = _$e``));
8065
+ /* eslint-disable-line class-methods-use-this */
8066
+ return $(_t2$f || (_t2$f = _$g``));
8047
8067
  }
8048
8068
 
8049
8069
  getDimensions() {
@@ -13231,9 +13251,9 @@
13231
13251
 
13232
13252
  }
13233
13253
 
13234
- let _$d = t => t,
13235
- _t$d,
13236
- _t2$c;
13254
+ let _$f = t => t,
13255
+ _t$f,
13256
+ _t2$e;
13237
13257
  /*
13238
13258
  ROCSpace element
13239
13259
  <roc-space>
@@ -13453,7 +13473,7 @@
13453
13473
  }
13454
13474
 
13455
13475
  static get styles() {
13456
- return [super.styles, r$2(_t$d || (_t$d = _$d`
13476
+ return [super.styles, r$2(_t$f || (_t$f = _$f`
13457
13477
  :host {
13458
13478
  display: inline-block;
13459
13479
 
@@ -13580,7 +13600,7 @@
13580
13600
  .point .label {
13581
13601
  font-size: 0.75rem;
13582
13602
 
13583
- dominant-baseline: middle;
13603
+ dominant-baseline: central;
13584
13604
  text-anchor: middle;
13585
13605
 
13586
13606
  fill: var(---color-text-inverse);
@@ -13589,8 +13609,8 @@
13589
13609
  }
13590
13610
 
13591
13611
  render() {
13592
- // eslint-disable-line class-methods-use-this
13593
- return $(_t2$c || (_t2$c = _$d`
13612
+ /* eslint-disable-line class-methods-use-this */
13613
+ return $(_t2$e || (_t2$e = _$f`
13594
13614
  ${0}
13595
13615
  `), DetectableElement.svgFilters);
13596
13616
  }
@@ -14130,14 +14150,14 @@
14130
14150
  }
14131
14151
  customElements.define('roc-space', ROCSpace);
14132
14152
 
14133
- let _$c = t => t,
14134
- _t$c,
14135
- _t2$b,
14136
- _t3$9,
14137
- _t4$9,
14138
- _t5$9,
14139
- _t6$9,
14140
- _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,
14141
14161
  _t8$7,
14142
14162
  _t9$7,
14143
14163
  _t10$7,
@@ -14224,7 +14244,7 @@
14224
14244
  this.duration = undefined;
14225
14245
  this.coherence = undefined;
14226
14246
  this.payoff = undefined;
14227
- this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
14247
+ this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
14228
14248
  this.color = undefined;
14229
14249
  this.zRoc = undefined;
14230
14250
  this.run = false;
@@ -14324,7 +14344,7 @@
14324
14344
  }
14325
14345
 
14326
14346
  static get styles() {
14327
- return [super.styles, r$2(_t$c || (_t$c = _$c`
14347
+ return [super.styles, r$2(_t$e || (_t$e = _$e`
14328
14348
  :host {
14329
14349
  display: inline-block;
14330
14350
  }
@@ -14355,7 +14375,7 @@
14355
14375
  }
14356
14376
 
14357
14377
  render() {
14358
- return $(_t2$b || (_t2$b = _$c`
14378
+ return $(_t2$d || (_t2$d = _$e`
14359
14379
  <div class="holder">
14360
14380
  ${0}
14361
14381
  ${0}
@@ -14364,7 +14384,7 @@
14364
14384
  ${0}
14365
14385
  ${0}
14366
14386
  ${0}
14367
- </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`
14368
14388
  <decidables-toggle @change=${0}>
14369
14389
  <span slot="label">Emphasis</span>
14370
14390
  <decidables-toggle-option name="toggle" value="none" ?checked=${0}>None</decidables-toggle-option>
@@ -14372,27 +14392,28 @@
14372
14392
  <decidables-toggle-option name="toggle" value="stimulus" ?checked=${0}>Stimulus</decidables-toggle-option>
14373
14393
  <decidables-toggle-option name="toggle" value="response" ?checked=${0}>Response</decidables-toggle-option>
14374
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>
14375
14396
  </decidables-toggle>
14376
- `), 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`
14377
14398
  <decidables-switch ?checked=${0} @change=${0}>
14378
14399
  <span class="math-var">z</span>ROC
14379
14400
  <span slot="off-label">ROC</span>
14380
14401
  </decidables-switch>
14381
- `), 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`
14382
14403
  <div class="buttons">
14383
14404
  ${0}
14384
14405
  ${0}
14385
14406
  ${0}
14386
14407
  </div>
14387
- `), 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``)));
14388
14409
  }
14389
14410
 
14390
14411
  }
14391
14412
  customElements.define('detectable-control', DetectableControl);
14392
14413
 
14393
- let _$b = t => t,
14394
- _t$b,
14395
- _t2$a;
14414
+ let _$d = t => t,
14415
+ _t$d,
14416
+ _t2$c;
14396
14417
  /*
14397
14418
  SDTModel element
14398
14419
  <sdt-model>
@@ -14629,7 +14650,7 @@
14629
14650
  }
14630
14651
 
14631
14652
  static get styles() {
14632
- return [super.styles, r$2(_t$b || (_t$b = _$b`
14653
+ return [super.styles, r$2(_t$d || (_t$d = _$d`
14633
14654
  :host {
14634
14655
  display: inline-block;
14635
14656
 
@@ -14875,8 +14896,8 @@
14875
14896
  }
14876
14897
 
14877
14898
  render() {
14878
- // eslint-disable-line class-methods-use-this
14879
- return $(_t2$a || (_t2$a = _$b`
14899
+ /* eslint-disable-line class-methods-use-this */
14900
+ return $(_t2$c || (_t2$c = _$d`
14880
14901
  ${0}
14881
14902
  `), DetectableElement.svgFilters);
14882
14903
  }
@@ -15021,7 +15042,8 @@
15021
15042
  datum.startMuS = this.muS;
15022
15043
  }).on('drag', (event, datum) => {
15023
15044
  this.drag = true;
15024
- let muS = this.muS; // eslint-disable-line prefer-destructuring
15045
+ let muS = this.muS;
15046
+ /* eslint-disable-line prefer-destructuring */
15025
15047
 
15026
15048
  if (this.interactive) {
15027
15049
  muS = xScale.invert(event.x); // Clamp Signal Curve to stay visible
@@ -15029,7 +15051,8 @@
15029
15051
  muS = muS < xScale.domain()[0] ? xScale.domain()[0] : muS > xScale.domain()[1] ? xScale.domain()[1] : muS;
15030
15052
  }
15031
15053
 
15032
- let hS = this.hS; // eslint-disable-line prefer-destructuring
15054
+ let hS = this.hS;
15055
+ /* eslint-disable-line prefer-destructuring */
15033
15056
 
15034
15057
  if (this.unequal) {
15035
15058
  hS = yScale.invert(event.y); // Clamp Signal Curve to stay visible
@@ -15160,7 +15183,8 @@
15160
15183
 
15161
15184
  const noiseMerge = signalNoiseMerge.selectAll('.noise').attr('tabindex', this.interactive ? 0 : null).classed('interactive', this.interactive).on('keydown', this.interactive ? event => {
15162
15185
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15163
- let muN = this.muN; // eslint-disable-line prefer-destructuring
15186
+ let muN = this.muN;
15187
+ /* eslint-disable-line prefer-destructuring */
15164
15188
 
15165
15189
  switch (event.key) {
15166
15190
  case 'ArrowRight':
@@ -15291,7 +15315,8 @@
15291
15315
 
15292
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 => {
15293
15317
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15294
- let muS = this.muS; // eslint-disable-line prefer-destructuring
15318
+ let muS = this.muS;
15319
+ /* eslint-disable-line prefer-destructuring */
15295
15320
 
15296
15321
  switch (event.key) {
15297
15322
  case 'ArrowRight':
@@ -15316,7 +15341,8 @@
15316
15341
  }
15317
15342
  } : null).on('keydown.variance', this.unequal ? event => {
15318
15343
  if (['ArrowUp', 'ArrowDown'].includes(event.key)) {
15319
- let hS = this.hS; // eslint-disable-line prefer-destructuring
15344
+ let hS = this.hS;
15345
+ /* eslint-disable-line prefer-destructuring */
15320
15346
 
15321
15347
  switch (event.key) {
15322
15348
  case 'ArrowUp':
@@ -15473,7 +15499,7 @@
15473
15499
  const interpolateD = interpolate$1(element.d !== undefined ? element.d : this.d, this.d);
15474
15500
  return time => {
15475
15501
  element.d = interpolateD(time);
15476
- select(element).text(+element.d.toFixed(3));
15502
+ select(element).text(format('.3')(element.d));
15477
15503
  };
15478
15504
  }); // EXIT
15479
15505
 
@@ -15504,7 +15530,7 @@
15504
15530
  const interpolateC = interpolate$1(element.c !== undefined ? element.c : this.c, this.c);
15505
15531
  return time => {
15506
15532
  element.c = interpolateC(time);
15507
- select(element).text(+element.c.toFixed(3));
15533
+ select(element).text(format('.3')(element.c));
15508
15534
  };
15509
15535
  }); // EXIT
15510
15536
 
@@ -15539,7 +15565,7 @@
15539
15565
  const interpolateS = interpolate$1(element.s !== undefined ? element.s : this.s, this.s);
15540
15566
  return time => {
15541
15567
  element.s = interpolateS(time);
15542
- select(element).text(+element.s.toFixed(3));
15568
+ select(element).text(format('.3')(element.s));
15543
15569
  };
15544
15570
  }); // EXIT
15545
15571
 
@@ -15558,7 +15584,8 @@
15558
15584
  if (this.interactive) {
15559
15585
  thresholdMerge.call(dragThreshold).on('keydown', event => {
15560
15586
  if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
15561
- let l = this.l; // eslint-disable-line prefer-destructuring
15587
+ let l = this.l;
15588
+ /* eslint-disable-line prefer-destructuring */
15562
15589
 
15563
15590
  switch (event.key) {
15564
15591
  case 'ArrowRight':
@@ -15808,14 +15835,14 @@
15808
15835
  }
15809
15836
  customElements.define('sdt-model', SDTModel);
15810
15837
 
15811
- let _$a = t => t,
15812
- _t$a,
15813
- _t2$9,
15814
- _t3$8,
15815
- _t4$8,
15816
- _t5$8,
15817
- _t6$8,
15818
- _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,
15819
15846
  _t8$6,
15820
15847
  _t9$6,
15821
15848
  _t10$6,
@@ -16075,7 +16102,7 @@
16075
16102
  }
16076
16103
 
16077
16104
  static get styles() {
16078
- return [super.styles, r$2(_t$a || (_t$a = _$a`
16105
+ return [super.styles, r$2(_t$c || (_t$c = _$c`
16079
16106
  :host {
16080
16107
  display: inline-block;
16081
16108
  }
@@ -16147,6 +16174,11 @@
16147
16174
  border: 1px solid var(---color-element-border);
16148
16175
  }
16149
16176
 
16177
+ :host([payoff="trial"]) .feedback,
16178
+ :host([payoff="total"]) .feedback {
16179
+ height: 5rem;
16180
+ }
16181
+
16150
16182
  .feedback.h {
16151
16183
  background-color: var(---color-h-light);
16152
16184
  }
@@ -16182,59 +16214,76 @@
16182
16214
  line-height: 1.15;
16183
16215
  }
16184
16216
 
16185
- :host([payoff="trial"]) .feedback,
16186
- :host([payoff="total"]) .feedback {
16187
- height: 4rem;
16188
- }
16189
-
16190
16217
  /* Payoff feedback */
16191
- .payoff {
16218
+ .total {
16192
16219
  text-align: center;
16193
16220
  }
16194
16221
 
16195
- .payoff .label {
16222
+ .total .label {
16196
16223
  font-weight: 600;
16197
16224
  }
16198
16225
  `))];
16199
16226
  }
16200
16227
 
16201
16228
  render() {
16202
- 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`
16203
16252
  <div class="holder">
16204
16253
  <div class="responses">
16205
16254
  <decidables-button name="present" class=${0} ?disabled=${0} @click=${0}>Present</decidables-button>
16206
16255
  <decidables-button name="absent" class=${0} ?disabled=${0} @click=${0}>Absent</decidables-button>
16207
16256
  </div>
16208
16257
  ${0}
16209
- </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`
16210
16259
  <div class="feedbacks">
16211
16260
  ${0}
16212
16261
  ${0}
16213
16262
  ${0}
16214
- </div>`), this.trial ? $(_t4$8 || (_t4$8 = _$a`
16263
+ </div>`), this.trial ? $(_t4$a || (_t4$a = _$c`
16215
16264
  <div class="trial">
16216
16265
  <span class="label">Trial: </span><span class="count">${0}</span><span class="of"> of </span><span class="total">${0}</span>
16217
- </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`
16218
16267
  <div class=${0}>
16219
16268
  ${0}
16220
16269
  ${0}
16221
- </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`
16222
- <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">
16223
16272
  <span class="label">Total: </span><span class="value">${0}</span>
16224
- </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``)));
16225
16274
  }
16226
16275
 
16227
16276
  }
16228
16277
  customElements.define('detectable-response', DetectableResponse);
16229
16278
 
16230
- let _$9 = t => t,
16231
- _t$9,
16232
- _t2$8,
16233
- _t3$7,
16234
- _t4$7,
16235
- _t5$7,
16236
- _t6$7,
16237
- _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,
16238
16287
  _t8$5,
16239
16288
  _t9$5,
16240
16289
  _t10$5,
@@ -16381,8 +16430,8 @@
16381
16430
  this.numeric = false;
16382
16431
  this.summaries = ['stimulusRates', 'responseRates', 'accuracy'];
16383
16432
  this.summary = new Set();
16384
- this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
16385
- this.color = 'outcome';
16433
+ this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
16434
+ this.color = 'all';
16386
16435
  this.h = 40;
16387
16436
  this.m = 60;
16388
16437
  this.fa = 75;
@@ -16521,7 +16570,7 @@
16521
16570
  }
16522
16571
 
16523
16572
  static get styles() {
16524
- return [super.styles, r$2(_t$9 || (_t$9 = _$9`
16573
+ return [super.styles, r$2(_t$b || (_t$b = _$b`
16525
16574
  :host {
16526
16575
  display: inline-block;
16527
16576
  }
@@ -16584,7 +16633,7 @@
16584
16633
 
16585
16634
  /* Color schemes & Table emphasis */
16586
16635
 
16587
- /* (Default) Outcome color scheme */
16636
+ /* (Default) All color scheme */
16588
16637
  .h {
16589
16638
  background: var(---color-h-light);
16590
16639
  border-top: 2px solid var(---color-element-emphasis);
@@ -16683,6 +16732,15 @@
16683
16732
  background: var(---color-element-background);
16684
16733
  }
16685
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
+
16686
16744
  /* No color scheme */
16687
16745
  :host([color="none"]) .cr,
16688
16746
  :host([color="none"]) .fa,
@@ -16705,6 +16763,22 @@
16705
16763
  minimumFractionDigits: 0,
16706
16764
  maximumFractionDigits: 0
16707
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
+
16708
16782
  this.alignState();
16709
16783
  let h;
16710
16784
  let m;
@@ -16717,72 +16791,72 @@
16717
16791
  let fomr;
16718
16792
 
16719
16793
  if (this.numeric) {
16720
- h = $(_t2$8 || (_t2$8 = _$9`
16794
+ h = $(_t2$a || (_t2$a = _$b`
16721
16795
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16722
16796
  <span>Hits</span>
16723
16797
  ${0}
16724
16798
  </decidables-spinner>
16725
- `), !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``)));
16726
- 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`
16727
16801
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16728
16802
  <span>Misses</span>
16729
16803
  ${0}
16730
16804
  </decidables-spinner>
16731
- `), !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``)));
16732
- 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`
16733
16807
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16734
16808
  <span>False Alarms</span>
16735
16809
  ${0}
16736
16810
  </decidables-spinner>
16737
- `), !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``)));
16738
- 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`
16739
16813
  <decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
16740
16814
  <span>Correct Rejections</span>
16741
16815
  ${0}
16742
16816
  </decidables-spinner>
16743
- `), !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``)));
16744
- 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`
16745
16819
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16746
16820
  <span>Hit Rate</span>
16747
16821
  </decidables-spinner>
16748
16822
  `), !this.interactive, +this.hr.toFixed(3), this.hrInput.bind(this));
16749
- far = $(_t15 || (_t15 = _$9`
16823
+ far = $(_t15 || (_t15 = _$b`
16750
16824
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16751
16825
  <span>False Alarm Rate</span>
16752
16826
  </decidables-spinner>
16753
16827
  `), !this.interactive, +this.far.toFixed(3), this.farInput.bind(this));
16754
- acc = $(_t16 || (_t16 = _$9`
16828
+ acc = $(_t16 || (_t16 = _$b`
16755
16829
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16756
16830
  <span>Accuracy</span>
16757
16831
  </decidables-spinner>
16758
16832
  `), !this.interactive, +this.acc.toFixed(3), this.accInput.bind(this));
16759
- ppv = $(_t17 || (_t17 = _$9`
16833
+ ppv = $(_t17 || (_t17 = _$b`
16760
16834
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16761
16835
  <span>Positive Predictive Value</span>
16762
16836
  </decidables-spinner>
16763
16837
  `), !this.interactive, +this.ppv.toFixed(3), this.ppvInput.bind(this));
16764
- fomr = $(_t18 || (_t18 = _$9`
16838
+ fomr = $(_t18 || (_t18 = _$b`
16765
16839
  <decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
16766
16840
  <span>False Omission Rate</span>
16767
16841
  </decidables-spinner>
16768
16842
  `), !this.interactive, +this.fomr.toFixed(3), this.fomrInput.bind(this));
16769
16843
  } else {
16770
- h = $(_t19 || (_t19 = _$9`<span>Hits</span>
16771
- ${0}`), this.payoff ? $(_t20 || (_t20 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.hPayoff)) : $(_t21 || (_t21 = _$9``)));
16772
- m = $(_t22 || (_t22 = _$9`<span>Misses</span>
16773
- ${0}`), this.payoff ? $(_t23 || (_t23 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.mPayoff)) : $(_t24 || (_t24 = _$9``)));
16774
- fa = $(_t25 || (_t25 = _$9`<span>False Alarms</span>
16775
- ${0}`), this.payoff ? $(_t26 || (_t26 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.faPayoff)) : $(_t27 || (_t27 = _$9``)));
16776
- cr = $(_t28 || (_t28 = _$9`<span>Correct Rejections</span>
16777
- ${0}`), this.payoff ? $(_t29 || (_t29 = _$9`<span class="payoff">${0}</span>`), payoffFormatter.format(this.crPayoff)) : $(_t30 || (_t30 = _$9``)));
16778
- hr = $(_t31 || (_t31 = _$9`<span>Hit Rate</span>`));
16779
- far = $(_t32 || (_t32 = _$9`<span>False Alarm Rate</span>`));
16780
- acc = $(_t33 || (_t33 = _$9`<span>Accuracy</span>`));
16781
- ppv = $(_t34 || (_t34 = _$9`<span>Positive Predictive Value</span>`));
16782
- 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>`));
16783
16857
  }
16784
16858
 
16785
- return $(_t36 || (_t36 = _$9`
16859
+ return $(_t36 || (_t36 = _$b`
16786
16860
  <table class=${0}>
16787
16861
  <thead>
16788
16862
  <tr>
@@ -16793,10 +16867,10 @@
16793
16867
  </tr>
16794
16868
  <tr>
16795
16869
  <th class="th th-sub" scope="col">
16796
- "Present"
16870
+ Present
16797
16871
  </th>
16798
16872
  <th class="th th-sub" scope="col">
16799
- "Absent"
16873
+ Absent
16800
16874
  </th>
16801
16875
  </tr>
16802
16876
  </thead>
@@ -16830,35 +16904,35 @@
16830
16904
  </tr>
16831
16905
  ${0}
16832
16906
  </tbody>
16833
- </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`
16834
16908
  <td class="td td-summary hr">
16835
16909
  ${0}
16836
- </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`
16837
16911
  <td class="td td-summary far">
16838
16912
  ${0}
16839
- </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`
16840
16914
  <tr>
16841
16915
  <td colspan="2"></td>
16842
16916
  ${0}
16843
16917
  ${0}
16844
- </tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$9`
16918
+ </tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$b`
16845
16919
  <td class="td td-summary ppv">
16846
16920
  ${0}
16847
16921
  </td>
16848
16922
  <td class="td td-summary fomr">
16849
16923
  ${0}
16850
- </td>`), ppv, fomr) : $(_t43 || (_t43 = _$9`
16851
- <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`
16852
16926
  <td class="td td-summary acc" rowspan="2">
16853
16927
  ${0}
16854
- </td>`), acc) : $(_t45 || (_t45 = _$9``))) : $(_t46 || (_t46 = _$9``)));
16928
+ </td>`), acc) : $(_t45 || (_t45 = _$b``))) : $(_t46 || (_t46 = _$b``)));
16855
16929
  }
16856
16930
 
16857
16931
  }
16858
16932
  customElements.define('detectable-table', DetectableTable);
16859
16933
 
16860
- let _$8 = t => t,
16861
- _t$8;
16934
+ let _$a = t => t,
16935
+ _t$a;
16862
16936
  /*
16863
16937
  SDTEquation Base Class - Not intended for instantiation!
16864
16938
  <sdt-equation>
@@ -16881,7 +16955,7 @@
16881
16955
  }
16882
16956
 
16883
16957
  static get styles() {
16884
- return [super.styles, r$2(_t$8 || (_t$8 = _$8`
16958
+ return [super.styles, r$2(_t$a || (_t$a = _$a`
16885
16959
  :host {
16886
16960
  display: block;
16887
16961
 
@@ -16900,6 +16974,7 @@
16900
16974
  /* Overall <table> */
16901
16975
  .equation {
16902
16976
  text-align: center;
16977
+ white-space: nowrap;
16903
16978
 
16904
16979
  border-collapse: collapse;
16905
16980
 
@@ -16919,6 +16994,10 @@
16919
16994
  font-style: normal;
16920
16995
  }
16921
16996
 
16997
+ var {
16998
+ border-radius: var(---border-radius);
16999
+ }
17000
+
16922
17001
  .tight {
16923
17002
  padding: 0;
16924
17003
  }
@@ -16944,6 +17023,8 @@
16944
17023
  padding: 0.125rem 0.375rem 0.375rem;
16945
17024
 
16946
17025
  vertical-align: middle;
17026
+
17027
+ border-radius: var(---border-radius);
16947
17028
  }
16948
17029
 
16949
17030
  .bottom {
@@ -16967,6 +17048,14 @@
16967
17048
  background: var(---color-fa-light);
16968
17049
  }
16969
17050
 
17051
+ .ppv {
17052
+ background: var(---color-present-light);
17053
+ }
17054
+
17055
+ .fomr {
17056
+ background: var(---color-absent-light);
17057
+ }
17058
+
16970
17059
  .acc {
16971
17060
  background: var(---color-acc-light);
16972
17061
  }
@@ -16995,14 +17084,14 @@
16995
17084
 
16996
17085
  }
16997
17086
 
16998
- let _$7 = t => t,
16999
- _t$7,
17000
- _t2$7,
17001
- _t3$6,
17002
- _t4$6,
17003
- _t5$6,
17004
- _t6$6,
17005
- _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,
17006
17095
  _t8$4,
17007
17096
  _t9$4,
17008
17097
  _t10$4,
@@ -17097,37 +17186,37 @@
17097
17186
  let far;
17098
17187
 
17099
17188
  if (this.numeric) {
17100
- d = $(_t$7 || (_t$7 = _$7`
17189
+ d = $(_t$9 || (_t$9 = _$9`
17101
17190
  <decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17102
17191
  <var class="math-var">d′</var>
17103
17192
  </decidables-spinner>
17104
17193
  `), !this.interactive, this.d, this.dInput.bind(this));
17105
- c = $(_t2$7 || (_t2$7 = _$7`
17194
+ c = $(_t2$9 || (_t2$9 = _$9`
17106
17195
  <decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17107
17196
  <var class="math-var">c</var>
17108
17197
  </decidables-spinner>
17109
17198
  `), !this.interactive, this.c, this.cInput.bind(this));
17110
- s = $(_t3$6 || (_t3$6 = _$7`
17199
+ s = $(_t3$8 || (_t3$8 = _$9`
17111
17200
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17112
17201
  <var class="math-var">σ</var>
17113
17202
  </decidables-spinner>
17114
17203
  `), !this.interactive, this.s, this.sInput.bind(this));
17115
- far = $(_t4$6 || (_t4$6 = _$7`
17204
+ far = $(_t4$8 || (_t4$8 = _$9`
17116
17205
  <decidables-spinner class="far bottom" disabled min="0" max="1" step=".001" .value="${0}">
17117
17206
  <var>False Alarm Rate</var>
17118
17207
  </decidables-spinner>
17119
17208
  `), +this.far.toFixed(3));
17120
17209
  } else {
17121
- d = $(_t5$6 || (_t5$6 = _$7`<var class="math-var d">d′</var>`));
17122
- c = $(_t6$6 || (_t6$6 = _$7`<var class="math-var c">c</var>`));
17123
- s = $(_t7$6 || (_t7$6 = _$7`<var class="math-var s">σ</var>`));
17124
- 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>`));
17125
17214
  }
17126
17215
 
17127
17216
  let equation;
17128
17217
 
17129
17218
  if (this.unequal) {
17130
- equation = $(_t9$4 || (_t9$4 = _$7`
17219
+ equation = $(_t9$4 || (_t9$4 = _$9`
17131
17220
  <tr>
17132
17221
  <td rowspan="2">
17133
17222
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
@@ -17154,7 +17243,7 @@
17154
17243
  </td>
17155
17244
  </tr>`), far, s, d, c, s);
17156
17245
  } else {
17157
- equation = $(_t10$4 || (_t10$4 = _$7`
17246
+ equation = $(_t10$4 || (_t10$4 = _$9`
17158
17247
  <tr>
17159
17248
  <td rowspan="2">
17160
17249
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="minus tight">−</span>
@@ -17173,7 +17262,7 @@
17173
17262
  </tr>`), far, d, c);
17174
17263
  }
17175
17264
 
17176
- return $(_t11$4 || (_t11$4 = _$7`
17265
+ return $(_t11$4 || (_t11$4 = _$9`
17177
17266
  <div class="holder">
17178
17267
  <table class="equation">
17179
17268
  <tbody>
@@ -17186,14 +17275,14 @@
17186
17275
  }
17187
17276
  customElements.define('sdt-equation-dc2far', SDTEquationDC2Far);
17188
17277
 
17189
- let _$6 = t => t,
17190
- _t$6,
17191
- _t2$6,
17192
- _t3$5,
17193
- _t4$5,
17194
- _t5$5,
17195
- _t6$5,
17196
- _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,
17197
17286
  _t8$3,
17198
17287
  _t9$3,
17199
17288
  _t10$3,
@@ -17288,37 +17377,37 @@
17288
17377
  let hr;
17289
17378
 
17290
17379
  if (this.numeric) {
17291
- d = $(_t$6 || (_t$6 = _$6`
17380
+ d = $(_t$8 || (_t$8 = _$8`
17292
17381
  <decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17293
17382
  <var class="math-var">d′</var>
17294
17383
  </decidables-spinner>
17295
17384
  `), !this.interactive, this.d, this.dInput.bind(this));
17296
- c = $(_t2$6 || (_t2$6 = _$6`
17385
+ c = $(_t2$8 || (_t2$8 = _$8`
17297
17386
  <decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
17298
17387
  <var class="math-var">c</var>
17299
17388
  </decidables-spinner>
17300
17389
  `), !this.interactive, this.c, this.cInput.bind(this));
17301
- s = $(_t3$5 || (_t3$5 = _$6`
17390
+ s = $(_t3$7 || (_t3$7 = _$8`
17302
17391
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17303
17392
  <var class="math-var">σ</var>
17304
17393
  </decidables-spinner>
17305
17394
  `), !this.interactive, this.s, this.sInput.bind(this));
17306
- hr = $(_t4$5 || (_t4$5 = _$6`
17395
+ hr = $(_t4$7 || (_t4$7 = _$8`
17307
17396
  <decidables-spinner class="hr bottom" disabled min="0" max="1" step=".001" .value="${0}">
17308
17397
  <var>Hit Rate</var>
17309
17398
  </decidables-spinner>
17310
17399
  `), +this.hr.toFixed(3));
17311
17400
  } else {
17312
- d = $(_t5$5 || (_t5$5 = _$6`<var class="math-var d">d′</var>`));
17313
- c = $(_t6$5 || (_t6$5 = _$6`<var class="math-var c">c</var>`));
17314
- s = $(_t7$5 || (_t7$5 = _$6`<var class="math-var s">σ</var>`));
17315
- 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>`));
17316
17405
  }
17317
17406
 
17318
17407
  let equation;
17319
17408
 
17320
17409
  if (this.unequal) {
17321
- equation = $(_t9$3 || (_t9$3 = _$6`
17410
+ equation = $(_t9$3 || (_t9$3 = _$8`
17322
17411
  <tr>
17323
17412
  <td rowspan="2">
17324
17413
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
@@ -17354,7 +17443,7 @@
17354
17443
  </td>
17355
17444
  </tr>`), hr, s, d, c, s, s);
17356
17445
  } else {
17357
- equation = $(_t10$3 || (_t10$3 = _$6`
17446
+ equation = $(_t10$3 || (_t10$3 = _$8`
17358
17447
  <tr>
17359
17448
  <td rowspan="2">
17360
17449
  ${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span>
@@ -17373,7 +17462,7 @@
17373
17462
  </tr>`), hr, d, c);
17374
17463
  }
17375
17464
 
17376
- return $(_t11$3 || (_t11$3 = _$6`
17465
+ return $(_t11$3 || (_t11$3 = _$8`
17377
17466
  <div class="holder">
17378
17467
  <table class="equation">
17379
17468
  <tbody>
@@ -17386,14 +17475,14 @@
17386
17475
  }
17387
17476
  customElements.define('sdt-equation-dc2hr', SDTEquationDC2Hr);
17388
17477
 
17389
- let _$5 = t => t,
17390
- _t$5,
17391
- _t2$5,
17392
- _t3$4,
17393
- _t4$4,
17394
- _t5$4,
17395
- _t6$4,
17396
- _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;
17397
17486
  /*
17398
17487
  SDTEquationFaCr2Far element
17399
17488
  <sdt-equation-facr2far>
@@ -17464,28 +17553,28 @@
17464
17553
  let far;
17465
17554
 
17466
17555
  if (this.numeric) {
17467
- fa = $(_t$5 || (_t$5 = _$5`
17556
+ fa = $(_t$7 || (_t$7 = _$7`
17468
17557
  <decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17469
17558
  <var>False Alarms</var>
17470
17559
  </decidables-spinner>
17471
17560
  `), !this.interactive, this.fa, this.faInput.bind(this));
17472
- cr = $(_t2$5 || (_t2$5 = _$5`
17561
+ cr = $(_t2$7 || (_t2$7 = _$7`
17473
17562
  <decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17474
17563
  <var>Correct Rejections</var>
17475
17564
  </decidables-spinner>
17476
17565
  `), !this.interactive, this.cr, this.crInput.bind(this));
17477
- far = $(_t3$4 || (_t3$4 = _$5`
17566
+ far = $(_t3$6 || (_t3$6 = _$7`
17478
17567
  <decidables-spinner class="far" disabled min="0" max="1" step=".001" .value="${0}">
17479
17568
  <var>False Alarm Rate</var>
17480
17569
  </decidables-spinner>
17481
17570
  `), +this.far.toFixed(3));
17482
17571
  } else {
17483
- fa = $(_t4$4 || (_t4$4 = _$5`<var class="fa">False Alarms</var>`));
17484
- cr = $(_t5$4 || (_t5$4 = _$5`<var class="cr">Correct Rejections</var>`));
17485
- 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>`));
17486
17575
  }
17487
17576
 
17488
- return $(_t7$4 || (_t7$4 = _$5`
17577
+ return $(_t7$6 || (_t7$6 = _$7`
17489
17578
  <div class="holder">
17490
17579
  <table class="equation">
17491
17580
  <tbody>
@@ -17510,23 +17599,23 @@
17510
17599
  }
17511
17600
  customElements.define('sdt-equation-facr2far', SDTEquationFaCr2Far);
17512
17601
 
17513
- let _$4 = t => t,
17514
- _t$4,
17515
- _t2$4,
17516
- _t3$3,
17517
- _t4$3,
17518
- _t5$3,
17519
- _t6$3,
17520
- _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;
17521
17610
  /*
17522
- SDTEquationHM2Hr element
17611
+ SDTEquationHFa2Ppv element
17523
17612
  <sdt-equation-hm2hr>
17524
17613
 
17525
17614
  Attributes:
17526
17615
  Hits; Misses; Hit Rate;
17527
17616
  */
17528
17617
 
17529
- class SDTEquationHM2Hr extends SDTEquation {
17618
+ class SDTEquationHFa2Ppv extends SDTEquation {
17530
17619
  static get properties() {
17531
17620
  return {
17532
17621
  h: {
@@ -17534,12 +17623,12 @@
17534
17623
  type: Number,
17535
17624
  reflect: true
17536
17625
  },
17537
- m: {
17538
- attribute: 'misses',
17626
+ fa: {
17627
+ attribute: 'false-alarms',
17539
17628
  type: Number,
17540
17629
  reflect: true
17541
17630
  },
17542
- hr: {
17631
+ ppv: {
17543
17632
  attribute: false,
17544
17633
  type: Number,
17545
17634
  reflect: false
@@ -17550,12 +17639,137 @@
17550
17639
  constructor() {
17551
17640
  super();
17552
17641
  this.h = 0;
17553
- this.m = 0;
17642
+ this.fa = 0;
17554
17643
  this.alignState();
17555
17644
  }
17556
17645
 
17557
17646
  alignState() {
17558
- this.hr = SDTMath.hM2Hr(this.h, this.m);
17647
+ this.ppv = SDTMath.hFa2Ppv(this.h, this.fa);
17648
+ }
17649
+
17650
+ sendEvent() {
17651
+ this.dispatchEvent(new CustomEvent('sdt-equation-hfa2ppv-change', {
17652
+ detail: {
17653
+ h: this.h,
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);
17559
17773
  }
17560
17774
 
17561
17775
  sendEvent() {
@@ -17588,28 +17802,28 @@
17588
17802
  let hr;
17589
17803
 
17590
17804
  if (this.numeric) {
17591
- h = $(_t$4 || (_t$4 = _$4`
17805
+ h = $(_t$5 || (_t$5 = _$5`
17592
17806
  <decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17593
17807
  <var>Hits</var>
17594
17808
  </decidables-spinner>
17595
17809
  `), !this.interactive, this.h, this.hInput.bind(this));
17596
- m = $(_t2$4 || (_t2$4 = _$4`
17810
+ m = $(_t2$5 || (_t2$5 = _$5`
17597
17811
  <decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17598
17812
  <var>Misses</var>
17599
17813
  </decidables-spinner>
17600
17814
  `), !this.interactive, this.m, this.mInput.bind(this));
17601
- hr = $(_t3$3 || (_t3$3 = _$4`
17815
+ hr = $(_t3$4 || (_t3$4 = _$5`
17602
17816
  <decidables-spinner class="hr" disabled min="0" max="1" step=".001" .value="${0}">
17603
17817
  <var>Hit Rate</var>
17604
17818
  </decidables-spinner>
17605
17819
  `), +this.hr.toFixed(3));
17606
17820
  } else {
17607
- h = $(_t4$3 || (_t4$3 = _$4`<var class="h">Hits</var>`));
17608
- m = $(_t5$3 || (_t5$3 = _$4`<var class="m">Misses</var>`));
17609
- 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>`));
17610
17824
  }
17611
17825
 
17612
- return $(_t7$3 || (_t7$3 = _$4`
17826
+ return $(_t7$4 || (_t7$4 = _$5`
17613
17827
  <div class="holder">
17614
17828
  <table class="equation">
17615
17829
  <tbody>
@@ -17635,14 +17849,14 @@
17635
17849
  }
17636
17850
  customElements.define('sdt-equation-hm2hr', SDTEquationHM2Hr);
17637
17851
 
17638
- let _$3 = t => t,
17639
- _t$3,
17640
- _t2$3,
17641
- _t3$2,
17642
- _t4$2,
17643
- _t5$2,
17644
- _t6$2,
17645
- _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,
17646
17860
  _t8$2,
17647
17861
  _t9$2,
17648
17862
  _t10$2,
@@ -17745,40 +17959,40 @@
17745
17959
  let acc;
17746
17960
 
17747
17961
  if (this.numeric) {
17748
- h = $(_t$3 || (_t$3 = _$3`
17962
+ h = $(_t$4 || (_t$4 = _$4`
17749
17963
  <decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17750
17964
  <var>Hits</var>
17751
17965
  </decidables-spinner>
17752
17966
  `), !this.interactive, this.h, this.hInput.bind(this));
17753
- m = $(_t2$3 || (_t2$3 = _$3`
17967
+ m = $(_t2$4 || (_t2$4 = _$4`
17754
17968
  <decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17755
17969
  <var>Misses</var>
17756
17970
  </decidables-spinner>
17757
17971
  `), !this.interactive, this.m, this.mInput.bind(this));
17758
- fa = $(_t3$2 || (_t3$2 = _$3`
17972
+ fa = $(_t3$3 || (_t3$3 = _$4`
17759
17973
  <decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17760
17974
  <var>False Alarms</var>
17761
17975
  </decidables-spinner>
17762
17976
  `), !this.interactive, this.fa, this.faInput.bind(this));
17763
- cr = $(_t4$2 || (_t4$2 = _$3`
17977
+ cr = $(_t4$3 || (_t4$3 = _$4`
17764
17978
  <decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
17765
17979
  <var>Correct Rejections</var>
17766
17980
  </decidables-spinner>
17767
17981
  `), !this.interactive, this.cr, this.crInput.bind(this));
17768
- acc = $(_t5$2 || (_t5$2 = _$3`
17982
+ acc = $(_t5$3 || (_t5$3 = _$4`
17769
17983
  <decidables-spinner class="acc" disabled min="0" max="1" step=".001" .value="${0}">
17770
17984
  <var>Accuracy</var>
17771
17985
  </decidables-spinner>
17772
17986
  `), +this.acc.toFixed(3));
17773
17987
  } else {
17774
- h = $(_t6$2 || (_t6$2 = _$3`<var class="h">Hits</var>`));
17775
- m = $(_t7$2 || (_t7$2 = _$3`<var class="m">Misses</var>`));
17776
- fa = $(_t8$2 || (_t8$2 = _$3`<var class="fa">False Alarms</var>`));
17777
- cr = $(_t9$2 || (_t9$2 = _$3`<var class="cr">Correct Rejections</var>`));
17778
- 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>`));
17779
17993
  }
17780
17994
 
17781
- return $(_t11$2 || (_t11$2 = _$3`
17995
+ return $(_t11$2 || (_t11$2 = _$4`
17782
17996
  <div class="holder">
17783
17997
  <table class="equation">
17784
17998
  <tbody>
@@ -17797,20 +18011,20 @@
17797
18011
  </tr>
17798
18012
  </tbody>
17799
18013
  </table>
17800
- </div>`), acc, h, cr, h, m, fa, cr);
18014
+ </div>`), acc, h, cr, h, cr, m, fa);
17801
18015
  }
17802
18016
 
17803
18017
  }
17804
18018
  customElements.define('sdt-equation-hmfacr2acc', SDTEquationHMFaCr2Acc);
17805
18019
 
17806
- let _$2 = t => t,
17807
- _t$2,
17808
- _t2$2,
17809
- _t3$1,
17810
- _t4$1,
17811
- _t5$1,
17812
- _t6$1,
17813
- _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,
17814
18028
  _t8$1,
17815
18029
  _t9$1,
17816
18030
  _t10$1,
@@ -17905,37 +18119,37 @@
17905
18119
  let c;
17906
18120
 
17907
18121
  if (this.numeric) {
17908
- hr = $(_t$2 || (_t$2 = _$2`
18122
+ hr = $(_t$3 || (_t$3 = _$3`
17909
18123
  <decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
17910
18124
  <var>Hit Rate</var>
17911
18125
  </decidables-spinner>
17912
18126
  `), !this.interactive, this.hr, this.hrInput.bind(this));
17913
- far = $(_t2$2 || (_t2$2 = _$2`
18127
+ far = $(_t2$3 || (_t2$3 = _$3`
17914
18128
  <decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
17915
18129
  <var>False Alarm Rate</var>
17916
18130
  </decidables-spinner>
17917
18131
  `), !this.interactive, this.far, this.farInput.bind(this));
17918
- s = $(_t3$1 || (_t3$1 = _$2`
18132
+ s = $(_t3$2 || (_t3$2 = _$3`
17919
18133
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
17920
18134
  <var class="math-var">σ</var>
17921
18135
  </decidables-spinner>
17922
18136
  `), !this.interactive, this.s, this.sInput.bind(this));
17923
- c = $(_t4$1 || (_t4$1 = _$2`
18137
+ c = $(_t4$2 || (_t4$2 = _$3`
17924
18138
  <decidables-spinner class="c bottom" disabled step=".001" .value="${0}">
17925
18139
  <var class="math-var">c</var>
17926
18140
  </decidables-spinner>
17927
18141
  `), +this.c.toFixed(3));
17928
18142
  } else {
17929
- hr = $(_t5$1 || (_t5$1 = _$2`<var class="hr">Hit Rate</var>`));
17930
- far = $(_t6$1 || (_t6$1 = _$2`<var class="far">False Alarm Rate</var>`));
17931
- s = $(_t7$1 || (_t7$1 = _$2`<var class="math-var s">σ</var>`));
17932
- 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>`));
17933
18147
  }
17934
18148
 
17935
18149
  let equation;
17936
18150
 
17937
18151
  if (this.unequal) {
17938
- equation = $(_t9$1 || (_t9$1 = _$2`
18152
+ equation = $(_t9$1 || (_t9$1 = _$3`
17939
18153
  <tr>
17940
18154
  <td rowspan="2">
17941
18155
  ${0}<span class="equals">=</span><span class="bracket tight">(</span>
@@ -17962,7 +18176,7 @@
17962
18176
  </td>
17963
18177
  </tr>`), c, s, s, hr, far, s);
17964
18178
  } else {
17965
- equation = $(_t10$1 || (_t10$1 = _$2`
18179
+ equation = $(_t10$1 || (_t10$1 = _$3`
17966
18180
  <tr>
17967
18181
  <td rowspan="2">
17968
18182
  ${0}<span class="equals">=</span>
@@ -17978,7 +18192,7 @@
17978
18192
  </tr>`), c, hr, far);
17979
18193
  }
17980
18194
 
17981
- return $(_t11$1 || (_t11$1 = _$2`
18195
+ return $(_t11$1 || (_t11$1 = _$3`
17982
18196
  <div class="holder">
17983
18197
  <table class="equation">
17984
18198
  <tbody>
@@ -17991,14 +18205,14 @@
17991
18205
  }
17992
18206
  customElements.define('sdt-equation-hrfar2c', SDTEquationHrFar2C);
17993
18207
 
17994
- let _$1 = t => t,
17995
- _t$1,
17996
- _t2$1,
17997
- _t3,
17998
- _t4,
17999
- _t5,
18000
- _t6,
18001
- _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,
18002
18216
  _t8,
18003
18217
  _t9,
18004
18218
  _t10,
@@ -18093,37 +18307,37 @@
18093
18307
  let d;
18094
18308
 
18095
18309
  if (this.numeric) {
18096
- hr = $(_t$1 || (_t$1 = _$1`
18310
+ hr = $(_t$2 || (_t$2 = _$2`
18097
18311
  <decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
18098
18312
  <var>Hit Rate</var>
18099
18313
  </decidables-spinner>
18100
18314
  `), !this.interactive, this.hr, this.hrInput.bind(this));
18101
- far = $(_t2$1 || (_t2$1 = _$1`
18315
+ far = $(_t2$2 || (_t2$2 = _$2`
18102
18316
  <decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
18103
18317
  <var>False Alarm Rate</var>
18104
18318
  </decidables-spinner>
18105
18319
  `), !this.interactive, this.far, this.farInput.bind(this));
18106
- s = $(_t3 || (_t3 = _$1`
18320
+ s = $(_t3$1 || (_t3$1 = _$2`
18107
18321
  <decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
18108
18322
  <var class="math-var">σ</var>
18109
18323
  </decidables-spinner>
18110
18324
  `), !this.interactive, this.s, this.sInput.bind(this));
18111
- d = $(_t4 || (_t4 = _$1`
18325
+ d = $(_t4$1 || (_t4$1 = _$2`
18112
18326
  <decidables-spinner class="d bottom" disabled step=".001" .value="${0}">
18113
18327
  <var class="math-var">d′</var>
18114
18328
  </decidables-spinner>
18115
18329
  `), +this.d.toFixed(3));
18116
18330
  } else {
18117
- hr = $(_t5 || (_t5 = _$1`<var class="hr">Hit Rate</var>`));
18118
- far = $(_t6 || (_t6 = _$1`<var class="far">False Alarm Rate</var>`));
18119
- s = $(_t7 || (_t7 = _$1`<var class="math-var s">σ</var>`));
18120
- 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>`));
18121
18335
  }
18122
18336
 
18123
18337
  let equation;
18124
18338
 
18125
18339
  if (this.unequal) {
18126
- equation = $(_t9 || (_t9 = _$1`
18340
+ equation = $(_t9 || (_t9 = _$2`
18127
18341
  <tr>
18128
18342
  <td rowspan="2">
18129
18343
  ${0}<span class="equals">=</span><span class="bracket tight">(</span>
@@ -18141,7 +18355,7 @@
18141
18355
  </td>
18142
18356
  </tr>`), d, s, s, hr, far);
18143
18357
  } else {
18144
- equation = $(_t10 || (_t10 = _$1`
18358
+ equation = $(_t10 || (_t10 = _$2`
18145
18359
  <tr>
18146
18360
  <td>
18147
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>
@@ -18149,7 +18363,7 @@
18149
18363
  </tr>`), d, hr, far);
18150
18364
  }
18151
18365
 
18152
- return $(_t11 || (_t11 = _$1`
18366
+ return $(_t11 || (_t11 = _$2`
18153
18367
  <div class="holder">
18154
18368
  <table class="equation">
18155
18369
  <tbody>
@@ -18162,6 +18376,131 @@
18162
18376
  }
18163
18377
  customElements.define('sdt-equation-hrfar2d', SDTEquationHrFar2D);
18164
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
+
18165
18504
  let _ = t => t,
18166
18505
  _t,
18167
18506
  _t2;
@@ -18174,7 +18513,6 @@
18174
18513
  static get styles() {
18175
18514
  return [super.styles, r$2(_t || (_t = _`
18176
18515
  :host {
18177
- ---border: var(--border, 1px solid var(---color-border));
18178
18516
  display: inline-block;
18179
18517
 
18180
18518
  margin-bottom: 1rem;
@@ -18195,7 +18533,7 @@
18195
18533
  padding: 0.625rem;
18196
18534
 
18197
18535
  border: var(---border);
18198
- border-radius: 0.25rem;
18536
+ border-radius: var(---border-radius);
18199
18537
  }
18200
18538
 
18201
18539
  .body ::slotted(*) {
@@ -18221,7 +18559,7 @@
18221
18559
  }
18222
18560
 
18223
18561
  render() {
18224
- // eslint-disable-line class-methods-use-this
18562
+ /* eslint-disable-line class-methods-use-this */
18225
18563
  return $(_t2 || (_t2 = _`
18226
18564
  <div class="holder">
18227
18565
  <div class="body">
@@ -18869,6 +19207,81 @@
18869
19207
  }
18870
19208
  customElements.define('sdt-example-model', SDTExampleModel);
18871
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
+
18872
19285
  /*
18873
19286
  SDTExampleUnequal element
18874
19287
  <sdt-example-unequal>
@@ -18888,15 +19301,13 @@
18888
19301
 
18889
19302
  if (this.rocSpace) {
18890
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
+ });
18891
19308
  }
18892
19309
 
18893
19310
  if (this.sdtModel) {
18894
- if (this.rocSpace) {
18895
- range(-1.5, 1.6, 0.5).forEach((c, index) => {
18896
- this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, '', this.sdtModel.s);
18897
- });
18898
- }
18899
-
18900
19311
  this.sdtModel.addEventListener('sdt-model-change', event => {
18901
19312
  if (this.rocSpace) {
18902
19313
  range(-1.5, 1.6, 0.5).forEach((c, index) => {
@@ -18919,14 +19330,17 @@
18919
19330
  exports.SDTEquationDC2Far = SDTEquationDC2Far;
18920
19331
  exports.SDTEquationDC2Hr = SDTEquationDC2Hr;
18921
19332
  exports.SDTEquationFaCr2Far = SDTEquationFaCr2Far;
19333
+ exports.SDTEquationHFa2Ppv = SDTEquationHFa2Ppv;
18922
19334
  exports.SDTEquationHM2Hr = SDTEquationHM2Hr;
18923
19335
  exports.SDTEquationHMFaCr2Acc = SDTEquationHMFaCr2Acc;
18924
19336
  exports.SDTEquationHrFar2C = SDTEquationHrFar2C;
18925
19337
  exports.SDTEquationHrFar2D = SDTEquationHrFar2D;
19338
+ exports.SDTEquationMCr2Fomr = SDTEquationMCr2Fomr;
18926
19339
  exports.SDTExampleDoubleInteractive = SDTExampleDoubleInteractive;
18927
19340
  exports.SDTExampleHuman = SDTExampleHuman;
18928
19341
  exports.SDTExampleInteractive = SDTExampleInteractive;
18929
19342
  exports.SDTExampleModel = SDTExampleModel;
19343
+ exports.SDTExampleMultiple = SDTExampleMultiple;
18930
19344
  exports.SDTExampleUnequal = SDTExampleUnequal;
18931
19345
  exports.SDTModel = SDTModel;
18932
19346