react-semaphor 0.1.541 → 0.1.542
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.
- package/dist/analytics-protocol/index.js +75 -75
- package/dist/assistant-context/index.js +1 -1
- package/dist/brand-studio/index.js +3 -3
- package/dist/briefings/index.js +51 -49
- package/dist/chunks/apply-dashboard-operations-Btbp2-6v.js +2260 -0
- package/dist/chunks/{assistant-chat-D1fDZD6O.js → assistant-chat-oHF5lTjA.js} +12 -12
- package/dist/chunks/bookmark-state-CXw7lZ50.js +118 -0
- package/dist/chunks/{calendar-day-equality-Bpl15IBo.js → calendar-day-equality-BmJAWduY.js} +180 -207
- package/dist/chunks/comparison-window-caption-ChIyd_-L.js +1618 -0
- package/dist/chunks/custom-visual-inputs-DUtpYZOk.js +323 -0
- package/dist/chunks/{dashboard-briefing-launcher-DwjFpewq.js → dashboard-briefing-launcher-B-cm719R.js} +18 -18
- package/dist/chunks/{dashboard-controls-C_BI28ME.js → dashboard-controls-CIn22Qgp.js} +69 -70
- package/dist/chunks/{dashboard-filter-value-compatibility-D95O4nd7.js → dashboard-filter-value-compatibility-CwQ_iSNb.js} +2 -2
- package/dist/chunks/{dashboard-json-DDY15Trn.js → dashboard-json-ZUYsIExq.js} +4 -4
- package/dist/chunks/{dashboard-B6IrON_Q.js → dashboard-s5WJBcK8.js} +1 -1
- package/dist/chunks/{document-dashboard-inputs-DP_Op5mu.js → document-dashboard-inputs-C6MJVyoI.js} +2382 -4975
- package/dist/chunks/document-sheet-utils-BsZUnHRl.js +3619 -0
- package/dist/chunks/{edit-dashboard-visual-CH2dzWW-.js → edit-dashboard-visual-DLdereA7.js} +728 -728
- package/dist/chunks/{filter-value-text-BhWugPWE.js → filter-value-text-CYsVYPuD.js} +18 -19
- package/dist/chunks/{index-DaQlghLY.js → index-CV5rHq5D.js} +824 -1351
- package/dist/chunks/{matrix-analytical-definition-bcprSe4u.js → matrix-analytical-definition-C7Gb0e12.js} +1 -1
- package/dist/chunks/{matrix-card-CJn1hB5V.js → matrix-card-DjwWcCo8.js} +2 -2
- package/dist/chunks/{matrix-formatter-DQ8avoIQ.js → matrix-formatter-BnsTX90d.js} +430 -417
- package/dist/chunks/{matrix-member-presentation-BNPSDKBG.js → matrix-member-presentation-CQGdVks6.js} +1 -1
- package/dist/chunks/{matrix-operation-contract-B8PBF1Gd.js → matrix-operation-contract-8OIO4gob.js} +65 -65
- package/dist/chunks/metric-comparison-DEwi9uc2.js +498 -0
- package/dist/chunks/numeric-presentation-BSAqPpHt.js +5227 -0
- package/dist/chunks/{pivot-header-presentation-MkcKnjn3.js → pivot-header-presentation-DHcx1XGQ.js} +1 -1
- package/dist/chunks/{pivot-result-identity-D6hhcRXi.js → pivot-result-identity-DJhXXcns.js} +1 -1
- package/dist/chunks/pivot-result-lifecycle-BBlAfBA0.js +1155 -0
- package/dist/chunks/raw-temporal-presentation-CZ2r0Vb_.js +585 -0
- package/dist/chunks/{report-preferences-dialog-DpNkFfQO.js → report-preferences-dialog-MRUWpMcJ.js} +75 -75
- package/dist/chunks/{report-runtime-context-B984Nq1E.js → report-runtime-context-Dq8XyODK.js} +1 -1
- package/dist/chunks/{saved-dashboard-context-CJ2WpoMF.js → saved-dashboard-context-DjPqgFly.js} +233 -206
- package/dist/chunks/{selection-reducer-vKIb_jS6.js → selection-reducer-Dj_8xD69.js} +1 -1
- package/dist/chunks/{semaphor-ready-indicator-KT598QJq.js → semaphor-ready-indicator-BWSpRsPj.js} +37489 -39476
- package/dist/chunks/{shelf-drop-preview-context-BxV3Fl8h.js → shelf-drop-preview-context-CQbFLm3q.js} +6 -6
- package/dist/chunks/sort-target-MT1WK1vX.js +29 -0
- package/dist/chunks/{source-entity-resolution-CVA1a85c.js → source-entity-resolution-BYn9giz3.js} +1 -1
- package/dist/chunks/{switch-DWEWiv1J.js → switch-C3jLxlG0.js} +2 -2
- package/dist/chunks/table-export-sheet-BHSnuZHd.js +949 -0
- package/dist/chunks/table-settings-CLZocegs.js +501 -0
- package/dist/chunks/temporal-bucket-D7NBrrtL.js +2071 -0
- package/dist/chunks/{token-types-bxUxXDX2.js → token-types-DBbZVQsm.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-DdD12SMY.js → use-create-flow-overlay-state-BJDNqdOh.js} +151 -151
- package/dist/chunks/{validators-Ej1DdCXa.js → validators-DMHTpf7a.js} +73 -73
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.js +462 -457
- package/dist/data-app-sdk/index.js +5 -5
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.js +9 -9
- package/dist/format-utils/index.js +346 -241
- package/dist/index.js +174 -175
- package/dist/report-runtime-context/index.js +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/briefings/attachment-outcomes.d.ts +1 -1
- package/dist/types/briefings/attachments.d.ts +17 -1
- package/dist/types/briefings/index.d.ts +5 -3
- package/dist/types/index.js +48 -48
- package/dist/types/lib/api/exports-api.d.ts +11 -65
- package/dist/types/lib/dashboard-inputs/control-contract-overrides.d.ts +17 -0
- package/dist/types/lib/dashboard-viewer/export-table-view.d.ts +2 -0
- package/dist/types/lib/hooks/use-dashboard.d.ts +3 -6
- package/dist/types/lib/matrix-table/matrix-delivery-policy.d.ts +8 -2
- package/dist/types/lib/matrix-table/matrix-delivery.d.ts +8 -6
- package/dist/types/lib/query-context/build-dashboard-card-query-contract.d.ts +50 -0
- package/dist/types/lib/types/explorer-types.d.ts +6 -0
- package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +3 -3
- package/dist/types/shared/assistant-context/index.d.ts +1 -1
- package/dist/types/shared/assistant-context/saved-dashboard-context.d.ts +23 -6
- package/dist/types/shared/dashboard-authoring/card-export-request.d.ts +173 -0
- package/dist/types/shared/dashboard-authoring/index.d.ts +1 -0
- package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +4 -3
- package/dist/types/shared/format-utils/exporters/export-cells.d.ts +90 -0
- package/dist/types/shared/format-utils/exporters/export-file-format.d.ts +44 -0
- package/dist/types/shared/format-utils/exporters/index.d.ts +6 -0
- package/dist/types/shared/format-utils/exporters/xlsx-file.d.ts +90 -0
- package/dist/types/shared/format-utils/formatters/date-formatter.d.ts +8 -12
- package/dist/types/shared/format-utils/formatters/index.d.ts +1 -1
- package/dist/types/shared/format-utils/formatters/matrix-formatter.d.ts +2 -0
- package/dist/types/shared/format-utils/index.d.ts +2 -0
- package/dist/types/shared/format-utils/matrix-continuation.d.ts +55 -9
- package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +21 -1
- package/dist/types/shared/format-utils/matrix-export-xlsx.d.ts +27 -0
- package/dist/types/shared/format-utils/presentation-execution.d.ts +27 -2
- package/dist/types/shared/format-utils/raw-temporal.d.ts +8 -0
- package/dist/types/shared/format-utils/table-export/index.d.ts +8 -0
- package/dist/types/shared/format-utils/table-export/prepare-table-export.d.ts +50 -0
- package/dist/types/shared/format-utils/table-export/table-export-formatting.d.ts +47 -0
- package/dist/types/shared/format-utils/table-export/table-export-raw-temporal.d.ts +40 -0
- package/dist/types/shared/format-utils/table-export/table-export-result.d.ts +31 -0
- package/dist/types/shared/format-utils/table-export/table-export-sheet.d.ts +38 -0
- package/dist/types/shared/format-utils/temporal-bucket.d.ts +9 -0
- package/package.json +2 -1
- package/dist/chunks/aggregate-table-row-presentation-B_vQjYR3.js +0 -996
- package/dist/chunks/apply-dashboard-operations-C-iahGka.js +0 -402
- package/dist/chunks/bookmark-state-k7y5SNGf.js +0 -331
- package/dist/chunks/calculated-field-identity-DcBS2NPP.js +0 -2161
- package/dist/chunks/canonical-result-keys-CEQefvdO.js +0 -33
- package/dist/chunks/common-types-CUf03Htv.js +0 -288
- package/dist/chunks/csv-utils-GUfKyT1J.js +0 -56
- package/dist/chunks/custom-visual-inputs-BrUOIwln.js +0 -3288
- package/dist/chunks/document-sheet-utils-C1eEldxs.js +0 -1076
- package/dist/chunks/matrix-definition-DQDI2okF.js +0 -206
- package/dist/chunks/metric-comparison-CojWeLqx.js +0 -392
- package/dist/chunks/pivot-result-lifecycle-8qCDmpKc.js +0 -804
- package/dist/chunks/raw-temporal-D61lr48Y.js +0 -1464
- package/dist/chunks/temporal-bucket-D8JF7zKz.js +0 -575
- package/dist/chunks/temporal-bucket-contract-DaOajRC7.js +0 -108
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ExportCell, ExportDataType, XlsxColumn, XlsxColumnPresentation } from '../exporters/export-cells.js';
|
|
2
|
+
import { RawTemporalChunkClassificationEvidence } from '../raw-temporal.js';
|
|
3
|
+
import { TableExportFormatting } from './table-export-formatting.js';
|
|
4
|
+
import { TableExportResult } from './table-export-result.js';
|
|
5
|
+
/** One visible column, prepared once. Data type, identity and presentation stay separate. */
|
|
6
|
+
export type PreparedTableColumn = {
|
|
7
|
+
/** Result key (identity). */
|
|
8
|
+
key: string;
|
|
9
|
+
/** Header label. */
|
|
10
|
+
label: string;
|
|
11
|
+
/** Authoritative, from `resultColumns`; decides Excel cell type and whether strings may be numbers. */
|
|
12
|
+
dataType: ExportDataType;
|
|
13
|
+
/** What made the display text; decides the Excel number format. */
|
|
14
|
+
presentation?: XlsxColumnPresentation;
|
|
15
|
+
/** resolveXlsxColumn of the above. */
|
|
16
|
+
xlsx: XlsxColumn;
|
|
17
|
+
/**
|
|
18
|
+
* These values could not type the Excel column: a declared SQL date column
|
|
19
|
+
* whose values here are all empty or invalid (its raw temporal evidence is
|
|
20
|
+
* inconclusive), so `xlsx` is text. A background job takes the column's
|
|
21
|
+
* type from the chunks that could (`tableExportJobSheet`).
|
|
22
|
+
*/
|
|
23
|
+
xlsxPending?: true;
|
|
24
|
+
};
|
|
25
|
+
/** The rows of one table export, ready for any encoder. */
|
|
26
|
+
export type TableExportContent = {
|
|
27
|
+
/** Header labels in visible order; undefined when headers are off. */
|
|
28
|
+
header?: string[];
|
|
29
|
+
/** One prepared column per visible column. */
|
|
30
|
+
columns: PreparedTableColumn[];
|
|
31
|
+
/** Typed cells; `exportCellText` of each is the display text. */
|
|
32
|
+
rows: ExportCell[][];
|
|
33
|
+
/** Raw temporal evidence the compactor's chunk-agreement check needs (unchanged). */
|
|
34
|
+
rawTemporalClassification?: RawTemporalChunkClassificationEvidence;
|
|
35
|
+
};
|
|
36
|
+
/** Prepared once per export (browser) or per chunk (Lambda). */
|
|
37
|
+
export type TableExportFormatter = {
|
|
38
|
+
/** Header, columns and typed cells for these records. `withHeader` false skips the header (chunks after the first). */
|
|
39
|
+
format(result: TableExportResult, options?: {
|
|
40
|
+
withHeader?: boolean;
|
|
41
|
+
}): TableExportContent;
|
|
42
|
+
/** The totals row: 'Total' in the label column, '' in other dimensions, formatted metric totals. Undefined when totalRows is 0. */
|
|
43
|
+
totals(totalsByColumnId: Record<string, unknown>, totalRows: number): ExportCell[] | undefined;
|
|
44
|
+
};
|
|
45
|
+
export declare function prepareTableExport(input: {
|
|
46
|
+
formatting: TableExportFormatting;
|
|
47
|
+
cardType: 'table' | 'detailTable' | 'pivotTable' | 'aggregateTable';
|
|
48
|
+
/** The /api/v1/query body the rows came from (a background job's `queryPayload`). Read for the effective card config, result owner, SQL and Python flags. */
|
|
49
|
+
queryPayload: Record<string, unknown>;
|
|
50
|
+
}): TableExportFormatter;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CsvDelimiter, CsvEncoding } from '../exporters/csv-utils.js';
|
|
2
|
+
import { ExportFileFormat } from '../exporters/export-file-format.js';
|
|
3
|
+
import { PresentationExecutionSnapshot } from '../presentation-execution.js';
|
|
4
|
+
/** The formatting contract a table export carries (same keys and checks as the scheduler's former contract, plus `fileFormat`). */
|
|
5
|
+
export type TableExportFormatting = {
|
|
6
|
+
scope: {
|
|
7
|
+
dashboardId: string;
|
|
8
|
+
cardId: string;
|
|
9
|
+
};
|
|
10
|
+
useFormattedValues: boolean;
|
|
11
|
+
/** Must equal presentationExecutionSnapshot.reportContext.calendar.tz. */
|
|
12
|
+
timezone: string;
|
|
13
|
+
presentationExecutionSnapshot: PresentationExecutionSnapshot;
|
|
14
|
+
delimiter: CsvDelimiter;
|
|
15
|
+
csvEncoding: CsvEncoding;
|
|
16
|
+
includeHeaders: boolean;
|
|
17
|
+
/** The card's persisted column settings. Only `type: 'date'` and `dateFormat` are read. */
|
|
18
|
+
columnSettings?: Record<string, unknown>;
|
|
19
|
+
/** Required when values are formatted; a stored-value export may omit it (columns then come from the result). */
|
|
20
|
+
visibleColumns?: string[];
|
|
21
|
+
columnLabels?: Record<string, string>;
|
|
22
|
+
tableTotalsLabelColumnKey?: string;
|
|
23
|
+
/** The file format the workers write. Absent means 'csv', so jobs dispatched before this field existed still run. */
|
|
24
|
+
fileFormat?: ExportFileFormat;
|
|
25
|
+
/** The export's title. Names the Excel sheet, as the browser download does; CSV ignores it. */
|
|
26
|
+
title?: string;
|
|
27
|
+
};
|
|
28
|
+
/** Checks a table export's formatting contract. Unknown keys and retired keys are rejected. */
|
|
29
|
+
export declare function parseTableExportFormatting(input: unknown): TableExportFormatting;
|
|
30
|
+
/**
|
|
31
|
+
* The formatting contract for a table export job, assembled field by field
|
|
32
|
+
* from the export request's `formatOptions`: what the app's export executor
|
|
33
|
+
* dispatches to the workers and what the browser download formats with, so
|
|
34
|
+
* the two never differ. Fields the workers do not read (browser timezone,
|
|
35
|
+
* comparison presentation) are dropped here. Check the result with
|
|
36
|
+
* `parseTableExportFormatting`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function tableExportFormattingFromOptions(input: {
|
|
39
|
+
dashboardId: string;
|
|
40
|
+
cardId: string;
|
|
41
|
+
formatOptions: Record<string, unknown> & {
|
|
42
|
+
presentationExecutionSnapshot: PresentationExecutionSnapshot;
|
|
43
|
+
};
|
|
44
|
+
fileFormat?: ExportFileFormat;
|
|
45
|
+
/** The export's title (names the Excel sheet). */
|
|
46
|
+
title?: string | null;
|
|
47
|
+
}): Record<string, unknown>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { prepareRawTemporalFormatter, RawTemporalChunkClassificationEvidence, RawTemporalValueMetadata, ResolvedRawTemporalFormat } from '../raw-temporal.js';
|
|
2
|
+
import { ExportWallClock } from '../exporters/export-cells.js';
|
|
3
|
+
import { TableExportFormatting } from './table-export-formatting.js';
|
|
4
|
+
import { TableExportResultColumn } from './table-export-result.js';
|
|
5
|
+
type PreparedRawTemporalColumn = {
|
|
6
|
+
metadata: RawTemporalValueMetadata;
|
|
7
|
+
format: ResolvedRawTemporalFormat;
|
|
8
|
+
formatValue: ReturnType<typeof prepareRawTemporalFormatter>;
|
|
9
|
+
};
|
|
10
|
+
export type RawTemporalExportResolution = {
|
|
11
|
+
activatedColumnKeys: ReadonlySet<string>;
|
|
12
|
+
byColumnKey: ReadonlyMap<string, PreparedRawTemporalColumn>;
|
|
13
|
+
sqlChunkEvidence?: RawTemporalChunkClassificationEvidence;
|
|
14
|
+
};
|
|
15
|
+
export declare function requiresRawTemporalSqlChunkEvidence(input: {
|
|
16
|
+
formatting: TableExportFormatting;
|
|
17
|
+
queryPayload?: Record<string, unknown>;
|
|
18
|
+
}): boolean;
|
|
19
|
+
export declare function resolveRawTemporalExportPresentation(input: {
|
|
20
|
+
records: readonly Record<string, unknown>[];
|
|
21
|
+
columns: readonly TableExportResultColumn[];
|
|
22
|
+
formatting: TableExportFormatting;
|
|
23
|
+
queryPayload?: Record<string, unknown>;
|
|
24
|
+
}): RawTemporalExportResolution;
|
|
25
|
+
/**
|
|
26
|
+
* One raw temporal cell. Undefined when the column is not activated (other
|
|
27
|
+
* rules apply). A missing key in an activated column is a broken result and
|
|
28
|
+
* fails, whoever owns the result (SPEC §3.0 case 4).
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatRawTemporalExportValue(input: {
|
|
31
|
+
value: unknown;
|
|
32
|
+
columnKey: string;
|
|
33
|
+
rowIndex: number;
|
|
34
|
+
resolution: RawTemporalExportResolution;
|
|
35
|
+
}): {
|
|
36
|
+
text: string;
|
|
37
|
+
wallClock?: ExportWallClock;
|
|
38
|
+
} | undefined;
|
|
39
|
+
export declare function rawTemporalColumnIsDateOnly(resolution: RawTemporalExportResolution, columnKey: string): boolean | undefined;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RawTemporalValueMetadata, SemaphorResultColumn, TemporalBucketMetadata } from '../../analytics-protocol/contracts.js';
|
|
2
|
+
import { QueryColumnKeyMap } from '../pivot-result-identity.js';
|
|
3
|
+
/** A result column as the response describes it (`columns`). */
|
|
4
|
+
export type TableExportResultColumn = {
|
|
5
|
+
key?: string;
|
|
6
|
+
field?: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
headerName?: string;
|
|
9
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
10
|
+
rawTemporal?: RawTemporalValueMetadata;
|
|
11
|
+
pivotIdentity?: {
|
|
12
|
+
metricId: string;
|
|
13
|
+
metricAlias: string;
|
|
14
|
+
members?: Array<{
|
|
15
|
+
fieldId: string;
|
|
16
|
+
value: string | null;
|
|
17
|
+
temporalBucket?: TemporalBucketMetadata;
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type TableExportResult = {
|
|
22
|
+
records: readonly Record<string, unknown>[];
|
|
23
|
+
columns: readonly TableExportResultColumn[];
|
|
24
|
+
/** Authoritative data types (SemaphorResultColumn.dataType), from the same response. Missing columns are 'unknown'. */
|
|
25
|
+
resultColumns: readonly Pick<SemaphorResultColumn, 'key' | 'dataType'>[];
|
|
26
|
+
columnKeyMap?: QueryColumnKeyMap;
|
|
27
|
+
/** Pivot column classifications (deprecated pivot results only). */
|
|
28
|
+
columnMetadata?: unknown;
|
|
29
|
+
/** 'not_pivot' for Table and Detail Table; the other values only for deprecated pivot results. */
|
|
30
|
+
pivotResultKind: 'not_pivot' | 'canonical' | 'legacy_raw';
|
|
31
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ExportCell, XlsxColumn } from '../exporters/export-cells.js';
|
|
2
|
+
import { XlsxRow, XlsxSheet } from '../exporters/xlsx-file.js';
|
|
3
|
+
import { TableExportContent } from './prepare-table-export.js';
|
|
4
|
+
/** Rows a sheet reads to size its columns (SPEC XL-SI-10). */
|
|
5
|
+
export declare const TABLE_EXPORT_SHEET_SAMPLE_ROWS = 200;
|
|
6
|
+
/**
|
|
7
|
+
* The sheet a table export writes: the title names it, the header is its one
|
|
8
|
+
* header row, and the first rows size its columns. The background job calls
|
|
9
|
+
* this with its first chunk's content; that chunk holds the same first rows.
|
|
10
|
+
*/
|
|
11
|
+
export declare function defineTableExportSheet(title: string | null | undefined, content: Pick<TableExportContent, 'columns' | 'header' | 'rows'>): XlsxSheet;
|
|
12
|
+
/** A table export's rows as sheet rows: body rows, then the totals row when there is one. */
|
|
13
|
+
export declare function tableExportXlsxRows(rows: readonly ExportCell[][], totals?: readonly ExportCell[]): XlsxRow[];
|
|
14
|
+
/** The whole workbook of a table export (the browser download). An Excel limit throws XlsxLimitError. */
|
|
15
|
+
export declare function encodeTableExportWorkbook(title: string | null | undefined, content: Pick<TableExportContent, 'columns' | 'header' | 'rows'>, totals?: readonly ExportCell[]): Uint8Array;
|
|
16
|
+
/**
|
|
17
|
+
* One chunk's Excel columns, as a background job compares them: each column,
|
|
18
|
+
* and whether this chunk's values could type it (`pending` when they could
|
|
19
|
+
* not, `PreparedTableColumn.xlsxPending`). Stored beside the chunk before it
|
|
20
|
+
* is completed (XL-D37).
|
|
21
|
+
*/
|
|
22
|
+
export type TableExportSheetColumns = {
|
|
23
|
+
columns: readonly XlsxColumn[];
|
|
24
|
+
pending: readonly boolean[];
|
|
25
|
+
};
|
|
26
|
+
export declare function tableExportSheetColumns(content: Pick<TableExportContent, 'columns'>): TableExportSheetColumns;
|
|
27
|
+
export declare function serializeTableExportSheetColumns(value: TableExportSheetColumns): string;
|
|
28
|
+
export declare function parseTableExportSheetColumns(json: string): TableExportSheetColumns;
|
|
29
|
+
/**
|
|
30
|
+
* The sheet a background job writes: the first chunk's sheet, with each
|
|
31
|
+
* column's type settled across the chunks. Every chunk has the same columns
|
|
32
|
+
* (key and label); at each position the chunks that could type it agree, and
|
|
33
|
+
* a chunk that could not (all its dates empty, for example) is no evidence.
|
|
34
|
+
* When no chunk could, the first chunk's column stands (its cells are empty
|
|
35
|
+
* or text). Chunks that disagree, or a sheet that is not the first chunk's,
|
|
36
|
+
* are a fault and throw: the job fails rather than mislabel dates.
|
|
37
|
+
*/
|
|
38
|
+
export declare function tableExportJobSheet(sheet: XlsxSheet, chunks: readonly TableExportSheetColumns[]): XlsxSheet;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExportWallClock } from './exporters/export-cells.js';
|
|
1
2
|
import { SemaphorTimeGrain, TemporalBucketFormat, TemporalBucketMetadata, TemporalBucketPreset } from '../analytics-protocol/contracts.js';
|
|
2
3
|
import { ResolvedTemporalStyleSet } from './raw-temporal.js';
|
|
3
4
|
export type { TemporalBucketMetadata } from '../analytics-protocol/contracts.js';
|
|
@@ -77,6 +78,14 @@ export declare function parseTemporalBucketValue(value: TemporalBucketValue, met
|
|
|
77
78
|
export declare function describeTemporalBucketCalendar(metadata: TemporalBucketMetadata): string;
|
|
78
79
|
export declare function parseResolvedTemporalBucketFormat(input: unknown): ResolvedTemporalBucketFormatParseResult;
|
|
79
80
|
export declare function resolveTemporalBucketPresentation(input: ResolveTemporalBucketPresentationInput): ResolvedTemporalBucketPresentation;
|
|
81
|
+
/**
|
|
82
|
+
* The start of a bucket as a calendar date and time with no zone, for the
|
|
83
|
+
* grains Excel shows as dates (second to month); undefined for week, quarter
|
|
84
|
+
* and year buckets, blanks and invalid values. Bucket values are already wall
|
|
85
|
+
* clock in the governed calendar, so this is the value `formatTemporalBucket`
|
|
86
|
+
* presents (Excel exports plan XL-D35).
|
|
87
|
+
*/
|
|
88
|
+
export declare function temporalBucketWallClock(value: TemporalBucketValue, metadata: TemporalBucketMetadata): ExportWallClock | undefined;
|
|
80
89
|
export declare function formatTemporalBucket(input: {
|
|
81
90
|
value: TemporalBucketValue;
|
|
82
91
|
metadata: TemporalBucketMetadata;
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"email": "support@semaphor.cloud"
|
|
6
6
|
},
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"version": "0.1.
|
|
8
|
+
"version": "0.1.542",
|
|
9
9
|
"description": "Fully interactive and customizable dashboards for your apps.",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"react",
|
|
@@ -204,6 +204,7 @@
|
|
|
204
204
|
"date-fns-tz": "^3.2.0",
|
|
205
205
|
"dompurify": "^3.4.2",
|
|
206
206
|
"fast-deep-equal": "^3.1.3",
|
|
207
|
+
"fflate": "^0.8.3",
|
|
207
208
|
"immer": "^10.0.3",
|
|
208
209
|
"jwt-decode": "^4.0.0",
|
|
209
210
|
"lexical": "^0.43.0",
|