react-semaphor 0.1.525 → 0.1.527

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 (196) hide show
  1. package/DATA_APP_SDK.md +5 -1
  2. package/dist/analytics-protocol/index.js +1179 -296
  3. package/dist/brand-studio/index.js +31 -31
  4. package/dist/briefings/index.js +50 -49
  5. package/dist/chunks/{calculated-field-identity-Dy_WpDdo.js → calculated-field-identity-DEhjPSr-.js} +77 -76
  6. package/dist/chunks/{card-config-utils-CAyjC5Tp.js → card-config-utils-BlIbwkuD.js} +62 -59
  7. package/dist/chunks/{constants-DeLIHVAW.js → constants-DNWVy8Y3.js} +4 -4
  8. package/dist/chunks/dashboard-JNHR0_cZ.js +14 -0
  9. package/dist/chunks/{dashboard-briefing-launcher-BilVIEyw.js → dashboard-briefing-launcher-D9pFByPh.js} +274 -267
  10. package/dist/chunks/{dashboard-controls-DyLPcvCK.js → dashboard-controls-CJI5ZWMq.js} +740 -692
  11. package/dist/chunks/dashboard-json-DLdrFry-.js +65 -0
  12. package/dist/chunks/{edit-dashboard-visual-DtmKNNdE.js → edit-dashboard-visual-D5LjWle1.js} +6760 -6728
  13. package/dist/chunks/editor-action-buttons-G91NQKxU.js +2070 -0
  14. package/dist/chunks/{field-aggregations-BQjogiI1.js → field-aggregations-DeVQLIsP.js} +19 -19
  15. package/dist/chunks/{field-dependencies-v-lJNzC7.js → field-dependencies-CGYic38w.js} +1 -1
  16. package/dist/chunks/{index-ON7Gpvcv.js → index-BvJOYbNv.js} +760 -750
  17. package/dist/chunks/{matrix-analytical-definition-BimC4XIV.js → matrix-analytical-definition-BJyH5-99.js} +1 -1
  18. package/dist/chunks/{matrix-card-CIlz0Dnp.js → matrix-card-DY45yiUM.js} +7 -6
  19. package/dist/chunks/{matrix-control-sources-B1K7x0SL.js → matrix-control-sources-BypfLZsK.js} +36 -36
  20. package/dist/chunks/{matrix-definition-E5gXXSTZ.js → matrix-definition-Cdn3LoxW.js} +3 -3
  21. package/dist/chunks/{semantic-format-Baqp8kD_.js → matrix-formatter-BoKU3MzZ.js} +655 -511
  22. package/dist/chunks/{matrix-member-presentation-Bw7-JCrr.js → matrix-member-presentation-BBW0n1iY.js} +1 -1
  23. package/dist/chunks/matrix-operation-contract-BV02rLhu.js +809 -0
  24. package/dist/chunks/{metric-comparison-BphoJ9bq.js → metric-comparison-Crljx_XY.js} +15 -10
  25. package/dist/chunks/{numeric-presentation-VhMUHfrJ.js → numeric-presentation-LvnNY5Ma.js} +68 -68
  26. package/dist/chunks/pivot-header-presentation-D5v8uyjj.js +618 -0
  27. package/dist/chunks/{pivot-result-identity-BzUQiCEV.js → pivot-result-identity-CY__BuwI.js} +1 -1
  28. package/dist/chunks/{pivot-result-lifecycle-BFO354lk.js → pivot-result-lifecycle-BWrPhlGT.js} +259 -204
  29. package/dist/chunks/{raw-temporal-7bFbXd2a.js → raw-temporal-CdnA_OXJ.js} +10 -10
  30. package/dist/chunks/{raw-temporal-contract-BQZIJ1fn.js → raw-temporal-contract-Bc9z83t-.js} +1 -1
  31. package/dist/chunks/relative-date-DAF9J7mt.js +456 -0
  32. package/dist/chunks/report-preferences-dialog-D3hxu4sE.js +1231 -0
  33. package/dist/chunks/{report-runtime-context-CxIoGyNM.js → report-runtime-context-CtaGGlit.js} +1 -1
  34. package/dist/chunks/{selection-reducer-CvCBQbl2.js → selection-reducer-C7Um5XN-.js} +3 -3
  35. package/dist/chunks/semantic-format-BjBMOSoo.js +192 -0
  36. package/dist/chunks/{index-DYOaHuLS.js → semaphor-ready-indicator-D46I_4g7.js} +145070 -146854
  37. package/dist/chunks/slider-B6LELqx6.js +876 -0
  38. package/dist/chunks/{source-entity-resolution-Bzefiive.js → source-entity-resolution-Bde29mqE.js} +25 -25
  39. package/dist/chunks/{switch-CWPcwAZ4.js → switch-_7uBAbYx.js} +7950 -8545
  40. package/dist/chunks/{temporal-bucket-PcLFSYWX.js → temporal-bucket-DlFuhCnT.js} +6 -6
  41. package/dist/chunks/{temporal-bucket-contract-DTLDRzgV.js → temporal-bucket-contract-C6lUGPS3.js} +1 -1
  42. package/dist/chunks/temporal-input-presentation-DyMWCZYh.js +195 -0
  43. package/dist/chunks/{token-types-BC6RcUY8.js → token-types-UjyNz95-.js} +1 -1
  44. package/dist/chunks/{validators-CsdOtZI6.js → validators-CQcG0EPN.js} +852 -731
  45. package/dist/chunks/zoned-wall-clock-BkxV9jS2.js +46 -0
  46. package/dist/dashboard/index.js +1 -1
  47. package/dist/dashboard-authoring/index.js +138 -137
  48. package/dist/data-app-sdk/index.js +30 -29
  49. package/dist/data-app-sdk-adapters/index.js +23 -22
  50. package/dist/data-app-sdk-validation/index.js +27 -26
  51. package/dist/format-utils/index.js +247 -329
  52. package/dist/index.js +435 -246
  53. package/dist/report-runtime-context/index.js +2 -2
  54. package/dist/style.css +1 -1
  55. package/dist/surfboard/index.js +4 -5
  56. package/dist/types/briefings/index.d.ts +3 -0
  57. package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
  58. package/dist/types/components/dashboard/sheet/layout-change-guard.d.ts +1 -1
  59. package/dist/types/components/dashboard/sheet/sheet-layout.d.ts +1 -1
  60. package/dist/types/components/editor/editor-main/text-card.d.ts +1 -1
  61. package/dist/types/components/editor/editor.d.ts +1 -1
  62. package/dist/types/components/explorer/filters/card-date-filter.d.ts +13 -5
  63. package/dist/types/components/explorer/filters/card-date-selection.d.ts +28 -0
  64. package/dist/types/components/providers/semaphor-context-provider.d.ts +1 -1
  65. package/dist/types/components/providers/theme-provider-context.d.ts +1 -1
  66. package/dist/types/components/providers/theme-provider.d.ts +1 -1
  67. package/dist/types/components/shared/unsaved-changes/use-pristine-snapshot-initializer.d.ts +1 -1
  68. package/dist/types/components/sharing-and-management/dashboard-actions-menu.d.ts +1 -1
  69. package/dist/types/components/sharing-and-management/hooks/use-resource-management.d.ts +0 -1
  70. package/dist/types/components/surfboard/dashboard-plus.d.ts +1 -1
  71. package/dist/types/components/surfboard/download-settings-dialog.d.ts +8 -0
  72. package/dist/types/components/surfboard/filter/types.d.ts +8 -29
  73. package/dist/types/components/surfboard/filter/use-dashboard-filter-mapping-popover.d.ts +5 -1
  74. package/dist/types/components/ui-custom/date-range-picker.d.ts +18 -2
  75. package/dist/types/components/ui-custom/date-range-presets.d.ts +8 -21
  76. package/dist/types/components/ui-custom/report-calendar.d.ts +18 -0
  77. package/dist/types/components/visual/aggregated-table/utils/export-utils.d.ts +3 -5
  78. package/dist/types/components/visual/column-display-utils.d.ts +1 -1
  79. package/dist/types/components/visual/data-table/data-table-toolbar.d.ts +1 -1
  80. package/dist/types/components/visual/kpi-visual/kpi-utils.d.ts +1 -1
  81. package/dist/types/components/visual/pivot-table/utils/pivot-table-export-utils.d.ts +3 -1
  82. package/dist/types/components/visual/settings/color-format.d.ts +1 -1
  83. package/dist/types/components/visual/visual-utils.d.ts +1 -1
  84. package/dist/types/index.js +5 -5
  85. package/dist/types/lib/actions/data-point-click-action.d.ts +2 -1
  86. package/dist/types/lib/api/exports-api.d.ts +3 -0
  87. package/dist/types/lib/csv-download.d.ts +9 -0
  88. package/dist/types/lib/csv-encoding-options.d.ts +6 -0
  89. package/dist/types/lib/dashboard/normalize-dashboard-for-dirty-check.d.ts +1 -1
  90. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-storage-transition.d.ts +2 -1
  91. package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +0 -1
  92. package/dist/types/lib/document/document-input-runtime.d.ts +2 -1
  93. package/dist/types/lib/export-utils.d.ts +17 -15
  94. package/dist/types/lib/hooks/explorer/use-filter-builder.d.ts +2 -2
  95. package/dist/types/lib/hooks/explorer/use-schemas.d.ts +1 -1
  96. package/dist/types/lib/hooks/use-dashboard.d.ts +2 -2
  97. package/dist/types/lib/hooks/use-relative-date-summarizer.d.ts +7 -0
  98. package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +1 -2
  99. package/dist/types/lib/matrix-table/matrix-application-adapter.d.ts +3 -2
  100. package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +1 -1
  101. package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +1 -1
  102. package/dist/types/lib/matrix-table/matrix-dataset-history.d.ts +47 -0
  103. package/dist/types/lib/matrix-table/matrix-delivery.d.ts +7 -3
  104. package/dist/types/lib/matrix-table/matrix-execution-context.d.ts +2 -0
  105. package/dist/types/lib/matrix-table/matrix-query-transport.d.ts +4 -1
  106. package/dist/types/lib/matrix-table/matrix-runtime-types.d.ts +105 -4
  107. package/dist/types/lib/matrix-table/matrix-runtime.d.ts +43 -2
  108. package/dist/types/lib/matrix-table/use-matrix.d.ts +6 -0
  109. package/dist/types/lib/query-context/build-card-query-context.d.ts +5 -1
  110. package/dist/types/lib/query-context/build-dashboard-card-query-contract.d.ts +0 -1
  111. package/dist/types/lib/query-context/build-global-date-comparison-context.d.ts +1 -2
  112. package/dist/types/lib/query-context/compile-dashboard-card-filters.d.ts +1 -2
  113. package/dist/types/lib/query-context/dashboard-card-query-key.d.ts +10 -0
  114. package/dist/types/lib/query-context/query-auth-scope.d.ts +5 -0
  115. package/dist/types/lib/stores/dashboard-store.d.ts +9 -4
  116. package/dist/types/lib/stores/editor-store.d.ts +1 -2
  117. package/dist/types/lib/stores/table-actions.d.ts +2 -1
  118. package/dist/types/lib/temporal-filter/temporal-filter-utils.d.ts +9 -2
  119. package/dist/types/lib/types/common-types.d.ts +5 -0
  120. package/dist/types/lib/types/explorer-types.d.ts +14 -0
  121. package/dist/types/lib/types/token-types.d.ts +0 -13
  122. package/dist/types/lib/utils/card-definition.d.ts +1 -1
  123. package/dist/types/lib/utils/date-timezone-utils.d.ts +4 -46
  124. package/dist/types/lib/utils/filter-default-value-utils.d.ts +8 -2
  125. package/dist/types/lib/utils/inline-filter-utils.d.ts +3 -2
  126. package/dist/types/lib/utils/relative-date-description.d.ts +38 -0
  127. package/dist/types/lib/utils.d.ts +0 -2
  128. package/dist/types/shared/analytics-protocol/contracts.d.ts +10 -7
  129. package/dist/types/shared/analytics-protocol/index.d.ts +12 -1
  130. package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +20 -20
  131. package/dist/types/shared/analytics-protocol/matrix-operation-contract.d.ts +10 -10
  132. package/dist/types/shared/analytics-protocol/matrix-operation-request.d.ts +8 -8
  133. package/dist/types/shared/analytics-protocol/matrix-window-contract.d.ts +51 -5
  134. package/dist/types/shared/analytics-protocol/metric-comparison.d.ts +9 -3
  135. package/dist/types/shared/analytics-protocol/operation-temporal-state.d.ts +64 -0
  136. package/dist/types/shared/analytics-protocol/relative-date-filter.d.ts +61 -0
  137. package/dist/types/shared/analytics-protocol/relative-date-label.d.ts +20 -0
  138. package/dist/types/shared/analytics-protocol/runtime-schemas.d.ts +0 -2
  139. package/dist/types/shared/analytics-protocol/time-window-schema.d.ts +314 -0
  140. package/dist/types/shared/analytics-protocol/time-window.d.ts +13 -0
  141. package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +8 -4
  142. package/dist/types/shared/format-utils/exporters/csv-utils.d.ts +46 -15
  143. package/dist/types/shared/format-utils/exporters/index.d.ts +2 -3
  144. package/dist/types/shared/format-utils/flat-table-export-totals.d.ts +2 -1
  145. package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +2 -2
  146. package/dist/types/shared/format-utils/types/format-types.d.ts +0 -42
  147. package/dist/types/shared/temporal/calendar-periods.d.ts +56 -0
  148. package/dist/types/shared/temporal/index.d.ts +5 -0
  149. package/dist/types/shared/temporal/relative-date.d.ts +21 -0
  150. package/dist/types/shared/temporal/temporal-parity-fixtures.d.ts +73 -0
  151. package/dist/types/shared/temporal/time-window-periods.d.ts +21 -0
  152. package/dist/types/shared/temporal/zoned-wall-clock.d.ts +23 -0
  153. package/package.json +2 -17
  154. package/src/data-app-sdk/README.md +6 -3
  155. package/dist/chunks/dashboard-date-comparison-definition-BqNhECUr.js +0 -183
  156. package/dist/chunks/dashboard-json-QEoU-mx4.js +0 -75
  157. package/dist/chunks/editor-action-buttons-B9VRW3Bh.js +0 -2019
  158. package/dist/chunks/matrix-formatter-WBgtebUT.js +0 -341
  159. package/dist/chunks/matrix-operation-contract-D32U2CSw.js +0 -1802
  160. package/dist/chunks/mouse-pointer-2-BZvGk45-.js +0 -19
  161. package/dist/chunks/pivot-header-presentation-CGtudHo7.js +0 -661
  162. package/dist/chunks/report-preferences-dialog-BLaFmlE2.js +0 -723
  163. package/dist/chunks/temporal-input-presentation-2RJrvmYL.js +0 -222
  164. package/dist/chunks/update-policy-DhAUtiC8.js +0 -913
  165. package/dist/data-app-builder/index.js +0 -3666
  166. package/dist/data-app-builder-browser-runtime/index.js +0 -8
  167. package/dist/data-app-codegen/index.js +0 -22
  168. package/dist/data-app-codegen-node/index.js +0 -1807
  169. package/dist/types/components/data-app-runtime/published-data-app-runtime.d.ts +0 -7
  170. package/dist/types/components/surfboard/json-to-csv.d.ts +0 -7
  171. package/dist/types/components/visual/data-table/utils/export-utils.d.ts +0 -31
  172. package/dist/types/data-app-builder/browser-runtime.d.ts +0 -174
  173. package/dist/types/data-app-builder/constants.d.ts +0 -14
  174. package/dist/types/data-app-builder/data-app-builder.d.ts +0 -14
  175. package/dist/types/data-app-builder/index.d.ts +0 -1
  176. package/dist/types/data-app-builder/lib/api.d.ts +0 -36
  177. package/dist/types/data-app-builder/lib/context-select.d.ts +0 -3
  178. package/dist/types/data-app-builder/lib/diagnostics.d.ts +0 -12
  179. package/dist/types/data-app-builder/lib/file-tree.d.ts +0 -2
  180. package/dist/types/data-app-builder/types.d.ts +0 -558
  181. package/dist/types/data-app-builder-browser-runtime.d.ts +0 -2
  182. package/dist/types/data-app-builder.d.ts +0 -2
  183. package/dist/types/data-app-codegen/generate-contract.d.ts +0 -26
  184. package/dist/types/data-app-codegen/generated-contract-files.d.ts +0 -7
  185. package/dist/types/data-app-codegen/generated-contract-validation.d.ts +0 -13
  186. package/dist/types/data-app-codegen/index.d.ts +0 -6
  187. package/dist/types/data-app-codegen/live-execution.d.ts +0 -42
  188. package/dist/types/data-app-codegen/node.d.ts +0 -2
  189. package/dist/types/data-app-codegen/update-policy.d.ts +0 -25
  190. package/dist/types/data-app-codegen/validation.d.ts +0 -8
  191. package/dist/types/data-app-codegen-node.d.ts +0 -2
  192. package/dist/types/data-app-codegen.d.ts +0 -2
  193. package/dist/types/lib/encrypt-utils.d.ts +0 -9
  194. package/dist/types/shared/analytics-protocol/data-app-codegen-summary.d.ts +0 -418
  195. package/dist/types/shared/format-utils/exporters/pivot-exporter.d.ts +0 -13
  196. package/dist/types/shared/format-utils/exporters/table-exporter.d.ts +0 -10
