react-semaphor 0.1.553 → 0.1.554

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 (67) hide show
  1. package/dist/analytics-protocol/index.js +228 -227
  2. package/dist/assistant-context/index.js +1 -1
  3. package/dist/brand-studio/index.js +3 -3
  4. package/dist/briefings/index.js +5 -5
  5. package/dist/chunks/{assistant-chat-DaIdRbbd.js → assistant-chat-ngs5dTvo.js} +12 -12
  6. package/dist/chunks/{bookmark-state-aGO7_ryE.js → bookmark-state-BAeGKd3s.js} +3 -3
  7. package/dist/chunks/{comparison-window-caption-BugAu7zS.js → comparison-window-caption-C2WNTlxK.js} +44 -44
  8. package/dist/chunks/{custom-visual-inputs-D7ez5sab.js → custom-visual-inputs-cTHqcqPu.js} +1 -1
  9. package/dist/chunks/{dashboard-z3GYw7xR.js → dashboard-548YvEW5.js} +1 -1
  10. package/dist/chunks/{dashboard-briefing-launcher-DBJ0xrfF.js → dashboard-briefing-launcher-ptIRn5FS.js} +13 -13
  11. package/dist/chunks/{dashboard-controls-CDX74NTl.js → dashboard-controls-CqyUTN6Q.js} +13 -13
  12. package/dist/chunks/{dashboard-json-Cf5dpYTr.js → dashboard-json-CvDFipA0.js} +4 -4
  13. package/dist/chunks/{document-dashboard-inputs-LMMWPOwU.js → document-dashboard-inputs-DrA9m-5H.js} +10 -10
  14. package/dist/chunks/{edit-dashboard-visual-hCGiyxgm.js → edit-dashboard-visual-BHL0AlIj.js} +4087 -3979
  15. package/dist/chunks/{filter-reach-copy-BG5qVZKS.js → filter-reach-copy-CyftKCZE.js} +13 -13
  16. package/dist/chunks/{filter-value-text-DwP5dN9m.js → filter-value-text-DMrpj4h9.js} +2 -2
  17. package/dist/chunks/{global-date-filter-utils-Ce6Ydv2W.js → global-date-filter-utils-Or-3DL3k.js} +2358 -2301
  18. package/dist/chunks/{index-C_UIqop8.js → index-ClwmmbUH.js} +9 -9
  19. package/dist/chunks/{matrix-analytical-definition-cvzKdxPE.js → matrix-analytical-definition-DPVGg1mU.js} +12 -12
  20. package/dist/chunks/{matrix-card-VFE-yDlr.js → matrix-card-CVFVtqyo.js} +2 -2
  21. package/dist/chunks/{matrix-formatter-B27bz08Y.js → matrix-formatter-K2OVPJQI.js} +18 -18
  22. package/dist/chunks/{matrix-member-presentation-DyC-e9pD.js → matrix-member-presentation-DRWcJ8Mi.js} +1 -1
  23. package/dist/chunks/{matrix-operation-contract-L_SiObB7.js → matrix-operation-contract--lMaLlpV.js} +64 -61
  24. package/dist/chunks/{metric-comparison-B5gyyW9k.js → metric-comparison-CYIt2F5X.js} +1 -1
  25. package/dist/chunks/{pivot-header-presentation-BQFfowp1.js → pivot-header-presentation-CX4fkRuG.js} +1 -1
  26. package/dist/chunks/{pivot-result-identity-dZIYsMrY.js → pivot-result-identity-BHJGZwIc.js} +1 -1
  27. package/dist/chunks/{pivot-result-lifecycle-D0kSz5QX.js → pivot-result-lifecycle-BygCpOhk.js} +20 -20
  28. package/dist/chunks/{raw-temporal-presentation-BWRH754b.js → raw-temporal-presentation-gooAp93G.js} +6 -6
  29. package/dist/chunks/{report-preferences-dialog-DvabpYcC.js → report-preferences-dialog-2tqY0BMQ.js} +15 -15
  30. package/dist/chunks/{report-runtime-context-CKiIubIu.js → report-runtime-context-BaIKSaja.js} +1 -1
  31. package/dist/chunks/{resolve-dashboard-input-context-Ctq1YCDV.js → resolve-dashboard-input-context-bOKDTHfJ.js} +431 -429
  32. package/dist/chunks/{saved-dashboard-context-Bt1E9d1l.js → saved-dashboard-context--Hq1juf9.js} +8 -8
  33. package/dist/chunks/{selection-reducer-DdPwKDDQ.js → selection-reducer-yw_JgICP.js} +1 -1
  34. package/dist/chunks/{semaphor-ready-indicator-Cc1TG_gw.js → semaphor-ready-indicator-yM4wo-FH.js} +26 -26
  35. package/dist/chunks/{shelf-drop-preview-context-Ch9XqytU.js → shelf-drop-preview-context-BuLzyT1T.js} +6 -6
  36. package/dist/chunks/{source-entity-resolution-DkW3Iek5.js → source-entity-resolution-CGymm5td.js} +1 -1
  37. package/dist/chunks/{switch-gm7RW-PW.js → switch-B-UTI6v-.js} +2 -2
  38. package/dist/chunks/{table-export-sheet-C7bDdC8r.js → table-export-sheet-CgO6gaSM.js} +1 -1
  39. package/dist/chunks/{table-settings-CBm7G0yx.js → table-settings-DOT_Bv1m.js} +2 -2
  40. package/dist/chunks/{temporal-bucket-BikY3FFR.js → temporal-bucket-C4rqmwaQ.js} +24 -24
  41. package/dist/chunks/{token-types-B1p9F_wS.js → token-types-DYECHYGH.js} +1 -1
  42. package/dist/chunks/{use-create-flow-overlay-state-CZdDRUpc.js → use-create-flow-overlay-state-DSXC-LD7.js} +6 -6
  43. package/dist/chunks/{validators-BdBzm_EV.js → validators-ClKLGDGZ.js} +1078 -1056
  44. package/dist/dashboard/index.js +2 -2
  45. package/dist/dashboard-authoring/index.js +16 -16
  46. package/dist/data-app-sdk/index.js +5 -5
  47. package/dist/data-app-sdk-adapters/index.js +2 -2
  48. package/dist/data-app-sdk-validation/index.js +5 -5
  49. package/dist/format-utils/index.js +15 -15
  50. package/dist/index.js +21 -21
  51. package/dist/report-runtime-context/index.js +1 -1
  52. package/dist/surfboard/index.js +2 -2
  53. package/dist/types/index.js +6 -6
  54. package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +3 -2
  55. package/dist/types/lib/matrix-table/matrix-delivery.d.ts +4 -2
  56. package/dist/types/lib/utils/card-config-utils.d.ts +1 -1
  57. package/dist/types/lib/utils/card-definition.d.ts +2 -1
  58. package/dist/types/shared/analytics-protocol/index.d.ts +2 -2
  59. package/dist/types/shared/analytics-protocol/matrix-analytical-definition.d.ts +1 -0
  60. package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +59 -21
  61. package/dist/types/shared/analytics-protocol/matrix-operation-contract.d.ts +12 -7
  62. package/dist/types/shared/analytics-protocol/matrix-operation-request.d.ts +16 -9
  63. package/dist/types/shared/dashboard-authoring/legacy-table-routing.d.ts +14 -16
  64. package/dist/types/shared/dashboard-authoring/matrix-authoring.d.ts +4 -1
  65. package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +8 -4
  66. package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +4 -2
  67. package/package.json +1 -1
