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
@@ -5,8 +5,16 @@ import { FastPathTableStructure } from './table-structure.js';
5
5
  export declare function prepareMatrixExportPresentation(layout: MatrixExportLayout, request: MatrixExportRequest, report: ReportRuntimeContext): {
6
6
  headers: string[];
7
7
  headerBands: string[][];
8
- row: (data: MatrixExportRow) => string[];
9
8
  numericColumns: boolean[];
9
+ /** A row's cells; after `previous`, a tabular layout prints each label once. */
10
+ row: (data: MatrixExportRow, previous?: MatrixExportRow) => string[];
11
+ /**
12
+ * Level columns whose group label the row above shows, so this row
13
+ * continues the group (Plan 2, 2d, C8). Only a member row after a member
14
+ * row continues one: a total prints as a band, and its rules stay whole
15
+ * above and below it.
16
+ */
17
+ continuedColumns: (data: MatrixExportRow, previous?: MatrixExportRow) => number[];
10
18
  csvRow: (data: MatrixExportRow) => string[];
11
19
  csvRows: (data: readonly MatrixExportRow[]) => string[][];
12
20
  };
@@ -20,3 +28,684 @@ export declare function buildMatrixTableStructure(input: {
20
28
  rows: readonly MatrixExportRow[];
21
29
  report: ReportRuntimeContext;
22
30
  }): FastPathTableStructure;
