react-semaphor 0.1.475 → 0.1.476

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 (56) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/briefings/index.cjs +1 -1
  4. package/dist/briefings/index.js +20 -20
  5. package/dist/chunks/{dashboard-briefing-launcher-B6tm7M3_.cjs → dashboard-briefing-launcher-ZfuxdRN2.cjs} +1 -1
  6. package/dist/chunks/{dashboard-briefing-launcher-BZOpMkdj.js → dashboard-briefing-launcher-eBsB9kr8.js} +5 -5
  7. package/dist/chunks/{dashboard-controls-CHn88-1Q.js → dashboard-controls-BX6p6z8a.js} +5 -5
  8. package/dist/chunks/{dashboard-controls-CyoY0IC_.cjs → dashboard-controls-DwjEc7sO.cjs} +1 -1
  9. package/dist/chunks/dashboard-filter-value-compatibility-BCVF9IHg.js +1026 -0
  10. package/dist/chunks/dashboard-filter-value-compatibility-DLkdeypb.cjs +1 -0
  11. package/dist/chunks/{dashboard-json-Dh3UKm8Y.js → dashboard-json-BfgitBXc.js} +3 -3
  12. package/dist/chunks/{dashboard-json-BOsyKwip.cjs → dashboard-json-CdwYFOsc.cjs} +1 -1
  13. package/dist/chunks/{edit-dashboard-visual-DK--eIEf.cjs → edit-dashboard-visual-Cbougpzc.cjs} +1 -1
  14. package/dist/chunks/{edit-dashboard-visual-BCz0oRoM.js → edit-dashboard-visual-D80DLF7C.js} +6 -6
  15. package/dist/chunks/{editor-action-buttons-D7JDG5pX.cjs → editor-action-buttons-BDRLfaW-.cjs} +1 -1
  16. package/dist/chunks/{editor-action-buttons-Dp-j9gS6.js → editor-action-buttons-DjsEDQok.js} +3 -3
  17. package/dist/chunks/index-CneWIz__.cjs +1404 -0
  18. package/dist/chunks/{index-DodDy3sE.js → index-D9S3j7_z.js} +532 -463
  19. package/dist/chunks/{index-Dw2nLjUn.js → index-Dv5hbC1r.js} +40766 -40484
  20. package/dist/chunks/index-v2MZLyus.cjs +4 -0
  21. package/dist/chunks/{pivot-header-presentation-BBiJU_57.js → pivot-header-presentation-CaERAWpl.js} +1 -1
  22. package/dist/chunks/{pivot-header-presentation-BMyOXlXL.cjs → pivot-header-presentation-CePk1R6g.cjs} +1 -1
  23. package/dist/chunks/{pivot-result-lifecycle-PxmbJWkm.js → pivot-result-lifecycle-B9FTybxN.js} +176 -165
  24. package/dist/chunks/pivot-result-lifecycle-CcGt_29N.cjs +1 -0
  25. package/dist/chunks/{report-preferences-dialog-Di8MmnqB.js → report-preferences-dialog-BXBlvW79.js} +2 -2
  26. package/dist/chunks/{report-preferences-dialog-B9JUV3Gr.cjs → report-preferences-dialog-cSMJYqns.cjs} +1 -1
  27. package/dist/chunks/switch-B1mZx2k9.cjs +138 -0
  28. package/dist/chunks/{switch-D20CIzj6.js → switch-C8NihGV4.js} +3326 -3318
  29. package/dist/dashboard/index.cjs +1 -1
  30. package/dist/dashboard/index.js +1 -1
  31. package/dist/dashboard-authoring/index.cjs +3 -3
  32. package/dist/dashboard-authoring/index.js +298 -287
  33. package/dist/data-app-builder/index.cjs +1 -1
  34. package/dist/data-app-builder/index.js +2 -2
  35. package/dist/format-utils/index.cjs +3 -3
  36. package/dist/format-utils/index.js +61 -60
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +6 -6
  39. package/dist/surfboard/index.cjs +1 -1
  40. package/dist/surfboard/index.js +2 -2
  41. package/dist/types/briefings.d.ts +13 -1
  42. package/dist/types/dashboard-assistant.d.ts +2 -0
  43. package/dist/types/dashboard-authoring.d.ts +13 -1
  44. package/dist/types/dashboard.d.ts +19 -1
  45. package/dist/types/format-utils.d.ts +7 -0
  46. package/dist/types/main.d.ts +19 -1
  47. package/dist/types/shared.d.ts +13 -1
  48. package/dist/types/surfboard.d.ts +19 -1
  49. package/dist/types/types.d.ts +19 -1
  50. package/package.json +1 -1
  51. package/dist/chunks/dashboard-filter-value-compatibility-9W8Ckcle.js +0 -846
  52. package/dist/chunks/dashboard-filter-value-compatibility-Co1dn9Bc.cjs +0 -1
  53. package/dist/chunks/index-B4VxBoJg.cjs +0 -4
  54. package/dist/chunks/index-DpbiVs0_.cjs +0 -1404
  55. package/dist/chunks/pivot-result-lifecycle-DJgO2P0H.cjs +0 -1
  56. package/dist/chunks/switch-B4eH4guz.cjs +0 -138