@@ -1,10 +1,9 @@
1
- import { b as a, a as o } from "../chunks/index-DYOaHuLS.js";
2
- import { C as f, E } from "../chunks/common-types-C6cAQgyh.js";
3
- import { R as t } from "../chunks/report-preferences-dialog-BLaFmlE2.js";
1
+ import { a, R as s, D as o } from "../chunks/report-preferences-dialog-D3hxu4sE.js";
2
+ import { C as f, E as D } from "../chunks/common-types-C6cAQgyh.js";
4
3
  export {
5
4
  f as CONTROL_CARD_DEFAULT_VALUE,
6
5
  a as DisplayFormatPreferencesFields,
7
- E as EMPTY_SELECTION,
8
- t as ReportPreferencesDialog,
6
+ D as EMPTY_SELECTION,
7
+ s as ReportPreferencesDialog,
9
8
  o as Surfboard
10
9
  };
@@ -1,6 +1,7 @@
1
1
  import { NumericCanonicalFormat, NumericPresentationTarget, PresentationExecutionSnapshot } from '../shared/format-utils/index.js';
2
2
  import { BriefingAppearanceSpec, BriefingFragments, BriefingThemeOverrides } from './presentation-contract.js';
3
3
  import { MatrixConfig } from '../shared/analytics-protocol/index.js';
