react-semaphor 0.1.400 → 0.1.401

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/chunks/{calendar-preferences-dialog-i3-jBIYS.js → calendar-preferences-dialog-C5u8P3Aa.js} +2 -2
  4. package/dist/chunks/{calendar-preferences-dialog-Ci3rHHgA.js → calendar-preferences-dialog-D619F0ag.js} +1 -1
  5. package/dist/chunks/{dashboard-briefing-launcher-DiEpMS9E.js → dashboard-briefing-launcher-B2SY8WLW.js} +2 -2
  6. package/dist/chunks/{dashboard-briefing-launcher-BpwjeJsQ.js → dashboard-briefing-launcher-Dsg9gmkm.js} +19 -13
  7. package/dist/chunks/{dashboard-controls-Bkjpgr3d.js → dashboard-controls-BLWXaG2Q.js} +5 -5
  8. package/dist/chunks/{dashboard-controls-BaUUrvSI.js → dashboard-controls-DsFznKZ0.js} +1 -1
  9. package/dist/chunks/{dashboard-json-CxNyExRm.js → dashboard-json-B7RYi1qg.js} +1 -1
  10. package/dist/chunks/{dashboard-json-DvULhhN2.js → dashboard-json-DouaaMpH.js} +2 -2
  11. package/dist/chunks/{date-formatter-CzcPZx39.js → date-formatter-BlhBftA9.js} +1 -1
  12. package/dist/chunks/{edit-dashboard-visual-DBrsgEtL.js → edit-dashboard-visual-BxON7Y6L.js} +3 -3
  13. package/dist/chunks/{edit-dashboard-visual-DJRPiKdY.js → edit-dashboard-visual-CAs6Lm2_.js} +1 -1
  14. package/dist/chunks/index-BG9NaVLs.js +1346 -0
  15. package/dist/chunks/{index-DFOb_6HB.js → index-CjzRe2su.js} +3 -3
  16. package/dist/chunks/{index-Drz04wqE.js → index-kFwHL6im.js} +33679 -33119
  17. package/dist/chunks/{switch-qUw8u-gU.js → switch-CXMExaSF.js} +2384 -2347
  18. package/dist/chunks/{switch-D2oOmorN.js → switch-oim6Xl36.js} +26 -26
  19. package/dist/chunks/{use-create-flow-overlay-state-DrkYiyQz.js → use-create-flow-overlay-state-BlxamUgq.js} +1 -1
  20. package/dist/chunks/{use-create-flow-overlay-state-CFJIHt5D.js → use-create-flow-overlay-state-Ze0cRQQC.js} +2 -2
  21. package/dist/dashboard/index.cjs +1 -1
  22. package/dist/dashboard/index.js +1 -1
  23. package/dist/data-app-builder/index.cjs +1 -1
  24. package/dist/data-app-builder/index.js +2 -2
  25. package/dist/format-utils/index.js +2 -2
  26. package/dist/index.cjs +1 -1
  27. package/dist/index.js +6 -6
  28. package/dist/surfboard/index.cjs +1 -1
  29. package/dist/surfboard/index.js +2 -2
  30. package/dist/types/dashboard-authoring.d.ts +10 -0
  31. package/dist/types/dashboard.d.ts +10 -0
  32. package/dist/types/main.d.ts +16 -2
  33. package/dist/types/shared.d.ts +10 -0
  34. package/dist/types/surfboard.d.ts +10 -0
  35. package/dist/types/types.d.ts +17 -7
  36. package/package.json +1 -1
  37. package/dist/chunks/index-BepF6hoa.js +0 -1346