31
+ /**
32
+ * The table every Matrix PDF prints, Documents and the single-card PDF alike
33
+ * (Plan 2, 2d, C3). Unformatted numbers get the print defaults, each label
34
+ * prints once as the layout asks, each row says whether it keeps with the row
35
+ * before it (P6), and the metadata names the column groups bands keep
36
+ * together. `request` carries the print presentation the table was formatted
37
+ * with. The row organization is the caller's (`applyMatrixPrintOrganization`),
38
+ * because it decides which rows the traversal returns.
39
+ */
40
+ export declare function buildMatrixPrintTable(input: {
41
+ layout: MatrixExportLayout;
42
+ request: MatrixExportRequest;
43
+ rows: readonly MatrixExportRow[];
44
+ report: ReportRuntimeContext;
45
+ }): {
46
+ columnGroups: (number | null)[];
47
+ groupLabels: string[];
48
+ /** What bands name their groups by: the innermost column level, or "Measures". */
49
+ groupLevelLabel: string;
50
+ request: {
51
+ presentation: {
52
+ totals: {
53
+ columns: {
54
+ grand: {
55
+ visible: boolean;
56
+ position: "before" | "after";
57
+ label?: string | undefined;
58
+ };
59
+ levels: Readonly<Record<string, {
60
+ visible: boolean;
61
+ position: "before" | "after";
62
+ label?: string | undefined;
63
+ }>>;
64
+ skipRedundant?: boolean | undefined;
65
+ };
66
+ rows: {
67
+ grand: {
68
+ visible: boolean;
69
+ position: "before" | "after";
70
+ label?: string | undefined;
71
+ };
72
+ levels: Readonly<Record<string, {
73
+ visible: boolean;
74
+ position: "before" | "after";
75
+ label?: string | undefined;
76
+ }>>;
77
+ skipRedundant?: boolean | undefined;
78
+ };
79
+ };
80
+ layout: {
81
+ kind: "compact";
82
+ } | {
83
+ kind: "tabular";
84
+ repeatLabels: boolean;
85
+ };
86
+ absence: {
87
+ emptyText: string;
88
+ nullText: string;
89
+ };
90
+ levelLabels: Readonly<Record<string, string>>;
91
+ measureLabels: Readonly<Record<string, string>>;
92
+ levelFormats: Readonly<Record<string, import('../analytics-protocol/index.js').TemporalBucketFormat | {
93
+ type: "date" | "datetime";
94
+ pattern?: string | undefined;
95
+ locale?: string | undefined;
96
+ prefix?: string | undefined;
97
+ suffix?: string | undefined;
98
+ relative?: boolean | undefined;
99
+ timezone?: string | undefined;
100
+ sourceTimezone?: string | undefined;
101
+ } | {
102
+ type: "duration";
103
+ prefix?: string | undefined;
104
+ suffix?: string | undefined;
105
+ negativeStyle?: "minus" | "parentheses" | undefined;
106
+ inputUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
107
+ outputStyle?: "compact" | "digital" | "long" | undefined;
108
+ largestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
109
+ smallestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
110
+ maxUnits?: number | undefined;
111
+ } | {
112
+ type: "string";
113
+ prefix?: string | undefined;
114
+ suffix?: string | undefined;
115
+ } | {
116
+ type: "number" | "currency" | "percent" | "percentage" | "scientific";
117
+ currency?: string | undefined;
118
+ minimumFractionDigits?: number | undefined;
119
+ maximumFractionDigits?: number | undefined;
120
+ useGrouping?: boolean | undefined;
121
+ prefix?: string | undefined;
122
+ suffix?: string | undefined;
123
+ negativeStyle?: "minus" | "parentheses" | undefined;
124
+ compact?: boolean | undefined;
125
+ scale?: number | undefined;
126
+ percentValueMode?: "fraction" | "whole" | undefined;
127
+ }>>;
128
+ measureFormats: Readonly<Record<string, import('../analytics-protocol/index.js').TemporalBucketFormat | {
129
+ type: "date" | "datetime";
130
+ pattern?: string | undefined;
131
+ locale?: string | undefined;
132
+ prefix?: string | undefined;
133
+ suffix?: string | undefined;
134
+ relative?: boolean | undefined;
135
+ timezone?: string | undefined;
136
+ sourceTimezone?: string | undefined;
137
+ } | {
138
+ type: "duration";
139
+ prefix?: string | undefined;
140
+ suffix?: string | undefined;
141
+ negativeStyle?: "minus" | "parentheses" | undefined;
142
+ inputUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
143
+ outputStyle?: "compact" | "digital" | "long" | undefined;
144
+ largestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
145
+ smallestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
146
+ maxUnits?: number | undefined;
147
+ } | {
148
+ type: "string";
149
+ prefix?: string | undefined;
150
+ suffix?: string | undefined;
151
+ } | {
152
+ type: "number" | "currency" | "percent" | "percentage" | "scientific";
153
+ currency?: string | undefined;
154
+ minimumFractionDigits?: number | undefined;
155
+ maximumFractionDigits?: number | undefined;
156
+ useGrouping?: boolean | undefined;
157
+ prefix?: string | undefined;
158
+ suffix?: string | undefined;
159
+ negativeStyle?: "minus" | "parentheses" | undefined;
160
+ compact?: boolean | undefined;
161
+ scale?: number | undefined;
162
+ percentValueMode?: "fraction" | "whole" | undefined;
163
+ }>>;
164
+ conditionalFormatting?: {
165
+ version: 1;
166
+ rules: {
167
+ id: string;
168
+ target: {
169
+ level: "row" | "cell";
170
+ matrix?: {
171
+ axis: "columns" | "rows";
172
+ levelId?: string | undefined;
173
+ oppositePath?: {
174
+ member: {
175
+ value: string | number | boolean | {
176
+ value: string;
177
+ type: "integer" | "decimal";
178
+ kind: "exact_number";
179
+ } | null;
180
+ kind: "value";
181
+ } | {
182
+ kind: "others";
183
+ rankingId: string;
184
+ };
185
+ levelId: string;
186
+ }[] | undefined;
187
+ } | undefined;
188
+ columnIds?: string[] | undefined;
189
+ conditionColumnId?: string | undefined;
190
+ applyToColumnIds?: string[] | undefined;
191
+ tableParts?: ("subtotal" | "body" | "header" | "footer" | "grandTotal")[] | undefined;
192
+ rowRoles?: ("member" | "subtotal" | "grand_total" | "others")[] | undefined;
193
+ depth?: number | undefined;
194
+ includeTotals?: boolean | undefined;
195
+ includeSubtotals?: boolean | undefined;
196
+ };
197
+ condition: {
198
+ value: string | number | boolean | {
199
+ value: string;
200
+ type: "integer" | "decimal";
201
+ kind: "exact_number";
202
+ } | null;
203
+ kind: "comparison";
204
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte";
205
+ columnId: string;
206
+ } | {
207
+ kind: "between";
208
+ columnId: string;
209
+ min: string | number | boolean | {
210
+ value: string;
211
+ type: "integer" | "decimal";
212
+ kind: "exact_number";
213
+ } | null;
214
+ max: string | number | boolean | {
215
+ value: string;
216
+ type: "integer" | "decimal";
217
+ kind: "exact_number";
218
+ } | null;
219
+ inclusive?: boolean | undefined;
220
+ } | {
221
+ kind: "blank";
222
+ columnId: string;
223
+ isBlank: boolean;
224
+ } | {
225
+ value: string;
226
+ kind: "contains";
227
+ columnId: string;
228
+ exact?: boolean | undefined;
229
+ caseSensitive?: boolean | undefined;
230
+ } | {
231
+ kind: "topBottom";
232
+ count: number;
233
+ columnId: string;
234
+ direction: "top" | "bottom";
235
+ } | {
236
+ kind: "colorScale";
237
+ columnId: string;
238
+ range: "auto" | "manual";
239
+ colors: {
240
+ min: string;
241
+ max: string;
242
+ mid?: string | undefined;
243
+ };
244
+ min?: number | undefined;
245
+ max?: number | undefined;
246
+ mid?: number | undefined;
247
+ } | {
248
+ kind: "dataBar";
249
+ columnId: string;
250
+ range: "auto" | "manual";
251
+ color: string;
252
+ min?: number | undefined;
253
+ max?: number | undefined;
254
+ showValue?: boolean | undefined;
255
+ };
256
+ name?: string | undefined;
257
+ enabled?: boolean | undefined;
258
+ style?: {
259
+ dataBar?: {
260
+ color: string;
261
+ showValue: boolean;
262
+ } | undefined;
263
+ backgroundColor?: string | undefined;
264
+ textColor?: string | undefined;
265
+ fontWeight?: "normal" | "medium" | "semibold" | "bold" | undefined;
266
+ italic?: boolean | undefined;
267
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
268
+ icon?: "arrowUp" | "arrowDown" | "warning" | "check" | "x" | undefined;
269
+ } | undefined;
270
+ }[];
271
+ } | undefined;
272
+ };
273
+ mode: "layout";
274
+ format: "csv" | "xlsx" | "pdf";
275
+ spec: {
276
+ source: {
277
+ kind: "semantic";
278
+ domainId: string;
279
+ datasetName: string;
280
+ datasetId?: string | undefined;
281
+ label?: string | undefined;
282
+ connectionId?: string | undefined;
283
+ } | {
284
+ kind: "physical";
285
+ connectionId: string;
286
+ tableName: string;
287
+ label?: string | undefined;
288
+ connectionType?: string | undefined;
289
+ databaseName?: string | undefined;
290
+ schemaName?: string | undefined;
291
+ dialect?: "postgres" | "mysql" | "mssql" | "snowflake" | "clickhouse" | "bigquery" | "redshift" | "duckdb" | "sqlite" | "unknown" | undefined;
292
+ };
293
+ columns: readonly import('../analytics-protocol/index.js').MatrixLevel[];
294
+ measures: readonly ({
295
+ id: string;
296
+ kind: "aggregate";
297
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
298
+ field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
299
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
300
+ derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
301
+ inputs: Record<string, {
302
+ kind: "field";
303
+ field: Omit<import('../analytics-protocol/index.js').SemaphorFieldRef, "source"> & {
304
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
305
+ };
306
+ aggregate?: import('../analytics-protocol/index.js').SemaphorAggregateFunction;
307
+ }>;
308
+ };
309
+ };
310
+ } | {
311
+ id: string;
312
+ kind: "calculated";
313
+ definition: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
314
+ inputs: Record<string, {
315
+ kind: "field";
316
+ field: Omit<import('../analytics-protocol/index.js').SemaphorFieldRef, "source"> & {
317
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
318
+ };
319
+ aggregate?: import('../analytics-protocol/index.js').SemaphorAggregateFunction;
320
+ }>;
321
+ };
322
+ })[];
323
+ rows: readonly import('../analytics-protocol/index.js').MatrixLevel[];
324
+ sorts: readonly {
325
+ target: import('../analytics-protocol/index.js').MatrixSortTarget;
326
+ scope: {
327
+ kind: "level";
328
+ } | {
329
+ kind: "branch";
330
+ parent: readonly {
331
+ member: {
332
+ value: string | number | boolean | {
333
+ value: string;
334
+ type: "integer" | "decimal";
335
+ kind: "exact_number";
336
+ } | null;
337
+ kind: "value";
338
+ } | {
339
+ kind: "others";
340
+ rankingId: string;
341
+ };
342
+ levelId: string;
343
+ }[];
344
+ };
345
+ levelId: string;
346
+ axis: "columns" | "rows";
347
+ direction: "asc" | "desc";
348
+ nulls: "first" | "last";
349
+ }[];
350
+ rankings: readonly import('../analytics-protocol/index.js').MatrixRanking[];
351
+ filters?: import('../../components/index.js').FilterGroup | undefined;
352
+ joinPlan?: import('../../components/index.js').JoinPlan | undefined;
353
+ relationshipHint?: {
354
+ relationshipIds?: string[] | undefined;
355
+ } | undefined;
356
+ };
357
+ expansion: {
358
+ kind: "current";
359
+ columns: {
360
+ depth: number;
361
+ overrides: readonly {
362
+ path: readonly {
363
+ member: {
364
+ value: string | number | boolean | {
365
+ value: string;
366
+ type: "integer" | "decimal";
367
+ kind: "exact_number";
368
+ } | null;
369
+ kind: "value";
370
+ } | {
371
+ kind: "others";
372
+ rankingId: string;
373
+ };
374
+ levelId: string;
375
+ }[];
376
+ expanded: boolean;
377
+ }[];
378
+ };
379
+ rows: {
380
+ depth: number;
381
+ overrides: readonly {
382
+ path: readonly {
383
+ member: {
384
+ value: string | number | boolean | {
385
+ value: string;
386
+ type: "integer" | "decimal";
387
+ kind: "exact_number";
388
+ } | null;
389
+ kind: "value";
390
+ } | {
391
+ kind: "others";
392
+ rankingId: string;
393
+ };
394
+ levelId: string;
395
+ }[];
396
+ expanded: boolean;
397
+ }[];
398
+ };
399
+ } | {
400
+ kind: "all";
401
+ };
402
+ } | {
403
+ presentation: {
404
+ totals: {
405
+ columns: {
406
+ grand: {
407
+ visible: boolean;
408
+ position: "before" | "after";
409
+ label?: string | undefined;
410
+ };
411
+ levels: Readonly<Record<string, {
412
+ visible: boolean;
413
+ position: "before" | "after";
414
+ label?: string | undefined;
415
+ }>>;
416
+ skipRedundant?: boolean | undefined;
417
+ };
418
+ rows: {
419
+ grand: {
420
+ visible: boolean;
421
+ position: "before" | "after";
422
+ label?: string | undefined;
423
+ };
424
+ levels: Readonly<Record<string, {
425
+ visible: boolean;
426
+ position: "before" | "after";
427
+ label?: string | undefined;
428
+ }>>;
429
+ skipRedundant?: boolean | undefined;
430
+ };
431
+ };
432
+ layout: {
433
+ kind: "compact";
434
+ } | {
435
+ kind: "tabular";
436
+ repeatLabels: boolean;
437
+ };
438
+ absence: {
439
+ emptyText: string;
440
+ nullText: string;
441
+ };
442
+ levelLabels: Readonly<Record<string, string>>;
443
+ measureLabels: Readonly<Record<string, string>>;
444
+ levelFormats: Readonly<Record<string, import('../analytics-protocol/index.js').TemporalBucketFormat | {
445
+ type: "date" | "datetime";
446
+ pattern?: string | undefined;
447
+ locale?: string | undefined;
448
+ prefix?: string | undefined;
449
+ suffix?: string | undefined;
450
+ relative?: boolean | undefined;
451
+ timezone?: string | undefined;
452
+ sourceTimezone?: string | undefined;
453
+ } | {
454
+ type: "duration";
455
+ prefix?: string | undefined;
456
+ suffix?: string | undefined;
457
+ negativeStyle?: "minus" | "parentheses" | undefined;
458
+ inputUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
459
+ outputStyle?: "compact" | "digital" | "long" | undefined;
460
+ largestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
461
+ smallestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
462
+ maxUnits?: number | undefined;
463
+ } | {
464
+ type: "string";
465
+ prefix?: string | undefined;
466
+ suffix?: string | undefined;
467
+ } | {
468
+ type: "number" | "currency" | "percent" | "percentage" | "scientific";
469
+ currency?: string | undefined;
470
+ minimumFractionDigits?: number | undefined;
471
+ maximumFractionDigits?: number | undefined;
472
+ useGrouping?: boolean | undefined;
473
+ prefix?: string | undefined;
474
+ suffix?: string | undefined;
475
+ negativeStyle?: "minus" | "parentheses" | undefined;
476
+ compact?: boolean | undefined;
477
+ scale?: number | undefined;
478
+ percentValueMode?: "fraction" | "whole" | undefined;
479
+ }>>;
480
+ measureFormats: Readonly<Record<string, import('../analytics-protocol/index.js').TemporalBucketFormat | {
481
+ type: "date" | "datetime";
482
+ pattern?: string | undefined;
483
+ locale?: string | undefined;
484
+ prefix?: string | undefined;
485
+ suffix?: string | undefined;
486
+ relative?: boolean | undefined;
487
+ timezone?: string | undefined;
488
+ sourceTimezone?: string | undefined;
489
+ } | {
490
+ type: "duration";
491
+ prefix?: string | undefined;
492
+ suffix?: string | undefined;
493
+ negativeStyle?: "minus" | "parentheses" | undefined;
494
+ inputUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
495
+ outputStyle?: "compact" | "digital" | "long" | undefined;
496
+ largestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
497
+ smallestUnit?: "second" | "minute" | "hour" | "day" | "millisecond" | undefined;
498
+ maxUnits?: number | undefined;
499
+ } | {
500
+ type: "string";
501
+ prefix?: string | undefined;
502
+ suffix?: string | undefined;
503
+ } | {
504
+ type: "number" | "currency" | "percent" | "percentage" | "scientific";
505
+ currency?: string | undefined;
506
+ minimumFractionDigits?: number | undefined;
507
+ maximumFractionDigits?: number | undefined;
508
+ useGrouping?: boolean | undefined;
509
+ prefix?: string | undefined;
510
+ suffix?: string | undefined;
511
+ negativeStyle?: "minus" | "parentheses" | undefined;
512
+ compact?: boolean | undefined;
513
+ scale?: number | undefined;
514
+ percentValueMode?: "fraction" | "whole" | undefined;
515
+ }>>;
516
+ conditionalFormatting?: {
517
+ version: 1;
518
+ rules: {
519
+ id: string;
520
+ target: {
521
+ level: "row" | "cell";
522
+ matrix?: {
523
+ axis: "columns" | "rows";
524
+ levelId?: string | undefined;
525
+ oppositePath?: {
526
+ member: {
527
+ value: string | number | boolean | {
528
+ value: string;
529
+ type: "integer" | "decimal";
530
+ kind: "exact_number";
531
+ } | null;
532
+ kind: "value";
533
+ } | {
534
+ kind: "others";
535
+ rankingId: string;
536
+ };
537
+ levelId: string;
538
+ }[] | undefined;
539
+ } | undefined;
540
+ columnIds?: string[] | undefined;
541
+ conditionColumnId?: string | undefined;
542
+ applyToColumnIds?: string[] | undefined;
543
+ tableParts?: ("subtotal" | "body" | "header" | "footer" | "grandTotal")[] | undefined;
544
+ rowRoles?: ("member" | "subtotal" | "grand_total" | "others")[] | undefined;
545
+ depth?: number | undefined;
546
+ includeTotals?: boolean | undefined;
547
+ includeSubtotals?: boolean | undefined;
548
+ };
549
+ condition: {
550
+ value: string | number | boolean | {
551
+ value: string;
552
+ type: "integer" | "decimal";
553
+ kind: "exact_number";
554
+ } | null;
555
+ kind: "comparison";
556
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte";
557
+ columnId: string;
558
+ } | {
559
+ kind: "between";
560
+ columnId: string;
561
+ min: string | number | boolean | {
562
+ value: string;
563
+ type: "integer" | "decimal";
564
+ kind: "exact_number";
565
+ } | null;
566
+ max: string | number | boolean | {
567
+ value: string;
568
+ type: "integer" | "decimal";
569
+ kind: "exact_number";
570
+ } | null;
571
+ inclusive?: boolean | undefined;
572
+ } | {
573
+ kind: "blank";
574
+ columnId: string;
575
+ isBlank: boolean;
576
+ } | {
577
+ value: string;
578
+ kind: "contains";
579
+ columnId: string;
580
+ exact?: boolean | undefined;
581
+ caseSensitive?: boolean | undefined;
582
+ } | {
583
+ kind: "topBottom";
584
+ count: number;
585
+ columnId: string;
586
+ direction: "top" | "bottom";
587
+ } | {
588
+ kind: "colorScale";
589
+ columnId: string;
590
+ range: "auto" | "manual";
591
+ colors: {
592
+ min: string;
593
+ max: string;
594
+ mid?: string | undefined;
595
+ };
596
+ min?: number | undefined;
597
+ max?: number | undefined;
598
+ mid?: number | undefined;
599
+ } | {
600
+ kind: "dataBar";
601
+ columnId: string;
602
+ range: "auto" | "manual";
603
+ color: string;
604
+ min?: number | undefined;
605
+ max?: number | undefined;
606
+ showValue?: boolean | undefined;
607
+ };
608
+ name?: string | undefined;
609
+ enabled?: boolean | undefined;
610
+ style?: {
611
+ dataBar?: {
612
+ color: string;
613
+ showValue: boolean;
614
+ } | undefined;
615
+ backgroundColor?: string | undefined;
616
+ textColor?: string | undefined;
617
+ fontWeight?: "normal" | "medium" | "semibold" | "bold" | undefined;
618
+ italic?: boolean | undefined;
619
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
620
+ icon?: "arrowUp" | "arrowDown" | "warning" | "check" | "x" | undefined;
621
+ } | undefined;
622
+ }[];
623
+ } | undefined;
624
+ };
625
+ mode: "flat";
626
+ format: "csv";
627
+ spec: {
628
+ source: {
629
+ kind: "semantic";
630
+ domainId: string;
631
+ datasetName: string;
632
+ datasetId?: string | undefined;
633
+ label?: string | undefined;
634
+ connectionId?: string | undefined;
635
+ } | {
636
+ kind: "physical";
637
+ connectionId: string;
638
+ tableName: string;
639
+ label?: string | undefined;
640
+ connectionType?: string | undefined;
641
+ databaseName?: string | undefined;
642
+ schemaName?: string | undefined;
643
+ dialect?: "postgres" | "mysql" | "mssql" | "snowflake" | "clickhouse" | "bigquery" | "redshift" | "duckdb" | "sqlite" | "unknown" | undefined;
644
+ };
645
+ columns: readonly import('../analytics-protocol/index.js').MatrixLevel[];
646
+ measures: readonly ({
647
+ id: string;
648
+ kind: "aggregate";
649
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
650
+ field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
651
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
652
+ derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
653
+ inputs: Record<string, {
654
+ kind: "field";
655
+ field: Omit<import('../analytics-protocol/index.js').SemaphorFieldRef, "source"> & {
656
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
657
+ };
658
+ aggregate?: import('../analytics-protocol/index.js').SemaphorAggregateFunction;
659
+ }>;
660
+ };
661
+ };
662
+ } | {
663
+ id: string;
664
+ kind: "calculated";
665
+ definition: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
666
+ inputs: Record<string, {
667
+ kind: "field";
668
+ field: Omit<import('../analytics-protocol/index.js').SemaphorFieldRef, "source"> & {
669
+ source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
670
+ };
671
+ aggregate?: import('../analytics-protocol/index.js').SemaphorAggregateFunction;
672
+ }>;
673
+ };
674
+ })[];
675
+ rows: readonly import('../analytics-protocol/index.js').MatrixLevel[];
676
+ sorts: readonly {
677
+ target: import('../analytics-protocol/index.js').MatrixSortTarget;
678
+ scope: {
679
+ kind: "level";
680
+ } | {
681
+ kind: "branch";
682
+ parent: readonly {
683
+ member: {
684
+ value: string | number | boolean | {
685
+ value: string;
686
+ type: "integer" | "decimal";
687
+ kind: "exact_number";
688
+ } | null;
689
+ kind: "value";
690
+ } | {
691
+ kind: "others";
692
+ rankingId: string;
693
+ };
694
+ levelId: string;
695
+ }[];
696
+ };
697
+ levelId: string;
698
+ axis: "columns" | "rows";
699
+ direction: "asc" | "desc";
700
+ nulls: "first" | "last";
701
+ }[];
702
+ rankings: readonly import('../analytics-protocol/index.js').MatrixRanking[];
703
+ filters?: import('../../components/index.js').FilterGroup | undefined;
704
+ joinPlan?: import('../../components/index.js').JoinPlan | undefined;
705
+ relationshipHint?: {
706
+ relationshipIds?: string[] | undefined;
707
+ } | undefined;
708
+ };
709
+ };
710
+ table: FastPathTableStructure;
711
+ };