4
+ import { CsvEncoding } from '../shared/format-utils/exporters/csv-utils.js';
4
5
  export { captureMatrixExport, buildMatrixDeliveryEnvelope, matrixDeliveryPayloadSchema, matrixDeliveryQuerySchema, type MatrixLayoutReadResult } from '../shared/dashboard-authoring/matrix-delivery.js';
5
6
  export declare const BRIEFING_KIND: "BRIEFING";
6
7
  export { DEFAULT_BRIEFING_SCHEDULE, briefingScheduleMonths, briefingScheduleDayOccurs, briefingScheduleShortMonths, buildBriefingScheduleExpr, canonicalBriefingMonthDays, describeBriefingSchedule, isValidBriefingTimezone, nextBriefingScheduleDates, parseBriefingScheduleExpr, type BriefingScheduleFrequency, type BriefingScheduleMonthDay, type BriefingScheduleMonthInterval, type BriefingScheduleMonthlyOn, type BriefingScheduleOrdinal, type BriefingScheduleViewModel, } from './schedule.js';
@@ -181,6 +182,8 @@ export type BriefingAttachmentSettings = {
181
182
  includeFilters?: boolean;
182
183
  includeTimestamp?: boolean;
183
184
  delimiter?: BriefingCsvDelimiter;
185
+ /** Absent means the dashboard's download setting decides. */
186
+ csvEncoding?: CsvEncoding;
184
187
  includeHeaders?: boolean;
185
188
  useFormattedValues?: boolean;
186
189
  sheetSelection?: BriefingSheetSelection;
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- import { DashboardProps } from '../index.js';
2
+ import { DashboardProps } from '../../lib/types/common-types.js';
3
3
  type ContainerProps = DashboardProps & HTMLAttributes<HTMLDivElement> & {
4
4
  type?: 'dashboard' | 'visual';
5
5
  cardId?: string;
@@ -1,4 +1,4 @@
1
- import { TDashboard } from '../../index.js';
1
+ import { TDashboard } from '../../../lib/types/common-types.js';
2
2
  type DashboardSheet = NonNullable<TDashboard['sheets']>[number];
3
3
  type SheetLayouts = NonNullable<DashboardSheet['layouts']>;
4
4
  export declare function shouldPersistLayouts(currentLayouts: SheetLayouts | undefined, nextLayouts: SheetLayouts | undefined): boolean;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { TSheet } from '../../index.js';
2
+ import { TSheet } from '../../../lib/types/common-types.js';
3
3
  export declare function Sheet({ sheet }: {
4
4
  sheet: TSheet;
5
5
  }): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { TCard } from '../../index.js';
1
+ import { TCard } from '../../../lib/types/common-types.js';
2
2
  import { default as React } from 'react';
3
3
  type TextCardProps = {
4
4
  isLoading: boolean;
@@ -1,4 +1,4 @@
1
- import { AuthToken, TFrame } from '../index.js';
1
+ import { AuthToken, TFrame } from '../../lib/types/common-types.js';
2
2
  type EditorProps = {
3
3
  authToken?: AuthToken;
4
4
  onSave?: (frame: TFrame) => void;
@@ -1,12 +1,20 @@
1
+ import { FilterValue } from '../../../lib/types/explorer-types.js';
2
+ import { RelativeDateFilter } from '../../../shared/analytics-protocol/relative-date-filter.js';
3
+ import { CardDateSelection } from './card-date-selection.js';
1
4
  interface CardDateFilterProps {
2
- value: any;
5
+ value: FilterValue;
3
6
  operator: string;
4
- onChange: (value: any) => void;
7
+ /** The saved relative choice, for range operators. */
8
+ relativeMeta?: RelativeDateFilter;
9
+ /** The condition selects the latest value of its field (`=` only). */
10
+ latestValue?: boolean;
11
+ onChange: (selection: CardDateSelection) => void;
5
12
  className?: string;
6
13
  }
7
14
  /**
8
- * Wrapper component that adapts DateRangePicker for card filter usage
9
- * Handles different operators and value formats
15
+ * Wrapper component that adapts DateRangePicker for card filter usage.
16
+ * Range operators can save a relative choice ("This month"), which the
17
+ * server resolves on every run; Static picks save fixed dates.
10
18
  */
11
- export declare function CardDateFilter({ value, operator, onChange, className, }: CardDateFilterProps): import("react").JSX.Element;
19
+ export declare function CardDateFilter({ value, operator, relativeMeta, latestValue, onChange, className, }: CardDateFilterProps): import("react").JSX.Element;
12
20
  export {};
@@ -0,0 +1,28 @@
1
+ import { Field, FilterCondition, FilterValue, Operator } from '../../../lib/types/explorer-types.js';
2
+ import { RelativeDateFilter } from '../../../shared/analytics-protocol/relative-date-filter.js';
3
+ /** What the card date picker emits: dates, plus the relative choice when there is one. */
4
+ export type CardDateSelection = {
5
+ value: FilterValue;
6
+ relativeMeta?: RelativeDateFilter;
7
+ };
8
+ /**
9
+ * The condition without the markers the server resolves on every run: a
10
+ * relative window (`relativeMeta`) and a latest-value predicate
11
+ * (`latestValue`). Every edit of a condition's value, operator or field goes
12
+ * through it, so a new marker can't survive an edit that no longer means it
13
+ * (analytics kernel K13; linked D7).
14
+ */
15
+ export declare function withoutRunTimeMarkers(condition: FilterCondition): FilterCondition;
16
+ /**
17
+ * The next condition for a selection. A selection without `relativeMeta`
18
+ * removes the key, so a fixed pick never keeps an old relative window or a
19
+ * latest-value predicate.
20
+ */
21
+ export declare function applyCardDateSelection(condition: FilterCondition, selection: CardDateSelection): FilterCondition;
22
+ /** The condition after its operator changes: an empty value and no relative window. */
23
+ export declare function resetConditionForOperator(condition: FilterCondition, operator: Operator): FilterCondition;
24
+ /**
25
+ * The condition after its field changes: an empty value, the field type's
26
+ * default operator (`between` for dates) and no relative window.
27
+ */
28
+ export declare function resetConditionForField(condition: FilterCondition, field: Field): FilterCondition;
@@ -1,4 +1,4 @@
1
- import { DashboardProps } from '../index.js';
1
+ import { DashboardProps } from '../../lib/types/common-types.js';
2
2
  import { TokenProps } from '../../lib/types/token-types.js';
3
3
  type SemaphorContextType = DashboardProps & {
4
4
  tokenProps: TokenProps;
@@ -1,4 +1,4 @@
1
- import { Theme } from '../index.js';
1
+ import { Theme } from '../../lib/types/common-types.js';
2
2
  export type ThemeProviderState = {
3
3
  theme: Theme;
4
4
  setTheme: (theme: Theme) => void;
@@ -1,4 +1,4 @@
1
- import { Theme } from '../index.js';
1
+ import { Theme } from '../../lib/types/common-types.js';
2
2
  type ThemeProviderProps = {
3
3
  children: React.ReactNode;
4
4
  defaultTheme?: Theme;
@@ -1,4 +1,4 @@
1
- import { TDashboard } from '../../index.js';
1
+ import { TDashboard } from '../../../lib/types/common-types.js';
2
2
  /**
3
3
  * Initialize a pristine dashboard snapshot whenever edit mode turns on.
4
4
  * Keeps logic centralized so programmatic entry points are covered.
@@ -7,7 +7,7 @@ interface DashboardActionsMenuProps {
7
7
  showInlineEditButton?: boolean;
8
8
  showEditInMenu?: boolean;
9
9
  menuButtonClassName?: string;
10
- /** When provided (and kind !== 'data_app'), renders a "Set/Clear as default" item. */
10
+ /** When provided, renders a "Set/Clear as default" item. */
11
11
  isDefault?: boolean;
12
12
  onEditDetails?: (dashboard: ResourceListItem) => void;
13
13
  onDeleteClick?: (dashboard: ResourceListItem) => void;
@@ -9,7 +9,6 @@ export interface ResourceListItem {
9
9
  isPrivate: boolean;
10
10
  isPublic: boolean;
11
11
  version: string;
12
- currentDataAppVersionId?: string | null;
13
12
  createdBy: string | null;
14
13
  createdByTenantUser: string;
15
14
  tenantId: string;
@@ -1,4 +1,4 @@
1
- import { DashboardProps } from '../index.js';
1
+ import { DashboardProps } from '../../lib/types/common-types.js';
2
2
  type DashboardPlusProps = {
3
3
  showControls?: boolean;
4
4
  showFooter?: boolean;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Dashboard-wide download settings, edited while the dashboard is in edit
3
+ * mode. A change joins the edit session and is saved with the dashboard.
4
+ */
5
+ export declare function DownloadSettingsDialog({ open, onOpenChange, }: {
6
+ open: boolean;
7
+ onOpenChange: (open: boolean) => void;
8
+ }): import("react").JSX.Element;
@@ -2,6 +2,7 @@ import { DashboardInputTargetContext } from '../../../lib/dashboard-inputs/dashb
2
2
  import { NormalizedDashboardInput } from '../../../lib/types/common-types.js';
3
3
  import { CalculatedFieldFormula, Field } from '../../../lib/types/explorer-types.js';
4
4
  import { TemporalBucketMetadata } from '../../../shared/analytics-protocol/contracts.js';
5
+ import { DateUnit, RelativeDateFilter, RelativeDateUnit, SubDayDateUnit } from '../../../shared/analytics-protocol/relative-date-filter.js';
5
6
  export type DateSelectionMode = 'range' | 'months' | 'day';
6
7
  export type DateComparisonOperation = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'between' | 'not between' | 'is null' | 'is not null';
7
8
  export type FilterLocation = 'dashboard' | 'frame' | 'sheet' | undefined;
@@ -12,35 +13,8 @@ export type ComboBoxOption = {
12
13
  [key: string]: FilterOptionValue;
13
14
  };
14
15
  export type TSelectedRecord = ComboBoxOption;
15
- export type DateUnit = 'day' | 'week' | 'month' | 'quarter' | 'year';
16
- export type SubDayDateUnit = 'minute' | 'hour';
17
- export type RelativeDateUnit = DateUnit | SubDayDateUnit;
16
+ export type { DateUnit, RelativeDateFilter, RelativeDateUnit, SubDayDateUnit, };
18
17
  export type TemporalPrecision = 'minute';
19
- export type RelativeDateFilter = {
20
- mode: 'last';
21
- n: number;
22
- unit: SubDayDateUnit;
23
- complete?: false;
24
- } | {
25
- mode: 'last';
26
- n: number;
27
- unit: DateUnit;
28
- complete?: boolean;
29
- } | {
30
- mode: 'this';
31
- unit: DateUnit;
32
- toDate?: boolean;
33
- /** Only used with unit=month for single-day month-boundary presets. */
34
- boundary?: 'first_day' | 'last_day';
35
- } | {
36
- mode: 'previous';
37
- unit: DateUnit;
38
- } | {
39
- mode: 'between';
40
- unit: DateUnit;
41
- from: number;
42
- to: number;
43
- };
44
18
  /**
45
19
  * Absolute fixed month/year default used by Month Picker defaults.
46
20
  * - `month` is 0-indexed (0=January, 11=December) to align with MonthPicker.
@@ -167,6 +141,12 @@ type BaseFilter = {
167
141
  semanticContext?: FilterSemanticContext;
168
142
  /** Governed meaning for canonical grouped-temporal filter values. */
169
143
  temporalBucket?: TemporalBucketMetadata;
144
+ /**
145
+ * Set on the Global Date value bound to a card's date field. On that field
146
+ * it replaces the card's own date range for the run; any other date filter
147
+ * intersects with it (analytics kernel P2a-01).
148
+ */
149
+ dateOwner?: 'global_date';
170
150
  };
171
151
  type FilterForString = BaseFilter & {
172
152
  operation: 'like' | 'not like';
@@ -242,4 +222,3 @@ export type FilterStorageOptions = {
242
222
  */
243
223
  inputContext?: DashboardInputTargetContext;
244
224
  };
245
- export {};
@@ -1,5 +1,6 @@
1
1
  import { TFilter } from './types.js';
2
2
  import { DashboardFilterMappingAuthoringIssue, DashboardFilterMappingDraftDecision } from '../../../lib/dashboard-inputs/dashboard-filter-mapping-authoring.js';
3
+ import { DefaultsCalendar } from '../../../lib/utils/filter-default-value-utils.js';
3
4
  import { DashboardInputRuntimeTarget } from '../../../lib/dashboard-inputs/dashboard-input-values.js';
4
5
  import { GlobalDateComparisonSelection } from '../../../shared/analytics-protocol/index.js';
5
6
  import { DashboardFilterOptionDependencies, DashboardFilterOptionPopulation, DashboardFilterOptionSource } from '../../../shared/dashboard-authoring/index.js';
@@ -19,7 +20,7 @@ type DashboardFilterSettingsAcceptOptions = {
19
20
  export declare function useDashboardFilterMappingPopover(params: {
20
21
  filter: TFilter;
21
22
  stagedFilter: TFilter;
22
- dashboardTimezone?: string;
23
+ dashboardCalendar?: DefaultsCalendar;
23
24
  open: boolean;
24
25
  attentionEnabled?: boolean;
25
26
  capable: boolean;
@@ -39,6 +40,9 @@ export declare function useDashboardFilterMappingPopover(params: {
39
40
  interactionDefaults?: {
40
41
  clickToFilter: "on" | "off";
41
42
  };
43
+ exportDefaults?: {
44
+ csvEncoding?: import('../../../shared/format-utils/index.js').CsvEncoding;
45
+ };
42
46
  aiContext?: import('../../../lib/types/assistant-types.js').DashboardAIContext;
43
47
  summary?: {
44
48
  enabled?: boolean;
@@ -1,8 +1,10 @@
1
1
  import { DateRange } from 'react-day-picker';
2
2
  import { RelativeDateFilter, DateComparisonOperation, TemporalPrecision } from '../surfboard/filter/types.js';
3
+ import { RelativeDateSummary } from '../../lib/utils/relative-date-description.js';
4
+ import { WeekStart } from '../../shared/report-runtime-context/index.js';
3
5
  export type PresetOption = {
4
6
  label: string;
5
- value: (timezone: string) => DateRange;
7
+ value: (timezone: string, weekStart: WeekStart, now: Date) => DateRange;
6
8
  category: 'time' | 'year' | 'quarter' | 'month' | 'week' | 'day';
7
9
  };
8
10
  export type TemporalPrecisionChangeOptions = {
@@ -36,6 +38,20 @@ export interface DateRangePickerProps {
36
38
  buttonClassName?: string;
37
39
  /** Optional context appended to the closed picker label. */
38
40
  buttonLabelSuffix?: string;
41
+ /**
42
+ * Card filters: what the trigger shows for an applied relative value, for
43
+ * example "This month" and its current dates. The caller describes it; the
44
+ * picker only renders it.
45
+ */
46
+ relativeSummary?: Pick<RelativeDateSummary, 'label' | 'dates'> & {
47
+ /** Shown on hover, typically when there are no dates to show. */
48
+ tooltip?: string;
49
+ };
50
+ /**
51
+ * Single mode: what the trigger shows for an applied value that has no date
52
+ * of its own (a card's "Latest value"). A pick replaces it.
53
+ */
54
+ singleValueLabel?: string;
39
55
  contentClassName?: string;
40
56
  overlayContentClassName?: string;
41
57
  targetColumns?: Array<{
@@ -54,4 +70,4 @@ export interface DateRangePickerProps {
54
70
  /** Notifies nested-popover owners when this picker opens or closes. */
55
71
  onOpenChange?: (open: boolean) => void;
56
72
  }
57
- export declare function DateRangePicker({ value, onChange, selectionMode, singleValue, onSingleChange, comparisonOptions, comparisonValue, onComparisonChange, comparisonLabel, hideDateInputs, onRelativeSelect, relativeValue, placeholder, className, timezone, showRelativeTab, hideCalendar, disabled, enableTimePrecision, temporalPrecision, buttonClassName, buttonLabelSuffix, contentClassName, overlayContentClassName, targetColumns, selectedColumn, onColumnChange, inline, onApplied, supplementalFooter, onOpenChange, }: DateRangePickerProps): import("react").JSX.Element;
73
+ export declare function DateRangePicker({ value, onChange, selectionMode, singleValue, onSingleChange, comparisonOptions, comparisonValue, onComparisonChange, comparisonLabel, hideDateInputs, onRelativeSelect, relativeValue, placeholder, className, timezone, showRelativeTab, hideCalendar, disabled, enableTimePrecision, temporalPrecision, buttonClassName, buttonLabelSuffix, relativeSummary, singleValueLabel, contentClassName, overlayContentClassName, targetColumns, selectedColumn, onColumnChange, inline, onApplied, supplementalFooter, onOpenChange, }: DateRangePickerProps): import("react").JSX.Element;
@@ -19,29 +19,16 @@ export declare function resolveCalendarDayRange(date: string, timezone: string):
19
19
  export declare const isSingleDayDefaultDateFilter: (value: DefaultDateFilter | undefined) => boolean;
20
20
  export declare function resolveDefaultDateFilterForDefaults(meta: DefaultDateFilter, timezone: string, weekStart?: WeekStart): [Date, Date] | undefined;
21
21
  /**
22
- * Resolves a relative date filter to concrete start/end dates in the specified timezone.
23
- * This is a simplified frontend version - backend will re-resolve for query execution.
24
- *
25
- * Anchors "now" in the target timezone so date-fns period functions operate on
26
- * the correct calendar (not browser's calendar).
22
+ * The window a relative date names at `now` in the timezone, from the shared
23
+ * date module (analytics kernel Phase 3), so a preview matches what the server
24
+ * runs. Callers here have no fiscal calendar, so quarters and years are
25
+ * calendar periods; previews show those as labels only (K8).
27
26
  *
28
27
  * @param meta - The relative date filter metadata
29
28
  * @param timezone - IANA timezone string (e.g., "America/New_York", "UTC")
30
29
  * @param weekStart - Day the week starts on (0=Sunday, 1=Monday). Defaults to 1 (Monday/ISO).
31
- * @returns Tuple of [start, end] dates in the specified timezone
32
- */
33
- export declare function resolveRelativeDateForDefaults(meta: RelativeDateFilter, timezone: string, weekStart?: WeekStart): [Date, Date];
34
- /**
35
- * Format a `RelativeDateFilter` meta into a human-readable label.
36
- *
37
- * 1. First tries to reverse-match against `presetMetadata` so canonical
38
- * presets (Today, Last 7 days, This week, …) round-trip back to the
39
- * same wording the user originally clicked.
40
- * 2. Falls back to a generated label for ad-hoc relative ranges that
41
- * aren't in the preset list (e.g., from the Relative tab's custom
42
- * From/To dropdowns).
43
- *
44
- * Returns null if the meta can't be sensibly labelled.
30
+ * @param now - The anchor instant; a pinned calendar anchor passes its own.
31
+ * @returns `[start, inclusive end]`
45
32
  */
46
- export declare function getRelativeDateLabel(meta: RelativeDateFilter | undefined): string | null;
47
- export declare const presetMetadata: Record<string, RelativeDateFilter>;
33
+ export declare function resolveRelativeDateForDefaults(meta: RelativeDateFilter, timezone: string, weekStart?: WeekStart, now?: Date): [Date, Date];
34
+ export { findPresetLabel, getRelativeDateLabel, getRelativeOffsetLabel, presetMetadata, relativeMetaEquals, } from '../../shared/analytics-protocol/relative-date-label.js';
@@ -0,0 +1,18 @@
1
+ type ReportCalendarProps = {
2
+ /** The report's IANA time zone. */
3
+ timezone: string;
4
+ /** Any instant within the selected day. */
5
+ selected?: Date;
6
+ /** The picked day's first instant in `timezone`; undefined when unselected. */
7
+ onSelect: (day: Date | undefined) => void;
8
+ className?: string;
9
+ };
10
+ /**
11
+ * A one-day calendar on the report calendar (temporal predicate contract,
12
+ * Phase B): its days, "today" and first weekday column are the report time
13
+ * zone's and week start's, so a viewer in any time zone picks the report's
14
+ * day. Days come back as plain instants, never the calendar's zoned dates,
15
+ * which serialize with an offset and read the host's clock in date-fns.
16
+ */
17
+ export declare function ReportCalendar({ timezone, selected, onSelect, className, }: ReportCalendarProps): import("react").JSX.Element;
18
+ export {};
@@ -3,6 +3,7 @@ import { GroupByField, QueryColumnKeyMap } from '../../../../lib/types/explorer-
3
3
  import { PivotColumnSchema } from '../../pivot-table/types.js';
4
4
  import { ColumnSettingsMap } from '../../data-table/types/data-table.js';
5
5
  import { CardNumericPresentationContext } from '../../../../lib/formatters/numeric-presentation.js';
6
+ import { CsvDelimiter, CsvEncoding } from '../../../../shared/format-utils/exporters/csv-utils.js';
6
7
  import { AggregateTemporalPresentation } from './temporal-presentation.js';
7
8
  interface RowData extends Record<string, any> {
8
9
  isSubtotal?: boolean;
@@ -18,14 +19,11 @@ interface RowData extends Record<string, any> {
18
19
  * This preserves the formatted display including subtotals and grand totals
19
20
  */
20
21
  export declare function formatAggregatedTableForExport(organizedData: RowData[], grandTotalRow: RowData | undefined, groupByColumns: GroupByField[], pivotSchema: PivotColumnSchema[], card: TCard, columnSettings?: ColumnSettingsMap, options?: {
21
- delimiter?: string;
22
+ delimiter?: CsvDelimiter;
23
+ encoding?: CsvEncoding;
22
24
  includeHeaders?: boolean;
23
25
  numericPresentation?: CardNumericPresentationContext;
24
26
  temporalPresentation?: AggregateTemporalPresentation;
25
27
  columnKeyMap?: QueryColumnKeyMap;
26
28
  }): string;
27
- /**
28
- * Download CSV file
29
- */
30
- export declare function downloadCSV(csvContent: string, fileName: string): void;
31
29
  export {};
@@ -1,2 +1,2 @@
1
- import { DateOptions } from '../index.js';
1
+ import { DateOptions } from '../../lib/types/common-types.js';
2
2
  export declare function getDateOptions(locale: string, format: string): DateOptions;
@@ -1,2 +1,2 @@
1
1
  import { DataTableToolbarProps } from './types/data-table.js';
2
- export declare function DataTableToolbar({ globalFilter, onGlobalFilterChange, totalRows, columns, selectColumnVisible, onToggleSelectColumn, onColumnVisibilityChange, card, data, exportFileName, }: DataTableToolbarProps): import("react").JSX.Element | null;
2
+ export declare function DataTableToolbar({ globalFilter, onGlobalFilterChange, totalRows, columns, selectColumnVisible, onToggleSelectColumn, onColumnVisibilityChange, }: DataTableToolbarProps): import("react").JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { ColorRange } from '../../index.js';
1
+ import { ColorRange } from '../../../lib/types/common-types.js';
2
2
  type FormatNumber = {
3
3
  number: number;
4
4
  decimalPlaces: number;
@@ -1,11 +1,13 @@
1
1
  import { PivotTableData } from '../pivot-table.js';
2
2
  import { TCard } from '../../../../lib/types/common-types.js';
3
+ import { CsvDelimiter, CsvEncoding } from '../../../../shared/format-utils/index.js';
3
4
  import { CardNumericPresentationContext } from '../../../../lib/formatters/numeric-presentation.js';
4
5
  type PivotTableCsvOptions = {
5
6
  includeHeaders?: boolean;
6
7
  includeSubtotals?: boolean;
7
8
  includeGrandTotal?: boolean;
8
- delimiter?: string;
9
+ delimiter?: CsvDelimiter;
10
+ encoding?: CsvEncoding;
9
11
  showRowTotals?: boolean;
10
12
  numericPresentation?: CardNumericPresentationContext;
11
13
  };
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { ColorRange } from '../../index.js';
2
+ import { ColorRange } from '../../../lib/types/common-types.js';
3
3
  type ColorFormatProps = {
4
4
  colorRanges: ColorRange[];
5
5
  setColorRanges: (ranges: ColorRange[]) => void;
@@ -1,5 +1,5 @@
1
1
  import { Chart } from 'chart.js';
2
- import { TCard } from '../index.js';
2
+ import { TCard } from '../../lib/types/common-types.js';
3
3
  import { BlurEffectProps, TChartConfiguration } from '../../lib/charts/types.js';
4
4
  import { ComparisonMetadataMap } from '../../lib/types/query-types.js';
5
5
  export declare function handleBlurEffect({ chart, elementIndex, datasetIndex, cardType, cfg, apply, }: BlurEffectProps): void;
@@ -1,9 +1,9 @@
1
1
  import { C as r, E as s } from "../chunks/common-types-C6cAQgyh.js";
2
- import { C as o, D as i, L as n, P as c, f as d, g as m, k as u, j as E, l as p, e as C, c as D, b as F, d as A, n as f, h as _ } from "../chunks/validators-CsdOtZI6.js";
3
- import { c as T, g as h, f as x, b as N, e as y, d as I, a as M, h as R, r as b } from "../chunks/field-dependencies-v-lJNzC7.js";
4
- import { D as S } from "../chunks/token-types-BC6RcUY8.js";
5
- import { r as O, a as v } from "../chunks/pivot-result-identity-BzUQiCEV.js";
6
- import { D as w } from "../chunks/report-runtime-context-CxIoGyNM.js";
2
+ import { C as o, D as i, L as n, P as c, f as d, g as m, k as u, j as E, l as p, e as C, c as D, b as F, d as A, n as f, h as _ } from "../chunks/validators-CQcG0EPN.js";
3
+ import { c as T, g as h, f as x, b as N, e as y, d as I, a as M, h as R, r as b } from "../chunks/field-dependencies-CGYic38w.js";
4
+ import { D as S } from "../chunks/token-types-UjyNz95-.js";
5
+ import { r as O, a as v } from "../chunks/pivot-result-identity-CY__BuwI.js";
6
+ import { D as w } from "../chunks/report-runtime-context-CtaGGlit.js";
7
7
  const e = [
8
8
  "concatenate",
9
9
  "conditional-category",
@@ -1,4 +1,5 @@
1
- import { DashboardStore, TCard } from '../../components/index.js';
1
+ import { DashboardStore } from '../stores/dashboard-store.js';
2
+ import { TCard } from '../types/common-types.js';
2
3
  type dataPointActionProps = {
3
4
  get: () => DashboardStore;
4
5
  set: (nextStateOrUpdater: DashboardStore | Partial<DashboardStore>) => any;
@@ -1,4 +1,5 @@
1
1
  import { TFilterValue } from '../../components/surfboard/filter/types.js';
2
+ import { CsvEncoding } from '../../shared/format-utils/exporters/csv-utils.js';
2
3
  import { CardConfig, DataSource, TableTotalsRequest } from '../types/explorer-types.js';
3
4
  import { ControlBinding, ControlDefinition } from '../types/common-types.js';
4
5
  import { ResolvedPrimaryDateField } from '../types/semantic-runtime-types.js';
@@ -16,6 +17,8 @@ export interface ExportFormattingConfig {
16
17
  browserTimezone?: string;
17
18
  isSqlCard?: boolean;
18
19
  delimiter: ',' | ';' | '\t';
20
+ /** Resolved by the dialog: the person's choice, else the dashboard's setting. */
21
+ csvEncoding: CsvEncoding;
19
22
  includeHeaders: boolean;
20
23
  columnSettings?: Record<string, unknown>;
21
24
  visibleColumns?: string[];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Save a CSV file in the browser. This is the only place react-semaphor
3
+ * creates a CSV Blob; `content` comes from the CSV file contract
4
+ * (`encodeCsvFile`), which owns the BOM, quoting and record separators.
5
+ */
6
+ export declare function downloadCsvFile({ content, fileName, }: {
7
+ content: string;
8
+ fileName: string;
9
+ }): void;
@@ -0,0 +1,6 @@
1
+ import { CsvEncoding } from '../shared/format-utils/index.js';
2
+ /** The two CSV encodings as people see them, in every place that offers the choice. */
3
+ export declare const CSV_ENCODING_OPTIONS: ReadonlyArray<{
4
+ value: CsvEncoding;
5
+ label: string;
6
+ }>;
@@ -1,4 +1,4 @@
1
- import { TDashboard } from '../../components/index.js';
1
+ import { TDashboard } from '../types/common-types.js';
2
2
  type DashboardSheet = NonNullable<TDashboard['sheets']>[number];
3
3
  type SheetLayouts = NonNullable<DashboardSheet['layouts']>;
4
4
  /**
@@ -1,6 +1,7 @@
1
1
  import { TFilter, TFilterValue } from '../../components/surfboard/filter/types.js';
2
2
  import { DashboardInput, DashboardInputValues } from '../types/common-types.js';
3
3
  import { DashboardInputRuntimeTarget } from './dashboard-input-values.js';
4
+ import { DefaultsCalendar } from '../utils/filter-default-value-utils.js';
4
5
  import { GlobalDateComparisonSelection } from '../../shared/analytics-protocol/index.js';
5
6
  import { DashboardFilterOptionDependencies, DashboardFilterOptionPopulation, DashboardFilterOptionSource } from '../../shared/dashboard-authoring/index.js';
6
7
  export type DashboardFilterStorageState = {
@@ -36,7 +37,7 @@ export type DashboardFilterOptionPolicy = {
36
37
  export declare function resolveFilterOptionPolicy(current: DashboardFilterOptionPolicy | undefined, settings: DashboardFilterAuthoringSettingsUpdate | undefined): DashboardFilterOptionPolicy;
37
38
  export declare function hasFilterOptionPolicy(policy: DashboardFilterOptionPolicy | undefined): boolean;
38
39
  /** Callers submit edits; the owner decides whether defaults must be reseeded. */
39
- export declare function resolveFilterAuthoringSettings(previous: TFilter | undefined, filter: TFilter, settings: DashboardFilterAuthoringSettingsUpdate | undefined, target: DashboardInputRuntimeTarget, timezone?: string): {
40
+ export declare function resolveFilterAuthoringSettings(previous: TFilter | undefined, filter: TFilter, settings: DashboardFilterAuthoringSettingsUpdate | undefined, target: DashboardInputRuntimeTarget, calendar?: DefaultsCalendar): {
40
41
  target: DashboardInputRuntimeTarget;
41
42
  defaultValueChanged: boolean;
42
43
  defaultFilterValue: TFilterValue | undefined;
@@ -39,7 +39,6 @@ export type BuildCarriedClickContextParams = {
39
39
  destinationCardIds: string[];
40
40
  semanticExecutionPayload?: SemanticExecutionPayload;
41
41
  calendarContext?: CalendarContext | null;
42
- dashboardInputReferenceTime?: string;
43
42
  resolveRelativeDateWindow?: ResolveRelativeDateWindow;
44
43
  };
45
44
  export type CarriedClickContext = {
@@ -1,9 +1,10 @@
1
1
  import { TFilterValue } from '../../components/surfboard/filter/types.js';
2
+ import { DefaultsCalendar } from '../utils/filter-default-value-utils.js';
2
3
  import { DocumentControlInputDefinition, DocumentFilterInputDefinition, DocumentInputDefinition } from '../types/common-types.js';
3
4
  export type DocumentFilterMode = 'include' | 'exclude';
4
5
  export declare function isFilterDocumentInput(input: DocumentInputDefinition): input is DocumentFilterInputDefinition;
5
6
  export declare function isControlDocumentInput(input: DocumentInputDefinition): input is DocumentControlInputDefinition;
6
- export declare function buildDefaultDocumentInputFilterValuesById(inputs: DocumentInputDefinition[], timezone?: string): Record<string, TFilterValue | undefined>;
7
+ export declare function buildDefaultDocumentInputFilterValuesById(inputs: DocumentInputDefinition[], calendar?: DefaultsCalendar): Record<string, TFilterValue | undefined>;
7
8
  export declare function buildDefaultDocumentInputControlValuesById(inputs: DocumentInputDefinition[]): Record<string, unknown>;
8
9
  export declare function getDocumentInputSignature(inputs: DocumentInputDefinition[]): string;
9
10
  export declare function getDocumentInputDefinitionSignaturesById(inputs: DocumentInputDefinition[]): Record<string, string>;