react-semaphor 0.1.427 → 0.1.429

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.
Files changed (96) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +72 -71
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +5 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +1031 -622
  7. package/dist/chunks/analyze-result-contract-BswhsmWT.js +1 -0
  8. package/dist/chunks/{analyze-result-contract-DnfF8kBb.js → analyze-result-contract-CfOBEwaC.js} +681 -759
  9. package/dist/chunks/{code-editor-CojfM3qp.js → code-editor-C65eEYyU.js} +2980 -2960
  10. package/dist/chunks/code-editor-DOh3aYEh.js +138 -0
  11. package/dist/chunks/{comparison-document-migration-b6c3xiWh.js → comparison-document-migration-DbU_BTxR.js} +1 -1
  12. package/dist/chunks/{comparison-document-migration-BJH1idOd.js → comparison-document-migration-Dj6xZMCb.js} +2 -2
  13. package/dist/chunks/csv-utils-Co0WxHke.js +4 -0
  14. package/dist/chunks/csv-utils-suxSkJGj.js +376 -0
  15. package/dist/chunks/dashboard-CQfAvRYI.js +1401 -0
  16. package/dist/chunks/{dashboard-DSxho2LN.js → dashboard-agBXhvKo.js} +45651 -42951
  17. package/dist/chunks/{dashboard-briefing-launcher-CguxcHIl.js → dashboard-briefing-launcher-CkH_pthg.js} +1 -1
  18. package/dist/chunks/{dashboard-briefing-launcher-BFIw5BOf.js → dashboard-briefing-launcher-gBNNKqoH.js} +100 -99
  19. package/dist/chunks/{dashboard-controls-Cl0LagTr.js → dashboard-controls-CAZnIGfT.js} +2 -2
  20. package/dist/chunks/{dashboard-controls-jD-HpCNK.js → dashboard-controls-CoIxUTvH.js} +207 -202
  21. package/dist/chunks/{dashboard-json-BovTt0uu.js → dashboard-json-BMcPjL8-.js} +18 -17
  22. package/dist/chunks/dashboard-json-D4hFrMkX.js +1 -0
  23. package/dist/chunks/{edit-dashboard-visual-dlm8F_Qu.js → edit-dashboard-visual-Bc8qNfSr.js} +8721 -8481
  24. package/dist/chunks/edit-dashboard-visual-onhUUXlw.js +182 -0
  25. package/dist/chunks/{metric-comparison-CWweq9RG.js → metric-comparison-CPoDx56y.js} +1 -1
  26. package/dist/chunks/{metric-comparison-BKgkMy9r.js → metric-comparison-DVy3fll_.js} +1 -1
  27. package/dist/chunks/numeric-presentation-CGTcqocU.js +517 -0
  28. package/dist/chunks/numeric-presentation-Dlb-Dk4c.js +1 -0
  29. package/dist/chunks/report-preferences-dialog-CPptr_V9.js +690 -0
  30. package/dist/chunks/report-preferences-dialog-DV_5aHrS.js +1 -0
  31. package/dist/chunks/source-identity-5OPV4gvg.js +92 -0
  32. package/dist/chunks/source-identity-Cbo2LOHQ.js +1 -0
  33. package/dist/chunks/{update-policy-CY2k-pJP.js → update-policy-De2NswtM.js} +1 -1
  34. package/dist/chunks/{update-policy-BgONreNd.js → update-policy-DnF_74zC.js} +1 -1
  35. package/dist/chunks/{use-create-flow-overlay-state-kbl6avDY.js → use-create-flow-overlay-state-Bs6gqgjo.js} +1 -1
  36. package/dist/chunks/{use-create-flow-overlay-state-BU0ROMSm.js → use-create-flow-overlay-state-CgQbCrni.js} +97 -96
  37. package/dist/chunks/validators-B2vUAqTf.js +1 -0
  38. package/dist/chunks/{validators-Cz-XuORM.js → validators-Bce_J7Vd.js} +19 -13
  39. package/dist/dashboard/index.cjs +1 -1
  40. package/dist/dashboard/index.js +1 -1
  41. package/dist/dashboard-authoring/index.cjs +3 -3
  42. package/dist/dashboard-authoring/index.js +20 -19
  43. package/dist/data-app-builder/index.cjs +1 -1
  44. package/dist/data-app-builder/index.js +50 -50
  45. package/dist/data-app-codegen/index.cjs +1 -1
  46. package/dist/data-app-codegen/index.js +2 -2
  47. package/dist/data-app-codegen-node/index.cjs +1 -1
  48. package/dist/data-app-codegen-node/index.js +3 -3
  49. package/dist/data-app-sdk/index.cjs +2 -2
  50. package/dist/data-app-sdk/index.js +27 -26
  51. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  52. package/dist/data-app-sdk-adapters/index.js +25 -24
  53. package/dist/data-app-sdk-validation/index.cjs +1 -1
  54. package/dist/data-app-sdk-validation/index.js +57 -55
  55. package/dist/format-utils/index.cjs +2 -5
  56. package/dist/format-utils/index.js +136 -161
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.js +158 -155
  59. package/dist/report-runtime-context/index.cjs +1 -0
  60. package/dist/report-runtime-context/index.js +394 -0
  61. package/dist/style.css +1 -1
  62. package/dist/surfboard/index.cjs +1 -1
  63. package/dist/surfboard/index.js +7 -6
  64. package/dist/types/analytics-protocol.d.ts +0 -4
  65. package/dist/types/briefings.d.ts +216 -19
  66. package/dist/types/dashboard-assistant.d.ts +0 -2
  67. package/dist/types/dashboard-authoring.d.ts +34 -9
  68. package/dist/types/dashboard.d.ts +93 -9
  69. package/dist/types/data-app-builder.d.ts +0 -1
  70. package/dist/types/data-app-codegen-node.d.ts +6 -28
  71. package/dist/types/data-app-codegen.d.ts +6 -28
  72. package/dist/types/data-app-sdk-adapters.d.ts +6 -28
  73. package/dist/types/data-app-sdk-validation.d.ts +6 -29
  74. package/dist/types/data-app-sdk.d.ts +6 -31
  75. package/dist/types/format-utils.d.ts +128 -4
  76. package/dist/types/index.cjs +1 -1
  77. package/dist/types/index.js +10 -13
  78. package/dist/types/main.d.ts +249 -89
  79. package/dist/types/report-runtime-context.d.ts +99 -0
  80. package/dist/types/shared.d.ts +34 -9
  81. package/dist/types/surfboard.d.ts +119 -16
  82. package/dist/types/types.d.ts +156 -73
  83. package/dist/types/value-format-preferences.d.ts +126 -0
  84. package/dist/value-format-preferences/index.cjs +1 -0
  85. package/dist/value-format-preferences/index.js +635 -0
  86. package/package.json +11 -1
  87. package/dist/chunks/analyze-result-contract-ege_u6Nl.js +0 -1
  88. package/dist/chunks/calendar-preferences-dialog-DE4tk3t3.js +0 -457
  89. package/dist/chunks/calendar-preferences-dialog-DuGX1NPV.js +0 -1
  90. package/dist/chunks/code-editor-BoowcKU0.js +0 -138
  91. package/dist/chunks/dashboard-json-7mpQsizF.js +0 -1
  92. package/dist/chunks/dashboard-ogxedhSY.js +0 -1402
  93. package/dist/chunks/date-formatter-BTTYdAik.js +0 -1
  94. package/dist/chunks/date-formatter-D-89jTjG.js +0 -514
  95. package/dist/chunks/edit-dashboard-visual-B7wLrHeF.js +0 -182
  96. package/dist/chunks/validators-B4VMLX3_.js +0 -1
