react-semaphor 0.1.515 → 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.
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +226 -225
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +8 -8
- package/dist/chunks/{calculated-field-identity-BiTGmnST.cjs → calculated-field-identity-5bg9oHTw.cjs} +1 -1
- package/dist/chunks/{calculated-field-identity-DnRd4YIY.js → calculated-field-identity-DzJBs2J8.js} +4 -4
- package/dist/chunks/{card-config-utils-B2cDWQqB.js → card-config-utils-Cxnq2R6z.js} +14 -14
- package/dist/chunks/{card-config-utils-CMO4_zVs.cjs → card-config-utils-z86y6tSq.cjs} +1 -1
- package/dist/chunks/column-bands-CU0byntA.cjs +1 -0
- package/dist/chunks/column-bands-RdM-kjDe.js +47 -0
- package/dist/chunks/{dashboard-briefing-launcher-BA_bl05p.js → dashboard-briefing-launcher-BCEHJ_eD.js} +15 -12
- package/dist/chunks/{dashboard-briefing-launcher-B7zqm8P1.cjs → dashboard-briefing-launcher-CjZ4aE34.cjs} +2 -2
- package/dist/chunks/{dashboard-controls-QMW17RKx.js → dashboard-controls-DFfit5KH.js} +12 -12
- package/dist/chunks/{dashboard-controls-x_v9wLOU.cjs → dashboard-controls-f9aJ70Zu.cjs} +1 -1
- package/dist/chunks/{dashboard-date-comparison-definition-D7Bl-YAl.js → dashboard-date-comparison-definition-BqNhECUr.js} +6 -6
- package/dist/chunks/{dashboard-date-comparison-definition-C_w-GO_5.cjs → dashboard-date-comparison-definition-Y6JZwpcr.cjs} +1 -1
- package/dist/chunks/{dashboard-json-DRnpkNwO.js → dashboard-json-DVtcA02f.js} +7 -7
- package/dist/chunks/{dashboard-json-0ZLLBlHj.cjs → dashboard-json-deqQC-UR.cjs} +1 -1
- package/dist/chunks/edit-dashboard-visual-DK6lSC_p.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-1ISjhwry.js → edit-dashboard-visual-lJ6rDH3w.js} +4338 -4324
- package/dist/chunks/{editor-action-buttons-BTCKZERI.js → editor-action-buttons-Bnxxa439.js} +7 -7
- package/dist/chunks/{editor-action-buttons-Czq5SnA9.cjs → editor-action-buttons-CmDaQbPN.cjs} +1 -1
- package/dist/chunks/{field-aggregations-CzuQKtqx.js → field-aggregations-Dl2A3rbV.js} +461 -358
- package/dist/chunks/field-aggregations-pH_3kymD.cjs +1 -0
- package/dist/chunks/{field-dependencies-DIab72rQ.cjs → field-dependencies-EB485TdB.cjs} +1 -1
- package/dist/chunks/{field-dependencies-DXW4jtvJ.js → field-dependencies-v-lJNzC7.js} +1 -1
- package/dist/chunks/{index-Dlic9KZs.js → index-BVVl2JDK.js} +57730 -54586
- package/dist/chunks/index-DfqMtR9S.cjs +4 -0
- package/dist/chunks/index-UNKSfi7s.cjs +1434 -0
- package/dist/chunks/{index-v1OE4-eA.js → index-ylOpKRDu.js} +877 -849
- package/dist/chunks/{matrix-analytical-definition-Ct5Tu8np.cjs → matrix-analytical-definition-BWd159lN.cjs} +1 -1
- package/dist/chunks/{matrix-analytical-definition-BDAK2aEi.js → matrix-analytical-definition-BimC4XIV.js} +1 -1
- package/dist/chunks/{matrix-card-U4c72doZ.cjs → matrix-card-C2RjEYZ8.cjs} +1 -1
- package/dist/chunks/{matrix-card-DOIeTmjh.js → matrix-card-CIlz0Dnp.js} +2 -2
- package/dist/chunks/{matrix-control-sources-FjxGIbqk.cjs → matrix-control-sources-BvEJF7d3.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-BxKH2yu2.js → matrix-control-sources-KbZe1gj_.js} +51 -51
- package/dist/chunks/{matrix-definition-CBJW_4ii.cjs → matrix-definition-DanUT11P.cjs} +1 -1
- package/dist/chunks/{matrix-definition-I9rHB9zN.js → matrix-definition-E5gXXSTZ.js} +1 -1
- package/dist/chunks/matrix-formatter-BJTO8ky9.cjs +1 -0
- package/dist/chunks/{matrix-formatter-BdIsE7Qu.js → matrix-formatter-CCXNRt3s.js} +81 -81
- package/dist/chunks/{matrix-member-presentation-DO1VSqfh.js → matrix-member-presentation-Bw7-JCrr.js} +64 -64
- package/dist/chunks/matrix-member-presentation-DvXDEo0U.cjs +1 -0
- package/dist/chunks/{matrix-operation-contract-DoiWTUbT.cjs → matrix-operation-contract-0RxoU_M3.cjs} +1 -1
- package/dist/chunks/{matrix-operation-contract-D0HfzwZg.js → matrix-operation-contract-D32U2CSw.js} +19 -19
- package/dist/chunks/{metric-comparison-Dqc7_tnW.js → metric-comparison-BphoJ9bq.js} +1 -1
- package/dist/chunks/{metric-comparison-DBQ3EJTz.cjs → metric-comparison-CUmltzpz.cjs} +1 -1
- package/dist/chunks/pivot-header-presentation-BSZhB1g-.js +661 -0
- package/dist/chunks/pivot-header-presentation-EoUS5ze5.cjs +5 -0
- package/dist/chunks/{pivot-result-identity-8M-bZrw9.js → pivot-result-identity-BzUQiCEV.js} +4 -4
- package/dist/chunks/{pivot-result-identity-uTiylUNr.cjs → pivot-result-identity-gquWljbd.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-vg_suUNb.cjs → pivot-result-lifecycle-gl9cBfB-.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-CEmyU2At.js → pivot-result-lifecycle-kRhiJkzg.js} +8 -8
- package/dist/chunks/{raw-temporal-Bj6_w9cG.js → raw-temporal-BqOfk-xN.js} +16 -16
- package/dist/chunks/{raw-temporal-contract-CFLGwTiI.js → raw-temporal-contract-BQZIJ1fn.js} +1 -1
- package/dist/chunks/{raw-temporal-contract-DECbTuzA.cjs → raw-temporal-contract-CklMVG_1.cjs} +1 -1
- package/dist/chunks/{raw-temporal-CeblVJbu.cjs → raw-temporal-eJXecCyJ.cjs} +1 -1
- package/dist/chunks/{report-preferences-dialog-b8J6KjSy.js → report-preferences-dialog-CHXPEl7v.js} +6 -6
- package/dist/chunks/{report-preferences-dialog-Dr1BYwuf.cjs → report-preferences-dialog-Cto0vDwI.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-Cs65Mrxj.js → report-runtime-context-CxIoGyNM.js} +1 -1
- package/dist/chunks/{report-runtime-context-DzvHBPxl.cjs → report-runtime-context-CzSrCBsu.cjs} +1 -1
- package/dist/chunks/{selection-reducer-BIiQXbGM.js → selection-reducer-CvCBQbl2.js} +1 -1
- package/dist/chunks/{selection-reducer-CGKKsaPa.cjs → selection-reducer-Kl22OzIk.cjs} +1 -1
- package/dist/chunks/{semantic-format-Dt-nUxFB.js → semantic-format-DwqGYx4V.js} +2 -2
- package/dist/chunks/{semantic-format-DFI1iszk.cjs → semantic-format-mVI32OJH.cjs} +1 -1
- package/dist/chunks/{source-entity-resolution-D7vnmDwm.js → source-entity-resolution-Bzefiive.js} +7 -7
- package/dist/chunks/{source-entity-resolution-CjbgnwyX.cjs → source-entity-resolution-R46X34SE.cjs} +1 -1
- package/dist/chunks/switch-DNbWXEOP.cjs +134 -0
- package/dist/chunks/{switch-D5_tjsIS.js → switch-DNv-hVmt.js} +8230 -7681
- package/dist/chunks/{temporal-bucket-B9hMwemw.js → temporal-bucket-DlFuhCnT.js} +6 -6
- package/dist/chunks/{temporal-bucket-contract-IWDgyTMw.js → temporal-bucket-contract-DTLDRzgV.js} +1 -1
- package/dist/chunks/{temporal-bucket-contract-ZctiyXYk.cjs → temporal-bucket-contract-nTv6gvX5.cjs} +1 -1
- package/dist/chunks/{token-types-Dl0hcKBX.js → token-types-BC6RcUY8.js} +1 -1
- package/dist/chunks/{token-types-Ahh5u4iT.cjs → token-types-aWrzwonf.cjs} +1 -1
- package/dist/chunks/{update-policy-COjFudhl.cjs → update-policy-DRDLWe7Y.cjs} +1 -1
- package/dist/chunks/{update-policy-BeQqjupC.js → update-policy-DhAUtiC8.js} +2 -2
- package/dist/chunks/{validators-CkHsAvwB.js → validators-CsdOtZI6.js} +411 -397
- package/dist/chunks/validators-DFeDcdpA.cjs +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +233 -227
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +3 -3
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +5 -5
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +5 -5
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +291 -402
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/pdf-table-layout/index.cjs +1 -0
- package/dist/pdf-table-layout/index.js +993 -0
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/briefings/index.d.ts +1 -1
- package/dist/types/components/document-sheet/document-input-bar.d.ts +1 -3
- package/dist/types/components/document-sheet/document-insert-picker.d.ts +37 -0
- package/dist/types/components/document-sheet/document-kpi-section.d.ts +17 -0
- package/dist/types/components/document-sheet/document-matrix-layout-context.d.ts +10 -0
- package/dist/types/components/document-sheet/document-matrix-section.d.ts +27 -0
- package/dist/types/components/document-sheet/document-measure-layer.d.ts +45 -0
- package/dist/types/components/document-sheet/document-outline.d.ts +7 -1
- package/dist/types/components/document-sheet/document-page-navigation.d.ts +22 -0
- package/dist/types/components/document-sheet/document-page.d.ts +9 -5
- package/dist/types/components/document-sheet/document-panel/document-side-panel.d.ts +36 -0
- package/dist/types/components/document-sheet/document-panel/inputs-panel.d.ts +9 -0
- package/dist/types/components/document-sheet/document-panel/page-panel.d.ts +5 -0
- package/dist/types/components/document-sheet/document-panel/panel-controls.d.ts +14 -0
- package/dist/types/components/document-sheet/document-panel/region-panels.d.ts +11 -0
- package/dist/types/components/document-sheet/document-panel/section-panel.d.ts +25 -0
- package/dist/types/components/document-sheet/document-section-print-boundary.d.ts +9 -0
- package/dist/types/components/document-sheet/document-table-chrome.d.ts +22 -0
- package/dist/types/components/document-sheet/document-table-section.d.ts +3 -7
- package/dist/types/components/document-sheet/document-text-preview-context.d.ts +8 -0
- package/dist/types/components/document-sheet/use-first-fitting-variant.d.ts +18 -0
- package/dist/types/components/editor/editor-main/dashboard-variable-node.d.ts +12 -2
- package/dist/types/components/explorer/chart-configuration/matrix-authoring-controls.d.ts +7 -2
- package/dist/types/components/text-variables/variable-chip-plugin.d.ts +23 -0
- package/dist/types/components/text-variables/variable-chip.d.ts +18 -0
- package/dist/types/components/text-variables/variable-picker.d.ts +27 -0
- package/dist/types/components/visual/settings/table-presentation-settings.d.ts +27 -1
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +5 -5
- package/dist/types/lib/dashboard-inputs/text-variable-options.d.ts +15 -0
- package/dist/types/lib/document/document-canvas-actions.d.ts +22 -0
- package/dist/types/lib/document/document-edits.d.ts +119 -0
- package/dist/types/lib/document/document-kpi-figure.d.ts +27 -0
- package/dist/types/lib/document/document-kpi-layout.d.ts +29 -0
- package/dist/types/lib/document/document-kpi-section-edits.d.ts +15 -0
- package/dist/types/lib/document/document-matrix-bands.d.ts +66 -0
- package/dist/types/lib/document/document-matrix-print.d.ts +11 -0
- package/dist/types/lib/document/document-pagination.d.ts +56 -3
- package/dist/types/lib/document/document-panel-target.d.ts +19 -0
- package/dist/types/lib/document/document-section-editor.d.ts +8 -7
- package/dist/types/lib/document/document-section-kinds.d.ts +49 -0
- package/dist/types/lib/document/document-section-query-options.d.ts +25 -0
- package/dist/types/lib/document/document-section-render-state.d.ts +26 -0
- package/dist/types/lib/document/document-section-utils.d.ts +11 -4
- package/dist/types/lib/document/document-table-dom.d.ts +4 -6
- package/dist/types/lib/document/document-table-pagination-model.d.ts +0 -5
- package/dist/types/lib/document/document-table-print-model.d.ts +4 -3
- package/dist/types/lib/document/document-table-style.d.ts +15 -4
- package/dist/types/lib/document/document-table-surface.d.ts +15 -0
- package/dist/types/lib/document/document-variables.d.ts +40 -6
- package/dist/types/lib/document/use-document-section-data.d.ts +39 -0
- package/dist/types/lib/document/use-measured-document-table-layout.d.ts +50 -0
- package/dist/types/lib/formatters/kpi-result-values.d.ts +20 -0
- package/dist/types/lib/hooks/query-context/use-dashboard-card-execution-snapshot.d.ts +8 -2
- package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +6 -0
- package/dist/types/lib/hooks/use-dashboard-kpi-actions.d.ts +1 -1
- package/dist/types/lib/hooks/use-document-section-editor.d.ts +2 -2
- package/dist/types/lib/hooks/use-document-section-session.d.ts +36 -0
- package/dist/types/lib/hooks/use-editor-preview.d.ts +17 -0
- package/dist/types/lib/hooks/use-is-editing-card.d.ts +7 -0
- package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-delivery.d.ts +4 -0
- package/dist/types/lib/matrix-table/matrix-layout-read.d.ts +68 -0
- package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +8 -1
- package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +4 -2
- package/dist/types/lib/query-context/card-execution.d.ts +30 -0
- package/dist/types/lib/query-context/document-section-card-query.d.ts +37 -0
- package/dist/types/lib/stores/dashboard-store.d.ts +12 -8
- package/dist/types/lib/stores/editor-store.d.ts +2 -0
- package/dist/types/lib/text-variables/text-variable-types.d.ts +39 -0
- package/dist/types/lib/types/common-types.d.ts +34 -1
- package/dist/types/lib/utils/card-definition.d.ts +2 -0
- package/dist/types/lib/utils/card-utils.d.ts +13 -6
- package/dist/types/pdf-table-layout.d.ts +2 -0
- package/dist/types/shared/analytics-protocol/index.d.ts +1 -1
- package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +45 -0
- package/dist/types/shared/analytics-protocol/matrix-member-presentation.d.ts +4 -0
- package/dist/types/shared/dashboard-authoring/document-section-cards.d.ts +56 -0
- package/dist/types/shared/dashboard-authoring/index.d.ts +1 -0
- package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +36 -1
- package/dist/types/shared/format-utils/formatters/matrix-formatter.d.ts +5 -0
- package/dist/types/shared/format-utils/index.d.ts +1 -0
- package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +690 -1
- package/dist/types/shared/format-utils/matrix-print.d.ts +38 -0
- package/dist/types/shared/format-utils/pdf-table-layout/column-bands.d.ts +55 -0
- package/dist/types/shared/format-utils/pdf-table-layout/index.d.ts +6 -0
- package/dist/types/shared/format-utils/pdf-table-layout/page-size.d.ts +7 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-semantics.d.ts +106 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-widths.d.ts +13 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-page-geometry.d.ts +19 -0
- package/dist/types/shared/format-utils/pdf-table-layout/wide-table-layout.d.ts +46 -0
- package/dist/types/shared/format-utils/table-structure.d.ts +9 -0
- package/package.json +6 -1
- package/dist/chunks/edit-dashboard-visual-CI0EqzKj.cjs +0 -172
- package/dist/chunks/field-aggregations-jSi77h9Z.cjs +0 -1
- package/dist/chunks/index-BMMXKK3G.cjs +0 -4
- package/dist/chunks/index-C6_xef4P.cjs +0 -1424
- package/dist/chunks/matrix-formatter-Dajj91Ni.cjs +0 -1
- package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +0 -1
- package/dist/chunks/pivot-header-presentation-BIf4HW3L.js +0 -414
- package/dist/chunks/pivot-header-presentation-B_N11CgN.cjs +0 -5
- package/dist/chunks/switch-Ced9ZZwI.cjs +0 -134
- package/dist/chunks/validators-DVYAnnX0.cjs +0 -1
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-UNKSfi7s.cjs"),r=require("../chunks/common-types-nBuCd3u2.cjs"),o=require("../chunks/report-preferences-dialog-Cto0vDwI.cjs");exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.Surfboard=e.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=r.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;exports.ReportPreferencesDialog=o.ReportPreferencesDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as a, a as o } from "../chunks/index-
|
|
1
|
+
import { b as a, a as o } from "../chunks/index-BVVl2JDK.js";
|
|
2
2
|
import { C as f, E } from "../chunks/common-types-C6cAQgyh.js";
|
|
3
|
-
import { R as t } from "../chunks/report-preferences-dialog-
|
|
3
|
+
import { R as t } from "../chunks/report-preferences-dialog-CHXPEl7v.js";
|
|
4
4
|
export {
|
|
5
5
|
f as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
a as DisplayFormatPreferencesFields,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NumericCanonicalFormat, NumericPresentationTarget, PresentationExecutionSnapshot } from '../shared/format-utils/index.js';
|
|
2
2
|
import { BriefingAppearanceSpec, BriefingFragments, BriefingThemeOverrides } from './presentation-contract.js';
|
|
3
3
|
import { MatrixConfig } from '../shared/analytics-protocol/index.js';
|
|
4
|
-
export { captureMatrixExport, buildMatrixDeliveryEnvelope, matrixDeliveryPayloadSchema, matrixDeliveryQuerySchema } from '../shared/dashboard-authoring/matrix-delivery.js';
|
|
4
|
+
export { captureMatrixExport, buildMatrixDeliveryEnvelope, matrixDeliveryPayloadSchema, matrixDeliveryQuerySchema, type MatrixLayoutReadResult } from '../shared/dashboard-authoring/matrix-delivery.js';
|
|
5
5
|
export declare const BRIEFING_KIND: "BRIEFING";
|
|
6
6
|
export { DEFAULT_BRIEFING_SCHEDULE, buildBriefingScheduleExpr, describeBriefingSchedule, isValidBriefingTimezone, parseBriefingScheduleExpr, type BriefingScheduleCadence, type BriefingScheduleViewModel, } from './schedule.js';
|
|
7
7
|
export { getBriefingCardAttachmentCapability, getBriefingCardAttachmentFormats, getDefaultBriefingCardAttachmentFormat, type BriefingCardAttachmentCapability, } from './attachments.js';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
1
|
import { FilterAuthoringAcceptance, FilterAuthoringInputMetadata } from '../surfboard/filter/custom-filter-popover.js';
|
|
3
2
|
import { TFilter, TFilterValue } from '../surfboard/filter/types.js';
|
|
4
3
|
import { DocumentFilterMode } from '../../lib/document/document-input-runtime.js';
|
|
5
4
|
import { ControlDefinition, DocumentInputDefinition, NormalizedDashboardInput } from '../../lib/types/common-types.js';
|
|
6
|
-
export declare function DocumentInputBar({ className, sheetId, inputs, dashboardInputsById, filterValuesByInputId, filterModesByInputId, documentFilterValues, documentControlValues, onSetFilterValue, onSetFilterMode, onUpdateFilterInput, onUpdateControlInput, onRemoveFilterValue, onRemoveInput, onReorderInputs, controlValuesByInputId, onSetControlValue,
|
|
5
|
+
export declare function DocumentInputBar({ className, sheetId, inputs, dashboardInputsById, filterValuesByInputId, filterModesByInputId, documentFilterValues, documentControlValues, onSetFilterValue, onSetFilterMode, onUpdateFilterInput, onUpdateControlInput, onRemoveFilterValue, onRemoveInput, onReorderInputs, controlValuesByInputId, onSetControlValue, isEditing, }: {
|
|
7
6
|
className?: string;
|
|
8
7
|
/** The document sheet these inputs belong to; the target scope for options. */
|
|
9
8
|
sheetId: string;
|
|
@@ -27,6 +26,5 @@ export declare function DocumentInputBar({ className, sheetId, inputs, dashboard
|
|
|
27
26
|
onReorderInputs?: (orderedInputIds: string[]) => void;
|
|
28
27
|
controlValuesByInputId: Record<string, unknown>;
|
|
29
28
|
onSetControlValue: (inputId: string, value: unknown) => void;
|
|
30
|
-
actions?: ReactNode;
|
|
31
29
|
isEditing?: boolean;
|
|
32
30
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AddableDocumentSectionType } from '../../lib/document/document-section-utils.js';
|
|
3
|
+
import { DashboardCardLocation } from '../../shared/dashboard-authoring/document-section-cards.js';
|
|
4
|
+
export type DocumentInsertChoice = {
|
|
5
|
+
kind: 'section';
|
|
6
|
+
type: AddableDocumentSectionType;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'copy';
|
|
9
|
+
source: DashboardCardLocation;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The one way to add a section: kind first (Data, Content, Layout), then
|
|
13
|
+
* "Copy from this dashboard". It opens from the outline's Add button, the
|
|
14
|
+
* gutters between sections, and the empty page. Section kinds come from the
|
|
15
|
+
* registry, and copyable cards from `listCopyableDocumentCardLocations`, so
|
|
16
|
+
* the picker never offers what an edit would refuse.
|
|
17
|
+
*/
|
|
18
|
+
export declare function DocumentInsertPicker({ onChoose, className, }: {
|
|
19
|
+
onChoose: (choice: DocumentInsertChoice) => void;
|
|
20
|
+
className?: string;
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* The picker in a popover on any trigger. A choice runs only after the
|
|
24
|
+
* popover has closed and unmounted (`onCloseAutoFocus`). Adding a data section
|
|
25
|
+
* opens the full-screen editor, which hides the document in a React
|
|
26
|
+
* <Activity>; this portaled content sits outside that tree, and an unmount
|
|
27
|
+
* scheduled while the document is hidden would be deferred, leaving the
|
|
28
|
+
* picker stuck on screen.
|
|
29
|
+
*/
|
|
30
|
+
export declare function DocumentInsertPickerPopover({ open, onOpenChange, trigger, onChoose, align, side, }: {
|
|
31
|
+
open: boolean;
|
|
32
|
+
onOpenChange: (open: boolean) => void;
|
|
33
|
+
trigger: ReactNode;
|
|
34
|
+
onChoose: (choice: DocumentInsertChoice) => void;
|
|
35
|
+
align?: 'start' | 'center' | 'end';
|
|
36
|
+
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
37
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DocumentSectionRuntime } from '../../lib/document/document-section-query-options.js';
|
|
2
|
+
import { DocumentKpiSection } from '../../lib/types/common-types.js';
|
|
3
|
+
export type EditDocumentKpiCard = (section: DocumentKpiSection, cardId: string) => void;
|
|
4
|
+
type DocumentKpiSectionProps = {
|
|
5
|
+
section: DocumentKpiSection;
|
|
6
|
+
runtime: DocumentSectionRuntime;
|
|
7
|
+
isEditing: boolean;
|
|
8
|
+
onEditKpiCard?: EditDocumentKpiCard;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* A KPI section on a Document page: one query per KPI card, printed as a row
|
|
12
|
+
* of tiles or as label and value lines. The section's height is fixed by
|
|
13
|
+
* `document-kpi-layout`, so pagination places it exactly and never splits it.
|
|
14
|
+
*/
|
|
15
|
+
declare function DocumentKpiSectionRendererImpl({ section, runtime, isEditing, onEditKpiCard, }: DocumentKpiSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const DocumentKpiSectionRenderer: import('react').MemoExoticComponent<typeof DocumentKpiSectionRendererImpl>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DocumentMatrixFit } from '../../lib/document/document-matrix-bands.js';
|
|
2
|
+
/** What the measuring layer found for a Matrix section (Plan 2, N1 and B2). */
|
|
3
|
+
export type DocumentMatrixLayout = {
|
|
4
|
+
/** Each column's width over the whole result. */
|
|
5
|
+
columnWidthsPx?: readonly number[];
|
|
6
|
+
/** How the Matrix fits the page body: one table, bands, or too wide. */
|
|
7
|
+
matrixFit?: DocumentMatrixFit;
|
|
8
|
+
};
|
|
9
|
+
/** The measuring layer's Matrix layouts by section id; page slices draw them. */
|
|
10
|
+
export declare const DocumentMatrixLayoutContext: import('react').Context<Readonly<Record<string, DocumentMatrixLayout | undefined>>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DocumentTableRowCountChange, DocumentTableSlice } from '../../lib/document/document-pagination.js';
|
|
2
|
+
import { DocumentTableLayoutMeasurement } from '../../lib/document/document-table-print-model.js';
|
|
3
|
+
import { ControlDefinition, DashboardInputValues, DocumentTableSection } from '../../lib/types/common-types.js';
|
|
4
|
+
import { TFilterValue } from '../surfboard/filter/types.js';
|
|
5
|
+
type DocumentMatrixSectionProps = {
|
|
6
|
+
section: DocumentTableSection;
|
|
7
|
+
documentFilterValues: TFilterValue[];
|
|
8
|
+
documentControlDefinitions: ControlDefinition[];
|
|
9
|
+
documentControlValues: Record<string, unknown>;
|
|
10
|
+
documentDashboardInputValues?: DashboardInputValues;
|
|
11
|
+
tableSlice?: DocumentTableSlice;
|
|
12
|
+
initialRowsPerPageLimit?: number;
|
|
13
|
+
surfaceMode: 'preview' | 'print';
|
|
14
|
+
onTableRowCountChange?: DocumentTableRowCountChange;
|
|
15
|
+
onTableLayoutMeasure?: (sectionId: string, measurement: DocumentTableLayoutMeasurement) => void;
|
|
16
|
+
onTableLayoutInvalidate?: (sectionId: string) => void;
|
|
17
|
+
measurementScale: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A Matrix section: the full result from one delivery-authorized layout read
|
|
21
|
+
* (tech spec D-M1), drawn as a static table in the document table surface and
|
|
22
|
+
* paginated like any table section. It never mounts the windowed Matrix
|
|
23
|
+
* viewer, and it never prints part of a result: a failed read fails the
|
|
24
|
+
* section, and a scheduled PDF with it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function DocumentMatrixSection(props: DocumentMatrixSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DocumentTableRowCountChange } from '../../lib/document/document-pagination.js';
|
|
3
|
+
import { DocumentTableLayoutMeasurement } from '../../lib/document/document-table-print-model.js';
|
|
4
|
+
import { ControlDefinition, DashboardInputValues, DocumentTableSection } from '../../lib/types/common-types.js';
|
|
5
|
+
import { TFilterValue } from '../surfboard/filter/types.js';
|
|
6
|
+
/** Rows a flat table draws per measuring pass; its column widths are fixed. */
|
|
7
|
+
export declare const DOCUMENT_TABLE_MEASURE_CHUNK_ROWS = 500;
|
|
8
|
+
export type DocumentRegionHeights = {
|
|
9
|
+
header?: number;
|
|
10
|
+
footer?: number;
|
|
11
|
+
};
|
|
12
|
+
type DocumentMeasureLayerProps = {
|
|
13
|
+
/** The paginated Table and Matrix sections. */
|
|
14
|
+
sections: readonly DocumentTableSection[];
|
|
15
|
+
/** The page body width, in page pixels. */
|
|
16
|
+
bodyWidthPx: number;
|
|
17
|
+
/** The zoom the page is drawn at; the layer cancels it. */
|
|
18
|
+
measurementScale: number;
|
|
19
|
+
surfaceMode: 'preview' | 'print';
|
|
20
|
+
/** Holds the PDF (print) until every section is measured (N3). */
|
|
21
|
+
isMeasuring: boolean;
|
|
22
|
+
header: ReactNode;
|
|
23
|
+
footer: ReactNode;
|
|
24
|
+
documentFilterValues: TFilterValue[];
|
|
25
|
+
documentControlDefinitions: ControlDefinition[];
|
|
26
|
+
documentControlValues: Record<string, unknown>;
|
|
27
|
+
documentDashboardInputValues?: DashboardInputValues;
|
|
28
|
+
previewRowLimitsBySectionId: Record<string, number>;
|
|
29
|
+
defaultPreviewRowLimit: number;
|
|
30
|
+
onTableRowCountChange: DocumentTableRowCountChange;
|
|
31
|
+
onTableLayoutMeasure: (sectionId: string, measurement: DocumentTableLayoutMeasurement) => void;
|
|
32
|
+
onTableLayoutInvalidate: (sectionId: string) => void;
|
|
33
|
+
onRegionHeightsChange: (heights: DocumentRegionHeights) => void;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* The Document's single source of layout measurements (Plan 2, N1). It draws
|
|
37
|
+
* every paginated Table and Matrix section once, off the page, at page body
|
|
38
|
+
* width and without the canvas zoom, on the canvas and in print alike, so
|
|
39
|
+
* both paginate from the same numbers. Visible pages only draw.
|
|
40
|
+
*
|
|
41
|
+
* The layer is a zero-size, clipped, hidden box: it takes no space, never
|
|
42
|
+
* prints and is never announced, but its content is still laid out.
|
|
43
|
+
*/
|
|
44
|
+
export declare function DocumentMeasureLayer({ sections, bodyWidthPx, measurementScale, surfaceMode, isMeasuring, header, footer, onRegionHeightsChange, ...sectionProps }: DocumentMeasureLayerProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { DashboardCardLocation } from '../../shared/dashboard-authoring/document-section-cards.js';
|
|
1
2
|
import { AddableDocumentSectionType } from '../../lib/document/document-section-utils.js';
|
|
2
3
|
import { DocumentInputDefinition, DocumentSection } from '../../lib/types/common-types.js';
|
|
3
4
|
export type DocumentSectionDropPlacement = 'before' | 'after';
|
|
4
|
-
export declare function DocumentOutline({ sections, inputs, selectedSectionId, onSelectSection, onDeleteSection, onReorderSection, onInsertSection, }: {
|
|
5
|
+
export declare function DocumentOutline({ sections, inputs, selectedSectionId, onSelectSection, onDeleteSection, onReorderSection, onInsertSection, onCopyCard, startPageBySectionId, }: {
|
|
5
6
|
sections: DocumentSection[];
|
|
6
7
|
inputs: DocumentInputDefinition[];
|
|
7
8
|
selectedSectionId: string | null;
|
|
@@ -12,4 +13,9 @@ export declare function DocumentOutline({ sections, inputs, selectedSectionId, o
|
|
|
12
13
|
* "+ Add" entry replaces the inline + Add buttons that used to sit
|
|
13
14
|
* between every section on the canvas. */
|
|
14
15
|
onInsertSection?: (type: AddableDocumentSectionType) => void;
|
|
16
|
+
/** Append a copy of a dashboard card as a new section. */
|
|
17
|
+
onCopyCard?: (source: DashboardCardLocation) => void;
|
|
18
|
+
/** The page each section starts on. Every page is measured, whichever
|
|
19
|
+
* page is shown, so these are the printed pages. */
|
|
20
|
+
startPageBySectionId?: Record<string, number>;
|
|
15
21
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Document pager, floating at the bottom of the canvas in the editor and
|
|
3
|
+
* the viewer. It sits on the app canvas, not the paper, so it follows the
|
|
4
|
+
* theme: a 28px (h-7) shell like every Document toolbar control, with a
|
|
5
|
+
* hairline and the floating-menu shadow; the buttons and the page field sit
|
|
6
|
+
* inside it with the chip radius (BRAND.md, TOKENS.md).
|
|
7
|
+
*/
|
|
8
|
+
export declare function DocumentPageNavigation({ pageNumber, pageCount, onGoToPage, }: {
|
|
9
|
+
pageNumber: number;
|
|
10
|
+
pageCount: number;
|
|
11
|
+
/** Any page; the caller clamps it to the Document's pages. */
|
|
12
|
+
onGoToPage: (pageNumber: number) => void;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
/**
|
|
15
|
+
* The pager's "n / N": the page number is a field, so a reader can type a
|
|
16
|
+
* page and press Enter to go to it. Escape or an empty field keeps the page.
|
|
17
|
+
*/
|
|
18
|
+
export declare function DocumentPageNumberInput({ pageNumber, pageCount, onGoToPage, }: {
|
|
19
|
+
pageNumber: number;
|
|
20
|
+
pageCount: number;
|
|
21
|
+
onGoToPage: (pageNumber: number) => void;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DocumentMatrixFit } from '../../lib/document/document-matrix-bands.js';
|
|
2
2
|
import { AddableDocumentSectionType } from '../../lib/document/document-section-utils.js';
|
|
3
3
|
import { DocumentTextRenderContext } from '../../lib/document/document-variables.js';
|
|
4
4
|
import { DocumentTableResultColumnsChange } from '../../lib/document/document-table-result-columns.js';
|
|
5
5
|
import { DocumentFilterMode } from '../../lib/document/document-input-runtime.js';
|
|
6
|
+
import { EditDocumentKpiCard } from './document-kpi-section.js';
|
|
6
7
|
import { TFilterValue } from '../surfboard/filter/types.js';
|
|
7
8
|
import { DashboardInputValues, DocumentControlInputDefinition, DocumentDefinition, DocumentInputDefinition, NormalizedDashboardInput, DocumentTableSection } from '../../lib/types/common-types.js';
|
|
8
9
|
type UpdateDocumentTableSection = (sectionId: string, updater: (section: DocumentTableSection) => DocumentTableSection) => void;
|
|
9
|
-
export declare function DocumentViewerSurface({ sheetId, document, inputs, dashboardInputsById, textRenderContext, filterValuesByInputId, filterModesByInputId, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, onSetFilterValue, onSetFilterMode, onRemoveFilterValue, controlValuesByInputId, onSetControlValue,
|
|
10
|
+
export declare function DocumentViewerSurface({ sheetId, document, inputs, dashboardInputsById, textRenderContext, filterValuesByInputId, filterModesByInputId, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, onSetFilterValue, onSetFilterMode, onRemoveFilterValue, controlValuesByInputId, onSetControlValue, }: {
|
|
10
11
|
/** The document sheet being viewed; the target scope for its inputs. */
|
|
11
12
|
sheetId: string;
|
|
12
13
|
document: DocumentDefinition;
|
|
@@ -25,7 +26,6 @@ export declare function DocumentViewerSurface({ sheetId, document, inputs, dashb
|
|
|
25
26
|
onRemoveFilterValue: (inputId: string) => void;
|
|
26
27
|
controlValuesByInputId: Record<string, unknown>;
|
|
27
28
|
onSetControlValue: (inputId: string, value: unknown) => void;
|
|
28
|
-
actions?: ReactNode;
|
|
29
29
|
}): import("react/jsx-runtime").JSX.Element;
|
|
30
30
|
export declare function DocumentPrintSurface({ document, inputs, textRenderContext, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, }: {
|
|
31
31
|
document: DocumentDefinition;
|
|
@@ -37,7 +37,7 @@ export declare function DocumentPrintSurface({ document, inputs, textRenderConte
|
|
|
37
37
|
documentDashboardInputValues?: DashboardInputValues;
|
|
38
38
|
missingRequiredInputLabels: string[];
|
|
39
39
|
}): import("react/jsx-runtime").JSX.Element;
|
|
40
|
-
export declare function DocumentPage({ document, inputs, textRenderContext, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, isEditing, selectedSectionId, activeAddIndex, onSelectSection, onToggleAddIndex, onInsertSection,
|
|
40
|
+
export declare function DocumentPage({ document, inputs, textRenderContext, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, isEditing, selectedSectionId, activeAddIndex, onSelectSection, onToggleAddIndex, onInsertSection, onEditKpiCard, onUpdateTableSection, onTableResultColumnsChange, onReorderSection, pageNumber, onPageCountChange, onSectionStartPagesChange, onMatrixFitsChange, surfaceMode, measurementScale, }: {
|
|
41
41
|
document: DocumentDefinition;
|
|
42
42
|
inputs: DocumentInputDefinition[];
|
|
43
43
|
textRenderContext: DocumentTextRenderContext;
|
|
@@ -52,12 +52,16 @@ export declare function DocumentPage({ document, inputs, textRenderContext, docu
|
|
|
52
52
|
onSelectSection?: (sectionId: string | null) => void;
|
|
53
53
|
onToggleAddIndex?: (index: number | null) => void;
|
|
54
54
|
onInsertSection?: (type: AddableDocumentSectionType, insertIndex: number) => void;
|
|
55
|
-
|
|
55
|
+
onEditKpiCard?: EditDocumentKpiCard;
|
|
56
56
|
onUpdateTableSection?: UpdateDocumentTableSection;
|
|
57
57
|
onTableResultColumnsChange?: DocumentTableResultColumnsChange;
|
|
58
58
|
onReorderSection?: (draggedSectionId: string, targetSectionId: string, placement: 'before' | 'after') => void;
|
|
59
59
|
pageNumber?: number;
|
|
60
60
|
onPageCountChange?: (pageCount: number) => void;
|
|
61
|
+
/** The page each section starts on (1-based), for the outline. */
|
|
62
|
+
onSectionStartPagesChange?: (startPageBySectionId: Record<string, number>) => void;
|
|
63
|
+
/** How each Matrix section fits the page, for the section panel (2c). */
|
|
64
|
+
onMatrixFitsChange?: (fitBySectionId: Record<string, DocumentMatrixFit>) => void;
|
|
61
65
|
surfaceMode?: 'preview' | 'print';
|
|
62
66
|
measurementScale?: number;
|
|
63
67
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DocumentEdit } from '../../../lib/document/document-edits.js';
|
|
3
|
+
import { DocumentPanelTarget } from '../../../lib/document/document-panel-target.js';
|
|
4
|
+
import { DocumentTableResultColumnCacheEntry } from '../../../lib/document/document-table-result-columns.js';
|
|
5
|
+
import { DocumentDefinition, DocumentFooterRegion, DocumentHeaderRegion, DocumentKpiSection, DocumentPageSetup, DocumentSection, DocumentTableSection } from '../../../lib/types/common-types.js';
|
|
6
|
+
import { DocumentMatrixFit } from '../../../lib/document/document-matrix-bands.js';
|
|
7
|
+
/**
|
|
8
|
+
* The Document side panel. It follows the panel target:
|
|
9
|
+
* - `document`: Page, Header and footer, and Inputs, as stacked groups;
|
|
10
|
+
* - `header` and `footer`: the region's settings;
|
|
11
|
+
* - `section`: the selected section's settings.
|
|
12
|
+
* The header and footer are selected by clicking them on the page.
|
|
13
|
+
*/
|
|
14
|
+
export declare function DocumentSidePanel({ sheetId, target, onTargetChange, document, selectedSection, inputSourceSection, tableResultColumnCacheBySectionId, onSelectInputSourceSection, onUpdatePage, matrixFits, onUpdateSelectedSection, onUpdateHeader, onUpdateFooter, onEditTableSection, onEditKpiCard, onAddKpiCard, onEditSection, actions, }: {
|
|
15
|
+
sheetId: string;
|
|
16
|
+
target: DocumentPanelTarget;
|
|
17
|
+
onTargetChange: (target: DocumentPanelTarget) => void;
|
|
18
|
+
document: DocumentDefinition;
|
|
19
|
+
selectedSection: DocumentSection | null;
|
|
20
|
+
inputSourceSection: DocumentSection | null;
|
|
21
|
+
tableResultColumnCacheBySectionId: Record<string, DocumentTableResultColumnCacheEntry>;
|
|
22
|
+
/** Choose the table whose fields the Inputs group offers, without leaving it. */
|
|
23
|
+
onSelectInputSourceSection: (sectionId: string | null) => void;
|
|
24
|
+
onUpdatePage: (page: DocumentPageSetup) => void;
|
|
25
|
+
/** How each Matrix section fits the page (2c), by section id. */
|
|
26
|
+
matrixFits?: Record<string, DocumentMatrixFit>;
|
|
27
|
+
onUpdateSelectedSection: (updater: (section: DocumentSection) => DocumentSection) => void;
|
|
28
|
+
onUpdateHeader: (updater: (header: DocumentHeaderRegion | undefined) => DocumentHeaderRegion | undefined) => void;
|
|
29
|
+
onUpdateFooter: (updater: (footer: DocumentFooterRegion | undefined) => DocumentFooterRegion | undefined) => void;
|
|
30
|
+
onEditTableSection: (section: DocumentTableSection) => void;
|
|
31
|
+
onEditKpiCard: (section: DocumentKpiSection, cardId: string) => void;
|
|
32
|
+
onAddKpiCard: (section: DocumentKpiSection) => void;
|
|
33
|
+
onEditSection: (edit: DocumentEdit) => void;
|
|
34
|
+
/** Document-level actions (Edit/Preview toggle and Export), in the panel header. */
|
|
35
|
+
actions?: ReactNode;
|
|
36
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DocumentDefinition, DocumentSection, DocumentTableSection } from '../../../lib/types/common-types.js';
|
|
2
|
+
export declare function InputsInspector({ sheetId, document, selectedSection, inputCount, onSelectSection, onEditTableSection, }: {
|
|
3
|
+
sheetId: string;
|
|
4
|
+
document: DocumentDefinition;
|
|
5
|
+
selectedSection: DocumentSection | null;
|
|
6
|
+
inputCount: number;
|
|
7
|
+
onSelectSection: (sectionId: string | null) => void;
|
|
8
|
+
onEditTableSection: (section: DocumentTableSection) => void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function DraftNumberInput({ value, onValueChange, min, max, step, disabled, 'aria-label': ariaLabel, }: {
|
|
2
|
+
'value': number;
|
|
3
|
+
'onValueChange': (value: number) => void;
|
|
4
|
+
'min'?: number;
|
|
5
|
+
'max'?: number;
|
|
6
|
+
'step'?: number;
|
|
7
|
+
'disabled'?: boolean;
|
|
8
|
+
'aria-label'?: string;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function DraftColorInput({ value, onValueChange, 'aria-label': ariaLabel, }: {
|
|
11
|
+
'value': string;
|
|
12
|
+
'onValueChange': (value: string) => void;
|
|
13
|
+
'aria-label'?: string;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DocumentFooterRegion, DocumentHeaderRegion, DocumentInputDefinition } from '../../../lib/types/common-types.js';
|
|
2
|
+
export declare function HeaderInspector({ header, inputs, onUpdateHeader, }: {
|
|
3
|
+
header?: DocumentHeaderRegion;
|
|
4
|
+
inputs: DocumentInputDefinition[];
|
|
5
|
+
onUpdateHeader: (updater: (header: DocumentHeaderRegion | undefined) => DocumentHeaderRegion | undefined) => void;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function FooterInspector({ footer, inputs, onUpdateFooter, }: {
|
|
8
|
+
footer?: DocumentFooterRegion;
|
|
9
|
+
inputs: DocumentInputDefinition[];
|
|
10
|
+
onUpdateFooter: (updater: (footer: DocumentFooterRegion | undefined) => DocumentFooterRegion | undefined) => void;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DocumentEdit } from '../../../lib/document/document-edits.js';
|
|
3
|
+
import { QueryColumnKeyMap } from '../../../lib/types/explorer-types.js';
|
|
4
|
+
import { DocumentInputDefinition, DocumentPageSetup, DocumentSection, DocumentKpiSection, DocumentTableSection } from '../../../lib/types/common-types.js';
|
|
5
|
+
import { DocumentMatrixFit } from '../../../lib/document/document-matrix-bands.js';
|
|
6
|
+
export declare function SectionModeHeader({ section, onBack, actions, }: {
|
|
7
|
+
section: DocumentSection;
|
|
8
|
+
onBack: () => void;
|
|
9
|
+
actions?: ReactNode;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function SectionInspector({ section, inputs, tableResultColumns, tableColumnKeyMap, onUpdateSection, matrixFit, page, onUpdatePage, onEditTableSection, onEditKpiCard, onAddKpiCard, onEditSection, }: {
|
|
12
|
+
section: DocumentSection | null;
|
|
13
|
+
/** How this Matrix section fits the page, from the canvas (2c). */
|
|
14
|
+
matrixFit?: DocumentMatrixFit;
|
|
15
|
+
page?: DocumentPageSetup;
|
|
16
|
+
onUpdatePage?: (page: DocumentPageSetup) => void;
|
|
17
|
+
inputs: DocumentInputDefinition[];
|
|
18
|
+
tableResultColumns?: string[];
|
|
19
|
+
tableColumnKeyMap?: QueryColumnKeyMap;
|
|
20
|
+
onUpdateSection: (updater: (section: DocumentSection) => DocumentSection) => void;
|
|
21
|
+
onEditTableSection: (section: DocumentTableSection) => void;
|
|
22
|
+
onEditKpiCard: (section: DocumentKpiSection, cardId: string) => void;
|
|
23
|
+
onAddKpiCard: (section: DocumentKpiSection) => void;
|
|
24
|
+
onEditSection: (edit: DocumentEdit) => void;
|
|
25
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { DocumentSectionRenderState } from '../../lib/document/document-section-render-state.js';
|
|
3
|
+
/** Wraps a section's content with the markers for its state. */
|
|
4
|
+
export declare function DocumentSectionPrintBoundary({ sectionId, state, error, children, ...rest }: {
|
|
5
|
+
sectionId: string;
|
|
6
|
+
state: DocumentSectionRenderState;
|
|
7
|
+
error?: unknown;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'children'>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DocumentSectionRenderState } from '../../lib/document/document-section-render-state.js';
|
|
3
|
+
import { DocumentTableSection } from '../../lib/types/common-types.js';
|
|
4
|
+
export declare function DocumentTablePlaceholder({ section, reason, }: {
|
|
5
|
+
section: DocumentTableSection;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function DocumentTableLoading(): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function DocumentTableState({ icon, title, message, exportState, }: {
|
|
10
|
+
icon: ReactNode;
|
|
11
|
+
title: string;
|
|
12
|
+
message: string;
|
|
13
|
+
exportState?: Exclude<DocumentSectionRenderState, 'ready'>;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function DocumentTableHeader({ section, }: {
|
|
16
|
+
section: DocumentTableSection;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
+
/** "Edit Matrix" for a Matrix section, "Edit table" for Table and Pivot. */
|
|
19
|
+
export declare function DocumentTableEditLabel({ section, className, }: {
|
|
20
|
+
section: DocumentTableSection;
|
|
21
|
+
className: string;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { DocumentTableSlice } from '../../lib/document/document-pagination.js';
|
|
1
|
+
import { DocumentTableRowCountChange, DocumentTableSlice } from '../../lib/document/document-pagination.js';
|
|
2
2
|
import { DocumentTableLayoutMeasurement } from '../../lib/document/document-table-print-model.js';
|
|
3
3
|
import { DocumentTableResultColumnsChange } from '../../lib/document/document-table-result-columns.js';
|
|
4
|
-
import { ResolvedDocumentTableStyle } from '../../lib/document/document-table-style.js';
|
|
5
4
|
import { ControlDefinition, DashboardInputValues, DocumentTableSection } from '../../lib/types/common-types.js';
|
|
6
5
|
import { TFilterValue } from '../surfboard/filter/types.js';
|
|
7
|
-
export declare function getDocumentTableSurfaceClassName(style: ResolvedDocumentTableStyle): string;
|
|
8
6
|
type DocumentTableSectionRendererProps = {
|
|
9
7
|
section: DocumentTableSection;
|
|
10
8
|
documentFilterValues?: TFilterValue[];
|
|
@@ -17,9 +15,7 @@ type DocumentTableSectionRendererProps = {
|
|
|
17
15
|
tableSlice?: DocumentTableSlice;
|
|
18
16
|
initialRowsPerPageLimit?: number;
|
|
19
17
|
previewRowLimit?: number;
|
|
20
|
-
|
|
21
|
-
onEditTableSection?: (section: DocumentTableSection) => void;
|
|
22
|
-
onTableRowCountChange?: (sectionId: string, rowCount: number) => void;
|
|
18
|
+
onTableRowCountChange?: DocumentTableRowCountChange;
|
|
23
19
|
onTableResultColumnsChange?: DocumentTableResultColumnsChange;
|
|
24
20
|
onTableLayoutMeasure?: (sectionId: string, measurement: DocumentTableLayoutMeasurement) => void;
|
|
25
21
|
onTableLayoutInvalidate?: (sectionId: string) => void;
|
|
@@ -27,6 +23,6 @@ type DocumentTableSectionRendererProps = {
|
|
|
27
23
|
onPreviewRowLimitChange?: (nextRowLimit: number) => void;
|
|
28
24
|
measurementScale?: number;
|
|
29
25
|
};
|
|
30
|
-
declare function DocumentTableSectionRendererImpl({ section, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, isEditing, surfaceMode, tableSlice, initialRowsPerPageLimit, previewRowLimit,
|
|
26
|
+
declare function DocumentTableSectionRendererImpl({ section, documentFilterValues, documentControlDefinitions, documentControlValues, documentDashboardInputValues, missingRequiredInputLabels, isEditing, surfaceMode, tableSlice, initialRowsPerPageLimit, previewRowLimit, onTableRowCountChange, onTableResultColumnsChange, onTableLayoutMeasure, onTableLayoutInvalidate, onUpdateTableSection, onPreviewRowLimitChange, measurementScale, }: DocumentTableSectionRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
31
27
|
export declare const DocumentTableSectionRenderer: import('react').MemoExoticComponent<typeof DocumentTableSectionRendererImpl>;
|
|
32
28
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DocumentTextRenderContext } from '../../lib/document/document-variables.js';
|
|
2
|
+
/**
|
|
3
|
+
* What the Document's inputs and report values hold now, for the text
|
|
4
|
+
* editors' variable pickers ("Label: California"). The sheet provides it
|
|
5
|
+
* around its side panel; without it the pickers show no values.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DocumentTextPreviewContext: import('react').Context<DocumentTextRenderContext | null>;
|
|
8
|
+
export declare function useDocumentTextPreview(): DocumentTextRenderContext | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Picks the first of `variantCount` renderings whose text fits its element
|
|
4
|
+
* without overflowing (for example the same number at smaller type sizes).
|
|
5
|
+
* The caller renders variant `index`; after each layout the element is
|
|
6
|
+
* measured and, if it overflows, the next variant is tried. `overflowed`
|
|
7
|
+
* means no variant fits, so the caller must fail closed rather than print a
|
|
8
|
+
* clipped number.
|
|
9
|
+
*
|
|
10
|
+
* `contentKey` identifies the content (text and sizes); a change restarts the
|
|
11
|
+
* search. The parent's width is observed, so a wider or narrower box (zoom,
|
|
12
|
+
* orientation, a layout change) restarts it too.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useFirstFittingVariant<T extends HTMLElement>(variantCount: number, contentKey: string): {
|
|
15
|
+
ref: RefObject<T | null>;
|
|
16
|
+
index: number;
|
|
17
|
+
overflowed: boolean;
|
|
18
|
+
};
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { TextNode, DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedTextNode } from 'lexical';
|
|
2
2
|
import { DashboardInputVariableRef } from '../../../lib/types/common-types.js';
|
|
3
|
+
import { TextVariableChipFace } from '../../../lib/text-variables/text-variable-types.js';
|
|
3
4
|
export type SerializedDashboardVariableNode = SerializedTextNode & {
|
|
4
5
|
ref: DashboardInputVariableRef;
|
|
6
|
+
face?: TextVariableChipFace;
|
|
7
|
+
token?: string;
|
|
5
8
|
type: 'dashboard-variable';
|
|
6
9
|
version: 1;
|
|
7
10
|
};
|
|
8
11
|
export declare class DashboardVariableNode extends TextNode {
|
|
9
12
|
__ref: DashboardInputVariableRef;
|
|
13
|
+
__face: TextVariableChipFace;
|
|
14
|
+
/** `name.part`, for copying the variable as a typed token. */
|
|
15
|
+
__token: string;
|
|
10
16
|
static getType(): string;
|
|
11
17
|
static clone(node: DashboardVariableNode): DashboardVariableNode;
|
|
12
18
|
static importJSON(serializedNode: SerializedDashboardVariableNode): DashboardVariableNode;
|
|
13
19
|
static importDOM(): DOMConversionMap | null;
|
|
14
|
-
constructor(ref: DashboardInputVariableRef,
|
|
20
|
+
constructor(ref: DashboardInputVariableRef, face: TextVariableChipFace, token: string, key?: NodeKey);
|
|
15
21
|
getRef(): DashboardInputVariableRef;
|
|
22
|
+
getFace(): TextVariableChipFace;
|
|
23
|
+
getToken(): string;
|
|
24
|
+
/** Renames the chip when its input changes (its reference stays). */
|
|
25
|
+
setFace(face: TextVariableChipFace, token: string): this;
|
|
16
26
|
createDOM(_config: EditorConfig): HTMLElement;
|
|
17
27
|
updateDOM(prevNode: this, dom: HTMLElement): boolean;
|
|
18
28
|
exportDOM(): DOMExportOutput;
|
|
@@ -21,5 +31,5 @@ export declare class DashboardVariableNode extends TextNode {
|
|
|
21
31
|
canInsertTextBefore(): false;
|
|
22
32
|
canInsertTextAfter(): false;
|
|
23
33
|
}
|
|
24
|
-
export declare function $createDashboardVariableNode(ref: DashboardInputVariableRef,
|
|
34
|
+
export declare function $createDashboardVariableNode(ref: DashboardInputVariableRef, face: TextVariableChipFace, token: string): DashboardVariableNode;
|
|
25
35
|
export declare function $isDashboardVariableNode(node: LexicalNode | null | undefined): node is DashboardVariableNode;
|
|
@@ -10,13 +10,16 @@ export declare function Choice({ label, value, options, onChange, disabled, }: {
|
|
|
10
10
|
onChange: (value: string) => void;
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export declare function TextSetting({ label, value, onChange, type, min, max, }: {
|
|
13
|
+
export declare function TextSetting({ label, value, onChange, type, min, max, placeholder, hint, }: {
|
|
14
14
|
label: string;
|
|
15
15
|
value: string | number;
|
|
16
16
|
onChange: (value: string) => void;
|
|
17
17
|
type?: 'text' | 'number';
|
|
18
18
|
min?: number;
|
|
19
19
|
max?: number;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/** One line under the field. */
|
|
22
|
+
hint?: string;
|
|
20
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
21
24
|
export declare function Toggle({ label, checked, onChange, }: {
|
|
22
25
|
label: string;
|
|
@@ -29,8 +32,10 @@ export declare function IconAction({ label, disabled, onClick, children, }: {
|
|
|
29
32
|
onClick: () => void;
|
|
30
33
|
children: ReactNode;
|
|
31
34
|
}): import("react/jsx-runtime").JSX.Element;
|
|
32
|
-
export declare function TotalSettings({ label, value, onChange, }: {
|
|
35
|
+
export declare function TotalSettings({ label, value, onChange, role, }: {
|
|
33
36
|
label: string;
|
|
34
37
|
value: MatrixTotalPresentation;
|
|
35
38
|
onChange: (value: MatrixTotalPresentation) => void;
|
|
39
|
+
/** A subtotal's label can name its member; the grand total has none. */
|
|
40
|
+
role?: 'subtotal' | 'grand_total';
|
|
36
41
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LexicalNode, TextNode } from 'lexical';
|
|
2
|
+
import { TextVariableOption, TextVariableSelection } from '../../lib/text-variables/text-variable-types.js';
|
|
3
|
+
export type VariableChipAdapter = {
|
|
4
|
+
options: readonly TextVariableOption[];
|
|
5
|
+
/**
|
|
6
|
+
* For a variable node: what it shows, or `missing` when its input no longer
|
|
7
|
+
* exists. `null` for any other node.
|
|
8
|
+
*/
|
|
9
|
+
readNode: (node: LexicalNode) => {
|
|
10
|
+
selection?: TextVariableSelection;
|
|
11
|
+
missing?: boolean;
|
|
12
|
+
} | null;
|
|
13
|
+
/** A new variable node showing `selection`. */
|
|
14
|
+
createNode: (selection: TextVariableSelection) => TextNode;
|
|
15
|
+
};
|
|
16
|
+
export declare function VariableChipPlugin({ adapter, }: {
|
|
17
|
+
adapter: VariableChipAdapter;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
/** The toolbar's Input button: the same picker, with its own search. */
|
|
20
|
+
export declare function VariableInsertButton({ adapter, className, }: {
|
|
21
|
+
adapter: VariableChipAdapter;
|
|
22
|
+
className?: string;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TextVariableChipFace } from '../../lib/text-variables/text-variable-types.js';
|
|
2
|
+
export declare const VARIABLE_CHIP_CLASS_NAME = "semaphor-variable-chip";
|
|
3
|
+
type ChipOptions = {
|
|
4
|
+
bold?: boolean;
|
|
5
|
+
/** The Document paper: white in both themes, so the colors stay light. */
|
|
6
|
+
surface?: 'paper';
|
|
7
|
+
/** Clicking the chip opens its picker (in an editor). */
|
|
8
|
+
interactive?: boolean;
|
|
9
|
+
};
|
|
10
|
+
/** Attributes for a chip rendered by React. */
|
|
11
|
+
export declare function variableChipAttributes(face: TextVariableChipFace, options?: ChipOptions): Record<string, string | undefined>;
|
|
12
|
+
/** Applies a chip's face to an element a Lexical node created. */
|
|
13
|
+
export declare function applyVariableChipToElement(element: HTMLElement, face: TextVariableChipFace, options?: ChipOptions & {
|
|
14
|
+
extraClassName?: string;
|
|
15
|
+
/** `name.part`: what copying the chip writes, as a typed token. */
|
|
16
|
+
token?: string;
|
|
17
|
+
}): void;
|
|
18
|
+
export {};
|