react-semaphor 0.1.514 → 0.1.516

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 (228) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +226 -225
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +4 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +8 -8
  7. package/dist/chunks/{calculated-field-identity-BiTGmnST.cjs → calculated-field-identity-5bg9oHTw.cjs} +1 -1
  8. package/dist/chunks/{calculated-field-identity-DnRd4YIY.js → calculated-field-identity-DzJBs2J8.js} +4 -4
  9. package/dist/chunks/{card-config-utils-B2cDWQqB.js → card-config-utils-Cxnq2R6z.js} +14 -14
  10. package/dist/chunks/{card-config-utils-CMO4_zVs.cjs → card-config-utils-z86y6tSq.cjs} +1 -1
  11. package/dist/chunks/column-bands-CU0byntA.cjs +1 -0
  12. package/dist/chunks/column-bands-RdM-kjDe.js +47 -0
  13. package/dist/chunks/{dashboard-briefing-launcher-e3s3MuSs.js → dashboard-briefing-launcher-BCEHJ_eD.js} +15 -12
  14. package/dist/chunks/{dashboard-briefing-launcher-BzPD50QD.cjs → dashboard-briefing-launcher-CjZ4aE34.cjs} +2 -2
  15. package/dist/chunks/{dashboard-controls-DAOABnks.js → dashboard-controls-DFfit5KH.js} +12 -12
  16. package/dist/chunks/{dashboard-controls-DQBfOqmC.cjs → dashboard-controls-f9aJ70Zu.cjs} +1 -1
  17. package/dist/chunks/{dashboard-date-comparison-definition-D7Bl-YAl.js → dashboard-date-comparison-definition-BqNhECUr.js} +6 -6
  18. package/dist/chunks/{dashboard-date-comparison-definition-C_w-GO_5.cjs → dashboard-date-comparison-definition-Y6JZwpcr.cjs} +1 -1
  19. package/dist/chunks/{dashboard-json-S5Eq2GAg.js → dashboard-json-DVtcA02f.js} +7 -7
  20. package/dist/chunks/{dashboard-json-1jZycd5h.cjs → dashboard-json-deqQC-UR.cjs} +1 -1
  21. package/dist/chunks/edit-dashboard-visual-DK6lSC_p.cjs +172 -0
  22. package/dist/chunks/{edit-dashboard-visual-Bkm0ciHG.js → edit-dashboard-visual-lJ6rDH3w.js} +4553 -4542
  23. package/dist/chunks/{editor-action-buttons-Bvv16QA-.js → editor-action-buttons-Bnxxa439.js} +7 -7
  24. package/dist/chunks/{editor-action-buttons-B2NCSsDw.cjs → editor-action-buttons-CmDaQbPN.cjs} +1 -1
  25. package/dist/chunks/{field-aggregations-CzuQKtqx.js → field-aggregations-Dl2A3rbV.js} +461 -358
  26. package/dist/chunks/field-aggregations-pH_3kymD.cjs +1 -0
  27. package/dist/chunks/{field-dependencies-DIab72rQ.cjs → field-dependencies-EB485TdB.cjs} +1 -1
  28. package/dist/chunks/{field-dependencies-DXW4jtvJ.js → field-dependencies-v-lJNzC7.js} +1 -1
  29. package/dist/chunks/{index-nhUr9xBz.js → index-BVVl2JDK.js} +57955 -54696
  30. package/dist/chunks/{index-CACdoqu3.js → index-C8w91oj4.js} +61 -51
  31. package/dist/chunks/index-Cw2ypaFl.cjs +1 -0
  32. package/dist/chunks/index-DfqMtR9S.cjs +4 -0
  33. package/dist/chunks/index-UNKSfi7s.cjs +1434 -0
  34. package/dist/chunks/{index-CnGVjyF8.js → index-ylOpKRDu.js} +877 -849
  35. package/dist/chunks/{matrix-analytical-definition-Ct5Tu8np.cjs → matrix-analytical-definition-BWd159lN.cjs} +1 -1
  36. package/dist/chunks/{matrix-analytical-definition-BDAK2aEi.js → matrix-analytical-definition-BimC4XIV.js} +1 -1
  37. package/dist/chunks/{matrix-card-U4c72doZ.cjs → matrix-card-C2RjEYZ8.cjs} +1 -1
  38. package/dist/chunks/{matrix-card-DOIeTmjh.js → matrix-card-CIlz0Dnp.js} +2 -2
  39. package/dist/chunks/{matrix-control-sources-FjxGIbqk.cjs → matrix-control-sources-BvEJF7d3.cjs} +1 -1
  40. package/dist/chunks/{matrix-control-sources-BxKH2yu2.js → matrix-control-sources-KbZe1gj_.js} +51 -51
  41. package/dist/chunks/{matrix-definition-CBJW_4ii.cjs → matrix-definition-DanUT11P.cjs} +1 -1
  42. package/dist/chunks/{matrix-definition-I9rHB9zN.js → matrix-definition-E5gXXSTZ.js} +1 -1
  43. package/dist/chunks/matrix-formatter-BJTO8ky9.cjs +1 -0
  44. package/dist/chunks/matrix-formatter-CCXNRt3s.js +341 -0
  45. package/dist/chunks/{matrix-member-presentation-DO1VSqfh.js → matrix-member-presentation-Bw7-JCrr.js} +64 -64
  46. package/dist/chunks/matrix-member-presentation-DvXDEo0U.cjs +1 -0
  47. package/dist/chunks/{matrix-operation-contract-DoiWTUbT.cjs → matrix-operation-contract-0RxoU_M3.cjs} +1 -1
  48. package/dist/chunks/{matrix-operation-contract-D0HfzwZg.js → matrix-operation-contract-D32U2CSw.js} +19 -19
  49. package/dist/chunks/{metric-comparison-Dqc7_tnW.js → metric-comparison-BphoJ9bq.js} +1 -1
  50. package/dist/chunks/{metric-comparison-DBQ3EJTz.cjs → metric-comparison-CUmltzpz.cjs} +1 -1
  51. package/dist/chunks/pivot-header-presentation-BSZhB1g-.js +661 -0
  52. package/dist/chunks/pivot-header-presentation-EoUS5ze5.cjs +5 -0
  53. package/dist/chunks/{pivot-result-identity-8M-bZrw9.js → pivot-result-identity-BzUQiCEV.js} +4 -4
  54. package/dist/chunks/{pivot-result-identity-uTiylUNr.cjs → pivot-result-identity-gquWljbd.cjs} +1 -1
  55. package/dist/chunks/pivot-result-lifecycle-gl9cBfB-.cjs +1 -0
  56. package/dist/chunks/{pivot-result-lifecycle-BeOpjAhg.js → pivot-result-lifecycle-kRhiJkzg.js} +208 -149
  57. package/dist/chunks/{raw-temporal-DrmCX9Wq.js → raw-temporal-BqOfk-xN.js} +471 -361
  58. package/dist/chunks/{raw-temporal-contract-CFLGwTiI.js → raw-temporal-contract-BQZIJ1fn.js} +1 -1
  59. package/dist/chunks/{raw-temporal-contract-DECbTuzA.cjs → raw-temporal-contract-CklMVG_1.cjs} +1 -1
  60. package/dist/chunks/raw-temporal-eJXecCyJ.cjs +1 -0
  61. package/dist/chunks/{report-preferences-dialog-B2fzQH1T.js → report-preferences-dialog-CHXPEl7v.js} +6 -6
  62. package/dist/chunks/{report-preferences-dialog-DcLkVqni.cjs → report-preferences-dialog-Cto0vDwI.cjs} +1 -1
  63. package/dist/chunks/{report-runtime-context-Cs65Mrxj.js → report-runtime-context-CxIoGyNM.js} +1 -1
  64. package/dist/chunks/{report-runtime-context-DzvHBPxl.cjs → report-runtime-context-CzSrCBsu.cjs} +1 -1
  65. package/dist/chunks/{selection-reducer-BIiQXbGM.js → selection-reducer-CvCBQbl2.js} +1 -1
  66. package/dist/chunks/{selection-reducer-CGKKsaPa.cjs → selection-reducer-Kl22OzIk.cjs} +1 -1
  67. package/dist/chunks/{semantic-format-BZxJLKvw.js → semantic-format-DwqGYx4V.js} +25 -31
  68. package/dist/chunks/semantic-format-mVI32OJH.cjs +1 -0
  69. package/dist/chunks/{source-entity-resolution-D7vnmDwm.js → source-entity-resolution-Bzefiive.js} +7 -7
  70. package/dist/chunks/{source-entity-resolution-CjbgnwyX.cjs → source-entity-resolution-R46X34SE.cjs} +1 -1
  71. package/dist/chunks/switch-DNbWXEOP.cjs +134 -0
  72. package/dist/chunks/{switch-QfKb0Iwe.js → switch-DNv-hVmt.js} +8260 -7659
  73. package/dist/chunks/{temporal-bucket-B9hMwemw.js → temporal-bucket-DlFuhCnT.js} +6 -6
  74. package/dist/chunks/{temporal-bucket-contract-IWDgyTMw.js → temporal-bucket-contract-DTLDRzgV.js} +1 -1
  75. package/dist/chunks/{temporal-bucket-contract-ZctiyXYk.cjs → temporal-bucket-contract-nTv6gvX5.cjs} +1 -1
  76. package/dist/chunks/{token-types-Dl0hcKBX.js → token-types-BC6RcUY8.js} +1 -1
  77. package/dist/chunks/{token-types-Ahh5u4iT.cjs → token-types-aWrzwonf.cjs} +1 -1
  78. package/dist/chunks/{update-policy-COjFudhl.cjs → update-policy-DRDLWe7Y.cjs} +1 -1
  79. package/dist/chunks/{update-policy-BeQqjupC.js → update-policy-DhAUtiC8.js} +2 -2
  80. package/dist/chunks/{validators-CkHsAvwB.js → validators-CsdOtZI6.js} +411 -397
  81. package/dist/chunks/validators-DFeDcdpA.cjs +1 -0
  82. package/dist/dashboard/index.cjs +1 -1
  83. package/dist/dashboard/index.js +1 -1
  84. package/dist/dashboard-authoring/index.cjs +3 -3
  85. package/dist/dashboard-authoring/index.js +233 -227
  86. package/dist/data-app-builder/index.cjs +1 -1
  87. package/dist/data-app-builder/index.js +3 -3
  88. package/dist/data-app-codegen/index.cjs +1 -1
  89. package/dist/data-app-codegen/index.js +2 -2
  90. package/dist/data-app-codegen-node/index.cjs +1 -1
  91. package/dist/data-app-codegen-node/index.js +3 -3
  92. package/dist/data-app-sdk/index.cjs +1 -1
  93. package/dist/data-app-sdk/index.js +5 -5
  94. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  95. package/dist/data-app-sdk-adapters/index.js +2 -2
  96. package/dist/data-app-sdk-validation/index.cjs +1 -1
  97. package/dist/data-app-sdk-validation/index.js +5 -5
  98. package/dist/format-utils/index.cjs +3 -3
  99. package/dist/format-utils/index.js +291 -397
  100. package/dist/index.cjs +1 -1
  101. package/dist/index.js +15 -15
  102. package/dist/pdf-table-layout/index.cjs +1 -0
  103. package/dist/pdf-table-layout/index.js +993 -0
  104. package/dist/report-runtime-context/index.cjs +1 -1
  105. package/dist/report-runtime-context/index.js +2 -2
  106. package/dist/style.css +1 -1
  107. package/dist/surfboard/index.cjs +1 -1
  108. package/dist/surfboard/index.js +2 -2
  109. package/dist/types/briefings/index.d.ts +1 -1
  110. package/dist/types/components/document-sheet/document-input-bar.d.ts +1 -3
  111. package/dist/types/components/document-sheet/document-insert-picker.d.ts +37 -0
  112. package/dist/types/components/document-sheet/document-kpi-section.d.ts +17 -0
  113. package/dist/types/components/document-sheet/document-matrix-layout-context.d.ts +10 -0
  114. package/dist/types/components/document-sheet/document-matrix-section.d.ts +27 -0
  115. package/dist/types/components/document-sheet/document-measure-layer.d.ts +45 -0
  116. package/dist/types/components/document-sheet/document-outline.d.ts +7 -1
  117. package/dist/types/components/document-sheet/document-page-navigation.d.ts +22 -0
  118. package/dist/types/components/document-sheet/document-page.d.ts +9 -5
  119. package/dist/types/components/document-sheet/document-panel/document-side-panel.d.ts +36 -0
  120. package/dist/types/components/document-sheet/document-panel/inputs-panel.d.ts +9 -0
  121. package/dist/types/components/document-sheet/document-panel/page-panel.d.ts +5 -0
  122. package/dist/types/components/document-sheet/document-panel/panel-controls.d.ts +14 -0
  123. package/dist/types/components/document-sheet/document-panel/region-panels.d.ts +11 -0
  124. package/dist/types/components/document-sheet/document-panel/section-panel.d.ts +25 -0
  125. package/dist/types/components/document-sheet/document-section-print-boundary.d.ts +9 -0
  126. package/dist/types/components/document-sheet/document-table-chrome.d.ts +22 -0
  127. package/dist/types/components/document-sheet/document-table-section.d.ts +3 -7
  128. package/dist/types/components/document-sheet/document-text-preview-context.d.ts +8 -0
  129. package/dist/types/components/document-sheet/use-first-fitting-variant.d.ts +18 -0
  130. package/dist/types/components/editor/editor-main/dashboard-variable-node.d.ts +12 -2
  131. package/dist/types/components/explorer/chart-configuration/matrix-authoring-controls.d.ts +7 -2
  132. package/dist/types/components/text-variables/variable-chip-plugin.d.ts +23 -0
  133. package/dist/types/components/text-variables/variable-chip.d.ts +18 -0
  134. package/dist/types/components/text-variables/variable-picker.d.ts +27 -0
  135. package/dist/types/components/visual/aggregated-table/utils/metric-format-resolver.d.ts +3 -3
  136. package/dist/types/components/visual/data-table/types/data-table.d.ts +4 -1
  137. package/dist/types/components/visual/pivot-table/utils/pivot-metric-formatting.d.ts +2 -2
  138. package/dist/types/components/visual/settings/table-presentation-settings.d.ts +27 -1
  139. package/dist/types/index.cjs +1 -1
  140. package/dist/types/index.js +5 -5
  141. package/dist/types/lib/dashboard-inputs/text-variable-options.d.ts +15 -0
  142. package/dist/types/lib/document/document-canvas-actions.d.ts +22 -0
  143. package/dist/types/lib/document/document-edits.d.ts +119 -0
  144. package/dist/types/lib/document/document-kpi-figure.d.ts +27 -0
  145. package/dist/types/lib/document/document-kpi-layout.d.ts +29 -0
  146. package/dist/types/lib/document/document-kpi-section-edits.d.ts +15 -0
  147. package/dist/types/lib/document/document-matrix-bands.d.ts +66 -0
  148. package/dist/types/lib/document/document-matrix-print.d.ts +11 -0
  149. package/dist/types/lib/document/document-pagination.d.ts +56 -3
  150. package/dist/types/lib/document/document-panel-target.d.ts +19 -0
  151. package/dist/types/lib/document/document-section-editor.d.ts +8 -7
  152. package/dist/types/lib/document/document-section-kinds.d.ts +49 -0
  153. package/dist/types/lib/document/document-section-query-options.d.ts +25 -0
  154. package/dist/types/lib/document/document-section-render-state.d.ts +26 -0
  155. package/dist/types/lib/document/document-section-utils.d.ts +11 -4
  156. package/dist/types/lib/document/document-table-dom.d.ts +4 -6
  157. package/dist/types/lib/document/document-table-pagination-model.d.ts +0 -5
  158. package/dist/types/lib/document/document-table-print-model.d.ts +4 -3
  159. package/dist/types/lib/document/document-table-style.d.ts +15 -4
  160. package/dist/types/lib/document/document-table-surface.d.ts +15 -0
  161. package/dist/types/lib/document/document-variables.d.ts +40 -6
  162. package/dist/types/lib/document/use-document-section-data.d.ts +39 -0
  163. package/dist/types/lib/document/use-measured-document-table-layout.d.ts +50 -0
  164. package/dist/types/lib/formatters/kpi-result-values.d.ts +20 -0
  165. package/dist/types/lib/formatters/metric-formatting.d.ts +3 -3
  166. package/dist/types/lib/hooks/query-context/use-dashboard-card-execution-snapshot.d.ts +8 -2
  167. package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +6 -0
  168. package/dist/types/lib/hooks/use-dashboard-kpi-actions.d.ts +1 -1
  169. package/dist/types/lib/hooks/use-document-section-editor.d.ts +2 -2
  170. package/dist/types/lib/hooks/use-document-section-session.d.ts +36 -0
  171. package/dist/types/lib/hooks/use-editor-preview.d.ts +17 -0
  172. package/dist/types/lib/hooks/use-is-editing-card.d.ts +7 -0
  173. package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +2 -0
  174. package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +2 -0
  175. package/dist/types/lib/matrix-table/matrix-delivery.d.ts +4 -0
  176. package/dist/types/lib/matrix-table/matrix-layout-read.d.ts +68 -0
  177. package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +8 -1
  178. package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +4 -2
  179. package/dist/types/lib/query-context/card-execution.d.ts +30 -0
  180. package/dist/types/lib/query-context/document-section-card-query.d.ts +37 -0
  181. package/dist/types/lib/stores/dashboard-store.d.ts +12 -8
  182. package/dist/types/lib/stores/editor-store.d.ts +2 -0
  183. package/dist/types/lib/table-formatting/table-presentation-fields.d.ts +1 -0
  184. package/dist/types/lib/text-variables/text-variable-types.d.ts +39 -0
  185. package/dist/types/lib/types/common-types.d.ts +34 -1
  186. package/dist/types/lib/utils/card-definition.d.ts +2 -0
  187. package/dist/types/lib/utils/card-utils.d.ts +13 -6
  188. package/dist/types/lib/utils/date-timezone-utils.d.ts +26 -4
  189. package/dist/types/pdf-table-layout.d.ts +2 -0
  190. package/dist/types/shared/analytics-protocol/index.d.ts +1 -1
  191. package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +45 -0
  192. package/dist/types/shared/analytics-protocol/matrix-member-presentation.d.ts +4 -0
  193. package/dist/types/shared/dashboard-authoring/document-section-cards.d.ts +56 -0
  194. package/dist/types/shared/dashboard-authoring/index.d.ts +1 -0
  195. package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +36 -1
  196. package/dist/types/shared/format-utils/formatters/duration-formatter.d.ts +4 -1
  197. package/dist/types/shared/format-utils/formatters/index.d.ts +2 -2
  198. package/dist/types/shared/format-utils/formatters/matrix-formatter.d.ts +5 -0
  199. package/dist/types/shared/format-utils/formatters/number-formatter.d.ts +8 -2
  200. package/dist/types/shared/format-utils/index.d.ts +1 -0
  201. package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +690 -1
  202. package/dist/types/shared/format-utils/matrix-print.d.ts +38 -0
  203. package/dist/types/shared/format-utils/pdf-table-layout/column-bands.d.ts +55 -0
  204. package/dist/types/shared/format-utils/pdf-table-layout/index.d.ts +6 -0
  205. package/dist/types/shared/format-utils/pdf-table-layout/page-size.d.ts +7 -0
  206. package/dist/types/shared/format-utils/pdf-table-layout/table-column-semantics.d.ts +106 -0
  207. package/dist/types/shared/format-utils/pdf-table-layout/table-column-widths.d.ts +13 -0
  208. package/dist/types/shared/format-utils/pdf-table-layout/table-page-geometry.d.ts +19 -0
  209. package/dist/types/shared/format-utils/pdf-table-layout/wide-table-layout.d.ts +46 -0
  210. package/dist/types/shared/format-utils/presentation-execution.d.ts +17 -2
  211. package/dist/types/shared/format-utils/table-structure.d.ts +9 -0
  212. package/dist/types/shared/format-utils/types/format-types.d.ts +16 -1
  213. package/package.json +6 -1
  214. package/dist/chunks/edit-dashboard-visual-BwJ2Eljw.cjs +0 -172
  215. package/dist/chunks/field-aggregations-jSi77h9Z.cjs +0 -1
  216. package/dist/chunks/index-DhlVxvyI.cjs +0 -4
  217. package/dist/chunks/index-DrOFJOCq.cjs +0 -1424
  218. package/dist/chunks/index-F25jnH0p.cjs +0 -1
  219. package/dist/chunks/matrix-formatter-BLunke3R.js +0 -424
  220. package/dist/chunks/matrix-formatter-CveLJo6S.cjs +0 -1
  221. package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +0 -1
  222. package/dist/chunks/pivot-header-presentation-Cxz8-06f.cjs +0 -5
  223. package/dist/chunks/pivot-header-presentation-Dm9dUQsl.js +0 -415
  224. package/dist/chunks/pivot-result-lifecycle-BiERyXnS.cjs +0 -1
  225. package/dist/chunks/raw-temporal-BUeTpG76.cjs +0 -1
  226. package/dist/chunks/semantic-format-BzH69TRq.cjs +0 -1
  227. package/dist/chunks/switch--Re1K566.cjs +0 -134
  228. package/dist/chunks/validators-DVYAnnX0.cjs +0 -1
