react-semaphor 0.1.425 → 0.1.427
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 +5 -0
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +42 -39
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +1 -1
- package/dist/chunks/{calendar-preferences-dialog-DJwV0aqn.js → calendar-preferences-dialog-DE4tk3t3.js} +2 -2
- package/dist/chunks/{calendar-preferences-dialog-BLaSWhLl.js → calendar-preferences-dialog-DuGX1NPV.js} +1 -1
- package/dist/chunks/{catalog-field-grounding-DcxPLns0.js → catalog-field-grounding-AOGwWu0K.js} +2 -2
- package/dist/chunks/code-editor-BoowcKU0.js +138 -0
- package/dist/chunks/{code-editor-Bkk7s8hI.js → code-editor-CojfM3qp.js} +6564 -6293
- package/dist/chunks/{comparison-document-migration-CQJ0DZlL.js → comparison-document-migration-BJH1idOd.js} +1 -1
- package/dist/chunks/{comparison-document-migration-Db64RWYD.js → comparison-document-migration-b6c3xiWh.js} +1 -1
- package/dist/chunks/{dashboard-5agU0G_D.js → dashboard-DSxho2LN.js} +51313 -50489
- package/dist/chunks/{dashboard-briefing-launcher-qyEVfuOm.js → dashboard-briefing-launcher-BFIw5BOf.js} +4 -4
- package/dist/chunks/{dashboard-briefing-launcher-CII8-4qo.js → dashboard-briefing-launcher-CguxcHIl.js} +1 -1
- package/dist/chunks/{dashboard-controls-PJpeYZHw.js → dashboard-controls-Cl0LagTr.js} +8 -8
- package/dist/chunks/{dashboard-controls-aJY0FNPP.js → dashboard-controls-jD-HpCNK.js} +529 -524
- package/dist/chunks/dashboard-date-comparison-definition-BaYxjLi5.js +167 -0
- package/dist/chunks/dashboard-date-comparison-definition-DGZr3m-b.js +1 -0
- package/dist/chunks/{dashboard-json-DtmR5yCf.js → dashboard-json-7mpQsizF.js} +1 -1
- package/dist/chunks/{dashboard-json-CzHSP6Fa.js → dashboard-json-BovTt0uu.js} +3 -3
- package/dist/chunks/dashboard-ogxedhSY.js +1402 -0
- package/dist/chunks/edit-dashboard-visual-B7wLrHeF.js +182 -0
- package/dist/chunks/{edit-dashboard-visual-AkZzwBCV.js → edit-dashboard-visual-dlm8F_Qu.js} +4649 -4595
- package/dist/chunks/metric-comparison-BKgkMy9r.js +1 -0
- package/dist/chunks/metric-comparison-CWweq9RG.js +387 -0
- package/dist/chunks/{use-create-flow-overlay-state-ByOKVV2K.js → use-create-flow-overlay-state-BU0ROMSm.js} +2 -2
- package/dist/chunks/{use-create-flow-overlay-state-DmuReEnk.js → use-create-flow-overlay-state-kbl6avDY.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +1 -1
- package/dist/dashboard-authoring/index.js +3 -3
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- package/dist/data-app-sdk-validation/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +6 -6
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +40 -2
- package/dist/types/dashboard.d.ts +25 -0
- package/dist/types/main.d.ts +54 -5
- package/dist/types/surfboard.d.ts +25 -0
- package/dist/types/types.d.ts +43 -0
- package/package.json +1 -1
- package/dist/chunks/code-editor-CkXyNgYc.js +0 -138
- package/dist/chunks/dashboard-MKIqgGDp.js +0 -1402
- package/dist/chunks/edit-dashboard-visual-Cif6uDqN.js +0 -182
- package/dist/chunks/metric-comparison-4oA4ouU9.js +0 -354
- package/dist/chunks/metric-comparison-nQKquVnx.js +0 -1
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-ogxedhSY.js"),e=require("../chunks/common-types-C73-Ud1-.js"),a=require("../chunks/calendar-preferences-dialog-DuGX1NPV.js");exports.Surfboard=r.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;exports.CalendarPreferencesDialog=a.CalendarPreferencesDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e } from "../chunks/dashboard-
|
|
1
|
+
import { a as e } from "../chunks/dashboard-DSxho2LN.js";
|
|
2
2
|
import { C, E } from "../chunks/common-types-ClkOI-3O.js";
|
|
3
|
-
import { C as s } from "../chunks/calendar-preferences-dialog-
|
|
3
|
+
import { C as s } from "../chunks/calendar-preferences-dialog-DE4tk3t3.js";
|
|
4
4
|
export {
|
|
5
5
|
C as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
s as CalendarPreferencesDialog,
|
|
@@ -101,6 +101,29 @@ export declare type ComparisonPresentationSpec = {
|
|
|
101
101
|
|
|
102
102
|
export declare type ComparisonUnavailableReason = 'finite_current_window_required' | 'current_window_not_started' | 'temporal_binding_missing' | 'temporal_binding_ambiguous' | 'temporal_binding_invalid' | 'unsupported_output_shape' | 'unsupported_raw_sql' | 'insufficient_history' | 'invalid_comparison_spec' | 'comparison_execution_failed';
|
|
103
103
|
|
|
104
|
+
export declare type DashboardDateComparisonDefinitionIneligibility = 'invalid_input' | 'non_date_filter' | 'card_inline_filter' | 'custom_filter' | 'multi_target_filter' | 'incomplete_field_identity' | 'divergent_field_identity' | 'incomplete_source_identity' | 'divergent_source_identity';
|
|
105
|
+
|
|
106
|
+
export declare type DashboardDateComparisonDefinitionResolution = {
|
|
107
|
+
status: 'eligible';
|
|
108
|
+
kind: 'global_date';
|
|
109
|
+
} | {
|
|
110
|
+
status: 'eligible';
|
|
111
|
+
kind: 'field_date';
|
|
112
|
+
qualifiedFieldName: string;
|
|
113
|
+
source: SemaphorSourceRef;
|
|
114
|
+
} | {
|
|
115
|
+
status: 'ineligible';
|
|
116
|
+
reason: DashboardDateComparisonDefinitionIneligibility;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export declare type DashboardDateComparisonOwner = {
|
|
120
|
+
kind: 'global_date';
|
|
121
|
+
} | {
|
|
122
|
+
kind: 'field_date';
|
|
123
|
+
filterId: string;
|
|
124
|
+
label: string;
|
|
125
|
+
};
|
|
126
|
+
|
|
104
127
|
export declare const DEFAULT_METRIC_COMPARISON_POLARITY: "higher_is_better";
|
|
105
128
|
|
|
106
129
|
export declare function evaluateMetricComparison(input: {
|
|
@@ -134,6 +157,7 @@ export declare function getSemaphorConnectionCapabilities(connectionType: string
|
|
|
134
157
|
export declare type GlobalDateComparisonContext = {
|
|
135
158
|
selection: GlobalDateComparisonSelection;
|
|
136
159
|
inheritGlobalComparison?: false;
|
|
160
|
+
owner?: DashboardDateComparisonOwner;
|
|
137
161
|
/** Fixed execution clock carried by authoritative dashboard replay snapshots. */
|
|
138
162
|
referenceTime?: string;
|
|
139
163
|
};
|
|
@@ -161,6 +185,8 @@ export declare function isAnalyticsMetricIdentifierField(field: AnalyticsCatalog
|
|
|
161
185
|
|
|
162
186
|
export declare function isAnalyticsTechnicalIdentifierField(field: AnalyticsCatalogField): boolean;
|
|
163
187
|
|
|
188
|
+
export declare function isComparisonCapableDashboardDateInputDefinition(input: unknown): boolean;
|
|
189
|
+
|
|
164
190
|
export declare function isSemaphorAnalyzeResultFieldName(value: string): value is SemaphorAnalyzeResultFieldName;
|
|
165
191
|
|
|
166
192
|
export declare function isSemaphorDataAppCodegenSummary(value: unknown): value is SemaphorDataAppCodegenSummary;
|
|
@@ -604,6 +630,10 @@ export declare function preferSemaphorFieldRefMetadata(current: SemaphorFieldRef
|
|
|
604
630
|
|
|
605
631
|
export declare function preferSemaphorSourceMetadata(current: SemaphorSourceRef, next: SemaphorSourceRef): SemaphorSourceRef;
|
|
606
632
|
|
|
633
|
+
export declare function resolveDashboardDateComparisonFilterDefinition(filter: unknown): DashboardDateComparisonDefinitionResolution;
|
|
634
|
+
|
|
635
|
+
export declare function resolveDashboardDateComparisonInputDefinition(input: unknown): DashboardDateComparisonDefinitionResolution;
|
|
636
|
+
|
|
607
637
|
export declare type ResolvedDateWindow = {
|
|
608
638
|
startInclusive: string;
|
|
609
639
|
endExclusive: string;
|
|
@@ -616,6 +646,7 @@ export declare type ResolvedMetricComparisonRequest = {
|
|
|
616
646
|
} | {
|
|
617
647
|
source: 'inherited';
|
|
618
648
|
spec: ViewerPeriodComparisonSpec;
|
|
649
|
+
owner?: DashboardDateComparisonOwner;
|
|
619
650
|
};
|
|
620
651
|
|
|
621
652
|
export declare type ResolvedTemporalContext = {
|
|
@@ -635,8 +666,7 @@ export declare type ResolvedTemporalContext = {
|
|
|
635
666
|
export declare function resolveMetricComparisonRequest(input: {
|
|
636
667
|
metricComparison?: MetricComparisonConfig;
|
|
637
668
|
inheritGlobalComparison?: false;
|
|
638
|
-
|
|
639
|
-
isGlobalDateApplicable: boolean;
|
|
669
|
+
globalDateComparison?: GlobalDateComparisonContext;
|
|
640
670
|
}): ResolvedMetricComparisonRequest | undefined;
|
|
641
671
|
|
|
642
672
|
/** Stable result-instance identity shared by query producers and consumers. */
|
|
@@ -651,6 +681,14 @@ export declare type ResolveTemporalContextInput = {
|
|
|
651
681
|
querySources?: SemaphorSourceRef[];
|
|
652
682
|
};
|
|
653
683
|
|
|
684
|
+
export declare function semanticDatasetMatchesFieldCoordinates(dataset: {
|
|
685
|
+
id?: unknown;
|
|
686
|
+
name?: unknown;
|
|
687
|
+
}, field: {
|
|
688
|
+
entityId?: unknown;
|
|
689
|
+
entityName?: unknown;
|
|
690
|
+
}): boolean;
|
|
691
|
+
|
|
654
692
|
export declare const SEMAPHOR_ANALYTICS_INTENT_FIXTURES: {
|
|
655
693
|
revenueKpi: {
|
|
656
694
|
version: 1;
|
|
@@ -1744,6 +1744,14 @@ export declare type LoadingProps = {
|
|
|
1744
1744
|
|
|
1745
1745
|
declare type LogicalOperator = 'AND' | 'OR';
|
|
1746
1746
|
|
|
1747
|
+
/**
|
|
1748
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
1749
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
1750
|
+
*/
|
|
1751
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
1752
|
+
effectiveFilterValue: TFilterValue;
|
|
1753
|
+
};
|
|
1754
|
+
|
|
1747
1755
|
declare interface MetricColumn extends BaseColumn {
|
|
1748
1756
|
role: 'metric';
|
|
1749
1757
|
aggregate: AggregateFunction;
|
|
@@ -1946,6 +1954,20 @@ declare type RelativeDateFilter = {
|
|
|
1946
1954
|
to: number;
|
|
1947
1955
|
};
|
|
1948
1956
|
|
|
1957
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
1958
|
+
inputId: string;
|
|
1959
|
+
filterId: string;
|
|
1960
|
+
label: string;
|
|
1961
|
+
filter: TFilter;
|
|
1962
|
+
/**
|
|
1963
|
+
* The active value before execution-only canonicalization. Comparison
|
|
1964
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
1965
|
+
* when its filter or field identity does not match the definition.
|
|
1966
|
+
*/
|
|
1967
|
+
filterValue?: TFilterValue;
|
|
1968
|
+
selection: GlobalDateComparisonSelection;
|
|
1969
|
+
};
|
|
1970
|
+
|
|
1949
1971
|
export declare type ResolvedDashboardInput = {
|
|
1950
1972
|
id: string;
|
|
1951
1973
|
kind: 'filter' | 'control';
|
|
@@ -1974,6 +1996,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
1974
1996
|
controlValues: Record<string, unknown>;
|
|
1975
1997
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
1976
1998
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
1999
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
1977
2000
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
1978
2001
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
1979
2002
|
};
|
|
@@ -1998,6 +2021,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
1998
2021
|
entityName: string;
|
|
1999
2022
|
entityType: string;
|
|
2000
2023
|
dataType: string;
|
|
2024
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2025
|
+
source?: SemaphorSourceRef;
|
|
2001
2026
|
dateFormat?: string;
|
|
2002
2027
|
customFormat?: string;
|
|
2003
2028
|
defaultGranularity?: TimeGranularity;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -44,8 +44,8 @@ declare type Actions_2 = {
|
|
|
44
44
|
upsertDashboardInput: (input: DashboardInput) => void;
|
|
45
45
|
removeDashboardInput: (inputId: string) => void;
|
|
46
46
|
setDefaultDashboardInputValues: (values: DashboardInputValues | undefined) => void;
|
|
47
|
+
setDefaultDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, selection: GlobalDateComparisonSelection | undefined) => void;
|
|
47
48
|
setDashboardInputValues: (values: DashboardInputValues) => void;
|
|
48
|
-
setDashboardInputValuesAreAuthoritative: (isAuthoritative: boolean) => void;
|
|
49
49
|
setDashboardInputSlot: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, slot: DashboardInputSlot) => void;
|
|
50
50
|
setDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, selection: GlobalDateComparisonSelection) => void;
|
|
51
51
|
resetDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget) => void;
|
|
@@ -73,14 +73,12 @@ declare type Actions_2 = {
|
|
|
73
73
|
setDashboard: (dashboard: TDashboard, options?: {
|
|
74
74
|
semanticExecutionPayload?: SemanticExecutionPayload;
|
|
75
75
|
dashboardInputValues?: DashboardInputValues;
|
|
76
|
-
dashboardInputValuesAreAuthoritative?: boolean;
|
|
77
76
|
dashboardInputReferenceTime?: string;
|
|
78
77
|
}) => void;
|
|
79
78
|
setDashboardWithFilterValues: (dashboard: TDashboard, filterValues: TFilterValue[], runtimeOverrides?: Record<string, unknown>, options?: {
|
|
80
79
|
selectedSheetId?: string | null;
|
|
81
80
|
semanticExecutionPayload?: SemanticExecutionPayload;
|
|
82
81
|
dashboardInputValues?: DashboardInputValues;
|
|
83
|
-
dashboardInputValuesAreAuthoritative?: boolean;
|
|
84
82
|
dashboardInputReferenceTime?: string;
|
|
85
83
|
}) => void;
|
|
86
84
|
hydrateRuntimeControlValues: (dashboard: TDashboard, runtimeOverrides?: Record<string, unknown>) => void;
|
|
@@ -1932,6 +1930,14 @@ export declare interface DashboardCreateDialogBaseProps {
|
|
|
1932
1930
|
initialDomainId?: string;
|
|
1933
1931
|
}
|
|
1934
1932
|
|
|
1933
|
+
declare type DashboardDateComparisonOwner = {
|
|
1934
|
+
kind: 'global_date';
|
|
1935
|
+
} | {
|
|
1936
|
+
kind: 'field_date';
|
|
1937
|
+
filterId: string;
|
|
1938
|
+
label: string;
|
|
1939
|
+
};
|
|
1940
|
+
|
|
1935
1941
|
export declare type DashboardEventHandlers = {
|
|
1936
1942
|
onExportData?: (payload: ExportDataPayload) => void;
|
|
1937
1943
|
};
|
|
@@ -2354,8 +2360,6 @@ export declare type DashboardStore = {
|
|
|
2354
2360
|
cardControlValuesMap: Record<string, Record<string, unknown>>;
|
|
2355
2361
|
/** Runtime-only dashboard input values keyed by input runtime scope. */
|
|
2356
2362
|
dashboardInputValues: DashboardInputValues;
|
|
2357
|
-
/** True when dashboardInputValues came from a strict execution snapshot. */
|
|
2358
|
-
dashboardInputValuesAreAuthoritative: boolean;
|
|
2359
2363
|
/** Fixed execution clock from a strict dashboard input replay snapshot. */
|
|
2360
2364
|
dashboardInputReferenceTime?: string;
|
|
2361
2365
|
semanticExecutionPayload: SemanticExecutionPayload;
|
|
@@ -3689,6 +3693,7 @@ export declare function getSql(config: SqlGen, schemaName: string, tableName: st
|
|
|
3689
3693
|
declare type GlobalDateComparisonContext = {
|
|
3690
3694
|
selection: GlobalDateComparisonSelection;
|
|
3691
3695
|
inheritGlobalComparison?: false;
|
|
3696
|
+
owner?: DashboardDateComparisonOwner;
|
|
3692
3697
|
/** Fixed execution clock carried by authoritative dashboard replay snapshots. */
|
|
3693
3698
|
referenceTime?: string;
|
|
3694
3699
|
};
|
|
@@ -4018,6 +4023,14 @@ declare type ManagementStore = {
|
|
|
4018
4023
|
actions: Actions;
|
|
4019
4024
|
};
|
|
4020
4025
|
|
|
4026
|
+
/**
|
|
4027
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
4028
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
4029
|
+
*/
|
|
4030
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
4031
|
+
effectiveFilterValue: TFilterValue;
|
|
4032
|
+
};
|
|
4033
|
+
|
|
4021
4034
|
declare type MatrixAxisLevelDescriptor = {
|
|
4022
4035
|
instanceId: string;
|
|
4023
4036
|
fieldKey: string;
|
|
@@ -4813,6 +4826,20 @@ export declare function resolveDatamodelName(datamodelName: string): string;
|
|
|
4813
4826
|
|
|
4814
4827
|
export declare const resolveDataType: (value: any) => string;
|
|
4815
4828
|
|
|
4829
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
4830
|
+
inputId: string;
|
|
4831
|
+
filterId: string;
|
|
4832
|
+
label: string;
|
|
4833
|
+
filter: TFilter;
|
|
4834
|
+
/**
|
|
4835
|
+
* The active value before execution-only canonicalization. Comparison
|
|
4836
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
4837
|
+
* when its filter or field identity does not match the definition.
|
|
4838
|
+
*/
|
|
4839
|
+
filterValue?: TFilterValue;
|
|
4840
|
+
selection: GlobalDateComparisonSelection;
|
|
4841
|
+
};
|
|
4842
|
+
|
|
4816
4843
|
export declare type ResolvedDashboardInput = {
|
|
4817
4844
|
id: string;
|
|
4818
4845
|
kind: 'filter' | 'control';
|
|
@@ -4841,6 +4868,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
4841
4868
|
controlValues: Record<string, unknown>;
|
|
4842
4869
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
4843
4870
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
4871
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
4844
4872
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
4845
4873
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
4846
4874
|
};
|
|
@@ -4867,6 +4895,7 @@ declare type ResolvedMetricComparisonRequest = {
|
|
|
4867
4895
|
} | {
|
|
4868
4896
|
source: 'inherited';
|
|
4869
4897
|
spec: ViewerPeriodComparisonSpec;
|
|
4898
|
+
owner?: DashboardDateComparisonOwner;
|
|
4870
4899
|
};
|
|
4871
4900
|
|
|
4872
4901
|
declare type ResolvedPrimaryDateField = {
|
|
@@ -4879,6 +4908,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
4879
4908
|
entityName: string;
|
|
4880
4909
|
entityType: string;
|
|
4881
4910
|
dataType: string;
|
|
4911
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
4912
|
+
source?: SemaphorSourceRef;
|
|
4882
4913
|
dateFormat?: string;
|
|
4883
4914
|
customFormat?: string;
|
|
4884
4915
|
defaultGranularity?: TimeGranularity;
|
|
@@ -6950,6 +6981,24 @@ export declare type UIConfig = {
|
|
|
6950
6981
|
* If unset, runtime falls back to `showBriefings`; if both are unset, briefings are visible.
|
|
6951
6982
|
*/
|
|
6952
6983
|
showBriefings?: boolean;
|
|
6984
|
+
/**
|
|
6985
|
+
* Controls visibility of the Dashboard Hub navigation control.
|
|
6986
|
+
* Defaults to true unless explicitly disabled. This does not grant access
|
|
6987
|
+
* to the dashboard hub when the token identity cannot navigate there.
|
|
6988
|
+
*/
|
|
6989
|
+
showDashboardHub?: boolean;
|
|
6990
|
+
/**
|
|
6991
|
+
* Controls visibility of dashboard sharing controls.
|
|
6992
|
+
* Defaults to true unless explicitly disabled. This does not grant sharing
|
|
6993
|
+
* permissions when the current user cannot share the dashboard.
|
|
6994
|
+
*/
|
|
6995
|
+
showDashboardSharing?: boolean;
|
|
6996
|
+
/**
|
|
6997
|
+
* Controls visibility of group-management controls.
|
|
6998
|
+
* Defaults to true unless explicitly disabled. This does not grant group
|
|
6999
|
+
* management permissions to the current user.
|
|
7000
|
+
*/
|
|
7001
|
+
showGroupManagement?: boolean;
|
|
6953
7002
|
/**
|
|
6954
7003
|
* Effective project-level feature visibility projected by semaphor-app.
|
|
6955
7004
|
* Project policy can disable features for every token; embed config can only
|
|
@@ -1755,6 +1755,14 @@ export declare type LoadingProps = {
|
|
|
1755
1755
|
|
|
1756
1756
|
declare type LogicalOperator = 'AND' | 'OR';
|
|
1757
1757
|
|
|
1758
|
+
/**
|
|
1759
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
1760
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
1761
|
+
*/
|
|
1762
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
1763
|
+
effectiveFilterValue: TFilterValue;
|
|
1764
|
+
};
|
|
1765
|
+
|
|
1758
1766
|
declare interface MetricColumn extends BaseColumn {
|
|
1759
1767
|
role: 'metric';
|
|
1760
1768
|
aggregate: AggregateFunction;
|
|
@@ -1957,6 +1965,20 @@ declare type RelativeDateFilter = {
|
|
|
1957
1965
|
to: number;
|
|
1958
1966
|
};
|
|
1959
1967
|
|
|
1968
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
1969
|
+
inputId: string;
|
|
1970
|
+
filterId: string;
|
|
1971
|
+
label: string;
|
|
1972
|
+
filter: TFilter;
|
|
1973
|
+
/**
|
|
1974
|
+
* The active value before execution-only canonicalization. Comparison
|
|
1975
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
1976
|
+
* when its filter or field identity does not match the definition.
|
|
1977
|
+
*/
|
|
1978
|
+
filterValue?: TFilterValue;
|
|
1979
|
+
selection: GlobalDateComparisonSelection;
|
|
1980
|
+
};
|
|
1981
|
+
|
|
1960
1982
|
export declare type ResolvedDashboardInput = {
|
|
1961
1983
|
id: string;
|
|
1962
1984
|
kind: 'filter' | 'control';
|
|
@@ -1985,6 +2007,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
1985
2007
|
controlValues: Record<string, unknown>;
|
|
1986
2008
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
1987
2009
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
2010
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
1988
2011
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
1989
2012
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
1990
2013
|
};
|
|
@@ -2009,6 +2032,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
2009
2032
|
entityName: string;
|
|
2010
2033
|
entityType: string;
|
|
2011
2034
|
dataType: string;
|
|
2035
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2036
|
+
source?: SemaphorSourceRef;
|
|
2012
2037
|
dateFormat?: string;
|
|
2013
2038
|
customFormat?: string;
|
|
2014
2039
|
defaultGranularity?: TimeGranularity;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -2350,6 +2350,14 @@ export declare type LoadingProps = {
|
|
|
2350
2350
|
|
|
2351
2351
|
export declare type LogicalOperator = 'AND' | 'OR';
|
|
2352
2352
|
|
|
2353
|
+
/**
|
|
2354
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
2355
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
2356
|
+
*/
|
|
2357
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
2358
|
+
effectiveFilterValue: TFilterValue;
|
|
2359
|
+
};
|
|
2360
|
+
|
|
2353
2361
|
declare type MatrixAxisLevelDescriptor = {
|
|
2354
2362
|
instanceId: string;
|
|
2355
2363
|
fieldKey: string;
|
|
@@ -2889,6 +2897,20 @@ export declare type RelativeDateFilter = {
|
|
|
2889
2897
|
|
|
2890
2898
|
export declare type RelativeDateUnit = DateUnit | SubDayDateUnit;
|
|
2891
2899
|
|
|
2900
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
2901
|
+
inputId: string;
|
|
2902
|
+
filterId: string;
|
|
2903
|
+
label: string;
|
|
2904
|
+
filter: TFilter;
|
|
2905
|
+
/**
|
|
2906
|
+
* The active value before execution-only canonicalization. Comparison
|
|
2907
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
2908
|
+
* when its filter or field identity does not match the definition.
|
|
2909
|
+
*/
|
|
2910
|
+
filterValue?: TFilterValue;
|
|
2911
|
+
selection: GlobalDateComparisonSelection;
|
|
2912
|
+
};
|
|
2913
|
+
|
|
2892
2914
|
export declare type ResolvedDashboardInput = {
|
|
2893
2915
|
id: string;
|
|
2894
2916
|
kind: 'filter' | 'control';
|
|
@@ -2917,6 +2939,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
2917
2939
|
controlValues: Record<string, unknown>;
|
|
2918
2940
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
2919
2941
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
2942
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
2920
2943
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
2921
2944
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
2922
2945
|
};
|
|
@@ -2941,6 +2964,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
2941
2964
|
entityName: string;
|
|
2942
2965
|
entityType: string;
|
|
2943
2966
|
dataType: string;
|
|
2967
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2968
|
+
source?: SemaphorSourceRef;
|
|
2944
2969
|
dateFormat?: string;
|
|
2945
2970
|
customFormat?: string;
|
|
2946
2971
|
defaultGranularity?: TimeGranularity;
|
|
@@ -4669,6 +4694,24 @@ export declare type UIConfig = {
|
|
|
4669
4694
|
* If unset, runtime falls back to `showBriefings`; if both are unset, briefings are visible.
|
|
4670
4695
|
*/
|
|
4671
4696
|
showBriefings?: boolean;
|
|
4697
|
+
/**
|
|
4698
|
+
* Controls visibility of the Dashboard Hub navigation control.
|
|
4699
|
+
* Defaults to true unless explicitly disabled. This does not grant access
|
|
4700
|
+
* to the dashboard hub when the token identity cannot navigate there.
|
|
4701
|
+
*/
|
|
4702
|
+
showDashboardHub?: boolean;
|
|
4703
|
+
/**
|
|
4704
|
+
* Controls visibility of dashboard sharing controls.
|
|
4705
|
+
* Defaults to true unless explicitly disabled. This does not grant sharing
|
|
4706
|
+
* permissions when the current user cannot share the dashboard.
|
|
4707
|
+
*/
|
|
4708
|
+
showDashboardSharing?: boolean;
|
|
4709
|
+
/**
|
|
4710
|
+
* Controls visibility of group-management controls.
|
|
4711
|
+
* Defaults to true unless explicitly disabled. This does not grant group
|
|
4712
|
+
* management permissions to the current user.
|
|
4713
|
+
*/
|
|
4714
|
+
showGroupManagement?: boolean;
|
|
4672
4715
|
/**
|
|
4673
4716
|
* Effective project-level feature visibility projected by semaphor-app.
|
|
4674
4717
|
* Project policy can disable features for every token; embed config can only
|