@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.
@@ -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,EAAkB,MAAM,OAAO,CAAC;AAgCjH,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;CACnB;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,YAAY,CA+C1F;AAMD,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACd;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;CACnB;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,EAAE,cAAc,GAAG,YAAY,CA2D3I"}
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
- export interface SpecValue {
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
- confounders: string[];
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
- targetUnits: Opt<Var<'ate' | 'att' | 'atc'>>;
47
- trim: Opt<Var<'overlap' | 'bounds'>>;
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
- treatedMean: number;
52
- controlMean: number;
53
- stdDiff: number;
43
+ base_column: string;
44
+ treated_mean: number;
45
+ control_mean: number;
46
+ std_diff: number;
54
47
  }
55
- export interface ResultValue {
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 RefuteCheckValue {
67
- kind: Var<'placebo' | 'random_common_cause' | 'data_subset' | 'unobserved'>;
68
- estimatedEffect: number;
69
- newEffects: Vec;
70
- strengths: Opt<Vec>;
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 RefuteValue {
74
- checks: RefuteCheckValue[];
58
+ export interface SensitivityValue {
59
+ strengths: Vec;
60
+ effects: Vec;
75
61
  }
76
- export interface DoseSegValue {
77
- label: string;
78
- grid: Vec;
79
- effect: Vec;
80
- lower: Opt<Vec>;
81
- upper: Opt<Vec>;
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
- export interface JournalValue {
93
- spec: SpecValue;
94
- effect: number;
95
- ci: Opt<Ci>;
96
- committedAt: Date;
97
- committedBy: string;
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
- sensLo: number[];
164
- sensMid: number[];
165
- sensHi: number[];
166
- sensXTicks: string[];
167
- sensYTicks: string[];
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: bigint;
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 spec, the bound data's columns and
220
- * the (possibly absent) function results.
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 spec - The staged {@link SpecValue}.
260
+ * @param config - The staged {@link ConfigValue}.
223
261
  * @param cols - The bound dataset's columns (name + type family).
224
- * @param result - The estimate result, or `null` until the first Run settles.
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(spec: SpecValue, cols: Column[], result: ResultValue | null, refute: RefuteValue | null, dose: DoseValue | null, journal: JournalValue[] | null, meta: ColMeta | undefined, dataLen: number, now: Date): ExperimentView;
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":"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"}
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"}