@@ -0,0 +1,68 @@
1
+ import { MatrixLayoutReadResult } from '../../shared/dashboard-authoring/matrix-delivery.js';
2
+ import { buildMatrixDeliveryPayload } from './matrix-delivery.js';
3
+ import { DocumentTableRowFacts } from '../document/document-pagination.js';
4
+ import { FastPathTableStructure } from '../../shared/format-utils/table-structure.js';
5
+ import { ReportRuntimeContext } from '../../shared/report-runtime-context/index.js';
6
+ /** Matrix sections on one page read at most this many full results at once (tech spec G6). */
7
+ export declare const MATRIX_LAYOUT_READ_CONCURRENCY = 2;
8
+ /**
9
+ * The full Matrix result a Document section prints, from the delivery-authorized
10
+ * layout route (tech spec D-M1). Always resolves to the typed result; an abort
11
+ * rejects, so it is never kept as a result.
12
+ */
13
+ export declare function readMatrixLayout(input: {
14
+ apiServiceUrl: string;
15
+ token: string;
16
+ payload: ReturnType<typeof buildMatrixDeliveryPayload>;
17
+ signal: AbortSignal;
18
+ }): Promise<MatrixLayoutReadResult>;
19
+ /** How a printed row reads: its role and where it sits in the hierarchy. */
20
+ export type MatrixPrintRowKind = 'member'
21
+ /** A parent row in outline layout, heading its children. */
22
+ | 'group'
23
+ /** The subtotal of the innermost group level. */
24
+ | 'subtotal_inner'
25
+ /** The subtotal of an outer group level. */
26
+ | 'subtotal_outer' | 'grand_total';
27
+ export type MatrixPrintRow = {
28
+ kind: MatrixPrintRowKind;
29
+ /**
30
+ * Group labels this row hides because the row above shows them, by column
31
+ * index. A page that starts at this row repeats them, marked "(cont.)".
32
+ */
33
+ continuation?: Readonly<Record<number, string>>;
34
+ /**
35
+ * Indented layout: the parent header rows a page that starts at this row
36
+ * repeats, outermost first, already indented and marked "(cont.)".
37
+ */
38
+ continuationHeaders?: readonly string[];
39
+ };
40
+ /** A read as the page draws it: the formatted table and each row's print facts. */
41
+ export type DocumentMatrixRead = {
42
+ status: 'ok';
43
+ table: FastPathTableStructure;
44
+ rows: readonly MatrixPrintRow[];
45
+ /** Indented layout: the column that carries the row labels. */
46
+ hierarchyColumn?: number;
47
+ /**
48
+ * Column groups for bands (Plan 2, 2c): per column, the index of its
49
+ * group in `groups`, or `null` for a row-label column. A group is one
50
+ * column member (or total) with all its measures.
51
+ */
52
+ columnGroups: readonly (number | null)[];
53
+ /** Each group's label, as the header prints it ("Houston", "Grand Total"). */
54
+ groupLabels: readonly string[];
55
+ /** What bands name their groups by: the innermost column level, or "Measures". */
56
+ groupLevelLabel: string;
57
+ /** How the paginator may split these rows (Plan 2, L1 and L5). */
58
+ pageBreaks: DocumentTableRowFacts;
59
+ } | Extract<MatrixLayoutReadResult, {
60
+ status: 'failed';
61
+ }>;
62
+ /**
63
+ * Formats a read once, with the definition that ran. The Document section
64
+ * does this in its query, so every page slice shares one formatted table.
65
+ * The table is the one every Matrix PDF prints (`buildMatrixPrintTable`);
66
+ * this adds what only a Document uses, such as "(cont.)" labels.
67
+ */
68
+ export declare function formatMatrixLayoutRead(result: MatrixLayoutReadResult, report: ReportRuntimeContext): DocumentMatrixRead;
@@ -6,6 +6,7 @@ import { BuildCardQueryContextParams, CompiledCardQueryContext } from './build-c
6
6
  import { CompiledDashboardCardFilters } from './compile-dashboard-card-filters.js';
