react-semaphor 0.1.449 → 0.1.454
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/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +119 -112
- package/dist/appearance/index.cjs +1 -1
- package/dist/appearance/index.js +1 -1
- package/dist/brand-studio/index.cjs +4 -4
- package/dist/brand-studio/index.js +15 -13
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +39 -2131
- package/dist/chunks/{analyze-result-contract-T-0Ntzys.js → analyze-result-contract-BbRJ-C06.js} +1 -1
- package/dist/chunks/{analyze-result-contract-BHb7sUUW.cjs → analyze-result-contract-LPDNldic.cjs} +1 -1
- package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +1 -0
- package/dist/chunks/canonical-result-keys-D6avdjpA.js +467 -0
- package/dist/chunks/color-CJvdlFM_.js +2162 -0
- package/dist/chunks/color-CyB5o13F.cjs +4 -0
- package/dist/chunks/{common-types-CQ6SHfLk.cjs → common-types-C57kJ59w.cjs} +1 -1
- package/dist/chunks/{common-types-B7Jk3Rtj.js → common-types-H51FLKB7.js} +1 -1
- package/dist/chunks/contracts-CoCOpd_i.js +11 -0
- package/dist/chunks/contracts-CtB2VONT.cjs +1 -0
- package/dist/chunks/dashboard-briefing-launcher-Dwj1i7lr.cjs +26 -0
- package/dist/chunks/{dashboard-briefing-launcher-DCHiEkLE.js → dashboard-briefing-launcher-SYroFdae.js} +86 -84
- package/dist/chunks/{dashboard-controls-DwRFCcHV.js → dashboard-controls-1LpeU2sz.js} +15 -13
- package/dist/chunks/{dashboard-controls-CaFioayc.cjs → dashboard-controls-CpFoh7-A.cjs} +1 -1
- package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +1 -0
- package/dist/chunks/{dashboard-date-comparison-definition-Ba-clViK.js → dashboard-date-comparison-definition-DC3ekV2S.js} +1 -1
- package/dist/chunks/{dashboard-json-WoILbfTe.js → dashboard-json-D-T-sQxU.js} +25 -23
- package/dist/chunks/dashboard-json-DwSQopc_.cjs +1 -0
- package/dist/chunks/edit-dashboard-visual-BEmoQAET.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-ciFhxqaI.js → edit-dashboard-visual-DqxUq4Bs.js} +6925 -6947
- package/dist/chunks/editor-action-buttons-18r2xwei.cjs +16 -0
- package/dist/chunks/{editor-action-buttons-BPo_45pM.js → editor-action-buttons-B2l3WIRC.js} +41 -39
- package/dist/chunks/format-types-CFHQoIuk.js +1350 -0
- package/dist/chunks/format-types-PSZZ7hG8.cjs +1 -0
- package/dist/chunks/index-Bn5wlkHt.cjs +4 -0
- package/dist/chunks/index-ByFbacH7.cjs +1 -0
- package/dist/chunks/index-CACdoqu3.js +318 -0
- package/dist/chunks/index-CLB_NGZ8.cjs +1392 -0
- package/dist/chunks/index-Ca784dpx.js +3714 -0
- package/dist/chunks/{index-CPuawpXJ.js → index-DAoS4BNU.js} +48514 -48484
- package/dist/chunks/index-DSKR3nKn.js +421 -0
- package/dist/chunks/index-F25jnH0p.cjs +1 -0
- package/dist/chunks/matrix-result-contract-CofATICL.js +437 -0
- package/dist/chunks/matrix-result-contract-zamd9euI.cjs +1 -0
- package/dist/chunks/pivot-header-presentation-DhyQXxKq.cjs +4 -0
- package/dist/chunks/pivot-header-presentation-ckYOQ4aZ.js +557 -0
- package/dist/chunks/{pivot-result-identity-CDLRT-YG.cjs → pivot-result-identity-Bb4EixVN.cjs} +1 -1
- package/dist/chunks/{pivot-result-identity-CwJWpKI7.js → pivot-result-identity-DU1v-5Xk.js} +1 -1
- package/dist/chunks/pivot-result-lifecycle-DmcF1ris.cjs +1 -0
- package/dist/chunks/pivot-result-lifecycle-sjzIOpvp.js +1641 -0
- package/dist/chunks/raw-temporal-contract-BtjH_G-d.cjs +1 -0
- package/dist/chunks/raw-temporal-contract-CxncLze5.js +64 -0
- package/dist/chunks/report-preferences-dialog-BgSvlDXa.cjs +1 -0
- package/dist/chunks/report-preferences-dialog-DDc2WUa0.js +723 -0
- package/dist/chunks/{report-runtime-context-C8LZFsqV.cjs → report-runtime-context-DqxS4wbi.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-bCy3CVzK.js → report-runtime-context-SM6YO61_.js} +5 -5
- package/dist/chunks/saved-temporal-bucket-format-CFfWXRl9.cjs +1 -0
- package/dist/chunks/saved-temporal-bucket-format-SGAV0ivR.js +922 -0
- package/dist/chunks/{switch-BXet-Sno.js → switch-BeZW-HnS.js} +4350 -5249
- package/dist/chunks/switch-D-CCcfhc.cjs +138 -0
- package/dist/chunks/temporal-bucket-5UYEotyQ.js +810 -0
- package/dist/chunks/temporal-bucket-DHY1y9lq.cjs +1 -0
- package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +222 -0
- package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +1 -0
- package/dist/chunks/{temporal-bucket-contract-ChDBWX8I.cjs → temporal-bucket-contract-D2-93DGr.cjs} +1 -1
- package/dist/chunks/{temporal-bucket-contract-_F6vNhhH.js → temporal-bucket-contract-D5d-xEl3.js} +1 -1
- package/dist/chunks/{token-types-BdQ8kHBm.cjs → token-types-D7CaaI80.cjs} +1 -1
- package/dist/chunks/{token-types-BHR58aTy.js → token-types-GbxRUozo.js} +1 -1
- package/dist/chunks/{update-policy-BxvYMYz0.cjs → update-policy-BmiOd0PB.cjs} +1 -1
- package/dist/chunks/{update-policy-g0rCQ9BM.js → update-policy-hednMF-0.js} +1 -1
- package/dist/chunks/validators-BDYprKI9.cjs +1 -0
- package/dist/chunks/{validators-Cs74WVie.js → validators-DEmd8Sin.js} +1561 -1197
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +35 -32
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +78 -77
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +29 -30
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +21 -21
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +156 -140
- package/dist/index.cjs +1 -1
- package/dist/index.js +157 -155
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +3 -3
- package/dist/types/analytics-protocol.d.ts +81 -11
- package/dist/types/briefings.d.ts +727 -19
- package/dist/types/dashboard-assistant.d.ts +37 -17
- package/dist/types/dashboard-authoring.d.ts +61 -14
- package/dist/types/dashboard.d.ts +137 -12
- package/dist/types/data-app-builder.d.ts +28 -2
- package/dist/types/data-app-codegen-node.d.ts +29 -3
- package/dist/types/data-app-codegen.d.ts +29 -3
- package/dist/types/data-app-sdk-adapters.d.ts +28 -2
- package/dist/types/data-app-sdk-validation.d.ts +51 -7
- package/dist/types/data-app-sdk.d.ts +55 -10
- package/dist/types/format-utils.d.ts +190 -3
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/main.d.ts +128 -33
- package/dist/types/shared.d.ts +14 -12
- package/dist/types/surfboard.d.ts +138 -13
- package/dist/types/types.d.ts +117 -23
- package/dist/types/value-format-preferences.d.ts +3 -0
- package/package.json +2 -1
- package/dist/chunks/card-config-utils-15sRtebL.cjs +0 -1
- package/dist/chunks/card-config-utils-BYZ5MJOh.js +0 -16
- package/dist/chunks/catalog-field-grounding-Bnx-3tE0.cjs +0 -1
- package/dist/chunks/catalog-field-grounding-S2jKwKGD.js +0 -100
- package/dist/chunks/dashboard-briefing-launcher-DDgDr2s3.cjs +0 -26
- package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +0 -1
- package/dist/chunks/dashboard-input-contract-DSt8dGzP.js +0 -18
- package/dist/chunks/dashboard-input-contract-DV3cshjz.cjs +0 -1
- package/dist/chunks/dashboard-json-CYtvwtvj.cjs +0 -1
- package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +0 -177
- package/dist/chunks/editor-action-buttons-BVmsk0Aj.cjs +0 -16
- package/dist/chunks/format-types-CSv0V7mm.cjs +0 -1
- package/dist/chunks/format-types-DZGgYj39.js +0 -1663
- package/dist/chunks/index-CJdxSyQq.js +0 -2578
- package/dist/chunks/index-DPv8_Ild.cjs +0 -1395
- package/dist/chunks/index-DRlMUglg.cjs +0 -4
- package/dist/chunks/metric-comparison-97zHGEx5.js +0 -387
- package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +0 -1
- package/dist/chunks/pivot-result-lifecycle-BBabQ_da.js +0 -914
- package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +0 -4
- package/dist/chunks/presentation-execution-BLfPTGX_.js +0 -637
- package/dist/chunks/presentation-execution-BTV-Q43g.cjs +0 -1
- package/dist/chunks/report-preferences-dialog-D9ZCGh9l.js +0 -691
- package/dist/chunks/report-preferences-dialog-DaqTEcac.cjs +0 -1
- package/dist/chunks/switch-Cjk6G06r.cjs +0 -138
- package/dist/chunks/temporal-bucket-BnPxGrAi.js +0 -446
- package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +0 -1
- package/dist/chunks/temporal-bucket-authoring-CgOuakGW.js +0 -205
- package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +0 -1
- package/dist/chunks/temporal-result-owner-6peubmhU.js +0 -443
- package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +0 -1
- package/dist/chunks/validators-9D4KBqKD.cjs +0 -1
|
@@ -303,7 +303,7 @@ declare type SemaphorDataAppCodegenMatrixIntent = {
|
|
|
303
303
|
|
|
304
304
|
declare type SemaphorDataAppCodegenMatrixSortRule = Omit<SemaphorMatrixSortRule, 'by'> & {
|
|
305
305
|
by: {
|
|
306
|
-
kind: '
|
|
306
|
+
kind: 'member';
|
|
307
307
|
} | {
|
|
308
308
|
kind: 'field';
|
|
309
309
|
field: SemaphorDataAppCodegenFieldRef;
|
|
@@ -797,6 +797,8 @@ declare type SemaphorMatrixAxisLevel = {
|
|
|
797
797
|
id?: string;
|
|
798
798
|
field: SemaphorFieldRef;
|
|
799
799
|
grain?: SemaphorMatrixTimeGrain;
|
|
800
|
+
format?: TemporalBucketFormat;
|
|
801
|
+
semanticTemporalPresentation?: SemaphorMatrixSemanticTemporalPresentation;
|
|
800
802
|
label?: string;
|
|
801
803
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
802
804
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -805,7 +807,7 @@ declare type SemaphorMatrixAxisLevel = {
|
|
|
805
807
|
declare type SemaphorMatrixAxisSortRule = {
|
|
806
808
|
direction: 'asc' | 'desc';
|
|
807
809
|
by: {
|
|
808
|
-
kind: '
|
|
810
|
+
kind: 'member';
|
|
809
811
|
} | {
|
|
810
812
|
kind: 'field';
|
|
811
813
|
field: SemaphorFieldRef;
|
|
@@ -860,12 +862,17 @@ declare type SemaphorMatrixMemberPathSegment = {
|
|
|
860
862
|
value: unknown;
|
|
861
863
|
};
|
|
862
864
|
|
|
865
|
+
declare type SemaphorMatrixSemanticTemporalPresentation = {
|
|
866
|
+
granularity: SemaphorMatrixTimeGrain;
|
|
867
|
+
format: TemporalBucketFormat;
|
|
868
|
+
};
|
|
869
|
+
|
|
863
870
|
declare type SemaphorMatrixSortRule = {
|
|
864
871
|
axis: 'row' | 'column';
|
|
865
872
|
targetId?: string;
|
|
866
873
|
direction: 'asc' | 'desc';
|
|
867
874
|
by: {
|
|
868
|
-
kind: '
|
|
875
|
+
kind: 'member';
|
|
869
876
|
} | {
|
|
870
877
|
kind: 'field';
|
|
871
878
|
field: SemaphorFieldRef;
|
|
@@ -1114,6 +1121,25 @@ declare type SemaphorTimeGrain = (typeof SEMAPHOR_TIME_GRAINS)[number];
|
|
|
1114
1121
|
|
|
1115
1122
|
declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteTimeWindow;
|
|
1116
1123
|
|
|
1124
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
1125
|
+
|
|
1126
|
+
declare type TemporalBucketFormat = {
|
|
1127
|
+
type: 'temporal_bucket';
|
|
1128
|
+
presentation: TemporalBucketPresentation;
|
|
1129
|
+
};
|
|
1130
|
+
|
|
1131
|
+
declare type TemporalBucketPresentation = {
|
|
1132
|
+
mode: 'auto';
|
|
1133
|
+
} | {
|
|
1134
|
+
mode: 'preset';
|
|
1135
|
+
preset: TemporalBucketPreset;
|
|
1136
|
+
} | {
|
|
1137
|
+
mode: 'pattern';
|
|
1138
|
+
pattern: string;
|
|
1139
|
+
};
|
|
1140
|
+
|
|
1141
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
1142
|
+
|
|
1117
1143
|
export declare function validateCodegenSummary(value: unknown): string[];
|
|
1118
1144
|
|
|
1119
1145
|
export declare function validateSemaphorDataAppCodegenSummary(value: unknown): {
|
|
@@ -264,6 +264,8 @@ declare type SemaphorMatrixAxisLevel = {
|
|
|
264
264
|
id?: string;
|
|
265
265
|
field: SemaphorFieldRef;
|
|
266
266
|
grain?: SemaphorMatrixTimeGrain;
|
|
267
|
+
format?: TemporalBucketFormat;
|
|
268
|
+
semanticTemporalPresentation?: SemaphorMatrixSemanticTemporalPresentation;
|
|
267
269
|
label?: string;
|
|
268
270
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
269
271
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -274,7 +276,7 @@ declare type SemaphorMatrixAxisLevelInput = SemaphorQueryField | SemaphorMatrixA
|
|
|
274
276
|
declare type SemaphorMatrixAxisSortRule = {
|
|
275
277
|
direction: 'asc' | 'desc';
|
|
276
278
|
by: {
|
|
277
|
-
kind: '
|
|
279
|
+
kind: 'member';
|
|
278
280
|
} | {
|
|
279
281
|
kind: 'field';
|
|
280
282
|
field: SemaphorFieldRef;
|
|
@@ -342,12 +344,17 @@ declare type SemaphorMatrixQuerySpec = Omit<SemaphorMatrixIntent, 'kind' | 'vers
|
|
|
342
344
|
displayLimits?: SemaphorMatrixDisplayLimitOptions;
|
|
343
345
|
};
|
|
344
346
|
|
|
347
|
+
declare type SemaphorMatrixSemanticTemporalPresentation = {
|
|
348
|
+
granularity: SemaphorMatrixTimeGrain;
|
|
349
|
+
format: TemporalBucketFormat;
|
|
350
|
+
};
|
|
351
|
+
|
|
345
352
|
declare type SemaphorMatrixSortRule = {
|
|
346
353
|
axis: 'row' | 'column';
|
|
347
354
|
targetId?: string;
|
|
348
355
|
direction: 'asc' | 'desc';
|
|
349
356
|
by: {
|
|
350
|
-
kind: '
|
|
357
|
+
kind: 'member';
|
|
351
358
|
} | {
|
|
352
359
|
kind: 'field';
|
|
353
360
|
field: SemaphorFieldRef;
|
|
@@ -682,6 +689,25 @@ declare type SemaphorTimeGrain = (typeof SEMAPHOR_TIME_GRAINS)[number];
|
|
|
682
689
|
|
|
683
690
|
declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteTimeWindow;
|
|
684
691
|
|
|
692
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
693
|
+
|
|
694
|
+
declare type TemporalBucketFormat = {
|
|
695
|
+
type: 'temporal_bucket';
|
|
696
|
+
presentation: TemporalBucketPresentation;
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
declare type TemporalBucketPresentation = {
|
|
700
|
+
mode: 'auto';
|
|
701
|
+
} | {
|
|
702
|
+
mode: 'preset';
|
|
703
|
+
preset: TemporalBucketPreset;
|
|
704
|
+
} | {
|
|
705
|
+
mode: 'pattern';
|
|
706
|
+
pattern: string;
|
|
707
|
+
};
|
|
708
|
+
|
|
709
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
710
|
+
|
|
685
711
|
export declare function toSemaphorActiveInputSnapshots(inputs: SemaphorInputReference[] | undefined): SemaphorActiveInput[];
|
|
686
712
|
|
|
687
713
|
export declare function toSemaphorAnalysisIntent(spec: SemaphorAnalysisQuerySpec): SemaphorMetricIntent;
|
|
@@ -21,6 +21,7 @@ declare type MatrixAxisLevelDescriptor = {
|
|
|
21
21
|
label: string;
|
|
22
22
|
field: SemaphorFieldRef;
|
|
23
23
|
grain?: SemaphorMatrixTimeGrain;
|
|
24
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
24
25
|
subtotal?: SemaphorMatrixSubtotalOptions;
|
|
25
26
|
};
|
|
26
27
|
|
|
@@ -95,7 +96,8 @@ declare type MatrixFormattingContext = {
|
|
|
95
96
|
|
|
96
97
|
declare type MatrixGridColumn = {
|
|
97
98
|
id: string;
|
|
98
|
-
|
|
99
|
+
/** Present only for measure and explicit total headings. */
|
|
100
|
+
label?: string;
|
|
99
101
|
columnNodeId?: string;
|
|
100
102
|
columnPath: MatrixMemberPathSegment[];
|
|
101
103
|
measureInstanceId: string;
|
|
@@ -104,7 +106,8 @@ declare type MatrixGridColumn = {
|
|
|
104
106
|
|
|
105
107
|
declare type MatrixGridHeaderCell = {
|
|
106
108
|
id: string;
|
|
107
|
-
|
|
109
|
+
/** Present only for non-member headings and explicit total labels. */
|
|
110
|
+
label?: string;
|
|
108
111
|
role: 'rowHeader' | 'columnHeader' | 'measureHeader' | 'subtotal' | 'grandTotal';
|
|
109
112
|
colSpan: number;
|
|
110
113
|
rowSpan: number;
|
|
@@ -166,7 +169,8 @@ declare type MatrixMemberPathSegment = {
|
|
|
166
169
|
instanceId: string;
|
|
167
170
|
fieldKey: string;
|
|
168
171
|
value: unknown;
|
|
169
|
-
label
|
|
172
|
+
/** Display-only source label for non-temporal members. */
|
|
173
|
+
label?: string;
|
|
170
174
|
};
|
|
171
175
|
|
|
172
176
|
declare type MatrixNode = {
|
|
@@ -174,7 +178,8 @@ declare type MatrixNode = {
|
|
|
174
178
|
axis: 'row' | 'column';
|
|
175
179
|
path: MatrixMemberPathSegment[];
|
|
176
180
|
level: number;
|
|
177
|
-
|
|
181
|
+
/** Present only for non-temporal members and explicit total labels. */
|
|
182
|
+
label?: string;
|
|
178
183
|
value: unknown;
|
|
179
184
|
parentId?: string;
|
|
180
185
|
hasChildren: boolean;
|
|
@@ -246,6 +251,18 @@ export declare function normalizeSemaphorAnalysisQueryOptions(value: unknown, op
|
|
|
246
251
|
|
|
247
252
|
export declare function normalizeSemaphorFieldRole(field: SemaphorFieldRef): SemaphorFieldRef['role'] | undefined;
|
|
248
253
|
|
|
254
|
+
/** Authoritative meaning of one ungrouped temporal result column. */
|
|
255
|
+
declare type RawTemporalValueKind = 'date' | 'wall_datetime' | 'instant';
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Result-column metadata for an ungrouped temporal value. This descriptor is
|
|
259
|
+
* mutually exclusive with grouped `temporalBucket` metadata.
|
|
260
|
+
*/
|
|
261
|
+
declare type RawTemporalValueMetadata = {
|
|
262
|
+
kind: 'raw_temporal';
|
|
263
|
+
valueKind: RawTemporalValueKind;
|
|
264
|
+
};
|
|
265
|
+
|
|
249
266
|
export declare function relatedProjectionFieldCandidatesForIntent(intent: RelationshipAwareProjectionIntent): SemaphorRelatedProjectionFieldCandidate[];
|
|
250
267
|
|
|
251
268
|
declare type RelationshipAwareProjectionIntent = SemaphorRecordsIntent | SemaphorMetricIntent | SemaphorMatrixIntent;
|
|
@@ -705,6 +722,8 @@ declare type SemaphorMatrixAxisLevel = {
|
|
|
705
722
|
id?: string;
|
|
706
723
|
field: SemaphorFieldRef;
|
|
707
724
|
grain?: SemaphorMatrixTimeGrain;
|
|
725
|
+
format?: TemporalBucketFormat;
|
|
726
|
+
semanticTemporalPresentation?: SemaphorMatrixSemanticTemporalPresentation;
|
|
708
727
|
label?: string;
|
|
709
728
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
710
729
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -715,7 +734,7 @@ declare type SemaphorMatrixAxisLevelInput = SemaphorQueryField | SemaphorMatrixA
|
|
|
715
734
|
declare type SemaphorMatrixAxisSortRule = {
|
|
716
735
|
direction: 'asc' | 'desc';
|
|
717
736
|
by: {
|
|
718
|
-
kind: '
|
|
737
|
+
kind: 'member';
|
|
719
738
|
} | {
|
|
720
739
|
kind: 'field';
|
|
721
740
|
field: SemaphorFieldRef;
|
|
@@ -789,7 +808,7 @@ declare type SemaphorMatrixQuerySpec = Omit<SemaphorMatrixIntent, 'kind' | 'vers
|
|
|
789
808
|
|
|
790
809
|
declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
|
|
791
810
|
kind: 'matrix';
|
|
792
|
-
schemaVersion:
|
|
811
|
+
schemaVersion: 2;
|
|
793
812
|
intent?: SemaphorMatrixIntent;
|
|
794
813
|
shape: MatrixShape;
|
|
795
814
|
capabilities: MatrixCapability[];
|
|
@@ -811,12 +830,17 @@ declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
|
|
|
811
830
|
expansion?: MatrixExpansionResponseHints;
|
|
812
831
|
};
|
|
813
832
|
|
|
833
|
+
declare type SemaphorMatrixSemanticTemporalPresentation = {
|
|
834
|
+
granularity: SemaphorMatrixTimeGrain;
|
|
835
|
+
format: TemporalBucketFormat;
|
|
836
|
+
};
|
|
837
|
+
|
|
814
838
|
declare type SemaphorMatrixSortRule = {
|
|
815
839
|
axis: 'row' | 'column';
|
|
816
840
|
targetId?: string;
|
|
817
841
|
direction: 'asc' | 'desc';
|
|
818
842
|
by: {
|
|
819
|
-
kind: '
|
|
843
|
+
kind: 'member';
|
|
820
844
|
} | {
|
|
821
845
|
kind: 'field';
|
|
822
846
|
field: SemaphorFieldRef;
|
|
@@ -1169,6 +1193,7 @@ declare type SemaphorResultColumn = {
|
|
|
1169
1193
|
source?: SemaphorFieldRef['source'];
|
|
1170
1194
|
derivedField?: SemaphorDerivedFieldDefinition;
|
|
1171
1195
|
temporalBucket?: TemporalBucketMetadata;
|
|
1196
|
+
rawTemporal?: RawTemporalValueMetadata;
|
|
1172
1197
|
pivotIdentity?: SemaphorPivotResultColumnIdentity;
|
|
1173
1198
|
};
|
|
1174
1199
|
|
|
@@ -1296,12 +1321,31 @@ declare type SemaphorTimeGrain = (typeof SEMAPHOR_TIME_GRAINS)[number];
|
|
|
1296
1321
|
|
|
1297
1322
|
declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteTimeWindow;
|
|
1298
1323
|
|
|
1324
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
1325
|
+
|
|
1326
|
+
declare type TemporalBucketFormat = {
|
|
1327
|
+
type: 'temporal_bucket';
|
|
1328
|
+
presentation: TemporalBucketPresentation;
|
|
1329
|
+
};
|
|
1330
|
+
|
|
1299
1331
|
declare type TemporalBucketMetadata = {
|
|
1300
1332
|
kind: 'temporal_bucket';
|
|
1301
1333
|
granularity: SemaphorTimeGrain;
|
|
1302
1334
|
calendar: Pick<CalendarContext, 'tz' | 'weekStart' | 'fiscalCalendar'>;
|
|
1303
1335
|
};
|
|
1304
1336
|
|
|
1337
|
+
declare type TemporalBucketPresentation = {
|
|
1338
|
+
mode: 'auto';
|
|
1339
|
+
} | {
|
|
1340
|
+
mode: 'preset';
|
|
1341
|
+
preset: TemporalBucketPreset;
|
|
1342
|
+
} | {
|
|
1343
|
+
mode: 'pattern';
|
|
1344
|
+
pattern: string;
|
|
1345
|
+
};
|
|
1346
|
+
|
|
1347
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
1348
|
+
|
|
1305
1349
|
export declare function validateSemaphorDataAppQuerySpecs(input: {
|
|
1306
1350
|
queries: SemaphorDataAppQuerySpecEnvelope[];
|
|
1307
1351
|
fieldCatalogs?: SemaphorDataAppFieldCatalog[];
|
|
@@ -26,6 +26,7 @@ declare type MatrixAxisLevelDescriptor = {
|
|
|
26
26
|
label: string;
|
|
27
27
|
field: SemaphorFieldRef;
|
|
28
28
|
grain?: SemaphorMatrixTimeGrain;
|
|
29
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
29
30
|
subtotal?: SemaphorMatrixSubtotalOptions;
|
|
30
31
|
};
|
|
31
32
|
|
|
@@ -146,7 +147,8 @@ declare type MatrixGridCell = {
|
|
|
146
147
|
|
|
147
148
|
declare type MatrixGridColumn = {
|
|
148
149
|
id: string;
|
|
149
|
-
|
|
150
|
+
/** Present only for measure and explicit total headings. */
|
|
151
|
+
label?: string;
|
|
150
152
|
columnNodeId?: string;
|
|
151
153
|
columnPath: MatrixMemberPathSegment[];
|
|
152
154
|
measureInstanceId: string;
|
|
@@ -155,7 +157,8 @@ declare type MatrixGridColumn = {
|
|
|
155
157
|
|
|
156
158
|
declare type MatrixGridHeaderCell = {
|
|
157
159
|
id: string;
|
|
158
|
-
|
|
160
|
+
/** Present only for non-member headings and explicit total labels. */
|
|
161
|
+
label?: string;
|
|
159
162
|
role: 'rowHeader' | 'columnHeader' | 'measureHeader' | 'subtotal' | 'grandTotal';
|
|
160
163
|
colSpan: number;
|
|
161
164
|
rowSpan: number;
|
|
@@ -169,7 +172,7 @@ declare type MatrixGridHeaderRow = {
|
|
|
169
172
|
};
|
|
170
173
|
|
|
171
174
|
export declare type MatrixGridProjection = {
|
|
172
|
-
schemaVersion:
|
|
175
|
+
schemaVersion: 2;
|
|
173
176
|
shape: MatrixShape;
|
|
174
177
|
rowHeaderLevels: MatrixGridRowHeaderLevel[];
|
|
175
178
|
columnHeaderRows: MatrixGridHeaderRow[];
|
|
@@ -182,7 +185,8 @@ declare type MatrixGridRow = {
|
|
|
182
185
|
rowNodeId: string;
|
|
183
186
|
rowPath: MatrixMemberPathSegment[];
|
|
184
187
|
depth: number;
|
|
185
|
-
|
|
188
|
+
/** Present only for non-temporal members and explicit total labels. */
|
|
189
|
+
label?: string;
|
|
186
190
|
role: 'value' | 'rowSubtotal' | 'rowGrandTotal';
|
|
187
191
|
isExpanded?: boolean;
|
|
188
192
|
hasChildren?: boolean;
|
|
@@ -238,7 +242,8 @@ declare type MatrixMemberPathSegment = {
|
|
|
238
242
|
instanceId: string;
|
|
239
243
|
fieldKey: string;
|
|
240
244
|
value: unknown;
|
|
241
|
-
label
|
|
245
|
+
/** Display-only source label for non-temporal members. */
|
|
246
|
+
label?: string;
|
|
242
247
|
};
|
|
243
248
|
|
|
244
249
|
declare type MatrixNode = {
|
|
@@ -246,7 +251,8 @@ declare type MatrixNode = {
|
|
|
246
251
|
axis: 'row' | 'column';
|
|
247
252
|
path: MatrixMemberPathSegment[];
|
|
248
253
|
level: number;
|
|
249
|
-
|
|
254
|
+
/** Present only for non-temporal members and explicit total labels. */
|
|
255
|
+
label?: string;
|
|
250
256
|
value: unknown;
|
|
251
257
|
parentId?: string;
|
|
252
258
|
hasChildren: boolean;
|
|
@@ -275,7 +281,7 @@ declare type MatrixPageInfo = {
|
|
|
275
281
|
|
|
276
282
|
export declare type MatrixPayload = {
|
|
277
283
|
kind: 'matrixPayload';
|
|
278
|
-
schemaVersion:
|
|
284
|
+
schemaVersion: 2;
|
|
279
285
|
shape: MatrixShape;
|
|
280
286
|
capabilities: MatrixCapability[];
|
|
281
287
|
executionMetadata: MatrixExecutionMetadata;
|
|
@@ -341,6 +347,18 @@ declare type MonthAlignedFiscalCalendar = {
|
|
|
341
347
|
yearStartMonth: number;
|
|
342
348
|
};
|
|
343
349
|
|
|
350
|
+
/** Authoritative meaning of one ungrouped temporal result column. */
|
|
351
|
+
declare type RawTemporalValueKind = 'date' | 'wall_datetime' | 'instant';
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Result-column metadata for an ungrouped temporal value. This descriptor is
|
|
355
|
+
* mutually exclusive with grouped `temporalBucket` metadata.
|
|
356
|
+
*/
|
|
357
|
+
declare type RawTemporalValueMetadata = {
|
|
358
|
+
kind: 'raw_temporal';
|
|
359
|
+
valueKind: RawTemporalValueKind;
|
|
360
|
+
};
|
|
361
|
+
|
|
344
362
|
export declare const semaphor: {
|
|
345
363
|
source: {
|
|
346
364
|
semantic(spec: SemaphorSemanticSourceBuilderSpec): SemaphorSemanticSourceRef;
|
|
@@ -1059,6 +1077,8 @@ export declare type SemaphorMatrixAxisLevel = {
|
|
|
1059
1077
|
id?: string;
|
|
1060
1078
|
field: SemaphorFieldRef;
|
|
1061
1079
|
grain?: SemaphorMatrixTimeGrain;
|
|
1080
|
+
format?: TemporalBucketFormat;
|
|
1081
|
+
semanticTemporalPresentation?: SemaphorMatrixSemanticTemporalPresentation;
|
|
1062
1082
|
label?: string;
|
|
1063
1083
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
1064
1084
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -1069,7 +1089,7 @@ export declare type SemaphorMatrixAxisLevelInput = SemaphorQueryField | Semaphor
|
|
|
1069
1089
|
declare type SemaphorMatrixAxisSortRule = {
|
|
1070
1090
|
direction: 'asc' | 'desc';
|
|
1071
1091
|
by: {
|
|
1072
|
-
kind: '
|
|
1092
|
+
kind: 'member';
|
|
1073
1093
|
} | {
|
|
1074
1094
|
kind: 'field';
|
|
1075
1095
|
field: SemaphorFieldRef;
|
|
@@ -1159,7 +1179,7 @@ export declare type SemaphorMatrixQuerySpec = Omit<SemaphorMatrixIntent, 'kind'
|
|
|
1159
1179
|
|
|
1160
1180
|
declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
|
|
1161
1181
|
kind: 'matrix';
|
|
1162
|
-
schemaVersion:
|
|
1182
|
+
schemaVersion: 2;
|
|
1163
1183
|
intent?: SemaphorMatrixIntent;
|
|
1164
1184
|
shape: MatrixShape;
|
|
1165
1185
|
capabilities: MatrixCapability[];
|
|
@@ -1181,12 +1201,17 @@ declare type SemaphorMatrixResult = SemaphorAnalyticsResultBase & {
|
|
|
1181
1201
|
expansion?: MatrixExpansionResponseHints;
|
|
1182
1202
|
};
|
|
1183
1203
|
|
|
1204
|
+
declare type SemaphorMatrixSemanticTemporalPresentation = {
|
|
1205
|
+
granularity: SemaphorMatrixTimeGrain;
|
|
1206
|
+
format: TemporalBucketFormat;
|
|
1207
|
+
};
|
|
1208
|
+
|
|
1184
1209
|
export declare type SemaphorMatrixSortRule = {
|
|
1185
1210
|
axis: 'row' | 'column';
|
|
1186
1211
|
targetId?: string;
|
|
1187
1212
|
direction: 'asc' | 'desc';
|
|
1188
1213
|
by: {
|
|
1189
|
-
kind: '
|
|
1214
|
+
kind: 'member';
|
|
1190
1215
|
} | {
|
|
1191
1216
|
kind: 'field';
|
|
1192
1217
|
field: SemaphorFieldRef;
|
|
@@ -1624,6 +1649,7 @@ export declare type SemaphorResultColumn = {
|
|
|
1624
1649
|
source?: SemaphorFieldRef['source'];
|
|
1625
1650
|
derivedField?: SemaphorDerivedFieldDefinition;
|
|
1626
1651
|
temporalBucket?: TemporalBucketMetadata;
|
|
1652
|
+
rawTemporal?: RawTemporalValueMetadata;
|
|
1627
1653
|
pivotIdentity?: SemaphorPivotResultColumnIdentity;
|
|
1628
1654
|
};
|
|
1629
1655
|
|
|
@@ -1790,12 +1816,31 @@ export declare function SemaphorViewBoundary({ id, title, children, }: {
|
|
|
1790
1816
|
children: ReactNode;
|
|
1791
1817
|
}): ReactElement;
|
|
1792
1818
|
|
|
1819
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
1820
|
+
|
|
1821
|
+
declare type TemporalBucketFormat = {
|
|
1822
|
+
type: 'temporal_bucket';
|
|
1823
|
+
presentation: TemporalBucketPresentation;
|
|
1824
|
+
};
|
|
1825
|
+
|
|
1793
1826
|
declare type TemporalBucketMetadata = {
|
|
1794
1827
|
kind: 'temporal_bucket';
|
|
1795
1828
|
granularity: SemaphorTimeGrain;
|
|
1796
1829
|
calendar: Pick<CalendarContext, 'tz' | 'weekStart' | 'fiscalCalendar'>;
|
|
1797
1830
|
};
|
|
1798
1831
|
|
|
1832
|
+
declare type TemporalBucketPresentation = {
|
|
1833
|
+
mode: 'auto';
|
|
1834
|
+
} | {
|
|
1835
|
+
mode: 'preset';
|
|
1836
|
+
preset: TemporalBucketPreset;
|
|
1837
|
+
} | {
|
|
1838
|
+
mode: 'pattern';
|
|
1839
|
+
pattern: string;
|
|
1840
|
+
};
|
|
1841
|
+
|
|
1842
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
1843
|
+
|
|
1799
1844
|
export declare function useClearInvalidSemaphorInputValue(input: SemaphorInputHandle, optionsResult: Pick<SemaphorInputOptionsQueryResult, 'options' | 'status'> | undefined): void;
|
|
1800
1845
|
|
|
1801
1846
|
export declare function useSemaphorDevtools(): SemaphorDataAppDevtoolsState;
|