@@ -4,13 +4,15 @@ import { DashboardCardLocation } from './document-section-cards.js';
4
4
  export { LEGACY_TABLE_CARD_TYPES, isLegacyTableCard, type LegacyTableCardType, } from '../../lib/utils/card-config-utils.js';
5
5
  /**
6
6
  * Load routing of Pivot and Hierarchical cards
7
- * (semaphor-app docs/implementation-plans/pivot-aggregate-to-matrix). A saved
8
- * `pivotTable` or `aggregateTable` card is converted in memory by the one
9
- * converter and replaced only when the conversion is exact: no gap, and a
10
- * ready definition (PM-D3). A Pivot that only groups rows becomes the regular
11
- * Table; every other card becomes Matrix (`legacyTableRoutingTarget`).
12
- * Nothing is written back; a save stores the new card like any other edit
13
- * (PM-D1). This module never builds a definition itself (PM-D2).
7
+ * (semaphor-app docs/implementation-plans/pivot-aggregate-to-matrix). Every
8
+ * saved `pivotTable` or `aggregateTable` card is converted in memory by the
9
+ * one converter, so no legacy card reaches a renderer (PM-D3, amended
10
+ * 2026-10-21): the Pivot and Hierarchical implementations are removed. Data
11
+ * parts the converter cannot keep are dropped and returned as gaps. A Pivot
12
+ * that only groups rows becomes the regular Table; every other card becomes
13
+ * Matrix (`legacyTableRoutingTarget`). Nothing is written back; a save stores
14
+ * the new card like any other edit (PM-D1). This module never builds a
15
+ * definition itself (PM-D2).
14
16
  */