@@ -203,6 +203,15 @@ declare interface CalculatedFieldFormula {
203
203
  */
204
204
  declare type CalculatedFieldOperation = 'sum' | 'difference' | 'product' | 'ratio' | 'change' | 'percentage' | 'scale' | 'custom';
205
205
 
206
+ declare type CalendarContext = {
207
+ tz: string;
208
+ weekStart: WeekStart;
209
+ anchor: 'now' | {
210
+ iso: string;
211
+ };
212
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
213
+ };
214
+
206
215
  declare interface CardConfig {
207
216
  /**
208
217
  * Matrix table is the shared analytics-spine successor for pivot and
@@ -387,12 +396,17 @@ declare interface ColumnSettings {
387
396
  totalsLabel?: string;
388
397
  numberFormat: {
389
398
  style: 'decimal' | 'currency' | 'percent' | 'scientific';
390
- currency: string;
391
- locale: string;
392
- minimumFractionDigits: number;
393
- maximumFractionDigits: number;
399
+ currency?: string;
400
+ locale?: string;
401
+ minimumFractionDigits?: number;
402
+ maximumFractionDigits?: number;
394
403
  useGrouping?: boolean;
395
404
  percentValueMode?: 'fraction' | 'whole';
405
+ scale?: number;
406
+ compact?: boolean;
407
+ negativeStyle?: 'minus' | 'parentheses';
408
+ prefix?: string;
409
+ suffix?: string;
396
410
  showDataBar: boolean;
397
411
  dataBarColor: string;
398
412
  dataBarMinValue?: number;
@@ -418,8 +432,6 @@ declare interface ColumnSettings {
418
432
  colorRanges: ColorRange_2[];
419
433
  }
420
434
 
421
- declare type ColumnSettingsMap = Record<string, ColumnSettings>;
422
-
423
435
  declare type ColumnTextWrap = 'default' | 'truncate' | 'wrap' | 'nowrap' | 'preserve';
424
436
 
425
437
  declare type ColumnType = 'string' | 'number' | 'date';
@@ -565,7 +577,7 @@ export declare type ControlBinding = {
565
577
  controlId: string;
566
578
  target: 'config_grain';
567
579
  mapping: Record<string, string>;
568
- };
580
+ } | CurrencyPresentationBinding;
569
581
 
570
582
  export declare type ControlDashboardInput = DashboardInputBase & {
571
583
  kind: 'control';
@@ -620,6 +632,23 @@ export declare type ControlSource = {
620
632
 
621
633
  export declare type ControlType = 'enum' | 'multi_enum' | 'text' | 'number' | 'boolean' | 'date' | 'field_selector' | 'metric_selector' | 'aggregation_selector' | 'grain_selector';
622
634
 
635
+ export declare type CurrencyPresentationBinding = {
636
+ controlId: string;
637
+ target: 'presentation_currency';
638
+ presentationTarget: CurrencyPresentationTarget;
639
+ };
640
+
641
+ export declare type CurrencyPresentationTarget = {
642
+ kind: 'metric';
643
+ metricId: string;
644
+ } | {
645
+ kind: 'column';
646
+ columnKey: string;
647
+ } | {
648
+ kind: 'matrix_measure';
649
+ measureId: string;
650
+ };
651
+
623
652
  export declare type CustomCard = CardWithContent | CardWithFooter;
624
653
 
625
654
  export declare function Dashboard(props: DashboardProps): JSX.Element | null;
@@ -1561,6 +1590,7 @@ declare type FormatSpec = {
1561
1590
 
1562
1591
  export declare type GetDashboardResponse = {
1563
1592
  dashboard: TDashboard;
1593
+ initialReportContext: ReportRuntimeContext;
1564
1594
  lenses: TLens[];
1565
1595
  filterValues?: TFilterValue[] | null;
1566
1596
  inputValues?: LensInputValuesSnapshot | null;
@@ -1742,6 +1772,8 @@ export declare type LoadingProps = {
1742
1772
  message?: string;
1743
1773
  };
1744
1774
 
1775
+ declare type LocaleStyle = 'short' | 'medium' | 'long';
1776
+
1745
1777
  declare type LogicalOperator = 'AND' | 'OR';
1746
1778
 
1747
1779
  /**
@@ -1836,6 +1868,11 @@ declare interface MetricField extends Field {
1836
1868
  semanticComparisonPolarity?: MetricComparisonPolarity;
1837
1869
  }
1838
1870
 
1871
+ declare type MonthAlignedFiscalCalendar = {
1872
+ kind: 'month_aligned';
1873
+ yearStartMonth: number;
1874
+ };
1875
+
1839
1876
  declare type NoneOptions = {};
1840
1877
 
1841
1878
  export declare type NumberAxisFormat = {
@@ -1887,6 +1924,12 @@ declare type Params = {
1887
1924
  [key: string]: string | number | string[] | number[];
1888
1925
  };
1889
1926
 
1927
+ declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat'> & {
1928
+ numberFormat?: Partial<ColumnSettings['numberFormat']>;
1929
+ };
1930
+
1931
+ declare type PersistedColumnSettingsMap = Record<string, PersistedColumnSettings>;
1932
+
1890
1933
  declare type PersistedInteraction = Interaction & {
1891
1934
  id?: string;
1892
1935
  };
@@ -1954,6 +1997,26 @@ declare type RelativeDateFilter = {
1954
1997
  to: number;
1955
1998
  };
1956
1999
 
2000
+ declare const REPORT_PREFERENCE_SOURCES: readonly ["viewer_user", "viewer_tenant_user", "session_initial", "viewer_tenant", "viewer_organization", "system_default"];
2001
+
2002
+ declare type ReportPreferenceSource = (typeof REPORT_PREFERENCE_SOURCES)[number];
2003
+
2004
+ declare type ReportPreferenceSources = {
2005
+ calendar: ResolvedCalendarPreferenceSources;
2006
+ valueFormat: ResolvedValueFormatPreferenceSources;
2007
+ };
2008
+
2009
+ declare type ReportRuntimeContext = {
2010
+ calendar: CalendarContext;
2011
+ valueFormat: ResolvedValueFormatPreferences;
2012
+ preferenceSources: ReportPreferenceSources;
2013
+ };
2014
+
2015
+ declare type ResolvedCalendarPreferenceSources = {
2016
+ tz: ReportPreferenceSource;
2017
+ weekStart: ReportPreferenceSource;
2018
+ };
2019
+
1957
2020
  export declare type ResolvedDashboardDateComparisonInput = {
1958
2021
  inputId: string;
1959
2022
  filterId: string;
@@ -2029,6 +2092,26 @@ declare type ResolvedPrimaryDateField = {
2029
2092
  supportedGranularities?: TimeGranularity[];
2030
2093
  } | null;
2031
2094
 
2095
+ declare type ResolvedValueFormatPreferences = {
2096
+ locale: string;
2097
+ dateStyle: LocaleStyle;
2098
+ dateTime: {
2099
+ dateStyle: LocaleStyle;
2100
+ timeStyle: LocaleStyle;
2101
+ };
2102
+ defaultCurrency: string;
2103
+ };
2104
+
2105
+ declare type ResolvedValueFormatPreferenceSources = {
2106
+ locale: ReportPreferenceSource;
2107
+ dateStyle: ReportPreferenceSource;
2108
+ dateTime: {
2109
+ dateStyle: ReportPreferenceSource;
2110
+ timeStyle: ReportPreferenceSource;
2111
+ };
2112
+ defaultCurrency: ReportPreferenceSource;
2113
+ };
2114
+
2032
2115
  declare type SelectedEntities = SelectedEntity[];
2033
2116
 
2034
2117
  declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
@@ -2315,7 +2398,6 @@ declare type SemaphorTimeGrain = 'hour' | 'day' | 'week' | 'month' | 'quarter' |
2315
2398
 
2316
2399
  declare type SemaphorValueFormat = {
2317
2400
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
2318
- locale?: string;
2319
2401
  minimumFractionDigits?: number;
2320
2402
  maximumFractionDigits?: number;
2321
2403
  useGrouping?: boolean;
@@ -2511,7 +2593,7 @@ declare type TableHeaderStyle = 'plain' | 'filled' | 'accent';
2511
2593
  declare type TablePart = 'body' | 'header' | 'footer' | 'subtotal' | 'grandTotal';
2512
2594
 
2513
2595
  declare type TablePreferences = {
2514
- columnSettingsMap?: ColumnSettingsMap;
2596
+ columnSettingsMap?: PersistedColumnSettingsMap;
2515
2597
  baseFormatting?: TableBaseFormatting;
2516
2598
  conditionalFormatting?: TableConditionalFormatting;
2517
2599
  selectColumnVisible?: boolean;
@@ -3448,6 +3530,8 @@ export declare type VisualDisplayPreferences = {
3448
3530
  };
3449
3531
  };
3450
3532
 
3533
+ declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
3534
+
3451
3535
  declare type WindowFunction = 'running_total' | 'moving_average' | 'previous_period_delta' | 'percent_of_total';
3452
3536
 
3453
3537
  declare interface WindowTransform {
@@ -949,7 +949,6 @@ declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteT
949
949
 
950
950
  declare type SemaphorValueFormat = {
951
951
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
952
- locale?: string;
953
952
  minimumFractionDigits?: number;
954
953
  maximumFractionDigits?: number;
955
954
  useGrouping?: boolean;
@@ -22,33 +22,13 @@ export declare function buildSemaphorGeneratedViewExecutionRequest(view: unknown
22
22
 
23
23
  export declare function buildSemaphorGeneratedViewExecutionRequests(codegenSummary: unknown): SemaphorGeneratedViewExecutionRequestsResult;
24
24
 
25
- /**
26
- * Calendar context for timezone-aware date operations.
27
- * Controls how dates are interpreted, grouped, and displayed.
28
- */
29
25
  declare type CalendarContext = {
30
- /**
31
- * IANA timezone identifier.
32
- * @example 'America/Chicago', 'Europe/London', 'Asia/Tokyo', 'UTC'
33
- * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
34
- */
35
26
  tz: string;
36
- /**
37
- * Day the week starts on.
38
- * 0 = Sunday (US, Canada, Japan)
39
- * 1 = Monday (ISO standard, most of Europe)
40
- * 6 = Saturday (Middle East)
41
- * @default 1 (Monday) for backward compatibility
42
- */
43
27
  weekStart: WeekStart;
44
- /**
45
- * Date anchor for relative date calculations.
46
- * - 'now': Use current time (default, live dashboards)
47
- * - { iso: string }: Fixed ISO 8601 date for reproducible views
48
- */
49
28
  anchor: 'now' | {
50
29
  iso: string;
51
30
  };
31
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
52
32
  };
53
33
 
54
34
  export declare const CODEGEN_SUMMARY_SCHEMA_VERSION: "semaphor-data-app-codegen-summary/v1";
@@ -75,6 +55,11 @@ export declare function isSemaphorDataAppCodegenSummary(value: unknown): value i
75
55
 
76
56
  declare type JsonRecord = Record<string, unknown>;
77
57
 
58
+ declare type MonthAlignedFiscalCalendar = {
59
+ kind: 'month_aligned';
60
+ yearStartMonth: number;
61
+ };
62
+
78
63
  export declare const REQUIRED_GENERATED_CONTRACT_FILES: readonly ["sources.ts", "fields.ts", "inputs.ts", "queries.ts", "bindings.ts", "accessors.ts", "metadata.ts", "index.ts", "USAGE.md", "contract.manifest.json"];
79
64
 
80
65
  export declare const SEMAPHOR_DATA_APP_CODEGEN_SUMMARY_SCHEMA_VERSION: "semaphor-data-app-codegen-summary/v1";
@@ -1116,7 +1101,6 @@ declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteT
1116
1101
 
1117
1102
  declare type SemaphorValueFormat = {
1118
1103
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
1119
- locale?: string;
1120
1104
  minimumFractionDigits?: number;
1121
1105
  maximumFractionDigits?: number;
1122
1106
  useGrouping?: boolean;
@@ -1161,12 +1145,6 @@ export declare function validateSemaphorDataAppCodegenSummary(value: unknown): {
1161
1145
 
1162
1146
  export declare function validateSemaphorGeneratedContract({ manifest, generatedFiles, }: SemaphorGeneratedContractValidationInput): Promise<SemaphorGeneratedContractValidationResult>;
1163
1147
 
1164
- /**
1165
- * Week start day type.
1166
- * 0 = Sunday (US, Canada, Japan)
1167
- * 1 = Monday (ISO standard, most of Europe)
1168
- * 6 = Saturday (Middle East)
1169
- */
1170
1148
  declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
1171
1149
 
1172
1150
  export { }
@@ -22,33 +22,13 @@ export declare function buildSemaphorGeneratedViewExecutionRequest(view: unknown
22
22
 
23
23
  export declare function buildSemaphorGeneratedViewExecutionRequests(codegenSummary: unknown): SemaphorGeneratedViewExecutionRequestsResult;
24
24
 
25
- /**
26
- * Calendar context for timezone-aware date operations.
27
- * Controls how dates are interpreted, grouped, and displayed.
28
- */
29
25
  declare type CalendarContext = {
30
- /**
31
- * IANA timezone identifier.
32
- * @example 'America/Chicago', 'Europe/London', 'Asia/Tokyo', 'UTC'
33
- * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
34
- */
35
26
  tz: string;
36
- /**
37
- * Day the week starts on.
38
- * 0 = Sunday (US, Canada, Japan)
39
- * 1 = Monday (ISO standard, most of Europe)
40
- * 6 = Saturday (Middle East)
41
- * @default 1 (Monday) for backward compatibility
42
- */
43
27
  weekStart: WeekStart;
44
- /**
45
- * Date anchor for relative date calculations.
46
- * - 'now': Use current time (default, live dashboards)
47
- * - { iso: string }: Fixed ISO 8601 date for reproducible views
48
- */
49
28
  anchor: 'now' | {
50
29
  iso: string;
51
30
  };
31
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
52
32
  };
53
33
 
54
34
  export declare const CODEGEN_SUMMARY_SCHEMA_VERSION: "semaphor-data-app-codegen-summary/v1";
@@ -71,6 +51,11 @@ export declare function isSemaphorDataAppCodegenSummary(value: unknown): value i
71
51
 
72
52
  declare type JsonRecord = Record<string, unknown>;
73
53
 
54
+ declare type MonthAlignedFiscalCalendar = {
55
+ kind: 'month_aligned';
56
+ yearStartMonth: number;
57
+ };
58
+
74
59
  export declare const REQUIRED_GENERATED_CONTRACT_FILES: readonly ["sources.ts", "fields.ts", "inputs.ts", "queries.ts", "bindings.ts", "accessors.ts", "metadata.ts", "index.ts", "USAGE.md", "contract.manifest.json"];
75
60
 
76
61
  export declare const SEMAPHOR_DATA_APP_CODEGEN_SUMMARY_SCHEMA_VERSION: "semaphor-data-app-codegen-summary/v1";
@@ -1088,7 +1073,6 @@ declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteT
1088
1073
 
1089
1074
  declare type SemaphorValueFormat = {
1090
1075
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
1091
- locale?: string;
1092
1076
  minimumFractionDigits?: number;
1093
1077
  maximumFractionDigits?: number;
1094
1078
  useGrouping?: boolean;
@@ -1133,12 +1117,6 @@ export declare function validateSemaphorDataAppCodegenSummary(value: unknown): {
1133
1117
 
1134
1118
  export declare function validateSemaphorGeneratedContract({ manifest, generatedFiles, }: SemaphorGeneratedContractValidationInput): Promise<SemaphorGeneratedContractValidationResult>;
1135
1119
 
1136
- /**
1137
- * Week start day type.
1138
- * 0 = Sunday (US, Canada, Japan)
1139
- * 1 = Monday (ISO standard, most of Europe)
1140
- * 6 = Saturday (Middle East)
1141
- */
1142
1120
  declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
1143
1121
 
1144
1122
  export { }
@@ -1,34 +1,19 @@
1
- /**
2
- * Calendar context for timezone-aware date operations.
3
- * Controls how dates are interpreted, grouped, and displayed.
4
- */
5
1
  declare type CalendarContext = {
6
- /**
7
- * IANA timezone identifier.
8
- * @example 'America/Chicago', 'Europe/London', 'Asia/Tokyo', 'UTC'
9
- * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
10
- */
11
2
  tz: string;
12
- /**
13
- * Day the week starts on.
14
- * 0 = Sunday (US, Canada, Japan)
15
- * 1 = Monday (ISO standard, most of Europe)
16
- * 6 = Saturday (Middle East)
17
- * @default 1 (Monday) for backward compatibility
18
- */
19
3
  weekStart: WeekStart;
20
- /**
21
- * Date anchor for relative date calculations.
22
- * - 'now': Use current time (default, live dashboards)
23
- * - { iso: string }: Fixed ISO 8601 date for reproducible views
24
- */
25
4
  anchor: 'now' | {
26
5
  iso: string;
27
6
  };
7
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
28
8
  };
29
9
 
30
10
  export declare function hasSemaphorInputValue(value: unknown): boolean;
31
11
 
12
+ declare type MonthAlignedFiscalCalendar = {
13
+ kind: 'month_aligned';
14
+ yearStartMonth: number;
15
+ };
16
+
32
17
  export declare function normalizeSemaphorInputOptions(options?: Array<{
33
18
  label: string;
34
19
  value: SemaphorOptionValue;
@@ -656,7 +641,6 @@ declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteT
656
641
 
657
642
  declare type SemaphorValueFormat = {
658
643
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
659
- locale?: string;
660
644
  minimumFractionDigits?: number;
661
645
  maximumFractionDigits?: number;
662
646
  useGrouping?: boolean;
@@ -724,12 +708,6 @@ export declare function toSemaphorRecordsIntent(spec: SemaphorRecordsQuerySpec):
724
708
 
725
709
  export declare function toSemaphorSqlIntent(spec: SemaphorSqlQuerySpec): SemaphorSqlIntent;
726
710
 
727
- /**
728
- * Week start day type.
729
- * 0 = Sunday (US, Canada, Japan)
730
- * 1 = Monday (ISO standard, most of Europe)
731
- * 6 = Saturday (Middle East)
732
- */
733
711
  declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
734
712
 
735
713
  export { }
@@ -1,30 +1,10 @@
1
- /**
2
- * Calendar context for timezone-aware date operations.
3
- * Controls how dates are interpreted, grouped, and displayed.
4
- */
5
1
  declare type CalendarContext = {
6
- /**
7
- * IANA timezone identifier.
8
- * @example 'America/Chicago', 'Europe/London', 'Asia/Tokyo', 'UTC'
9
- * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
10
- */
11
2
  tz: string;
12
- /**
13
- * Day the week starts on.
14
- * 0 = Sunday (US, Canada, Japan)
15
- * 1 = Monday (ISO standard, most of Europe)
16
- * 6 = Saturday (Middle East)
17
- * @default 1 (Monday) for backward compatibility
18
- */
19
3
  weekStart: WeekStart;
20
- /**
21
- * Date anchor for relative date calculations.
22
- * - 'now': Use current time (default, live dashboards)
23
- * - { iso: string }: Fixed ISO 8601 date for reproducible views
24
- */
25
4
  anchor: 'now' | {
26
5
  iso: string;
27
6
  };
7
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
28
8
  };
29
9
 
30
10
  export declare function fieldWithSelectedProjectionRole(field: SemaphorFieldRef, selectedField?: SemaphorFieldRef): SemaphorFieldRef;
@@ -238,7 +218,6 @@ declare type MatrixResultCell = {
238
218
  columnId?: string;
239
219
  measureId: string;
240
220
  value: unknown;
241
- formattedValue?: string;
242
221
  presence: MatrixCellPresence;
243
222
  role: MatrixCellRole;
244
223
  calculationId?: string;
@@ -255,6 +234,11 @@ declare type MatrixTotals = {
255
234
  };
256
235
  };
257
236
 
237
+ declare type MonthAlignedFiscalCalendar = {
238
+ kind: 'month_aligned';
239
+ yearStartMonth: number;
240
+ };
241
+
258
242
  export declare function normalizeSemaphorAnalysisQueryOptions(value: unknown, options?: {
259
243
  pathPrefix?: string;
260
244
  validateTimezone?: SemaphorAnalysisTimezoneValidator;
@@ -1245,7 +1229,6 @@ declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAbsoluteT
1245
1229
 
1246
1230
  declare type SemaphorValueFormat = {
1247
1231
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
1248
- locale?: string;
1249
1232
  minimumFractionDigits?: number;
1250
1233
  maximumFractionDigits?: number;
1251
1234
  useGrouping?: boolean;
@@ -1288,12 +1271,6 @@ export declare function validateSemaphorDataAppQuerySpecs(input: {
1288
1271
  validateTimezone?: SemaphorAnalysisTimezoneValidator;
1289
1272
  }): SemaphorDataAppValidationResult;
1290
1273
 
1291
- /**
1292
- * Week start day type.
1293
- * 0 = Sunday (US, Canada, Japan)
1294
- * 1 = Monday (ISO standard, most of Europe)
1295
- * 6 = Saturday (Middle East)
1296
- */
1297
1274
  declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
1298
1275
 
1299
1276
  export { }
@@ -3,33 +3,13 @@ import { JSX } from 'react';
3
3
  import { ReactElement } from 'react';
4
4
  import { ReactNode } from 'react';
5
5
 
6
- /**
7
- * Calendar context for timezone-aware date operations.
8
- * Controls how dates are interpreted, grouped, and displayed.
9
- */
10
6
  declare type CalendarContext = {
11
- /**
12
- * IANA timezone identifier.
13
- * @example 'America/Chicago', 'Europe/London', 'Asia/Tokyo', 'UTC'
14
- * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
15
- */
16
7
  tz: string;
17
- /**
18
- * Day the week starts on.
19
- * 0 = Sunday (US, Canada, Japan)
20
- * 1 = Monday (ISO standard, most of Europe)
21
- * 6 = Saturday (Middle East)
22
- * @default 1 (Monday) for backward compatibility
23
- */
24
8
  weekStart: WeekStart;
25
- /**
26
- * Date anchor for relative date calculations.
27
- * - 'now': Use current time (default, live dashboards)
28
- * - { iso: string }: Fixed ISO 8601 date for reproducible views
29
- */
30
9
  anchor: 'now' | {
31
10
  iso: string;
32
11
  };
12
+ fiscalCalendar?: MonthAlignedFiscalCalendar;
33
13
  };
34
14
 
35
15
  export declare function createSemaphorQueryExecutor(): SemaphorQueryExecutor;
@@ -84,7 +64,6 @@ declare type MatrixCell = {
84
64
  measureInstanceId: string;
85
65
  rawValue: unknown;
86
66
  presence: MatrixCellPresence;
87
- formattedValue?: string;
88
67
  role: MatrixCellRole;
89
68
  aggregateFunction?: SemaphorAggregateFunction;
90
69
  formattingScope: MatrixCellFormattingScope;
@@ -160,7 +139,6 @@ declare type MatrixGridCell = {
160
139
  columnId: string;
161
140
  cellId?: string;
162
141
  rawValue: unknown;
163
- formattedValue?: string;
164
142
  presence: MatrixCellPresence;
165
143
  role: MatrixCellRole;
166
144
  measureInstanceId: string;
@@ -335,7 +313,6 @@ declare type MatrixResultCell = {
335
313
  columnId?: string;
336
314
  measureId: string;
337
315
  value: unknown;
338
- formattedValue?: string;
339
316
  presence: MatrixCellPresence;
340
317
  role: MatrixCellRole;
341
318
  calculationId?: string;
@@ -359,6 +336,11 @@ declare type MatrixWarning = {
359
336
  severity?: 'info' | 'warning' | 'error';
360
337
  };
361
338
 
339
+ declare type MonthAlignedFiscalCalendar = {
340
+ kind: 'month_aligned';
341
+ yearStartMonth: number;
342
+ };
343
+
362
344
  export declare const semaphor: {
363
345
  source: {
364
346
  semantic(spec: SemaphorSemanticSourceBuilderSpec): SemaphorSemanticSourceRef;
@@ -1735,7 +1717,6 @@ export declare type SemaphorTimeWindow = SemaphorRelativeTimeWindow | SemaphorAb
1735
1717
 
1736
1718
  declare type SemaphorValueFormat = {
1737
1719
  type: 'number' | 'currency' | 'percent' | 'percentage' | 'scientific';
1738
- locale?: string;
1739
1720
  minimumFractionDigits?: number;
1740
1721
  maximumFractionDigits?: number;
1741
1722
  useGrouping?: boolean;
@@ -1797,12 +1778,6 @@ export declare function useSemaphorQuery<TRecord extends Record<string, unknown>
1797
1778
 
1798
1779
  export declare function useSemaphorQuery(spec: SemaphorMatrixQueryDefinition, options?: SemaphorQueryRuntimeOptions): SemaphorMatrixQueryResult;
1799
1780
 
1800
- /**
1801
- * Week start day type.
1802
- * 0 = Sunday (US, Canada, Japan)
1803
- * 1 = Monday (ISO standard, most of Europe)
1804
- * 6 = Saturday (Middle East)
1805
- */
1806
1781
  declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
1807
1782
 
1808
1783
  export { }