react-semaphor 0.1.425 → 0.1.426
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 +42 -39
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +1 -1
- package/dist/chunks/{calendar-preferences-dialog-BLaSWhLl.js → calendar-preferences-dialog-C-gN-vlq.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-DJwV0aqn.js → calendar-preferences-dialog-tBSngRN-.js} +2 -2
- package/dist/chunks/{catalog-field-grounding-DcxPLns0.js → catalog-field-grounding-AOGwWu0K.js} +2 -2
- package/dist/chunks/{code-editor-Bkk7s8hI.js → code-editor-Pod1s6SK.js} +6552 -6296
- package/dist/chunks/code-editor-tfzm8LWW.js +138 -0
- package/dist/chunks/{comparison-document-migration-CQJ0DZlL.js → comparison-document-migration-BJH1idOd.js} +1 -1
- package/dist/chunks/{comparison-document-migration-Db64RWYD.js → comparison-document-migration-b6c3xiWh.js} +1 -1
- package/dist/chunks/dashboard-JNK2ly_e.js +1402 -0
- package/dist/chunks/{dashboard-5agU0G_D.js → dashboard-ZoKNg47G.js} +50334 -49718
- package/dist/chunks/{dashboard-briefing-launcher-CII8-4qo.js → dashboard-briefing-launcher-0kR-QThz.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-qyEVfuOm.js → dashboard-briefing-launcher-BE-sNAzW.js} +4 -4
- package/dist/chunks/{dashboard-controls-PJpeYZHw.js → dashboard-controls-BUYTVauu.js} +1 -1
- package/dist/chunks/{dashboard-controls-aJY0FNPP.js → dashboard-controls-Ce_Bps8f.js} +5 -5
- package/dist/chunks/dashboard-date-comparison-definition-BaYxjLi5.js +167 -0
- package/dist/chunks/dashboard-date-comparison-definition-DGZr3m-b.js +1 -0
- package/dist/chunks/{dashboard-json-CzHSP6Fa.js → dashboard-json-4quaFoSw.js} +3 -3
- package/dist/chunks/{dashboard-json-DtmR5yCf.js → dashboard-json-81uc8aVR.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-AkZzwBCV.js → edit-dashboard-visual-DqQsH7rN.js} +4562 -4508
- package/dist/chunks/edit-dashboard-visual-nVRXv1Lq.js +182 -0
- package/dist/chunks/metric-comparison-BKgkMy9r.js +1 -0
- package/dist/chunks/metric-comparison-CWweq9RG.js +387 -0
- package/dist/chunks/{use-create-flow-overlay-state-DmuReEnk.js → use-create-flow-overlay-state-CoANTEXS.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-ByOKVV2K.js → use-create-flow-overlay-state-DUVIsF0y.js} +2 -2
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +1 -1
- package/dist/dashboard-authoring/index.js +3 -3
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- package/dist/data-app-sdk-validation/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +6 -6
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +40 -2
- package/dist/types/dashboard.d.ts +25 -0
- package/dist/types/main.d.ts +35 -5
- package/dist/types/surfboard.d.ts +25 -0
- package/dist/types/types.d.ts +25 -0
- package/package.json +1 -1
- package/dist/chunks/code-editor-CkXyNgYc.js +0 -138
- package/dist/chunks/dashboard-MKIqgGDp.js +0 -1402
- package/dist/chunks/edit-dashboard-visual-Cif6uDqN.js +0 -182
- package/dist/chunks/metric-comparison-4oA4ouU9.js +0 -354
- package/dist/chunks/metric-comparison-nQKquVnx.js +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/dashboard-MKIqgGDp.js"),d=require("./chunks/common-types-C73-Ud1-.js"),P=require("./chunks/calendar-preferences-dialog-BLaSWhLl.js"),i=require("react/jsx-runtime"),r=require("./chunks/code-editor-CkXyNgYc.js"),h=require("react"),B=require("./types/index.cjs"),l=require("./chunks/dashboard-briefing-launcher-CII8-4qo.js"),N=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("./chunks/analyze-result-contract-ege_u6Nl.js");require("react-dom");require("./chunks/index-Dpm_VET4.js");const y=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.js"),_=require("./chunks/index-jSrCwPQz.js");function R(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const u=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,u.get?u:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const C=R(h);function w(a){const{displayPreferences:t,cardId:o,...u}=a,n={...u,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(j,{cardId:o})})})})]})})}function j({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:u}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!u?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:u})})})}function L(a,t,o,u){h.useEffect(()=>{a&&!o&&t&&u(e.cloneDeep(t))},[a,o,t,u])}function M({name:a,items:t,value:o,onChange:u,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:m=!1}){const g=C.useRef(null),[b,T]=C.useState(!1),[S,A]=C.useState("100%"),x=m?[...t||[],{id:"none",name:"None"}]:t;C.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function F(f,p){u(p),T(!1)}return i.jsxs(r.Popover,{open:b,onOpenChange:T,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":b,className:r.cn("flex h-9 w-full justify-between",E),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[s&&i.jsx("div",{className:"mr-2",children:s}),i.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),i.jsx(_.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>F(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function I(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=d.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=d.EMPTY_SELECTION;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.CalendarPreferencesDialog=P.CalendarPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_CALENDAR_CONTEXT=B.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=B.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=N.useDebouncedDirtyCheck;exports.normalizeDashboardForDirtyCheck=y.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=y.serializeDashboardForDirtyCheck;exports.Combobox=M;exports.Visual=w;exports.useExposePrintState=I;exports.usePristineSnapshotInitializer=L;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/dashboard-JNK2ly_e.js"),d=require("./chunks/common-types-C73-Ud1-.js"),P=require("./chunks/calendar-preferences-dialog-C-gN-vlq.js"),i=require("react/jsx-runtime"),r=require("./chunks/code-editor-tfzm8LWW.js"),h=require("react"),B=require("./types/index.cjs"),l=require("./chunks/dashboard-briefing-launcher-0kR-QThz.js"),N=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("./chunks/analyze-result-contract-ege_u6Nl.js");require("react-dom");require("./chunks/index-Dpm_VET4.js");const y=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.js"),_=require("./chunks/index-jSrCwPQz.js");function R(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const u=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,u.get?u:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const C=R(h);function w(a){const{displayPreferences:t,cardId:o,...u}=a,n={...u,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(j,{cardId:o})})})})]})})}function j({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:u}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!u?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:u})})})}function L(a,t,o,u){h.useEffect(()=>{a&&!o&&t&&u(e.cloneDeep(t))},[a,o,t,u])}function M({name:a,items:t,value:o,onChange:u,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:m=!1}){const g=C.useRef(null),[b,T]=C.useState(!1),[S,A]=C.useState("100%"),x=m?[...t||[],{id:"none",name:"None"}]:t;C.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function F(f,p){u(p),T(!1)}return i.jsxs(r.Popover,{open:b,onOpenChange:T,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":b,className:r.cn("flex h-9 w-full justify-between",E),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[s&&i.jsx("div",{className:"mr-2",children:s}),i.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),i.jsx(_.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>F(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function I(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=d.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=d.EMPTY_SELECTION;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.CalendarPreferencesDialog=P.CalendarPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_CALENDAR_CONTEXT=B.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=B.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=N.useDebouncedDirtyCheck;exports.normalizeDashboardForDirtyCheck=y.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=y.serializeDashboardForDirtyCheck;exports.Combobox=M;exports.Visual=w;exports.useExposePrintState=I;exports.usePristineSnapshotInitializer=L;
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { E as b, F as N, S, q as P, U as w, r as _, s as F, t as x, v as R, w as I, h as M, i as L, I as k, x as U, j as O, k as V, l as z, m as q } from "./chunks/dashboard-
|
|
2
|
-
import { B as fa, y as ma, z as pa, A as ha, G as ga, H as Ca, D as Da, J as Ea, K as xa, L as ba, M as Ta, N as ya, O as Ba, P as va, P as Aa, Q as Na, T as Sa, a as Pa, V as wa, W as _a, X as Fa, Y as Ra, Z as Ia, _ as Ma, $ as La, a0 as ka, a1 as Ua, a2 as Oa, a3 as Va, a4 as za, a5 as qa, a6 as Wa, a7 as ja, a8 as Ha, a9 as Ga, aa as Qa, ab as Ka, ac as Xa, ad as Ya, ae as $a, af as Ja, ag as Za, ah as ae, ai as ee, aj as se, ak as re, al as oe, am as ie, an as te, ao as ne, ap as le, aq as de, ar as ue, as as ce, at as fe, au as me, av as pe, aw as he, ax as ge, ay as Ce, az as De, aA as Ee, aB as xe, aC as be, aD as Te, aE as ye, aF as Be, aG as ve, aH as Ae, aI as Ne, aJ as Se } from "./chunks/dashboard-
|
|
1
|
+
import { E as b, F as N, S, q as P, U as w, r as _, s as F, t as x, v as R, w as I, h as M, i as L, I as k, x as U, j as O, k as V, l as z, m as q } from "./chunks/dashboard-ZoKNg47G.js";
|
|
2
|
+
import { B as fa, y as ma, z as pa, A as ha, G as ga, H as Ca, D as Da, J as Ea, K as xa, L as ba, M as Ta, N as ya, O as Ba, P as va, P as Aa, Q as Na, T as Sa, a as Pa, V as wa, W as _a, X as Fa, Y as Ra, Z as Ia, _ as Ma, $ as La, a0 as ka, a1 as Ua, a2 as Oa, a3 as Va, a4 as za, a5 as qa, a6 as Wa, a7 as ja, a8 as Ha, a9 as Ga, aa as Qa, ab as Ka, ac as Xa, ad as Ya, ae as $a, af as Ja, ag as Za, ah as ae, ai as ee, aj as se, ak as re, al as oe, am as ie, an as te, ao as ne, ap as le, aq as de, ar as ue, as as ce, at as fe, au as me, av as pe, aw as he, ax as ge, ay as Ce, az as De, aA as Ee, aB as xe, aC as be, aD as Te, aE as ye, aF as Be, aG as ve, aH as Ae, aI as Ne, aJ as Se } from "./chunks/dashboard-ZoKNg47G.js";
|
|
3
3
|
import { a as we, C as _e, D as Fe, E as Re, P as Ie, g as Me, h as Le, b as ke, i as Ue, c as Oe, d as Ve } from "./chunks/common-types-ClkOI-3O.js";
|
|
4
|
-
import { C as qe } from "./chunks/calendar-preferences-dialog-
|
|
4
|
+
import { C as qe } from "./chunks/calendar-preferences-dialog-tBSngRN-.js";
|
|
5
5
|
import { jsx as a, jsxs as d } from "react/jsx-runtime";
|
|
6
|
-
import { u as W, P as j, a as H, B as G, c as C, b as Q, d as K } from "./chunks/code-editor-
|
|
7
|
-
import { f as je, g as He, h as Ge, i as Qe, j as Ke, k as Xe, l as Ye, m as $e, n as Je, o as Ze, p as as, q as es, r as ss, s as rs, t as os, v as is, w as ts, x as ns, y as ls, z as ds, A as us, D as cs, E as fs, F as ms } from "./chunks/code-editor-
|
|
6
|
+
import { u as W, P as j, a as H, B as G, c as C, b as Q, d as K } from "./chunks/code-editor-Pod1s6SK.js";
|
|
7
|
+
import { f as je, g as He, h as Ge, i as Qe, j as Ke, k as Xe, l as Ye, m as $e, n as Je, o as Ze, p as as, q as es, r as ss, s as rs, t as os, v as is, w as ts, x as ns, y as ls, z as ds, A as us, D as cs, E as fs, F as ms } from "./chunks/code-editor-Pod1s6SK.js";
|
|
8
8
|
import * as m from "react";
|
|
9
9
|
import { useMemo as X, useEffect as T } from "react";
|
|
10
10
|
import { DEFAULT_CALENDAR_CONTEXT as hs, DEFAULT_SEMANTIC_DOMAIN_ACCESS as gs } from "./types/index.js";
|
|
11
|
-
import { A as Ds, D as Es, a as xs, b as bs, c as Ts, d as ys, E as Bs, e as vs, N as As, U as Ns, V as Ss, f as Ps, W as ws, u as _s, g as Fs } from "./chunks/dashboard-briefing-launcher-
|
|
11
|
+
import { A as Ds, D as Es, a as xs, b as bs, c as Ts, d as ys, E as Bs, e as vs, N as As, U as Ns, V as Ss, f as Ps, W as ws, u as _s, g as Fs } from "./chunks/dashboard-briefing-launcher-BE-sNAzW.js";
|
|
12
12
|
import { u as Is } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
|
|
13
13
|
import "./chunks/analyze-result-contract-DnfF8kBb.js";
|
|
14
14
|
import "react-dom";
|
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-JNK2ly_e.js"),e=require("../chunks/common-types-C73-Ud1-.js"),a=require("../chunks/calendar-preferences-dialog-C-gN-vlq.js");exports.Surfboard=r.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;exports.CalendarPreferencesDialog=a.CalendarPreferencesDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e } from "../chunks/dashboard-
|
|
1
|
+
import { a as e } from "../chunks/dashboard-ZoKNg47G.js";
|
|
2
2
|
import { C, E } from "../chunks/common-types-ClkOI-3O.js";
|
|
3
|
-
import { C as s } from "../chunks/calendar-preferences-dialog-
|
|
3
|
+
import { C as s } from "../chunks/calendar-preferences-dialog-tBSngRN-.js";
|
|
4
4
|
export {
|
|
5
5
|
C as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
s as CalendarPreferencesDialog,
|
|
@@ -101,6 +101,29 @@ export declare type ComparisonPresentationSpec = {
|
|
|
101
101
|
|
|
102
102
|
export declare type ComparisonUnavailableReason = 'finite_current_window_required' | 'current_window_not_started' | 'temporal_binding_missing' | 'temporal_binding_ambiguous' | 'temporal_binding_invalid' | 'unsupported_output_shape' | 'unsupported_raw_sql' | 'insufficient_history' | 'invalid_comparison_spec' | 'comparison_execution_failed';
|
|
103
103
|
|
|
104
|
+
export declare type DashboardDateComparisonDefinitionIneligibility = 'invalid_input' | 'non_date_filter' | 'card_inline_filter' | 'custom_filter' | 'multi_target_filter' | 'incomplete_field_identity' | 'divergent_field_identity' | 'incomplete_source_identity' | 'divergent_source_identity';
|
|
105
|
+
|
|
106
|
+
export declare type DashboardDateComparisonDefinitionResolution = {
|
|
107
|
+
status: 'eligible';
|
|
108
|
+
kind: 'global_date';
|
|
109
|
+
} | {
|
|
110
|
+
status: 'eligible';
|
|
111
|
+
kind: 'field_date';
|
|
112
|
+
qualifiedFieldName: string;
|
|
113
|
+
source: SemaphorSourceRef;
|
|
114
|
+
} | {
|
|
115
|
+
status: 'ineligible';
|
|
116
|
+
reason: DashboardDateComparisonDefinitionIneligibility;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export declare type DashboardDateComparisonOwner = {
|
|
120
|
+
kind: 'global_date';
|
|
121
|
+
} | {
|
|
122
|
+
kind: 'field_date';
|
|
123
|
+
filterId: string;
|
|
124
|
+
label: string;
|
|
125
|
+
};
|
|
126
|
+
|
|
104
127
|
export declare const DEFAULT_METRIC_COMPARISON_POLARITY: "higher_is_better";
|
|
105
128
|
|
|
106
129
|
export declare function evaluateMetricComparison(input: {
|
|
@@ -134,6 +157,7 @@ export declare function getSemaphorConnectionCapabilities(connectionType: string
|
|
|
134
157
|
export declare type GlobalDateComparisonContext = {
|
|
135
158
|
selection: GlobalDateComparisonSelection;
|
|
136
159
|
inheritGlobalComparison?: false;
|
|
160
|
+
owner?: DashboardDateComparisonOwner;
|
|
137
161
|
/** Fixed execution clock carried by authoritative dashboard replay snapshots. */
|
|
138
162
|
referenceTime?: string;
|
|
139
163
|
};
|
|
@@ -161,6 +185,8 @@ export declare function isAnalyticsMetricIdentifierField(field: AnalyticsCatalog
|
|
|
161
185
|
|
|
162
186
|
export declare function isAnalyticsTechnicalIdentifierField(field: AnalyticsCatalogField): boolean;
|
|
163
187
|
|
|
188
|
+
export declare function isComparisonCapableDashboardDateInputDefinition(input: unknown): boolean;
|
|
189
|
+
|
|
164
190
|
export declare function isSemaphorAnalyzeResultFieldName(value: string): value is SemaphorAnalyzeResultFieldName;
|
|
165
191
|
|
|
166
192
|
export declare function isSemaphorDataAppCodegenSummary(value: unknown): value is SemaphorDataAppCodegenSummary;
|
|
@@ -604,6 +630,10 @@ export declare function preferSemaphorFieldRefMetadata(current: SemaphorFieldRef
|
|
|
604
630
|
|
|
605
631
|
export declare function preferSemaphorSourceMetadata(current: SemaphorSourceRef, next: SemaphorSourceRef): SemaphorSourceRef;
|
|
606
632
|
|
|
633
|
+
export declare function resolveDashboardDateComparisonFilterDefinition(filter: unknown): DashboardDateComparisonDefinitionResolution;
|
|
634
|
+
|
|
635
|
+
export declare function resolveDashboardDateComparisonInputDefinition(input: unknown): DashboardDateComparisonDefinitionResolution;
|
|
636
|
+
|
|
607
637
|
export declare type ResolvedDateWindow = {
|
|
608
638
|
startInclusive: string;
|
|
609
639
|
endExclusive: string;
|
|
@@ -616,6 +646,7 @@ export declare type ResolvedMetricComparisonRequest = {
|
|
|
616
646
|
} | {
|
|
617
647
|
source: 'inherited';
|
|
618
648
|
spec: ViewerPeriodComparisonSpec;
|
|
649
|
+
owner?: DashboardDateComparisonOwner;
|
|
619
650
|
};
|
|
620
651
|
|
|
621
652
|
export declare type ResolvedTemporalContext = {
|
|
@@ -635,8 +666,7 @@ export declare type ResolvedTemporalContext = {
|
|
|
635
666
|
export declare function resolveMetricComparisonRequest(input: {
|
|
636
667
|
metricComparison?: MetricComparisonConfig;
|
|
637
668
|
inheritGlobalComparison?: false;
|
|
638
|
-
|
|
639
|
-
isGlobalDateApplicable: boolean;
|
|
669
|
+
globalDateComparison?: GlobalDateComparisonContext;
|
|
640
670
|
}): ResolvedMetricComparisonRequest | undefined;
|
|
641
671
|
|
|
642
672
|
/** Stable result-instance identity shared by query producers and consumers. */
|
|
@@ -651,6 +681,14 @@ export declare type ResolveTemporalContextInput = {
|
|
|
651
681
|
querySources?: SemaphorSourceRef[];
|
|
652
682
|
};
|
|
653
683
|
|
|
684
|
+
export declare function semanticDatasetMatchesFieldCoordinates(dataset: {
|
|
685
|
+
id?: unknown;
|
|
686
|
+
name?: unknown;
|
|
687
|
+
}, field: {
|
|
688
|
+
entityId?: unknown;
|
|
689
|
+
entityName?: unknown;
|
|
690
|
+
}): boolean;
|
|
691
|
+
|
|
654
692
|
export declare const SEMAPHOR_ANALYTICS_INTENT_FIXTURES: {
|
|
655
693
|
revenueKpi: {
|
|
656
694
|
version: 1;
|
|
@@ -1744,6 +1744,14 @@ export declare type LoadingProps = {
|
|
|
1744
1744
|
|
|
1745
1745
|
declare type LogicalOperator = 'AND' | 'OR';
|
|
1746
1746
|
|
|
1747
|
+
/**
|
|
1748
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
1749
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
1750
|
+
*/
|
|
1751
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
1752
|
+
effectiveFilterValue: TFilterValue;
|
|
1753
|
+
};
|
|
1754
|
+
|
|
1747
1755
|
declare interface MetricColumn extends BaseColumn {
|
|
1748
1756
|
role: 'metric';
|
|
1749
1757
|
aggregate: AggregateFunction;
|
|
@@ -1946,6 +1954,20 @@ declare type RelativeDateFilter = {
|
|
|
1946
1954
|
to: number;
|
|
1947
1955
|
};
|
|
1948
1956
|
|
|
1957
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
1958
|
+
inputId: string;
|
|
1959
|
+
filterId: string;
|
|
1960
|
+
label: string;
|
|
1961
|
+
filter: TFilter;
|
|
1962
|
+
/**
|
|
1963
|
+
* The active value before execution-only canonicalization. Comparison
|
|
1964
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
1965
|
+
* when its filter or field identity does not match the definition.
|
|
1966
|
+
*/
|
|
1967
|
+
filterValue?: TFilterValue;
|
|
1968
|
+
selection: GlobalDateComparisonSelection;
|
|
1969
|
+
};
|
|
1970
|
+
|
|
1949
1971
|
export declare type ResolvedDashboardInput = {
|
|
1950
1972
|
id: string;
|
|
1951
1973
|
kind: 'filter' | 'control';
|
|
@@ -1974,6 +1996,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
1974
1996
|
controlValues: Record<string, unknown>;
|
|
1975
1997
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
1976
1998
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
1999
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
1977
2000
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
1978
2001
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
1979
2002
|
};
|
|
@@ -1998,6 +2021,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
1998
2021
|
entityName: string;
|
|
1999
2022
|
entityType: string;
|
|
2000
2023
|
dataType: string;
|
|
2024
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2025
|
+
source?: SemaphorSourceRef;
|
|
2001
2026
|
dateFormat?: string;
|
|
2002
2027
|
customFormat?: string;
|
|
2003
2028
|
defaultGranularity?: TimeGranularity;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -45,7 +45,6 @@ declare type Actions_2 = {
|
|
|
45
45
|
removeDashboardInput: (inputId: string) => void;
|
|
46
46
|
setDefaultDashboardInputValues: (values: DashboardInputValues | undefined) => void;
|
|
47
47
|
setDashboardInputValues: (values: DashboardInputValues) => void;
|
|
48
|
-
setDashboardInputValuesAreAuthoritative: (isAuthoritative: boolean) => void;
|
|
49
48
|
setDashboardInputSlot: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, slot: DashboardInputSlot) => void;
|
|
50
49
|
setDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, selection: GlobalDateComparisonSelection) => void;
|
|
51
50
|
resetDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget) => void;
|
|
@@ -73,14 +72,12 @@ declare type Actions_2 = {
|
|
|
73
72
|
setDashboard: (dashboard: TDashboard, options?: {
|
|
74
73
|
semanticExecutionPayload?: SemanticExecutionPayload;
|
|
75
74
|
dashboardInputValues?: DashboardInputValues;
|
|
76
|
-
dashboardInputValuesAreAuthoritative?: boolean;
|
|
77
75
|
dashboardInputReferenceTime?: string;
|
|
78
76
|
}) => void;
|
|
79
77
|
setDashboardWithFilterValues: (dashboard: TDashboard, filterValues: TFilterValue[], runtimeOverrides?: Record<string, unknown>, options?: {
|
|
80
78
|
selectedSheetId?: string | null;
|
|
81
79
|
semanticExecutionPayload?: SemanticExecutionPayload;
|
|
82
80
|
dashboardInputValues?: DashboardInputValues;
|
|
83
|
-
dashboardInputValuesAreAuthoritative?: boolean;
|
|
84
81
|
dashboardInputReferenceTime?: string;
|
|
85
82
|
}) => void;
|
|
86
83
|
hydrateRuntimeControlValues: (dashboard: TDashboard, runtimeOverrides?: Record<string, unknown>) => void;
|
|
@@ -1932,6 +1929,14 @@ export declare interface DashboardCreateDialogBaseProps {
|
|
|
1932
1929
|
initialDomainId?: string;
|
|
1933
1930
|
}
|
|
1934
1931
|
|
|
1932
|
+
declare type DashboardDateComparisonOwner = {
|
|
1933
|
+
kind: 'global_date';
|
|
1934
|
+
} | {
|
|
1935
|
+
kind: 'field_date';
|
|
1936
|
+
filterId: string;
|
|
1937
|
+
label: string;
|
|
1938
|
+
};
|
|
1939
|
+
|
|
1935
1940
|
export declare type DashboardEventHandlers = {
|
|
1936
1941
|
onExportData?: (payload: ExportDataPayload) => void;
|
|
1937
1942
|
};
|
|
@@ -2354,8 +2359,6 @@ export declare type DashboardStore = {
|
|
|
2354
2359
|
cardControlValuesMap: Record<string, Record<string, unknown>>;
|
|
2355
2360
|
/** Runtime-only dashboard input values keyed by input runtime scope. */
|
|
2356
2361
|
dashboardInputValues: DashboardInputValues;
|
|
2357
|
-
/** True when dashboardInputValues came from a strict execution snapshot. */
|
|
2358
|
-
dashboardInputValuesAreAuthoritative: boolean;
|
|
2359
2362
|
/** Fixed execution clock from a strict dashboard input replay snapshot. */
|
|
2360
2363
|
dashboardInputReferenceTime?: string;
|
|
2361
2364
|
semanticExecutionPayload: SemanticExecutionPayload;
|
|
@@ -3689,6 +3692,7 @@ export declare function getSql(config: SqlGen, schemaName: string, tableName: st
|
|
|
3689
3692
|
declare type GlobalDateComparisonContext = {
|
|
3690
3693
|
selection: GlobalDateComparisonSelection;
|
|
3691
3694
|
inheritGlobalComparison?: false;
|
|
3695
|
+
owner?: DashboardDateComparisonOwner;
|
|
3692
3696
|
/** Fixed execution clock carried by authoritative dashboard replay snapshots. */
|
|
3693
3697
|
referenceTime?: string;
|
|
3694
3698
|
};
|
|
@@ -4018,6 +4022,14 @@ declare type ManagementStore = {
|
|
|
4018
4022
|
actions: Actions;
|
|
4019
4023
|
};
|
|
4020
4024
|
|
|
4025
|
+
/**
|
|
4026
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
4027
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
4028
|
+
*/
|
|
4029
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
4030
|
+
effectiveFilterValue: TFilterValue;
|
|
4031
|
+
};
|
|
4032
|
+
|
|
4021
4033
|
declare type MatrixAxisLevelDescriptor = {
|
|
4022
4034
|
instanceId: string;
|
|
4023
4035
|
fieldKey: string;
|
|
@@ -4813,6 +4825,20 @@ export declare function resolveDatamodelName(datamodelName: string): string;
|
|
|
4813
4825
|
|
|
4814
4826
|
export declare const resolveDataType: (value: any) => string;
|
|
4815
4827
|
|
|
4828
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
4829
|
+
inputId: string;
|
|
4830
|
+
filterId: string;
|
|
4831
|
+
label: string;
|
|
4832
|
+
filter: TFilter;
|
|
4833
|
+
/**
|
|
4834
|
+
* The active value before execution-only canonicalization. Comparison
|
|
4835
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
4836
|
+
* when its filter or field identity does not match the definition.
|
|
4837
|
+
*/
|
|
4838
|
+
filterValue?: TFilterValue;
|
|
4839
|
+
selection: GlobalDateComparisonSelection;
|
|
4840
|
+
};
|
|
4841
|
+
|
|
4816
4842
|
export declare type ResolvedDashboardInput = {
|
|
4817
4843
|
id: string;
|
|
4818
4844
|
kind: 'filter' | 'control';
|
|
@@ -4841,6 +4867,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
4841
4867
|
controlValues: Record<string, unknown>;
|
|
4842
4868
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
4843
4869
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
4870
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
4844
4871
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
4845
4872
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
4846
4873
|
};
|
|
@@ -4867,6 +4894,7 @@ declare type ResolvedMetricComparisonRequest = {
|
|
|
4867
4894
|
} | {
|
|
4868
4895
|
source: 'inherited';
|
|
4869
4896
|
spec: ViewerPeriodComparisonSpec;
|
|
4897
|
+
owner?: DashboardDateComparisonOwner;
|
|
4870
4898
|
};
|
|
4871
4899
|
|
|
4872
4900
|
declare type ResolvedPrimaryDateField = {
|
|
@@ -4879,6 +4907,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
4879
4907
|
entityName: string;
|
|
4880
4908
|
entityType: string;
|
|
4881
4909
|
dataType: string;
|
|
4910
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
4911
|
+
source?: SemaphorSourceRef;
|
|
4882
4912
|
dateFormat?: string;
|
|
4883
4913
|
customFormat?: string;
|
|
4884
4914
|
defaultGranularity?: TimeGranularity;
|
|
@@ -1755,6 +1755,14 @@ export declare type LoadingProps = {
|
|
|
1755
1755
|
|
|
1756
1756
|
declare type LogicalOperator = 'AND' | 'OR';
|
|
1757
1757
|
|
|
1758
|
+
/**
|
|
1759
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
1760
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
1761
|
+
*/
|
|
1762
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
1763
|
+
effectiveFilterValue: TFilterValue;
|
|
1764
|
+
};
|
|
1765
|
+
|
|
1758
1766
|
declare interface MetricColumn extends BaseColumn {
|
|
1759
1767
|
role: 'metric';
|
|
1760
1768
|
aggregate: AggregateFunction;
|
|
@@ -1957,6 +1965,20 @@ declare type RelativeDateFilter = {
|
|
|
1957
1965
|
to: number;
|
|
1958
1966
|
};
|
|
1959
1967
|
|
|
1968
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
1969
|
+
inputId: string;
|
|
1970
|
+
filterId: string;
|
|
1971
|
+
label: string;
|
|
1972
|
+
filter: TFilter;
|
|
1973
|
+
/**
|
|
1974
|
+
* The active value before execution-only canonicalization. Comparison
|
|
1975
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
1976
|
+
* when its filter or field identity does not match the definition.
|
|
1977
|
+
*/
|
|
1978
|
+
filterValue?: TFilterValue;
|
|
1979
|
+
selection: GlobalDateComparisonSelection;
|
|
1980
|
+
};
|
|
1981
|
+
|
|
1960
1982
|
export declare type ResolvedDashboardInput = {
|
|
1961
1983
|
id: string;
|
|
1962
1984
|
kind: 'filter' | 'control';
|
|
@@ -1985,6 +2007,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
1985
2007
|
controlValues: Record<string, unknown>;
|
|
1986
2008
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
1987
2009
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
2010
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
1988
2011
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
1989
2012
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
1990
2013
|
};
|
|
@@ -2009,6 +2032,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
2009
2032
|
entityName: string;
|
|
2010
2033
|
entityType: string;
|
|
2011
2034
|
dataType: string;
|
|
2035
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2036
|
+
source?: SemaphorSourceRef;
|
|
2012
2037
|
dateFormat?: string;
|
|
2013
2038
|
customFormat?: string;
|
|
2014
2039
|
defaultGranularity?: TimeGranularity;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -2350,6 +2350,14 @@ export declare type LoadingProps = {
|
|
|
2350
2350
|
|
|
2351
2351
|
export declare type LogicalOperator = 'AND' | 'OR';
|
|
2352
2352
|
|
|
2353
|
+
/**
|
|
2354
|
+
* A comparison input proven to be present in the card's executed filter set.
|
|
2355
|
+
* Ownership and UI coverage must consume this stage, never source inputs.
|
|
2356
|
+
*/
|
|
2357
|
+
export declare type MaterializedDashboardDateComparisonInput = ResolvedDashboardDateComparisonInput & {
|
|
2358
|
+
effectiveFilterValue: TFilterValue;
|
|
2359
|
+
};
|
|
2360
|
+
|
|
2353
2361
|
declare type MatrixAxisLevelDescriptor = {
|
|
2354
2362
|
instanceId: string;
|
|
2355
2363
|
fieldKey: string;
|
|
@@ -2889,6 +2897,20 @@ export declare type RelativeDateFilter = {
|
|
|
2889
2897
|
|
|
2890
2898
|
export declare type RelativeDateUnit = DateUnit | SubDayDateUnit;
|
|
2891
2899
|
|
|
2900
|
+
export declare type ResolvedDashboardDateComparisonInput = {
|
|
2901
|
+
inputId: string;
|
|
2902
|
+
filterId: string;
|
|
2903
|
+
label: string;
|
|
2904
|
+
filter: TFilter;
|
|
2905
|
+
/**
|
|
2906
|
+
* The active value before execution-only canonicalization. Comparison
|
|
2907
|
+
* ownership uses this value as provenance evidence and must fail closed
|
|
2908
|
+
* when its filter or field identity does not match the definition.
|
|
2909
|
+
*/
|
|
2910
|
+
filterValue?: TFilterValue;
|
|
2911
|
+
selection: GlobalDateComparisonSelection;
|
|
2912
|
+
};
|
|
2913
|
+
|
|
2892
2914
|
export declare type ResolvedDashboardInput = {
|
|
2893
2915
|
id: string;
|
|
2894
2916
|
kind: 'filter' | 'control';
|
|
@@ -2917,6 +2939,7 @@ export declare type ResolvedDashboardInputContext = {
|
|
|
2917
2939
|
controlValues: Record<string, unknown>;
|
|
2918
2940
|
variablesByName: Record<string, ResolvedDashboardInput>;
|
|
2919
2941
|
globalDateComparisonSelection?: GlobalDateComparisonSelection;
|
|
2942
|
+
dateComparisonInputs?: ResolvedDashboardDateComparisonInput[];
|
|
2920
2943
|
variablesById: Record<string, ResolvedDashboardInput>;
|
|
2921
2944
|
missingRequiredInputs: ResolvedDashboardInput[];
|
|
2922
2945
|
};
|
|
@@ -2941,6 +2964,8 @@ declare type ResolvedPrimaryDateField = {
|
|
|
2941
2964
|
entityName: string;
|
|
2942
2965
|
entityType: string;
|
|
2943
2966
|
dataType: string;
|
|
2967
|
+
/** Canonical dataset coordinates stamped by the temporal grounding boundary. */
|
|
2968
|
+
source?: SemaphorSourceRef;
|
|
2944
2969
|
dateFormat?: string;
|
|
2945
2970
|
customFormat?: string;
|
|
2946
2971
|
defaultGranularity?: TimeGranularity;
|