15
17
  /** PM-D7: the namespace of the ids routing mints. Fixed forever: changing it changes every routed card. */
16
18
  export declare const LEGACY_TABLE_ROUTING_ID_NAMESPACE = "9677efdd-86ec-4afb-b9bb-5ead8b5442af";
@@ -27,15 +29,10 @@ export type LegacyTableCardRouting =
27
29
  status: 'not_legacy';
28
30
  card: TCard;
29
31
  }
30
- /** The converter's Matrix or Table card, same card id. */
32
+ /** The converter's Matrix or Table card, same card id, and the data parts it dropped. */
31
33
  | {
32
34
  status: 'routed';
33
35
  card: TCard;
34
- }
35
- /** The input object, kept as stored, with what blocked the conversion. */
36
- | {
37
- status: 'unrouted';
38
- card: TCard;
39
36
  gaps: readonly CardTypeChangeGap[];
40
37
  };
41
38
  /**
@@ -47,18 +44,19 @@ export type LegacyTableCardRouting =
47
44
  * every Hierarchical card becomes Matrix.
48
45
  */
49
46
  export declare function legacyTableRoutingTarget(card: TCard): 'table' | 'matrixTable';
50
- /** One card: route it when the conversion is exact (PM-D3). */
47
+ /** One card: always routed, with what the conversion could not keep (PM-D3). */
51
48
  export declare function routeLegacyTableCard(card: TCard): LegacyTableCardRouting;
52
49
  /** Each card of a library frame. Returns the input object when nothing routed. */
53
50
  export declare function routeLegacyTableFrame<T extends Pick<TFrame, 'cards'>>(frame: T): T;
