react-semaphor 0.1.556 → 0.1.558
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/DATA_APP_SDK.md +6 -29
- package/dist/analytics-protocol/index.js +19 -20
- package/dist/assistant-context/index.js +1 -1
- package/dist/brand-studio/index.js +28 -29
- package/dist/briefings/index.js +55 -56
- package/dist/chunks/{assistant-chat-C7Acww1T.js → assistant-chat-BCWoP6Rf.js} +78 -80
- package/dist/chunks/{bookmark-state-7iZErWnR.js → bookmark-state-PjQpxbG7.js} +3 -3
- package/dist/chunks/{braces-o9UiRQes.js → braces-D5Ucy7q1.js} +1 -1
- package/dist/chunks/{comparison-window-caption-BseG5aOZ.js → comparison-window-caption-Dc7BaCMz.js} +186 -189
- package/dist/chunks/{custom-visual-inputs-ChuKjx27.js → custom-visual-inputs-B-DLRGrV.js} +1 -2
- package/dist/chunks/{dashboard-briefing-launcher-qrYd2zkN.js → dashboard-briefing-launcher-Coqghdn6.js} +148 -150
- package/dist/chunks/{dashboard-controls-BsapXI2H.js → dashboard-controls-BYWSM2RM.js} +170 -172
- package/dist/chunks/{dashboard-json-CJqPqYnI.js → dashboard-json-pPTB5gj0.js} +20 -21
- package/dist/chunks/{dashboard-BU6rE5kV.js → dashboard-wK6Bai4V.js} +1 -1
- package/dist/chunks/{document-dashboard-inputs-BNSprf5_.js → document-dashboard-inputs-PY_7Xm55.js} +31 -31
- package/dist/chunks/{edit-dashboard-visual-CjAdV-WG.js → edit-dashboard-visual-BODxuUeq.js} +7505 -7990
- package/dist/chunks/{filter-reach-copy-BTrqtFkh.js → filter-reach-copy-BvJH9JO-.js} +148 -149
- package/dist/chunks/{filter-value-text-CJTJDCym.js → filter-value-text-CUBpotVN.js} +3 -3
- package/dist/chunks/{global-date-filter-utils-CTVf3dG3.js → global-date-filter-utils-BsFqnnbA.js} +1396 -1391
- package/dist/chunks/{index-dIV-Gdsb.js → index-CJW5BdWT.js} +23 -24
- package/dist/chunks/{index-B_vIRa-q.js → index-DP_wQl0v.js} +70 -72
- package/dist/chunks/{layout-grid-Bgzth8vd.js → layout-grid-CkoXmv0L.js} +1 -1
- package/dist/chunks/{list-filter-DsaTbM3J.js → list-filter-B4i25kuc.js} +1 -1
- package/dist/chunks/{matrix-analytical-definition-Cg0ioFGQ.js → matrix-analytical-definition-4GTUDheD.js} +3 -3
- package/dist/chunks/{matrix-card-yYibXSw1.js → matrix-card-fS_4O7zA.js} +2 -2
- package/dist/chunks/{matrix-member-presentation-DEEauKXC.js → matrix-member-presentation-Dj7HaAHC.js} +1 -1
- package/dist/chunks/{matrix-operation-contract-C1G6AJNh.js → matrix-operation-contract-CpgLZ7E5.js} +21 -21
- package/dist/chunks/{metric-comparison-BfcmwxM1.js → metric-comparison-C8LY7GG5.js} +1 -1
- package/dist/chunks/{palette-D10o_yYX.js → palette-stlpjVk4.js} +1 -1
- package/dist/chunks/{matrix-formatter-C2kjsCDf.js → pivot-result-contract-expectations-DMk-mKhG.js} +444 -395
- package/dist/chunks/{pivot-result-identity-CWi5WrrY.js → pivot-result-identity-CrQ54Xbj.js} +1 -1
- package/dist/chunks/{raw-temporal-presentation-DWzLIHc3.js → raw-temporal-presentation-BI2z2LlB.js} +24 -25
- package/dist/chunks/report-preferences-dialog-Dc-YyVwf.js +2109 -0
- package/dist/chunks/{report-runtime-context-BgM-iNWB.js → report-runtime-context-CohdtiMg.js} +1 -1
- package/dist/chunks/{resolve-dashboard-input-context-Df8V5QHW.js → resolve-dashboard-input-context-BZYI1hB0.js} +225 -227
- package/dist/chunks/{save-CfJpQQ68.js → save-C1dgxgAu.js} +1 -1
- package/dist/chunks/{saved-dashboard-context-VvXI6r03.js → saved-dashboard-context-CIBoMq46.js} +8 -8
- package/dist/chunks/selection-reducer-_d6aKJnj.js +46 -0
- package/dist/chunks/{semaphor-ready-indicator-fejZmdq9.js → semaphor-ready-indicator-ERTLU7B4.js} +43497 -49629
- package/dist/chunks/{shelf-drop-preview-context-BuTCXe-S.js → shelf-drop-preview-context-fEnx6iL_.js} +6 -6
- package/dist/chunks/{source-entity-resolution-B46EZIzX.js → source-entity-resolution-DXW1HpKf.js} +1 -1
- package/dist/chunks/{switch-Bq92UGId.js → switch-BqUan2mN.js} +1430 -1341
- package/dist/chunks/{table-export-sheet-noKl8-en.js → table-export-sheet-CTCTA_bd.js} +1 -1
- package/dist/chunks/{table-settings-PpINOzw8.js → table-settings-DF1gdVQR.js} +2 -2
- package/dist/chunks/temporal-input-presentation-DoSniQj1.js +2939 -0
- package/dist/chunks/{token-types--0bgRCaO.js → token-types-DFyLflLY.js} +1 -1
- package/dist/chunks/{upload-BFX7apKV.js → upload-DcoyjkRV.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-Cz-ve64t.js → use-create-flow-overlay-state-xhb9YFg-.js} +124 -126
- package/dist/chunks/{validators-CZo_H4E6.js → validators-hmfNNQz8.js} +5 -5
- package/dist/chunks/zoned-wall-clock-E35Frf9v.js +191 -0
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.js +131 -132
- package/dist/data-app-sdk/index.js +788 -4153
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.js +5 -5
- package/dist/format-utils/index.js +230 -233
- package/dist/index.js +217 -218
- package/dist/layouts/index.js +1 -1
- package/dist/report-runtime-context/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/data-app-sdk/contracts.d.ts +0 -146
- package/dist/types/data-app-sdk/index.d.ts +0 -2
- package/dist/types/index.js +6 -6
- package/dist/types/lib/charts/types.d.ts +1 -2
- package/dist/types/lib/types/common-types.d.ts +0 -10
- package/dist/types/shared/dashboard-authoring/filter-model/filter-definitions.d.ts +1 -7
- package/package.json +1 -4
- package/src/data-app-sdk/README.md +7 -31
- package/dist/chunks/pivot-result-contract-expectations-fKBHFPfz.js +0 -56
- package/dist/chunks/raw-temporal-contract-CjHaUIsE.js +0 -64
- package/dist/chunks/report-preferences-dialog-D_wrbIQt.js +0 -2261
- package/dist/chunks/selection-reducer-By4CSmEF.js +0 -111
- package/dist/chunks/temporal-bucket-DzyadxVY.js +0 -2071
- package/dist/chunks/temporal-input-presentation-CJWS4d0L.js +0 -879
- package/dist/chunks/x-4f5U2XwU.js +0 -100
- package/dist/chunks/zoned-wall-clock-MulfA26h.js +0 -129
- package/dist/types/data-app-sdk/devtools/index.d.ts +0 -49
- package/dist/types/data-app-sdk/devtools.d.ts +0 -1
package/dist/surfboard/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a, R as s, D as o } from "../chunks/report-preferences-dialog-
|
|
2
|
-
import { C as f, E as D } from "../chunks/table-settings-
|
|
1
|
+
import { a, R as s, D as o } from "../chunks/report-preferences-dialog-Dc-YyVwf.js";
|
|
2
|
+
import { C as f, E as D } from "../chunks/table-settings-DF1gdVQR.js";
|
|
3
3
|
export {
|
|
4
4
|
f as CONTROL_CARD_DEFAULT_VALUE,
|
|
5
5
|
a as DisplayFormatPreferencesFields,
|
|
@@ -238,40 +238,13 @@ export type SemaphorDataAppDefinition = {
|
|
|
238
238
|
queries?: Record<string, SemaphorQueryDefinition>;
|
|
239
239
|
views: SemaphorDataAppViewDefinition[];
|
|
240
240
|
};
|
|
241
|
-
export type SemaphorDataAppDevtoolsUiConfig = {
|
|
242
|
-
buttonPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'relative';
|
|
243
|
-
initialIsOpen?: boolean;
|
|
244
|
-
panelPosition?: 'bottom' | 'right';
|
|
245
|
-
};
|
|
246
241
|
export type SemaphorDataAppDebugConfig = boolean | {
|
|
247
242
|
enabled?: boolean;
|
|
248
|
-
exposeWindowBridge?: boolean;
|
|
249
|
-
autoRenderDevtools?: boolean | SemaphorDataAppDevtoolsUiConfig;
|
|
250
243
|
requestServerDebug?: boolean;
|
|
251
|
-
maxQueries?: number;
|
|
252
|
-
maxEventsPerQuery?: number;
|
|
253
|
-
};
|
|
254
|
-
export type SemaphorDataAppSourceHint = {
|
|
255
|
-
file?: string;
|
|
256
|
-
line?: number;
|
|
257
|
-
column?: number;
|
|
258
|
-
exportName?: string;
|
|
259
|
-
component?: string;
|
|
260
|
-
note?: string;
|
|
261
|
-
};
|
|
262
|
-
export type SemaphorQueryDebugOptions = {
|
|
263
|
-
viewId?: string;
|
|
264
|
-
viewTitle?: string;
|
|
265
|
-
visualType?: string;
|
|
266
|
-
sectionTitle?: string;
|
|
267
|
-
title?: string;
|
|
268
|
-
sourceHint?: SemaphorDataAppSourceHint;
|
|
269
|
-
sourceHints?: SemaphorDataAppSourceHint[];
|
|
270
244
|
};
|
|
271
245
|
export type SemaphorQueryRuntimeOptions = {
|
|
272
246
|
inputs?: SemaphorInputReference[];
|
|
273
247
|
selections?: SemaphorSelectionReference[];
|
|
274
|
-
debug?: SemaphorQueryDebugOptions;
|
|
275
248
|
};
|
|
276
249
|
export type SemaphorQueryStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
277
250
|
export type SemaphorDataAppQueryError = Error & {
|
|
@@ -282,124 +255,6 @@ export type SemaphorDataAppQueryError = Error & {
|
|
|
282
255
|
validation?: SemaphorAnalyticsValidationResult;
|
|
283
256
|
validationIssues?: SemaphorAnalyticsValidationIssue[];
|
|
284
257
|
};
|
|
285
|
-
export type SemaphorDataAppTraceEvent = {
|
|
286
|
-
type: 'query_started';
|
|
287
|
-
queryId: string;
|
|
288
|
-
requestId?: string;
|
|
289
|
-
at: string;
|
|
290
|
-
} | {
|
|
291
|
-
type: 'query_succeeded';
|
|
292
|
-
queryId: string;
|
|
293
|
-
requestId?: string;
|
|
294
|
-
at: string;
|
|
295
|
-
rowCount?: number;
|
|
296
|
-
durationMs?: number;
|
|
297
|
-
} | {
|
|
298
|
-
type: 'query_failed';
|
|
299
|
-
queryId: string;
|
|
300
|
-
requestId?: string;
|
|
301
|
-
at: string;
|
|
302
|
-
errorMessage: string;
|
|
303
|
-
} | {
|
|
304
|
-
type: 'query_ignored_stale';
|
|
305
|
-
queryId: string;
|
|
306
|
-
requestId?: string;
|
|
307
|
-
at: string;
|
|
308
|
-
reason: 'newer_inputs' | 'unmounted' | 'superseded';
|
|
309
|
-
} | {
|
|
310
|
-
type: 'input_changed';
|
|
311
|
-
inputId: string;
|
|
312
|
-
at: string;
|
|
313
|
-
valuePreview?: string;
|
|
314
|
-
};
|
|
315
|
-
export type SemaphorDataAppTrace = {
|
|
316
|
-
traceId: string;
|
|
317
|
-
viewId?: string;
|
|
318
|
-
viewTitle?: string;
|
|
319
|
-
visualType?: string;
|
|
320
|
-
sectionTitle?: string;
|
|
321
|
-
queryId: string;
|
|
322
|
-
queryLabel?: string;
|
|
323
|
-
queryKind: SemaphorQueryDefinition['queryKind'];
|
|
324
|
-
builder: 'semaphor.metric' | 'semaphor.records' | 'semaphor.matrix' | 'semaphor.analysis' | 'semaphor.inputOptions' | 'semaphor.sql';
|
|
325
|
-
sourceRefs: SemaphorSourceRef[];
|
|
326
|
-
sourceHints?: SemaphorDataAppSourceHint[];
|
|
327
|
-
projectionFieldRefs?: SemaphorFieldRef[];
|
|
328
|
-
inputFieldRefs?: SemaphorFieldRef[];
|
|
329
|
-
fieldRefs: SemaphorFieldRef[];
|
|
330
|
-
inputsApplied: Array<{
|
|
331
|
-
inputId: string;
|
|
332
|
-
inputLabel?: string;
|
|
333
|
-
fieldRef?: SemaphorFieldRef;
|
|
334
|
-
operator?: string;
|
|
335
|
-
valuePreview?: string;
|
|
336
|
-
}>;
|
|
337
|
-
latestAttempt?: {
|
|
338
|
-
requestId?: string;
|
|
339
|
-
status: SemaphorQueryStatus;
|
|
340
|
-
durationMs?: number;
|
|
341
|
-
rowCount?: number;
|
|
342
|
-
columnCount?: number;
|
|
343
|
-
cacheStatus?: 'hit' | 'miss' | 'unknown';
|
|
344
|
-
metricCoverage?: {
|
|
345
|
-
populatedMetricKeys?: string[];
|
|
346
|
-
missingMeasures?: string[];
|
|
347
|
-
};
|
|
348
|
-
resultPreview?: SemaphorDataAppResultPreview;
|
|
349
|
-
executionResult?: SemaphorAnalyticsExecutionResult;
|
|
350
|
-
errorMessage?: string;
|
|
351
|
-
};
|
|
352
|
-
recentEvents: SemaphorDataAppTraceEvent[];
|
|
353
|
-
server?: {
|
|
354
|
-
compiledSql?: string;
|
|
355
|
-
dialect?: string;
|
|
356
|
-
sqlHash?: string;
|
|
357
|
-
executionPlanSummary?: string;
|
|
358
|
-
};
|
|
359
|
-
clientWarnings: string[];
|
|
360
|
-
};
|
|
361
|
-
export type SemaphorDataAppResultPreviewColumn = {
|
|
362
|
-
key: string;
|
|
363
|
-
label: string;
|
|
364
|
-
};
|
|
365
|
-
export type SemaphorDataAppResultPreview = {
|
|
366
|
-
title: string;
|
|
367
|
-
summary: string;
|
|
368
|
-
columns: SemaphorDataAppResultPreviewColumn[];
|
|
369
|
-
rows: Array<Record<string, unknown>>;
|
|
370
|
-
truncatedRows: boolean;
|
|
371
|
-
truncatedColumns: boolean;
|
|
372
|
-
};
|
|
373
|
-
export type SemaphorDataAppDevtoolsIssue = {
|
|
374
|
-
traceId: string;
|
|
375
|
-
queryId: string;
|
|
376
|
-
viewId?: string;
|
|
377
|
-
viewTitle?: string;
|
|
378
|
-
queryLabel?: string;
|
|
379
|
-
severity: 'error' | 'warning';
|
|
380
|
-
title: string;
|
|
381
|
-
message: string;
|
|
382
|
-
code?: string;
|
|
383
|
-
path?: string;
|
|
384
|
-
};
|
|
385
|
-
export type SemaphorDataAppDevtoolsState = {
|
|
386
|
-
enabled: boolean;
|
|
387
|
-
queries: SemaphorDataAppTrace[];
|
|
388
|
-
issues: SemaphorDataAppDevtoolsIssue[];
|
|
389
|
-
getQuery(queryId: string): SemaphorDataAppTrace | undefined;
|
|
390
|
-
getQueries(queryId: string): SemaphorDataAppTrace[];
|
|
391
|
-
};
|
|
392
|
-
export type SemaphorDataAppDevtoolsWindowBridge = {
|
|
393
|
-
snapshot(): SemaphorDataAppDevtoolsState;
|
|
394
|
-
getQuery(queryId: string): SemaphorDataAppTrace | undefined;
|
|
395
|
-
getQueries(queryId: string): SemaphorDataAppTrace[];
|
|
396
|
-
getIssues(): SemaphorDataAppDevtoolsIssue[];
|
|
397
|
-
};
|
|
398
|
-
declare global {
|
|
399
|
-
interface Window {
|
|
400
|
-
__SEMAPHOR_DEVTOOLS__?: SemaphorDataAppDevtoolsWindowBridge;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
258
|
export type SemaphorQueryState = {
|
|
404
259
|
status: SemaphorQueryStatus;
|
|
405
260
|
executionStatus?: SemaphorAnalyticsExecutionStatus;
|
|
@@ -414,7 +269,6 @@ export type SemaphorQueryState = {
|
|
|
414
269
|
isStale: boolean;
|
|
415
270
|
isValidated: boolean;
|
|
416
271
|
error: SemaphorDataAppQueryError | null;
|
|
417
|
-
trace?: SemaphorDataAppTrace;
|
|
418
272
|
};
|
|
419
273
|
export type SemaphorMetricPayload = {
|
|
420
274
|
primaryValue: number | string | null;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export { defineSemaphorDataApp, defineSemaphorInput, semaphor, } from './builders.js';
|
|
2
|
-
export { SemaphorDevtools, SemaphorDevtoolsInspectButton, SemaphorViewBoundary, useSemaphorDevtools, } from './devtools.js';
|
|
3
|
-
export type { SemaphorDevtoolsInspectButtonProps, SemaphorDevtoolsProps, } from './devtools.js';
|
|
4
2
|
export { createSemaphorQueryExecutor } from './executor.js';
|
|
5
3
|
export { semaphorMetricAggregate, semaphorMetricMeasureBindingKey, } from '../shared/analytics-protocol/index.js';
|
|
6
4
|
export { isSemaphorInputValueValidForOptions, useClearInvalidSemaphorInputValue, useSemaphorInput, useSemaphorInputs, useSemaphorQuery, } from './hooks.js';
|
package/dist/types/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { C as s, E as r, V as l, i as o, c as i, g as n, f as d, b as m, e as u, d as c, a as E, u as p, s as C, h as T, j as D, q as A, o as I, m as _, n as F, p as S, k as b, l as L, r as f, t as N } from "../chunks/table-settings-
|
|
2
|
-
import { C as y, D as g, L as h, e as x, g as M, j as O, h as V, k, d as w, b as U, i as B, c as K, n as z, f as v } from "../chunks/validators-
|
|
3
|
-
import { D as q } from "../chunks/token-types
|
|
4
|
-
import { B as P, a as Q, p as j, r as W } from "../chunks/bookmark-state-
|
|
5
|
-
import { r as X, a as H } from "../chunks/pivot-result-identity-
|
|
6
|
-
import { D as $ } from "../chunks/report-runtime-context-
|
|
1
|
+
import { C as s, E as r, V as l, i as o, c as i, g as n, f as d, b as m, e as u, d as c, a as E, u as p, s as C, h as T, j as D, q as A, o as I, m as _, n as F, p as S, k as b, l as L, r as f, t as N } from "../chunks/table-settings-DF1gdVQR.js";
|
|
2
|
+
import { C as y, D as g, L as h, e as x, g as M, j as O, h as V, k, d as w, b as U, i as B, c as K, n as z, f as v } from "../chunks/validators-hmfNNQz8.js";
|
|
3
|
+
import { D as q } from "../chunks/token-types-DFyLflLY.js";
|
|
4
|
+
import { B as P, a as Q, p as j, r as W } from "../chunks/bookmark-state-PjQpxbG7.js";
|
|
5
|
+
import { r as X, a as H } from "../chunks/pivot-result-identity-CrQ54Xbj.js";
|
|
6
|
+
import { D as $ } from "../chunks/report-runtime-context-CohdtiMg.js";
|
|
7
7
|
const e = [
|
|
8
8
|
"concatenate",
|
|
9
9
|
"conditional-category",
|
|
@@ -25,7 +25,6 @@ export type ChartConfigParams = {
|
|
|
25
25
|
provider?: TChartProvider;
|
|
26
26
|
userSettings?: object;
|
|
27
27
|
preferences?: TCardPreferences;
|
|
28
|
-
topoJson?: any;
|
|
29
28
|
themeStyle?: StyleProps;
|
|
30
29
|
/**
|
|
31
30
|
* Indicates SQL/dev mode where grouping is derived directly from raw data
|
|
@@ -49,7 +48,7 @@ export type BlurEffectProps = {
|
|
|
49
48
|
apply: boolean;
|
|
50
49
|
blurColor?: string;
|
|
51
50
|
};
|
|
52
|
-
export type TChartType = 'bar' | 'horizontalBar' | 'line' | 'area' | 'stackedArea' | 'combo' | 'pie' | 'doughnut' | 'radar' | 'polarArea' | 'bubble' | 'scatter' | 'stackedBar' | 'stackedLine' | 'table' | 'matrixTable' | 'detailTable' | 'kpi' | 'pyramid' | 'tornado' | 'range' | 'text' | '
|
|
51
|
+
export type TChartType = 'bar' | 'horizontalBar' | 'line' | 'area' | 'stackedArea' | 'combo' | 'pie' | 'doughnut' | 'radar' | 'polarArea' | 'bubble' | 'scatter' | 'stackedBar' | 'stackedLine' | 'table' | 'matrixTable' | 'detailTable' | 'kpi' | 'pyramid' | 'tornado' | 'range' | 'text' | 'funnel' | 'bullet' | 'heatmap' | 'treemap' | 'custom';
|
|
53
52
|
export { TABLE_CHART_TYPES, isTableChartType };
|
|
54
53
|
export declare function isChartJsVisualType(chartType: TChartType | string | undefined | null): boolean;
|
|
55
54
|
export declare const REGULAR_TABLE_SETTINGS_CHART_TYPES: readonly ["table", "matrixTable", "detailTable"];
|
|
@@ -745,16 +745,6 @@ export type TCardPreferences = {
|
|
|
745
745
|
*/
|
|
746
746
|
richContent?: TextCardRichContent;
|
|
747
747
|
};
|
|
748
|
-
mapVisualOptions?: {
|
|
749
|
-
topoJsonUrl?: string;
|
|
750
|
-
objectKey?: string;
|
|
751
|
-
outlineKey?: string;
|
|
752
|
-
customTopoJsonUrl?: string;
|
|
753
|
-
projection?: string;
|
|
754
|
-
projectionScale?: number;
|
|
755
|
-
projectionOffset?: [number, number];
|
|
756
|
-
colorScale?: string;
|
|
757
|
-
};
|
|
758
748
|
kpiVisualOptions?: {
|
|
759
749
|
countryLogoId?: string;
|
|
760
750
|
valueAlignment?: 'left' | 'center';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TFilter } from '../../../components/surfboard/filter/types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { TDashboard } from '../../../lib/types/common-types.js';
|
|
3
3
|
import { FilterInputEntry } from './read-dashboard-filter-model.js';
|
|
4
4
|
/** One definition per filter input, in model order. The same array for the same dashboard object. */
|
|
5
5
|
export declare function listDashboardFilterDefinitions(dashboard: TDashboard): readonly TFilter[];
|
|
@@ -11,12 +11,6 @@ export declare function getDashboardGlobalDateFilter(dashboard: TDashboard): TFi
|
|
|
11
11
|
* own kind. None for an unknown tab.
|
|
12
12
|
*/
|
|
13
13
|
export declare function listDashboardFilterInputsOnTab(dashboard: TDashboard, sheetId: string | null | undefined, sheetKind?: 'dashboard' | 'document'): readonly FilterInputEntry[];
|
|
14
|
-
/**
|
|
15
|
-
* A filter hidden from the toolbar and not attached to a visual: a toolbar
|
|
16
|
-
* filter's `hide`, or an input placed `hidden` (OF-D14). The edit-mode strip
|
|
17
|
-
* of hidden filters lists these.
|
|
18
|
-
*/
|
|
19
|
-
export declare function isHiddenFilterInput(input: NormalizedFilterDashboardInput): boolean;
|
|
20
14
|
/**
|
|
21
15
|
* Every filter definition the stored template holds, as stored: toolbar
|
|
22
16
|
* filters, stored inputs' filters and prototype Document inputs' filters,
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"email": "support@semaphor.cloud"
|
|
6
6
|
},
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"version": "0.1.
|
|
8
|
+
"version": "0.1.558",
|
|
9
9
|
"description": "Fully interactive and customizable dashboards for your apps.",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"react",
|
|
@@ -161,7 +161,6 @@
|
|
|
161
161
|
"@dnd-kit/sortable": "^10.0.0",
|
|
162
162
|
"@dnd-kit/utilities": "^3.2.2",
|
|
163
163
|
"@floating-ui/react-dom": "^2.1.8",
|
|
164
|
-
"@headlessui/react": "^2.2.0",
|
|
165
164
|
"@lexical/history": "^0.43.0",
|
|
166
165
|
"@lexical/link": "^0.43.0",
|
|
167
166
|
"@lexical/list": "^0.43.0",
|
|
@@ -200,7 +199,6 @@
|
|
|
200
199
|
"ai": "^7.0.137",
|
|
201
200
|
"chart.js": "^4.4.1",
|
|
202
201
|
"chartjs-chart-funnel": "^4.2.4",
|
|
203
|
-
"chartjs-chart-geo": "^4.3.4",
|
|
204
202
|
"chartjs-chart-matrix": "^3.0.0",
|
|
205
203
|
"chartjs-chart-treemap": "^3.1.0",
|
|
206
204
|
"chartjs-plugin-datalabels": "^2.2.0",
|
|
@@ -292,7 +290,6 @@
|
|
|
292
290
|
"prettier-plugin-tailwindcss": "^0.6.1",
|
|
293
291
|
"react": "19.3.0",
|
|
294
292
|
"react-dom": "19.3.0",
|
|
295
|
-
"react-grab": "^0.1.16",
|
|
296
293
|
"rollup-plugin-visualizer": "^5.12.0",
|
|
297
294
|
"simple-zustand-devtools": "^1.1.0",
|
|
298
295
|
"tailwindcss": "^3.4.1",
|
|
@@ -12,7 +12,6 @@ Do not inspect SDK implementation internals to discover these patterns.
|
|
|
12
12
|
```tsx
|
|
13
13
|
import {
|
|
14
14
|
SemaphorDataAppProvider,
|
|
15
|
-
SemaphorDevtools,
|
|
16
15
|
semaphor,
|
|
17
16
|
useClearInvalidSemaphorInputValue,
|
|
18
17
|
useSemaphorInputs,
|
|
@@ -28,46 +27,24 @@ import type {
|
|
|
28
27
|
} from "react-semaphor/data-app-sdk";
|
|
29
28
|
```
|
|
30
29
|
|
|
31
|
-
## Runtime Provider
|
|
32
|
-
|
|
33
|
-
Generated local/dev apps should mount one root DevTools instance and enable the
|
|
34
|
-
debug bridge only outside production embeds.
|
|
30
|
+
## Runtime Provider
|
|
35
31
|
|
|
36
32
|
```tsx
|
|
37
33
|
const runtimeToken = import.meta.env.VITE_SEMAPHOR_PROJECT_TOKEN;
|
|
38
|
-
const enableDevtools =
|
|
39
|
-
import.meta.env.DEV ||
|
|
40
|
-
(typeof window !== "undefined" && window.location.hostname === "localhost");
|
|
41
34
|
|
|
42
35
|
export function Root() {
|
|
43
36
|
return (
|
|
44
|
-
<SemaphorDataAppProvider
|
|
45
|
-
token={runtimeToken}
|
|
46
|
-
debug={enableDevtools ? { exposeWindowBridge: true } : false}
|
|
47
|
-
>
|
|
37
|
+
<SemaphorDataAppProvider token={runtimeToken} debug={import.meta.env.DEV}>
|
|
48
38
|
<App />
|
|
49
|
-
<SemaphorDevtools
|
|
50
|
-
initialIsOpen={false}
|
|
51
|
-
buttonPosition="bottom-right"
|
|
52
|
-
panelPosition="right"
|
|
53
|
-
/>
|
|
54
39
|
</SemaphorDataAppProvider>
|
|
55
40
|
);
|
|
56
41
|
}
|
|
57
42
|
```
|
|
58
43
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
debug: {
|
|
64
|
-
sourceHint: {
|
|
65
|
-
file: "src/views/RevenueBySegment.tsx",
|
|
66
|
-
component: "RevenueBySegment",
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
```
|
|
44
|
+
With `debug` on, each query asks the server for debug detail. For an
|
|
45
|
+
organization user, the result's `executionResult.metadata.dataAppDebug` then
|
|
46
|
+
carries the request id, duration and compiled SQL. Keep it off in production
|
|
47
|
+
embeds.
|
|
71
48
|
|
|
72
49
|
## Query State
|
|
73
50
|
|
|
@@ -129,8 +106,7 @@ Important state fields:
|
|
|
129
106
|
|
|
130
107
|
Validation failures produce a structured `SemaphorDataAppQueryError` in
|
|
131
108
|
`result.error`, with `kind: "data_app_query_error"`, `validation`,
|
|
132
|
-
`validationIssues`, and `executionResult` when available.
|
|
133
|
-
the same execution status and structured issues.
|
|
109
|
+
`validationIssues`, and `executionResult` when available.
|
|
134
110
|
|
|
135
111
|
## Source And Fields
|
|
136
112
|
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
var c = Object.defineProperty;
|
|
2
|
-
var d = (r, e, t) => e in r ? c(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
|
|
3
|
-
var l = (r, e, t) => d(r, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { G as u } from "./temporal-bucket-DzyadxVY.js";
|
|
5
|
-
import "./validators-CZo_H4E6.js";
|
|
6
|
-
import "./matrix-operation-contract-C1G6AJNh.js";
|
|
7
|
-
import { r as v } from "./metric-comparison-BfcmwxM1.js";
|
|
8
|
-
import "./analytics-base-schemas-BUFUoO6G.js";
|
|
9
|
-
import "zod";
|
|
10
|
-
class m extends Error {
|
|
11
|
-
constructor(t, a) {
|
|
12
|
-
super(`${t}: ${a}`);
|
|
13
|
-
l(this, "deliveryBlocking", !0);
|
|
14
|
-
this.code = t, this.name = "PivotHeaderPresentationError";
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function k(r) {
|
|
18
|
-
var i;
|
|
19
|
-
const e = r.mode ?? "formatted", t = r.members.map((o) => {
|
|
20
|
-
var n;
|
|
21
|
-
if (e === "canonical" || !o.temporalBucket)
|
|
22
|
-
return o.value === null ? "" : String(o.value);
|
|
23
|
-
const s = (n = r.resolveTemporalFormat) == null ? void 0 : n.call(r, o.fieldId);
|
|
24
|
-
if (!s)
|
|
25
|
-
throw new m(
|
|
26
|
-
"missing_resolved_temporal_format",
|
|
27
|
-
`Missing resolved temporal presentation for pivot field "${o.fieldId}"`
|
|
28
|
-
);
|
|
29
|
-
return u({
|
|
30
|
-
value: o.value,
|
|
31
|
-
metadata: o.temporalBucket,
|
|
32
|
-
format: s
|
|
33
|
-
});
|
|
34
|
-
}), a = ((i = r.metricLabel) == null ? void 0 : i.trim()) || void 0;
|
|
35
|
-
return {
|
|
36
|
-
memberLabels: t,
|
|
37
|
-
...a ? { metricLabel: a } : {},
|
|
38
|
-
flattenedLabel: [
|
|
39
|
-
...t,
|
|
40
|
-
...a ? [a] : []
|
|
41
|
-
].join(" / ")
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function B(r) {
|
|
45
|
-
const e = /* @__PURE__ */ new Map();
|
|
46
|
-
return r.forEach((t) => {
|
|
47
|
-
t.id && e.set(t.id, (e.get(t.id) ?? 0) + 1);
|
|
48
|
-
}), r.flatMap(
|
|
49
|
-
(t) => t.id && (e.get(t.id) ?? 0) > 1 ? [v(t)] : []
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
export {
|
|
53
|
-
m as P,
|
|
54
|
-
B as d,
|
|
55
|
-
k as p
|
|
56
|
-
};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
var d = Object.defineProperty;
|
|
2
|
-
var i = (a, e, t) => e in a ? d(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t;
|
|
3
|
-
var n = (a, e, t) => i(a, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { R as l } from "./analytics-base-schemas-BUFUoO6G.js";
|
|
5
|
-
class r extends Error {
|
|
6
|
-
constructor(t) {
|
|
7
|
-
super(t);
|
|
8
|
-
n(this, "code");
|
|
9
|
-
this.name = "RawTemporalMetadataContractError", this.code = l.invalidMetadata;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function s(a) {
|
|
13
|
-
if (a === null || typeof a != "object" || Array.isArray(a))
|
|
14
|
-
return !1;
|
|
15
|
-
const e = Object.getPrototypeOf(a);
|
|
16
|
-
return e === null || e === Object.prototype;
|
|
17
|
-
}
|
|
18
|
-
function m(a) {
|
|
19
|
-
if (!s(a))
|
|
20
|
-
throw new r(
|
|
21
|
-
"Raw temporal metadata must be an object."
|
|
22
|
-
);
|
|
23
|
-
const e = Object.keys(a);
|
|
24
|
-
if (e.length !== 2 || !e.includes("kind") || !e.includes("valueKind"))
|
|
25
|
-
throw new r(
|
|
26
|
-
"Raw temporal metadata must contain only kind and valueKind."
|
|
27
|
-
);
|
|
28
|
-
if (a.kind !== "raw_temporal")
|
|
29
|
-
throw new r(
|
|
30
|
-
"Raw temporal metadata kind must be raw_temporal."
|
|
31
|
-
);
|
|
32
|
-
if (a.valueKind !== "date" && a.valueKind !== "wall_datetime" && a.valueKind !== "instant")
|
|
33
|
-
throw new r(
|
|
34
|
-
"Raw temporal valueKind must be date, wall_datetime, or instant."
|
|
35
|
-
);
|
|
36
|
-
return {
|
|
37
|
-
kind: "raw_temporal",
|
|
38
|
-
valueKind: a.valueKind
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function u(a, e) {
|
|
42
|
-
if (!a.rawTemporal) {
|
|
43
|
-
if (e.metadataRequired)
|
|
44
|
-
throw new r(
|
|
45
|
-
"Activated raw temporal result is missing metadata."
|
|
46
|
-
);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
if (a.temporalBucket)
|
|
50
|
-
throw new r(
|
|
51
|
-
"A result column cannot carry both raw and grouped temporal metadata."
|
|
52
|
-
);
|
|
53
|
-
const t = m(a.rawTemporal), o = t.valueKind === "date" ? "date" : "datetime";
|
|
54
|
-
if (a.dataType !== o)
|
|
55
|
-
throw new r(
|
|
56
|
-
`${t.valueKind} raw temporal values require dataType ${o}.`
|
|
57
|
-
);
|
|
58
|
-
return t;
|
|
59
|
-
}
|
|
60
|
-
export {
|
|
61
|
-
r as R,
|
|
62
|
-
m as p,
|
|
63
|
-
u as v
|
|
64
|
-
};
|