react-semaphor 0.1.447 → 0.1.449

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 (41) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/chunks/{dashboard-briefing-launcher-CDjcivK2.js → dashboard-briefing-launcher-DCHiEkLE.js} +3 -3
  4. package/dist/chunks/{dashboard-briefing-launcher-D44Au-Qp.cjs → dashboard-briefing-launcher-DDgDr2s3.cjs} +1 -1
  5. package/dist/chunks/{dashboard-controls-DH3J4L1D.cjs → dashboard-controls-CaFioayc.cjs} +1 -1
  6. package/dist/chunks/{dashboard-controls-tHwb3g3W.js → dashboard-controls-DwRFCcHV.js} +4 -4
  7. package/dist/chunks/{dashboard-json-VOXcUBqx.cjs → dashboard-json-CYtvwtvj.cjs} +1 -1
  8. package/dist/chunks/{dashboard-json-Bihrrl5_.js → dashboard-json-WoILbfTe.js} +2 -2
  9. package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +177 -0
  10. package/dist/chunks/{edit-dashboard-visual-Dsc9mZnc.js → edit-dashboard-visual-ciFhxqaI.js} +6865 -6761
  11. package/dist/chunks/{editor-action-buttons-BbVgPOda.js → editor-action-buttons-BPo_45pM.js} +2 -2
  12. package/dist/chunks/{editor-action-buttons-BFqvBlLw.cjs → editor-action-buttons-BVmsk0Aj.cjs} +1 -1
  13. package/dist/chunks/{index-srGACKDr.js → index-CPuawpXJ.js} +34797 -34364
  14. package/dist/chunks/{index-BSTyv45D.cjs → index-DPv8_Ild.cjs} +221 -221
  15. package/dist/chunks/{report-preferences-dialog-DZez53xw.js → report-preferences-dialog-D9ZCGh9l.js} +2 -2
  16. package/dist/chunks/{report-preferences-dialog-TYTIHpHi.cjs → report-preferences-dialog-DaqTEcac.cjs} +1 -1
  17. package/dist/chunks/{switch-Bz2uj3q0.js → switch-BXet-Sno.js} +3291 -3263
  18. package/dist/chunks/switch-Cjk6G06r.cjs +138 -0
  19. package/dist/dashboard/index.cjs +1 -1
  20. package/dist/dashboard/index.js +1 -1
  21. package/dist/data-app-builder/index.cjs +1 -1
  22. package/dist/data-app-builder/index.js +2 -2
  23. package/dist/format-utils/index.cjs +3 -3
  24. package/dist/format-utils/index.js +172 -147
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.js +6 -6
  27. package/dist/style.css +1 -1
  28. package/dist/surfboard/index.cjs +1 -1
  29. package/dist/surfboard/index.js +2 -2
  30. package/dist/types/briefings.d.ts +14 -0
  31. package/dist/types/dashboard-assistant.d.ts +14 -0
  32. package/dist/types/dashboard-authoring.d.ts +14 -0
  33. package/dist/types/dashboard.d.ts +14 -0
  34. package/dist/types/format-utils.d.ts +2 -0
  35. package/dist/types/main.d.ts +16 -0
  36. package/dist/types/shared.d.ts +14 -0
  37. package/dist/types/surfboard.d.ts +14 -0
  38. package/dist/types/types.d.ts +16 -0
  39. package/package.json +3 -3
  40. package/dist/chunks/edit-dashboard-visual-8XtuSSKG.cjs +0 -177
  41. package/dist/chunks/switch-rbwGjmad.cjs +0 -138
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-BSTyv45D.cjs"),e=require("../chunks/common-types-CQ6SHfLk.cjs");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-DPv8_Ild.cjs"),e=require("../chunks/common-types-CQ6SHfLk.cjs");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-srGACKDr.js";
1
+ import { D as o } from "../chunks/index-CPuawpXJ.js";
2
2
  import { C as s, E as C } from "../chunks/common-types-B7Jk3Rtj.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-BSTyv45D.cjs"),w=require("../chunks/switch-rbwGjmad.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);/**
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-DPv8_Ild.cjs"),w=require("../chunks/switch-Cjk6G06r.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 { aM as ea, aN as ta, aO as Ir, aP as jr, aQ as zr, aR as ra, aS as Wr, aT as Hr, aU as Jr, aV as Vr, aW as _r, aX as Ur, aY as Gr, aZ as na, a_ as aa, a$ as oa, b0 as Ht, b1 as on, R as Kr, b2 as sa, b3 as Vt, b4 as sn, b5 as ia, b6 as la } from "../chunks/index-srGACKDr.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-Bz2uj3q0.js";
5
+ import { aM as ea, aN as ta, aO as Ir, aP as jr, aQ as zr, aR as ra, aS as Wr, aT as Hr, aU as Jr, aV as Vr, aW as _r, aX as Ur, aY as Gr, aZ as na, a_ as aa, a$ as oa, b0 as Ht, b1 as on, R as Kr, b2 as sa, b3 as Vt, b4 as sn, b5 as ia, b6 as la } from "../chunks/index-CPuawpXJ.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-BXet-Sno.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";
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../chunks/format-types-CSv0V7mm.cjs"),i=require("../chunks/presentation-execution-BTV-Q43g.cjs"),s=require("../chunks/pivot-result-lifecycle-DPc0ANwk.cjs"),m=require("../chunks/temporal-bucket-pMnV-4Nj.cjs"),P=require("../chunks/validators-9D4KBqKD.cjs"),g=require("../chunks/metric-comparison-CUAJ8n4y.cjs"),f=require("../chunks/pivot-result-identity-CDLRT-YG.cjs");function d(r,e,o,t){const n=r instanceof Date?r.toISOString():String(r),l=(t==null?void 0:t.browserTimezone)||o,a=(t==null?void 0:t.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return s.formatRelativeTime(n,(e==null?void 0:e.sourceTimezone)||"auto");const u=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return s.formatDate(n,u,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:a?l:o,(e==null?void 0:e.sourceTimezone)||"auto")}function C(r,e,o){if(r==null)return"";if(!o.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?i.formatNumberWithColumnSettings(r,e.numberFormat,o.locale):String(r);case"date":return d(r,e.dateFormat,o.timezone,{browserTimezone:o.browserTimezone,isSqlCard:o.isSqlCard});case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function E(r,e){return e.visibleColumns.map(o=>{const t=r[o],n=e.columnSettings[o];return C(t,n,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function v(r,e){const o=[];e.includeHeaders&&o.push(s.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const n=E(t,e);o.push(n.map(l=>s.escapeCSVValue(l,e.delimiter)).join(e.delimiter))}return o}function A(r,e,o=`
2
- `){return v(r,e).join(o)}function w(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let n=1;n<t.colspan;n++)e[t.level].push("")}t.children?w(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function R(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let n=0;n<e;n++)t[n].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(n=>n.label||n.name)),w(r.columnHeadersTree,t,e),r.showRowTotals){for(let n=0;n<e;n++)t[n].push("");t[e].push("Total")}return t}function N(r,e,o){if(r==null)return"";if(!o.useFormattedValues)return String(r);const t=o.columnSettings[e];return typeof r=="number"&&(t==null?void 0:t.type)==="number"?i.formatNumberWithColumnSettings(r,t.numberFormat,o.locale):typeof r=="number"?r.toLocaleString(o.locale):String(r)}function S(r,e,o){const t=[];r.fieldValues.forEach((l,a)=>{r.isSubtotal&&a===0?t.push(`${l} Total`):r.isSubtotal?t.push(""):t.push(String(l??""))});let n=0;return e.columnHeaders.forEach(l=>{var c;const a=(c=r.cells[l])==null?void 0:c.value,u=N(a,l,o);t.push(u),e.showRowTotals&&typeof a=="number"&&(n+=a)}),e.showRowTotals&&t.push(n.toLocaleString(o.locale)),t}function V(r,e,o){const t=[];if(o.includeHeaders){const n=R(e);for(const l of n)t.push(s.arrayToCSVRow(l,o.delimiter))}for(const n of r){const l=S(n,e,o);t.push(l.map(a=>s.escapeCSVValue(a,o.delimiter)).join(o.delimiter))}return t}function T(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function y(r,e,o){const t=new Set(e),n=Object.keys(r).find(l=>!t.has(l));if(n)throw new Error(`${o} contains unknown property "${n}"`)}function B(r,e="tableTotalsRequest"){if(!T(r))throw new Error(`${e} must be an object`);if(y(r,["source","columns"],e),r.source!=="documentFlatTable")throw new Error(`${e}.source must be documentFlatTable`);if(!Array.isArray(r.columns)||r.columns.length===0)throw new Error(`${e}.columns must be a non-empty array`);const o=new Set;let t=0;const n=r.columns.map((l,a)=>{const u=`${e}.columns.${a}`;if(!T(l))throw new Error(`${u} must be an object`);y(l,["fieldId","role","behavior","label"],u);const c=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!c)throw new Error(`${u}.fieldId must be a non-empty string`);if(o.has(c))throw new Error(`${e}.columns duplicates fieldId "${c}"`);if(o.add(c),l.role!=="detail"&&l.role!=="groupby"&&l.role!=="metric")throw new Error(`${u}.role is invalid`);const p=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const b=l.behavior;if(b==="label"){if(t+=1,p==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(p!=="metric")throw new Error(`${u}.${b} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:c,role:p,behavior:b,...l.label!==void 0?{label:l.label}:{}}});if(t>1)throw new Error(`${e}.columns may contain at most one label`);return{source:"documentFlatTable",columns:n}}function k(r,e="tableTotalsByColumnId"){if(!T(r))throw new Error(`${e} must be an object`);const o={};for(const[t,n]of Object.entries(r)){if(!t.trim())throw new Error(`${e} contains an empty column id`);if(n!==null&&typeof n!="string"&&(typeof n!="number"||!Number.isFinite(n)))throw new Error(`${e}.${t} must be a string, finite number, or null`);o[t]=n}if(Object.keys(o).length===0)throw new Error(`${e} must not be empty`);return o}function M(r){if(typeof r=="number")return Number.isFinite(r)?r:null;if(!r.trim())return null;const e=Number(r);return Number.isFinite(e)?e:null}function $(r){const e=r.visibleColumns.map(o=>{const n=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(n===null)return"";if(!r.useFormattedValues)return String(n);const l=i.findResolvedNumericFormat({snapshot:r.snapshot,scope:r.scope,target:{kind:"column",columnKey:o}}),a=l?M(n):null;return l&&a!==null?i.formatNumericCanonical(a,l):String(n)});return`${s.arrayToCSVRow(e,r.delimiter)}
3
- `}exports.isNumericCanonicalFormat=h.isNumericCanonicalFormat;exports.findResolvedNumericFormat=i.findResolvedNumericFormat;exports.findResolvedTemporalBucketFormat=i.findResolvedTemporalBucketFormat;exports.formatCurrency=i.formatCurrency;exports.formatNumber=i.formatNumber;exports.formatNumberCustom=i.formatNumberCustom;exports.formatNumberWithColumnSettings=i.formatNumberWithColumnSettings;exports.formatNumericCanonical=i.formatNumericCanonical;exports.formatPercent=i.formatPercent;exports.formatScientific=i.formatScientific;exports.parseNumericCanonicalFormat=i.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=i.parsePresentationExecutionSnapshot;exports.parsePresentationScope=i.parsePresentationScope;exports.parseResolvedNumericCanonicalFormat=i.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=i.parseResolvedPresentationEntries;exports.resolveCurrencyFractionDigits=i.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=i.resolveNumericPresentation;exports.validateCardExportNumericPresentationSnapshot=i.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=i.validateCardExportPresentationSnapshot;exports.AGGREGATE_TOTAL_MEMBER_MARKER=s.AGGREGATE_TOTAL_MEMBER_MARKER;exports.PivotHeaderPresentationError=s.PivotHeaderPresentationError;exports.PivotResultLifecycleError=s.PivotResultLifecycleError;exports.arrayToCSV=s.arrayToCSV;exports.arrayToCSVRow=s.arrayToCSVRow;exports.createCanonicalPivotResultTransport=s.createCanonicalPivotResultTransport;exports.derivePivotResultContractExpectations=s.derivePivotResultContractExpectations;exports.escapeCSVValue=s.escapeCSVValue;exports.formatAggregateGrandTotalLabel=s.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=s.formatAggregateGroupCell;exports.formatAggregateGroupRow=s.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=s.formatAggregateSubtotalLabel;exports.formatDate=s.formatDate;exports.formatDuration=s.formatDuration;exports.formatMetricComparison=s.formatMetricComparison;exports.formatRelativeTime=s.formatRelativeTime;exports.getTimezoneAbbreviation=s.getTimezoneAbbreviation;exports.getTimezoneName=s.getTimezoneName;exports.isAggregateTotalMemberMarker=s.isAggregateTotalMemberMarker;exports.objectsToCSV=s.objectsToCSV;exports.parseCanonicalPivotResultTransport=s.parseCanonicalPivotResultTransport;exports.parseWithSourceTimezone=s.parseWithSourceTimezone;exports.presentAggregateGroupRow=s.presentAggregateGroupRow;exports.presentPivotHeader=s.presentPivotHeader;exports.resolveAggregateTablePresentationContext=s.resolveAggregateTablePresentationContext;exports.resolveTimezone=s.resolveTimezone;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=m.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.TemporalBucketContractError=m.TemporalBucketContractError;exports.formatTemporalBucket=m.formatTemporalBucket;exports.isTemporalBucketPreset=m.isTemporalBucketPreset;exports.parseResolvedTemporalBucketFormat=m.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=m.parseTemporalBucketValue;exports.resolveApplicableTemporalBucketFormat=m.resolveApplicableTemporalBucketFormat;exports.resolveTemporalBucketPresentation=m.resolveTemporalBucketPresentation;exports.tokenizeTemporalBucketPattern=m.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=m.validateTemporalBucketFormatApplicability;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=P.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.resolveMetricResultAlias=g.resolveMetricResultAlias;exports.PivotResultIdentityError=f.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=f.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=f.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=f.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=f.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=f.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=f.resolveUniqueQueryColumnKeyMapEntry;exports.buildFlatTableExportTotalsFooter=$;exports.formatCellValue=C;exports.formatPivotDataRow=S;exports.formatPivotTableForCSV=V;exports.formatRowForExport=E;exports.formatTableForCSV=v;exports.generatePivotHeaders=R;exports.generateTableCSV=A;exports.parseFlatTableExportTotalsByColumnId=k;exports.parseFlatTableExportTotalsRequest=B;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../chunks/format-types-CSv0V7mm.cjs"),a=require("../chunks/presentation-execution-BTV-Q43g.cjs"),i=require("../chunks/pivot-result-lifecycle-DPc0ANwk.cjs"),c=require("../chunks/temporal-bucket-pMnV-4Nj.cjs"),A=require("../chunks/validators-9D4KBqKD.cjs"),d=require("../chunks/metric-comparison-CUAJ8n4y.cjs"),f=require("../chunks/pivot-result-identity-CDLRT-YG.cjs");function N(r,e,o,t){const n=r instanceof Date?r.toISOString():String(r),s=(t==null?void 0:t.browserTimezone)||o,l=(t==null?void 0:t.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return i.formatRelativeTime(n,(e==null?void 0:e.sourceTimezone)||"auto");const m=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return i.formatDate(n,m,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:l?s:o,(e==null?void 0:e.sourceTimezone)||"auto")}function w(r,e,o){if(r==null)return"";if(!o.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?a.formatNumberWithColumnSettings(r,e.numberFormat,o.locale):String(r);case"date":return N(r,e.dateFormat,o.timezone,{browserTimezone:o.browserTimezone,isSqlCard:o.isSqlCard});case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function v(r,e){return e.visibleColumns.map(o=>{const t=r[o],n=e.columnSettings[o];return w(t,n,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function h(r,e){const o=[];e.includeHeaders&&o.push(i.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const n=v(t,e);o.push(n.map(s=>i.escapeCSVValue(s,e.delimiter)).join(e.delimiter))}return o}function V(r,e,o=`
2
+ `){return h(r,e).join(o)}function R(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let n=1;n<t.colspan;n++)e[t.level].push("")}t.children?R(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function S(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let n=0;n<e;n++)t[n].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(n=>n.label||n.name)),R(r.columnHeadersTree,t,e),r.showRowTotals){for(let n=0;n<e;n++)t[n].push("");t[e].push("Total")}return t}function B(r,e,o){if(r==null)return"";if(!o.useFormattedValues)return String(r);const t=o.columnSettings[e];return typeof r=="number"&&(t==null?void 0:t.type)==="number"?a.formatNumberWithColumnSettings(r,t.numberFormat,o.locale):typeof r=="number"?r.toLocaleString(o.locale):String(r)}function P(r,e,o){const t=[];r.fieldValues.forEach((s,l)=>{r.isSubtotal&&l===0?t.push(`${s} Total`):r.isSubtotal?t.push(""):t.push(String(s??""))});let n=0;return e.columnHeaders.forEach(s=>{var u;const l=(u=r.cells[s])==null?void 0:u.value,m=B(l,s,o);t.push(m),e.showRowTotals&&typeof l=="number"&&(n+=l)}),e.showRowTotals&&t.push(n.toLocaleString(o.locale)),t}function k(r,e,o){const t=[];if(o.includeHeaders){const n=S(e);for(const s of n)t.push(i.arrayToCSVRow(s,o.delimiter))}for(const n of r){const s=P(n,e,o);t.push(s.map(l=>i.escapeCSVValue(l,o.delimiter)).join(o.delimiter))}return t}function y(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function C(r,e,o){const t=new Set(e),n=Object.keys(r).find(s=>!t.has(s));if(n)throw new Error(`${o} contains unknown property "${n}"`)}function M(r,e="tableTotalsRequest"){if(!y(r))throw new Error(`${e} must be an object`);if(C(r,["source","columns"],e),r.source!=="documentFlatTable")throw new Error(`${e}.source must be documentFlatTable`);if(!Array.isArray(r.columns)||r.columns.length===0)throw new Error(`${e}.columns must be a non-empty array`);let o=0;const t=r.columns.map((l,m)=>{const u=`${e}.columns.${m}`;if(!y(l))throw new Error(`${u} must be an object`);C(l,["fieldId","role","behavior","metricAlias","label"],u);const E=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!E)throw new Error(`${u}.fieldId must be a non-empty string`);if(l.role!=="detail"&&l.role!=="groupby"&&l.role!=="metric")throw new Error(`${u}.role is invalid`);const p=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const T=l.behavior,b=typeof l.metricAlias=="string"?l.metricAlias.trim():void 0;if(l.metricAlias!==void 0&&!b)throw new Error(`${u}.metricAlias must be a non-empty string`);if(b&&p!=="metric")throw new Error(`${u}.metricAlias requires metric role`);if(T==="label"){if(o+=1,p==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(p!=="metric")throw new Error(`${u}.${T} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:E,role:p,behavior:T,...b?{metricAlias:b}:{},...l.label!==void 0?{label:l.label}:{}}}),n=new Map,s=new Set;for(const l of t){if(l.metricAlias){if(s.has(l.metricAlias))throw new Error(`${e}.columns duplicates metricAlias "${l.metricAlias}"`);s.add(l.metricAlias)}const m=n.get(l.fieldId)??[];m.push(l),n.set(l.fieldId,m)}for(const[l,m]of n)if(m.length!==1){for(const u of m)if(u.role!=="metric"||!u.metricAlias)throw new Error(`${e}.columns duplicates fieldId "${l}" without distinct metricAlias values`)}if(o>1)throw new Error(`${e}.columns may contain at most one label`);return{source:"documentFlatTable",columns:t}}function $(r,e="tableTotalsByColumnId"){if(!y(r))throw new Error(`${e} must be an object`);const o={};for(const[t,n]of Object.entries(r)){if(!t.trim())throw new Error(`${e} contains an empty column id`);if(n!==null&&typeof n!="string"&&(typeof n!="number"||!Number.isFinite(n)))throw new Error(`${e}.${t} must be a string, finite number, or null`);o[t]=n}if(Object.keys(o).length===0)throw new Error(`${e} must not be empty`);return o}function I(r){if(typeof r=="number")return Number.isFinite(r)?r:null;if(!r.trim())return null;const e=Number(r);return Number.isFinite(e)?e:null}function q(r){const e=r.visibleColumns.map(o=>{const n=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(n===null)return"";if(!r.useFormattedValues)return String(n);const s=a.findResolvedNumericFormat({snapshot:r.snapshot,scope:r.scope,target:{kind:"column",columnKey:o}}),l=s?I(n):null;return s&&l!==null?a.formatNumericCanonical(l,s):String(n)});return`${i.arrayToCSVRow(e,r.delimiter)}
3
+ `}exports.isNumericCanonicalFormat=g.isNumericCanonicalFormat;exports.findResolvedNumericFormat=a.findResolvedNumericFormat;exports.findResolvedTemporalBucketFormat=a.findResolvedTemporalBucketFormat;exports.formatCurrency=a.formatCurrency;exports.formatNumber=a.formatNumber;exports.formatNumberCustom=a.formatNumberCustom;exports.formatNumberWithColumnSettings=a.formatNumberWithColumnSettings;exports.formatNumericCanonical=a.formatNumericCanonical;exports.formatPercent=a.formatPercent;exports.formatScientific=a.formatScientific;exports.parseNumericCanonicalFormat=a.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=a.parsePresentationExecutionSnapshot;exports.parsePresentationScope=a.parsePresentationScope;exports.parseResolvedNumericCanonicalFormat=a.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=a.parseResolvedPresentationEntries;exports.resolveCurrencyFractionDigits=a.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=a.resolveNumericPresentation;exports.validateCardExportNumericPresentationSnapshot=a.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=a.validateCardExportPresentationSnapshot;exports.AGGREGATE_TOTAL_MEMBER_MARKER=i.AGGREGATE_TOTAL_MEMBER_MARKER;exports.PivotHeaderPresentationError=i.PivotHeaderPresentationError;exports.PivotResultLifecycleError=i.PivotResultLifecycleError;exports.arrayToCSV=i.arrayToCSV;exports.arrayToCSVRow=i.arrayToCSVRow;exports.createCanonicalPivotResultTransport=i.createCanonicalPivotResultTransport;exports.derivePivotResultContractExpectations=i.derivePivotResultContractExpectations;exports.escapeCSVValue=i.escapeCSVValue;exports.formatAggregateGrandTotalLabel=i.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=i.formatAggregateGroupCell;exports.formatAggregateGroupRow=i.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=i.formatAggregateSubtotalLabel;exports.formatDate=i.formatDate;exports.formatDuration=i.formatDuration;exports.formatMetricComparison=i.formatMetricComparison;exports.formatRelativeTime=i.formatRelativeTime;exports.getTimezoneAbbreviation=i.getTimezoneAbbreviation;exports.getTimezoneName=i.getTimezoneName;exports.isAggregateTotalMemberMarker=i.isAggregateTotalMemberMarker;exports.objectsToCSV=i.objectsToCSV;exports.parseCanonicalPivotResultTransport=i.parseCanonicalPivotResultTransport;exports.parseWithSourceTimezone=i.parseWithSourceTimezone;exports.presentAggregateGroupRow=i.presentAggregateGroupRow;exports.presentPivotHeader=i.presentPivotHeader;exports.resolveAggregateTablePresentationContext=i.resolveAggregateTablePresentationContext;exports.resolveTimezone=i.resolveTimezone;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=c.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.TemporalBucketContractError=c.TemporalBucketContractError;exports.formatTemporalBucket=c.formatTemporalBucket;exports.isTemporalBucketPreset=c.isTemporalBucketPreset;exports.parseResolvedTemporalBucketFormat=c.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=c.parseTemporalBucketValue;exports.resolveApplicableTemporalBucketFormat=c.resolveApplicableTemporalBucketFormat;exports.resolveTemporalBucketPresentation=c.resolveTemporalBucketPresentation;exports.tokenizeTemporalBucketPattern=c.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=c.validateTemporalBucketFormatApplicability;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=A.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.resolveMetricResultAlias=d.resolveMetricResultAlias;exports.PivotResultIdentityError=f.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=f.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=f.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=f.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=f.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=f.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=f.resolveUniqueQueryColumnKeyMapEntry;exports.buildFlatTableExportTotalsFooter=q;exports.formatCellValue=w;exports.formatPivotDataRow=P;exports.formatPivotTableForCSV=k;exports.formatRowForExport=v;exports.formatTableForCSV=h;exports.generatePivotHeaders=S;exports.generateTableCSV=V;exports.parseFlatTableExportTotalsByColumnId=$;exports.parseFlatTableExportTotalsRequest=M;
@@ -1,41 +1,41 @@
1
- import { i as O } from "../chunks/format-types-DZGgYj39.js";
2
- import { f as p, a as h, b as y } from "../chunks/presentation-execution-BLfPTGX_.js";
3
- import { n as _, d as D, c as H, h as G, e as K, g as L, p as U, m as W, k as Q, i as J, l as X, r as Y, j as Z, v as F, o as ee } from "../chunks/presentation-execution-BLfPTGX_.js";
4
- import { f as E, a as S, b as f, e as T } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
5
- import { A as oe, P as te, v as se, i as ne, x as le, u as ie, m as ae, q as ue, s as ce, l as me, c as fe, d as be, g as pe, h as Te, j as we, o as he, w as ye, p as Ee, n as Se, t as Ce, k as ve, r as Pe } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
6
- import { T as Ae, a as ge, f as $e, i as de, p as Ve, b as ke, r as Ne, c as xe, t as Be, v as je } from "../chunks/temporal-bucket-BnPxGrAi.js";
7
- import { q as Ie } from "../chunks/validators-Cs74WVie.js";
8
- import { a as Oe } from "../chunks/metric-comparison-97zHGEx5.js";
9
- import { P as _e, b as De, i as He, c as Ge, d as Ke, r as Le, a as Ue } from "../chunks/pivot-result-identity-CwJWpKI7.js";
10
- function C(r, e, t, o) {
11
- const s = r instanceof Date ? r.toISOString() : String(r), n = (o == null ? void 0 : o.browserTimezone) || t, l = (o == null ? void 0 : o.isSqlCard) ?? !1;
1
+ import { i as _ } from "../chunks/format-types-DZGgYj39.js";
2
+ import { f as h, a as E, b as A } from "../chunks/presentation-execution-BLfPTGX_.js";
3
+ import { n as H, d as G, c as K, h as L, e as U, g as W, p as Q, m as J, k as X, i as Y, l as Z, r as F, j as ee, v as re, o as oe } from "../chunks/presentation-execution-BLfPTGX_.js";
4
+ import { f as v, a as C, b, e as T } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
5
+ import { A as se, P as ne, v as le, i as ie, x as ae, u as ue, m as ce, q as me, s as fe, l as be, c as pe, d as we, g as he, h as Te, j as ye, o as Ee, w as Ae, p as ve, n as Ce, t as Se, k as Pe, r as Re } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
6
+ import { T as $e, a as de, f as Ve, i as ke, p as Be, b as Ne, r as xe, c as Ie, t as Me, v as je } from "../chunks/temporal-bucket-BnPxGrAi.js";
7
+ import { q as qe } from "../chunks/validators-Cs74WVie.js";
8
+ import { a as _e } from "../chunks/metric-comparison-97zHGEx5.js";
9
+ import { P as He, b as Ge, i as Ke, c as Le, d as Ue, r as We, a as Qe } from "../chunks/pivot-result-identity-CwJWpKI7.js";
10
+ function S(r, e, t, o) {
11
+ const s = r instanceof Date ? r.toISOString() : String(r), l = (o == null ? void 0 : o.browserTimezone) || t, n = (o == null ? void 0 : o.isSqlCard) ?? !1;
12
12
  if (e != null && e.useRelativeTime)
13
- return E(
13
+ return v(
14
14
  s,
15
15
  (e == null ? void 0 : e.sourceTimezone) || "auto"
16
16
  );
17
- const i = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
18
- return S(
17
+ const a = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
18
+ return C(
19
19
  s,
20
- i,
21
- e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : l ? n : t,
20
+ a,
21
+ e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : n ? l : t,
22
22
  (e == null ? void 0 : e.sourceTimezone) || "auto"
23
23
  );
24
24
  }
25
- function v(r, e, t) {
25
+ function P(r, e, t) {
26
26
  if (r == null)
27
27
  return "";
28
28
  if (!t.useFormattedValues || !e)
29
29
  return String(r);
30
30
  switch (e.type) {
31
31
  case "number":
32
- return typeof r == "number" ? p(
32
+ return typeof r == "number" ? h(
33
33
  r,
34
34
  e.numberFormat,
35
35
  t.locale
36
36
  ) : String(r);
37
37
  case "date":
38
- return C(
38
+ return S(
39
39
  r,
40
40
  e.dateFormat,
41
41
  t.timezone,
@@ -54,42 +54,42 @@ function v(r, e, t) {
54
54
  return String(r);
55
55
  }
56
56
  }
57
- function P(r, e) {
57
+ function R(r, e) {
58
58
  return e.visibleColumns.map((t) => {
59
59
  const o = r[t], s = e.columnSettings[t];
60
- return v(o, s, {
60
+ return P(o, s, {
61
61
  useFormattedValues: e.useFormattedValues,
62
62
  timezone: e.timezone,
63
63
  locale: e.locale
64
64
  });
65
65
  });
66
66
  }
67
- function R(r, e) {
67
+ function g(r, e) {
68
68
  const t = [];
69
- e.includeHeaders && t.push(f(e.visibleColumns, e.delimiter));
69
+ e.includeHeaders && t.push(b(e.visibleColumns, e.delimiter));
70
70
  for (const o of r) {
71
- const s = P(o, e);
71
+ const s = R(o, e);
72
72
  t.push(
73
- s.map((n) => T(n, e.delimiter)).join(e.delimiter)
73
+ s.map((l) => T(l, e.delimiter)).join(e.delimiter)
74
74
  );
75
75
  }
76
76
  return t;
77
77
  }
78
- function N(r, e, t = `
78
+ function x(r, e, t = `
79
79
  `) {
80
- return R(r, e).join(t);
80
+ return g(r, e).join(t);
81
81
  }
82
- function w(r, e, t) {
82
+ function y(r, e, t) {
83
83
  for (const o of r) {
84
84
  if (o.level < t) {
85
85
  e[o.level].push(o.name);
86
86
  for (let s = 1; s < o.colspan; s++)
87
87
  e[o.level].push("");
88
88
  }
89
- o.children ? w(o.children, e, t) : o.columnKey && e[t].push(o.name);
89
+ o.children ? y(o.children, e, t) : o.columnKey && e[t].push(o.name);
90
90
  }
91
91
  }
92
- function A(r) {
92
+ function $(r) {
93
93
  const e = r.pivotByColumns.length, t = r.groupByColumns.length, o = Array.from(
94
94
  { length: e + 1 },
95
95
  () => []
@@ -98,112 +98,137 @@ function A(r) {
98
98
  o[s].push(...Array(t).fill(""));
99
99
  if (o[e].push(
100
100
  ...r.groupByColumns.map((s) => s.label || s.name)
101
- ), w(r.columnHeadersTree, o, e), r.showRowTotals) {
101
+ ), y(r.columnHeadersTree, o, e), r.showRowTotals) {
102
102
  for (let s = 0; s < e; s++)
103
103
  o[s].push("");
104
104
  o[e].push("Total");
105
105
  }
106
106
  return o;
107
107
  }
108
- function g(r, e, t) {
108
+ function d(r, e, t) {
109
109
  if (r == null)
110
110
  return "";
111
111
  if (!t.useFormattedValues)
112
112
  return String(r);
113
113
  const o = t.columnSettings[e];
114
- return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? p(
114
+ return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? h(
115
115
  r,
116
116
  o.numberFormat,
117
117
  t.locale
118
118
  ) : typeof r == "number" ? r.toLocaleString(t.locale) : String(r);
119
119
  }
120
- function $(r, e, t) {
120
+ function V(r, e, t) {
121
121
  const o = [];
122
- r.fieldValues.forEach((n, l) => {
123
- r.isSubtotal && l === 0 ? o.push(`${n} Total`) : r.isSubtotal ? o.push("") : o.push(String(n ?? ""));
122
+ r.fieldValues.forEach((l, n) => {
123
+ r.isSubtotal && n === 0 ? o.push(`${l} Total`) : r.isSubtotal ? o.push("") : o.push(String(l ?? ""));
124
124
  });
125
125
  let s = 0;
126
- return e.columnHeaders.forEach((n) => {
127
- var a;
128
- const l = (a = r.cells[n]) == null ? void 0 : a.value, i = g(l, n, t);
129
- o.push(i), e.showRowTotals && typeof l == "number" && (s += l);
126
+ return e.columnHeaders.forEach((l) => {
127
+ var i;
128
+ const n = (i = r.cells[l]) == null ? void 0 : i.value, a = d(n, l, t);
129
+ o.push(a), e.showRowTotals && typeof n == "number" && (s += n);
130
130
  }), e.showRowTotals && o.push(s.toLocaleString(t.locale)), o;
131
131
  }
132
- function x(r, e, t) {
132
+ function I(r, e, t) {
133
133
  const o = [];
134
134
  if (t.includeHeaders) {
135
- const s = A(e);
136
- for (const n of s)
137
- o.push(f(n, t.delimiter));
135
+ const s = $(e);
136
+ for (const l of s)
137
+ o.push(b(l, t.delimiter));
138
138
  }
139
139
  for (const s of r) {
140
- const n = $(
140
+ const l = V(
141
141
  s,
142
142
  e,
143
143
  t
144
144
  );
145
145
  o.push(
146
- n.map((l) => T(l, t.delimiter)).join(t.delimiter)
146
+ l.map((n) => T(n, t.delimiter)).join(t.delimiter)
147
147
  );
148
148
  }
149
149
  return o;
150
150
  }
151
- function m(r) {
151
+ function f(r) {
152
152
  if (r === null || typeof r != "object" || Array.isArray(r))
153
153
  return !1;
154
154
  const e = Object.getPrototypeOf(r);
155
155
  return e === null || e === Object.prototype;
156
156
  }
157
- function b(r, e, t) {
158
- const o = new Set(e), s = Object.keys(r).find((n) => !o.has(n));
157
+ function w(r, e, t) {
158
+ const o = new Set(e), s = Object.keys(r).find((l) => !o.has(l));
159
159
  if (s)
160
160
  throw new Error(`${t} contains unknown property "${s}"`);
161
161
  }
162
- function B(r, e = "tableTotalsRequest") {
163
- if (!m(r))
162
+ function M(r, e = "tableTotalsRequest") {
163
+ if (!f(r))
164
164
  throw new Error(`${e} must be an object`);
165
- if (b(r, ["source", "columns"], e), r.source !== "documentFlatTable")
165
+ if (w(r, ["source", "columns"], e), r.source !== "documentFlatTable")
166
166
  throw new Error(`${e}.source must be documentFlatTable`);
167
167
  if (!Array.isArray(r.columns) || r.columns.length === 0)
168
168
  throw new Error(`${e}.columns must be a non-empty array`);
169
- const t = /* @__PURE__ */ new Set();
170
- let o = 0;
171
- const s = r.columns.map((n, l) => {
172
- const i = `${e}.columns.${l}`;
173
- if (!m(n))
169
+ let t = 0;
170
+ const o = r.columns.map((n, a) => {
171
+ const i = `${e}.columns.${a}`;
172
+ if (!f(n))
174
173
  throw new Error(`${i} must be an object`);
175
- b(n, ["fieldId", "role", "behavior", "label"], i);
176
- const a = typeof n.fieldId == "string" ? n.fieldId.trim() : "";
177
- if (!a)
174
+ w(
175
+ n,
176
+ ["fieldId", "role", "behavior", "metricAlias", "label"],
177
+ i
178
+ );
179
+ const p = typeof n.fieldId == "string" ? n.fieldId.trim() : "";
180
+ if (!p)
178
181
  throw new Error(`${i}.fieldId must be a non-empty string`);
179
- if (t.has(a))
180
- throw new Error(`${e}.columns duplicates fieldId "${a}"`);
181
- if (t.add(a), n.role !== "detail" && n.role !== "groupby" && n.role !== "metric")
182
+ if (n.role !== "detail" && n.role !== "groupby" && n.role !== "metric")
182
183
  throw new Error(`${i}.role is invalid`);
183
184
  const u = n.role;
184
185
  if (n.behavior !== "sum" && n.behavior !== "avg" && n.behavior !== "count" && n.behavior !== "label")
185
186
  throw new Error(`${i}.behavior is invalid`);
186
- const c = n.behavior;
187
- if (c === "label") {
188
- if (o += 1, u === "metric")
187
+ const m = n.behavior, c = typeof n.metricAlias == "string" ? n.metricAlias.trim() : void 0;
188
+ if (n.metricAlias !== void 0 && !c)
189
+ throw new Error(`${i}.metricAlias must be a non-empty string`);
190
+ if (c && u !== "metric")
191
+ throw new Error(`${i}.metricAlias requires metric role`);
192
+ if (m === "label") {
193
+ if (t += 1, u === "metric")
189
194
  throw new Error(`${i}.behavior label requires a non-metric role`);
190
195
  } else if (u !== "metric")
191
- throw new Error(`${i}.${c} requires metric role`);
196
+ throw new Error(`${i}.${m} requires metric role`);
192
197
  if (n.label !== void 0 && typeof n.label != "string")
193
198
  throw new Error(`${i}.label must be a string`);
194
199
  return {
195
- fieldId: a,
200
+ fieldId: p,
196
201
  role: u,
197
- behavior: c,
202
+ behavior: m,
203
+ ...c ? { metricAlias: c } : {},
198
204
  ...n.label !== void 0 ? { label: n.label } : {}
199
205
  };
200
- });
201
- if (o > 1)
206
+ }), s = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set();
207
+ for (const n of o) {
208
+ if (n.metricAlias) {
209
+ if (l.has(n.metricAlias))
210
+ throw new Error(
211
+ `${e}.columns duplicates metricAlias "${n.metricAlias}"`
212
+ );
213
+ l.add(n.metricAlias);
214
+ }
215
+ const a = s.get(n.fieldId) ?? [];
216
+ a.push(n), s.set(n.fieldId, a);
217
+ }
218
+ for (const [n, a] of s)
219
+ if (a.length !== 1) {
220
+ for (const i of a)
221
+ if (i.role !== "metric" || !i.metricAlias)
222
+ throw new Error(
223
+ `${e}.columns duplicates fieldId "${n}" without distinct metricAlias values`
224
+ );
225
+ }
226
+ if (t > 1)
202
227
  throw new Error(`${e}.columns may contain at most one label`);
203
- return { source: "documentFlatTable", columns: s };
228
+ return { source: "documentFlatTable", columns: o };
204
229
  }
205
230
  function j(r, e = "tableTotalsByColumnId") {
206
- if (!m(r))
231
+ if (!f(r))
207
232
  throw new Error(`${e} must be an object`);
208
233
  const t = {};
209
234
  for (const [o, s] of Object.entries(r)) {
@@ -217,7 +242,7 @@ function j(r, e = "tableTotalsByColumnId") {
217
242
  throw new Error(`${e} must not be empty`);
218
243
  return t;
219
244
  }
220
- function d(r) {
245
+ function k(r) {
221
246
  if (typeof r == "number")
222
247
  return Number.isFinite(r) ? r : null;
223
248
  if (!r.trim())
@@ -235,89 +260,89 @@ function z(r) {
235
260
  return "";
236
261
  if (!r.useFormattedValues)
237
262
  return String(s);
238
- const n = h({
263
+ const l = E({
239
264
  snapshot: r.snapshot,
240
265
  scope: r.scope,
241
266
  target: { kind: "column", columnKey: t }
242
- }), l = n ? d(s) : null;
243
- return n && l !== null ? y(l, n) : String(s);
267
+ }), n = l ? k(s) : null;
268
+ return l && n !== null ? A(n, l) : String(s);
244
269
  });
245
- return `${f(e, r.delimiter)}
270
+ return `${b(e, r.delimiter)}
246
271
  `;
247
272
  }
248
273
  export {
249
- oe as AGGREGATE_TOTAL_MEMBER_MARKER,
250
- te as PivotHeaderPresentationError,
251
- _e as PivotResultIdentityError,
252
- se as PivotResultLifecycleError,
253
- Ie as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
254
- Ae as TEMPORAL_BUCKET_PATTERN_TOKENS,
255
- ge as TemporalBucketContractError,
256
- ne as arrayToCSV,
257
- f as arrayToCSVRow,
274
+ se as AGGREGATE_TOTAL_MEMBER_MARKER,
275
+ ne as PivotHeaderPresentationError,
276
+ He as PivotResultIdentityError,
277
+ le as PivotResultLifecycleError,
278
+ qe as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
279
+ $e as TEMPORAL_BUCKET_PATTERN_TOKENS,
280
+ de as TemporalBucketContractError,
281
+ ie as arrayToCSV,
282
+ b as arrayToCSVRow,
258
283
  z as buildFlatTableExportTotalsFooter,
259
- le as createCanonicalPivotResultTransport,
260
- ie as derivePivotResultContractExpectations,
284
+ ae as createCanonicalPivotResultTransport,
285
+ ue as derivePivotResultContractExpectations,
261
286
  T as escapeCSVValue,
262
- h as findResolvedNumericFormat,
263
- _ as findResolvedTemporalBucketFormat,
264
- ae as formatAggregateGrandTotalLabel,
265
- ue as formatAggregateGroupCell,
266
- ce as formatAggregateGroupRow,
267
- me as formatAggregateSubtotalLabel,
268
- v as formatCellValue,
269
- D as formatCurrency,
270
- S as formatDate,
271
- fe as formatDuration,
272
- be as formatMetricComparison,
273
- H as formatNumber,
274
- G as formatNumberCustom,
275
- p as formatNumberWithColumnSettings,
276
- y as formatNumericCanonical,
277
- K as formatPercent,
278
- $ as formatPivotDataRow,
279
- x as formatPivotTableForCSV,
280
- E as formatRelativeTime,
281
- P as formatRowForExport,
282
- L as formatScientific,
283
- R as formatTableForCSV,
284
- $e as formatTemporalBucket,
285
- A as generatePivotHeaders,
286
- N as generateTableCSV,
287
- pe as getTimezoneAbbreviation,
287
+ E as findResolvedNumericFormat,
288
+ H as findResolvedTemporalBucketFormat,
289
+ ce as formatAggregateGrandTotalLabel,
290
+ me as formatAggregateGroupCell,
291
+ fe as formatAggregateGroupRow,
292
+ be as formatAggregateSubtotalLabel,
293
+ P as formatCellValue,
294
+ G as formatCurrency,
295
+ C as formatDate,
296
+ pe as formatDuration,
297
+ we as formatMetricComparison,
298
+ K as formatNumber,
299
+ L as formatNumberCustom,
300
+ h as formatNumberWithColumnSettings,
301
+ A as formatNumericCanonical,
302
+ U as formatPercent,
303
+ V as formatPivotDataRow,
304
+ I as formatPivotTableForCSV,
305
+ v as formatRelativeTime,
306
+ R as formatRowForExport,
307
+ W as formatScientific,
308
+ g as formatTableForCSV,
309
+ Ve as formatTemporalBucket,
310
+ $ as generatePivotHeaders,
311
+ x as generateTableCSV,
312
+ he as getTimezoneAbbreviation,
288
313
  Te as getTimezoneName,
289
- we as isAggregateTotalMemberMarker,
290
- O as isNumericCanonicalFormat,
291
- De as isPivotEmptyTupleAllowed,
292
- He as isPivotSubtotalPrefix,
293
- de as isTemporalBucketPreset,
294
- he as objectsToCSV,
295
- ye as parseCanonicalPivotResultTransport,
314
+ ye as isAggregateTotalMemberMarker,
315
+ _ as isNumericCanonicalFormat,
316
+ Ge as isPivotEmptyTupleAllowed,
317
+ Ke as isPivotSubtotalPrefix,
318
+ ke as isTemporalBucketPreset,
319
+ Ee as objectsToCSV,
320
+ Ae as parseCanonicalPivotResultTransport,
296
321
  j as parseFlatTableExportTotalsByColumnId,
297
- B as parseFlatTableExportTotalsRequest,
298
- U as parseNumericCanonicalFormat,
299
- W as parsePresentationExecutionSnapshot,
300
- Q as parsePresentationScope,
301
- J as parseResolvedNumericCanonicalFormat,
302
- X as parseResolvedPresentationEntries,
303
- Ve as parseResolvedTemporalBucketFormat,
304
- ke as parseTemporalBucketValue,
305
- Ee as parseWithSourceTimezone,
306
- Se as presentAggregateGroupRow,
307
- Ce as presentPivotHeader,
308
- Ge as requirePivotHeaderMembers,
309
- Ke as requirePivotResultColumnIdentities,
310
- ve as resolveAggregateTablePresentationContext,
311
- Ne as resolveApplicableTemporalBucketFormat,
312
- Y as resolveCurrencyFractionDigits,
313
- Oe as resolveMetricResultAlias,
314
- Z as resolveNumericPresentation,
315
- Le as resolveQueryColumnKeyMapEntry,
316
- xe as resolveTemporalBucketPresentation,
317
- Pe as resolveTimezone,
318
- Ue as resolveUniqueQueryColumnKeyMapEntry,
319
- Be as tokenizeTemporalBucketPattern,
320
- F as validateCardExportNumericPresentationSnapshot,
321
- ee as validateCardExportPresentationSnapshot,
322
+ M as parseFlatTableExportTotalsRequest,
323
+ Q as parseNumericCanonicalFormat,
324
+ J as parsePresentationExecutionSnapshot,
325
+ X as parsePresentationScope,
326
+ Y as parseResolvedNumericCanonicalFormat,
327
+ Z as parseResolvedPresentationEntries,
328
+ Be as parseResolvedTemporalBucketFormat,
329
+ Ne as parseTemporalBucketValue,
330
+ ve as parseWithSourceTimezone,
331
+ Ce as presentAggregateGroupRow,
332
+ Se as presentPivotHeader,
333
+ Le as requirePivotHeaderMembers,
334
+ Ue as requirePivotResultColumnIdentities,
335
+ Pe as resolveAggregateTablePresentationContext,
336
+ xe as resolveApplicableTemporalBucketFormat,
337
+ F as resolveCurrencyFractionDigits,
338
+ _e as resolveMetricResultAlias,
339
+ ee as resolveNumericPresentation,
340
+ We as resolveQueryColumnKeyMapEntry,
341
+ Ie as resolveTemporalBucketPresentation,
342
+ Re as resolveTimezone,
343
+ Qe as resolveUniqueQueryColumnKeyMapEntry,
344
+ Me as tokenizeTemporalBucketPattern,
345
+ re as validateCardExportNumericPresentationSnapshot,
346
+ oe as validateCardExportPresentationSnapshot,
322
347
  je as validateTemporalBucketFormatApplicability
323
348
  };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BSTyv45D.cjs"),d=require("./chunks/common-types-CQ6SHfLk.cjs"),P=require("./chunks/report-preferences-dialog-TYTIHpHi.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-rbwGjmad.cjs"),h=require("react"),N=require("./chunks/token-types-BdQ8kHBm.cjs"),l=require("./chunks/dashboard-briefing-launcher-D44Au-Qp.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");const _=require("./chunks/report-runtime-context-C8LZFsqV.cjs");require("./chunks/validators-9D4KBqKD.cjs");const T=require("./chunks/pivot-result-identity-CDLRT-YG.cjs");require("./chunks/analyze-result-contract-BHb7sUUW.cjs");require("./chunks/temporal-bucket-authoring-CPTwHzvs.cjs");require("./chunks/temporal-result-owner-f6-i65Fb.cjs");require("react-dom");require("./chunks/index-DRlMUglg.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");function j(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=j(h);function M(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(L,{cardId:o})})})})]})})}function L({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 I(a,t,o,u){h.useEffect(()=>{a&&!o&&t&&u(e.cloneDeep(t))},[a,o,t,u])}function q({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),[y,b]=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),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:v()})]}),i.jsx(w.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 U(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.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;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.ReportPreferencesDialog=P.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=N.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=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=_.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.normalizeDashboardForDirtyCheck=B.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=B.serializeDashboardForDirtyCheck;exports.Combobox=q;exports.Visual=M;exports.useExposePrintState=U;exports.usePristineSnapshotInitializer=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DPv8_Ild.cjs"),d=require("./chunks/common-types-CQ6SHfLk.cjs"),P=require("./chunks/report-preferences-dialog-DaqTEcac.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-Cjk6G06r.cjs"),h=require("react"),N=require("./chunks/token-types-BdQ8kHBm.cjs"),l=require("./chunks/dashboard-briefing-launcher-DDgDr2s3.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");const _=require("./chunks/report-runtime-context-C8LZFsqV.cjs");require("./chunks/validators-9D4KBqKD.cjs");const T=require("./chunks/pivot-result-identity-CDLRT-YG.cjs");require("./chunks/analyze-result-contract-BHb7sUUW.cjs");require("./chunks/temporal-bucket-authoring-CPTwHzvs.cjs");require("./chunks/temporal-result-owner-f6-i65Fb.cjs");require("react-dom");require("./chunks/index-DRlMUglg.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");function j(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=j(h);function M(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(L,{cardId:o})})})})]})})}function L({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 I(a,t,o,u){h.useEffect(()=>{a&&!o&&t&&u(e.cloneDeep(t))},[a,o,t,u])}function q({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),[y,b]=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),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:v()})]}),i.jsx(w.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 U(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.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;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.ReportPreferencesDialog=P.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=N.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=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=_.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.normalizeDashboardForDirtyCheck=B.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=B.serializeDashboardForDirtyCheck;exports.Combobox=q;exports.Visual=M;exports.useExposePrintState=U;exports.usePristineSnapshotInitializer=I;