@@ -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-DpbiVs0_.cjs"),w=require("../chunks/switch-B4eH4guz.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-CneWIz__.cjs"),w=require("../chunks/switch-B1mZx2k9.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-Dw2nLjUn.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-D20CIzj6.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-Dv5hbC1r.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-C8NihGV4.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 _=require("../chunks/format-types-PSZZ7hG8.cjs"),i=require("../chunks/pivot-result-lifecycle-DJgO2P0H.cjs"),s=require("../chunks/pivot-header-presentation-BMyOXlXL.cjs"),c=require("../pdf-export-policy/index.cjs"),T=require("../chunks/validators-DcshgK7w.cjs"),p=require("../chunks/temporal-bucket-9Wz9Ds6H.cjs"),f=require("../chunks/pivot-result-identity-DRUlTWUq.cjs"),v=require("../chunks/raw-temporal-contract-D8YuxTAg.cjs");function V(r,e,o,t){const a=r instanceof Date?r.toISOString():String(r),n=(t==null?void 0:t.browserTimezone)||o,l=(t==null?void 0:t.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return s.formatRelativeTime(a,(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 s.formatDate(a,m,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:l?n:o,(e==null?void 0:e.sourceTimezone)||"auto")}function P(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 V(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 h(r,e){return e.visibleColumns.map(o=>{const t=r[o],a=e.columnSettings[o];return P(t,a,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function y(r,e){const o=[];e.includeHeaders&&o.push(s.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const a=h(t,e);o.push(a.map(n=>s.escapeCSVValue(n,e.delimiter)).join(e.delimiter))}return o}function M(r,e,o=`
2
- `){return y(r,e).join(o)}function d(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let a=1;a<t.colspan;a++)e[t.level].push("")}t.children?d(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function g(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let a=0;a<e;a++)t[a].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(a=>a.label||a.name)),d(r.columnHeadersTree,t,e),r.showRowTotals){for(let a=0;a<e;a++)t[a].push("");t[e].push("Total")}return t}function F(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 A(r,e,o){const t=[];r.fieldValues.forEach((n,l)=>{r.isSubtotal&&l===0?t.push(`${n} Total`):r.isSubtotal?t.push(""):t.push(String(n??""))});let a=0;return e.columnHeaders.forEach(n=>{var u;const l=(u=r.cells[n])==null?void 0:u.value,m=F(l,n,o);t.push(m),e.showRowTotals&&typeof l=="number"&&(a+=l)}),e.showRowTotals&&t.push(a.toLocaleString(o.locale)),t}function k(r,e,o){const t=[];if(o.includeHeaders){const a=g(e);for(const n of a)t.push(s.arrayToCSVRow(n,o.delimiter))}for(const a of r){const n=A(a,e,o);t.push(n.map(l=>s.escapeCSVValue(l,o.delimiter)).join(o.delimiter))}return t}function C(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function S(r,e,o){const t=new Set(e),a=Object.keys(r).find(n=>!t.has(n));if(a)throw new Error(`${o} contains unknown property "${a}"`)}function N(r,e="tableTotalsRequest"){if(!C(r))throw new Error(`${e} must be an object`);if(S(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(!C(l))throw new Error(`${u} must be an object`);S(l,["fieldId","role","behavior","metricAlias","label"],u);const w=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!w)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 E=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const R=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&&E!=="metric")throw new Error(`${u}.metricAlias requires metric role`);if(R==="label"){if(o+=1,E==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(E!=="metric")throw new Error(`${u}.${R} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:w,role:E,behavior:R,...b?{metricAlias:b}:{},...l.label!==void 0?{label:l.label}:{}}}),a=new Map,n=new Set;for(const l of t){if(l.metricAlias){if(n.has(l.metricAlias))throw new Error(`${e}.columns duplicates metricAlias "${l.metricAlias}"`);n.add(l.metricAlias)}const m=a.get(l.fieldId)??[];m.push(l),a.set(l.fieldId,m)}for(const[l,m]of a)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 B(r,e="tableTotalsByColumnId"){if(!C(r))throw new Error(`${e} must be an object`);const o={};for(const[t,a]of Object.entries(r)){if(!t.trim())throw new Error(`${e} contains an empty column id`);if(a!==null&&typeof a!="string"&&(typeof a!="number"||!Number.isFinite(a)))throw new Error(`${e}.${t} must be a string, finite number, or null`);o[t]=a}if(Object.keys(o).length===0)throw new Error(`${e} must not be empty`);return o}function O(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 I(r){const e=r.visibleColumns.map(o=>{const a=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(a===null)return"";if(!r.useFormattedValues)return String(a);const n=i.findResolvedNumericFormat({snapshot:r.snapshot,scope:r.scope,target:{kind:"column",columnKey:o}}),l=n?O(a):null;return n&&l!==null?i.formatNumericCanonical(l,n):String(a)});return`${s.arrayToCSVRow(e,r.delimiter)}
3
- `}exports.isNumericCanonicalFormat=_.isNumericCanonicalFormat;exports.MissingResolvedRawTemporalFormatError=i.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=i.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=i.PresentationExecutionSnapshotError;exports.RawTemporalFormatContractError=i.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=i.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=i.classifyDeclaredSqlTemporalColumn;exports.createCanonicalPivotResultTransport=i.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=i.createPresentationExecutionSnapshot;exports.createRawTemporalChunkClassificationEvidence=i.createRawTemporalChunkClassificationEvidence;exports.deriveMetricInstanceAliasExpectations=i.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=i.derivePivotResultContractExpectations;exports.findResolvedNumericFormat=i.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=i.findResolvedRawTemporalFormat;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.formatRawTemporalValue=i.formatRawTemporalValue;exports.formatScientific=i.formatScientific;exports.parseCanonicalPivotResultTransport=i.parseCanonicalPivotResultTransport;exports.parseNumericCanonicalFormat=i.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=i.parsePresentationExecutionSnapshot;exports.parsePresentationScope=i.parsePresentationScope;exports.parseRawTemporalChunkClassificationEvidence=i.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=i.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=i.parseResolvedPresentationEntries;exports.parseResolvedRawTemporalFormat=i.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=i.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=i.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=i.resolveNumericPresentation;exports.resolveRawTemporalFormat=i.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=i.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=i.validateCardExportPresentationSnapshot;exports.AGGREGATE_TOTAL_MEMBER_MARKER=s.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=s.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=s.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.PivotHeaderPresentationError=s.PivotHeaderPresentationError;exports.arrayToCSV=s.arrayToCSV;exports.arrayToCSVRow=s.arrayToCSVRow;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.parseWithSourceTimezone=s.parseWithSourceTimezone;exports.presentAggregateGroupRow=s.presentAggregateGroupRow;exports.presentPivotHeader=s.presentPivotHeader;exports.requiresChunkedCsvExport=s.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=s.resolveAggregateTablePresentationContext;exports.resolveTimezone=s.resolveTimezone;exports.shouldPresentAggregateGroupValue=s.shouldPresentAggregateGroupValue;exports.FAST_PDF_POLICY=c.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=c.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=c.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=c.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=c.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=c.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=c.isFastPdfRowCountEligible;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=T.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=T.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.isTemporalBucketPreset=T.isTemporalBucketPreset;exports.resolveApplicableTemporalBucketFormat=T.resolveApplicableTemporalBucketFormat;exports.tokenizeTemporalBucketPattern=T.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=T.validateTemporalBucketFormatApplicability;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=p.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TemporalBucketContractError=p.TemporalBucketContractError;exports.formatTemporalBucket=p.formatTemporalBucket;exports.parseResolvedTemporalBucketFormat=p.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=p.parseTemporalBucketValue;exports.resolveMetricResultAlias=p.resolveMetricResultAlias;exports.resolveTemporalBucketPresentation=p.resolveTemporalBucketPresentation;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.parseRawTemporalValueMetadata=v.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=v.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=I;exports.formatCellValue=P;exports.formatPivotDataRow=A;exports.formatPivotTableForCSV=k;exports.formatRowForExport=h;exports.formatTableForCSV=y;exports.generatePivotHeaders=g;exports.generateTableCSV=M;exports.parseFlatTableExportTotalsByColumnId=B;exports.parseFlatTableExportTotalsRequest=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../chunks/format-types-PSZZ7hG8.cjs"),i=require("../chunks/pivot-result-lifecycle-CcGt_29N.cjs"),n=require("../chunks/pivot-header-presentation-CePk1R6g.cjs"),c=require("../pdf-export-policy/index.cjs"),T=require("../chunks/validators-DcshgK7w.cjs"),p=require("../chunks/temporal-bucket-9Wz9Ds6H.cjs"),f=require("../chunks/pivot-result-identity-DRUlTWUq.cjs"),P=require("../chunks/raw-temporal-contract-D8YuxTAg.cjs");function V(r,e,o,t){const a=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 n.formatRelativeTime(a,(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 n.formatDate(a,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 S(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 V(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 d(r,e){return e.visibleColumns.map(o=>{const t=r[o],a=e.columnSettings[o];return S(t,a,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function h(r,e){const o=[];e.includeHeaders&&o.push(n.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const a=d(t,e);o.push(a.map(s=>n.escapeCSVValue(s,e.delimiter)).join(e.delimiter))}return o}function M(r,e,o=`
2
+ `){return h(r,e).join(o)}function y(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let a=1;a<t.colspan;a++)e[t.level].push("")}t.children?y(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function g(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let a=0;a<e;a++)t[a].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(a=>a.label||a.name)),y(r.columnHeadersTree,t,e),r.showRowTotals){for(let a=0;a<e;a++)t[a].push("");t[e].push("Total")}return t}function F(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 A(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 a=0;return e.columnHeaders.forEach(s=>{var u;const l=(u=r.cells[s])==null?void 0:u.value,m=F(l,s,o);t.push(m),e.showRowTotals&&typeof l=="number"&&(a+=l)}),e.showRowTotals&&t.push(a.toLocaleString(o.locale)),t}function k(r,e,o){const t=[];if(o.includeHeaders){const a=g(e);for(const s of a)t.push(n.arrayToCSVRow(s,o.delimiter))}for(const a of r){const s=A(a,e,o);t.push(s.map(l=>n.escapeCSVValue(l,o.delimiter)).join(o.delimiter))}return t}function C(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function v(r,e,o){const t=new Set(e),a=Object.keys(r).find(s=>!t.has(s));if(a)throw new Error(`${o} contains unknown property "${a}"`)}function N(r,e="tableTotalsRequest"){if(!C(r))throw new Error(`${e} must be an object`);if(v(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(!C(l))throw new Error(`${u} must be an object`);v(l,["fieldId","role","behavior","metricAlias","label"],u);const w=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!w)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 E=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const R=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&&E!=="metric")throw new Error(`${u}.metricAlias requires metric role`);if(R==="label"){if(o+=1,E==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(E!=="metric")throw new Error(`${u}.${R} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:w,role:E,behavior:R,...b?{metricAlias:b}:{},...l.label!==void 0?{label:l.label}:{}}}),a=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=a.get(l.fieldId)??[];m.push(l),a.set(l.fieldId,m)}for(const[l,m]of a)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 B(r,e="tableTotalsByColumnId"){if(!C(r))throw new Error(`${e} must be an object`);const o={};for(const[t,a]of Object.entries(r)){if(!t.trim())throw new Error(`${e} contains an empty column id`);if(a!==null&&typeof a!="string"&&(typeof a!="number"||!Number.isFinite(a)))throw new Error(`${e}.${t} must be a string, finite number, or null`);o[t]=a}if(Object.keys(o).length===0)throw new Error(`${e} must not be empty`);return o}function O(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 I(r){const e=r.visibleColumns.map(o=>{const a=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(a===null)return"";if(!r.useFormattedValues)return String(a);const s=i.findResolvedNumericFormat({snapshot:r.snapshot,scope:r.scope,target:{kind:"column",columnKey:o}}),l=s?O(a):null;return s&&l!==null?i.formatNumericCanonical(l,s):String(a)});return`${n.arrayToCSVRow(e,r.delimiter)}
3
+ `}exports.isNumericCanonicalFormat=_.isNumericCanonicalFormat;exports.MissingResolvedRawTemporalFormatError=i.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=i.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=i.PresentationExecutionSnapshotError;exports.RawTemporalFormatContractError=i.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=i.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=i.classifyDeclaredSqlTemporalColumn;exports.createCanonicalPivotResultTransport=i.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=i.createPresentationExecutionSnapshot;exports.createRawTemporalChunkClassificationEvidence=i.createRawTemporalChunkClassificationEvidence;exports.deriveMetricInstanceAliasExpectations=i.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=i.derivePivotResultContractExpectations;exports.findResolvedNumericFormat=i.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=i.findResolvedRawTemporalFormat;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.formatRawTemporalValue=i.formatRawTemporalValue;exports.formatScientific=i.formatScientific;exports.parseCanonicalPivotResultTransport=i.parseCanonicalPivotResultTransport;exports.parseNumericCanonicalFormat=i.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=i.parsePresentationExecutionSnapshot;exports.parsePresentationScope=i.parsePresentationScope;exports.parseRawTemporalChunkClassificationEvidence=i.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=i.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=i.parseResolvedPresentationEntries;exports.parseResolvedRawTemporalFormat=i.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=i.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=i.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=i.resolveNumericPresentation;exports.resolveRawTemporalFormat=i.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=i.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=i.validateCardExportPresentationSnapshot;exports.validateRawTemporalPattern=i.validateRawTemporalPattern;exports.AGGREGATE_TOTAL_MEMBER_MARKER=n.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=n.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=n.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.PivotHeaderPresentationError=n.PivotHeaderPresentationError;exports.arrayToCSV=n.arrayToCSV;exports.arrayToCSVRow=n.arrayToCSVRow;exports.escapeCSVValue=n.escapeCSVValue;exports.formatAggregateGrandTotalLabel=n.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=n.formatAggregateGroupCell;exports.formatAggregateGroupRow=n.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=n.formatAggregateSubtotalLabel;exports.formatDate=n.formatDate;exports.formatDuration=n.formatDuration;exports.formatMetricComparison=n.formatMetricComparison;exports.formatRelativeTime=n.formatRelativeTime;exports.getTimezoneAbbreviation=n.getTimezoneAbbreviation;exports.getTimezoneName=n.getTimezoneName;exports.isAggregateTotalMemberMarker=n.isAggregateTotalMemberMarker;exports.objectsToCSV=n.objectsToCSV;exports.parseWithSourceTimezone=n.parseWithSourceTimezone;exports.presentAggregateGroupRow=n.presentAggregateGroupRow;exports.presentPivotHeader=n.presentPivotHeader;exports.requiresChunkedCsvExport=n.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=n.resolveAggregateTablePresentationContext;exports.resolveTimezone=n.resolveTimezone;exports.shouldPresentAggregateGroupValue=n.shouldPresentAggregateGroupValue;exports.FAST_PDF_POLICY=c.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=c.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=c.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=c.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=c.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=c.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=c.isFastPdfRowCountEligible;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=T.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=T.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.isTemporalBucketPreset=T.isTemporalBucketPreset;exports.resolveApplicableTemporalBucketFormat=T.resolveApplicableTemporalBucketFormat;exports.tokenizeTemporalBucketPattern=T.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=T.validateTemporalBucketFormatApplicability;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=p.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TemporalBucketContractError=p.TemporalBucketContractError;exports.formatTemporalBucket=p.formatTemporalBucket;exports.parseResolvedTemporalBucketFormat=p.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=p.parseTemporalBucketValue;exports.resolveMetricResultAlias=p.resolveMetricResultAlias;exports.resolveTemporalBucketPresentation=p.resolveTemporalBucketPresentation;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.parseRawTemporalValueMetadata=P.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=P.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=I;exports.formatCellValue=S;exports.formatPivotDataRow=A;exports.formatPivotTableForCSV=k;exports.formatRowForExport=d;exports.formatTableForCSV=h;exports.generatePivotHeaders=g;exports.generateTableCSV=M;exports.parseFlatTableExportTotalsByColumnId=B;exports.parseFlatTableExportTotalsRequest=N;
@@ -1,13 +1,13 @@
1
1
  import { i as q } from "../chunks/format-types-CFHQoIuk.js";
2
- import { f as w, a as y, b as R } from "../chunks/pivot-result-lifecycle-PxmbJWkm.js";
3
- import { M as L, E as F, P as G, R as H, z as K, w as U, G as W, n as X, x as Y, C as Q, D as J, o as Z, q as ee, d as re, c as oe, h as te, e as se, B as ne, g as le, F as ae, p as ie, m as ue, k as me, y as ce, i as fe, l as pe, t as be, A as Te, r as we, j as Ee, u as he, v as ye, s as Re } from "../chunks/pivot-result-lifecycle-PxmbJWkm.js";
4
- import { f as C, a as S, b as p, e as E } from "../chunks/pivot-header-presentation-BBiJU_57.js";
5
- import { A as Se, D as Ae, F as Pe, P as ve, i as de, n as ge, t as $e, u as Ve, m as _e, c as ke, d as Me, g as xe, h as Ie, k as Be, o as Oe, p as De, q as Ne, v as ze, j as qe, l as je, r as Le, s as Fe } from "../chunks/pivot-header-presentation-BBiJU_57.js";
6
- import { FAST_PDF_POLICY as He, PDF_SAFETY_LIMIT_EXCEEDED as Ke, getUtf8ByteLength as Ue, isFastPdfOutputSizeEligible as We, isFastPdfPageCountEligible as Xe, isFastPdfRequestSizeEligible as Ye, isFastPdfRowCountEligible as Qe } from "../pdf-export-policy/index.js";
7
- import { r as Ze, ap as er, an as rr, aq as or, ao as tr, am as sr } from "../chunks/validators-D-T-2HOR.js";
8
- import { i as lr, T as ar, h as ir, j as ur, p as mr, a as cr, k as fr } from "../chunks/temporal-bucket-CtP7hKLa.js";
9
- import { P as br, b as Tr, i as wr, c as Er, d as hr, r as yr, a as Rr } from "../chunks/pivot-result-identity-CIZXsI53.js";
10
- import { p as Sr, v as Ar } from "../chunks/raw-temporal-contract-U8J9RlEH.js";
2
+ import { f as w, a as y, b as R } from "../chunks/pivot-result-lifecycle-B9FTybxN.js";
3
+ import { M as L, F, P as G, R as H, z as K, w as U, H as W, n as X, x as Y, D as Q, E as J, o as Z, q as ee, d as re, c as oe, h as te, e as se, C as ne, g as le, G as ae, p as ie, m as ue, k as me, y as ce, i as fe, l as pe, t as be, B as Te, r as we, j as Ee, u as he, v as ye, s as Re, A as Ce } from "../chunks/pivot-result-lifecycle-B9FTybxN.js";
4
+ import { f as C, a as S, b as p, e as E } from "../chunks/pivot-header-presentation-CaERAWpl.js";
5
+ import { A as Ae, D as Pe, F as ve, P as de, i as ge, n as $e, t as Ve, u as _e, m as ke, c as Me, d as xe, g as Ie, h as Be, k as Oe, o as De, p as Ne, q as ze, v as qe, j as je, l as Le, r as Fe, s as Ge } from "../chunks/pivot-header-presentation-CaERAWpl.js";
6
+ import { FAST_PDF_POLICY as Ke, PDF_SAFETY_LIMIT_EXCEEDED as Ue, getUtf8ByteLength as We, isFastPdfOutputSizeEligible as Xe, isFastPdfPageCountEligible as Ye, isFastPdfRequestSizeEligible as Qe, isFastPdfRowCountEligible as Je } from "../pdf-export-policy/index.js";
7
+ import { r as er, ap as rr, an as or, aq as tr, ao as sr, am as nr } from "../chunks/validators-D-T-2HOR.js";
8
+ import { i as ar, T as ir, h as ur, j as mr, p as cr, a as fr, k as pr } from "../chunks/temporal-bucket-CtP7hKLa.js";
9
+ import { P as Tr, b as wr, i as Er, c as hr, d as yr, r as Rr, a as Cr } from "../chunks/pivot-result-identity-CIZXsI53.js";
10
+ import { p as Ar, v as Pr } from "../chunks/raw-temporal-contract-U8J9RlEH.js";
11
11
  function A(r, e, t, o) {
12
12
  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;
13
13
  if (e != null && e.useRelativeTime)
@@ -272,22 +272,22 @@ function D(r) {
272
272
  `;
273
273
  }
274
274
  export {
275
- Se as AGGREGATE_TOTAL_MEMBER_MARKER,
276
- lr as DEFAULT_RESOLVED_TEMPORAL_STYLE_SET,
277
- Ae as DIRECT_CSV_EXPORT_MAX_ROWS,
278
- He as FAST_PDF_POLICY,
279
- Pe as FULL_DATASET_CSV_EXPORT_MAX_ROWS,
275
+ Ae as AGGREGATE_TOTAL_MEMBER_MARKER,
276
+ ar as DEFAULT_RESOLVED_TEMPORAL_STYLE_SET,
277
+ Pe as DIRECT_CSV_EXPORT_MAX_ROWS,
278
+ Ke as FAST_PDF_POLICY,
279
+ ve as FULL_DATASET_CSV_EXPORT_MAX_ROWS,
280
280
  L as MissingResolvedRawTemporalFormatError,
281
- Ke as PDF_SAFETY_LIMIT_EXCEEDED,
282
- ve as PivotHeaderPresentationError,
283
- br as PivotResultIdentityError,
281
+ Ue as PDF_SAFETY_LIMIT_EXCEEDED,
282
+ de as PivotHeaderPresentationError,
283
+ Tr as PivotResultIdentityError,
284
284
  F as PivotResultLifecycleError,
285
285
  G as PresentationExecutionSnapshotError,
286
286
  H as RawTemporalFormatContractError,
287
- Ze as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
288
- er as TEMPORAL_BUCKET_PATTERN_TOKENS,
289
- ar as TemporalBucketContractError,
290
- de as arrayToCSV,
287
+ er as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
288
+ rr as TEMPORAL_BUCKET_PATTERN_TOKENS,
289
+ ir as TemporalBucketContractError,
290
+ ge as arrayToCSV,
291
291
  p as arrayToCSVRow,
292
292
  K as assertRawTemporalChunkClassificationAgreement,
293
293
  D as buildFlatTableExportTotalsFooter,
@@ -301,15 +301,15 @@ export {
301
301
  y as findResolvedNumericFormat,
302
302
  Z as findResolvedRawTemporalFormat,
303
303
  ee as findResolvedTemporalBucketFormat,
304
- ge as formatAggregateGrandTotalLabel,
305
- $e as formatAggregateGroupCell,
306
- Ve as formatAggregateGroupRow,
307
- _e as formatAggregateSubtotalLabel,
304
+ $e as formatAggregateGrandTotalLabel,
305
+ Ve as formatAggregateGroupCell,
306
+ _e as formatAggregateGroupRow,
307
+ ke as formatAggregateSubtotalLabel,
308
308
  P as formatCellValue,
309
309
  re as formatCurrency,
310
310
  S as formatDate,
311
- ke as formatDuration,
312
- Me as formatMetricComparison,
311
+ Me as formatDuration,
312
+ xe as formatMetricComparison,
313
313
  oe as formatNumber,
314
314
  te as formatNumberCustom,
315
315
  w as formatNumberWithColumnSettings,
@@ -322,22 +322,22 @@ export {
322
322
  v as formatRowForExport,
323
323
  le as formatScientific,
324
324
  d as formatTableForCSV,
325
- ir as formatTemporalBucket,
325
+ ur as formatTemporalBucket,
326
326
  g as generatePivotHeaders,
327
327
  x as generateTableCSV,
328
- xe as getTimezoneAbbreviation,
329
- Ie as getTimezoneName,
330
- Ue as getUtf8ByteLength,
331
- Be as isAggregateTotalMemberMarker,
332
- We as isFastPdfOutputSizeEligible,
333
- Xe as isFastPdfPageCountEligible,
334
- Ye as isFastPdfRequestSizeEligible,
335
- Qe as isFastPdfRowCountEligible,
328
+ Ie as getTimezoneAbbreviation,
329
+ Be as getTimezoneName,
330
+ We as getUtf8ByteLength,
331
+ Oe as isAggregateTotalMemberMarker,
332
+ Xe as isFastPdfOutputSizeEligible,
333
+ Ye as isFastPdfPageCountEligible,
334
+ Qe as isFastPdfRequestSizeEligible,
335
+ Je as isFastPdfRowCountEligible,
336
336
  q as isNumericCanonicalFormat,
337
- Tr as isPivotEmptyTupleAllowed,
338
- wr as isPivotSubtotalPrefix,
339
- rr as isTemporalBucketPreset,
340
- Oe as objectsToCSV,
337
+ wr as isPivotEmptyTupleAllowed,
338
+ Er as isPivotSubtotalPrefix,
339
+ or as isTemporalBucketPreset,
340
+ De as objectsToCSV,
341
341
  ae as parseCanonicalPivotResultTransport,
342
342
  O as parseFlatTableExportTotalsByColumnId,
343
343
  B as parseFlatTableExportTotalsRequest,
@@ -345,33 +345,34 @@ export {
345
345
  ue as parsePresentationExecutionSnapshot,
346
346
  me as parsePresentationScope,
347
347
  ce as parseRawTemporalChunkClassificationEvidence,
348
- Sr as parseRawTemporalValueMetadata,
348
+ Ar as parseRawTemporalValueMetadata,
349
349
  fe as parseResolvedNumericCanonicalFormat,
350
350
  pe as parseResolvedPresentationEntries,
351
351
  be as parseResolvedRawTemporalFormat,
352
- ur as parseResolvedTemporalBucketFormat,
353
- mr as parseTemporalBucketValue,
354
- De as parseWithSourceTimezone,
352
+ mr as parseResolvedTemporalBucketFormat,
353
+ cr as parseTemporalBucketValue,
354
+ Ne as parseWithSourceTimezone,
355
355
  Te as prepareRawTemporalFormatter,
356
- Ne as presentAggregateGroupRow,
357
- ze as presentPivotHeader,
358
- Er as requirePivotHeaderMembers,
359
- hr as requirePivotResultColumnIdentities,
360
- qe as requiresChunkedCsvExport,
361
- je as resolveAggregateTablePresentationContext,
362
- or as resolveApplicableTemporalBucketFormat,
356
+ ze as presentAggregateGroupRow,
357
+ qe as presentPivotHeader,
358
+ hr as requirePivotHeaderMembers,
359
+ yr as requirePivotResultColumnIdentities,
360
+ je as requiresChunkedCsvExport,
361
+ Le as resolveAggregateTablePresentationContext,
362
+ tr as resolveApplicableTemporalBucketFormat,
363
363
  we as resolveCurrencyFractionDigits,
364
- cr as resolveMetricResultAlias,
364
+ fr as resolveMetricResultAlias,
365
365
  Ee as resolveNumericPresentation,
366
- yr as resolveQueryColumnKeyMapEntry,
366
+ Rr as resolveQueryColumnKeyMapEntry,
367
367
  he as resolveRawTemporalFormat,
368
- fr as resolveTemporalBucketPresentation,
369
- Le as resolveTimezone,
370
- Rr as resolveUniqueQueryColumnKeyMapEntry,
371
- Fe as shouldPresentAggregateGroupValue,
372
- tr as tokenizeTemporalBucketPattern,
368
+ pr as resolveTemporalBucketPresentation,
369
+ Fe as resolveTimezone,
370
+ Cr as resolveUniqueQueryColumnKeyMapEntry,
371
+ Ge as shouldPresentAggregateGroupValue,
372
+ sr as tokenizeTemporalBucketPattern,
373
373
  ye as validateCardExportNumericPresentationSnapshot,
374
374
  Re as validateCardExportPresentationSnapshot,
375
- Ar as validateRawTemporalResultColumn,
376
- sr as validateTemporalBucketFormatApplicability
375
+ Ce as validateRawTemporalPattern,
376
+ Pr as validateRawTemporalResultColumn,
377
+ nr as validateTemporalBucketFormatApplicability
377
378
  };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DpbiVs0_.cjs"),u=require("./chunks/common-types-C1IM7gao.cjs"),_=require("./chunks/report-preferences-dialog-B9JUV3Gr.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-B4eH4guz.cjs"),h=require("react"),P=require("./chunks/token-types-CoHsSJ4E.cjs"),l=require("./chunks/dashboard-briefing-launcher-B6tm7M3_.cjs"),N=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-DcshgK7w.cjs");const R=require("./chunks/report-runtime-context-RFiWq4wK.cjs"),T=require("./chunks/pivot-result-identity-DRUlTWUq.cjs");require("./chunks/analyze-result-contract-OgPk-zGu.cjs");require("./chunks/temporal-bucket-authoring-DSpzgXHc.cjs");require("./chunks/saved-temporal-bucket-format-DNMtD77o.cjs");require("react-dom");require("./chunks/appearance-context-DhyjbQk1.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-ByFbacH7.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-BgNYdUYH.cjs");function L(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const m=L(h);function M(a){const{displayPreferences:t,cardId:o,...d}=a,n={...d,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(j,{cardId:o})})})})]})})}function j({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:d}=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 C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!d?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:d})})})}function I(a,t,o,d){h.useEffect(()=>{a&&!o&&t&&d(e.cloneDeep(t))},[a,o,t,d])}function q({name:a,items:t,value:o,onChange:d,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[A,S]=m.useState("100%"),x=C?[...t||[],{id:"none",name:"None"}]:t;m.useLayoutEffect(()=>{g.current&&S(g.current.offsetWidth)},[]);function F(){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 v(f,p){d(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:F()})]}),i.jsx(w.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:A},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=>v(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=u.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=u.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=u.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=u.EMPTY_SELECTION;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=u.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=u.PivotMarkerEnum;exports.getFieldRuntimeColumnName=u.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=u.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=u.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=u.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=u.isCalculatedDimension;exports.isCalculatedField=u.isCalculatedField;exports.isCalculatedMetric=u.isCalculatedMetric;exports.ReportPreferencesDialog=_.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=P.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=N.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=R.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-CneWIz__.cjs"),u=require("./chunks/common-types-C1IM7gao.cjs"),_=require("./chunks/report-preferences-dialog-cSMJYqns.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-B1mZx2k9.cjs"),h=require("react"),P=require("./chunks/token-types-CoHsSJ4E.cjs"),l=require("./chunks/dashboard-briefing-launcher-ZfuxdRN2.cjs"),N=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-DcshgK7w.cjs");const R=require("./chunks/report-runtime-context-RFiWq4wK.cjs"),T=require("./chunks/pivot-result-identity-DRUlTWUq.cjs");require("./chunks/analyze-result-contract-OgPk-zGu.cjs");require("./chunks/temporal-bucket-authoring-DSpzgXHc.cjs");require("./chunks/saved-temporal-bucket-format-DNMtD77o.cjs");require("react-dom");require("./chunks/appearance-context-DhyjbQk1.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-ByFbacH7.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-BgNYdUYH.cjs");function L(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const m=L(h);function M(a){const{displayPreferences:t,cardId:o,...d}=a,n={...d,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(j,{cardId:o})})})})]})})}function j({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:d}=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 C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!d?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:d})})})}function I(a,t,o,d){h.useEffect(()=>{a&&!o&&t&&d(e.cloneDeep(t))},[a,o,t,d])}function q({name:a,items:t,value:o,onChange:d,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[A,S]=m.useState("100%"),x=C?[...t||[],{id:"none",name:"None"}]:t;m.useLayoutEffect(()=>{g.current&&S(g.current.offsetWidth)},[]);function F(){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 v(f,p){d(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:F()})]}),i.jsx(w.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:A},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=>v(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=u.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=u.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=u.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=u.EMPTY_SELECTION;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=u.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=u.PivotMarkerEnum;exports.getFieldRuntimeColumnName=u.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=u.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=u.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=u.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=u.isCalculatedDimension;exports.isCalculatedField=u.isCalculatedField;exports.isCalculatedMetric=u.isCalculatedMetric;exports.ReportPreferencesDialog=_.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=P.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=N.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=R.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;
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { E as x, F as N, S, c as _, U as P, d as w, C as F, e as y, f as R, g as L, h as M, i as I, I as U, R as k, j as O, k as V, l as q, m as z } from "./chunks/index-Dw2nLjUn.js";
2
- import { al as Ea, am as ya, an as xa, ao as ba, W as Ta, H as va, D as Aa, B as Ba, A as Na, x as Sa, b as _a, av as Pa, M as wa, o as Fa, r as Ra, r as La, s as Ma, G as Ia, a as Ua, ag as ka, ai as Oa, aj as Va, ah as qa, a7 as za, aa as Wa, au as ja, _ as Qa, af as Ha, aq as Ka, a2 as Ga, ab as Ya, z as Xa, y as $a, ay as Ja, Z as Za, ac as ae, ad as ee, a6 as se, a9 as re, at as oe, as as ie, ar as te, ax as ne, aw as le, a8 as ue, Y as de, X as ce, a0 as fe, ae as pe, a4 as me, a1 as he, a3 as ge, a5 as Ce, $ as De, Q as Ee, N as ye, ap as xe, w as be, K as Te, v as ve, n as Ae, J as Be, L as Ne, p as Se, V as _e, P as Pe, O as we, T as Fe, u as Re, t as Le, q as Me, ak as Ie } from "./chunks/index-Dw2nLjUn.js";
1
+ import { E as x, F as N, S, c as _, U as P, d as w, C as F, e as y, f as R, g as L, h as M, i as I, I as U, R as k, j as O, k as V, l as q, m as z } from "./chunks/index-Dv5hbC1r.js";
2
+ import { al as Ea, am as ya, an as xa, ao as ba, W as Ta, H as va, D as Aa, B as Ba, A as Na, x as Sa, b as _a, av as Pa, M as wa, o as Fa, r as Ra, r as La, s as Ma, G as Ia, a as Ua, ag as ka, ai as Oa, aj as Va, ah as qa, a7 as za, aa as Wa, au as ja, _ as Qa, af as Ha, aq as Ka, a2 as Ga, ab as Ya, z as Xa, y as $a, ay as Ja, Z as Za, ac as ae, ad as ee, a6 as se, a9 as re, at as oe, as as ie, ar as te, ax as ne, aw as le, a8 as ue, Y as de, X as ce, a0 as fe, ae as pe, a4 as me, a1 as he, a3 as ge, a5 as Ce, $ as De, Q as Ee, N as ye, ap as xe, w as be, K as Te, v as ve, n as Ae, J as Be, L as Ne, p as Se, V as _e, P as Pe, O as we, T as Fe, u as Re, t as Le, q as Me, ak as Ie } from "./chunks/index-Dv5hbC1r.js";
3
3
  import { a as ke, C as Oe, D as Ve, E as qe, L as ze, P as We, g as je, d as Qe, h as He, e as Ke, b as Ge, c as Ye, i as Xe } from "./chunks/common-types-BLPy5_E0.js";
4
- import { R as Je } from "./chunks/report-preferences-dialog-Di8MmnqB.js";
4
+ import { R as Je } from "./chunks/report-preferences-dialog-BXBlvW79.js";
5
5
  import { jsx as a, jsxs as u } from "react/jsx-runtime";
6
- import { u as W, P as j, a as Q, B as H, c as C, b as K, d as G } from "./chunks/switch-D20CIzj6.js";
7
- import { A as as, n as es, e as ss, f as rs, g as os, p as is, o as ts, s as ns, t as ls, m as us, i as ds, l as cs, q as fs, k as ps, j as ms, h as hs, v as gs, r as Cs, w as Ds, y as Es, x as ys, z as xs, E as bs, D as Ts } from "./chunks/switch-D20CIzj6.js";
6
+ import { u as W, P as j, a as Q, B as H, c as C, b as K, d as G } from "./chunks/switch-C8NihGV4.js";
7
+ import { A as as, n as es, e as ss, f as rs, g as os, p as is, o as ts, s as ns, t as ls, m as us, i as ds, l as cs, q as fs, k as ps, j as ms, h as hs, v as gs, r as Cs, w as Ds, y as Es, x as ys, z as xs, E as bs, D as Ts } from "./chunks/switch-C8NihGV4.js";
8
8
  import * as p from "react";
9
9
  import { useMemo as Y, useEffect as b } from "react";
10
10
  import { D as As } from "./chunks/token-types-DfDtCqlw.js";
11
- import { A as Ns, g as Ss, D as _s, e as Ps, f as ws, d as Fs, b as Rs, E as Ls, N as Ms, U as Is, a as Us, V as ks, W as Os, u as Vs, c as qs } from "./chunks/dashboard-briefing-launcher-BZOpMkdj.js";
11
+ import { A as Ns, g as Ss, D as _s, e as Ps, f as ws, d as Fs, b as Rs, E as Ls, N as Ms, U as Is, a as Us, V as ks, W as Os, u as Vs, c as qs } from "./chunks/dashboard-briefing-launcher-eBsB9kr8.js";
12
12
  import { u as Ws } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
13
13
  import "./value-format-preferences/index.js";
14
14
  import "./chunks/validators-D-T-2HOR.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DpbiVs0_.cjs"),r=require("../chunks/common-types-C1IM7gao.cjs"),o=require("../chunks/report-preferences-dialog-B9JUV3Gr.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-CneWIz__.cjs"),r=require("../chunks/common-types-C1IM7gao.cjs"),o=require("../chunks/report-preferences-dialog-cSMJYqns.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;
@@ -1,6 +1,6 @@
1
- import { b as a, a as o } from "../chunks/index-Dw2nLjUn.js";
1
+ import { b as a, a as o } from "../chunks/index-Dv5hbC1r.js";
2
2
  import { C as f, E } from "../chunks/common-types-BLPy5_E0.js";
3
- import { R as t } from "../chunks/report-preferences-dialog-Di8MmnqB.js";
3
+ import { R as t } from "../chunks/report-preferences-dialog-BXBlvW79.js";
4
4
  export {
5
5
  f as CONTROL_CARD_DEFAULT_VALUE,
6
6
  a as DisplayFormatPreferencesFields,
@@ -62,6 +62,8 @@ declare type BaseFilter = {
62
62
  valueType: 'string' | 'number' | 'date' | 'boolean';
63
63
  connectionType?: 'database' | 'api';
64
64
  dataType?: string;
65
+ /** Exact database type retained across dashboard-to-query transport. */
66
+ nativeDataType?: string;
65
67
  fieldMeta?: FilterFieldMeta;
66
68
  semanticContext?: FilterSemanticContext;
67
69
  /** Governed meaning for canonical grouped-temporal filter values. */
@@ -1672,6 +1674,8 @@ declare interface Field {
1672
1674
  sourceField?: string;
1673
1675
  qualifiedFieldName: string;
1674
1676
  dataType: string;
1677
+ /** Exact database type when dataType is normalized for analytics/UI use. */
1678
+ nativeDataType?: string;
1675
1679
  description?: string;
1676
1680
  qualifiedEntityName?: string;
1677
1681
  dateFormat?: DateFormatValue;
@@ -1761,6 +1765,8 @@ declare type FilterDisplayMode = 'canvas' | 'toolbar' | 'inherit';
1761
1765
  declare type FilterFieldMeta = Pick<Field, 'name' | 'qualifiedFieldName'> & Partial<Pick<Field, 'id' | 'qualifiedEntityName' | 'entityId' | 'dataType' | 'role' | 'fieldScope'>> & {
1762
1766
  entityName?: Field['entityName'];
1763
1767
  entityType?: string;
1768
+ /** Exact database type used by server-side predicate formatting. */
1769
+ nativeDataType?: string;
1764
1770
  expression?: string;
1765
1771
  calculatedFormula?: CalculatedFieldFormula;
1766
1772
  };
@@ -2291,8 +2297,10 @@ export declare function parseBriefingScheduleExpr(expression: string): {
2291
2297
  issue: string;
2292
2298
  };
2293
2299
 
2294
- declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat'> & {
2300
+ declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat' | 'dateFormat'> & {
2295
2301
  numberFormat?: Partial<ColumnSettings['numberFormat']>;
2302
+ /** Sparse persisted date settings; conditional requirements are enforced by the serializer. */
2303
+ dateFormat?: Partial<ColumnSettings['dateFormat']>;
2296
2304
  };
2297
2305
 
2298
2306
  declare type PersistedColumnSettingsMap = Record<string, PersistedColumnSettings>;
@@ -3566,6 +3574,8 @@ declare type TFilter = {
3566
3574
  title: string;
3567
3575
  column: string;
3568
3576
  dataType: string;
3577
+ /** Exact database type retained when dataType is a normalized UI category. */
3578
+ nativeDataType?: string;
3569
3579
  table?: string;
3570
3580
  database?: string;
3571
3581
  qualifiedTableName?: string;
@@ -3703,6 +3713,8 @@ declare type TInlineFilter = {
3703
3713
  column: string;
3704
3714
  title: string;
3705
3715
  dataType: string;
3716
+ /** Exact database type retained when dataType is a normalized UI category. */
3717
+ nativeDataType?: string;
3706
3718
  table: string;
3707
3719
  database: string;
3708
3720
  qualifiedTableName?: string;
@@ -429,6 +429,8 @@ declare interface Field {
429
429
  sourceField?: string;
430
430
  qualifiedFieldName: string;
431
431
  dataType: string;
432
+ /** Exact database type when dataType is normalized for analytics/UI use. */
433
+ nativeDataType?: string;
432
434
  description?: string;
433
435
  qualifiedEntityName?: string;
434
436
  dateFormat?: DateFormatValue;
@@ -70,6 +70,8 @@ declare type BaseFilter = {
70
70
  valueType: 'string' | 'number' | 'date' | 'boolean';
71
71
  connectionType?: 'database' | 'api';
72
72
  dataType?: string;
73
+ /** Exact database type retained across dashboard-to-query transport. */
74
+ nativeDataType?: string;
73
75
  fieldMeta?: FilterFieldMeta;
74
76
  semanticContext?: FilterSemanticContext;
75
77
  /** Governed meaning for canonical grouped-temporal filter values. */
@@ -1512,6 +1514,8 @@ declare interface Field {
1512
1514
  sourceField?: string;
1513
1515
  qualifiedFieldName: string;
1514
1516
  dataType: string;
1517
+ /** Exact database type when dataType is normalized for analytics/UI use. */
1518
+ nativeDataType?: string;
1515
1519
  description?: string;
1516
1520
  qualifiedEntityName?: string;
1517
1521
  dateFormat?: DateFormatValue;
@@ -1601,6 +1605,8 @@ declare type FilterDisplayMode = 'canvas' | 'toolbar' | 'inherit';
1601
1605
  declare type FilterFieldMeta = Pick<Field, 'name' | 'qualifiedFieldName'> & Partial<Pick<Field, 'id' | 'qualifiedEntityName' | 'entityId' | 'dataType' | 'role' | 'fieldScope'>> & {
1602
1606
  entityName?: Field['entityName'];
1603
1607
  entityType?: string;
1608
+ /** Exact database type used by server-side predicate formatting. */
1609
+ nativeDataType?: string;
1604
1610
  expression?: string;
1605
1611
  calculatedFormula?: CalculatedFieldFormula;
1606
1612
  };
@@ -2118,8 +2124,10 @@ declare interface PaginationConfig {
2118
2124
  pageSize: number;
2119
2125
  }
2120
2126
 
2121
- declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat'> & {
2127
+ declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat' | 'dateFormat'> & {
2122
2128
  numberFormat?: Partial<ColumnSettings['numberFormat']>;
2129
+ /** Sparse persisted date settings; conditional requirements are enforced by the serializer. */
2130
+ dateFormat?: Partial<ColumnSettings['dateFormat']>;
2123
2131
  };
2124
2132
 
2125
2133
  declare type PersistedColumnSettingsMap = Record<string, PersistedColumnSettings>;
@@ -3604,6 +3612,8 @@ declare type TFilter = {
3604
3612
  title: string;
3605
3613
  column: string;
3606
3614
  dataType: string;
3615
+ /** Exact database type retained when dataType is a normalized UI category. */
3616
+ nativeDataType?: string;
3607
3617
  table?: string;
3608
3618
  database?: string;
3609
3619
  qualifiedTableName?: string;
@@ -3741,6 +3751,8 @@ declare type TInlineFilter = {
3741
3751
  column: string;
3742
3752
  title: string;
3743
3753
  dataType: string;
3754
+ /** Exact database type retained when dataType is a normalized UI category. */
3755
+ nativeDataType?: string;
3744
3756
  table: string;
3745
3757
  database: string;
3746
3758
  qualifiedTableName?: string;
@@ -136,6 +136,8 @@ declare type BaseFilter = {
136
136
  valueType: 'string' | 'number' | 'date' | 'boolean';
137
137
  connectionType?: 'database' | 'api';
138
138
  dataType?: string;
139
+ /** Exact database type retained across dashboard-to-query transport. */
140
+ nativeDataType?: string;
139
141
  fieldMeta?: FilterFieldMeta;
140
142
  semanticContext?: FilterSemanticContext;
141
143
  /** Governed meaning for canonical grouped-temporal filter values. */
@@ -1538,6 +1540,8 @@ declare interface Field {
1538
1540
  sourceField?: string;
1539
1541
  qualifiedFieldName: string;
1540
1542
  dataType: string;
1543
+ /** Exact database type when dataType is normalized for analytics/UI use. */
1544
+ nativeDataType?: string;
1541
1545
  description?: string;
1542
1546
  qualifiedEntityName?: string;
1543
1547
  dateFormat?: DateFormatValue;
@@ -1627,6 +1631,8 @@ declare type FilterDisplayMode = 'canvas' | 'toolbar' | 'inherit';
1627
1631
  declare type FilterFieldMeta = Pick<Field, 'name' | 'qualifiedFieldName'> & Partial<Pick<Field, 'id' | 'qualifiedEntityName' | 'entityId' | 'dataType' | 'role' | 'fieldScope'>> & {
1628
1632
  entityName?: Field['entityName'];
1629
1633
  entityType?: string;
1634
+ /** Exact database type used by server-side predicate formatting. */
1635
+ nativeDataType?: string;
1630
1636
  expression?: string;
1631
1637
  calculatedFormula?: CalculatedFieldFormula;
1632
1638
  };
@@ -2215,8 +2221,10 @@ declare type Params = {
2215
2221
  [key: string]: string | number | string[] | number[];
2216
2222
  };
2217
2223
 
2218
- declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat'> & {
2224
+ declare type PersistedColumnSettings = Omit<Partial<ColumnSettings>, 'numberFormat' | 'dateFormat'> & {
2219
2225
  numberFormat?: Partial<ColumnSettings['numberFormat']>;
2226
+ /** Sparse persisted date settings; conditional requirements are enforced by the serializer. */
2227
+ dateFormat?: Partial<ColumnSettings['dateFormat']>;
2220
2228
  };
2221
2229
 
2222
2230
  declare type PersistedColumnSettingsMap = Record<string, PersistedColumnSettings>;
@@ -3469,6 +3477,12 @@ export declare type TDashboard = {
3469
3477
  export declare type TDataColumn = {
3470
3478
  column_name: string;
3471
3479
  data_type: string;
3480
+ /** Exact catalog type when the columns API can prove it independently. */
3481
+ nativeDataType?: string;
3482
+ /** @deprecated Use the API contract spelling `nativeDataType`. */
3483
+ native_data_type?: string;
3484
+ /** Whether `data_type` came from semantic metadata or physical introspection. */
3485
+ dataTypeProvenance?: 'semantic' | 'physical';
3472
3486
  is_nullable?: string;
3473
3487
  label?: string;
3474
3488
  description?: string;
@@ -3692,6 +3706,8 @@ declare type TFilter = {
3692
3706
  title: string;
3693
3707
  column: string;
3694
3708
  dataType: string;
3709
+ /** Exact database type retained when dataType is a normalized UI category. */
3710
+ nativeDataType?: string;
3695
3711
  table?: string;
3696
3712
  database?: string;
3697
3713
  qualifiedTableName?: string;
@@ -3837,6 +3853,8 @@ export declare type TInlineFilter = {
3837
3853
  column: string;
3838
3854
  title: string;
3839
3855
  dataType: string;
3856
+ /** Exact database type retained when dataType is a normalized UI category. */
3857
+ nativeDataType?: string;
3840
3858
  table: string;
3841
3859
  database: string;
3842
3860
  qualifiedTableName?: string;
@@ -1473,6 +1473,13 @@ export declare function validateCardExportPresentationSnapshot(input: {
1473
1473
  useFormattedValues: boolean;
1474
1474
  }): void;
1475
1475
 
1476
+ /** Validates an authored pattern without formatting or inventing a fallback. */
1477
+ export declare function validateRawTemporalPattern(input: {
1478
+ valueKind?: RawTemporalValueKind;
1479
+ dialect: RawTemporalPatternDialect;
1480
+ pattern: string;
1481
+ }): void;
1482
+
1476
1483
  /**
1477
1484
  * Validates descriptor exclusivity and datatype compatibility without
1478
1485
  * inferring temporal meaning from a value or display label.