react-semaphor 0.1.490 → 0.1.492
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/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-CjXeohll.js → dashboard-briefing-launcher-BwADslJJ.js} +3 -3
- package/dist/chunks/{dashboard-briefing-launcher-Xc1ahSDr.cjs → dashboard-briefing-launcher-CxLiDWTk.cjs} +1 -1
- package/dist/chunks/{dashboard-controls-aF74EK_8.cjs → dashboard-controls-BPnI8NsC.cjs} +1 -1
- package/dist/chunks/{dashboard-controls-CM80LruK.js → dashboard-controls-CYMGIiej.js} +4 -4
- package/dist/chunks/{dashboard-json-DxMyq67E.cjs → dashboard-json-CQiKK6Uy.cjs} +1 -1
- package/dist/chunks/{dashboard-json-DoaJMqRz.js → dashboard-json-v9SwhF3c.js} +2 -2
- package/dist/chunks/{edit-dashboard-visual-Cz8Zwz_J.cjs → edit-dashboard-visual-BBx7gM0n.cjs} +1 -1
- package/dist/chunks/{edit-dashboard-visual-D_Rok5hj.js → edit-dashboard-visual-CJ7ROTEA.js} +3 -3
- package/dist/chunks/{editor-action-buttons-BiYQJs2Z.cjs → editor-action-buttons-BgtAK3_K.cjs} +1 -1
- package/dist/chunks/{editor-action-buttons-BkhUz9ns.js → editor-action-buttons-DCTpPX0c.js} +2 -2
- package/dist/chunks/{index-BSBkY6YL.js → index-D53sHJUM.js} +31414 -31281
- package/dist/chunks/{index-DuudgGg0.cjs → index-Rn2-ViIF.cjs} +225 -225
- package/dist/chunks/{report-preferences-dialog-Bd-PDPlO.js → report-preferences-dialog-BVVWFK_v.js} +2 -2
- package/dist/chunks/{report-preferences-dialog-NUZvN6uM.cjs → report-preferences-dialog-BmVVvFpV.cjs} +1 -1
- package/dist/chunks/{switch-BabZv_0t.cjs → switch-CALcFmPq.cjs} +1 -1
- package/dist/chunks/{switch-BPhOmWZm.js → switch-DChLVbbc.js} +8 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- 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/main.d.ts +4 -1
- package/dist/types/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -11822,6 +11822,14 @@ const bt = Mn()(
|
|
|
11822
11822
|
g.dashboard.inputs = y.length ? y : void 0, u = { ok: !0, inputId: h.id };
|
|
11823
11823
|
}), u;
|
|
11824
11824
|
},
|
|
11825
|
+
reorderDashboardInputs: (t) => {
|
|
11826
|
+
e((r) => {
|
|
11827
|
+
const o = r.dashboard.inputs || [];
|
|
11828
|
+
if (o.length === 0) return;
|
|
11829
|
+
const i = new Map(o.map((c) => [c.id, c])), a = t.map((c) => i.get(c)).filter((c) => c !== void 0), s = new Set(t), l = o.filter((c) => !s.has(c.id));
|
|
11830
|
+
r.dashboard.inputs = [...a, ...l];
|
|
11831
|
+
});
|
|
11832
|
+
},
|
|
11825
11833
|
removeDashboardInput: (t) => {
|
|
11826
11834
|
e((r) => {
|
|
11827
11835
|
r.dashboard.inputs = (r.dashboard.inputs || []).filter(
|
package/dist/dashboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-Rn2-ViIF.cjs"),e=require("../chunks/common-types-nBuCd3u2.cjs");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
|
package/dist/dashboard/index.js
CHANGED
|
@@ -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-
|
|
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-Rn2-ViIF.cjs"),w=require("../chunks/switch-CALcFmPq.cjs"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),te=require("../chunks/x-B6ghREd2.cjs"),Cn=require("../chunks/save-3dYRmehL.cjs"),Rn=require("../chunks/mouse-pointer-2-DX4A_XZw.cjs"),tt=require("../chunks/search-BqqhaMx9.cjs");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 Bn=Tr(p),Dn=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 Zn from "react";
|
|
3
3
|
import { useContext as qn, useState as x, useRef as oe, useMemo as je, useEffect as W, useCallback as Ot } from "react";
|
|
4
4
|
import * as Xn from "react-dom/client";
|
|
5
|
-
import { aK as ea, aL as ta, aM as Ir, aN as jr, aO as zr, aP as ra, aQ as Wr, aR as Hr, aS as Jr, aT as Vr, aU as _r, aV as Ur, aW as Kr, aX as na, aY as aa, aZ as oa, a_ as Ht, a$ as on, R as Gr, b0 as sa, b1 as Vt, b2 as sn, b3 as ia, b4 as la } from "../chunks/index-
|
|
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, L as me, R as ma, d as _t } from "../chunks/switch-
|
|
5
|
+
import { aK as ea, aL as ta, aM as Ir, aN as jr, aO as zr, aP as ra, aQ as Wr, aR as Hr, aS as Jr, aT as Vr, aU as _r, aV as Ur, aW as Kr, aX as na, aY as aa, aZ as oa, a_ as Ht, a$ as on, R as Gr, b0 as sa, b1 as Vt, b2 as sn, b3 as ia, b4 as la } from "../chunks/index-D53sHJUM.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, L as me, R as ma, d as _t } from "../chunks/switch-DChLVbbc.js";
|
|
7
7
|
import { loadSemaphorBrowserRuntime as ot } from "../data-app-builder-browser-runtime/index.js";
|
|
8
8
|
import { c as Ve, X as He } from "../chunks/x-CXDkqdur.js";
|
|
9
9
|
import { S as fa } from "../chunks/save-DgMfP0j8.js";
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DuudgGg0.cjs"),T=require("./chunks/common-types-nBuCd3u2.cjs"),N=require("./chunks/report-preferences-dialog-NUZvN6uM.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-BabZv_0t.cjs"),h=require("react"),R=require("./chunks/token-types-hl08eNuY.cjs"),d=require("./chunks/validators-4dRtYUI1.cjs"),u=require("./chunks/dashboard-briefing-launcher-Xc1ahSDr.cjs"),w=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./chunks/matrix-operation-contract-BiUMcd6G.cjs");require("./chunks/matrix-continuation-6nhDy-lF.cjs");require("./value-format-preferences/index.cjs");const L=require("./chunks/report-runtime-context-Bb0ejvVq.cjs"),B=require("./chunks/pivot-result-identity-CmvwpG4K.cjs");require("./chunks/field-aggregations-hx8odlTh.cjs");const A=require("./chunks/calculated-field-identity-D4VOHjBJ.cjs");require("zod");require("./chunks/constants-BMfm1XgO.cjs");require("react-dom");require("./chunks/index-Df4YBtX5.cjs");require("./chunks/appearance-context-tNjvTJj3.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-C8XCKzB6.cjs");const S=require("./chunks/normalize-dashboard-for-dirty-check-BYtBA708.cjs"),M=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-Ca8rxO86.cjs");function j(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(a,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return a.default=t,Object.freeze(a)}const m=j(h);function q(t){const{displayPreferences:a,cardId:o,...l}=t,n={...l,id:t.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:t.cardId}),i.jsx(e.UXProvider,{appearance:t.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(I,{cardId:o})})})})]})})}function I({cardId:t}){const a=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:l}=h.useMemo(()=>{const n=a==null?void 0:a.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)===t),E=n==null?void 0:n.find(s=>{var C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===t)});return{card:D,frame:E}},[a,t]);return!o||!l?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${t}`}):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:l})})})}function U(t,a,o,l){h.useEffect(()=>{t&&!o&&a&&l(A.cloneDeep(a))},[t,o,a,l])}function k({name:t,items:a,value:o,onChange:l,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[F,v]=m.useState("100%"),x=C?[...a||[],{id:"none",name:"None"}]:a;m.useLayoutEffect(()=>{g.current&&v(g.current.offsetWidth)},[]);function _(){var f;return n?"Loading...":c?"Error":o?(f=a==null?void 0:a.find(p=>p.id===o))==null?void 0:f.name:`Select ${t}`}function P(f,p){l(p),b(!1)}return i.jsxs(r.Popover,{open:y,onOpenChange:b,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":y,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:_()})]}),i.jsx(M.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:F},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 ",t==null?void 0:t.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=>P(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 O(t,a){h.useEffect(()=>(t&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{t&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[t,a])}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.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixCardView=e.MatrixCardView;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.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.CONTROL_CARD_DEFAULT_VALUE=T.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=T.EMPTY_SELECTION;exports.ReportPreferencesDialog=N.ReportPreferencesDialog;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_SEMANTIC_DOMAIN_ACCESS=R.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=d.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=d.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.AdvancedModeToggle=u.AdvancedModeToggle;exports.DashboardBriefingLauncher=u.DashboardBriefingLauncher;exports.DashboardControlsSettings=u.DashboardControlsSettings;exports.DashboardFilterControlsButton=u.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=u.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=u.DocumentControlsSettings;exports.ExportNotificationItem=u.ExportNotificationItem;exports.ExportNotificationList=u.ExportNotificationList;exports.NotificationBell=u.NotificationBell;exports.UnsavedChangesAlert=u.UnsavedChangesAlert;exports.VisualEditingControls=u.VisualEditingControls;exports.VisualsLibraryDialog=u.VisualsLibraryDialog;exports.WatchDashboardButton=u.WatchDashboardButton;exports.useExportPolling=u.useExportPolling;exports.useExportRecovery=u.useExportRecovery;exports.useDebouncedDirtyCheck=w.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=L.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=B.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=B.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=A.cloneDeep;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=k;exports.Visual=q;exports.useExposePrintState=O;exports.usePristineSnapshotInitializer=U;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-Rn2-ViIF.cjs"),T=require("./chunks/common-types-nBuCd3u2.cjs"),N=require("./chunks/report-preferences-dialog-BmVVvFpV.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-CALcFmPq.cjs"),h=require("react"),R=require("./chunks/token-types-hl08eNuY.cjs"),d=require("./chunks/validators-4dRtYUI1.cjs"),u=require("./chunks/dashboard-briefing-launcher-CxLiDWTk.cjs"),w=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./chunks/matrix-operation-contract-BiUMcd6G.cjs");require("./chunks/matrix-continuation-6nhDy-lF.cjs");require("./value-format-preferences/index.cjs");const L=require("./chunks/report-runtime-context-Bb0ejvVq.cjs"),B=require("./chunks/pivot-result-identity-CmvwpG4K.cjs");require("./chunks/field-aggregations-hx8odlTh.cjs");const A=require("./chunks/calculated-field-identity-D4VOHjBJ.cjs");require("zod");require("./chunks/constants-BMfm1XgO.cjs");require("react-dom");require("./chunks/index-Df4YBtX5.cjs");require("./chunks/appearance-context-tNjvTJj3.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-C8XCKzB6.cjs");const S=require("./chunks/normalize-dashboard-for-dirty-check-BYtBA708.cjs"),M=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-Ca8rxO86.cjs");function j(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(a,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return a.default=t,Object.freeze(a)}const m=j(h);function q(t){const{displayPreferences:a,cardId:o,...l}=t,n={...l,id:t.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:t.cardId}),i.jsx(e.UXProvider,{appearance:t.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(I,{cardId:o})})})})]})})}function I({cardId:t}){const a=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:l}=h.useMemo(()=>{const n=a==null?void 0:a.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)===t),E=n==null?void 0:n.find(s=>{var C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===t)});return{card:D,frame:E}},[a,t]);return!o||!l?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${t}`}):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:l})})})}function U(t,a,o,l){h.useEffect(()=>{t&&!o&&a&&l(A.cloneDeep(a))},[t,o,a,l])}function k({name:t,items:a,value:o,onChange:l,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[F,v]=m.useState("100%"),x=C?[...a||[],{id:"none",name:"None"}]:a;m.useLayoutEffect(()=>{g.current&&v(g.current.offsetWidth)},[]);function _(){var f;return n?"Loading...":c?"Error":o?(f=a==null?void 0:a.find(p=>p.id===o))==null?void 0:f.name:`Select ${t}`}function P(f,p){l(p),b(!1)}return i.jsxs(r.Popover,{open:y,onOpenChange:b,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":y,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:_()})]}),i.jsx(M.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:F},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 ",t==null?void 0:t.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=>P(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 O(t,a){h.useEffect(()=>(t&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{t&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[t,a])}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.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixCardView=e.MatrixCardView;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.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.CONTROL_CARD_DEFAULT_VALUE=T.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=T.EMPTY_SELECTION;exports.ReportPreferencesDialog=N.ReportPreferencesDialog;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_SEMANTIC_DOMAIN_ACCESS=R.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=d.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=d.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.AdvancedModeToggle=u.AdvancedModeToggle;exports.DashboardBriefingLauncher=u.DashboardBriefingLauncher;exports.DashboardControlsSettings=u.DashboardControlsSettings;exports.DashboardFilterControlsButton=u.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=u.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=u.DocumentControlsSettings;exports.ExportNotificationItem=u.ExportNotificationItem;exports.ExportNotificationList=u.ExportNotificationList;exports.NotificationBell=u.NotificationBell;exports.UnsavedChangesAlert=u.UnsavedChangesAlert;exports.VisualEditingControls=u.VisualEditingControls;exports.VisualsLibraryDialog=u.VisualsLibraryDialog;exports.WatchDashboardButton=u.WatchDashboardButton;exports.useExportPolling=u.useExportPolling;exports.useExportRecovery=u.useExportRecovery;exports.useDebouncedDirtyCheck=w.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=L.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=B.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=B.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=A.cloneDeep;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=k;exports.Visual=q;exports.useExposePrintState=O;exports.usePristineSnapshotInitializer=U;
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { E as y, F as N, S, c as _, U as P, d as w, C as F, e as x, f as R, g as L, h as M, I, R as U, i as k, j as O, k as V, l as q } from "./chunks/index-
|
|
2
|
-
import { ak as ba, al as Ta, am as va, an as Aa, V as Ba, G as Na, D as Sa, A as _a, z as Pa, w as wa, b as Fa, au as Ra, M as La, n as Ma, q as Ia, q as Ua, r as ka, B as Oa, a as Va, af as qa, ah as za, ai as Wa, ag as ja, a6 as Qa, a9 as Ha, at as Ka, Z as Ga, ae as Ya, ap as Xa, a1 as $a, aa as Ja, y as Za, x as ae, ax as ee, Y as re, ab as se, ac as oe, a5 as ie, a8 as te, as as ne, ar as le, aq as ue, aw as de, av as ce, a7 as fe, X as pe, W as me, $ as he, ad as ge, a3 as Ce, a0 as De, a2 as Ee, a4 as xe, _ as ye, P as be, L as Te, ao as ve, v as Ae, J as Be, t as Ne, m as Se, H as _e, K as Pe, o as we, T as Fe, O as Re, N as Le, Q as Me, u as Ie, s as Ue, p as ke, aj as Oe } from "./chunks/index-
|
|
1
|
+
import { E as y, F as N, S, c as _, U as P, d as w, C as F, e as x, f as R, g as L, h as M, I, R as U, i as k, j as O, k as V, l as q } from "./chunks/index-D53sHJUM.js";
|
|
2
|
+
import { ak as ba, al as Ta, am as va, an as Aa, V as Ba, G as Na, D as Sa, A as _a, z as Pa, w as wa, b as Fa, au as Ra, M as La, n as Ma, q as Ia, q as Ua, r as ka, B as Oa, a as Va, af as qa, ah as za, ai as Wa, ag as ja, a6 as Qa, a9 as Ha, at as Ka, Z as Ga, ae as Ya, ap as Xa, a1 as $a, aa as Ja, y as Za, x as ae, ax as ee, Y as re, ab as se, ac as oe, a5 as ie, a8 as te, as as ne, ar as le, aq as ue, aw as de, av as ce, a7 as fe, X as pe, W as me, $ as he, ad as ge, a3 as Ce, a0 as De, a2 as Ee, a4 as xe, _ as ye, P as be, L as Te, ao as ve, v as Ae, J as Be, t as Ne, m as Se, H as _e, K as Pe, o as we, T as Fe, O as Re, N as Le, Q as Me, u as Ie, s as Ue, p as ke, aj as Oe } from "./chunks/index-D53sHJUM.js";
|
|
3
3
|
import { C as qe, E as ze } from "./chunks/common-types-C6cAQgyh.js";
|
|
4
|
-
import { R as je } from "./chunks/report-preferences-dialog-
|
|
4
|
+
import { R as je } from "./chunks/report-preferences-dialog-BVVWFK_v.js";
|
|
5
5
|
import { jsx as a, jsxs as u } from "react/jsx-runtime";
|
|
6
|
-
import { u as z, P as W, a as j, B as Q, c as C, b as H, d as K } from "./chunks/switch-
|
|
7
|
-
import { A as He, n as Ke, e as Ge, f as Ye, g as Xe, p as $e, o as Je, s as Ze, t as ar, m as er, i as rr, l as sr, q as or, k as ir, j as tr, h as nr, v as lr, r as ur, w as dr, y as cr, x as fr, z as pr, E as mr, D as hr } from "./chunks/switch-
|
|
6
|
+
import { u as z, P as W, a as j, B as Q, c as C, b as H, d as K } from "./chunks/switch-DChLVbbc.js";
|
|
7
|
+
import { A as He, n as Ke, e as Ge, f as Ye, g as Xe, p as $e, o as Je, s as Ze, t as ar, m as er, i as rr, l as sr, q as or, k as ir, j as tr, h as nr, v as lr, r as ur, w as dr, y as cr, x as fr, z as pr, E as mr, D as hr } from "./chunks/switch-DChLVbbc.js";
|
|
8
8
|
import * as p from "react";
|
|
9
9
|
import { useMemo as G, useEffect as b } from "react";
|
|
10
10
|
import { D as Cr } from "./chunks/token-types-5buW2I6f.js";
|
|
11
11
|
import { C as Er, D as xr, L as yr, P as br, g as Tr, c as vr, h as Ar, d as Br, a as Nr, b as Sr, i as _r } from "./chunks/validators-BpJDwDnG.js";
|
|
12
|
-
import { A as wr, g as Fr, D as Rr, e as Lr, f as Mr, d as Ir, b as Ur, E as kr, N as Or, U as Vr, a as qr, V as zr, W as Wr, u as jr, c as Qr } from "./chunks/dashboard-briefing-launcher-
|
|
12
|
+
import { A as wr, g as Fr, D as Rr, e as Lr, f as Mr, d as Ir, b as Ur, E as kr, N as Or, U as Vr, a as qr, V as zr, W as Wr, u as jr, c as Qr } from "./chunks/dashboard-briefing-launcher-BwADslJJ.js";
|
|
13
13
|
import { u as Kr } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
|
|
14
14
|
import "./chunks/matrix-operation-contract-D5I-t3i7.js";
|
|
15
15
|
import "./chunks/matrix-continuation-C4sRcjZU.js";
|
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-Rn2-ViIF.cjs"),r=require("../chunks/common-types-nBuCd3u2.cjs"),o=require("../chunks/report-preferences-dialog-BmVVvFpV.cjs");exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.Surfboard=e.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=r.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;exports.ReportPreferencesDialog=o.ReportPreferencesDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as a, a as o } from "../chunks/index-
|
|
1
|
+
import { b as a, a as o } from "../chunks/index-D53sHJUM.js";
|
|
2
2
|
import { C as f, E } from "../chunks/common-types-C6cAQgyh.js";
|
|
3
|
-
import { R as t } from "../chunks/report-preferences-dialog-
|
|
3
|
+
import { R as t } from "../chunks/report-preferences-dialog-BVVWFK_v.js";
|
|
4
4
|
export {
|
|
5
5
|
f as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
a as DisplayFormatPreferencesFields,
|
package/dist/types/main.d.ts
CHANGED
|
@@ -57,6 +57,7 @@ declare type Actions_2 = {
|
|
|
57
57
|
acceptDashboardFilterMapping: (request: DashboardFilterMappingAuthoringRequest, updatedFilter?: TFilter, settings?: DashboardFilterAuthoringSettingsUpdate) => DashboardFilterMappingAcceptanceResult;
|
|
58
58
|
disableDashboardFilterMapping: (filterId: string, updatedFilter?: TFilter, settings?: DashboardFilterAuthoringSettingsUpdate) => DashboardFilterMappingDisableResult;
|
|
59
59
|
removeDashboardInput: (inputId: string) => void;
|
|
60
|
+
reorderDashboardInputs: (orderedInputIds: string[]) => void;
|
|
60
61
|
setDefaultDashboardInputValues: (values: DashboardInputValues | undefined) => void;
|
|
61
62
|
setDefaultDashboardInputComparisonSelection: (input: Pick<DashboardInput, 'id' | 'runtimeScope'>, target: DashboardInputRuntimeTarget, selection: GlobalDateComparisonSelection | undefined) => void;
|
|
62
63
|
setDashboardInputValues: (values: DashboardInputValues) => void;
|
|
@@ -8644,7 +8645,7 @@ declare type DashboardCreateBlankData = {
|
|
|
8644
8645
|
dataset?: DashboardAuthoringSource;
|
|
8645
8646
|
};
|
|
8646
8647
|
|
|
8647
|
-
export declare function DashboardCreateDialogBase({ open, onOpenChange, onCreateBlank, onAiCreateSuccess, isCreatingBlank, sources, sourcesLoading, suggestDashboards, planDashboard, createDashboardFromPlan, settingsSlot, blankDescription, description, canCreate, initialDomainId, }: DashboardCreateDialogBaseProps): JSX.Element;
|
|
8648
|
+
export declare function DashboardCreateDialogBase({ open, onOpenChange, onCreateBlank, onAiCreateSuccess, isCreatingBlank, sources, sourcesLoading, suggestDashboards, planDashboard, createDashboardFromPlan, settingsSlot, blankDescription, description, canCreate, aiAuthoringEnabled, initialDomainId, }: DashboardCreateDialogBaseProps): JSX.Element;
|
|
8648
8649
|
|
|
8649
8650
|
export declare interface DashboardCreateDialogBaseProps {
|
|
8650
8651
|
open: boolean;
|
|
@@ -8661,6 +8662,7 @@ export declare interface DashboardCreateDialogBaseProps {
|
|
|
8661
8662
|
blankDescription?: string;
|
|
8662
8663
|
description?: string;
|
|
8663
8664
|
canCreate?: boolean;
|
|
8665
|
+
aiAuthoringEnabled?: boolean;
|
|
8664
8666
|
initialDomainId?: string;
|
|
8665
8667
|
}
|
|
8666
8668
|
|
|
@@ -25734,6 +25736,7 @@ export declare type UIConfig = {
|
|
|
25734
25736
|
schemaVersion: 'project-features/v1';
|
|
25735
25737
|
features: {
|
|
25736
25738
|
dashboardAssistant: boolean;
|
|
25739
|
+
dashboardAiAuthoring: boolean;
|
|
25737
25740
|
dataAppBuilder: boolean;
|
|
25738
25741
|
analyticalBriefings: boolean;
|
|
25739
25742
|
aiWritingHelpers: boolean;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -11896,6 +11896,7 @@ export declare type UIConfig = {
|
|
|
11896
11896
|
schemaVersion: 'project-features/v1';
|
|
11897
11897
|
features: {
|
|
11898
11898
|
dashboardAssistant: boolean;
|
|
11899
|
+
dashboardAiAuthoring: boolean;
|
|
11899
11900
|
dataAppBuilder: boolean;
|
|
11900
11901
|
analyticalBriefings: boolean;
|
|
11901
11902
|
aiWritingHelpers: boolean;
|