@@ -1,4 +1,4 @@
1
- "use strict";const W=require("./x-B6ghREd2.js"),C=require("react"),s=require("./switch-D2oOmorN.js"),f=require("./index-BepF6hoa.js"),e=require("react/jsx-runtime");require("./analyze-result-contract-S8u7CcPL.js");const ke=require("./save-C__QggEE.js"),ye=require("./search-DNCejM7Z.js");/**
1
+ "use strict";const W=require("./x-B6ghREd2.js"),C=require("react"),s=require("./switch-oim6Xl36.js"),f=require("./index-BG9NaVLs.js"),e=require("react/jsx-runtime");require("./analyze-result-contract-S8u7CcPL.js");const ke=require("./save-C__QggEE.js"),ye=require("./search-DNCejM7Z.js");/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,7 +1,7 @@
1
1
  import { c as ge, X as et, C as je } from "./x-CXDkqdur.js";
2
2
  import { useState as K, useEffect as ie, useCallback as B, useMemo as P, useRef as Se, Fragment as bt } from "react";
3
- import { F as de, A as Le, u as Z, E as M, a4 as yt, Q as vt, V as xt, W as Ct, c as fe, Y as kt, a5 as St, B as q, d as Nt, e as tt, a6 as wt, a7 as Dt, a8 as pe, a9 as Qe, aa as $e, ab as Ne, ac as we, ad as Et, ae as Pe, af as It, ag as Ft, ah as me, ai as Vt, aj as He, ak as at, al as rt, am as st, L as oe, Z as nt, _ as De, $ as Ee, a0 as Ie, a1 as Fe, a2 as Ve, an as ot, ao as Tt, ap as _t, aq as We, ar as Lt, as as Ke, at as At, au as Te } from "./switch-qUw8u-gU.js";
4
- import { aB as qt, u as Mt, aC as ce, aD as Ot, aE as Ae, aF as zt, aG as Ut, aH as Bt, p as R, aI as Rt, aJ as jt, aK as lt, aL as Qt, aM as $t, aN as Pt, aO as Ht, aP as Wt, y as Kt, aQ as Yt, aR as it, aS as dt, aT as Gt, aU as Jt, aV as Xt, aW as Zt, aX as ea, aY as ct, aZ as ut, a_ as ta, a$ as aa, b0 as ra, b1 as sa, b2 as na, ar as oa, b3 as la, b4 as ia } from "./index-Drz04wqE.js";
3
+ import { F as de, A as Le, u as Z, E as M, a4 as yt, Q as vt, V as xt, W as Ct, c as fe, Y as kt, a5 as St, B as q, d as Nt, e as tt, a6 as wt, a7 as Dt, a8 as pe, a9 as Qe, aa as $e, ab as Ne, ac as we, ad as Et, ae as Pe, af as It, ag as Ft, ah as me, ai as Vt, aj as He, ak as at, al as rt, am as st, L as oe, Z as nt, _ as De, $ as Ee, a0 as Ie, a1 as Fe, a2 as Ve, an as ot, ao as Tt, ap as _t, aq as We, ar as Lt, as as Ke, at as At, au as Te } from "./switch-CXMExaSF.js";
4
+ import { aB as qt, u as Mt, aC as ce, aD as Ot, aE as Ae, aF as zt, aG as Ut, aH as Bt, p as R, aI as Rt, aJ as jt, aK as lt, aL as Qt, aM as $t, aN as Pt, aO as Ht, aP as Wt, y as Kt, aQ as Yt, aR as it, aS as dt, aT as Gt, aU as Jt, aV as Xt, aW as Zt, aX as ea, aY as ct, aZ as ut, a_ as ta, a$ as aa, b0 as ra, b1 as sa, b2 as na, ar as oa, b3 as la, b4 as ia } from "./index-kFwHL6im.js";
5
5
  import { jsx as a, jsxs as m, Fragment as re } from "react/jsx-runtime";
6
6
  import "./analyze-result-contract-BUgK3759.js";
7
7
  import { S as pt } from "./save-DgMfP0j8.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-BepF6hoa.js"),e=require("../chunks/common-types-C73-Ud1-.js");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-BG9NaVLs.js"),e=require("../chunks/common-types-C73-Ud1-.js");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as o } from "../chunks/index-Drz04wqE.js";
1
+ import { D as o } from "../chunks/index-kFwHL6im.js";
2
2
  import { C as s, E as C } from "../chunks/common-types-4bjoIgvm.js";
3
3
  export {
4
4
  s as CONTROL_CARD_DEFAULT_VALUE,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index-BepF6hoa.js"),w=require("../chunks/switch-D2oOmorN.js"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),Q=require("../chunks/x-B6ghREd2.js"),Cn=require("../chunks/save-C__QggEE.js"),tt=require("../chunks/search-DNCejM7Z.js");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Rn=Tr(p),Bn=Tr(An);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index-BG9NaVLs.js"),w=require("../chunks/switch-oim6Xl36.js"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),Q=require("../chunks/x-B6ghREd2.js"),Cn=require("../chunks/save-C__QggEE.js"),tt=require("../chunks/search-DNCejM7Z.js");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Rn=Tr(p),Bn=Tr(An);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -2,8 +2,8 @@ import { jsx as r, jsxs as c, Fragment as re } from "react/jsx-runtime";
2
2
  import * as Yn from "react";
3
3
  import { useContext as Zn, useState as x, useRef as oe, useMemo as ze, useEffect as W, useCallback as Ot } from "react";
4
4
  import * as Xn from "react-dom/client";
5
- import { ae as ea, af as ta, ag as Ir, ah as jr, ai as zr, aj as ra, ak as Wr, al as Hr, am as Jr, an as Vr, ao as _r, ap as Ur, aq as Gr, ar as na, as as aa, at as oa, au as Ht, av as on, x as Kr, aw as sa, ax as Vt, ay as sn, az as ia, aA as la } from "../chunks/index-Drz04wqE.js";
6
- import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, e as me, R as ma, d as _t } from "../chunks/switch-qUw8u-gU.js";
5
+ import { ae as ea, af as ta, ag as Ir, ah as jr, ai as zr, aj as ra, ak as Wr, al as Hr, am as Jr, an as Vr, ao as _r, ap as Ur, aq as Gr, ar as na, as as aa, at as oa, au as Ht, av as on, x as Kr, aw as sa, ax as Vt, ay as sn, az as ia, aA as la } from "../chunks/index-kFwHL6im.js";
6
+ import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, e as me, R as ma, d as _t } from "../chunks/switch-CXMExaSF.js";
7
7
  import { loadSemaphorBrowserRuntime as ot } from "../data-app-builder-browser-runtime/index.js";
8
8
  import { c as $e, X as Je } from "../chunks/x-CXDkqdur.js";
9
9
  import { S as fa } from "../chunks/save-DgMfP0j8.js";
@@ -1,5 +1,5 @@
1
- import { f as h, a as V, b as w } from "../chunks/date-formatter-CzcPZx39.js";
2
- import { d as G, i as O, c as W, h as I, e as J, g as K, j as Q, k as U, p as X, r as Y } from "../chunks/date-formatter-CzcPZx39.js";
1
+ import { f as h, a as V, b as w } from "../chunks/date-formatter-BlhBftA9.js";
2
+ import { d as G, i as O, c as W, h as I, e as J, g as K, j as Q, k as U, p as X, r as Y } from "../chunks/date-formatter-BlhBftA9.js";
3
3
  function z(r, e, n, s) {
4
4
  const u = r instanceof Date ? r.toISOString() : String(r), l = (s == null ? void 0 : s.browserTimezone) || n, t = (s == null ? void 0 : s.isSqlCard) ?? !1;
5
5
  if (e != null && e.useRelativeTime)
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BepF6hoa.js"),d=require("./chunks/common-types-C73-Ud1-.js"),N=require("./chunks/calendar-preferences-dialog-Ci3rHHgA.js"),t=require("react/jsx-runtime"),a=require("./chunks/switch-D2oOmorN.js"),C=require("react"),y=require("./types/index.cjs"),r=require("./chunks/dashboard-briefing-launcher-DiEpMS9E.js"),P=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("./chunks/analyze-result-contract-S8u7CcPL.js");require("react-dom");require("./chunks/index-DRlMUglg.js");const S=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.js"),_=require("./chunks/x-B6ghREd2.js");function R(i){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const n in i)if(n!=="default"){const u=Object.getOwnPropertyDescriptor(i,n);Object.defineProperty(o,n,u.get?u:{enumerable:!0,get:()=>i[n]})}}return o.default=i,Object.freeze(o)}const h=R(C);function w(i){const{displayPreferences:o,cardId:n,...u}=i,s={...u,id:i.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:s,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:i.cardId}),t.jsx(e.UXProvider,{appearance:i.appearance,children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:o,children:t.jsx(e.Container,{type:"visual",cardId:n,...s,children:t.jsx(j,{cardId:n})})})})]})})}function j({cardId:i}){const o=a.useDashboardStore(s=>{var c;return(c=s.dashboard)==null?void 0:c.sheets}),{card:n,frame:u}=C.useMemo(()=>{const s=o==null?void 0:o.flatMap(l=>l.frames),c=s==null?void 0:s.flatMap(l=>l==null?void 0:l.cards),D=c==null?void 0:c.find(l=>(l==null?void 0:l.id)===i),E=s==null?void 0:s.find(l=>{var p;return(p=l==null?void 0:l.cards)==null?void 0:p.find(g=>(g==null?void 0:g.id)===i)});return{card:D,frame:E}},[o,i]);return!n||!u?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${i}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:s,resetErrorBoundary:c})=>t.jsx(e.FallbackVisual,{error:s,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:n,frame:u})})})}function L(i,o,n,u){C.useEffect(()=>{i&&!n&&o&&u(e.cloneDeep(o))},[i,n,o,u])}function M({name:i,items:o,value:n,onChange:u,isLoading:s,isError:c,refetch:D,className:E,icon:l,showNone:p=!1}){const g=h.useRef(null),[b,T]=h.useState(!1),[B,A]=h.useState("100%"),x=p?[...o||[],{id:"none",name:"None"}]:o;h.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return s?"Loading...":c?"Error":n?(f=o==null?void 0:o.find(m=>m.id===n))==null?void 0:f.name:`Select ${i}`}function F(f,m){u(m),T(!1)}return t.jsxs(a.Popover,{open:b,onOpenChange:T,children:[t.jsx(a.PopoverTrigger,{asChild:!0,children:t.jsxs(a.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":b,className:a.cn("flex h-9 w-full justify-between",E),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[l&&t.jsx("div",{className:"mr-2",children:l}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),t.jsx(_.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(a.PopoverContent,{className:"w-full p-0",style:{minWidth:B},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:D,children:t.jsx(e.RefreshCw,{className:a.cn("size-3.5 opacity-50",s&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",i==null?void 0:i.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:m=>F(m,f.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(a.Check,{className:a.cn("size-4",n===f.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function I(i,o){C.useEffect(()=>(i&&o&&(window.__SEMAPHOR_PRINT_STATE__={...o}),()=>{i&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[i,o])}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.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createExport=e.createExport;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;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.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=N.CalendarPreferencesDialog;exports.createEmptyKpiConfig=a.createEmptyKpiConfig;exports.createSqlGenConfig=a.createSqlGenConfig;exports.emitDashboardLoad=a.emitDashboardLoad;exports.emitDashboardUnload=a.emitDashboardUnload;exports.fmt=a.fmt;exports.getColumnDataType=a.getColumnDataType;exports.getFilterValueType=a.getFilterValueType;exports.getFormattedTableNameForQuery=a.getFormattedTableNameForQuery;exports.getQualifiedTableName=a.getQualifiedTableName;exports.getSql=a.getSql;exports.invalidateToken=a.invalidateToken;exports.isBooleanDataType=a.isBooleanDataType;exports.isColumnInSqlGen=a.isColumnInSqlGen;exports.isDateDataType=a.isDateDataType;exports.isNumberDataType=a.isNumberDataType;exports.isTextDataType=a.isTextDataType;exports.resolveDataType=a.resolveDataType;exports.resolveDatamodelName=a.resolveDatamodelName;exports.useCurrentActiveCard=a.useCurrentActiveCard;exports.useCurrentCardConfig=a.useCurrentCardConfig;exports.useCurrentSheetActiveCards=a.useCurrentSheetActiveCards;exports.useDashboardActions=a.useDashboardActions;exports.useDashboardStore=a.useDashboardStore;exports.useEditorActions=a.useEditorActions;exports.useEditorStore=a.useEditorStore;exports.DEFAULT_CALENDAR_CONTEXT=y.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=y.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=r.AdvancedModeToggle;exports.BriefingAuthor=r.BriefingAuthor;exports.BriefingsApiError=r.BriefingsApiError;exports.DashboardBriefingLauncher=r.DashboardBriefingLauncher;exports.DashboardControlsSettings=r.DashboardControlsSettings;exports.DashboardFilterControlsButton=r.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=r.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=r.DocumentControlsSettings;exports.ExportNotificationItem=r.ExportNotificationItem;exports.ExportNotificationList=r.ExportNotificationList;exports.NotificationBell=r.NotificationBell;exports.UnsavedChangesAlert=r.UnsavedChangesAlert;exports.VisualEditingControls=r.VisualEditingControls;exports.VisualsLibraryDialog=r.VisualsLibraryDialog;exports.WatchDashboardButton=r.WatchDashboardButton;exports.applyBriefingFormPatch=r.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=r.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=r.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=r.briefingToFormDraft;exports.cancelBriefingPreviewRun=r.cancelBriefingPreviewRun;exports.cancelBriefingRun=r.cancelBriefingRun;exports.createBriefing=r.createBriefing;exports.createBriefingFormDraft=r.createBriefingFormDraft;exports.deleteBriefing=r.deleteBriefing;exports.deleteBriefingRun=r.deleteBriefingRun;exports.getBriefing=r.getBriefing;exports.getBriefingArtifact=r.getBriefingArtifact;exports.getBriefingEvidence=r.getBriefingEvidence;exports.getBriefingPreviewRun=r.getBriefingPreviewRun;exports.getBriefingRun=r.getBriefingRun;exports.listBriefingRuns=r.listBriefingRuns;exports.listBriefingTenantSummaries=r.listBriefingTenantSummaries;exports.listBriefings=r.listBriefings;exports.pauseBriefing=r.pauseBriefing;exports.polishBriefingText=r.polishBriefingText;exports.previewBriefingPlan=r.previewBriefingPlan;exports.resumeBriefing=r.resumeBriefing;exports.runBriefingNow=r.runBriefingNow;exports.runBriefingPreview=r.runBriefingPreview;exports.updateBriefing=r.updateBriefing;exports.useExportPolling=r.useExportPolling;exports.useExportRecovery=r.useExportRecovery;exports.validateBriefingFormDraft=r.validateBriefingFormDraft;exports.useDebouncedDirtyCheck=P.useDebouncedDirtyCheck;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.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/index-BG9NaVLs.js"),d=require("./chunks/common-types-C73-Ud1-.js"),N=require("./chunks/calendar-preferences-dialog-D619F0ag.js"),t=require("react/jsx-runtime"),a=require("./chunks/switch-oim6Xl36.js"),C=require("react"),y=require("./types/index.cjs"),r=require("./chunks/dashboard-briefing-launcher-B2SY8WLW.js"),P=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("./chunks/analyze-result-contract-S8u7CcPL.js");require("react-dom");require("./chunks/index-DRlMUglg.js");const S=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.js"),_=require("./chunks/x-B6ghREd2.js");function R(i){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const n in i)if(n!=="default"){const u=Object.getOwnPropertyDescriptor(i,n);Object.defineProperty(o,n,u.get?u:{enumerable:!0,get:()=>i[n]})}}return o.default=i,Object.freeze(o)}const h=R(C);function w(i){const{displayPreferences:o,cardId:n,...u}=i,s={...u,id:i.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:s,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:i.cardId}),t.jsx(e.UXProvider,{appearance:i.appearance,children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:o,children:t.jsx(e.Container,{type:"visual",cardId:n,...s,children:t.jsx(j,{cardId:n})})})})]})})}function j({cardId:i}){const o=a.useDashboardStore(s=>{var c;return(c=s.dashboard)==null?void 0:c.sheets}),{card:n,frame:u}=C.useMemo(()=>{const s=o==null?void 0:o.flatMap(l=>l.frames),c=s==null?void 0:s.flatMap(l=>l==null?void 0:l.cards),D=c==null?void 0:c.find(l=>(l==null?void 0:l.id)===i),E=s==null?void 0:s.find(l=>{var p;return(p=l==null?void 0:l.cards)==null?void 0:p.find(g=>(g==null?void 0:g.id)===i)});return{card:D,frame:E}},[o,i]);return!n||!u?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${i}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:s,resetErrorBoundary:c})=>t.jsx(e.FallbackVisual,{error:s,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:n,frame:u})})})}function L(i,o,n,u){C.useEffect(()=>{i&&!n&&o&&u(e.cloneDeep(o))},[i,n,o,u])}function M({name:i,items:o,value:n,onChange:u,isLoading:s,isError:c,refetch:D,className:E,icon:l,showNone:p=!1}){const g=h.useRef(null),[b,T]=h.useState(!1),[B,A]=h.useState("100%"),x=p?[...o||[],{id:"none",name:"None"}]:o;h.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return s?"Loading...":c?"Error":n?(f=o==null?void 0:o.find(m=>m.id===n))==null?void 0:f.name:`Select ${i}`}function F(f,m){u(m),T(!1)}return t.jsxs(a.Popover,{open:b,onOpenChange:T,children:[t.jsx(a.PopoverTrigger,{asChild:!0,children:t.jsxs(a.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":b,className:a.cn("flex h-9 w-full justify-between",E),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[l&&t.jsx("div",{className:"mr-2",children:l}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),t.jsx(_.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(a.PopoverContent,{className:"w-full p-0",style:{minWidth:B},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:D,children:t.jsx(e.RefreshCw,{className:a.cn("size-3.5 opacity-50",s&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",i==null?void 0:i.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:m=>F(m,f.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(a.Check,{className:a.cn("size-4",n===f.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function I(i,o){C.useEffect(()=>(i&&o&&(window.__SEMAPHOR_PRINT_STATE__={...o}),()=>{i&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[i,o])}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.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createExport=e.createExport;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;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.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=N.CalendarPreferencesDialog;exports.createEmptyKpiConfig=a.createEmptyKpiConfig;exports.createSqlGenConfig=a.createSqlGenConfig;exports.emitDashboardLoad=a.emitDashboardLoad;exports.emitDashboardUnload=a.emitDashboardUnload;exports.fmt=a.fmt;exports.getColumnDataType=a.getColumnDataType;exports.getFilterValueType=a.getFilterValueType;exports.getFormattedTableNameForQuery=a.getFormattedTableNameForQuery;exports.getQualifiedTableName=a.getQualifiedTableName;exports.getSql=a.getSql;exports.invalidateToken=a.invalidateToken;exports.isBooleanDataType=a.isBooleanDataType;exports.isColumnInSqlGen=a.isColumnInSqlGen;exports.isDateDataType=a.isDateDataType;exports.isNumberDataType=a.isNumberDataType;exports.isTextDataType=a.isTextDataType;exports.resolveDataType=a.resolveDataType;exports.resolveDatamodelName=a.resolveDatamodelName;exports.useCurrentActiveCard=a.useCurrentActiveCard;exports.useCurrentCardConfig=a.useCurrentCardConfig;exports.useCurrentSheetActiveCards=a.useCurrentSheetActiveCards;exports.useDashboardActions=a.useDashboardActions;exports.useDashboardStore=a.useDashboardStore;exports.useEditorActions=a.useEditorActions;exports.useEditorStore=a.useEditorStore;exports.DEFAULT_CALENDAR_CONTEXT=y.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=y.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=r.AdvancedModeToggle;exports.BriefingAuthor=r.BriefingAuthor;exports.BriefingsApiError=r.BriefingsApiError;exports.DashboardBriefingLauncher=r.DashboardBriefingLauncher;exports.DashboardControlsSettings=r.DashboardControlsSettings;exports.DashboardFilterControlsButton=r.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=r.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=r.DocumentControlsSettings;exports.ExportNotificationItem=r.ExportNotificationItem;exports.ExportNotificationList=r.ExportNotificationList;exports.NotificationBell=r.NotificationBell;exports.UnsavedChangesAlert=r.UnsavedChangesAlert;exports.VisualEditingControls=r.VisualEditingControls;exports.VisualsLibraryDialog=r.VisualsLibraryDialog;exports.WatchDashboardButton=r.WatchDashboardButton;exports.applyBriefingFormPatch=r.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=r.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=r.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=r.briefingToFormDraft;exports.cancelBriefingPreviewRun=r.cancelBriefingPreviewRun;exports.cancelBriefingRun=r.cancelBriefingRun;exports.createBriefing=r.createBriefing;exports.createBriefingFormDraft=r.createBriefingFormDraft;exports.deleteBriefing=r.deleteBriefing;exports.deleteBriefingRun=r.deleteBriefingRun;exports.getBriefing=r.getBriefing;exports.getBriefingArtifact=r.getBriefingArtifact;exports.getBriefingEvidence=r.getBriefingEvidence;exports.getBriefingPreviewRun=r.getBriefingPreviewRun;exports.getBriefingRun=r.getBriefingRun;exports.listBriefingRuns=r.listBriefingRuns;exports.listBriefingTenantSummaries=r.listBriefingTenantSummaries;exports.listBriefings=r.listBriefings;exports.pauseBriefing=r.pauseBriefing;exports.polishBriefingText=r.polishBriefingText;exports.previewBriefingPlan=r.previewBriefingPlan;exports.resumeBriefing=r.resumeBriefing;exports.runBriefingNow=r.runBriefingNow;exports.runBriefingPreview=r.runBriefingPreview;exports.updateBriefing=r.updateBriefing;exports.useExportPolling=r.useExportPolling;exports.useExportRecovery=r.useExportRecovery;exports.validateBriefingFormDraft=r.validateBriefingFormDraft;exports.useDebouncedDirtyCheck=P.useDebouncedDirtyCheck;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.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 T, F as N, S, q as P, U as w, r as _, s as F, t as x, v as R, w as M, h as I, i as L, I as k, x as U, j as O, k as V, l as z, m as q } from "./chunks/index-Drz04wqE.js";
2
- import { X as fa, D as ma, V as pa, T as ha, O as ga, aa as Ca, M as Da, A as Ea, H as xa, H as Ta, J as ba, W as ya, a as va, a9 as Ba, a5 as Aa, Q as Na, P as Sa, ad as Pa, a8 as wa, a7 as _a, a6 as Fa, ac as Ra, ab as Ma, a2 as Ia, $ as La, N as ka, Z as Ua, L as Oa, z as Va, Y as za, _ as qa, B as Ha, a4 as Wa, a1 as ja, a0 as Ga, a3 as Qa, y as Ka, K as Xa, G as Ya } from "./chunks/index-Drz04wqE.js";
1
+ import { E as T, F as N, S, q as P, U as w, r as _, s as F, t as x, v as R, w as M, h as I, i as L, I as k, x as U, j as O, k as V, l as z, m as q } from "./chunks/index-kFwHL6im.js";
2
+ import { X as fa, D as ma, V as pa, T as ha, O as ga, aa as Ca, M as Da, A as Ea, H as xa, H as Ta, J as ba, W as ya, a as va, a9 as Ba, a5 as Aa, Q as Na, P as Sa, ad as Pa, a8 as wa, a7 as _a, a6 as Fa, ac as Ra, ab as Ma, a2 as Ia, $ as La, N as ka, Z as Ua, L as Oa, z as Va, Y as za, _ as qa, B as Ha, a4 as Wa, a1 as ja, a0 as Ga, a3 as Qa, y as Ka, K as Xa, G as Ya } from "./chunks/index-kFwHL6im.js";
3
3
  import { a as Ja, C as Za, D as ae, E as ee, P as se, g as re, d as oe, h as te, b as ie, c as ne, i as le } from "./chunks/common-types-4bjoIgvm.js";
4
- import { C as ue } from "./chunks/calendar-preferences-dialog-i3-jBIYS.js";
4
+ import { C as ue } from "./chunks/calendar-preferences-dialog-C5u8P3Aa.js";
5
5
  import { jsx as a, jsxs as d } from "react/jsx-runtime";
6
- import { u as H, P as W, a as j, B as G, c as C, b as Q, d as K } from "./chunks/switch-qUw8u-gU.js";
7
- import { D as fe, o as me, f as pe, g as he, h as ge, q as Ce, p as De, t as Ee, v as xe, n as Te, i as be, m as ye, r as ve, l as Be, k as Ae, j as Ne, w as Se, s as Pe, x as we, z as _e, y as Fe, A as Re, F as Me, E as Ie } from "./chunks/switch-qUw8u-gU.js";
6
+ import { u as H, P as W, a as j, B as G, c as C, b as Q, d as K } from "./chunks/switch-CXMExaSF.js";
7
+ import { D as fe, o as me, f as pe, g as he, h as ge, q as Ce, p as De, t as Ee, v as xe, n as Te, i as be, m as ye, r as ve, l as Be, k as Ae, j as Ne, w as Se, s as Pe, x as we, z as _e, y as Fe, A as Re, F as Me, E as Ie } from "./chunks/switch-CXMExaSF.js";
8
8
  import * as m from "react";
9
9
  import { useMemo as X, useEffect as b } from "react";
10
10
  import { DEFAULT_CALENDAR_CONTEXT as ke, DEFAULT_SEMANTIC_DOMAIN_ACCESS as Ue } from "./types/index.js";
11
- import { A as Ve, L as ze, B as qe, M as He, D as We, e as je, f as Ge, d as Qe, b as Ke, E as Xe, N as Ye, U as $e, a as Je, V as Ze, W as as, G as es, I as ss, J as rs, H as os, s as ts, w as is, i as ns, F as ls, k as ds, x as us, h as cs, y as fs, z as ms, q as ps, v as hs, t as gs, g as Cs, l as Ds, p as Es, C as xs, n as Ts, r as bs, m as ys, o as vs, j as Bs, u as As, c as Ns, K as Ss } from "./chunks/dashboard-briefing-launcher-BpwjeJsQ.js";
11
+ import { A as Ve, L as ze, B as qe, M as He, D as We, e as je, f as Ge, d as Qe, b as Ke, E as Xe, N as Ye, U as $e, a as Je, V as Ze, W as as, G as es, I as ss, J as rs, H as os, s as ts, w as is, i as ns, F as ls, k as ds, x as us, h as cs, y as fs, z as ms, q as ps, v as hs, t as gs, g as Cs, l as Ds, p as Es, C as xs, n as Ts, r as bs, m as ys, o as vs, j as Bs, u as As, c as Ns, K as Ss } from "./chunks/dashboard-briefing-launcher-Dsg9gmkm.js";
12
12
  import { u as ws } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
13
13
  import "./chunks/analyze-result-contract-BUgK3759.js";
14
14
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/index-BepF6hoa.js"),e=require("../chunks/common-types-C73-Ud1-.js"),a=require("../chunks/calendar-preferences-dialog-Ci3rHHgA.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/index-BG9NaVLs.js"),e=require("../chunks/common-types-C73-Ud1-.js"),a=require("../chunks/calendar-preferences-dialog-D619F0ag.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;
@@ -1,6 +1,6 @@
1
- import { a as e } from "../chunks/index-Drz04wqE.js";
1
+ import { a as e } from "../chunks/index-kFwHL6im.js";
2
2
  import { C, E } from "../chunks/common-types-4bjoIgvm.js";
3
- import { C as s } from "../chunks/calendar-preferences-dialog-i3-jBIYS.js";
3
+ import { C as s } from "../chunks/calendar-preferences-dialog-C5u8P3Aa.js";
4
4
  export {
5
5
  C as CONTROL_CARD_DEFAULT_VALUE,
6
6
  s as CalendarPreferencesDialog,
@@ -1368,6 +1368,7 @@ declare type FilterForDate = BaseFilter & {
1368
1368
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
1369
1369
  values: [Date | string, Date | string] | [Date | string];
1370
1370
  relativeMeta?: RelativeDateFilter;
1371
+ temporalPrecision?: TemporalPrecision;
1371
1372
  };
1372
1373
 
1373
1374
  declare type FilterForEqual = BaseFilter & {
@@ -1811,6 +1812,11 @@ declare type RangeValue = {
1811
1812
  };
1812
1813
 
1813
1814
  declare type RelativeDateFilter = {
1815
+ mode: 'last';
1816
+ n: number;
1817
+ unit: SubDayDateUnit;
1818
+ complete?: false;
1819
+ } | {
1814
1820
  mode: 'last';
1815
1821
  n: number;
1816
1822
  unit: DateUnit;
@@ -2418,6 +2424,8 @@ declare type StyleProps = {
2418
2424
  };
2419
2425
  };
2420
2426
 
2427
+ declare type SubDayDateUnit = 'minute' | 'hour';
2428
+
2421
2429
  declare type TableBaseFormatting = {
2422
2430
  version: TableFormattingVersion;
2423
2431
  tableParts?: Partial<Record<TablePart, TableBaseStyle>>;
@@ -3003,6 +3011,8 @@ declare type TDynamicVisualIntent = {
3003
3011
  includesKpis: boolean;
3004
3012
  };
3005
3013
 
3014
+ declare type TemporalPrecision = 'minute';
3015
+
3006
3016
  declare type TextCardInlineFormat = {
3007
3017
  bold?: boolean;
3008
3018
  italic?: boolean;
@@ -1405,6 +1405,7 @@ declare type FilterForDate = BaseFilter & {
1405
1405
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
1406
1406
  values: [Date | string, Date | string] | [Date | string];
1407
1407
  relativeMeta?: RelativeDateFilter;
1408
+ temporalPrecision?: TemporalPrecision;
1408
1409
  };
1409
1410
 
1410
1411
  declare type FilterForEqual = BaseFilter & {
@@ -1856,6 +1857,11 @@ declare type RangeValue = {
1856
1857
  };
1857
1858
 
1858
1859
  declare type RelativeDateFilter = {
1860
+ mode: 'last';
1861
+ n: number;
1862
+ unit: SubDayDateUnit;
1863
+ complete?: false;
1864
+ } | {
1859
1865
  mode: 'last';
1860
1866
  n: number;
1861
1867
  unit: DateUnit;
@@ -2327,6 +2333,8 @@ export declare type StyleProps = {
2327
2333
  };
2328
2334
  };
2329
2335
 
2336
+ declare type SubDayDateUnit = 'minute' | 'hour';
2337
+
2330
2338
  declare type TableAppearance = {
2331
2339
  density?: AppearanceDensity;
2332
2340
  container?: {
@@ -2995,6 +3003,8 @@ export declare type TDynamicVisualIntent = {
2995
3003
  includesKpis: boolean;
2996
3004
  };
2997
3005
 
3006
+ declare type TemporalPrecision = 'minute';
3007
+
2998
3008
  export declare type TEvent = {
2999
3009
  type: 'success' | 'error' | 'info' | 'warning';
3000
3010
  message: any;
@@ -2381,6 +2381,10 @@ declare type DateCanonicalFormat = {
2381
2381
 
2382
2382
  declare type DateComparisonOperation = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'between' | 'not between' | 'is null' | 'is not null';
2383
2383
 
2384
+ declare type DateFilterChangeOptions = {
2385
+ temporalPrecision?: TemporalPrecision;
2386
+ };
2387
+
2384
2388
  export declare type DateFormatOption = {
2385
2389
  value: DateFormatValue;
2386
2390
  label: string;
@@ -3379,6 +3383,7 @@ declare type FilterForDate = BaseFilter & {
3379
3383
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
3380
3384
  values: [Date | string, Date | string] | [Date | string];
3381
3385
  relativeMeta?: RelativeDateFilter;
3386
+ temporalPrecision?: TemporalPrecision;
3382
3387
  };
3383
3388
 
3384
3389
  declare type FilterForEqual = BaseFilter & {
@@ -4585,6 +4590,11 @@ export declare type RangeValue = {
4585
4590
  };
4586
4591
 
4587
4592
  declare type RelativeDateFilter = {
4593
+ mode: 'last';
4594
+ n: number;
4595
+ unit: SubDayDateUnit;
4596
+ complete?: false;
4597
+ } | {
4588
4598
  mode: 'last';
4589
4599
  n: number;
4590
4600
  unit: DateUnit;
@@ -5417,6 +5427,8 @@ export declare type StyleProps = {
5417
5427
  };
5418
5428
  };
5419
5429
 
5430
+ declare type SubDayDateUnit = 'minute' | 'hour';
5431
+
5420
5432
  /**
5421
5433
  * Subtotal configuration for groupBy and pivotBy axes
5422
5434
  */
