@elaraai/e3-ui-components 1.0.12 → 1.0.13
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/dist/experiment/charts.d.ts +31 -2
- package/dist/experiment/charts.d.ts.map +1 -1
- package/dist/experiment/derive.d.ts +176 -74
- package/dist/experiment/derive.d.ts.map +1 -1
- package/dist/experiment/help-ui.d.ts +29 -0
- package/dist/experiment/help-ui.d.ts.map +1 -0
- package/dist/experiment/help.d.ts +319 -0
- package/dist/experiment/help.d.ts.map +1 -0
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/run-runtime.d.ts +9 -0
- package/dist/experiment/run-runtime.d.ts.map +1 -1
- package/dist/index.cjs +1334 -393
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1335 -394
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
+
import { HelpId } from './help.js';
|
|
2
3
|
type Tone = 'neg' | 'pos' | 'warn' | 'muted' | 'brand' | string;
|
|
3
4
|
export interface ForestRow {
|
|
4
5
|
label: string;
|
|
@@ -14,13 +15,18 @@ export interface ForestPlotProps {
|
|
|
14
15
|
max: number;
|
|
15
16
|
unit?: string;
|
|
16
17
|
height?: number;
|
|
18
|
+
/** Optional per-row help id, aligned to `rows` — renders a `.hlp` glyph
|
|
19
|
+
* after the row label, opening that glossary entry. */
|
|
20
|
+
rowHelp?: HelpId[];
|
|
17
21
|
}
|
|
18
22
|
/** Horizontal CI estimates with a dashed zero ("no effect") reference. */
|
|
19
|
-
export declare function ForestPlot({ rows, min, max, unit, height }: ForestPlotProps): ReactElement;
|
|
23
|
+
export declare function ForestPlot({ rows, min, max, unit, height, rowHelp }: ForestPlotProps): ReactElement;
|
|
20
24
|
export interface AreaMark {
|
|
21
25
|
at: number;
|
|
22
26
|
label: string;
|
|
23
27
|
tone: Tone;
|
|
28
|
+
/** Optional glossary id — renders a `.hlp` glyph after the marker label. */
|
|
29
|
+
help?: HelpId;
|
|
24
30
|
}
|
|
25
31
|
export interface AreaRangeProps {
|
|
26
32
|
lo: number[];
|
|
@@ -32,8 +38,31 @@ export interface AreaRangeProps {
|
|
|
32
38
|
tone?: Tone;
|
|
33
39
|
marks?: AreaMark[];
|
|
34
40
|
height?: number;
|
|
41
|
+
/** Y-axis label format: `signed` (default, e.g. `+5.2`) or `percent` (`80%`). */
|
|
42
|
+
yFormat?: 'signed' | 'percent';
|
|
35
43
|
}
|
|
36
44
|
/** Low-high CI ribbon + mid line with hairline axes, optional zero + markers. */
|
|
37
|
-
export declare function AreaRange({ lo, mid, hi, xTicks, yTicks, zero, tone: toneName, marks, height }: AreaRangeProps): ReactElement;
|
|
45
|
+
export declare function AreaRange({ lo, mid, hi, xTicks, yTicks, zero, tone: toneName, marks, height, yFormat }: AreaRangeProps): ReactElement;
|
|
46
|
+
export interface OverlapHistogramProps {
|
|
47
|
+
/** Treated-arm propensity histogram (one count/fraction per bin over [0,1]). */
|
|
48
|
+
treated: number[];
|
|
49
|
+
/** Control-arm propensity histogram (same binning). */
|
|
50
|
+
control: number[];
|
|
51
|
+
/** Domain of the propensity axis (default [0,1]). */
|
|
52
|
+
domain?: [number, number];
|
|
53
|
+
/** Caption shown at top-right (e.g. "62% common support"). */
|
|
54
|
+
supportLabel?: string;
|
|
55
|
+
/** Whether positivity clears the guard — toggles the caption tone. */
|
|
56
|
+
positivityOk?: boolean;
|
|
57
|
+
height?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A mirrored (back-to-back) histogram of the two arms' propensity scores:
|
|
61
|
+
* treated bars rise above a centre axis, control bars fall below it. Where the
|
|
62
|
+
* two densities both have mass is the **common support** — the only region a
|
|
63
|
+
* like-for-like comparison can be drawn. Contract-agnostic: the caller converts
|
|
64
|
+
* the two `Vector<Float>` to `number[]` and passes the [0,1] domain.
|
|
65
|
+
*/
|
|
66
|
+
export declare function OverlapHistogram({ treated, control, domain, supportLabel, positivityOk, height }: OverlapHistogramProps): ReactElement;
|
|
38
67
|
export {};
|
|
39
68
|
//# sourceMappingURL=charts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/experiment/charts.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyD,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/experiment/charts.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyD,KAAK,YAAY,EAAkC,MAAM,OAAO,CAAC;AAOjI,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAqDxC,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAmEhE,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4DACwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,GAAG,YAAY,CAqDnG;AAMD,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAClC;AAID,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAW,EAAE,MAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAU,EAAE,MAAM,EAAE,OAAkB,EAAE,EAAE,cAAc,GAAG,YAAY,CAyE/J;AAMD,MAAM,WAAW,qBAAqB;IAClC,gFAAgF;IAChF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uDAAuD;IACvD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAG,YAAY,CAkD/I"}
|
|
@@ -1,24 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Derive the Experiment surface's **presentation** from the numeric contract.
|
|
7
|
-
*
|
|
8
|
-
* The design principle is *visual-first, derived — never authored*: the bound
|
|
9
|
-
* functions return only causal quantities (the {@link "@elaraai/e3-ui"}
|
|
10
|
-
* `Experiment.Types.*` contract), and **every** word, colour, bar width and
|
|
11
|
-
* status on the surface is computed here from those numbers plus the column
|
|
12
|
-
* names the user picked. Because the user frames an arbitrary experiment, no
|
|
13
|
-
* sentence can be stored — the confounder reasons, the trade-off line and the
|
|
14
|
-
* refuter descriptions are *templated* from the numbers.
|
|
15
|
-
*
|
|
16
|
-
* The output of `deriveView` is the plain view-model the React shell renders, so
|
|
17
|
-
* the shell JSX stays a dumb painter — all the judgement lives in this one pure,
|
|
18
|
-
* testable module.
|
|
19
|
-
*
|
|
20
|
-
* @packageDocumentation
|
|
21
|
-
*/
|
|
1
|
+
import { HelpId } from './help.js';
|
|
22
2
|
export type Opt<T> = {
|
|
23
3
|
type: 'none';
|
|
24
4
|
value: null;
|
|
@@ -36,49 +16,57 @@ export interface Ci {
|
|
|
36
16
|
lower: number;
|
|
37
17
|
upper: number;
|
|
38
18
|
}
|
|
39
|
-
|
|
19
|
+
/** Which robustness checks the config asked for. */
|
|
20
|
+
export interface RefuteSpecValue {
|
|
21
|
+
placebo: boolean;
|
|
22
|
+
random_common_cause: boolean;
|
|
23
|
+
data_subset: boolean;
|
|
24
|
+
sensitivity: Opt<Vec>;
|
|
25
|
+
}
|
|
26
|
+
/** The staged experiment config (= `ExperimentConfigType`). */
|
|
27
|
+
export interface ConfigValue {
|
|
40
28
|
treatment: string;
|
|
41
29
|
outcome: string;
|
|
42
|
-
|
|
43
|
-
categorical: string[]
|
|
44
|
-
population: Opt<unknown[]>;
|
|
30
|
+
common_causes: string[];
|
|
31
|
+
categorical: Opt<string[]>;
|
|
45
32
|
method: Opt<Var<'linear_regression' | 'propensity_score_weighting'>>;
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
estimand: Opt<Var<'ate' | 'att' | 'atc'>>;
|
|
34
|
+
refute: Opt<RefuteSpecValue>;
|
|
35
|
+
dose_feature: Opt<string>;
|
|
36
|
+
min_overlap: Opt<number>;
|
|
37
|
+
min_treatment_variation: Opt<number>;
|
|
38
|
+
bootstrap: Opt<unknown>;
|
|
39
|
+
random_state: Opt<bigint>;
|
|
48
40
|
}
|
|
49
41
|
export interface BalanceValue {
|
|
50
42
|
column: string;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
base_column: string;
|
|
44
|
+
treated_mean: number;
|
|
45
|
+
control_mean: number;
|
|
46
|
+
std_diff: number;
|
|
54
47
|
}
|
|
55
|
-
export interface
|
|
48
|
+
export interface AdjustedValue {
|
|
56
49
|
effect: number;
|
|
57
50
|
ci: Opt<Ci>;
|
|
58
|
-
naive: number;
|
|
59
|
-
naiveCi: Opt<Ci>;
|
|
60
|
-
nTotal: bigint;
|
|
61
|
-
nTreated: bigint;
|
|
62
|
-
nControl: bigint;
|
|
63
|
-
nDropped: bigint;
|
|
64
|
-
balance: BalanceValue[];
|
|
65
51
|
}
|
|
66
|
-
export interface
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
pValue: Opt<number>;
|
|
52
|
+
export interface OverlapValue {
|
|
53
|
+
treated_propensity: Vec;
|
|
54
|
+
control_propensity: Vec;
|
|
55
|
+
common_support_frac: number;
|
|
56
|
+
positivity_ok: boolean;
|
|
72
57
|
}
|
|
73
|
-
export interface
|
|
74
|
-
|
|
58
|
+
export interface SensitivityValue {
|
|
59
|
+
strengths: Vec;
|
|
60
|
+
effects: Vec;
|
|
75
61
|
}
|
|
76
|
-
export interface
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
export interface RefutationValue {
|
|
63
|
+
placebo_effect: Opt<number>;
|
|
64
|
+
placebo_passes: Opt<boolean>;
|
|
65
|
+
random_cc_within_ci: Opt<boolean>;
|
|
66
|
+
data_subset_effect: Opt<number>;
|
|
67
|
+
data_subset_std: Opt<number>;
|
|
68
|
+
robustness_value: Opt<number>;
|
|
69
|
+
sensitivity: Opt<SensitivityValue>;
|
|
82
70
|
}
|
|
83
71
|
export interface DoseValue {
|
|
84
72
|
feature: string;
|
|
@@ -87,14 +75,31 @@ export interface DoseValue {
|
|
|
87
75
|
lower: Opt<Vec>;
|
|
88
76
|
upper: Opt<Vec>;
|
|
89
77
|
size: VecI;
|
|
90
|
-
segments: Opt<DoseSegValue[]>;
|
|
91
78
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
79
|
+
/** The honesty verdict — only `not_estimable` carries a (reason) string. */
|
|
80
|
+
export type VerdictValue = Var<'causal', null> | Var<'modest', null> | Var<'adjustment_insufficient', null> | Var<'non_identifiable_positivity', null> | Var<'not_estimable', string>;
|
|
81
|
+
export type VerdictTag = VerdictValue['type'];
|
|
82
|
+
export interface ResultValue {
|
|
83
|
+
naive: number;
|
|
84
|
+
naive_ci: Opt<Ci>;
|
|
85
|
+
adjusted: Opt<AdjustedValue>;
|
|
86
|
+
n_total: bigint;
|
|
87
|
+
n_treated: bigint;
|
|
88
|
+
n_control: bigint;
|
|
89
|
+
n_dropped: bigint;
|
|
90
|
+
balance: BalanceValue[];
|
|
91
|
+
overlap: OverlapValue;
|
|
92
|
+
refutation: Opt<RefutationValue>;
|
|
93
|
+
dose_response: Opt<DoseValue>;
|
|
94
|
+
verdict: VerdictValue;
|
|
95
|
+
}
|
|
96
|
+
export interface JournalRowValue {
|
|
97
|
+
config: ConfigValue;
|
|
98
|
+
verdict: VerdictValue;
|
|
99
|
+
naive: number;
|
|
100
|
+
adjusted: Opt<number>;
|
|
101
|
+
committed_at: Date;
|
|
102
|
+
committed_by: string;
|
|
98
103
|
}
|
|
99
104
|
export type ColMeta = Map<string, {
|
|
100
105
|
label: Opt<string>;
|
|
@@ -106,6 +111,11 @@ export interface Column {
|
|
|
106
111
|
name: string;
|
|
107
112
|
kind: 'boolean' | 'integer' | 'float' | 'string' | 'datetime' | 'other';
|
|
108
113
|
}
|
|
114
|
+
export interface VMVerdict {
|
|
115
|
+
tag: VerdictTag;
|
|
116
|
+
tone: string;
|
|
117
|
+
label: string;
|
|
118
|
+
}
|
|
109
119
|
export interface VMConfounder {
|
|
110
120
|
col: string;
|
|
111
121
|
reason: string;
|
|
@@ -123,7 +133,6 @@ export interface VMSpec {
|
|
|
123
133
|
suggestion: string;
|
|
124
134
|
method: string;
|
|
125
135
|
target: string;
|
|
126
|
-
trim: boolean;
|
|
127
136
|
dataLabel: string;
|
|
128
137
|
}
|
|
129
138
|
export interface VMBalance {
|
|
@@ -144,6 +153,9 @@ export interface VMAnswer {
|
|
|
144
153
|
effect: number;
|
|
145
154
|
lo: number;
|
|
146
155
|
hi: number;
|
|
156
|
+
clear: boolean;
|
|
157
|
+
flip: boolean;
|
|
158
|
+
cautious: boolean;
|
|
147
159
|
nTotal: bigint;
|
|
148
160
|
nTreated: bigint;
|
|
149
161
|
nControl: bigint;
|
|
@@ -151,25 +163,49 @@ export interface VMAnswer {
|
|
|
151
163
|
nDropped: bigint;
|
|
152
164
|
balance: VMBalance[];
|
|
153
165
|
}
|
|
166
|
+
/** A refusal zone (the engine returned `adjusted = none`). */
|
|
167
|
+
export interface VMRefusal {
|
|
168
|
+
kind: 'positivity' | 'not_estimable';
|
|
169
|
+
title: string;
|
|
170
|
+
body: string;
|
|
171
|
+
evidence: {
|
|
172
|
+
label: string;
|
|
173
|
+
value: string;
|
|
174
|
+
}[];
|
|
175
|
+
}
|
|
176
|
+
/** The propensity-overlap diagnostic (always derivable; the centrepiece of a
|
|
177
|
+
* positivity refusal, a small diagnostic card otherwise). */
|
|
178
|
+
export interface VMOverlap {
|
|
179
|
+
treated: number[];
|
|
180
|
+
control: number[];
|
|
181
|
+
commonSupportFrac: number;
|
|
182
|
+
positivityOk: boolean;
|
|
183
|
+
supportLabel: string;
|
|
184
|
+
}
|
|
154
185
|
export interface VMRefuteCheck {
|
|
155
186
|
name: string;
|
|
156
187
|
desc: string;
|
|
157
188
|
value: string;
|
|
158
189
|
passed: boolean;
|
|
159
190
|
tip: Opt<string>;
|
|
191
|
+
help: HelpId;
|
|
160
192
|
}
|
|
161
193
|
export interface VMRefute {
|
|
162
194
|
checks: VMRefuteCheck[];
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
195
|
+
sens: VMSensitivity | null;
|
|
196
|
+
}
|
|
197
|
+
export interface VMSensitivity {
|
|
198
|
+
lo: number[];
|
|
199
|
+
mid: number[];
|
|
200
|
+
hi: number[];
|
|
201
|
+
xTicks: string[];
|
|
202
|
+
yTicks: string[];
|
|
168
203
|
}
|
|
169
204
|
export interface VMDoseMark {
|
|
170
|
-
at:
|
|
205
|
+
at: number;
|
|
171
206
|
label: string;
|
|
172
207
|
tone: string;
|
|
208
|
+
help: HelpId;
|
|
173
209
|
}
|
|
174
210
|
export interface VMMarginal {
|
|
175
211
|
label: string;
|
|
@@ -191,7 +227,6 @@ export interface VMDose {
|
|
|
191
227
|
recoHi: number;
|
|
192
228
|
tradeoff: string;
|
|
193
229
|
marginal: VMMarginal[];
|
|
194
|
-
segments: string[];
|
|
195
230
|
}
|
|
196
231
|
export interface VMJournalRow {
|
|
197
232
|
treatment: string;
|
|
@@ -210,25 +245,92 @@ declare const cap: (s: string) => string;
|
|
|
210
245
|
declare const unitOf: (meta: ColMeta | undefined, col: string) => string;
|
|
211
246
|
export interface ExperimentView {
|
|
212
247
|
spec: VMSpec;
|
|
248
|
+
verdict: VMVerdict | null;
|
|
213
249
|
answer: VMAnswer | null;
|
|
250
|
+
refusal: VMRefusal | null;
|
|
251
|
+
overlap: VMOverlap | null;
|
|
214
252
|
refute: VMRefute | null;
|
|
215
253
|
dose: VMDose | null;
|
|
216
254
|
journal: VMJournalRow[] | null;
|
|
217
255
|
}
|
|
218
256
|
/**
|
|
219
|
-
* Derive the full view-model from the staged
|
|
220
|
-
* the (possibly absent)
|
|
257
|
+
* Derive the full view-model from the staged config, the bound data's columns
|
|
258
|
+
* and the (possibly absent) single experiment result.
|
|
221
259
|
*
|
|
222
|
-
* @param
|
|
260
|
+
* @param config - The staged {@link ConfigValue}.
|
|
223
261
|
* @param cols - The bound dataset's columns (name + type family).
|
|
224
|
-
* @param result - The
|
|
225
|
-
* @param refute - The refute result, or `null`.
|
|
226
|
-
* @param dose - The dose result, or `null`.
|
|
262
|
+
* @param result - The experiment result, or `null` until the first Run settles.
|
|
227
263
|
* @param journal - Committed rows, or `null`.
|
|
228
264
|
* @param meta - Optional per-column display metadata.
|
|
229
265
|
* @param dataLen - Row count of the bound dataset (for the header label).
|
|
230
266
|
* @param now - "Now" for relative journal timestamps (injected for determinism).
|
|
231
267
|
*/
|
|
232
|
-
export declare function deriveView(
|
|
268
|
+
export declare function deriveView(config: ConfigValue, ranConfig: ConfigValue, cols: Column[], result: ResultValue | null, journal: JournalRowValue[] | null, meta: ColMeta | undefined, dataLen: number, now: Date): ExperimentView;
|
|
269
|
+
/** Decoded `ExperimentDesignType` (the `design` function's result). */
|
|
270
|
+
export interface DesignValue {
|
|
271
|
+
verdict: VerdictValue;
|
|
272
|
+
basis: {
|
|
273
|
+
type: string;
|
|
274
|
+
};
|
|
275
|
+
target_effect: number;
|
|
276
|
+
outcome_sd: number;
|
|
277
|
+
target_power: number;
|
|
278
|
+
alpha: number;
|
|
279
|
+
current_power: Opt<number>;
|
|
280
|
+
match_on: string[];
|
|
281
|
+
options: {
|
|
282
|
+
label: string;
|
|
283
|
+
treated_share: number;
|
|
284
|
+
n_treated: bigint;
|
|
285
|
+
n_control: bigint;
|
|
286
|
+
n_total: bigint;
|
|
287
|
+
}[];
|
|
288
|
+
power_curve: {
|
|
289
|
+
n: VecI;
|
|
290
|
+
power: Vec;
|
|
291
|
+
};
|
|
292
|
+
rationale: string;
|
|
293
|
+
}
|
|
294
|
+
export interface VMDesignOption {
|
|
295
|
+
label: string;
|
|
296
|
+
nTotal: number;
|
|
297
|
+
nTreated: number;
|
|
298
|
+
nControl: number;
|
|
299
|
+
treatedShare: number;
|
|
300
|
+
}
|
|
301
|
+
export interface VMDesignMatch {
|
|
302
|
+
col: string;
|
|
303
|
+
frac: number;
|
|
304
|
+
tone: string;
|
|
305
|
+
display: string;
|
|
306
|
+
}
|
|
307
|
+
export interface VMDesign {
|
|
308
|
+
/** Verdict-framed eyebrow headline. */
|
|
309
|
+
headline: string;
|
|
310
|
+
rationale: string;
|
|
311
|
+
/** The recommended (first) option — the KPI + split meter read from this. */
|
|
312
|
+
primary: VMDesignOption;
|
|
313
|
+
/** Alternate split options (rows under the primary). */
|
|
314
|
+
alternates: VMDesignOption[];
|
|
315
|
+
/** Categories to match the arms on, with imbalance bar widths from the result. */
|
|
316
|
+
matchOn: VMDesignMatch[];
|
|
317
|
+
/** Power curve: total-N → chance of detecting (0..100), with target + "you're here". */
|
|
318
|
+
curve: {
|
|
319
|
+
mid: number[];
|
|
320
|
+
xTicks: string[];
|
|
321
|
+
marks: VMDoseMark[];
|
|
322
|
+
};
|
|
323
|
+
/** Signed target effect with unit, e.g. "+5.2 MPa". */
|
|
324
|
+
targetLabel: string;
|
|
325
|
+
targetPctLabel: string;
|
|
326
|
+
/** create_control → frame the split as a hold-back; no current-power marker. */
|
|
327
|
+
holdback: boolean;
|
|
328
|
+
/** non_identifiable_positivity → point at the overlap chart. */
|
|
329
|
+
showOverlap: boolean;
|
|
330
|
+
/** Effect too faint to size sanely — the head-count is a capped sentinel. */
|
|
331
|
+
faint: boolean;
|
|
332
|
+
}
|
|
333
|
+
/** Design value → the "Validate" tab view-model (numbers → recipe + chart). */
|
|
334
|
+
export declare function deriveDesign(d: DesignValue, result: ResultValue | null, ranConfig: ConfigValue, meta: ColMeta | undefined): VMDesign;
|
|
233
335
|
export { getOpt, fmt, signed, cap, unitOf };
|
|
234
336
|
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/experiment/derive.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/experiment/derive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { HelpId } from './help.js';
|
|
3
|
+
/** Provide the guidance on/off state + the `{treatment}`/`{outcome}` nouns. */
|
|
4
|
+
export declare function GuidanceProvider({ on, vars, children }: {
|
|
5
|
+
on: boolean;
|
|
6
|
+
vars: Record<string, string>;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
/**
|
|
10
|
+
* Make an element its own help trigger — hovering the heading / value / label
|
|
11
|
+
* itself opens its glossary card (no separate icon to aim at). Renders children
|
|
12
|
+
* untouched when guidance is off. `display` defaults to `inline` so prose still
|
|
13
|
+
* wraps; pass `inline-flex` + `gap` to keep a multi-part row laid out.
|
|
14
|
+
*/
|
|
15
|
+
export declare function Help({ id, extraVars, children, display, gap }: {
|
|
16
|
+
id: HelpId;
|
|
17
|
+
extraVars?: Record<string, string> | undefined;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
display?: 'inline' | 'inline-flex';
|
|
20
|
+
gap?: string;
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/** The header guidance toggle — an icon-only on/off button (no label). The filled
|
|
23
|
+
* (`subtle`) state + brand tint show guidance is active; ghost + muted is off.
|
|
24
|
+
* Hovering it always explains the feature (even when off), so it's discoverable. */
|
|
25
|
+
export declare function GuidanceToggle({ on, onToggle }: {
|
|
26
|
+
on: boolean;
|
|
27
|
+
onToggle: () => void;
|
|
28
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
//# sourceMappingURL=help-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-ui.d.ts","sourceRoot":"","sources":["../../src/experiment/help-ui.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AACH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAKxD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAE1H;AA6CD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAkB,EAAE,GAAG,EAAE,EAAE;IACvE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAChF,OAAO,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACpD,2CAWA;AAED;;qFAEqF;AACrF,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAAE,2CAWrF"}
|