7
7
  import { DashboardInputResolveMode } from '../dashboard-inputs/resolve-dashboard-input-context.js';
8
8
  import { prepareMatrixCard, MatrixCardCatalog } from '../matrix-table/matrix-card-adapter.js';
9
+ import { DocumentSectionCardRuntime } from './document-section-card-query.js';
9
10
  export type DashboardExecutionSnapshot = {
10
11
  selectedSheetId: string | null;
11
12
  filterValues: TFilterValue[];
@@ -36,6 +37,12 @@ export type BuildDashboardCardExecutionSnapshotParams = Omit<BuildCardQueryConte
36
37
  /** Editor drafts replace their persisted card only for this computation. */
37
38
  cardOverride?: TCard;
38
39
  sheetId?: string | null;
40
+ /**
41
+ * Runs the target card as a Document section (tech spec G3), with the same
42
+ * rules as every section card's frame query. Other cards keep the dashboard
43
+ * runtime.
44
+ */
45
+ documentSection?: DocumentSectionCardRuntime;
39
46
  };
40
47
  export type DashboardCardExecutionSnapshot = {
41
48
  status: 'ready';
@@ -52,5 +59,5 @@ export type DashboardCardExecutionSnapshotResult = DashboardCardExecutionSnapsho
52
59
  message?: string;
53
60
  } | null;