54
- export type UnroutedLegacyTableCard = {
51
+ /** A routed card that dropped data parts, where it sits, and what it dropped. */
52
+ export type LegacyTableRoutingGaps = {
55
53
  location: DashboardCardLocation;
56
54
  gaps: readonly CardTypeChangeGap[];
57
55
  };
58
56
  export type LegacyTableDashboardRouting<T> = {
59
57
  /** The input object when nothing routed. */
60
58
  dashboard: T;
61
- unrouted: readonly UnroutedLegacyTableCard[];
59
+ routedWithGaps: readonly LegacyTableRoutingGaps[];
62
60
  };
63
61
  /** Every sheet, frame and document section card of a dashboard. */
64
62
  export declare function routeLegacyTableCards<T extends Pick<TDashboard, 'sheets'>>(dashboard: T): LegacyTableDashboardRouting<T>;
@@ -35,11 +35,14 @@ export type MatrixAuthoringChange = {
35
35
  } | {
36
36
  kind: 'rankings';
37
37
  rankings: MatrixSpec['rankings'];
38
+ } | {
39
+ kind: 'measureFilters';
40
+ measureFilters: NonNullable<MatrixSpec['measureFilters']>;
38
41
  };
39
42
  /** Shelf drops and the Axis menu use the same ID-preserving level transaction. */
40
43
  export declare function moveMatrixLevel(spec: MatrixSpec, id: string, target: MatrixAxis, beforeId?: string): MatrixAuthoringChange;
41
44
  export type MatrixAuthoringNotice = {
42
- kind: 'sort' | 'ranking' | 'format' | 'label' | 'total' | 'conditional_format' | 'expansion' | 'depth' | 'binding';
45
+ kind: 'sort' | 'ranking' | 'measure_filter' | 'format' | 'label' | 'total' | 'conditional_format' | 'expansion' | 'depth' | 'binding';
43
46
  id: string;
44
47
  message: string;
45
48
  };
@@ -257,7 +257,7 @@ export declare function captureMatrixExport(input: {
257
257
  measures: readonly ({
258
258
  id: string;
259
259
  kind: "aggregate";
260
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
260
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
261
261
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
262
262
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
263
263
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -316,6 +316,7 @@ export declare function captureMatrixExport(input: {
316
316
  relationshipHint?: {
317
317
  relationshipIds?: string[] | undefined;
318
318
  } | undefined;
319
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
319
320
  };
320
321
  expansion: {
321
322
  kind: "current";
@@ -609,7 +610,7 @@ export declare function captureMatrixExport(input: {
609
610
  measures: readonly ({
610
611
  id: string;
611
612
  kind: "aggregate";
612
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
613
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
613
614
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
614
615
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
615
616
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -668,6 +669,7 @@ export declare function captureMatrixExport(input: {
668
669
  relationshipHint?: {
669
670
  relationshipIds?: string[] | undefined;
670
671
  } | undefined;
672
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
671
673
  };
672
674
  };
673
675
  /** Public analytical payload, shared by job and PDF adapters. Never accepts cells. */
@@ -1043,7 +1045,7 @@ export declare function buildMatrixDeliveryEnvelope<TSource extends {
1043
1045
  measures: readonly ({
1044
1046
  id: string;
1045
1047
  kind: "aggregate";
1046
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
1048
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
1047
1049
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
1048
1050
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
1049
1051
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -1102,6 +1104,7 @@ export declare function buildMatrixDeliveryEnvelope<TSource extends {
1102
1104
  relationshipHint?: {
1103
1105
  relationshipIds?: string[] | undefined;
1104
1106
  } | undefined;
1107
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
1105
1108
  };
1106
1109
  expansion: {
1107
1110
  kind: "current";
@@ -1395,7 +1398,7 @@ export declare function buildMatrixDeliveryEnvelope<TSource extends {
1395
1398
  measures: readonly ({
1396
1399
  id: string;
1397
1400
  kind: "aggregate";
1398
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
1401
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
1399
1402
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
1400
1403
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
1401
1404
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -1454,6 +1457,7 @@ export declare function buildMatrixDeliveryEnvelope<TSource extends {
1454
1457
  relationshipHint?: {
1455
1458
  relationshipIds?: string[] | undefined;
1456
1459
  } | undefined;
1460
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
1457
1461
  };
1458
1462
  };
1459
1463
  delimiter: "," | ";" | "\t";
@@ -338,7 +338,7 @@ export declare function buildMatrixPrintTable(input: {
338
338
  measures: readonly ({
339
339
  id: string;
340
340
  kind: "aggregate";
341
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
341
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
342
342
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
343
343
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
344
344
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -397,6 +397,7 @@ export declare function buildMatrixPrintTable(input: {
397
397
  relationshipHint?: {
398
398
  relationshipIds?: string[] | undefined;
399
399
  } | undefined;
400
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
400
401
  };
401
402
  expansion: {
402
403
  kind: "current";
@@ -690,7 +691,7 @@ export declare function buildMatrixPrintTable(input: {
690
691
  measures: readonly ({
691
692
  id: string;
692
693
  kind: "aggregate";
693
- aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "DISTINCT";
694
+ aggregate: "SUM" | "COUNT" | "AVG" | "MIN" | "MAX" | "MEDIAN" | "DISTINCT";
694
695
  field: Omit<import('../analytics-protocol/index.js').SemaphorExecutionFieldRef, "source" | "aggregate" | "derivedField"> & {
695
696
  source?: import('../analytics-protocol/index.js').SemaphorMatrixSourceRef;
696
697
  derivedField?: Omit<import('../analytics-protocol/index.js').SemaphorDerivedFieldDefinition, "inputs"> & {
@@ -749,6 +750,7 @@ export declare function buildMatrixPrintTable(input: {
749
750
  relationshipHint?: {
750
751
  relationshipIds?: string[] | undefined;
751
752
  } | undefined;
753
+ measureFilters?: readonly import('../analytics-protocol/index.js').MatrixMeasureFilter[] | undefined;
752
754
  };
753
755
  };
754
756
  table: FastPathTableStructure;
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.1.553",
8
+ "version": "0.1.554",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",