react-semaphor 0.1.443 → 0.1.445
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 +7 -0
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +123 -107
- package/dist/appearance/index.cjs +1 -1
- package/dist/brand-studio/index.cjs +2 -2
- package/dist/brand-studio/index.js +5 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +526 -457
- package/dist/chunks/analyze-result-contract-BHb7sUUW.cjs +1 -0
- package/dist/chunks/analyze-result-contract-DUv3QnMl.js +29 -0
- package/dist/chunks/{braces-CbO-aIwH.js → braces-BKimshER.cjs} +1 -1
- package/dist/chunks/{code-editor-BpADiIlq.js → code-editor-B4gTfvc5.js} +6800 -6560
- package/dist/chunks/code-editor-BYVorgOf.cjs +138 -0
- package/dist/chunks/common-types-CQ6SHfLk.cjs +1 -0
- package/dist/chunks/{common-types-ClkOI-3O.js → common-types-DFsDdpH7.js} +22 -21
- package/dist/chunks/dashboard-CAiwJW3L.cjs +1397 -0
- package/dist/chunks/{dashboard-briefing-launcher-C60n8LqW.js → dashboard-briefing-launcher-2SLNOaTg.js} +26 -24
- package/dist/chunks/{dashboard-briefing-launcher-BYMLjZxG.js → dashboard-briefing-launcher-CHwjpUYz.cjs} +2 -2
- package/dist/chunks/{dashboard-controls-ti9Rcel2.js → dashboard-controls-BfL14aqO.js} +11 -9
- package/dist/chunks/{dashboard-controls-BH_fZYDU.js → dashboard-controls-BgGTg4yw.cjs} +2 -2
- package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +1 -0
- package/dist/chunks/dashboard-json-BOv8tCa9.cjs +1 -0
- package/dist/chunks/{dashboard-json-Bturr634.js → dashboard-json-BZwq3EcS.js} +14 -12
- package/dist/chunks/{dashboard-Bd1Quco-.js → dashboard-u61yfU6u.js} +50081 -47351
- package/dist/chunks/edit-dashboard-visual-BdVCH0DJ.cjs +182 -0
- package/dist/chunks/{edit-dashboard-visual-DglMds57.js → edit-dashboard-visual-njLPYip3.js} +6825 -6656
- package/dist/chunks/{editor-action-buttons-CRi0fhVW.js → editor-action-buttons-BhLX5Q6m.js} +24 -23
- package/dist/chunks/{editor-action-buttons-Cxo7_tNG.js → editor-action-buttons-CBVMFipA.cjs} +1 -1
- package/dist/chunks/{index-D7KJindZ.js → format-types-CSv0V7mm.cjs} +1 -1
- package/dist/chunks/{index-CnujJ3fa.js → format-types-CZH5w1lo.js} +23 -17
- package/dist/chunks/{layout-grid-B08pP7v6.js → layout-grid-3-HWzEwU.cjs} +1 -1
- package/dist/chunks/{metric-comparison-CPoDx56y.js → metric-comparison-BJ_Qu1ZF.js} +1 -1
- package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +1 -0
- package/dist/chunks/{palette-C0yjT5Tv.js → palette-DW_l7Jr0.cjs} +1 -1
- package/dist/chunks/pivot-result-identity-B6QCWOSi.js +94 -0
- package/dist/chunks/pivot-result-identity-CDLRT-YG.cjs +1 -0
- package/dist/chunks/pivot-result-lifecycle-BM3Pl-D1.js +914 -0
- package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +4 -0
- package/dist/chunks/presentation-execution-BTV-Q43g.cjs +1 -0
- package/dist/chunks/presentation-execution-CGlb7YZ6.js +637 -0
- package/dist/chunks/{report-preferences-dialog-TtwdAuNn.js → report-preferences-dialog-D_NJu2wU.js} +7 -6
- package/dist/chunks/report-preferences-dialog-r8QzOSFb.cjs +1 -0
- package/dist/chunks/report-runtime-context-C8LZFsqV.cjs +1 -0
- package/dist/chunks/report-runtime-context-Qzn11HQe.js +387 -0
- package/dist/chunks/{save-Xdc4pnys.js → save-4_uMnE6s.cjs} +1 -1
- package/dist/chunks/{search-Dcud9ajy.js → search-6ZmeMq55.cjs} +1 -1
- package/dist/chunks/temporal-bucket-BnPxGrAi.js +446 -0
- package/dist/chunks/temporal-bucket-authoring-BUZMuVca.js +205 -0
- package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +1 -0
- package/dist/chunks/temporal-bucket-contract-B2bJ1oe4.js +108 -0
- package/dist/chunks/temporal-bucket-contract-ChDBWX8I.cjs +1 -0
- package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +1 -0
- package/dist/chunks/{comparison-document-migration-Dj6xZMCb.js → temporal-result-owner-Cb27SSG9.js} +152 -123
- package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +1 -0
- package/dist/chunks/token-types-BdQ8kHBm.cjs +1 -0
- package/dist/chunks/token-types-DLo91nOf.js +8 -0
- package/dist/chunks/{update-policy-DnF_74zC.js → update-policy-BxvYMYz0.cjs} +1 -1
- package/dist/chunks/{update-policy-De2NswtM.js → update-policy-eg59mQqv.js} +1 -1
- package/dist/chunks/validators-9D4KBqKD.cjs +1 -0
- package/dist/chunks/validators-wZ2WlNHc.js +4640 -0
- 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 +136 -126
- 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 +2 -2
- package/dist/data-app-sdk/index.js +34 -35
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +5 -5
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +9 -10
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +155 -176
- package/dist/index.cjs +1 -1
- package/dist/index.js +180 -174
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +7 -392
- package/dist/shared/index.cjs +1 -1
- 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 +257 -48
- package/dist/types/briefings.d.ts +138 -50
- package/dist/types/dashboard-assistant.d.ts +207 -52
- package/dist/types/dashboard-authoring.d.ts +182 -50
- package/dist/types/dashboard.d.ts +290 -48
- package/dist/types/data-app-builder.d.ts +48 -42
- package/dist/types/data-app-codegen-node.d.ts +50 -44
- package/dist/types/data-app-codegen.d.ts +50 -44
- package/dist/types/data-app-sdk-adapters.d.ts +48 -42
- package/dist/types/data-app-sdk-validation.d.ts +81 -43
- package/dist/types/data-app-sdk.d.ts +83 -45
- package/dist/types/format-utils.d.ts +645 -67
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +19 -19
- package/dist/types/main.d.ts +298 -94
- package/dist/types/report-runtime-context.d.ts +3 -0
- package/dist/types/shared.d.ts +116 -41
- package/dist/types/surfboard.d.ts +290 -48
- package/dist/types/types.d.ts +455 -65
- package/package.json +3 -1
- package/dist/chunks/analyze-result-contract-BswhsmWT.js +0 -1
- package/dist/chunks/analyze-result-contract-CfOBEwaC.js +0 -1998
- package/dist/chunks/code-editor-M7HTUhdF.js +0 -138
- package/dist/chunks/common-types-C73-Ud1-.js +0 -1
- package/dist/chunks/comparison-document-migration-DbU_BTxR.js +0 -1
- package/dist/chunks/csv-utils-BZDvO2Fw.js +0 -376
- package/dist/chunks/csv-utils-Co0WxHke.js +0 -4
- package/dist/chunks/dashboard-cB3xmTNn.js +0 -1402
- package/dist/chunks/dashboard-date-comparison-definition-DGZr3m-b.js +0 -1
- package/dist/chunks/dashboard-json-Dw_55vSZ.js +0 -1
- package/dist/chunks/edit-dashboard-visual-BUc3NBQ4.js +0 -182
- package/dist/chunks/metric-comparison-DVy3fll_.js +0 -1
- package/dist/chunks/numeric-presentation-BJs5lSar.js +0 -517
- package/dist/chunks/numeric-presentation-Dlb-Dk4c.js +0 -1
- package/dist/chunks/report-preferences-dialog-CCvFqH4Q.js +0 -1
- package/dist/chunks/source-identity-5OPV4gvg.js +0 -92
- package/dist/chunks/source-identity-Cbo2LOHQ.js +0 -1
- package/dist/chunks/validators-B2vUAqTf.js +0 -1
- package/dist/chunks/validators-Bce_J7Vd.js +0 -2448
- /package/dist/chunks/{card-config-utils-15sRtebL.js → card-config-utils-15sRtebL.cjs} +0 -0
- /package/dist/chunks/{catalog-field-grounding-Bnx-3tE0.js → catalog-field-grounding-Bnx-3tE0.cjs} +0 -0
- /package/dist/chunks/{dashboard-input-contract-DV3cshjz.js → dashboard-input-contract-DV3cshjz.cjs} +0 -0
- /package/dist/chunks/{index-Dpm_VET4.js → index-Dpm_VET4.cjs} +0 -0
- /package/dist/chunks/{index-jSrCwPQz.js → index-jSrCwPQz.cjs} +0 -0
- /package/dist/chunks/{normalize-dashboard-for-dirty-check-BXRUMVb2.js → normalize-dashboard-for-dirty-check-BXRUMVb2.cjs} +0 -0
- /package/dist/chunks/{operators-DrTQsJXv.js → operators-DrTQsJXv.cjs} +0 -0
- /package/dist/chunks/{use-debounced-dirty-check-XHSwAefL.js → use-debounced-dirty-check-XHSwAefL.cjs} +0 -0
|
@@ -22,6 +22,9 @@ export declare type CalendarPreferencesResponse = {
|
|
|
22
22
|
|
|
23
23
|
export declare const DEFAULT_CALENDAR_CONTEXT: CalendarContext;
|
|
24
24
|
|
|
25
|
+
/** React-free validation shared by Calendar and temporal-result boundaries. */
|
|
26
|
+
export declare function isValidIanaTimeZone(value: string): boolean;
|
|
27
|
+
|
|
25
28
|
declare type LocaleStyle = 'short' | 'medium' | 'long';
|
|
26
29
|
|
|
27
30
|
export declare type MonthAlignedFiscalCalendar = {
|
package/dist/types/shared.d.ts
CHANGED
|
@@ -64,6 +64,8 @@ declare type BaseFilter = {
|
|
|
64
64
|
dataType?: string;
|
|
65
65
|
fieldMeta?: FilterFieldMeta;
|
|
66
66
|
semanticContext?: FilterSemanticContext;
|
|
67
|
+
/** Governed meaning for canonical grouped-temporal filter values. */
|
|
68
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
67
69
|
};
|
|
68
70
|
|
|
69
71
|
declare type CacheConfig = {
|
|
@@ -119,6 +121,15 @@ declare interface CalculatedFieldFormula {
|
|
|
119
121
|
*/
|
|
120
122
|
declare type CalculatedFieldOperation = 'sum' | 'difference' | 'product' | 'ratio' | 'change' | 'percentage' | 'scale' | 'custom';
|
|
121
123
|
|
|
124
|
+
declare type CalendarContext = {
|
|
125
|
+
tz: string;
|
|
126
|
+
weekStart: WeekStart;
|
|
127
|
+
anchor: 'now' | {
|
|
128
|
+
iso: string;
|
|
129
|
+
};
|
|
130
|
+
fiscalCalendar?: MonthAlignedFiscalCalendar;
|
|
131
|
+
};
|
|
132
|
+
|
|
122
133
|
declare interface CardConfig {
|
|
123
134
|
/**
|
|
124
135
|
* Matrix table is the shared analytics-spine successor for pivot and
|
|
@@ -180,9 +191,6 @@ declare interface CardConfig {
|
|
|
180
191
|
* Configuration for on-click dashboard filters triggered by this card.
|
|
181
192
|
*/
|
|
182
193
|
clickFilterInteractions?: ClickFilterInteraction[];
|
|
183
|
-
showTrendline?: boolean;
|
|
184
|
-
trendlineWindow?: number;
|
|
185
|
-
trendlineGranularity?: 'day' | 'week' | 'month';
|
|
186
194
|
summary?: {
|
|
187
195
|
enabled?: boolean;
|
|
188
196
|
showOnCard?: boolean;
|
|
@@ -499,7 +507,10 @@ declare type ControlOption = {
|
|
|
499
507
|
label: string;
|
|
500
508
|
presentation?: {
|
|
501
509
|
granularity?: TimeGranularity;
|
|
510
|
+
format?: TemporalBucketFormat;
|
|
511
|
+
/** Saved-dashboard compatibility only. New authoring writes `format`. */
|
|
502
512
|
dateFormat?: DateFormatValue;
|
|
513
|
+
/** Saved-dashboard compatibility only. New authoring writes `format`. */
|
|
503
514
|
customFormat?: string;
|
|
504
515
|
};
|
|
505
516
|
};
|
|
@@ -1091,8 +1102,9 @@ declare type EntityType = 'table' | 'view' | 'materialized view' | 'model' | 'fi
|
|
|
1091
1102
|
|
|
1092
1103
|
declare interface Field {
|
|
1093
1104
|
/**
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
1105
|
+
* Stable authored/semantic field identifier (for joins, UI state, etc.).
|
|
1106
|
+
* It is normally unique within a role, but one saved query may reuse it in
|
|
1107
|
+
* different roles; result bindings must therefore include the role.
|
|
1096
1108
|
* Example: 'orders.customer_id', 'expr_12345', etc.
|
|
1097
1109
|
*/
|
|
1098
1110
|
id: string;
|
|
@@ -1134,6 +1146,12 @@ declare interface Field {
|
|
|
1134
1146
|
*/
|
|
1135
1147
|
derivedField?: SemaphorDerivedFieldDefinition;
|
|
1136
1148
|
format?: FormatSpec;
|
|
1149
|
+
/**
|
|
1150
|
+
* Source-level temporal presentation keeps the semantic grain that authored
|
|
1151
|
+
* the format. The card's mutable `granularity` remains the active query
|
|
1152
|
+
* grain, so changing it cannot accidentally retarget a semantic default.
|
|
1153
|
+
*/
|
|
1154
|
+
semanticTemporalPresentation?: SemanticTemporalPresentation;
|
|
1137
1155
|
aggregate?: AggregateFunction;
|
|
1138
1156
|
fieldScope?: FieldScope;
|
|
1139
1157
|
}
|
|
@@ -1177,6 +1195,10 @@ declare interface FilterCondition {
|
|
|
1177
1195
|
field: Field;
|
|
1178
1196
|
operator: Operator;
|
|
1179
1197
|
value: FilterValue;
|
|
1198
|
+
/** Display-only label for canonical grouped-temporal values. */
|
|
1199
|
+
label?: string;
|
|
1200
|
+
/** Governed meaning for a canonical grouped-temporal scalar. */
|
|
1201
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
1180
1202
|
}
|
|
1181
1203
|
|
|
1182
1204
|
declare type FilterDashboardInput = DashboardInputBase & {
|
|
@@ -1337,7 +1359,7 @@ declare type FormatSpec = {
|
|
|
1337
1359
|
type: 'string';
|
|
1338
1360
|
prefix?: string;
|
|
1339
1361
|
suffix?: string;
|
|
1340
|
-
};
|
|
1362
|
+
} | TemporalBucketFormat;
|
|
1341
1363
|
|
|
1342
1364
|
declare type GlobalDateComparisonSelection = {
|
|
1343
1365
|
mode: 'off';
|
|
@@ -1346,7 +1368,7 @@ declare type GlobalDateComparisonSelection = {
|
|
|
1346
1368
|
spec: ViewerPeriodComparisonSpec;
|
|
1347
1369
|
};
|
|
1348
1370
|
|
|
1349
|
-
declare type Granularity =
|
|
1371
|
+
declare type Granularity = SemaphorTimeGrain;
|
|
1350
1372
|
|
|
1351
1373
|
declare interface GroupByColumn extends BaseColumn {
|
|
1352
1374
|
role: 'groupby';
|
|
@@ -1357,6 +1379,11 @@ declare interface GroupByColumn extends BaseColumn {
|
|
|
1357
1379
|
declare interface GroupByField extends Field {
|
|
1358
1380
|
role: 'groupby';
|
|
1359
1381
|
granularity?: TimeGranularity;
|
|
1382
|
+
/**
|
|
1383
|
+
* Query transport policy for grouped temporal values. This is projected
|
|
1384
|
+
* into executable card config and is not persisted authoring state.
|
|
1385
|
+
*/
|
|
1386
|
+
dateValueMode?: 'canonical' | 'formatted';
|
|
1360
1387
|
/**
|
|
1361
1388
|
* Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
|
|
1362
1389
|
* If present, used in SELECT and GROUP BY instead of just the column name.
|
|
@@ -1568,6 +1595,11 @@ declare interface MetricField extends Field {
|
|
|
1568
1595
|
semanticComparisonPolarity?: MetricComparisonPolarity;
|
|
1569
1596
|
}
|
|
1570
1597
|
|
|
1598
|
+
declare type MonthAlignedFiscalCalendar = {
|
|
1599
|
+
kind: 'month_aligned';
|
|
1600
|
+
yearStartMonth: number;
|
|
1601
|
+
};
|
|
1602
|
+
|
|
1571
1603
|
declare type NoneOptions = {};
|
|
1572
1604
|
|
|
1573
1605
|
/**
|
|
@@ -1635,6 +1667,11 @@ declare type PersistedInteraction = Interaction & {
|
|
|
1635
1667
|
|
|
1636
1668
|
declare interface PivotByField extends Field {
|
|
1637
1669
|
role: 'pivotby';
|
|
1670
|
+
/**
|
|
1671
|
+
* Query transport policy for grouped temporal pivot members. This is
|
|
1672
|
+
* projected into executable config and is never persisted authoring state.
|
|
1673
|
+
*/
|
|
1674
|
+
dateValueMode?: 'canonical' | 'formatted';
|
|
1638
1675
|
}
|
|
1639
1676
|
|
|
1640
1677
|
declare interface QueryConfig {
|
|
@@ -1687,6 +1724,15 @@ declare type SelectedEntities = SelectedEntity[];
|
|
|
1687
1724
|
|
|
1688
1725
|
declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
1689
1726
|
|
|
1727
|
+
declare type SemanticTemporalPresentation = {
|
|
1728
|
+
granularity: SemaphorTimeGrain;
|
|
1729
|
+
format: TemporalBucketFormat;
|
|
1730
|
+
};
|
|
1731
|
+
|
|
1732
|
+
declare const SEMAPHOR_MATRIX_TIME_GRAINS: ["hour", "day", "week", "month", "quarter", "year"];
|
|
1733
|
+
|
|
1734
|
+
declare const SEMAPHOR_TIME_GRAINS: readonly ["second", "minute", "hour", "day", "week", "month", "quarter", "year"];
|
|
1735
|
+
|
|
1690
1736
|
declare type SemaphorAggregateFunction = 'SUM' | 'COUNT' | 'AVG' | 'MIN' | 'MAX' | 'MEDIAN' | 'DISTINCT';
|
|
1691
1737
|
|
|
1692
1738
|
declare type SemaphorAnalyticsFilter = SemaphorAnalyticsValueFilter | SemaphorAnalyticsNullFilter;
|
|
@@ -1740,7 +1786,7 @@ declare type SemaphorDerivedFieldDefinition = {
|
|
|
1740
1786
|
defaultAggregate?: SemaphorAggregateFunction;
|
|
1741
1787
|
aggregationBehavior?: SemaphorDerivedFieldAggregationBehavior;
|
|
1742
1788
|
aggregationStrategy?: SemaphorDerivedFieldAggregationStrategy;
|
|
1743
|
-
format?:
|
|
1789
|
+
format?: SemaphorScalarValueFormat;
|
|
1744
1790
|
tags?: string[];
|
|
1745
1791
|
};
|
|
1746
1792
|
|
|
@@ -1791,7 +1837,7 @@ declare type SemaphorMatrixAxisExpansionOptions = {
|
|
|
1791
1837
|
declare type SemaphorMatrixAxisLevel = {
|
|
1792
1838
|
id?: string;
|
|
1793
1839
|
field: SemaphorFieldRef;
|
|
1794
|
-
grain?:
|
|
1840
|
+
grain?: SemaphorMatrixTimeGrain;
|
|
1795
1841
|
label?: string;
|
|
1796
1842
|
subtotal?: boolean | SemaphorMatrixSubtotalOptions;
|
|
1797
1843
|
sortBy?: SemaphorMatrixAxisSortRule;
|
|
@@ -1883,6 +1929,8 @@ declare type SemaphorMatrixSubtotalOptions = {
|
|
|
1883
1929
|
label?: string;
|
|
1884
1930
|
};
|
|
1885
1931
|
|
|
1932
|
+
declare type SemaphorMatrixTimeGrain = (typeof SEMAPHOR_MATRIX_TIME_GRAINS)[number];
|
|
1933
|
+
|
|
1886
1934
|
declare type SemaphorMatrixTotalCalculation = {
|
|
1887
1935
|
kind: 'defaultAggregate';
|
|
1888
1936
|
} | {
|
|
@@ -1918,7 +1966,7 @@ declare type SemaphorMatrixValueField = {
|
|
|
1918
1966
|
field: SemaphorFieldRef;
|
|
1919
1967
|
aggregate?: SemaphorAggregateFunction;
|
|
1920
1968
|
label?: string;
|
|
1921
|
-
format?:
|
|
1969
|
+
format?: SemaphorScalarValueFormat;
|
|
1922
1970
|
totalBehavior?: SemaphorMatrixTotalCalculation;
|
|
1923
1971
|
};
|
|
1924
1972
|
|
|
@@ -1928,36 +1976,7 @@ declare type SemaphorRelationshipHint = {
|
|
|
1928
1976
|
relationshipIds?: string[];
|
|
1929
1977
|
};
|
|
1930
1978
|
|
|
1931
|
-
declare type
|
|
1932
|
-
kind: 'semantic';
|
|
1933
|
-
}>;
|
|
1934
|
-
|
|
1935
|
-
declare type SemaphorSourceRef = {
|
|
1936
|
-
kind: 'semantic';
|
|
1937
|
-
domainId: string;
|
|
1938
|
-
datasetName: string;
|
|
1939
|
-
datasetId?: string;
|
|
1940
|
-
label?: string;
|
|
1941
|
-
connectionId?: string;
|
|
1942
|
-
} | {
|
|
1943
|
-
kind: 'physical';
|
|
1944
|
-
connectionId: string;
|
|
1945
|
-
connectionType?: string;
|
|
1946
|
-
tableName: string;
|
|
1947
|
-
databaseName?: string;
|
|
1948
|
-
schemaName?: string;
|
|
1949
|
-
label?: string;
|
|
1950
|
-
dialect?: SemaphorDialect;
|
|
1951
|
-
} | {
|
|
1952
|
-
kind: 'sql';
|
|
1953
|
-
connectionId: string;
|
|
1954
|
-
dialect?: SemaphorDialect;
|
|
1955
|
-
label?: string;
|
|
1956
|
-
};
|
|
1957
|
-
|
|
1958
|
-
declare type SemaphorTimeGrain = 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
1959
|
-
|
|
1960
|
-
declare type SemaphorValueFormat = {
|
|
1979
|
+
declare type SemaphorScalarValueFormat = {
|
|
1961
1980
|
type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
|
|
1962
1981
|
minimumFractionDigits?: number;
|
|
1963
1982
|
maximumFractionDigits?: number;
|
|
@@ -1994,6 +2013,35 @@ declare type SemaphorValueFormat = {
|
|
|
1994
2013
|
suffix?: string;
|
|
1995
2014
|
};
|
|
1996
2015
|
|
|
2016
|
+
declare type SemaphorSemanticSourceRef = Extract<SemaphorSourceRef, {
|
|
2017
|
+
kind: 'semantic';
|
|
2018
|
+
}>;
|
|
2019
|
+
|
|
2020
|
+
declare type SemaphorSourceRef = {
|
|
2021
|
+
kind: 'semantic';
|
|
2022
|
+
domainId: string;
|
|
2023
|
+
datasetName: string;
|
|
2024
|
+
datasetId?: string;
|
|
2025
|
+
label?: string;
|
|
2026
|
+
connectionId?: string;
|
|
2027
|
+
} | {
|
|
2028
|
+
kind: 'physical';
|
|
2029
|
+
connectionId: string;
|
|
2030
|
+
connectionType?: string;
|
|
2031
|
+
tableName: string;
|
|
2032
|
+
databaseName?: string;
|
|
2033
|
+
schemaName?: string;
|
|
2034
|
+
label?: string;
|
|
2035
|
+
dialect?: SemaphorDialect;
|
|
2036
|
+
} | {
|
|
2037
|
+
kind: 'sql';
|
|
2038
|
+
connectionId: string;
|
|
2039
|
+
dialect?: SemaphorDialect;
|
|
2040
|
+
label?: string;
|
|
2041
|
+
};
|
|
2042
|
+
|
|
2043
|
+
declare type SemaphorTimeGrain = (typeof SEMAPHOR_TIME_GRAINS)[number];
|
|
2044
|
+
|
|
1997
2045
|
/**
|
|
1998
2046
|
* Stable serializer for dashboard dirty checks.
|
|
1999
2047
|
* This consolidates normalization + serialization into one call site, so
|
|
@@ -2628,6 +2676,31 @@ declare type TDynamicVisualIntent = {
|
|
|
2628
2676
|
includesKpis: boolean;
|
|
2629
2677
|
};
|
|
2630
2678
|
|
|
2679
|
+
declare const TEMPORAL_BUCKET_PRESETS: readonly ["week_of_short", "week_of_long", "quarter_short", "quarter_long", "fiscal_quarter_short", "fiscal_year"];
|
|
2680
|
+
|
|
2681
|
+
declare type TemporalBucketFormat = {
|
|
2682
|
+
type: 'temporal_bucket';
|
|
2683
|
+
presentation: TemporalBucketPresentation;
|
|
2684
|
+
};
|
|
2685
|
+
|
|
2686
|
+
declare type TemporalBucketMetadata = {
|
|
2687
|
+
kind: 'temporal_bucket';
|
|
2688
|
+
granularity: SemaphorTimeGrain;
|
|
2689
|
+
calendar: Pick<CalendarContext, 'tz' | 'weekStart' | 'fiscalCalendar'>;
|
|
2690
|
+
};
|
|
2691
|
+
|
|
2692
|
+
declare type TemporalBucketPresentation = {
|
|
2693
|
+
mode: 'auto';
|
|
2694
|
+
} | {
|
|
2695
|
+
mode: 'preset';
|
|
2696
|
+
preset: TemporalBucketPreset;
|
|
2697
|
+
} | {
|
|
2698
|
+
mode: 'pattern';
|
|
2699
|
+
pattern: string;
|
|
2700
|
+
};
|
|
2701
|
+
|
|
2702
|
+
declare type TemporalBucketPreset = (typeof TEMPORAL_BUCKET_PRESETS)[number];
|
|
2703
|
+
|
|
2631
2704
|
declare type TemporalPrecision = 'minute';
|
|
2632
2705
|
|
|
2633
2706
|
declare type TextCardInlineFormat = {
|
|
@@ -2815,7 +2888,7 @@ declare interface TimeDrillStep {
|
|
|
2815
2888
|
rollingWindow?: number;
|
|
2816
2889
|
}
|
|
2817
2890
|
|
|
2818
|
-
declare type TimeGranularity =
|
|
2891
|
+
declare type TimeGranularity = SemaphorTimeGrain;
|
|
2819
2892
|
|
|
2820
2893
|
/**
|
|
2821
2894
|
* Inline filter definition stored on a card.
|
|
@@ -2989,6 +3062,8 @@ declare type VisualDisplayPreferences = {
|
|
|
2989
3062
|
};
|
|
2990
3063
|
};
|
|
2991
3064
|
|
|
3065
|
+
declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
3066
|
+
|
|
2992
3067
|
declare type WindowFunction = 'running_total' | 'moving_average' | 'previous_period_delta' | 'percent_of_total';
|
|
2993
3068
|
|
|
2994
3069
|
declare interface WindowTransform {
|