@@ -6193,6 +6205,8 @@ export declare type TDynamicVisualIntent = {
6193
6205
  includesKpis: boolean;
6194
6206
  };
6195
6207
 
6208
+ declare type TemporalPrecision = 'minute';
6209
+
6196
6210
  export declare type TEvent = {
6197
6211
  type: 'success' | 'error' | 'info' | 'warning';
6198
6212
  message: any;
@@ -6950,9 +6964,9 @@ export declare function useDateFilterHook(filterId: string): {
6950
6964
  dateRange: DateRange | undefined;
6951
6965
  activeFilterValue: TFilterValue | undefined;
6952
6966
  handleClear: () => void;
6953
- handleChange: (date: DateRange | undefined, operation?: DateComparisonOperation) => void;
6967
+ handleChange: (date: DateRange | undefined, operation?: DateComparisonOperation, options?: DateFilterChangeOptions) => void;
6954
6968
  handleNullOperation: (operation: "is null" | "is not null") => void;
6955
- handleRelativeChange: (date: DateRange | undefined, relativeMeta: RelativeDateFilter) => void;
6969
+ handleRelativeChange: (date: DateRange | undefined, relativeMeta: RelativeDateFilter, options?: DateFilterChangeOptions) => void;
6956
6970
  handleReset: () => void;
6957
6971
  };
6958
6972
 
@@ -1164,6 +1164,7 @@ declare type FilterForDate = BaseFilter & {
1164
1164
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
1165
1165
  values: [Date | string, Date | string] | [Date | string];
1166
1166
  relativeMeta?: RelativeDateFilter;
1167
+ temporalPrecision?: TemporalPrecision;
1167
1168
  };
1168
1169
 
1169
1170
  declare type FilterForEqual = BaseFilter & {
@@ -1572,6 +1573,11 @@ declare type RangeValue = {
1572
1573
  };
1573
1574
 
1574
1575
  declare type RelativeDateFilter = {
1576
+ mode: 'last';
1577
+ n: number;
1578
+ unit: SubDayDateUnit;
1579
+ complete?: false;
1580
+ } | {
1575
1581
  mode: 'last';
1576
1582
  n: number;
1577
1583
  unit: DateUnit;
@@ -1978,6 +1984,8 @@ declare type StyleProps = {
1978
1984
  };
1979
1985
  };
1980
1986
 
1987
+ declare type SubDayDateUnit = 'minute' | 'hour';
1988
+
1981
1989
  declare type TableBaseFormatting = {
1982
1990
  version: TableFormattingVersion;
1983
1991
  tableParts?: Partial<Record<TablePart, TableBaseStyle>>;
@@ -2563,6 +2571,8 @@ declare type TDynamicVisualIntent = {
2563
2571
  includesKpis: boolean;
2564
2572
  };
2565
2573
 
2574
+ declare type TemporalPrecision = 'minute';
2575
+
2566
2576
  declare type TextCardInlineFormat = {
2567
2577
  bold?: boolean;
2568
2578
  italic?: boolean;
@@ -1415,6 +1415,7 @@ declare type FilterForDate = BaseFilter & {
1415
1415
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
1416
1416
  values: [Date | string, Date | string] | [Date | string];
1417
1417
  relativeMeta?: RelativeDateFilter;
1418
+ temporalPrecision?: TemporalPrecision;
1418
1419
  };
1419
1420
 
1420
1421
  declare type FilterForEqual = BaseFilter & {
@@ -1866,6 +1867,11 @@ declare type RangeValue = {
1866
1867
  };
1867
1868
 
1868
1869
  declare type RelativeDateFilter = {
1870
+ mode: 'last';
1871
+ n: number;
1872
+ unit: SubDayDateUnit;
1873
+ complete?: false;
1874
+ } | {
1869
1875
  mode: 'last';
1870
1876
  n: number;
1871
1877
  unit: DateUnit;
@@ -2337,6 +2343,8 @@ export declare type StyleProps = {
2337
2343
  };
2338
2344
  };
2339
2345
 
2346
+ declare type SubDayDateUnit = 'minute' | 'hour';
2347
+
2340
2348
  export declare function Surfboard({ showControls, showFooter, ...rest }: DashboardPlusProps): JSX.Element;
2341
2349
 
2342
2350
  declare type TableAppearance = {
@@ -3007,6 +3015,8 @@ export declare type TDynamicVisualIntent = {
3007
3015
  includesKpis: boolean;
3008
3016
  };
3009
3017
 
3018
+ declare type TemporalPrecision = 'minute';
3019
+
3010
3020
  export declare type TEvent = {
3011
3021
  type: 'success' | 'error' | 'info' | 'warning';
3012
3022
  message: any;
@@ -1370,9 +1370,7 @@ export declare type DateOptions = {
1370
1370
 
1371
1371
  export declare type DateSelectionMode = 'range' | 'months';
1372
1372
 
1373
- export declare type DateUnit = RelativeDateFilter['unit'];
1374
-
1375
- declare type DateUnit_2 = 'day' | 'week' | 'month' | 'quarter' | 'year';
1373
+ export declare type DateUnit = 'day' | 'week' | 'month' | 'quarter' | 'year';
1376
1374
 
1377
1375
  /**
1378
1376
  * Default CalendarContext when not provided.
@@ -1967,6 +1965,7 @@ declare type FilterForDate = BaseFilter & {
1967
1965
  operation: 'between' | 'not between' | '=' | '!=' | '>' | '<' | '>=' | '<=';
1968
1966
  values: [Date | string, Date | string] | [Date | string];
1969
1967
  relativeMeta?: RelativeDateFilter;
1968
+ temporalPrecision?: TemporalPrecision;
1970
1969
  };
1971
1970
 
1972
1971
  declare type FilterForEqual = BaseFilter & {
@@ -2794,22 +2793,29 @@ declare type RangeValue = {
2794
2793
  export declare type RelativeDateFilter = {
2795
2794
  mode: 'last';
2796
2795
  n: number;
2797
- unit: DateUnit_2;
2796
+ unit: SubDayDateUnit;
2797
+ complete?: false;
2798
+ } | {
2799
+ mode: 'last';
2800
+ n: number;
2801
+ unit: DateUnit;
2798
2802
  complete?: boolean;
2799
2803
  } | {
2800
2804
  mode: 'this';
2801
- unit: DateUnit_2;
2805
+ unit: DateUnit;
2802
2806
  toDate?: boolean;
2803
2807
  } | {
2804
2808
  mode: 'previous';
2805
- unit: DateUnit_2;
2809
+ unit: DateUnit;
2806
2810
  } | {
2807
2811
  mode: 'between';
2808
- unit: DateUnit_2;
2812
+ unit: DateUnit;
2809
2813
  from: number;
2810
2814
  to: number;
2811
2815
  };
2812
2816
 
2817
+ export declare type RelativeDateUnit = DateUnit | SubDayDateUnit;
2818
+
2813
2819
  export declare type ResolvedDashboardInput = {
2814
2820
  id: string;
2815
2821
  kind: 'filter' | 'control';
@@ -3375,6 +3381,8 @@ export declare type StyleProps = {
3375
3381
  };
3376
3382
  };
3377
3383
 
3384
+ export declare type SubDayDateUnit = 'minute' | 'hour';
3385
+
3378
3386
  /**
3379
3387
  * Subtotal configuration for groupBy and pivotBy axes
3380
3388
  */
@@ -4061,6 +4069,8 @@ export declare type TDynamicVisualIntent = {
4061
4069
  includesKpis: boolean;
4062
4070
  };
4063
4071
 
4072
+ declare type TemporalPrecision = 'minute';
4073
+
4064
4074
  export declare type TEvent = {
4065
4075
  type: 'success' | 'error' | 'info' | 'warning';
4066
4076
  message: any;
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.1.400",
8
+ "version": "0.1.401",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",