@decidables/detectable-elements 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +128 -5
- package/lib/detectableElements.esm.js +742 -367
- package/lib/detectableElements.esm.js.map +1 -1
- package/lib/detectableElements.esm.min.js +215 -129
- package/lib/detectableElements.esm.min.js.map +1 -1
- package/lib/detectableElements.umd.js +744 -366
- package/lib/detectableElements.umd.js.map +1 -1
- package/lib/detectableElements.umd.min.js +220 -134
- package/lib/detectableElements.umd.min.js.map +1 -1
- package/package.json +3 -3
- package/src/components/detectable-control.js +7 -6
- package/src/components/detectable-response.js +26 -11
- package/src/components/detectable-table.js +30 -13
- package/src/components/rdk-task.js +4 -6
- package/src/components/roc-space.js +5 -7
- package/src/components/sdt-model.js +13 -15
- package/src/equations/hfa2ppv.js +121 -0
- package/src/equations/hmfacr2acc.js +1 -1
- package/src/equations/index.js +2 -0
- package/src/equations/mcr2fomr.js +121 -0
- package/src/equations/sdt-equation.js +15 -0
- package/src/examples/index.js +1 -0
- package/src/examples/multiple.js +76 -0
- package/src/examples/sdt-example.js +2 -6
- package/src/examples/unequal.js +4 -6
|
@@ -372,7 +372,7 @@ const i = globalThis.trustedTypes,
|
|
|
372
372
|
v = /-->/g,
|
|
373
373
|
a = />/g,
|
|
374
374
|
f = />|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,
|
|
375
|
-
_$
|
|
375
|
+
_$p = /'/g,
|
|
376
376
|
m = /"/g,
|
|
377
377
|
g = /^(?:script|style|textarea|title)$/i,
|
|
378
378
|
p = t => (i, ...s) => ({
|
|
@@ -412,7 +412,7 @@ const i = globalThis.trustedTypes,
|
|
|
412
412
|
p = -1,
|
|
413
413
|
$ = 0;
|
|
414
414
|
|
|
415
|
-
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 : _$
|
|
415
|
+
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);
|
|
416
416
|
|
|
417
417
|
const y = d === f && t[i + 1].startsWith("/>") ? " " : "";
|
|
418
418
|
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);
|
|
@@ -6462,14 +6462,14 @@ function line (x$1, y$1) {
|
|
|
6462
6462
|
return line;
|
|
6463
6463
|
}
|
|
6464
6464
|
|
|
6465
|
-
let _$
|
|
6466
|
-
_t$
|
|
6467
|
-
_t2$
|
|
6468
|
-
_t3$
|
|
6469
|
-
_t4$
|
|
6470
|
-
_t5$
|
|
6471
|
-
_t6$
|
|
6472
|
-
_t7$
|
|
6465
|
+
let _$o = t => t,
|
|
6466
|
+
_t$o,
|
|
6467
|
+
_t2$m,
|
|
6468
|
+
_t3$c,
|
|
6469
|
+
_t4$c,
|
|
6470
|
+
_t5$c,
|
|
6471
|
+
_t6$c,
|
|
6472
|
+
_t7$c,
|
|
6473
6473
|
_t8$8,
|
|
6474
6474
|
_t9$8;
|
|
6475
6475
|
/*
|
|
@@ -6478,28 +6478,8 @@ let _$m = t => t,
|
|
|
6478
6478
|
*/
|
|
6479
6479
|
|
|
6480
6480
|
class DecidablesElement extends s {
|
|
6481
|
-
// HACK: Create a unique ID for each DecidablesElement
|
|
6482
|
-
// This is needed because Edge/IE11 don't have real Shadow DOM, so IDs leak
|
|
6483
|
-
// out of elements and collide if there is more than one of an element on a
|
|
6484
|
-
// page. Known issue for checkbox/switches and the id/for pattern on <input>
|
|
6485
|
-
// and <label>
|
|
6486
|
-
static get uniqueId() {
|
|
6487
|
-
DecidablesElement.ID += 1;
|
|
6488
|
-
return DecidablesElement.ID;
|
|
6489
|
-
}
|
|
6490
|
-
|
|
6491
|
-
constructor() {
|
|
6492
|
-
super();
|
|
6493
|
-
this.uniqueId = `decidables-${DecidablesElement.uniqueId}`;
|
|
6494
|
-
}
|
|
6495
|
-
|
|
6496
6481
|
getComputedStyleValue(property) {
|
|
6497
|
-
|
|
6498
|
-
if (window.ShadyCSS) {
|
|
6499
|
-
return window.ShadyCSS.getComputedStyleValue(this, property);
|
|
6500
|
-
}
|
|
6501
|
-
|
|
6502
|
-
return getComputedStyle(this).getPropertyValue(property);
|
|
6482
|
+
return getComputedStyle(this).getPropertyValue(property).trim();
|
|
6503
6483
|
}
|
|
6504
6484
|
|
|
6505
6485
|
firstUpdated(changedProperties) {
|
|
@@ -6669,11 +6649,11 @@ class DecidablesElement extends s {
|
|
|
6669
6649
|
}
|
|
6670
6650
|
|
|
6671
6651
|
static get svgFilters() {
|
|
6672
|
-
const shadows = DecidablesElement.shadows;
|
|
6652
|
+
const shadows = DecidablesElement.shadows;
|
|
6653
|
+
/* eslint-disable-line prefer-destructuring */
|
|
6673
6654
|
|
|
6674
|
-
const erodeRadius = 1;
|
|
6675
6655
|
const filters = shadows.elevations.map(z => {
|
|
6676
|
-
return y$1(_t$
|
|
6656
|
+
return y$1(_t$o || (_t$o = _$o`
|
|
6677
6657
|
<filter id=${0} x="-250%" y="-250%" width="600%" height="600%">
|
|
6678
6658
|
<feComponentTransfer in="SourceAlpha" result="solid">
|
|
6679
6659
|
<feFuncA type="table" tableValues="0 1 1"/>
|
|
@@ -6693,8 +6673,7 @@ class DecidablesElement extends s {
|
|
|
6693
6673
|
<feComposite in="opU" in2="blurU" result="shU" operator="in" />
|
|
6694
6674
|
<feComposite in="opP" in2="blurP" result="shP" operator="in" />
|
|
6695
6675
|
<feComposite in="opA" in2="blurA" result="shA" operator="in" />
|
|
6696
|
-
|
|
6697
|
-
<feMorphology in="solid" result="smaller" operator="erode" radius=${0} />
|
|
6676
|
+
<feMorphology in="solid" result="smaller" operator="erode" radius="1" />
|
|
6698
6677
|
<feComposite in="shU" in2="smaller" result="finalU" operator="out" />
|
|
6699
6678
|
<feComposite in="shP" in2="smaller" result="finalP" operator="out" />
|
|
6700
6679
|
<feComposite in="shA" in2="smaller" result="finalA" operator="out" />
|
|
@@ -6704,9 +6683,9 @@ class DecidablesElement extends s {
|
|
|
6704
6683
|
<feMergeNode in="finalA" />
|
|
6705
6684
|
<feMergeNode in="SourceGraphic" />
|
|
6706
6685
|
</feMerge>
|
|
6707
|
-
</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$
|
|
6686
|
+
</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);
|
|
6708
6687
|
});
|
|
6709
|
-
return y$1(_t8$8 || (_t8$8 = _$
|
|
6688
|
+
return y$1(_t8$8 || (_t8$8 = _$o`
|
|
6710
6689
|
<svg class="defs">
|
|
6711
6690
|
<defs>
|
|
6712
6691
|
${0}
|
|
@@ -6716,7 +6695,7 @@ class DecidablesElement extends s {
|
|
|
6716
6695
|
}
|
|
6717
6696
|
|
|
6718
6697
|
static get styles() {
|
|
6719
|
-
return r$2(_t9$8 || (_t9$8 = _$
|
|
6698
|
+
return r$2(_t9$8 || (_t9$8 = _$o`
|
|
6720
6699
|
:host {
|
|
6721
6700
|
---shadow-0: var(--shadow-0, ${0});
|
|
6722
6701
|
---shadow-2: var(--shadow-2, ${0});
|
|
@@ -6738,6 +6717,8 @@ class DecidablesElement extends s {
|
|
|
6738
6717
|
---font-family-base: var(--font-family-base, "Source Sans", sans-serif);
|
|
6739
6718
|
---font-family-math: var(--font-family-math, "Source Serif", serif);
|
|
6740
6719
|
|
|
6720
|
+
---border: var(--border, 1px solid var(---color-border));
|
|
6721
|
+
---border-radius: var(--border-radius, 0.25rem);
|
|
6741
6722
|
---transition-duration: var(--transition-duration, 500ms);
|
|
6742
6723
|
|
|
6743
6724
|
font-family: var(---font-family-base);
|
|
@@ -6771,16 +6752,14 @@ class DecidablesElement extends s {
|
|
|
6771
6752
|
width: 0;
|
|
6772
6753
|
height: 0;
|
|
6773
6754
|
}
|
|
6774
|
-
`), 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.
|
|
6755
|
+
`), 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));
|
|
6775
6756
|
}
|
|
6776
6757
|
|
|
6777
|
-
}
|
|
6778
|
-
|
|
6779
|
-
DecidablesElement.ID = 0;
|
|
6758
|
+
}
|
|
6780
6759
|
|
|
6781
|
-
let _$
|
|
6782
|
-
_t$
|
|
6783
|
-
_t2$
|
|
6760
|
+
let _$n = t => t,
|
|
6761
|
+
_t$n,
|
|
6762
|
+
_t2$l;
|
|
6784
6763
|
class DecidablesButton extends DecidablesElement {
|
|
6785
6764
|
static get properties() {
|
|
6786
6765
|
return {
|
|
@@ -6799,7 +6778,7 @@ class DecidablesButton extends DecidablesElement {
|
|
|
6799
6778
|
}
|
|
6800
6779
|
|
|
6801
6780
|
static get styles() {
|
|
6802
|
-
return [super.styles, r$2(_t$
|
|
6781
|
+
return [super.styles, r$2(_t$n || (_t$n = _$n`
|
|
6803
6782
|
:host {
|
|
6804
6783
|
margin: 0.25rem;
|
|
6805
6784
|
}
|
|
@@ -6815,7 +6794,7 @@ class DecidablesButton extends DecidablesElement {
|
|
|
6815
6794
|
color: var(---color-text-inverse);
|
|
6816
6795
|
|
|
6817
6796
|
border: 0;
|
|
6818
|
-
border-radius:
|
|
6797
|
+
border-radius: var(---border-radius);
|
|
6819
6798
|
outline: none;
|
|
6820
6799
|
}
|
|
6821
6800
|
|
|
@@ -6856,7 +6835,7 @@ class DecidablesButton extends DecidablesElement {
|
|
|
6856
6835
|
}
|
|
6857
6836
|
|
|
6858
6837
|
render() {
|
|
6859
|
-
return $(_t2$
|
|
6838
|
+
return $(_t2$l || (_t2$l = _$n`
|
|
6860
6839
|
<button ?disabled=${0}>
|
|
6861
6840
|
<slot></slot>
|
|
6862
6841
|
</button>
|
|
@@ -6874,9 +6853,9 @@ customElements.define('decidables-button', DecidablesButton);
|
|
|
6874
6853
|
|
|
6875
6854
|
const l = l => null != l ? l : w;
|
|
6876
6855
|
|
|
6877
|
-
let _$
|
|
6878
|
-
_t$
|
|
6879
|
-
_t2$
|
|
6856
|
+
let _$m = t => t,
|
|
6857
|
+
_t$m,
|
|
6858
|
+
_t2$k;
|
|
6880
6859
|
class DecidablesSlider extends DecidablesElement {
|
|
6881
6860
|
static get properties() {
|
|
6882
6861
|
return {
|
|
@@ -6933,7 +6912,7 @@ class DecidablesSlider extends DecidablesElement {
|
|
|
6933
6912
|
}
|
|
6934
6913
|
|
|
6935
6914
|
static get styles() {
|
|
6936
|
-
return [super.styles, r$2(_t$
|
|
6915
|
+
return [super.styles, r$2(_t$m || (_t$m = _$m`
|
|
6937
6916
|
:host {
|
|
6938
6917
|
---shadow-2-rotate: var(--shadow-2-rotate, ${0});
|
|
6939
6918
|
---shadow-4-rotate: var(--shadow-4-rotate, ${0});
|
|
@@ -7187,23 +7166,23 @@ class DecidablesSlider extends DecidablesElement {
|
|
|
7187
7166
|
}
|
|
7188
7167
|
|
|
7189
7168
|
render() {
|
|
7190
|
-
return $(_t2$
|
|
7191
|
-
<label for
|
|
7169
|
+
return $(_t2$k || (_t2$k = _$m`
|
|
7170
|
+
<label for="slider">
|
|
7192
7171
|
<slot></slot>
|
|
7193
7172
|
</label>
|
|
7194
7173
|
<div class="range">
|
|
7195
|
-
<input type="range" id
|
|
7174
|
+
<input type="range" id="slider" min=${0} max=${0} step=${0} .value=${0} @change=${0} @input=${0}>
|
|
7196
7175
|
</div>
|
|
7197
7176
|
<decidables-spinner min=${0} max=${0} step=${0} .value=${0} @input=${0}></decidables-spinner>
|
|
7198
|
-
`),
|
|
7177
|
+
`), l(this.min), l(this.max), l(this.step), this.value, this.changed.bind(this), this.inputted.bind(this), l(this.min), l(this.max), l(this.step), this.value, this.inputted.bind(this));
|
|
7199
7178
|
}
|
|
7200
7179
|
|
|
7201
7180
|
}
|
|
7202
7181
|
customElements.define('decidables-slider', DecidablesSlider);
|
|
7203
7182
|
|
|
7204
|
-
let _$
|
|
7205
|
-
_t$
|
|
7206
|
-
_t2$
|
|
7183
|
+
let _$l = t => t,
|
|
7184
|
+
_t$l,
|
|
7185
|
+
_t2$j;
|
|
7207
7186
|
class DecidablesSpinner extends DecidablesElement {
|
|
7208
7187
|
static get properties() {
|
|
7209
7188
|
return {
|
|
@@ -7250,7 +7229,7 @@ class DecidablesSpinner extends DecidablesElement {
|
|
|
7250
7229
|
}
|
|
7251
7230
|
|
|
7252
7231
|
static get styles() {
|
|
7253
|
-
return [super.styles, r$2(_t$
|
|
7232
|
+
return [super.styles, r$2(_t$l || (_t$l = _$l`
|
|
7254
7233
|
:host {
|
|
7255
7234
|
---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);
|
|
7256
7235
|
---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);
|
|
@@ -7333,7 +7312,7 @@ class DecidablesSpinner extends DecidablesElement {
|
|
|
7333
7312
|
}
|
|
7334
7313
|
|
|
7335
7314
|
render() {
|
|
7336
|
-
return $(_t2$
|
|
7315
|
+
return $(_t2$j || (_t2$j = _$l`
|
|
7337
7316
|
<label>
|
|
7338
7317
|
<slot></slot>
|
|
7339
7318
|
<input ?disabled=${0} type="number" min=${0} max=${0} step=${0} .value=${0} @input=${0}>
|
|
@@ -7344,9 +7323,9 @@ class DecidablesSpinner extends DecidablesElement {
|
|
|
7344
7323
|
}
|
|
7345
7324
|
customElements.define('decidables-spinner', DecidablesSpinner);
|
|
7346
7325
|
|
|
7347
|
-
let _$
|
|
7348
|
-
_t$
|
|
7349
|
-
_t2$
|
|
7326
|
+
let _$k = t => t,
|
|
7327
|
+
_t$k,
|
|
7328
|
+
_t2$i;
|
|
7350
7329
|
class DecidablesSwitch extends DecidablesElement {
|
|
7351
7330
|
static get properties() {
|
|
7352
7331
|
return {
|
|
@@ -7381,7 +7360,7 @@ class DecidablesSwitch extends DecidablesElement {
|
|
|
7381
7360
|
}
|
|
7382
7361
|
|
|
7383
7362
|
static get styles() {
|
|
7384
|
-
return [super.styles, r$2(_t$
|
|
7363
|
+
return [super.styles, r$2(_t$k || (_t$k = _$k`
|
|
7385
7364
|
:host {
|
|
7386
7365
|
display: flex;
|
|
7387
7366
|
|
|
@@ -7504,23 +7483,23 @@ class DecidablesSwitch extends DecidablesElement {
|
|
|
7504
7483
|
}
|
|
7505
7484
|
|
|
7506
7485
|
render() {
|
|
7507
|
-
return $(_t2$
|
|
7508
|
-
<input type="checkbox" id
|
|
7509
|
-
<label for
|
|
7486
|
+
return $(_t2$i || (_t2$i = _$k`
|
|
7487
|
+
<input type="checkbox" id="switch" ?checked=${0} ?disabled=${0} @change=${0}>
|
|
7488
|
+
<label for="switch">
|
|
7510
7489
|
<slot name="off-label"></slot>
|
|
7511
7490
|
</label>
|
|
7512
|
-
<label for
|
|
7491
|
+
<label for="switch">
|
|
7513
7492
|
<slot></slot>
|
|
7514
7493
|
</label>
|
|
7515
|
-
`),
|
|
7494
|
+
`), this.checked, this.disabled, this.changed.bind(this));
|
|
7516
7495
|
}
|
|
7517
7496
|
|
|
7518
7497
|
}
|
|
7519
7498
|
customElements.define('decidables-switch', DecidablesSwitch);
|
|
7520
7499
|
|
|
7521
|
-
let _$
|
|
7522
|
-
_t$
|
|
7523
|
-
_t2$
|
|
7500
|
+
let _$j = t => t,
|
|
7501
|
+
_t$j,
|
|
7502
|
+
_t2$h;
|
|
7524
7503
|
class DecidablesToggle extends DecidablesElement {
|
|
7525
7504
|
static get properties() {
|
|
7526
7505
|
return {
|
|
@@ -7539,7 +7518,7 @@ class DecidablesToggle extends DecidablesElement {
|
|
|
7539
7518
|
}
|
|
7540
7519
|
|
|
7541
7520
|
static get styles() {
|
|
7542
|
-
return [super.styles, r$2(_t$
|
|
7521
|
+
return [super.styles, r$2(_t$j || (_t$j = _$j`
|
|
7543
7522
|
fieldset {
|
|
7544
7523
|
display: flex;
|
|
7545
7524
|
|
|
@@ -7560,7 +7539,7 @@ class DecidablesToggle extends DecidablesElement {
|
|
|
7560
7539
|
}
|
|
7561
7540
|
|
|
7562
7541
|
render() {
|
|
7563
|
-
return $(_t2$
|
|
7542
|
+
return $(_t2$h || (_t2$h = _$j`
|
|
7564
7543
|
<fieldset ?disabled=${0}>
|
|
7565
7544
|
<legend><slot name="label"></slot></legend>
|
|
7566
7545
|
<slot></slot>
|
|
@@ -7571,9 +7550,9 @@ class DecidablesToggle extends DecidablesElement {
|
|
|
7571
7550
|
}
|
|
7572
7551
|
customElements.define('decidables-toggle', DecidablesToggle);
|
|
7573
7552
|
|
|
7574
|
-
let _$
|
|
7575
|
-
_t$
|
|
7576
|
-
_t2$
|
|
7553
|
+
let _$i = t => t,
|
|
7554
|
+
_t$i,
|
|
7555
|
+
_t2$g;
|
|
7577
7556
|
class DecidablesToggleOption extends DecidablesElement {
|
|
7578
7557
|
static get properties() {
|
|
7579
7558
|
return {
|
|
@@ -7621,7 +7600,7 @@ class DecidablesToggleOption extends DecidablesElement {
|
|
|
7621
7600
|
}
|
|
7622
7601
|
|
|
7623
7602
|
static get styles() {
|
|
7624
|
-
return [super.styles, r$2(_t$
|
|
7603
|
+
return [super.styles, r$2(_t$i || (_t$i = _$i`
|
|
7625
7604
|
:host {
|
|
7626
7605
|
display: flex;
|
|
7627
7606
|
}
|
|
@@ -7718,17 +7697,34 @@ class DecidablesToggleOption extends DecidablesElement {
|
|
|
7718
7697
|
}
|
|
7719
7698
|
|
|
7720
7699
|
render() {
|
|
7721
|
-
return $(_t2$
|
|
7722
|
-
<input type="radio" id
|
|
7723
|
-
<label for
|
|
7700
|
+
return $(_t2$g || (_t2$g = _$i`
|
|
7701
|
+
<input type="radio" id="toggle-option" name=${0} value=${0} .checked=${0} @change=${0}>
|
|
7702
|
+
<label for="toggle-option">
|
|
7724
7703
|
<slot></slot>
|
|
7725
7704
|
</label>
|
|
7726
|
-
`),
|
|
7705
|
+
`), this.name, this.value, this.checked, this.changed.bind(this));
|
|
7727
7706
|
}
|
|
7728
7707
|
|
|
7729
7708
|
}
|
|
7730
7709
|
customElements.define('decidables-toggle-option', DecidablesToggleOption);
|
|
7731
7710
|
|
|
7711
|
+
/*
|
|
7712
|
+
Attribute: Space-separated sequence of numbers
|
|
7713
|
+
Property: Array of numbers
|
|
7714
|
+
*/
|
|
7715
|
+
const DecidablesConverterArray = {
|
|
7716
|
+
fromAttribute: value => {
|
|
7717
|
+
return value.split(/\s+/).map(item => {
|
|
7718
|
+
return Number.parseFloat(item);
|
|
7719
|
+
});
|
|
7720
|
+
},
|
|
7721
|
+
toAttribute: value => {
|
|
7722
|
+
return value.length ? value.map(item => {
|
|
7723
|
+
return item.toFixed(3);
|
|
7724
|
+
}).join(' ') : null;
|
|
7725
|
+
}
|
|
7726
|
+
};
|
|
7727
|
+
|
|
7732
7728
|
/*
|
|
7733
7729
|
Attribute: Space-separated sequence of strings
|
|
7734
7730
|
Property: Set of strings
|
|
@@ -7742,8 +7738,8 @@ const DecidablesConverterSet = {
|
|
|
7742
7738
|
}
|
|
7743
7739
|
};
|
|
7744
7740
|
|
|
7745
|
-
let _$
|
|
7746
|
-
_t$
|
|
7741
|
+
let _$h = t => t,
|
|
7742
|
+
_t$h;
|
|
7747
7743
|
/*
|
|
7748
7744
|
DetectableElement Base Class - Not intended for instantiation!
|
|
7749
7745
|
<detectable-element>
|
|
@@ -7800,7 +7796,7 @@ class DetectableElement extends DecidablesElement {
|
|
|
7800
7796
|
}
|
|
7801
7797
|
|
|
7802
7798
|
static get styles() {
|
|
7803
|
-
return [super.styles, r$2(_t$
|
|
7799
|
+
return [super.styles, r$2(_t$h || (_t$h = _$h`
|
|
7804
7800
|
:host {
|
|
7805
7801
|
---color-h: var(--color-h, ${0});
|
|
7806
7802
|
---color-m: var(--color-m, ${0});
|
|
@@ -7855,9 +7851,9 @@ class DetectableElement extends DecidablesElement {
|
|
|
7855
7851
|
|
|
7856
7852
|
}
|
|
7857
7853
|
|
|
7858
|
-
let _$
|
|
7859
|
-
_t$
|
|
7860
|
-
_t2$
|
|
7854
|
+
let _$g = t => t,
|
|
7855
|
+
_t$g,
|
|
7856
|
+
_t2$f;
|
|
7861
7857
|
/*
|
|
7862
7858
|
RDKTask element
|
|
7863
7859
|
<rdk-task>
|
|
@@ -8011,7 +8007,7 @@ class RDKTask extends DetectableElement {
|
|
|
8011
8007
|
}
|
|
8012
8008
|
|
|
8013
8009
|
static get styles() {
|
|
8014
|
-
return [super.styles, r$2(_t$
|
|
8010
|
+
return [super.styles, r$2(_t$g || (_t$g = _$g`
|
|
8015
8011
|
:host {
|
|
8016
8012
|
display: inline-block;
|
|
8017
8013
|
|
|
@@ -8036,7 +8032,7 @@ class RDKTask extends DetectableElement {
|
|
|
8036
8032
|
}
|
|
8037
8033
|
|
|
8038
8034
|
.dot {
|
|
8039
|
-
|
|
8035
|
+
r: 2px;
|
|
8040
8036
|
}
|
|
8041
8037
|
|
|
8042
8038
|
.dots.coherent {
|
|
@@ -8060,8 +8056,8 @@ class RDKTask extends DetectableElement {
|
|
|
8060
8056
|
}
|
|
8061
8057
|
|
|
8062
8058
|
render() {
|
|
8063
|
-
|
|
8064
|
-
return $(_t2$
|
|
8059
|
+
/* eslint-disable-line class-methods-use-this */
|
|
8060
|
+
return $(_t2$f || (_t2$f = _$g``));
|
|
8065
8061
|
}
|
|
8066
8062
|
|
|
8067
8063
|
getDimensions() {
|
|
@@ -8082,9 +8078,8 @@ class RDKTask extends DetectableElement {
|
|
|
8082
8078
|
|
|
8083
8079
|
firstUpdated(changedProperties) {
|
|
8084
8080
|
super.firstUpdated(changedProperties); // Get the width and height after initial render/update has occurred
|
|
8085
|
-
// HACK Edge: Edge doesn't have width/height until after a 0ms timeout
|
|
8086
8081
|
|
|
8087
|
-
|
|
8082
|
+
this.getDimensions();
|
|
8088
8083
|
}
|
|
8089
8084
|
|
|
8090
8085
|
update(changedProperties) {
|
|
@@ -8372,9 +8367,7 @@ class RDKTask extends DetectableElement {
|
|
|
8372
8367
|
return datum;
|
|
8373
8368
|
}); // ENTER
|
|
8374
8369
|
|
|
8375
|
-
const dotEnter = dotUpdate.enter().append('circle').classed('dot', true)
|
|
8376
|
-
/* HACK: Firefox does not support CSS SVG Geometry Properties */
|
|
8377
|
-
// MERGE
|
|
8370
|
+
const dotEnter = dotUpdate.enter().append('circle').classed('dot', true); // MERGE
|
|
8378
8371
|
|
|
8379
8372
|
dotEnter.merge(dotUpdate).attr('cx', datum => {
|
|
8380
8373
|
return datum.x;
|
|
@@ -13252,9 +13245,9 @@ class SDTMath {
|
|
|
13252
13245
|
|
|
13253
13246
|
}
|
|
13254
13247
|
|
|
13255
|
-
let _$
|
|
13256
|
-
_t$
|
|
13257
|
-
_t2$
|
|
13248
|
+
let _$f = t => t,
|
|
13249
|
+
_t$f,
|
|
13250
|
+
_t2$e;
|
|
13258
13251
|
/*
|
|
13259
13252
|
ROCSpace element
|
|
13260
13253
|
<roc-space>
|
|
@@ -13474,7 +13467,7 @@ class ROCSpace extends DetectableElement {
|
|
|
13474
13467
|
}
|
|
13475
13468
|
|
|
13476
13469
|
static get styles() {
|
|
13477
|
-
return [super.styles, r$2(_t$
|
|
13470
|
+
return [super.styles, r$2(_t$f || (_t$f = _$f`
|
|
13478
13471
|
:host {
|
|
13479
13472
|
display: inline-block;
|
|
13480
13473
|
|
|
@@ -13595,13 +13588,13 @@ class ROCSpace extends DetectableElement {
|
|
|
13595
13588
|
.point .circle {
|
|
13596
13589
|
fill: var(---color-element-emphasis);
|
|
13597
13590
|
|
|
13598
|
-
|
|
13591
|
+
r: 6px;
|
|
13599
13592
|
}
|
|
13600
13593
|
|
|
13601
13594
|
.point .label {
|
|
13602
13595
|
font-size: 0.75rem;
|
|
13603
13596
|
|
|
13604
|
-
dominant-baseline:
|
|
13597
|
+
dominant-baseline: central;
|
|
13605
13598
|
text-anchor: middle;
|
|
13606
13599
|
|
|
13607
13600
|
fill: var(---color-text-inverse);
|
|
@@ -13610,8 +13603,8 @@ class ROCSpace extends DetectableElement {
|
|
|
13610
13603
|
}
|
|
13611
13604
|
|
|
13612
13605
|
render() {
|
|
13613
|
-
|
|
13614
|
-
return $(_t2$
|
|
13606
|
+
/* eslint-disable-line class-methods-use-this */
|
|
13607
|
+
return $(_t2$e || (_t2$e = _$f`
|
|
13615
13608
|
${0}
|
|
13616
13609
|
`), DetectableElement.svgFilters);
|
|
13617
13610
|
}
|
|
@@ -13634,9 +13627,8 @@ class ROCSpace extends DetectableElement {
|
|
|
13634
13627
|
|
|
13635
13628
|
firstUpdated(changedProperties) {
|
|
13636
13629
|
super.firstUpdated(changedProperties); // Get the width and height after initial render/update has occurred
|
|
13637
|
-
// HACK Edge: Edge doesn't have width/height until after a 0ms timeout
|
|
13638
13630
|
|
|
13639
|
-
|
|
13631
|
+
this.getDimensions();
|
|
13640
13632
|
}
|
|
13641
13633
|
|
|
13642
13634
|
update(changedProperties) {
|
|
@@ -14027,9 +14019,7 @@ class ROCSpace extends DetectableElement {
|
|
|
14027
14019
|
}); // ENTER
|
|
14028
14020
|
|
|
14029
14021
|
const pointEnter = pointUpdate.enter().append('g').classed('point', true);
|
|
14030
|
-
pointEnter.append('circle').classed('circle', true)
|
|
14031
|
-
/* HACK: Firefox does not support CSS SVG Geometry Properties */
|
|
14032
|
-
|
|
14022
|
+
pointEnter.append('circle').classed('circle', true);
|
|
14033
14023
|
pointEnter.append('text').classed('label', true); // MERGE
|
|
14034
14024
|
|
|
14035
14025
|
const pointMerge = pointEnter.merge(pointUpdate);
|
|
@@ -14154,14 +14144,14 @@ class ROCSpace extends DetectableElement {
|
|
|
14154
14144
|
}
|
|
14155
14145
|
customElements.define('roc-space', ROCSpace);
|
|
14156
14146
|
|
|
14157
|
-
let _$
|
|
14158
|
-
_t$
|
|
14159
|
-
_t2$
|
|
14160
|
-
_t3$
|
|
14161
|
-
_t4$
|
|
14162
|
-
_t5$
|
|
14163
|
-
_t6$
|
|
14164
|
-
_t7$
|
|
14147
|
+
let _$e = t => t,
|
|
14148
|
+
_t$e,
|
|
14149
|
+
_t2$d,
|
|
14150
|
+
_t3$b,
|
|
14151
|
+
_t4$b,
|
|
14152
|
+
_t5$b,
|
|
14153
|
+
_t6$b,
|
|
14154
|
+
_t7$b,
|
|
14165
14155
|
_t8$7,
|
|
14166
14156
|
_t9$7,
|
|
14167
14157
|
_t10$7,
|
|
@@ -14248,7 +14238,7 @@ class DetectableControl extends DetectableElement {
|
|
|
14248
14238
|
this.duration = undefined;
|
|
14249
14239
|
this.coherence = undefined;
|
|
14250
14240
|
this.payoff = undefined;
|
|
14251
|
-
this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
|
|
14241
|
+
this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
|
|
14252
14242
|
this.color = undefined;
|
|
14253
14243
|
this.zRoc = undefined;
|
|
14254
14244
|
this.run = false;
|
|
@@ -14348,7 +14338,7 @@ class DetectableControl extends DetectableElement {
|
|
|
14348
14338
|
}
|
|
14349
14339
|
|
|
14350
14340
|
static get styles() {
|
|
14351
|
-
return [super.styles, r$2(_t$
|
|
14341
|
+
return [super.styles, r$2(_t$e || (_t$e = _$e`
|
|
14352
14342
|
:host {
|
|
14353
14343
|
display: inline-block;
|
|
14354
14344
|
}
|
|
@@ -14379,7 +14369,7 @@ class DetectableControl extends DetectableElement {
|
|
|
14379
14369
|
}
|
|
14380
14370
|
|
|
14381
14371
|
render() {
|
|
14382
|
-
return $(_t2$
|
|
14372
|
+
return $(_t2$d || (_t2$d = _$e`
|
|
14383
14373
|
<div class="holder">
|
|
14384
14374
|
${0}
|
|
14385
14375
|
${0}
|
|
@@ -14388,35 +14378,36 @@ class DetectableControl extends DetectableElement {
|
|
|
14388
14378
|
${0}
|
|
14389
14379
|
${0}
|
|
14390
14380
|
${0}
|
|
14391
|
-
</div>`), this.trials ? $(_t3$
|
|
14381
|
+
</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`
|
|
14392
14382
|
<decidables-toggle @change=${0}>
|
|
14393
14383
|
<span slot="label">Emphasis</span>
|
|
14394
|
-
<decidables-toggle-option name
|
|
14395
|
-
<decidables-toggle-option name
|
|
14396
|
-
<decidables-toggle-option name
|
|
14397
|
-
<decidables-toggle-option name
|
|
14398
|
-
<decidables-toggle-option name
|
|
14384
|
+
<decidables-toggle-option name="toggle" value="none" ?checked=${0}>None</decidables-toggle-option>
|
|
14385
|
+
<decidables-toggle-option name="toggle" value="accuracy" ?checked=${0}>Accuracy</decidables-toggle-option>
|
|
14386
|
+
<decidables-toggle-option name="toggle" value="stimulus" ?checked=${0}>Stimulus</decidables-toggle-option>
|
|
14387
|
+
<decidables-toggle-option name="toggle" value="response" ?checked=${0}>Response</decidables-toggle-option>
|
|
14388
|
+
<decidables-toggle-option name="toggle" value="outcome" ?checked=${0}>Outcome</decidables-toggle-option>
|
|
14389
|
+
<decidables-toggle-option name="toggle" value="all" ?checked=${0}>All</decidables-toggle-option>
|
|
14399
14390
|
</decidables-toggle>
|
|
14400
|
-
`), this.chooseColor.bind(this),
|
|
14391
|
+
`), 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`
|
|
14401
14392
|
<decidables-switch ?checked=${0} @change=${0}>
|
|
14402
14393
|
<span class="math-var">z</span>ROC
|
|
14403
14394
|
<span slot="off-label">ROC</span>
|
|
14404
14395
|
</decidables-switch>
|
|
14405
|
-
`), this.zRoc, this.flipZRoc.bind(this)) : $(_t14$2 || (_t14$2 = _$
|
|
14396
|
+
`), this.zRoc, this.flipZRoc.bind(this)) : $(_t14$2 || (_t14$2 = _$e``)), this.run || this.pause || this.reset ? $(_t15$2 || (_t15$2 = _$e`
|
|
14406
14397
|
<div class="buttons">
|
|
14407
14398
|
${0}
|
|
14408
14399
|
${0}
|
|
14409
14400
|
${0}
|
|
14410
14401
|
</div>
|
|
14411
|
-
`), this.run ? $(_t16$2 || (_t16$2 = _$
|
|
14402
|
+
`), 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``)));
|
|
14412
14403
|
}
|
|
14413
14404
|
|
|
14414
14405
|
}
|
|
14415
14406
|
customElements.define('detectable-control', DetectableControl);
|
|
14416
14407
|
|
|
14417
|
-
let _$
|
|
14418
|
-
_t$
|
|
14419
|
-
_t2$
|
|
14408
|
+
let _$d = t => t,
|
|
14409
|
+
_t$d,
|
|
14410
|
+
_t2$c;
|
|
14420
14411
|
/*
|
|
14421
14412
|
SDTModel element
|
|
14422
14413
|
<sdt-model>
|
|
@@ -14653,7 +14644,7 @@ class SDTModel extends DetectableElement {
|
|
|
14653
14644
|
}
|
|
14654
14645
|
|
|
14655
14646
|
static get styles() {
|
|
14656
|
-
return [super.styles, r$2(_t$
|
|
14647
|
+
return [super.styles, r$2(_t$d || (_t$d = _$d`
|
|
14657
14648
|
:host {
|
|
14658
14649
|
display: inline-block;
|
|
14659
14650
|
|
|
@@ -14841,7 +14832,7 @@ class SDTModel extends DetectableElement {
|
|
|
14841
14832
|
.threshold .handle {
|
|
14842
14833
|
fill: var(---color-element-emphasis);
|
|
14843
14834
|
|
|
14844
|
-
|
|
14835
|
+
r: 6px;
|
|
14845
14836
|
}
|
|
14846
14837
|
|
|
14847
14838
|
/* Make a larger target for touch users */
|
|
@@ -14899,8 +14890,8 @@ class SDTModel extends DetectableElement {
|
|
|
14899
14890
|
}
|
|
14900
14891
|
|
|
14901
14892
|
render() {
|
|
14902
|
-
|
|
14903
|
-
return $(_t2$
|
|
14893
|
+
/* eslint-disable-line class-methods-use-this */
|
|
14894
|
+
return $(_t2$c || (_t2$c = _$d`
|
|
14904
14895
|
${0}
|
|
14905
14896
|
`), DetectableElement.svgFilters);
|
|
14906
14897
|
}
|
|
@@ -14940,9 +14931,8 @@ class SDTModel extends DetectableElement {
|
|
|
14940
14931
|
|
|
14941
14932
|
firstUpdated(changedProperties) {
|
|
14942
14933
|
super.firstUpdated(changedProperties); // Get the width and height after initial render/update has occurred
|
|
14943
|
-
// HACK Edge: Edge doesn't have width/height until after a 0ms timeout
|
|
14944
14934
|
|
|
14945
|
-
|
|
14935
|
+
this.getDimensions();
|
|
14946
14936
|
}
|
|
14947
14937
|
|
|
14948
14938
|
update(changedProperties) {
|
|
@@ -15046,7 +15036,8 @@ class SDTModel extends DetectableElement {
|
|
|
15046
15036
|
datum.startMuS = this.muS;
|
|
15047
15037
|
}).on('drag', (event, datum) => {
|
|
15048
15038
|
this.drag = true;
|
|
15049
|
-
let muS = this.muS;
|
|
15039
|
+
let muS = this.muS;
|
|
15040
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15050
15041
|
|
|
15051
15042
|
if (this.interactive) {
|
|
15052
15043
|
muS = xScale.invert(event.x); // Clamp Signal Curve to stay visible
|
|
@@ -15054,7 +15045,8 @@ class SDTModel extends DetectableElement {
|
|
|
15054
15045
|
muS = muS < xScale.domain()[0] ? xScale.domain()[0] : muS > xScale.domain()[1] ? xScale.domain()[1] : muS;
|
|
15055
15046
|
}
|
|
15056
15047
|
|
|
15057
|
-
let hS = this.hS;
|
|
15048
|
+
let hS = this.hS;
|
|
15049
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15058
15050
|
|
|
15059
15051
|
if (this.unequal) {
|
|
15060
15052
|
hS = yScale.invert(event.y); // Clamp Signal Curve to stay visible
|
|
@@ -15185,7 +15177,8 @@ class SDTModel extends DetectableElement {
|
|
|
15185
15177
|
|
|
15186
15178
|
const noiseMerge = signalNoiseMerge.selectAll('.noise').attr('tabindex', this.interactive ? 0 : null).classed('interactive', this.interactive).on('keydown', this.interactive ? event => {
|
|
15187
15179
|
if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
|
|
15188
|
-
let muN = this.muN;
|
|
15180
|
+
let muN = this.muN;
|
|
15181
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15189
15182
|
|
|
15190
15183
|
switch (event.key) {
|
|
15191
15184
|
case 'ArrowRight':
|
|
@@ -15316,7 +15309,8 @@ class SDTModel extends DetectableElement {
|
|
|
15316
15309
|
|
|
15317
15310
|
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 => {
|
|
15318
15311
|
if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
|
|
15319
|
-
let muS = this.muS;
|
|
15312
|
+
let muS = this.muS;
|
|
15313
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15320
15314
|
|
|
15321
15315
|
switch (event.key) {
|
|
15322
15316
|
case 'ArrowRight':
|
|
@@ -15341,7 +15335,8 @@ class SDTModel extends DetectableElement {
|
|
|
15341
15335
|
}
|
|
15342
15336
|
} : null).on('keydown.variance', this.unequal ? event => {
|
|
15343
15337
|
if (['ArrowUp', 'ArrowDown'].includes(event.key)) {
|
|
15344
|
-
let hS = this.hS;
|
|
15338
|
+
let hS = this.hS;
|
|
15339
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15345
15340
|
|
|
15346
15341
|
switch (event.key) {
|
|
15347
15342
|
case 'ArrowUp':
|
|
@@ -15498,7 +15493,7 @@ class SDTModel extends DetectableElement {
|
|
|
15498
15493
|
const interpolateD = interpolate$1(element.d !== undefined ? element.d : this.d, this.d);
|
|
15499
15494
|
return time => {
|
|
15500
15495
|
element.d = interpolateD(time);
|
|
15501
|
-
select(element).text(
|
|
15496
|
+
select(element).text(format('.3')(element.d));
|
|
15502
15497
|
};
|
|
15503
15498
|
}); // EXIT
|
|
15504
15499
|
|
|
@@ -15529,7 +15524,7 @@ class SDTModel extends DetectableElement {
|
|
|
15529
15524
|
const interpolateC = interpolate$1(element.c !== undefined ? element.c : this.c, this.c);
|
|
15530
15525
|
return time => {
|
|
15531
15526
|
element.c = interpolateC(time);
|
|
15532
|
-
select(element).text(
|
|
15527
|
+
select(element).text(format('.3')(element.c));
|
|
15533
15528
|
};
|
|
15534
15529
|
}); // EXIT
|
|
15535
15530
|
|
|
@@ -15564,7 +15559,7 @@ class SDTModel extends DetectableElement {
|
|
|
15564
15559
|
const interpolateS = interpolate$1(element.s !== undefined ? element.s : this.s, this.s);
|
|
15565
15560
|
return time => {
|
|
15566
15561
|
element.s = interpolateS(time);
|
|
15567
|
-
select(element).text(
|
|
15562
|
+
select(element).text(format('.3')(element.s));
|
|
15568
15563
|
};
|
|
15569
15564
|
}); // EXIT
|
|
15570
15565
|
|
|
@@ -15575,9 +15570,7 @@ class SDTModel extends DetectableElement {
|
|
|
15575
15570
|
|
|
15576
15571
|
const thresholdEnter = thresholdUpdate.enter().append('g').classed('threshold', true);
|
|
15577
15572
|
thresholdEnter.append('line').classed('line', true);
|
|
15578
|
-
thresholdEnter.append('circle').classed('handle', true)
|
|
15579
|
-
/* HACK: Firefox does not support CSS SVG Geometry Properties */
|
|
15580
|
-
// MERGE
|
|
15573
|
+
thresholdEnter.append('circle').classed('handle', true); // MERGE
|
|
15581
15574
|
|
|
15582
15575
|
const thresholdMerge = thresholdEnter.merge(thresholdUpdate).attr('tabindex', this.interactive ? 0 : null).classed('interactive', this.interactive);
|
|
15583
15576
|
|
|
@@ -15585,7 +15578,8 @@ class SDTModel extends DetectableElement {
|
|
|
15585
15578
|
if (this.interactive) {
|
|
15586
15579
|
thresholdMerge.call(dragThreshold).on('keydown', event => {
|
|
15587
15580
|
if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
|
|
15588
|
-
let l = this.l;
|
|
15581
|
+
let l = this.l;
|
|
15582
|
+
/* eslint-disable-line prefer-destructuring */
|
|
15589
15583
|
|
|
15590
15584
|
switch (event.key) {
|
|
15591
15585
|
case 'ArrowRight':
|
|
@@ -15835,14 +15829,14 @@ class SDTModel extends DetectableElement {
|
|
|
15835
15829
|
}
|
|
15836
15830
|
customElements.define('sdt-model', SDTModel);
|
|
15837
15831
|
|
|
15838
|
-
let _$
|
|
15839
|
-
_t$
|
|
15840
|
-
_t2$
|
|
15841
|
-
_t3$
|
|
15842
|
-
_t4$
|
|
15843
|
-
_t5$
|
|
15844
|
-
_t6$
|
|
15845
|
-
_t7$
|
|
15832
|
+
let _$c = t => t,
|
|
15833
|
+
_t$c,
|
|
15834
|
+
_t2$b,
|
|
15835
|
+
_t3$a,
|
|
15836
|
+
_t4$a,
|
|
15837
|
+
_t5$a,
|
|
15838
|
+
_t6$a,
|
|
15839
|
+
_t7$a,
|
|
15846
15840
|
_t8$6,
|
|
15847
15841
|
_t9$6,
|
|
15848
15842
|
_t10$6,
|
|
@@ -16102,7 +16096,7 @@ class DetectableResponse extends DetectableElement {
|
|
|
16102
16096
|
}
|
|
16103
16097
|
|
|
16104
16098
|
static get styles() {
|
|
16105
|
-
return [super.styles, r$2(_t$
|
|
16099
|
+
return [super.styles, r$2(_t$c || (_t$c = _$c`
|
|
16106
16100
|
:host {
|
|
16107
16101
|
display: inline-block;
|
|
16108
16102
|
}
|
|
@@ -16174,6 +16168,11 @@ class DetectableResponse extends DetectableElement {
|
|
|
16174
16168
|
border: 1px solid var(---color-element-border);
|
|
16175
16169
|
}
|
|
16176
16170
|
|
|
16171
|
+
:host([payoff="trial"]) .feedback,
|
|
16172
|
+
:host([payoff="total"]) .feedback {
|
|
16173
|
+
height: 5rem;
|
|
16174
|
+
}
|
|
16175
|
+
|
|
16177
16176
|
.feedback.h {
|
|
16178
16177
|
background-color: var(---color-h-light);
|
|
16179
16178
|
}
|
|
@@ -16209,59 +16208,76 @@ class DetectableResponse extends DetectableElement {
|
|
|
16209
16208
|
line-height: 1.15;
|
|
16210
16209
|
}
|
|
16211
16210
|
|
|
16212
|
-
:host([payoff="trial"]) .feedback,
|
|
16213
|
-
:host([payoff="total"]) .feedback {
|
|
16214
|
-
height: 4rem;
|
|
16215
|
-
}
|
|
16216
|
-
|
|
16217
16211
|
/* Payoff feedback */
|
|
16218
|
-
.
|
|
16212
|
+
.total {
|
|
16219
16213
|
text-align: center;
|
|
16220
16214
|
}
|
|
16221
16215
|
|
|
16222
|
-
.
|
|
16216
|
+
.total .label {
|
|
16223
16217
|
font-weight: 600;
|
|
16224
16218
|
}
|
|
16225
16219
|
`))];
|
|
16226
16220
|
}
|
|
16227
16221
|
|
|
16228
16222
|
render() {
|
|
16229
|
-
|
|
16223
|
+
const payoffFormatter = new Intl.NumberFormat('en-US', {
|
|
16224
|
+
style: 'currency',
|
|
16225
|
+
currency: 'USD',
|
|
16226
|
+
minimumFractionDigits: 0,
|
|
16227
|
+
maximumFractionDigits: 0
|
|
16228
|
+
});
|
|
16229
|
+
|
|
16230
|
+
const payoffFormat = number => {
|
|
16231
|
+
return payoffFormatter.formatToParts(number).map(({
|
|
16232
|
+
type,
|
|
16233
|
+
value
|
|
16234
|
+
}) => {
|
|
16235
|
+
if (type === 'minusSign') {
|
|
16236
|
+
return '−';
|
|
16237
|
+
}
|
|
16238
|
+
|
|
16239
|
+
return value;
|
|
16240
|
+
}).reduce((string, part) => {
|
|
16241
|
+
return string + part;
|
|
16242
|
+
});
|
|
16243
|
+
};
|
|
16244
|
+
|
|
16245
|
+
return $(_t2$b || (_t2$b = _$c`
|
|
16230
16246
|
<div class="holder">
|
|
16231
16247
|
<div class="responses">
|
|
16232
16248
|
<decidables-button name="present" class=${0} ?disabled=${0} @click=${0}>Present</decidables-button>
|
|
16233
16249
|
<decidables-button name="absent" class=${0} ?disabled=${0} @click=${0}>Absent</decidables-button>
|
|
16234
16250
|
</div>
|
|
16235
16251
|
${0}
|
|
16236
|
-
</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$
|
|
16252
|
+
</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`
|
|
16237
16253
|
<div class="feedbacks">
|
|
16238
16254
|
${0}
|
|
16239
16255
|
${0}
|
|
16240
16256
|
${0}
|
|
16241
|
-
</div>`), this.trial ? $(_t4$
|
|
16257
|
+
</div>`), this.trial ? $(_t4$a || (_t4$a = _$c`
|
|
16242
16258
|
<div class="trial">
|
|
16243
16259
|
<span class="label">Trial: </span><span class="count">${0}</span><span class="of"> of </span><span class="total">${0}</span>
|
|
16244
|
-
</div>`), this.trialCount, this.trialTotal) : $(_t5$
|
|
16260
|
+
</div>`), this.trialCount, this.trialTotal) : $(_t5$a || (_t5$a = _$c``)), this.feedback !== 'none' ? $(_t6$a || (_t6$a = _$c`
|
|
16245
16261
|
<div class=${0}>
|
|
16246
16262
|
${0}
|
|
16247
16263
|
${0}
|
|
16248
|
-
</div>`), `feedback ${this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome : this.accuracy : ''}`, this.state === 'feedback' ? this.feedback === 'outcome' ? this.outcome === 'h' ? $(_t7$
|
|
16249
|
-
<div class="
|
|
16264
|
+
</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`
|
|
16265
|
+
<div class="total">
|
|
16250
16266
|
<span class="label">Total: </span><span class="value">${0}</span>
|
|
16251
|
-
</div>`), this.totalPayoff) : $(_t19$1 || (_t19$1 = _$
|
|
16267
|
+
</div>`), payoffFormat(this.totalPayoff)) : $(_t19$1 || (_t19$1 = _$c``))) : $(_t20$1 || (_t20$1 = _$c``)));
|
|
16252
16268
|
}
|
|
16253
16269
|
|
|
16254
16270
|
}
|
|
16255
16271
|
customElements.define('detectable-response', DetectableResponse);
|
|
16256
16272
|
|
|
16257
|
-
let _$
|
|
16258
|
-
_t$
|
|
16259
|
-
_t2$
|
|
16260
|
-
_t3$
|
|
16261
|
-
_t4$
|
|
16262
|
-
_t5$
|
|
16263
|
-
_t6$
|
|
16264
|
-
_t7$
|
|
16273
|
+
let _$b = t => t,
|
|
16274
|
+
_t$b,
|
|
16275
|
+
_t2$a,
|
|
16276
|
+
_t3$9,
|
|
16277
|
+
_t4$9,
|
|
16278
|
+
_t5$9,
|
|
16279
|
+
_t6$9,
|
|
16280
|
+
_t7$9,
|
|
16265
16281
|
_t8$5,
|
|
16266
16282
|
_t9$5,
|
|
16267
16283
|
_t10$5,
|
|
@@ -16408,8 +16424,8 @@ class DetectableTable extends DetectableElement {
|
|
|
16408
16424
|
this.numeric = false;
|
|
16409
16425
|
this.summaries = ['stimulusRates', 'responseRates', 'accuracy'];
|
|
16410
16426
|
this.summary = new Set();
|
|
16411
|
-
this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome'];
|
|
16412
|
-
this.color = '
|
|
16427
|
+
this.colors = ['none', 'accuracy', 'stimulus', 'response', 'outcome', 'all'];
|
|
16428
|
+
this.color = 'all';
|
|
16413
16429
|
this.h = 40;
|
|
16414
16430
|
this.m = 60;
|
|
16415
16431
|
this.fa = 75;
|
|
@@ -16548,7 +16564,7 @@ class DetectableTable extends DetectableElement {
|
|
|
16548
16564
|
}
|
|
16549
16565
|
|
|
16550
16566
|
static get styles() {
|
|
16551
|
-
return [super.styles, r$2(_t$
|
|
16567
|
+
return [super.styles, r$2(_t$b || (_t$b = _$b`
|
|
16552
16568
|
:host {
|
|
16553
16569
|
display: inline-block;
|
|
16554
16570
|
}
|
|
@@ -16611,7 +16627,7 @@ class DetectableTable extends DetectableElement {
|
|
|
16611
16627
|
|
|
16612
16628
|
/* Color schemes & Table emphasis */
|
|
16613
16629
|
|
|
16614
|
-
/* (Default)
|
|
16630
|
+
/* (Default) All color scheme */
|
|
16615
16631
|
.h {
|
|
16616
16632
|
background: var(---color-h-light);
|
|
16617
16633
|
border-top: 2px solid var(---color-element-emphasis);
|
|
@@ -16710,6 +16726,15 @@ class DetectableTable extends DetectableElement {
|
|
|
16710
16726
|
background: var(---color-element-background);
|
|
16711
16727
|
}
|
|
16712
16728
|
|
|
16729
|
+
/* Outcome color scheme */
|
|
16730
|
+
:host([color="outcome"]) .hr,
|
|
16731
|
+
:host([color="outcome"]) .far,
|
|
16732
|
+
:host([color="outcome"]) .ppv,
|
|
16733
|
+
:host([color="outcome"]) .fomr,
|
|
16734
|
+
:host([color="outcome"]) .acc {
|
|
16735
|
+
background: var(---color-element-background);
|
|
16736
|
+
}
|
|
16737
|
+
|
|
16713
16738
|
/* No color scheme */
|
|
16714
16739
|
:host([color="none"]) .cr,
|
|
16715
16740
|
:host([color="none"]) .fa,
|
|
@@ -16732,6 +16757,22 @@ class DetectableTable extends DetectableElement {
|
|
|
16732
16757
|
minimumFractionDigits: 0,
|
|
16733
16758
|
maximumFractionDigits: 0
|
|
16734
16759
|
});
|
|
16760
|
+
|
|
16761
|
+
const payoffFormat = number => {
|
|
16762
|
+
return payoffFormatter.formatToParts(number).map(({
|
|
16763
|
+
type,
|
|
16764
|
+
value
|
|
16765
|
+
}) => {
|
|
16766
|
+
if (type === 'minusSign') {
|
|
16767
|
+
return '−';
|
|
16768
|
+
}
|
|
16769
|
+
|
|
16770
|
+
return value;
|
|
16771
|
+
}).reduce((string, part) => {
|
|
16772
|
+
return string + part;
|
|
16773
|
+
});
|
|
16774
|
+
};
|
|
16775
|
+
|
|
16735
16776
|
this.alignState();
|
|
16736
16777
|
let h;
|
|
16737
16778
|
let m;
|
|
@@ -16744,72 +16785,72 @@ class DetectableTable extends DetectableElement {
|
|
|
16744
16785
|
let fomr;
|
|
16745
16786
|
|
|
16746
16787
|
if (this.numeric) {
|
|
16747
|
-
h = $(_t2$
|
|
16788
|
+
h = $(_t2$a || (_t2$a = _$b`
|
|
16748
16789
|
<decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
16749
16790
|
<span>Hits</span>
|
|
16750
16791
|
${0}
|
|
16751
16792
|
</decidables-spinner>
|
|
16752
|
-
`), !this.interactive, this.h, this.hInput.bind(this), this.payoff ? $(_t3$
|
|
16753
|
-
m = $(_t5$
|
|
16793
|
+
`), !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``)));
|
|
16794
|
+
m = $(_t5$9 || (_t5$9 = _$b`
|
|
16754
16795
|
<decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
16755
16796
|
<span>Misses</span>
|
|
16756
16797
|
${0}
|
|
16757
16798
|
</decidables-spinner>
|
|
16758
|
-
`), !this.interactive, this.m, this.mInput.bind(this), this.payoff ? $(_t6$
|
|
16759
|
-
fa = $(_t8$5 || (_t8$5 = _$
|
|
16799
|
+
`), !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``)));
|
|
16800
|
+
fa = $(_t8$5 || (_t8$5 = _$b`
|
|
16760
16801
|
<decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
16761
16802
|
<span>False Alarms</span>
|
|
16762
16803
|
${0}
|
|
16763
16804
|
</decidables-spinner>
|
|
16764
|
-
`), !this.interactive, this.fa, this.faInput.bind(this), this.payoff ? $(_t9$5 || (_t9$5 = _$
|
|
16765
|
-
cr = $(_t11$5 || (_t11$5 = _$
|
|
16805
|
+
`), !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``)));
|
|
16806
|
+
cr = $(_t11$5 || (_t11$5 = _$b`
|
|
16766
16807
|
<decidables-spinner ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
16767
16808
|
<span>Correct Rejections</span>
|
|
16768
16809
|
${0}
|
|
16769
16810
|
</decidables-spinner>
|
|
16770
|
-
`), !this.interactive, this.cr, this.crInput.bind(this), this.payoff ? $(_t12 || (_t12 = _$
|
|
16771
|
-
hr = $(_t14 || (_t14 = _$
|
|
16811
|
+
`), !this.interactive, this.cr, this.crInput.bind(this), this.payoff ? $(_t12 || (_t12 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.crPayoff)) : $(_t13 || (_t13 = _$b``)));
|
|
16812
|
+
hr = $(_t14 || (_t14 = _$b`
|
|
16772
16813
|
<decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
16773
16814
|
<span>Hit Rate</span>
|
|
16774
16815
|
</decidables-spinner>
|
|
16775
16816
|
`), !this.interactive, +this.hr.toFixed(3), this.hrInput.bind(this));
|
|
16776
|
-
far = $(_t15 || (_t15 = _$
|
|
16817
|
+
far = $(_t15 || (_t15 = _$b`
|
|
16777
16818
|
<decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
16778
16819
|
<span>False Alarm Rate</span>
|
|
16779
16820
|
</decidables-spinner>
|
|
16780
16821
|
`), !this.interactive, +this.far.toFixed(3), this.farInput.bind(this));
|
|
16781
|
-
acc = $(_t16 || (_t16 = _$
|
|
16822
|
+
acc = $(_t16 || (_t16 = _$b`
|
|
16782
16823
|
<decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
16783
16824
|
<span>Accuracy</span>
|
|
16784
16825
|
</decidables-spinner>
|
|
16785
16826
|
`), !this.interactive, +this.acc.toFixed(3), this.accInput.bind(this));
|
|
16786
|
-
ppv = $(_t17 || (_t17 = _$
|
|
16827
|
+
ppv = $(_t17 || (_t17 = _$b`
|
|
16787
16828
|
<decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
16788
16829
|
<span>Positive Predictive Value</span>
|
|
16789
16830
|
</decidables-spinner>
|
|
16790
16831
|
`), !this.interactive, +this.ppv.toFixed(3), this.ppvInput.bind(this));
|
|
16791
|
-
fomr = $(_t18 || (_t18 = _$
|
|
16832
|
+
fomr = $(_t18 || (_t18 = _$b`
|
|
16792
16833
|
<decidables-spinner ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
16793
16834
|
<span>False Omission Rate</span>
|
|
16794
16835
|
</decidables-spinner>
|
|
16795
16836
|
`), !this.interactive, +this.fomr.toFixed(3), this.fomrInput.bind(this));
|
|
16796
16837
|
} else {
|
|
16797
|
-
h = $(_t19 || (_t19 = _$
|
|
16798
|
-
${0}`), this.payoff ? $(_t20 || (_t20 = _$
|
|
16799
|
-
m = $(_t22 || (_t22 = _$
|
|
16800
|
-
${0}`), this.payoff ? $(_t23 || (_t23 = _$
|
|
16801
|
-
fa = $(_t25 || (_t25 = _$
|
|
16802
|
-
${0}`), this.payoff ? $(_t26 || (_t26 = _$
|
|
16803
|
-
cr = $(_t28 || (_t28 = _$
|
|
16804
|
-
${0}`), this.payoff ? $(_t29 || (_t29 = _$
|
|
16805
|
-
hr = $(_t31 || (_t31 = _$
|
|
16806
|
-
far = $(_t32 || (_t32 = _$
|
|
16807
|
-
acc = $(_t33 || (_t33 = _$
|
|
16808
|
-
ppv = $(_t34 || (_t34 = _$
|
|
16809
|
-
fomr = $(_t35 || (_t35 = _$
|
|
16838
|
+
h = $(_t19 || (_t19 = _$b`<span>Hits</span>
|
|
16839
|
+
${0}`), this.payoff ? $(_t20 || (_t20 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.hPayoff)) : $(_t21 || (_t21 = _$b``)));
|
|
16840
|
+
m = $(_t22 || (_t22 = _$b`<span>Misses</span>
|
|
16841
|
+
${0}`), this.payoff ? $(_t23 || (_t23 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.mPayoff)) : $(_t24 || (_t24 = _$b``)));
|
|
16842
|
+
fa = $(_t25 || (_t25 = _$b`<span>False Alarms</span>
|
|
16843
|
+
${0}`), this.payoff ? $(_t26 || (_t26 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.faPayoff)) : $(_t27 || (_t27 = _$b``)));
|
|
16844
|
+
cr = $(_t28 || (_t28 = _$b`<span>Correct Rejections</span>
|
|
16845
|
+
${0}`), this.payoff ? $(_t29 || (_t29 = _$b`<span class="payoff">${0}</span>`), payoffFormat(this.crPayoff)) : $(_t30 || (_t30 = _$b``)));
|
|
16846
|
+
hr = $(_t31 || (_t31 = _$b`<span>Hit Rate</span>`));
|
|
16847
|
+
far = $(_t32 || (_t32 = _$b`<span>False Alarm Rate</span>`));
|
|
16848
|
+
acc = $(_t33 || (_t33 = _$b`<span>Accuracy</span>`));
|
|
16849
|
+
ppv = $(_t34 || (_t34 = _$b`<span>Positive Predictive Value</span>`));
|
|
16850
|
+
fomr = $(_t35 || (_t35 = _$b`<span>False Omission Rate</span>`));
|
|
16810
16851
|
}
|
|
16811
16852
|
|
|
16812
|
-
return $(_t36 || (_t36 = _$
|
|
16853
|
+
return $(_t36 || (_t36 = _$b`
|
|
16813
16854
|
<table class=${0}>
|
|
16814
16855
|
<thead>
|
|
16815
16856
|
<tr>
|
|
@@ -16820,10 +16861,10 @@ class DetectableTable extends DetectableElement {
|
|
|
16820
16861
|
</tr>
|
|
16821
16862
|
<tr>
|
|
16822
16863
|
<th class="th th-sub" scope="col">
|
|
16823
|
-
|
|
16864
|
+
‘Present’
|
|
16824
16865
|
</th>
|
|
16825
16866
|
<th class="th th-sub" scope="col">
|
|
16826
|
-
|
|
16867
|
+
‘Absent’
|
|
16827
16868
|
</th>
|
|
16828
16869
|
</tr>
|
|
16829
16870
|
</thead>
|
|
@@ -16857,35 +16898,35 @@ class DetectableTable extends DetectableElement {
|
|
|
16857
16898
|
</tr>
|
|
16858
16899
|
${0}
|
|
16859
16900
|
</tbody>
|
|
16860
|
-
</table>`), this.numeric ? 'numeric' : '', h, m, this.summary.has('stimulusRates') ? $(_t37 || (_t37 = _$
|
|
16901
|
+
</table>`), this.numeric ? 'numeric' : '', h, m, this.summary.has('stimulusRates') ? $(_t37 || (_t37 = _$b`
|
|
16861
16902
|
<td class="td td-summary hr">
|
|
16862
16903
|
${0}
|
|
16863
|
-
</td>`), hr) : $(_t38 || (_t38 = _$
|
|
16904
|
+
</td>`), hr) : $(_t38 || (_t38 = _$b``)), fa, cr, this.summary.has('stimulusRates') ? $(_t39 || (_t39 = _$b`
|
|
16864
16905
|
<td class="td td-summary far">
|
|
16865
16906
|
${0}
|
|
16866
|
-
</td>`), far) : $(_t40 || (_t40 = _$
|
|
16907
|
+
</td>`), far) : $(_t40 || (_t40 = _$b``)), this.summary.has('responseRates') || this.summary.has('accuracy') ? $(_t41 || (_t41 = _$b`
|
|
16867
16908
|
<tr>
|
|
16868
16909
|
<td colspan="2"></td>
|
|
16869
16910
|
${0}
|
|
16870
16911
|
${0}
|
|
16871
|
-
</tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$
|
|
16912
|
+
</tr>`), this.summary.has('responseRates') ? $(_t42 || (_t42 = _$b`
|
|
16872
16913
|
<td class="td td-summary ppv">
|
|
16873
16914
|
${0}
|
|
16874
16915
|
</td>
|
|
16875
16916
|
<td class="td td-summary fomr">
|
|
16876
16917
|
${0}
|
|
16877
|
-
</td>`), ppv, fomr) : $(_t43 || (_t43 = _$
|
|
16878
|
-
<td colspan="2"></td>`)), this.summary.has('accuracy') ? $(_t44 || (_t44 = _$
|
|
16918
|
+
</td>`), ppv, fomr) : $(_t43 || (_t43 = _$b`
|
|
16919
|
+
<td colspan="2"></td>`)), this.summary.has('accuracy') ? $(_t44 || (_t44 = _$b`
|
|
16879
16920
|
<td class="td td-summary acc" rowspan="2">
|
|
16880
16921
|
${0}
|
|
16881
|
-
</td>`), acc) : $(_t45 || (_t45 = _$
|
|
16922
|
+
</td>`), acc) : $(_t45 || (_t45 = _$b``))) : $(_t46 || (_t46 = _$b``)));
|
|
16882
16923
|
}
|
|
16883
16924
|
|
|
16884
16925
|
}
|
|
16885
16926
|
customElements.define('detectable-table', DetectableTable);
|
|
16886
16927
|
|
|
16887
|
-
let _$
|
|
16888
|
-
_t$
|
|
16928
|
+
let _$a = t => t,
|
|
16929
|
+
_t$a;
|
|
16889
16930
|
/*
|
|
16890
16931
|
SDTEquation Base Class - Not intended for instantiation!
|
|
16891
16932
|
<sdt-equation>
|
|
@@ -16908,7 +16949,7 @@ class SDTEquation extends DetectableElement {
|
|
|
16908
16949
|
}
|
|
16909
16950
|
|
|
16910
16951
|
static get styles() {
|
|
16911
|
-
return [super.styles, r$2(_t$
|
|
16952
|
+
return [super.styles, r$2(_t$a || (_t$a = _$a`
|
|
16912
16953
|
:host {
|
|
16913
16954
|
display: block;
|
|
16914
16955
|
|
|
@@ -16927,6 +16968,7 @@ class SDTEquation extends DetectableElement {
|
|
|
16927
16968
|
/* Overall <table> */
|
|
16928
16969
|
.equation {
|
|
16929
16970
|
text-align: center;
|
|
16971
|
+
white-space: nowrap;
|
|
16930
16972
|
|
|
16931
16973
|
border-collapse: collapse;
|
|
16932
16974
|
|
|
@@ -16946,6 +16988,10 @@ class SDTEquation extends DetectableElement {
|
|
|
16946
16988
|
font-style: normal;
|
|
16947
16989
|
}
|
|
16948
16990
|
|
|
16991
|
+
var {
|
|
16992
|
+
border-radius: var(---border-radius);
|
|
16993
|
+
}
|
|
16994
|
+
|
|
16949
16995
|
.tight {
|
|
16950
16996
|
padding: 0;
|
|
16951
16997
|
}
|
|
@@ -16971,6 +17017,8 @@ class SDTEquation extends DetectableElement {
|
|
|
16971
17017
|
padding: 0.125rem 0.375rem 0.375rem;
|
|
16972
17018
|
|
|
16973
17019
|
vertical-align: middle;
|
|
17020
|
+
|
|
17021
|
+
border-radius: var(---border-radius);
|
|
16974
17022
|
}
|
|
16975
17023
|
|
|
16976
17024
|
.bottom {
|
|
@@ -16994,6 +17042,14 @@ class SDTEquation extends DetectableElement {
|
|
|
16994
17042
|
background: var(---color-fa-light);
|
|
16995
17043
|
}
|
|
16996
17044
|
|
|
17045
|
+
.ppv {
|
|
17046
|
+
background: var(---color-present-light);
|
|
17047
|
+
}
|
|
17048
|
+
|
|
17049
|
+
.fomr {
|
|
17050
|
+
background: var(---color-absent-light);
|
|
17051
|
+
}
|
|
17052
|
+
|
|
16997
17053
|
.acc {
|
|
16998
17054
|
background: var(---color-acc-light);
|
|
16999
17055
|
}
|
|
@@ -17022,14 +17078,14 @@ class SDTEquation extends DetectableElement {
|
|
|
17022
17078
|
|
|
17023
17079
|
}
|
|
17024
17080
|
|
|
17025
|
-
let _$
|
|
17026
|
-
_t$
|
|
17027
|
-
_t2$
|
|
17028
|
-
_t3$
|
|
17029
|
-
_t4$
|
|
17030
|
-
_t5$
|
|
17031
|
-
_t6$
|
|
17032
|
-
_t7$
|
|
17081
|
+
let _$9 = t => t,
|
|
17082
|
+
_t$9,
|
|
17083
|
+
_t2$9,
|
|
17084
|
+
_t3$8,
|
|
17085
|
+
_t4$8,
|
|
17086
|
+
_t5$8,
|
|
17087
|
+
_t6$8,
|
|
17088
|
+
_t7$8,
|
|
17033
17089
|
_t8$4,
|
|
17034
17090
|
_t9$4,
|
|
17035
17091
|
_t10$4,
|
|
@@ -17124,37 +17180,37 @@ class SDTEquationDC2Far extends SDTEquation {
|
|
|
17124
17180
|
let far;
|
|
17125
17181
|
|
|
17126
17182
|
if (this.numeric) {
|
|
17127
|
-
d = $(_t$
|
|
17183
|
+
d = $(_t$9 || (_t$9 = _$9`
|
|
17128
17184
|
<decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
|
|
17129
17185
|
<var class="math-var">d′</var>
|
|
17130
17186
|
</decidables-spinner>
|
|
17131
17187
|
`), !this.interactive, this.d, this.dInput.bind(this));
|
|
17132
|
-
c = $(_t2$
|
|
17188
|
+
c = $(_t2$9 || (_t2$9 = _$9`
|
|
17133
17189
|
<decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
|
|
17134
17190
|
<var class="math-var">c</var>
|
|
17135
17191
|
</decidables-spinner>
|
|
17136
17192
|
`), !this.interactive, this.c, this.cInput.bind(this));
|
|
17137
|
-
s = $(_t3$
|
|
17193
|
+
s = $(_t3$8 || (_t3$8 = _$9`
|
|
17138
17194
|
<decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
|
|
17139
17195
|
<var class="math-var">σ</var>
|
|
17140
17196
|
</decidables-spinner>
|
|
17141
17197
|
`), !this.interactive, this.s, this.sInput.bind(this));
|
|
17142
|
-
far = $(_t4$
|
|
17198
|
+
far = $(_t4$8 || (_t4$8 = _$9`
|
|
17143
17199
|
<decidables-spinner class="far bottom" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17144
17200
|
<var>False Alarm Rate</var>
|
|
17145
17201
|
</decidables-spinner>
|
|
17146
17202
|
`), +this.far.toFixed(3));
|
|
17147
17203
|
} else {
|
|
17148
|
-
d = $(_t5$
|
|
17149
|
-
c = $(_t6$
|
|
17150
|
-
s = $(_t7$
|
|
17151
|
-
far = $(_t8$4 || (_t8$4 = _$
|
|
17204
|
+
d = $(_t5$8 || (_t5$8 = _$9`<var class="math-var d">d′</var>`));
|
|
17205
|
+
c = $(_t6$8 || (_t6$8 = _$9`<var class="math-var c">c</var>`));
|
|
17206
|
+
s = $(_t7$8 || (_t7$8 = _$9`<var class="math-var s">σ</var>`));
|
|
17207
|
+
far = $(_t8$4 || (_t8$4 = _$9`<var class="far">False Alarm Rate</var>`));
|
|
17152
17208
|
}
|
|
17153
17209
|
|
|
17154
17210
|
let equation;
|
|
17155
17211
|
|
|
17156
17212
|
if (this.unequal) {
|
|
17157
|
-
equation = $(_t9$4 || (_t9$4 = _$
|
|
17213
|
+
equation = $(_t9$4 || (_t9$4 = _$9`
|
|
17158
17214
|
<tr>
|
|
17159
17215
|
<td rowspan="2">
|
|
17160
17216
|
${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
|
|
@@ -17181,7 +17237,7 @@ class SDTEquationDC2Far extends SDTEquation {
|
|
|
17181
17237
|
</td>
|
|
17182
17238
|
</tr>`), far, s, d, c, s);
|
|
17183
17239
|
} else {
|
|
17184
|
-
equation = $(_t10$4 || (_t10$4 = _$
|
|
17240
|
+
equation = $(_t10$4 || (_t10$4 = _$9`
|
|
17185
17241
|
<tr>
|
|
17186
17242
|
<td rowspan="2">
|
|
17187
17243
|
${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="minus tight">−</span>
|
|
@@ -17200,7 +17256,7 @@ class SDTEquationDC2Far extends SDTEquation {
|
|
|
17200
17256
|
</tr>`), far, d, c);
|
|
17201
17257
|
}
|
|
17202
17258
|
|
|
17203
|
-
return $(_t11$4 || (_t11$4 = _$
|
|
17259
|
+
return $(_t11$4 || (_t11$4 = _$9`
|
|
17204
17260
|
<div class="holder">
|
|
17205
17261
|
<table class="equation">
|
|
17206
17262
|
<tbody>
|
|
@@ -17213,14 +17269,14 @@ class SDTEquationDC2Far extends SDTEquation {
|
|
|
17213
17269
|
}
|
|
17214
17270
|
customElements.define('sdt-equation-dc2far', SDTEquationDC2Far);
|
|
17215
17271
|
|
|
17216
|
-
let _$
|
|
17217
|
-
_t$
|
|
17218
|
-
_t2$
|
|
17219
|
-
_t3$
|
|
17220
|
-
_t4$
|
|
17221
|
-
_t5$
|
|
17222
|
-
_t6$
|
|
17223
|
-
_t7$
|
|
17272
|
+
let _$8 = t => t,
|
|
17273
|
+
_t$8,
|
|
17274
|
+
_t2$8,
|
|
17275
|
+
_t3$7,
|
|
17276
|
+
_t4$7,
|
|
17277
|
+
_t5$7,
|
|
17278
|
+
_t6$7,
|
|
17279
|
+
_t7$7,
|
|
17224
17280
|
_t8$3,
|
|
17225
17281
|
_t9$3,
|
|
17226
17282
|
_t10$3,
|
|
@@ -17315,37 +17371,37 @@ class SDTEquationDC2Hr extends SDTEquation {
|
|
|
17315
17371
|
let hr;
|
|
17316
17372
|
|
|
17317
17373
|
if (this.numeric) {
|
|
17318
|
-
d = $(_t$
|
|
17374
|
+
d = $(_t$8 || (_t$8 = _$8`
|
|
17319
17375
|
<decidables-spinner class="d bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
|
|
17320
17376
|
<var class="math-var">d′</var>
|
|
17321
17377
|
</decidables-spinner>
|
|
17322
17378
|
`), !this.interactive, this.d, this.dInput.bind(this));
|
|
17323
|
-
c = $(_t2$
|
|
17379
|
+
c = $(_t2$8 || (_t2$8 = _$8`
|
|
17324
17380
|
<decidables-spinner class="c bottom" ?disabled=${0} step=".001" .value="${0}" @input=${0}>
|
|
17325
17381
|
<var class="math-var">c</var>
|
|
17326
17382
|
</decidables-spinner>
|
|
17327
17383
|
`), !this.interactive, this.c, this.cInput.bind(this));
|
|
17328
|
-
s = $(_t3$
|
|
17384
|
+
s = $(_t3$7 || (_t3$7 = _$8`
|
|
17329
17385
|
<decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
|
|
17330
17386
|
<var class="math-var">σ</var>
|
|
17331
17387
|
</decidables-spinner>
|
|
17332
17388
|
`), !this.interactive, this.s, this.sInput.bind(this));
|
|
17333
|
-
hr = $(_t4$
|
|
17389
|
+
hr = $(_t4$7 || (_t4$7 = _$8`
|
|
17334
17390
|
<decidables-spinner class="hr bottom" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17335
17391
|
<var>Hit Rate</var>
|
|
17336
17392
|
</decidables-spinner>
|
|
17337
17393
|
`), +this.hr.toFixed(3));
|
|
17338
17394
|
} else {
|
|
17339
|
-
d = $(_t5$
|
|
17340
|
-
c = $(_t6$
|
|
17341
|
-
s = $(_t7$
|
|
17342
|
-
hr = $(_t8$3 || (_t8$3 = _$
|
|
17395
|
+
d = $(_t5$7 || (_t5$7 = _$8`<var class="math-var d">d′</var>`));
|
|
17396
|
+
c = $(_t6$7 || (_t6$7 = _$8`<var class="math-var c">c</var>`));
|
|
17397
|
+
s = $(_t7$7 || (_t7$7 = _$8`<var class="math-var s">σ</var>`));
|
|
17398
|
+
hr = $(_t8$3 || (_t8$3 = _$8`<var class="hr">Hit Rate</var>`));
|
|
17343
17399
|
}
|
|
17344
17400
|
|
|
17345
17401
|
let equation;
|
|
17346
17402
|
|
|
17347
17403
|
if (this.unequal) {
|
|
17348
|
-
equation = $(_t9$3 || (_t9$3 = _$
|
|
17404
|
+
equation = $(_t9$3 || (_t9$3 = _$8`
|
|
17349
17405
|
<tr>
|
|
17350
17406
|
<td rowspan="2">
|
|
17351
17407
|
${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span><span class="bracket tight">[</span>
|
|
@@ -17381,7 +17437,7 @@ class SDTEquationDC2Hr extends SDTEquation {
|
|
|
17381
17437
|
</td>
|
|
17382
17438
|
</tr>`), hr, s, d, c, s, s);
|
|
17383
17439
|
} else {
|
|
17384
|
-
equation = $(_t10$3 || (_t10$3 = _$
|
|
17440
|
+
equation = $(_t10$3 || (_t10$3 = _$8`
|
|
17385
17441
|
<tr>
|
|
17386
17442
|
<td rowspan="2">
|
|
17387
17443
|
${0}<span class="equals">=</span><var class="math-greek phi tight">Φ</var><span class="paren tight">(</span>
|
|
@@ -17400,7 +17456,7 @@ class SDTEquationDC2Hr extends SDTEquation {
|
|
|
17400
17456
|
</tr>`), hr, d, c);
|
|
17401
17457
|
}
|
|
17402
17458
|
|
|
17403
|
-
return $(_t11$3 || (_t11$3 = _$
|
|
17459
|
+
return $(_t11$3 || (_t11$3 = _$8`
|
|
17404
17460
|
<div class="holder">
|
|
17405
17461
|
<table class="equation">
|
|
17406
17462
|
<tbody>
|
|
@@ -17413,14 +17469,14 @@ class SDTEquationDC2Hr extends SDTEquation {
|
|
|
17413
17469
|
}
|
|
17414
17470
|
customElements.define('sdt-equation-dc2hr', SDTEquationDC2Hr);
|
|
17415
17471
|
|
|
17416
|
-
let _$
|
|
17417
|
-
_t$
|
|
17418
|
-
_t2$
|
|
17419
|
-
_t3$
|
|
17420
|
-
_t4$
|
|
17421
|
-
_t5$
|
|
17422
|
-
_t6$
|
|
17423
|
-
_t7$
|
|
17472
|
+
let _$7 = t => t,
|
|
17473
|
+
_t$7,
|
|
17474
|
+
_t2$7,
|
|
17475
|
+
_t3$6,
|
|
17476
|
+
_t4$6,
|
|
17477
|
+
_t5$6,
|
|
17478
|
+
_t6$6,
|
|
17479
|
+
_t7$6;
|
|
17424
17480
|
/*
|
|
17425
17481
|
SDTEquationFaCr2Far element
|
|
17426
17482
|
<sdt-equation-facr2far>
|
|
@@ -17491,28 +17547,28 @@ class SDTEquationFaCr2Far extends SDTEquation {
|
|
|
17491
17547
|
let far;
|
|
17492
17548
|
|
|
17493
17549
|
if (this.numeric) {
|
|
17494
|
-
fa = $(_t$
|
|
17550
|
+
fa = $(_t$7 || (_t$7 = _$7`
|
|
17495
17551
|
<decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17496
17552
|
<var>False Alarms</var>
|
|
17497
17553
|
</decidables-spinner>
|
|
17498
17554
|
`), !this.interactive, this.fa, this.faInput.bind(this));
|
|
17499
|
-
cr = $(_t2$
|
|
17555
|
+
cr = $(_t2$7 || (_t2$7 = _$7`
|
|
17500
17556
|
<decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17501
17557
|
<var>Correct Rejections</var>
|
|
17502
17558
|
</decidables-spinner>
|
|
17503
17559
|
`), !this.interactive, this.cr, this.crInput.bind(this));
|
|
17504
|
-
far = $(_t3$
|
|
17560
|
+
far = $(_t3$6 || (_t3$6 = _$7`
|
|
17505
17561
|
<decidables-spinner class="far" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17506
17562
|
<var>False Alarm Rate</var>
|
|
17507
17563
|
</decidables-spinner>
|
|
17508
17564
|
`), +this.far.toFixed(3));
|
|
17509
17565
|
} else {
|
|
17510
|
-
fa = $(_t4$
|
|
17511
|
-
cr = $(_t5$
|
|
17512
|
-
far = $(_t6$
|
|
17566
|
+
fa = $(_t4$6 || (_t4$6 = _$7`<var class="fa">False Alarms</var>`));
|
|
17567
|
+
cr = $(_t5$6 || (_t5$6 = _$7`<var class="cr">Correct Rejections</var>`));
|
|
17568
|
+
far = $(_t6$6 || (_t6$6 = _$7`<var class="far">False Alarm Rate</var>`));
|
|
17513
17569
|
}
|
|
17514
17570
|
|
|
17515
|
-
return $(_t7$
|
|
17571
|
+
return $(_t7$6 || (_t7$6 = _$7`
|
|
17516
17572
|
<div class="holder">
|
|
17517
17573
|
<table class="equation">
|
|
17518
17574
|
<tbody>
|
|
@@ -17537,16 +17593,141 @@ class SDTEquationFaCr2Far extends SDTEquation {
|
|
|
17537
17593
|
}
|
|
17538
17594
|
customElements.define('sdt-equation-facr2far', SDTEquationFaCr2Far);
|
|
17539
17595
|
|
|
17540
|
-
let _$
|
|
17541
|
-
_t$
|
|
17542
|
-
_t2$
|
|
17543
|
-
_t3$
|
|
17544
|
-
_t4$
|
|
17545
|
-
_t5$
|
|
17546
|
-
_t6$
|
|
17547
|
-
_t7$
|
|
17596
|
+
let _$6 = t => t,
|
|
17597
|
+
_t$6,
|
|
17598
|
+
_t2$6,
|
|
17599
|
+
_t3$5,
|
|
17600
|
+
_t4$5,
|
|
17601
|
+
_t5$5,
|
|
17602
|
+
_t6$5,
|
|
17603
|
+
_t7$5;
|
|
17548
17604
|
/*
|
|
17549
|
-
|
|
17605
|
+
SDTEquationHFa2Ppv element
|
|
17606
|
+
<sdt-equation-hm2hr>
|
|
17607
|
+
|
|
17608
|
+
Attributes:
|
|
17609
|
+
Hits; Misses; Hit Rate;
|
|
17610
|
+
*/
|
|
17611
|
+
|
|
17612
|
+
class SDTEquationHFa2Ppv extends SDTEquation {
|
|
17613
|
+
static get properties() {
|
|
17614
|
+
return {
|
|
17615
|
+
h: {
|
|
17616
|
+
attribute: 'hits',
|
|
17617
|
+
type: Number,
|
|
17618
|
+
reflect: true
|
|
17619
|
+
},
|
|
17620
|
+
fa: {
|
|
17621
|
+
attribute: 'false-alarms',
|
|
17622
|
+
type: Number,
|
|
17623
|
+
reflect: true
|
|
17624
|
+
},
|
|
17625
|
+
ppv: {
|
|
17626
|
+
attribute: false,
|
|
17627
|
+
type: Number,
|
|
17628
|
+
reflect: false
|
|
17629
|
+
}
|
|
17630
|
+
};
|
|
17631
|
+
}
|
|
17632
|
+
|
|
17633
|
+
constructor() {
|
|
17634
|
+
super();
|
|
17635
|
+
this.h = 0;
|
|
17636
|
+
this.fa = 0;
|
|
17637
|
+
this.alignState();
|
|
17638
|
+
}
|
|
17639
|
+
|
|
17640
|
+
alignState() {
|
|
17641
|
+
this.ppv = SDTMath.hFa2Ppv(this.h, this.fa);
|
|
17642
|
+
}
|
|
17643
|
+
|
|
17644
|
+
sendEvent() {
|
|
17645
|
+
this.dispatchEvent(new CustomEvent('sdt-equation-hfa2ppv-change', {
|
|
17646
|
+
detail: {
|
|
17647
|
+
h: this.h,
|
|
17648
|
+
fa: this.fa,
|
|
17649
|
+
ppv: this.ppv
|
|
17650
|
+
},
|
|
17651
|
+
bubbles: true
|
|
17652
|
+
}));
|
|
17653
|
+
}
|
|
17654
|
+
|
|
17655
|
+
hInput(event) {
|
|
17656
|
+
this.h = parseInt(event.target.value, 10);
|
|
17657
|
+
this.alignState();
|
|
17658
|
+
this.sendEvent();
|
|
17659
|
+
}
|
|
17660
|
+
|
|
17661
|
+
faInput(event) {
|
|
17662
|
+
this.fa = parseInt(event.target.value, 10);
|
|
17663
|
+
this.alignState();
|
|
17664
|
+
this.sendEvent();
|
|
17665
|
+
}
|
|
17666
|
+
|
|
17667
|
+
render() {
|
|
17668
|
+
this.alignState();
|
|
17669
|
+
let h;
|
|
17670
|
+
let fa;
|
|
17671
|
+
let ppv;
|
|
17672
|
+
|
|
17673
|
+
if (this.numeric) {
|
|
17674
|
+
h = $(_t$6 || (_t$6 = _$6`
|
|
17675
|
+
<decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17676
|
+
<var>Hits</var>
|
|
17677
|
+
</decidables-spinner>
|
|
17678
|
+
`), !this.interactive, this.h, this.hInput.bind(this));
|
|
17679
|
+
fa = $(_t2$6 || (_t2$6 = _$6`
|
|
17680
|
+
<decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17681
|
+
<var>False Alarms</var>
|
|
17682
|
+
</decidables-spinner>
|
|
17683
|
+
`), !this.interactive, this.fa, this.faInput.bind(this));
|
|
17684
|
+
ppv = $(_t3$5 || (_t3$5 = _$6`
|
|
17685
|
+
<decidables-spinner class="ppv" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17686
|
+
<var>Positive Predictive Value</var>
|
|
17687
|
+
</decidables-spinner>
|
|
17688
|
+
`), +this.ppv.toFixed(3));
|
|
17689
|
+
} else {
|
|
17690
|
+
h = $(_t4$5 || (_t4$5 = _$6`<var class="h">Hits</var>`));
|
|
17691
|
+
fa = $(_t5$5 || (_t5$5 = _$6`<var class="fa">False Alarms</var>`));
|
|
17692
|
+
ppv = $(_t6$5 || (_t6$5 = _$6`<var class="ppv">Positive Predictive Value</var>`));
|
|
17693
|
+
}
|
|
17694
|
+
|
|
17695
|
+
return $(_t7$5 || (_t7$5 = _$6`
|
|
17696
|
+
<div class="holder">
|
|
17697
|
+
<table class="equation">
|
|
17698
|
+
<tbody>
|
|
17699
|
+
<tr>
|
|
17700
|
+
<td rowspan="2">
|
|
17701
|
+
${0}<span class="equals">=</span>
|
|
17702
|
+
</td>
|
|
17703
|
+
<td class="underline">
|
|
17704
|
+
${0}
|
|
17705
|
+
</td>
|
|
17706
|
+
</tr>
|
|
17707
|
+
<tr>
|
|
17708
|
+
<td>
|
|
17709
|
+
${0}<span class="plus">+</span>${0}
|
|
17710
|
+
</td>
|
|
17711
|
+
</tr>
|
|
17712
|
+
</tbody>
|
|
17713
|
+
</table>
|
|
17714
|
+
</div>
|
|
17715
|
+
`), ppv, h, h, fa);
|
|
17716
|
+
}
|
|
17717
|
+
|
|
17718
|
+
}
|
|
17719
|
+
customElements.define('sdt-equation-hfa2ppv', SDTEquationHFa2Ppv);
|
|
17720
|
+
|
|
17721
|
+
let _$5 = t => t,
|
|
17722
|
+
_t$5,
|
|
17723
|
+
_t2$5,
|
|
17724
|
+
_t3$4,
|
|
17725
|
+
_t4$4,
|
|
17726
|
+
_t5$4,
|
|
17727
|
+
_t6$4,
|
|
17728
|
+
_t7$4;
|
|
17729
|
+
/*
|
|
17730
|
+
SDTEquationHM2Hr element
|
|
17550
17731
|
<sdt-equation-hm2hr>
|
|
17551
17732
|
|
|
17552
17733
|
Attributes:
|
|
@@ -17615,28 +17796,28 @@ class SDTEquationHM2Hr extends SDTEquation {
|
|
|
17615
17796
|
let hr;
|
|
17616
17797
|
|
|
17617
17798
|
if (this.numeric) {
|
|
17618
|
-
h = $(_t$
|
|
17799
|
+
h = $(_t$5 || (_t$5 = _$5`
|
|
17619
17800
|
<decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17620
17801
|
<var>Hits</var>
|
|
17621
17802
|
</decidables-spinner>
|
|
17622
17803
|
`), !this.interactive, this.h, this.hInput.bind(this));
|
|
17623
|
-
m = $(_t2$
|
|
17804
|
+
m = $(_t2$5 || (_t2$5 = _$5`
|
|
17624
17805
|
<decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17625
17806
|
<var>Misses</var>
|
|
17626
17807
|
</decidables-spinner>
|
|
17627
17808
|
`), !this.interactive, this.m, this.mInput.bind(this));
|
|
17628
|
-
hr = $(_t3$
|
|
17809
|
+
hr = $(_t3$4 || (_t3$4 = _$5`
|
|
17629
17810
|
<decidables-spinner class="hr" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17630
17811
|
<var>Hit Rate</var>
|
|
17631
17812
|
</decidables-spinner>
|
|
17632
17813
|
`), +this.hr.toFixed(3));
|
|
17633
17814
|
} else {
|
|
17634
|
-
h = $(_t4$
|
|
17635
|
-
m = $(_t5$
|
|
17636
|
-
hr = $(_t6$
|
|
17815
|
+
h = $(_t4$4 || (_t4$4 = _$5`<var class="h">Hits</var>`));
|
|
17816
|
+
m = $(_t5$4 || (_t5$4 = _$5`<var class="m">Misses</var>`));
|
|
17817
|
+
hr = $(_t6$4 || (_t6$4 = _$5`<var class="hr">Hit Rate</var>`));
|
|
17637
17818
|
}
|
|
17638
17819
|
|
|
17639
|
-
return $(_t7$
|
|
17820
|
+
return $(_t7$4 || (_t7$4 = _$5`
|
|
17640
17821
|
<div class="holder">
|
|
17641
17822
|
<table class="equation">
|
|
17642
17823
|
<tbody>
|
|
@@ -17662,14 +17843,14 @@ class SDTEquationHM2Hr extends SDTEquation {
|
|
|
17662
17843
|
}
|
|
17663
17844
|
customElements.define('sdt-equation-hm2hr', SDTEquationHM2Hr);
|
|
17664
17845
|
|
|
17665
|
-
let _$
|
|
17666
|
-
_t$
|
|
17667
|
-
_t2$
|
|
17668
|
-
_t3$
|
|
17669
|
-
_t4$
|
|
17670
|
-
_t5$
|
|
17671
|
-
_t6$
|
|
17672
|
-
_t7$
|
|
17846
|
+
let _$4 = t => t,
|
|
17847
|
+
_t$4,
|
|
17848
|
+
_t2$4,
|
|
17849
|
+
_t3$3,
|
|
17850
|
+
_t4$3,
|
|
17851
|
+
_t5$3,
|
|
17852
|
+
_t6$3,
|
|
17853
|
+
_t7$3,
|
|
17673
17854
|
_t8$2,
|
|
17674
17855
|
_t9$2,
|
|
17675
17856
|
_t10$2,
|
|
@@ -17772,40 +17953,40 @@ class SDTEquationHMFaCr2Acc extends SDTEquation {
|
|
|
17772
17953
|
let acc;
|
|
17773
17954
|
|
|
17774
17955
|
if (this.numeric) {
|
|
17775
|
-
h = $(_t$
|
|
17956
|
+
h = $(_t$4 || (_t$4 = _$4`
|
|
17776
17957
|
<decidables-spinner class="h" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17777
17958
|
<var>Hits</var>
|
|
17778
17959
|
</decidables-spinner>
|
|
17779
17960
|
`), !this.interactive, this.h, this.hInput.bind(this));
|
|
17780
|
-
m = $(_t2$
|
|
17961
|
+
m = $(_t2$4 || (_t2$4 = _$4`
|
|
17781
17962
|
<decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17782
17963
|
<var>Misses</var>
|
|
17783
17964
|
</decidables-spinner>
|
|
17784
17965
|
`), !this.interactive, this.m, this.mInput.bind(this));
|
|
17785
|
-
fa = $(_t3$
|
|
17966
|
+
fa = $(_t3$3 || (_t3$3 = _$4`
|
|
17786
17967
|
<decidables-spinner class="fa" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17787
17968
|
<var>False Alarms</var>
|
|
17788
17969
|
</decidables-spinner>
|
|
17789
17970
|
`), !this.interactive, this.fa, this.faInput.bind(this));
|
|
17790
|
-
cr = $(_t4$
|
|
17971
|
+
cr = $(_t4$3 || (_t4$3 = _$4`
|
|
17791
17972
|
<decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
17792
17973
|
<var>Correct Rejections</var>
|
|
17793
17974
|
</decidables-spinner>
|
|
17794
17975
|
`), !this.interactive, this.cr, this.crInput.bind(this));
|
|
17795
|
-
acc = $(_t5$
|
|
17976
|
+
acc = $(_t5$3 || (_t5$3 = _$4`
|
|
17796
17977
|
<decidables-spinner class="acc" disabled min="0" max="1" step=".001" .value="${0}">
|
|
17797
17978
|
<var>Accuracy</var>
|
|
17798
17979
|
</decidables-spinner>
|
|
17799
17980
|
`), +this.acc.toFixed(3));
|
|
17800
17981
|
} else {
|
|
17801
|
-
h = $(_t6$
|
|
17802
|
-
m = $(_t7$
|
|
17803
|
-
fa = $(_t8$2 || (_t8$2 = _$
|
|
17804
|
-
cr = $(_t9$2 || (_t9$2 = _$
|
|
17805
|
-
acc = $(_t10$2 || (_t10$2 = _$
|
|
17982
|
+
h = $(_t6$3 || (_t6$3 = _$4`<var class="h">Hits</var>`));
|
|
17983
|
+
m = $(_t7$3 || (_t7$3 = _$4`<var class="m">Misses</var>`));
|
|
17984
|
+
fa = $(_t8$2 || (_t8$2 = _$4`<var class="fa">False Alarms</var>`));
|
|
17985
|
+
cr = $(_t9$2 || (_t9$2 = _$4`<var class="cr">Correct Rejections</var>`));
|
|
17986
|
+
acc = $(_t10$2 || (_t10$2 = _$4`<var class="acc">Accuracy</var>`));
|
|
17806
17987
|
}
|
|
17807
17988
|
|
|
17808
|
-
return $(_t11$2 || (_t11$2 = _$
|
|
17989
|
+
return $(_t11$2 || (_t11$2 = _$4`
|
|
17809
17990
|
<div class="holder">
|
|
17810
17991
|
<table class="equation">
|
|
17811
17992
|
<tbody>
|
|
@@ -17824,20 +18005,20 @@ class SDTEquationHMFaCr2Acc extends SDTEquation {
|
|
|
17824
18005
|
</tr>
|
|
17825
18006
|
</tbody>
|
|
17826
18007
|
</table>
|
|
17827
|
-
</div>`), acc, h, cr, h, m, fa
|
|
18008
|
+
</div>`), acc, h, cr, h, cr, m, fa);
|
|
17828
18009
|
}
|
|
17829
18010
|
|
|
17830
18011
|
}
|
|
17831
18012
|
customElements.define('sdt-equation-hmfacr2acc', SDTEquationHMFaCr2Acc);
|
|
17832
18013
|
|
|
17833
|
-
let _$
|
|
17834
|
-
_t$
|
|
17835
|
-
_t2$
|
|
17836
|
-
_t3$
|
|
17837
|
-
_t4$
|
|
17838
|
-
_t5$
|
|
17839
|
-
_t6$
|
|
17840
|
-
_t7$
|
|
18014
|
+
let _$3 = t => t,
|
|
18015
|
+
_t$3,
|
|
18016
|
+
_t2$3,
|
|
18017
|
+
_t3$2,
|
|
18018
|
+
_t4$2,
|
|
18019
|
+
_t5$2,
|
|
18020
|
+
_t6$2,
|
|
18021
|
+
_t7$2,
|
|
17841
18022
|
_t8$1,
|
|
17842
18023
|
_t9$1,
|
|
17843
18024
|
_t10$1,
|
|
@@ -17932,37 +18113,37 @@ class SDTEquationHrFar2C extends SDTEquation {
|
|
|
17932
18113
|
let c;
|
|
17933
18114
|
|
|
17934
18115
|
if (this.numeric) {
|
|
17935
|
-
hr = $(_t$
|
|
18116
|
+
hr = $(_t$3 || (_t$3 = _$3`
|
|
17936
18117
|
<decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
17937
18118
|
<var>Hit Rate</var>
|
|
17938
18119
|
</decidables-spinner>
|
|
17939
18120
|
`), !this.interactive, this.hr, this.hrInput.bind(this));
|
|
17940
|
-
far = $(_t2$
|
|
18121
|
+
far = $(_t2$3 || (_t2$3 = _$3`
|
|
17941
18122
|
<decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
17942
18123
|
<var>False Alarm Rate</var>
|
|
17943
18124
|
</decidables-spinner>
|
|
17944
18125
|
`), !this.interactive, this.far, this.farInput.bind(this));
|
|
17945
|
-
s = $(_t3$
|
|
18126
|
+
s = $(_t3$2 || (_t3$2 = _$3`
|
|
17946
18127
|
<decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
|
|
17947
18128
|
<var class="math-var">σ</var>
|
|
17948
18129
|
</decidables-spinner>
|
|
17949
18130
|
`), !this.interactive, this.s, this.sInput.bind(this));
|
|
17950
|
-
c = $(_t4$
|
|
18131
|
+
c = $(_t4$2 || (_t4$2 = _$3`
|
|
17951
18132
|
<decidables-spinner class="c bottom" disabled step=".001" .value="${0}">
|
|
17952
18133
|
<var class="math-var">c</var>
|
|
17953
18134
|
</decidables-spinner>
|
|
17954
18135
|
`), +this.c.toFixed(3));
|
|
17955
18136
|
} else {
|
|
17956
|
-
hr = $(_t5$
|
|
17957
|
-
far = $(_t6$
|
|
17958
|
-
s = $(_t7$
|
|
17959
|
-
c = $(_t8$1 || (_t8$1 = _$
|
|
18137
|
+
hr = $(_t5$2 || (_t5$2 = _$3`<var class="hr">Hit Rate</var>`));
|
|
18138
|
+
far = $(_t6$2 || (_t6$2 = _$3`<var class="far">False Alarm Rate</var>`));
|
|
18139
|
+
s = $(_t7$2 || (_t7$2 = _$3`<var class="math-var s">σ</var>`));
|
|
18140
|
+
c = $(_t8$1 || (_t8$1 = _$3`<var class="math-var c">c</var>`));
|
|
17960
18141
|
}
|
|
17961
18142
|
|
|
17962
18143
|
let equation;
|
|
17963
18144
|
|
|
17964
18145
|
if (this.unequal) {
|
|
17965
|
-
equation = $(_t9$1 || (_t9$1 = _$
|
|
18146
|
+
equation = $(_t9$1 || (_t9$1 = _$3`
|
|
17966
18147
|
<tr>
|
|
17967
18148
|
<td rowspan="2">
|
|
17968
18149
|
${0}<span class="equals">=</span><span class="bracket tight">(</span>
|
|
@@ -17989,7 +18170,7 @@ class SDTEquationHrFar2C extends SDTEquation {
|
|
|
17989
18170
|
</td>
|
|
17990
18171
|
</tr>`), c, s, s, hr, far, s);
|
|
17991
18172
|
} else {
|
|
17992
|
-
equation = $(_t10$1 || (_t10$1 = _$
|
|
18173
|
+
equation = $(_t10$1 || (_t10$1 = _$3`
|
|
17993
18174
|
<tr>
|
|
17994
18175
|
<td rowspan="2">
|
|
17995
18176
|
${0}<span class="equals">=</span>
|
|
@@ -18005,7 +18186,7 @@ class SDTEquationHrFar2C extends SDTEquation {
|
|
|
18005
18186
|
</tr>`), c, hr, far);
|
|
18006
18187
|
}
|
|
18007
18188
|
|
|
18008
|
-
return $(_t11$1 || (_t11$1 = _$
|
|
18189
|
+
return $(_t11$1 || (_t11$1 = _$3`
|
|
18009
18190
|
<div class="holder">
|
|
18010
18191
|
<table class="equation">
|
|
18011
18192
|
<tbody>
|
|
@@ -18018,14 +18199,14 @@ class SDTEquationHrFar2C extends SDTEquation {
|
|
|
18018
18199
|
}
|
|
18019
18200
|
customElements.define('sdt-equation-hrfar2c', SDTEquationHrFar2C);
|
|
18020
18201
|
|
|
18021
|
-
let _$
|
|
18022
|
-
_t$
|
|
18023
|
-
_t2$
|
|
18024
|
-
_t3,
|
|
18025
|
-
_t4,
|
|
18026
|
-
_t5,
|
|
18027
|
-
_t6,
|
|
18028
|
-
_t7,
|
|
18202
|
+
let _$2 = t => t,
|
|
18203
|
+
_t$2,
|
|
18204
|
+
_t2$2,
|
|
18205
|
+
_t3$1,
|
|
18206
|
+
_t4$1,
|
|
18207
|
+
_t5$1,
|
|
18208
|
+
_t6$1,
|
|
18209
|
+
_t7$1,
|
|
18029
18210
|
_t8,
|
|
18030
18211
|
_t9,
|
|
18031
18212
|
_t10,
|
|
@@ -18120,37 +18301,37 @@ class SDTEquationHrFar2D extends SDTEquation {
|
|
|
18120
18301
|
let d;
|
|
18121
18302
|
|
|
18122
18303
|
if (this.numeric) {
|
|
18123
|
-
hr = $(_t$
|
|
18304
|
+
hr = $(_t$2 || (_t$2 = _$2`
|
|
18124
18305
|
<decidables-spinner class="hr bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
18125
18306
|
<var>Hit Rate</var>
|
|
18126
18307
|
</decidables-spinner>
|
|
18127
18308
|
`), !this.interactive, this.hr, this.hrInput.bind(this));
|
|
18128
|
-
far = $(_t2$
|
|
18309
|
+
far = $(_t2$2 || (_t2$2 = _$2`
|
|
18129
18310
|
<decidables-spinner class="far bottom" ?disabled=${0} min="0" max="1" step=".001" .value="${0}" @input=${0}>
|
|
18130
18311
|
<var>False Alarm Rate</var>
|
|
18131
18312
|
</decidables-spinner>
|
|
18132
18313
|
`), !this.interactive, this.far, this.farInput.bind(this));
|
|
18133
|
-
s = $(_t3 || (_t3 = _$
|
|
18314
|
+
s = $(_t3$1 || (_t3$1 = _$2`
|
|
18134
18315
|
<decidables-spinner class="s bottom" ?disabled=${0} min="0" step=".001" .value="${0}" @input=${0}>
|
|
18135
18316
|
<var class="math-var">σ</var>
|
|
18136
18317
|
</decidables-spinner>
|
|
18137
18318
|
`), !this.interactive, this.s, this.sInput.bind(this));
|
|
18138
|
-
d = $(_t4 || (_t4 = _$
|
|
18319
|
+
d = $(_t4$1 || (_t4$1 = _$2`
|
|
18139
18320
|
<decidables-spinner class="d bottom" disabled step=".001" .value="${0}">
|
|
18140
18321
|
<var class="math-var">d′</var>
|
|
18141
18322
|
</decidables-spinner>
|
|
18142
18323
|
`), +this.d.toFixed(3));
|
|
18143
18324
|
} else {
|
|
18144
|
-
hr = $(_t5 || (_t5 = _$
|
|
18145
|
-
far = $(_t6 || (_t6 = _$
|
|
18146
|
-
s = $(_t7 || (_t7 = _$
|
|
18147
|
-
d = $(_t8 || (_t8 = _$
|
|
18325
|
+
hr = $(_t5$1 || (_t5$1 = _$2`<var class="hr">Hit Rate</var>`));
|
|
18326
|
+
far = $(_t6$1 || (_t6$1 = _$2`<var class="far">False Alarm Rate</var>`));
|
|
18327
|
+
s = $(_t7$1 || (_t7$1 = _$2`<var class="math-var s">σ</var>`));
|
|
18328
|
+
d = $(_t8 || (_t8 = _$2`<var class="math-var d">d′</var>`));
|
|
18148
18329
|
}
|
|
18149
18330
|
|
|
18150
18331
|
let equation;
|
|
18151
18332
|
|
|
18152
18333
|
if (this.unequal) {
|
|
18153
|
-
equation = $(_t9 || (_t9 = _$
|
|
18334
|
+
equation = $(_t9 || (_t9 = _$2`
|
|
18154
18335
|
<tr>
|
|
18155
18336
|
<td rowspan="2">
|
|
18156
18337
|
${0}<span class="equals">=</span><span class="bracket tight">(</span>
|
|
@@ -18168,7 +18349,7 @@ class SDTEquationHrFar2D extends SDTEquation {
|
|
|
18168
18349
|
</td>
|
|
18169
18350
|
</tr>`), d, s, s, hr, far);
|
|
18170
18351
|
} else {
|
|
18171
|
-
equation = $(_t10 || (_t10 = _$
|
|
18352
|
+
equation = $(_t10 || (_t10 = _$2`
|
|
18172
18353
|
<tr>
|
|
18173
18354
|
<td>
|
|
18174
18355
|
${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>
|
|
@@ -18176,7 +18357,7 @@ class SDTEquationHrFar2D extends SDTEquation {
|
|
|
18176
18357
|
</tr>`), d, hr, far);
|
|
18177
18358
|
}
|
|
18178
18359
|
|
|
18179
|
-
return $(_t11 || (_t11 = _$
|
|
18360
|
+
return $(_t11 || (_t11 = _$2`
|
|
18180
18361
|
<div class="holder">
|
|
18181
18362
|
<table class="equation">
|
|
18182
18363
|
<tbody>
|
|
@@ -18189,6 +18370,131 @@ class SDTEquationHrFar2D extends SDTEquation {
|
|
|
18189
18370
|
}
|
|
18190
18371
|
customElements.define('sdt-equation-hrfar2d', SDTEquationHrFar2D);
|
|
18191
18372
|
|
|
18373
|
+
let _$1 = t => t,
|
|
18374
|
+
_t$1,
|
|
18375
|
+
_t2$1,
|
|
18376
|
+
_t3,
|
|
18377
|
+
_t4,
|
|
18378
|
+
_t5,
|
|
18379
|
+
_t6,
|
|
18380
|
+
_t7;
|
|
18381
|
+
/*
|
|
18382
|
+
SDTEquationMCr2Fomr element
|
|
18383
|
+
<sdt-equation-mcr2fomr>
|
|
18384
|
+
|
|
18385
|
+
Attributes:
|
|
18386
|
+
Hits; Misses; Hit Rate;
|
|
18387
|
+
*/
|
|
18388
|
+
|
|
18389
|
+
class SDTEquationMCr2Fomr extends SDTEquation {
|
|
18390
|
+
static get properties() {
|
|
18391
|
+
return {
|
|
18392
|
+
m: {
|
|
18393
|
+
attribute: 'misses',
|
|
18394
|
+
type: Number,
|
|
18395
|
+
reflect: true
|
|
18396
|
+
},
|
|
18397
|
+
cr: {
|
|
18398
|
+
attribute: 'correct-rejections',
|
|
18399
|
+
type: Number,
|
|
18400
|
+
reflect: true
|
|
18401
|
+
},
|
|
18402
|
+
fomr: {
|
|
18403
|
+
attribute: false,
|
|
18404
|
+
type: Number,
|
|
18405
|
+
reflect: false
|
|
18406
|
+
}
|
|
18407
|
+
};
|
|
18408
|
+
}
|
|
18409
|
+
|
|
18410
|
+
constructor() {
|
|
18411
|
+
super();
|
|
18412
|
+
this.m = 0;
|
|
18413
|
+
this.cr = 0;
|
|
18414
|
+
this.alignState();
|
|
18415
|
+
}
|
|
18416
|
+
|
|
18417
|
+
alignState() {
|
|
18418
|
+
this.fomr = SDTMath.mCr2Fomr(this.m, this.cr);
|
|
18419
|
+
}
|
|
18420
|
+
|
|
18421
|
+
sendEvent() {
|
|
18422
|
+
this.dispatchEvent(new CustomEvent('sdt-equation-mcr2fomr-change', {
|
|
18423
|
+
detail: {
|
|
18424
|
+
m: this.m,
|
|
18425
|
+
cr: this.cr,
|
|
18426
|
+
fomr: this.fomr
|
|
18427
|
+
},
|
|
18428
|
+
bubbles: true
|
|
18429
|
+
}));
|
|
18430
|
+
}
|
|
18431
|
+
|
|
18432
|
+
mInput(event) {
|
|
18433
|
+
this.m = parseInt(event.target.value, 10);
|
|
18434
|
+
this.alignState();
|
|
18435
|
+
this.sendEvent();
|
|
18436
|
+
}
|
|
18437
|
+
|
|
18438
|
+
crInput(event) {
|
|
18439
|
+
this.cr = parseInt(event.target.value, 10);
|
|
18440
|
+
this.alignState();
|
|
18441
|
+
this.sendEvent();
|
|
18442
|
+
}
|
|
18443
|
+
|
|
18444
|
+
render() {
|
|
18445
|
+
this.alignState();
|
|
18446
|
+
let m;
|
|
18447
|
+
let cr;
|
|
18448
|
+
let fomr;
|
|
18449
|
+
|
|
18450
|
+
if (this.numeric) {
|
|
18451
|
+
m = $(_t$1 || (_t$1 = _$1`
|
|
18452
|
+
<decidables-spinner class="m" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
18453
|
+
<var>Misses</var>
|
|
18454
|
+
</decidables-spinner>
|
|
18455
|
+
`), !this.interactive, this.m, this.mInput.bind(this));
|
|
18456
|
+
cr = $(_t2$1 || (_t2$1 = _$1`
|
|
18457
|
+
<decidables-spinner class="cr" ?disabled=${0} min="0" .value="${0}" @input=${0}>
|
|
18458
|
+
<var>Correct Rejections</var>
|
|
18459
|
+
</decidables-spinner>
|
|
18460
|
+
`), !this.interactive, this.cr, this.crInput.bind(this));
|
|
18461
|
+
fomr = $(_t3 || (_t3 = _$1`
|
|
18462
|
+
<decidables-spinner class="fomr" disabled min="0" max="1" step=".001" .value="${0}">
|
|
18463
|
+
<var>False Omission Rate</var>
|
|
18464
|
+
</decidables-spinner>
|
|
18465
|
+
`), +this.fomr.toFixed(3));
|
|
18466
|
+
} else {
|
|
18467
|
+
m = $(_t4 || (_t4 = _$1`<var class="m">Misses</var>`));
|
|
18468
|
+
cr = $(_t5 || (_t5 = _$1`<var class="cr">Correct Rejections</var>`));
|
|
18469
|
+
fomr = $(_t6 || (_t6 = _$1`<var class="fomr">False Omission Rate</var>`));
|
|
18470
|
+
}
|
|
18471
|
+
|
|
18472
|
+
return $(_t7 || (_t7 = _$1`
|
|
18473
|
+
<div class="holder">
|
|
18474
|
+
<table class="equation">
|
|
18475
|
+
<tbody>
|
|
18476
|
+
<tr>
|
|
18477
|
+
<td rowspan="2">
|
|
18478
|
+
${0}<span class="equals">=</span>
|
|
18479
|
+
</td>
|
|
18480
|
+
<td class="underline">
|
|
18481
|
+
${0}
|
|
18482
|
+
</td>
|
|
18483
|
+
</tr>
|
|
18484
|
+
<tr>
|
|
18485
|
+
<td>
|
|
18486
|
+
${0}<span class="plus">+</span>${0}
|
|
18487
|
+
</td>
|
|
18488
|
+
</tr>
|
|
18489
|
+
</tbody>
|
|
18490
|
+
</table>
|
|
18491
|
+
</div>
|
|
18492
|
+
`), fomr, m, m, cr);
|
|
18493
|
+
}
|
|
18494
|
+
|
|
18495
|
+
}
|
|
18496
|
+
customElements.define('sdt-equation-mcr2fomr', SDTEquationMCr2Fomr);
|
|
18497
|
+
|
|
18192
18498
|
let _ = t => t,
|
|
18193
18499
|
_t,
|
|
18194
18500
|
_t2;
|
|
@@ -18201,12 +18507,8 @@ class SDTExample extends DetectableElement {
|
|
|
18201
18507
|
static get styles() {
|
|
18202
18508
|
return [super.styles, r$2(_t || (_t = _`
|
|
18203
18509
|
:host {
|
|
18204
|
-
---border: var(--border, 1px solid var(---color-border));
|
|
18205
18510
|
display: inline-block;
|
|
18206
18511
|
|
|
18207
|
-
/* This makes IE11 happy */
|
|
18208
|
-
width: 100%;
|
|
18209
|
-
|
|
18210
18512
|
margin-bottom: 1rem;
|
|
18211
18513
|
}
|
|
18212
18514
|
|
|
@@ -18225,7 +18527,7 @@ class SDTExample extends DetectableElement {
|
|
|
18225
18527
|
padding: 0.625rem;
|
|
18226
18528
|
|
|
18227
18529
|
border: var(---border);
|
|
18228
|
-
border-radius:
|
|
18530
|
+
border-radius: var(---border-radius);
|
|
18229
18531
|
}
|
|
18230
18532
|
|
|
18231
18533
|
.body ::slotted(*) {
|
|
@@ -18251,7 +18553,7 @@ class SDTExample extends DetectableElement {
|
|
|
18251
18553
|
}
|
|
18252
18554
|
|
|
18253
18555
|
render() {
|
|
18254
|
-
|
|
18556
|
+
/* eslint-disable-line class-methods-use-this */
|
|
18255
18557
|
return $(_t2 || (_t2 = _`
|
|
18256
18558
|
<div class="holder">
|
|
18257
18559
|
<div class="body">
|
|
@@ -18899,6 +19201,81 @@ class SDTExampleModel extends SDTExample {
|
|
|
18899
19201
|
}
|
|
18900
19202
|
customElements.define('sdt-example-model', SDTExampleModel);
|
|
18901
19203
|
|
|
19204
|
+
/*
|
|
19205
|
+
SDTExampleMulti element
|
|
19206
|
+
<sdt-example-multi>
|
|
19207
|
+
*/
|
|
19208
|
+
|
|
19209
|
+
class SDTExampleMultiple extends SDTExample {
|
|
19210
|
+
static get properties() {
|
|
19211
|
+
return {
|
|
19212
|
+
variable: {
|
|
19213
|
+
attribute: 'variable',
|
|
19214
|
+
type: String,
|
|
19215
|
+
reflect: true
|
|
19216
|
+
},
|
|
19217
|
+
values: {
|
|
19218
|
+
attribute: 'values',
|
|
19219
|
+
converter: DecidablesConverterArray,
|
|
19220
|
+
reflect: true
|
|
19221
|
+
}
|
|
19222
|
+
};
|
|
19223
|
+
}
|
|
19224
|
+
|
|
19225
|
+
constructor() {
|
|
19226
|
+
super();
|
|
19227
|
+
this.variables = ['d', 'c'];
|
|
19228
|
+
this.variable = 'd';
|
|
19229
|
+
this.values = [0, 1];
|
|
19230
|
+
}
|
|
19231
|
+
|
|
19232
|
+
firstUpdated() {
|
|
19233
|
+
this.detectableControl = this.querySelector('detectable-control');
|
|
19234
|
+
this.rocSpace = this.querySelector('roc-space');
|
|
19235
|
+
this.sdtModel = this.querySelector('sdt-model');
|
|
19236
|
+
|
|
19237
|
+
if (this.detectableControl) {
|
|
19238
|
+
this.detectableControl.addEventListener('detectable-control-z-roc', event => {
|
|
19239
|
+
this.rocSpace.zRoc = event.detail.zRoc;
|
|
19240
|
+
});
|
|
19241
|
+
}
|
|
19242
|
+
|
|
19243
|
+
if (this.rocSpace) {
|
|
19244
|
+
this.rocSpace.setWithSDT(1, 0, 'default', '', 1);
|
|
19245
|
+
|
|
19246
|
+
if (this.variable === 'd') {
|
|
19247
|
+
this.values.forEach((d, index) => {
|
|
19248
|
+
this.rocSpace.setWithSDT(d, this.sdtModel.c, `point${index}`, index + 1, this.sdtModel.s);
|
|
19249
|
+
});
|
|
19250
|
+
} else if (this.variable === 'c') {
|
|
19251
|
+
this.values.forEach((c, index) => {
|
|
19252
|
+
this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, index + 1, this.sdtModel.s);
|
|
19253
|
+
});
|
|
19254
|
+
}
|
|
19255
|
+
}
|
|
19256
|
+
|
|
19257
|
+
if (this.sdtModel) {
|
|
19258
|
+
this.sdtModel.addEventListener('sdt-model-change', event => {
|
|
19259
|
+
if (this.rocSpace) {
|
|
19260
|
+
this.rocSpace.setWithSDT(event.detail.d, event.detail.c, 'default', '', event.detail.s);
|
|
19261
|
+
|
|
19262
|
+
if (this.variable === 'd') {
|
|
19263
|
+
this.values.forEach((d, index) => {
|
|
19264
|
+
this.rocSpace.setWithSDT(d, event.detail.c, `point${index}`, index + 1, event.detail.s);
|
|
19265
|
+
});
|
|
19266
|
+
} else if (this.variable === 'c') {
|
|
19267
|
+
this.values.forEach((c, index) => {
|
|
19268
|
+
this.rocSpace.setWithSDT(event.detail.d, c, `point${index}`, index + 1, event.detail.s);
|
|
19269
|
+
});
|
|
19270
|
+
}
|
|
19271
|
+
}
|
|
19272
|
+
});
|
|
19273
|
+
}
|
|
19274
|
+
}
|
|
19275
|
+
|
|
19276
|
+
}
|
|
19277
|
+
customElements.define('sdt-example-multiple', SDTExampleMultiple);
|
|
19278
|
+
|
|
18902
19279
|
/*
|
|
18903
19280
|
SDTExampleUnequal element
|
|
18904
19281
|
<sdt-example-unequal>
|
|
@@ -18918,15 +19295,13 @@ class SDTExampleUnequal extends SDTExample {
|
|
|
18918
19295
|
|
|
18919
19296
|
if (this.rocSpace) {
|
|
18920
19297
|
this.rocSpace.setWithSDT(1, 0, 'default', '', 1); // Set 'default' to equal variance for contours
|
|
19298
|
+
|
|
19299
|
+
range(-1.5, 1.6, 0.5).forEach((c, index) => {
|
|
19300
|
+
this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, '', this.sdtModel.s);
|
|
19301
|
+
});
|
|
18921
19302
|
}
|
|
18922
19303
|
|
|
18923
19304
|
if (this.sdtModel) {
|
|
18924
|
-
if (this.rocSpace) {
|
|
18925
|
-
range(-1.5, 1.6, 0.5).forEach((c, index) => {
|
|
18926
|
-
this.rocSpace.setWithSDT(this.sdtModel.d, c, `point${index}`, '', this.sdtModel.s);
|
|
18927
|
-
});
|
|
18928
|
-
}
|
|
18929
|
-
|
|
18930
19305
|
this.sdtModel.addEventListener('sdt-model-change', event => {
|
|
18931
19306
|
if (this.rocSpace) {
|
|
18932
19307
|
range(-1.5, 1.6, 0.5).forEach((c, index) => {
|
|
@@ -18940,5 +19315,5 @@ class SDTExampleUnequal extends SDTExample {
|
|
|
18940
19315
|
}
|
|
18941
19316
|
customElements.define('sdt-example-unequal', SDTExampleUnequal);
|
|
18942
19317
|
|
|
18943
|
-
export { DetectableControl, DetectableElement, DetectableResponse, DetectableTable, RDKTask, ROCSpace, SDTEquationDC2Far, SDTEquationDC2Hr, SDTEquationFaCr2Far, SDTEquationHM2Hr, SDTEquationHMFaCr2Acc, SDTEquationHrFar2C, SDTEquationHrFar2D, SDTExampleDoubleInteractive, SDTExampleHuman, SDTExampleInteractive, SDTExampleModel, SDTExampleUnequal, SDTModel };
|
|
19318
|
+
export { DetectableControl, DetectableElement, DetectableResponse, DetectableTable, RDKTask, ROCSpace, SDTEquationDC2Far, SDTEquationDC2Hr, SDTEquationFaCr2Far, SDTEquationHFa2Ppv, SDTEquationHM2Hr, SDTEquationHMFaCr2Acc, SDTEquationHrFar2C, SDTEquationHrFar2D, SDTEquationMCr2Fomr, SDTExampleDoubleInteractive, SDTExampleHuman, SDTExampleInteractive, SDTExampleModel, SDTExampleMultiple, SDTExampleUnequal, SDTModel };
|
|
18944
19319
|
//# sourceMappingURL=detectableElements.esm.js.map
|