54
61
  export declare function requireReadyDashboardCardExecutionSnapshot(result: DashboardCardExecutionSnapshotResult): DashboardCardExecutionSnapshot | null;
55
- export declare function buildDashboardCardExecutionSnapshot({ dashboard, cardId, transientContexts, cardViewStates, semanticExecutionPayload, filters, filterValues, inlineFilterValuesMap, dashboardControls, dashboardControlValues, cardControlValuesMap, dashboardInputValues, dashboardInputMode, timezone, matrixCatalog, cardOverride, sheetId, }: BuildDashboardCardExecutionSnapshotParams): DashboardCardExecutionSnapshotResult;
62
+ export declare function buildDashboardCardExecutionSnapshot({ dashboard, cardId, transientContexts, cardViewStates, semanticExecutionPayload, filters, filterValues, inlineFilterValuesMap, dashboardControls, dashboardControlValues, cardControlValuesMap, dashboardInputValues, dashboardInputMode, timezone, matrixCatalog, cardOverride, sheetId, documentSection, }: BuildDashboardCardExecutionSnapshotParams): DashboardCardExecutionSnapshotResult;
56
63
  export {};
@@ -3,6 +3,7 @@ import { TFilter, TFilterValue } from '../../components/surfboard/filter/types.j
3
3
  import { ControlDefinition, DashboardInputValues, TCard, TDashboard, TFrame } from '../types/common-types.js';
4
4
  import { TransientInputContext } from '../dashboard-inputs/transient-input-context.js';
5
5
  import { CardQueryContext } from './build-card-query-context.js';
6
+ import { CardExecution } from './card-execution.js';
6
7
  export type DashboardFrameDocumentQueryState = {
7
8
  isExplicitDocumentSectionRuntime: boolean;
8
9
  isDocumentSectionEditing: boolean;
@@ -41,7 +42,8 @@ export type BuildDashboardFrameBaseQueryContextsParams = {
41
42
  cardViewStates: CardViewStateMap | undefined;
42
43
  filteringCards?: TCard[];
43
44
  selectedSheetId?: string | null;
44
- isVisualEditing: boolean;
45
+ /** How this call's queries run (tech spec M7). */
46
+ execution: CardExecution;
45
47
  getCardFrame: (cardId: string) => TFrame | undefined;
46
48
  lastRequestPayloadMap?: Map<string, Record<string, unknown>>;
47
49
  documentState: DashboardFrameDocumentQueryState;
@@ -55,4 +57,4 @@ export type DashboardFrameBaseQueryContext = CardQueryContext & {
55
57
  missingRequiredInputLabels: string[];
56
58
  dashboardInputMissingRequiredLabels: string[];
57
59
  };
58
- export declare function buildDashboardFrameBaseQueryContexts({ cards, dashboard, filters, dashboardControls, filterValues, controlValues, dashboardInputValues, dashboardInlineFilterValuesMap, editorInlineFilterValuesMap, dashboardCardControlValuesMap, transientContexts, cardViewStates, filteringCards, selectedSheetId, isVisualEditing, getCardFrame, lastRequestPayloadMap, documentState, }: BuildDashboardFrameBaseQueryContextsParams): DashboardFrameBaseQueryContext[];
60
+ export declare function buildDashboardFrameBaseQueryContexts({ cards, dashboard, filters, dashboardControls, filterValues, controlValues, dashboardInputValues, dashboardInlineFilterValuesMap, editorInlineFilterValuesMap, dashboardCardControlValuesMap, transientContexts, cardViewStates, filteringCards, selectedSheetId, execution, getCardFrame, lastRequestPayloadMap, documentState, }: BuildDashboardFrameBaseQueryContextsParams): DashboardFrameBaseQueryContext[];
@@ -0,0 +1,30 @@
1
+ import { SemanticExecutionPayloadAuthority } from './use-semantic-execution-payload-for-cards.js';
2
+ /**
3
+ * How one card's query runs, decided once per card (tech spec M7). Every gate
4
+ * in `useDashboardFrameQuery` and the base query-context builder reads this
5
+ * instead of the global `isVisualEditing` flag.
6
+ */
7
+ export type CardExecution = {
8
+ /** The editor shows a failed query inline; a dashboard or report throws to its boundary. */
9
+ errorMode: 'throw' | 'inline';
10
+ refetchOnInterval: boolean;
11
+ /**
12
+ * `editor`: config cards run unless the editor is in dev mode, and dev mode
13
+ * uses the card's own connection. `runtime`: any card with a connection and
14
+ * SQL or a valid config runs.
15
+ */
16
+ gating: 'editor' | 'runtime';
17
+ /** `editor` waits for fresh semantic metadata before querying. */
18
+ metadataAuthority: SemanticExecutionPayloadAuthority;
19
+ /** `editorSnapshot`: the editor's inline filter values and the document inputs captured when it opened. */
20
+ inputSource: 'host' | 'editorSnapshot';
21
+ };
22
+ /**
23
+ * - `isEditorPreview`: the card renders inside `<Editor>`.
24
+ * - `requestedAuthority`: the caller's explicit choice. Inside the editor some
25
+ * components query with runtime metadata, so it is kept as is.
26
+ */
27
+ export declare function resolveCardExecution({ isEditorPreview, requestedAuthority, }: {
28
+ isEditorPreview: boolean;
29
+ requestedAuthority?: SemanticExecutionPayloadAuthority;
30
+ }): CardExecution;
@@ -0,0 +1,37 @@
1
+ import { TFilterValue } from '../../components/surfboard/filter/types.js';
2
+ import { DashboardInputRuntimeValues } from '../dashboard-inputs/resolve-dashboard-input-context.js';
3
+ import { ControlDefinition, DashboardInputValues, TCard, TDashboard } from '../types/common-types.js';
4
+ import { BuildCardQueryContextParams } from './build-card-query-context.js';
5
+ /** What a Document sheet resolved for one section, as one card's query sees it. */
6
+ export type DocumentSectionCardRuntime = {
7
+ sheetId: string | undefined;
8
+ sectionId: string | undefined;
9
+ documentFilterValues: TFilterValue[];
10
+ documentControlDefinitions: ControlDefinition[];
11
+ documentControlValues: Record<string, unknown>;
12
+ /** The page's own input values; the editor's query uses the dashboard's. */
13
+ documentDashboardInputValues?: DashboardInputValues;
14
+ /** The editor's card filters, for the editor's query of the card it edits. */
15
+ editorFilterValues?: TFilterValue[];
16
+ /** `editor` for the editor's query of the card it edits, else `print`. */
17
+ mode: 'print' | 'editor';
18
+ };
19
+ /**
20
+ * The `buildCardQueryContext` inputs for a card that runs as a Document
21
+ * section. A section is its own runtime:
22
+ * - nothing is carried in (no transient contexts, no drill state);
23
+ * - the dashboard's toolbar filters and controls do not apply;
24
+ * - the section's scoped dashboard inputs apply when the dashboard has any,
25
+ * otherwise the document's filter and control values do.
26
+ *
27
+ * The one owner of these rules, for frame queries and the Matrix execution
28
+ * snapshot alike.
29
+ */
30
+ export declare function buildDocumentSectionCardQueryParams({ card, dashboard, runtime, dashboardRuntimeValues, timezone, }: {
31
+ card: TCard;
32
+ dashboard: TDashboard;
33
+ runtime: DocumentSectionCardRuntime;
34
+ /** The dashboard's runtime values, which scoped input resolution reads. */
35
+ dashboardRuntimeValues: Omit<DashboardInputRuntimeValues, 'cardViewState'>;
36
+ timezone?: string;
37
+ }): Omit<BuildCardQueryContextParams, 'selectedSheetId' | 'includeAuthoredFilters'>;
@@ -6,6 +6,8 @@ import { DashboardAIContext } from '../types/assistant-types.js';
6
6
  import { FilterGroup, Field } from '../types/explorer-types.js';
7
7
  import { DashboardControlsModelOptions } from '../controls/control-authoring-types.js';
8
8
  import { SemanticExecutionPayload } from '../types/semantic-runtime-types.js';
9
+ import { DocumentPanelTarget } from '../document/document-panel-target.js';
10
+ import { DocumentEdit, DocumentEditResult } from '../document/document-edits.js';
9
11
  import { DocumentFilterMode } from '../document/document-input-runtime.js';
10
12
  import { DashboardInputRuntimeTarget } from '../dashboard-inputs/dashboard-input-values.js';
11
13
  import { DashboardFilterMappingAuthoringIssue, DashboardFilterInputAcceptanceResult, DashboardFilterMappingAcceptanceResult, DashboardFilterMappingAuthoringRequest, DashboardFilterMappingDisableResult } from '../dashboard-inputs/dashboard-filter-mapping-authoring.js';
@@ -61,8 +63,8 @@ export type DashboardStore = {
61
63
  selectedFrameId?: string | null;
62
64
  selectedCardId?: string | null;
63
65
  selectedCard?: TCard | null;
64
- selectedDocumentSectionIdsBySheetId: Record<string, string | null>;
65
- documentInspectorTabsBySheetId: Record<string, DocumentInspectorTab>;
66
+ /** What each Document sheet's side panel shows; also its section selection. */
67
+ documentPanelTargetBySheetId: Record<string, DocumentPanelTarget>;
66
68
  documentInputRuntimeBySheetId: Record<string, DocumentInputRuntimeState>;
67
69
  /**
68
70
  * Pending sheet-wide frame rewrites produced while visual editing. These stay
@@ -139,7 +141,6 @@ export type DashboardStore = {
139
141
  onRemoveCard?: (card: TCard, sheetId: string) => void;
140
142
  actions: Actions;
141
143
  };
142
- export type DocumentInspectorTab = 'section' | 'page' | 'header' | 'footer' | 'inputs';
143
144
  export type DocumentInputRuntimeState = {
144
145
  filterValuesByInputId: Record<string, TFilterValue | undefined>;
145
146
  filterModesByInputId: Record<string, DocumentFilterMode>;
@@ -227,11 +228,14 @@ type Actions = {
227
228
  deleteSheet: (sheetId: string) => void;
228
229
  setSheetTitle: (sheetId: string, title: string) => void;
229
230
  updateSheetDocument: (sheetId: string, updater: (document: DocumentDefinition) => DocumentDefinition) => void;
230
- updateDocumentSectionCard: (sheetId: string, sectionId: string, card: TCard, options?: {
231
- calculatedFields?: Field[];
232
- }) => void;
233
- setSelectedDocumentSectionId: (sheetId: string, sectionId: string | null) => void;
234
- setDocumentInspectorTab: (sheetId: string, tab: DocumentInspectorTab) => void;
231
+ /**
232
+ * The one write for a Document's sections (see `applyDocumentEdit`).
233
+ * Persists the edited document, any sheet calculated fields a copy brought,
234
+ * and card reference cleanup. Throws `DocumentEditError` for a refused edit
235
+ * without changing state.
236
+ */
237
+ editDocument: (sheetId: string, edit: DocumentEdit) => DocumentEditResult;
238
+ setDocumentPanelTarget: (sheetId: string, target: DocumentPanelTarget) => void;
235
239
  setDocumentInputFilterValues: (sheetId: string, valuesByInputId: Record<string, TFilterValue | undefined>) => void;
236
240
  setDocumentInputFilterValue: (sheetId: string, inputId: string, filterValue: TFilterValue) => void;
237
241
  removeDocumentInputFilterValue: (sheetId: string, inputId: string) => void;
@@ -28,6 +28,8 @@ export type EditorContext = {
28
28
  sheetId: string;
29
29
  sectionId: string;
30
30
  cardId: string;
31
+ /** The card type at open. The section's kind cannot change in the editor. */
32
+ lockedKind: TChartType;
31
33
  documentFilterValues?: TFilterValue[];
32
34
  documentControlDefinitions?: ControlDefinition[];
33
35
  documentControlValues?: Record<string, unknown>;
@@ -10,6 +10,7 @@ export type TableFieldLookup = {
10
10
  fieldRole?: QueryColumnKeyRole;
11
11
  columnKeyMap?: QueryColumnKeyMap;
12
12
  };
13
+ /** True when the field authors a format for numeric values (numeric or duration). */
13
14
  export declare function hasNumericFieldFormat(field: Pick<PresentationField, 'format'> | undefined): boolean;
14
15
  /** Resolve identity before presentation. A supplied map is authoritative; names
15
16
  * and labels are only a unique-match adapter for results without bindings. */
@@ -0,0 +1,39 @@
1
+ /** What kind of value a variable holds; picks the chip's icon. */
2
+ export type TextVariableKind = 'filter' | 'date' | 'control' | 'report';
3
+ /** How one variable reference reads as a chip. */
4
+ export type TextVariableChipFace = {
5
+ /** The input's name ("State"), or "Missing input". */
6
+ name: string;
7
+ kind: TextVariableKind;
8
+ /** Shown after the name when the chip shows a part other than the default. */
9
+ partLabel?: string;
10
+ /** The reference points at an input that no longer exists. */
11
+ missing?: boolean;
12
+ };
13
+ /** One part of an input a chip can show, with what it holds now. */
14
+ export type TextVariablePart = {
15
+ key: string;
16
+ label: string;
17
+ preview?: string;
18
+ };
19
+ /** One input (or report value) the picker offers. */
20
+ export type TextVariableOption = {
21
+ id: string;
22
+ name: string;
23
+ kind: TextVariableKind;
24
+ parts: TextVariablePart[];
25
+ defaultPart: string;
26
+ };
27
+ /** What a chip shows: an option and one of its parts. */
28
+ export type TextVariableSelection = {
29
+ optionId: string;
30
+ part: string;
31
+ };
32
+ export declare const TEXT_VARIABLE_PART_LABELS: Record<string, string>;
33
+ /** The picker's groups, in order. */
34
+ export declare function textVariableGroup(kind: TextVariableKind): "Filters" | "Controls" | "Report";
35
+ /**
36
+ * Options whose name matches `query`, in the picker's order: filters, then
37
+ * controls, then report values.
38
+ */
39
+ export declare function filterTextVariableOptions(options: readonly TextVariableOption[], query: string): TextVariableOption[];
@@ -1435,7 +1435,7 @@ export type DocumentTextStyle = {
1435
1435
  color?: string;
1436
1436
  align?: 'left' | 'center' | 'right';
1437
1437
  };
1438
- export type DocumentSection = DocumentTextSection | DocumentTableSection | DocumentChartSection | DocumentSpacerSection | DocumentPageBreakSection;
1438
+ export type DocumentSection = DocumentTextSection | DocumentTableSection | DocumentKpiSection | DocumentChartSection | DocumentSpacerSection | DocumentPageBreakSection;
1439
1439
  export type DocumentTextSection = {
1440
1440
  id: string;
1441
1441
  type: 'text';
@@ -1452,6 +1452,39 @@ export type DocumentTableSection = {
1452
1452
  columnFormatting?: Record<string, unknown>;
1453
1453
  repeatHeaderOnPageBreak?: boolean;
1454
1454
  rowHeightPx?: number;
1455
+ /** Print nothing, and take no space, while the result is empty (Plan 2). */
1456
+ hideWhenEmpty?: boolean;
1457
+ /** Matrix sections only: how the Document prints the Matrix (Plan 2). */
1458
+ matrix?: {
1459
+ /** `tabular`: one column per row level. `outline`: one indented column. */
1460
+ rowLabels?: 'tabular' | 'outline';
1461
+ /** Where each group's subtotal prints. */
1462
+ subtotals?: 'after' | 'before';
1463
+ /**
1464
+ * A Matrix too wide for the page prints in column bands. `across`: each
1465
+ * slice of rows prints in every band before the next slice. `down`:
1466
+ * each band runs through every row before the next band.
1467
+ */
1468
+ bandOrder?: 'across' | 'down';
1469
+ };
1470
+ };
1471
+ };
1472
+ /**
1473
+ * Headline numbers. Each card is an ordinary `kpi` card with its own query.
1474
+ * Read and rewrite its cards through `getDocumentSectionCards` and
1475
+ * `mapDocumentSectionCards` (`react-semaphor/dashboard-authoring`).
1476
+ */
1477
+ export type DocumentKpiSection = {
1478
+ id: string;
1479
+ type: 'kpi';
1480
+ title?: string;
1481
+ /** 1 to 8 cards, each `card.type === 'kpi'`, with unique ids. Order is display order. */
1482
+ cards: TCard[];
1483
+ kpi: {
1484
+ /** `tiles` holds at most 6 cards; a section with more uses `lines`. */
1485
+ layout: 'tiles' | 'lines';
1486
+ /** Used by `lines`, default 2. Kept but ignored on `tiles`. */
1487
+ columns?: 1 | 2;
1455
1488
  };
1456
1489
  };
1457
1490
  export type DocumentChartSection = {
@@ -43,6 +43,7 @@ export declare function getCardDefinition(card: DefinitionCard, catalog?: Matrix
43
43
  position: "before" | "after";
44
44
  label?: string | undefined;
45
45
  }>>;
46
+ skipRedundant?: boolean | undefined;
46
47
  };
47
48
  rows: {
48
49
  grand: {
@@ -55,6 +56,7 @@ export declare function getCardDefinition(card: DefinitionCard, catalog?: Matrix
55
56
  position: "before" | "after";
56
57
  label?: string | undefined;
57
58
  }>>;
59
+ skipRedundant?: boolean | undefined;
58
60
  };
59
61
  };
60
62
  layout: {
@@ -2,19 +2,20 @@ import { TDashboard, TCard, TSheet } from '../types/common-types.js';
2
2
  export type DashboardCardEntry = {
3
3
  card: TCard;
4
4
  sheet: TSheet;
5
- };
6
- export declare function getDashboardCardEntries(dashboard: Pick<TDashboard, 'sheets'>): DashboardCardEntry[];
7
- export type DashboardCardLocation = DashboardCardEntry & {
8
- /** Set when the card is the visual of a document section. */
5
+ /** Set when the card sits in a frame. */
6
+ frameId?: string;
7
+ /** Set when the card belongs to a document section (a section may own several cards). */
9
8
  sectionId?: string;
10
9
  };
10
+ /** Dashboard cards: sheet cards and frame cards. Document section cards are not included. */
11
+ export declare function getDashboardCardEntries(dashboard: Pick<TDashboard, 'sheets'>): DashboardCardEntry[];
11
12
  /**
12
13
  * Every card a dashboard hosts, with where it sits: sheet cards, frame cards,
13
- * and the table or chart of a document section. Use this, not
14
+ * and every card of a document section. Use this, not
14
15
  * `getDashboardCardEntries`, when a card may be reached by a scope that names
15
16
  * document sections.
16
17
  */
17
- export declare function getDashboardCardLocations(dashboard: Pick<TDashboard, 'sheets'>): DashboardCardLocation[];
18
+ export declare function getDashboardCardLocations(dashboard: Pick<TDashboard, 'sheets'>): DashboardCardEntry[];
18
19
  export declare function getDashboardCards(dashboard: Pick<TDashboard, 'sheets'>): TCard[];
19
20
  /**
20
21
  * Check if a card ID is unique across the entire dashboard
@@ -53,6 +54,12 @@ export declare function getAllCardIds(dashboard: TDashboard): string[];
53
54
  * @returns The card if found, undefined otherwise
54
55
  */
55
56
  export declare function findCardById(dashboard: TDashboard, cardId: string): TCard | undefined;
57
+ /**
58
+ * A dashboard card (sheet or frame) by id. Document section cards are not
59
+ * included: they need their section for input resolution, so they are found
60
+ * through section-aware lookups (for example the dashboard input snapshot's
61
+ * section targets). Phase 1.2 routes KPI card execution through those.
62
+ */
56
63
  export declare function findCardLocationById(dashboard: TDashboard, cardId: string): {
57
64
  card: TCard;
58
65
  sheet: TSheet;
@@ -8,9 +8,13 @@ import { CalendarContext, WeekStart } from '../types/token-types.js';
8
8
  * @returns A Date object representing midnight in the specified timezone
9
9
  *
10
10
  * @example
11
- * // User in PST selects Nov 18, 2025
12
- * startOfDayInTimezone(new Date('2025-11-18'), 'America/Los_Angeles')
11
+ * // Nov 18, 2025 14:30 PST
12
+ * startOfDayInTimezone(new Date('2025-11-18T22:30:00Z'), 'America/Los_Angeles')
13
13
  * // Returns a Date that serializes to: 2025-11-18T08:00:00.000Z (Nov 18 00:00 PST)
14
+ *
15
+ * Do not pass `new Date('YYYY-MM-DD')`: that is UTC midnight, which is the
16
+ * previous day in zones west of UTC. Use `parseFilterDateValue` for
17
+ * date-only strings.
14
18
  */
15
19
  export declare const startOfDayInTimezone: (date: Date, timezone: string) => Date;
16
20
  /**
@@ -22,11 +26,29 @@ export declare const startOfDayInTimezone: (date: Date, timezone: string) => Dat
22
26
  * @returns A Date object representing 23:59:59.999 in the specified timezone
23
27
  *
24
28
  * @example
25
- * // User in PST selects Nov 20, 2025
26
- * endOfDayInTimezone(new Date('2025-11-20'), 'America/Los_Angeles')
29
+ * // Nov 20, 2025 14:30 PST
30
+ * endOfDayInTimezone(new Date('2025-11-20T22:30:00Z'), 'America/Los_Angeles')
27
31
  * // Returns a Date that serializes to: 2025-11-21T07:59:59.999Z (Nov 20 23:59:59 PST)
28
32
  */
29
33
  export declare const endOfDayInTimezone: (date: Date, timezone: string) => Date;
34
+ /**
35
+ * Parses a stored date filter value into the instant the date pickers would
36
+ * have written for it.
37
+ *
38
+ * Filter values are usually instants, but date-only strings (`YYYY-MM-DD`)
39
+ * also arrive from SDK/embed defaults, generated dashboards and inputs. A
40
+ * date-only string names a calendar day, not an instant: it maps to the start
41
+ * (or, for an upper bound, the end) of that day in `timezone`, exactly as
42
+ * `startOfDayInTimezone` / `endOfDayInTimezone` produce for a picked day.
43
+ * `new Date('YYYY-MM-DD')` would instead give UTC midnight, which displays as
44
+ * the previous day in zones west of UTC.
45
+ *
46
+ * Everything else parses as an instant. Returns undefined for empty or
47
+ * unparseable values, including `YYYY-MM-DD` strings that name no calendar
48
+ * day (which `new Date` would silently roll into the next month). A missing timezone falls back to the browser zone, as
49
+ * `getEffectiveTimezone` does.
50
+ */
51
+ export declare const parseFilterDateValue: (value: unknown, timezone: string | null | undefined, bound?: "start" | "end") => Date | undefined;
30
52
  /**
31
53
  * Gets the start of week (midnight) for a date in the specified timezone.
32
54
  *
@@ -0,0 +1,2 @@
1
+ export * from './shared/format-utils/pdf-table-layout/index.js'
2
+ export {}
@@ -26,7 +26,7 @@ export * from './matrix-window-contract.js';
26
26
  export * from './matrix-member-presentation.js';
27
27
  export { matrixFormattingRoleSchema, type MatrixFormattingRole } from './matrix-path-contract.js';
28
28
  export { getMatrixAnalyticalDefinition } from './matrix-analytical-definition.js';
29
- export { matrixAxisSchema, matrixAggregateSchema, matrixFieldSchema, matrixLevelSchema, matrixMeasureSchema, matrixMemberSchema, matrixPathSchema, matrixCoordinateSchema, matrixSortTargetSchema, matrixSortSchema, matrixRankingSchema, matrixPathKey, matrixSortKey, matrixSpecSchema, matrixTotalPresentationSchema, matrixPresentationSchema, matrixExpansionSchema, matrixDefaultViewSchema, matrixViewStateSchema, matrixDefinitionInputSchema, matrixConfigSchema, matrixExportRequestSchema, } from './matrix-definition-contract.js';
29
+ export { matrixAxisSchema, matrixAggregateSchema, matrixFieldSchema, matrixLevelSchema, matrixMeasureSchema, matrixMemberSchema, matrixPathSchema, matrixCoordinateSchema, matrixSortTargetSchema, matrixSortSchema, matrixRankingSchema, matrixPathKey, matrixSortKey, matrixSpecSchema, matrixTotalPresentationSchema, MATRIX_TOTAL_MEMBER_PLACEHOLDER, matrixPresentationSchema, matrixExpansionSchema, matrixDefaultViewSchema, matrixViewStateSchema, matrixDefinitionInputSchema, matrixConfigSchema, matrixExportRequestSchema, } from './matrix-definition-contract.js';
30
30
  export type { MatrixLevelId, MatrixMeasureId, MatrixAxis, MatrixAggregate, MatrixField, MatrixLevel, MatrixMeasure, MatrixMember, MatrixPath, MatrixCoordinate, MatrixSortTarget, MatrixSort, MatrixRanking, MatrixSpec, MatrixTotalPresentation, MatrixPresentation, MatrixExpansion, MatrixViewState, MatrixConfig, MatrixDefinitionInput, MatrixExportRequest, } from './matrix-definition-contract.js';
31
31
  export * from './matrix-operation-contract.js';
32
32
  export { configSourceRefSchema } from './execution-input-schemas.js';