react-semaphor 0.1.498 → 0.1.499

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 (119) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +22 -22
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +4 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +5 -5
  7. package/dist/chunks/{calculated-field-identity-BGIPbwBx.js → calculated-field-identity-BC2NViZZ.js} +73 -63
  8. package/dist/chunks/{calculated-field-identity-CEzmY7Bi.cjs → calculated-field-identity-CtYhhZoG.cjs} +1 -1
  9. package/dist/chunks/{constants-CKoIADZx.js → constants-CTRduy1g.js} +9 -9
  10. package/dist/chunks/{constants-CpBVuEea.cjs → constants-DNgpRMaX.cjs} +1 -1
  11. package/dist/chunks/{dashboard-briefing-launcher-C8eAX-JN.js → dashboard-briefing-launcher-Bp6SBVb6.js} +9 -9
  12. package/dist/chunks/{dashboard-briefing-launcher-BEmyxEd8.cjs → dashboard-briefing-launcher-Dtzn9Tqg.cjs} +1 -1
  13. package/dist/chunks/{dashboard-controls-YvJe7cPL.cjs → dashboard-controls-CLw5VQ2x.cjs} +1 -1
  14. package/dist/chunks/{dashboard-controls-C_v7sbq4.js → dashboard-controls-DDI3atQf.js} +11 -11
  15. package/dist/chunks/{dashboard-date-comparison-definition-aANgeL-E.js → dashboard-date-comparison-definition-C1vJshiP.js} +6 -6
  16. package/dist/chunks/{dashboard-date-comparison-definition-Er8D33iq.cjs → dashboard-date-comparison-definition-CWz_Yte8.cjs} +1 -1
  17. package/dist/chunks/{dashboard-json-CSp5bXIV.cjs → dashboard-json-BnT6W7Lt.cjs} +1 -1
  18. package/dist/chunks/{dashboard-json-BaT3Yy8x.js → dashboard-json-rHLrTBbN.js} +7 -7
  19. package/dist/chunks/{edit-dashboard-visual-GWiW0jjy.js → edit-dashboard-visual-BH2LkjHV.js} +6858 -6893
  20. package/dist/chunks/edit-dashboard-visual-DqAMe8XW.cjs +172 -0
  21. package/dist/chunks/{editor-action-buttons-BSC0nwgV.cjs → editor-action-buttons-Boq8MLya.cjs} +1 -1
  22. package/dist/chunks/{editor-action-buttons-CfZITZwQ.js → editor-action-buttons-DUEK2-kM.js} +6 -6
  23. package/dist/chunks/{field-aggregations-DLWbqnBW.cjs → field-aggregations-mlkON_QA.cjs} +1 -1
  24. package/dist/chunks/{field-aggregations-CxJWY4Ny.js → field-aggregations-tLaXZ2VJ.js} +13 -13
  25. package/dist/chunks/{field-dependencies-BiyQuGxZ.cjs → field-dependencies-R7MrlW6D.cjs} +1 -1
  26. package/dist/chunks/{field-dependencies-CNOgt39w.js → field-dependencies-ZE2klbHO.js} +1 -1
  27. package/dist/chunks/{index-BJfUMDHc.js → index-BVIet238.js} +42 -42
  28. package/dist/chunks/{index-C3RHKD3d.cjs → index-Bh3SlWJS.cjs} +1 -1
  29. package/dist/chunks/{index-DjbQVfS6.js → index-CEm8bwwd.js} +26924 -26927
  30. package/dist/chunks/{index-DhBGtRkR.cjs → index-Gos2ij10.cjs} +219 -219
  31. package/dist/chunks/{matrix-analytical-definition-s10yOPft.js → matrix-analytical-definition-CIVFNNnF.js} +1 -1
  32. package/dist/chunks/{matrix-analytical-definition-DbaMwlWM.cjs → matrix-analytical-definition-wIEDXvV5.cjs} +1 -1
  33. package/dist/chunks/{matrix-card-DGpXdK_Y.js → matrix-card-BVvKHL7s.js} +2 -2
  34. package/dist/chunks/{matrix-card-BitrcBVw.cjs → matrix-card-Dh0J0_Of.cjs} +1 -1
  35. package/dist/chunks/matrix-control-sources-CjnsBREg.js +605 -0
  36. package/dist/chunks/matrix-control-sources-a67fwoOO.cjs +1 -0
  37. package/dist/chunks/{matrix-definition-AP5W3wGc.js → matrix-definition-BEXCfZAe.js} +3 -3
  38. package/dist/chunks/{matrix-definition-C33isJ3k.cjs → matrix-definition-CKVi4VVg.cjs} +1 -1
  39. package/dist/chunks/{matrix-formatter-CZYFhdZ0.js → matrix-formatter-BTPfthsa.js} +41 -41
  40. package/dist/chunks/{matrix-formatter-UCXQxvV3.cjs → matrix-formatter-CWtdnbfv.cjs} +1 -1
  41. package/dist/chunks/{matrix-member-presentation-5-M0obIa.js → matrix-member-presentation-DiDUvZts.js} +1 -1
  42. package/dist/chunks/{matrix-member-presentation-DgIq9UG9.cjs → matrix-member-presentation-e_KZoZOx.cjs} +1 -1
  43. package/dist/chunks/{matrix-operation-contract-BFumahBa.js → matrix-operation-contract-CPgckXxm.js} +144 -144
  44. package/dist/chunks/{matrix-operation-contract-C0-V685e.cjs → matrix-operation-contract-thtFuUYf.cjs} +1 -1
  45. package/dist/chunks/{metric-comparison-ClKUI7Tu.cjs → metric-comparison-CAqV6VnZ.cjs} +1 -1
  46. package/dist/chunks/{metric-comparison-Df3HmmUE.js → metric-comparison-Dgyq1I3d.js} +1 -1
  47. package/dist/chunks/{pivot-header-presentation-CGWDx1V_.cjs → pivot-header-presentation-DUXM-VOP.cjs} +1 -1
  48. package/dist/chunks/{pivot-header-presentation-CAmKYLgn.js → pivot-header-presentation-DcCO8-Ij.js} +3 -3
  49. package/dist/chunks/{pivot-result-identity-DBeK76wx.js → pivot-result-identity-Be1zm0AV.js} +1 -1
  50. package/dist/chunks/{pivot-result-identity-0grcK7bY.cjs → pivot-result-identity-DJyF4I2K.cjs} +1 -1
  51. package/dist/chunks/{pivot-result-lifecycle-DVPJg7Gg.js → pivot-result-lifecycle-DpSZOMOZ.js} +7 -7
  52. package/dist/chunks/{pivot-result-lifecycle-CC0jWMFT.cjs → pivot-result-lifecycle-E_huAPev.cjs} +1 -1
  53. package/dist/chunks/{raw-temporal-Kc3mdzH7.cjs → raw-temporal-DYoPBY6B.cjs} +1 -1
  54. package/dist/chunks/{raw-temporal-T3PEaGmJ.js → raw-temporal-DfnRBxQn.js} +2 -2
  55. package/dist/chunks/{raw-temporal-contract-Ck5vJoQ6.js → raw-temporal-contract-CNwYygW2.js} +1 -1
  56. package/dist/chunks/{raw-temporal-contract-SwtP1jSh.cjs → raw-temporal-contract-D1_n2pBj.cjs} +1 -1
  57. package/dist/chunks/{report-preferences-dialog-B8DdDM7q.js → report-preferences-dialog-8nfXNWvl.js} +6 -6
  58. package/dist/chunks/{report-preferences-dialog-BcaEOgn2.cjs → report-preferences-dialog-CW59SyVZ.cjs} +1 -1
  59. package/dist/chunks/{report-runtime-context-D3t8vyl9.cjs → report-runtime-context-CqFbgZq9.cjs} +1 -1
  60. package/dist/chunks/{report-runtime-context-BziN1eg9.js → report-runtime-context-Dln1qvGS.js} +5 -5
  61. package/dist/chunks/{semantic-format-Ca-sdETk.cjs → semantic-format-C7Goni6h.cjs} +1 -1
  62. package/dist/chunks/{semantic-format-A3k--fpE.js → semantic-format-PKQt2EAz.js} +2 -2
  63. package/dist/chunks/{source-entity-resolution-CTUzMH2S.cjs → source-entity-resolution-BMKxwdKN.cjs} +1 -1
  64. package/dist/chunks/{source-entity-resolution-DX9C1ebK.js → source-entity-resolution-BSZ07Sl6.js} +19 -19
  65. package/dist/chunks/{switch-DV8zX7rV.js → switch-B4wVqV4L.js} +51 -50
  66. package/dist/chunks/{switch-CgycqpWv.cjs → switch-DVjKkt22.cjs} +12 -12
  67. package/dist/chunks/{temporal-bucket-contract-BBdvWsY0.cjs → temporal-bucket-contract-CSdspcYj.cjs} +1 -1
  68. package/dist/chunks/{temporal-bucket-contract-lq7Jrif0.js → temporal-bucket-contract-_WCvDnvn.js} +1 -1
  69. package/dist/chunks/{update-policy-DIw_H9RT.cjs → update-policy-BESKAspa.cjs} +1 -1
  70. package/dist/chunks/{update-policy-EgZ1nRbd.js → update-policy-BWbXhkk-.js} +2 -2
  71. package/dist/chunks/{validators-CvLOGzT3.js → validators-CHlnnHuS.js} +1102 -1043
  72. package/dist/chunks/validators-D2F_uxxP.cjs +1 -0
  73. package/dist/dashboard/index.cjs +1 -1
  74. package/dist/dashboard/index.js +1 -1
  75. package/dist/dashboard-authoring/index.cjs +3 -3
  76. package/dist/dashboard-authoring/index.js +112 -107
  77. package/dist/data-app-builder/index.cjs +1 -1
  78. package/dist/data-app-builder/index.js +2 -2
  79. package/dist/data-app-codegen/index.cjs +1 -1
  80. package/dist/data-app-codegen/index.js +2 -2
  81. package/dist/data-app-codegen-node/index.cjs +1 -1
  82. package/dist/data-app-codegen-node/index.js +3 -3
  83. package/dist/data-app-sdk/index.cjs +1 -1
  84. package/dist/data-app-sdk/index.js +4 -4
  85. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  86. package/dist/data-app-sdk-adapters/index.js +2 -2
  87. package/dist/data-app-sdk-validation/index.cjs +1 -1
  88. package/dist/data-app-sdk-validation/index.js +5 -5
  89. package/dist/format-utils/index.cjs +1 -1
  90. package/dist/format-utils/index.js +16 -16
  91. package/dist/index.cjs +1 -1
  92. package/dist/index.js +81 -78
  93. package/dist/report-runtime-context/index.cjs +1 -1
  94. package/dist/report-runtime-context/index.js +2 -2
  95. package/dist/surfboard/index.cjs +1 -1
  96. package/dist/surfboard/index.js +2 -2
  97. package/dist/types/analytics-protocol.d.ts +15 -0
  98. package/dist/types/briefings.d.ts +16 -1
  99. package/dist/types/dashboard-assistant.d.ts +15 -0
  100. package/dist/types/dashboard-authoring.d.ts +49 -1
  101. package/dist/types/dashboard.d.ts +23 -1
  102. package/dist/types/data-app-builder.d.ts +15 -0
  103. package/dist/types/data-app-codegen-node.d.ts +15 -0
  104. package/dist/types/data-app-codegen.d.ts +15 -0
  105. package/dist/types/data-app-sdk-adapters.d.ts +15 -0
  106. package/dist/types/data-app-sdk-validation.d.ts +15 -0
  107. package/dist/types/data-app-sdk.d.ts +15 -0
  108. package/dist/types/format-utils.d.ts +15 -0
  109. package/dist/types/index.cjs +1 -1
  110. package/dist/types/index.js +30 -27
  111. package/dist/types/main.d.ts +67 -8
  112. package/dist/types/shared.d.ts +16 -1
  113. package/dist/types/surfboard.d.ts +23 -1
  114. package/dist/types/types.d.ts +67 -8
  115. package/package.json +1 -1
  116. package/dist/chunks/edit-dashboard-visual-_Wap0YGu.cjs +0 -172
  117. package/dist/chunks/matrix-control-sources-DdfST7Fo.cjs +0 -1
  118. package/dist/chunks/matrix-control-sources-Dxh6hOU9.js +0 -523
  119. package/dist/chunks/validators-mhiJSia7.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../chunks/validators-mhiJSia7.cjs"),N=require("../chunks/matrix-operation-contract-C0-V685e.cjs"),E=require("../chunks/report-runtime-context-D3t8vyl9.cjs"),K=require("../chunks/source-entity-resolution-CTUzMH2S.cjs"),y=require("../data-app-sdk-adapters/index.cjs"),Q=require("../chunks/matrix-card-BitrcBVw.cjs");function W({intent:e,field:r,catalogField:t,relativePath:o}){const i=J({intent:e,field:r,relativePath:o});if(!i||i.allowedRelatedRoles.length===0)return!1;const n=I(r,i.selectedField),s=$(t),c=h(n);return P(s,i.allowedRelatedRoles)?c===s:!1}function U(e){return e.kind==="records"?L(e):e.kind==="metric"?X(e):[]}function $(e){const r=d.normalizeAnalyticsCatalogName(e.role);if(r==="measure")return"measure";if(r==="id")return"id";const t=d.normalizeAnalyticsCatalogDataType(e.dataType);if(r==="date"||t==="date"||t==="datetime")return"date";if(r==="dimension")return"dimension"}function P(e,r){return!!(e&&r.includes(e))}function I(e,r){const t=h(e);if(t)return e.role===t?e:{...e,role:t};const o=r?h(r):void 0;return o?{...e,role:o}:e}function v(e,r){return e.find(t=>T(t,r))}function J({intent:e,field:r,relativePath:t}){if(e.kind==="records")return V(e,r,t);if(e.kind==="metric")return G(e,r,t)}function V(e,r,t){if(t.startsWith("spec.fields."))return{allowedRelatedRoles:["dimension","date","id"]};if(t==="spec.dateField"&&!e.timeWindow)return{allowedRelatedRoles:["date"]};if(t==="spec.orderBy.field"){const o=v(H(e),r);return{selectedField:o,allowedRelatedRoles:o?k(o):[]}}}function G(e,r,t){if(t.startsWith("spec.dimensions."))return{allowedRelatedRoles:["dimension"]};if(t==="spec.orderBy.field"){const o=v(e.dimensions||[],r);return{selectedField:o,allowedRelatedRoles:o?["dimension"]:[]}}}function L(e){var o,i;const r=H(e),t=(o=e.orderBy)!=null&&o.field?v(r,e.orderBy.field):void 0;return b([...r.map(n=>p(n,k(n))),...(i=e.orderBy)!=null&&i.field?[p(I(e.orderBy.field,t),t?k(t):[],{unsupportedRelatedRoleMessage:"Joined records projections support related sort fields only when the same related field is included in spec.fields.",recommendedNextStep:"Add the related sort field to spec.fields, or keep orderBy fields on the base source."})]:[]])}function X(e){var t,o;const r=(t=e.orderBy)!=null&&t.field?v(e.dimensions||[],e.orderBy.field):void 0;return b([...e.measures.map(i=>p(i,[])),...e.primaryMeasure?[p(e.primaryMeasure,[])]:[],...(e.dimensions||[]).map(i=>p(i,["dimension"])),...e.dateField?[p({...e.dateField,role:"date"},[])]:[],...(o=e.orderBy)!=null&&o.field?[p(I(e.orderBy.field,r),r?["dimension"]:[],{unsupportedRelatedRoleMessage:"Joined metric projections support related orderBy fields only when the same related field is declared in spec.dimensions.",recommendedNextStep:"Add the related field as a metric dimension when it should participate in the grouped result, or keep orderBy fields on the base source."})]:[]])}function k(e){const r=e?h(e):void 0;return r==="dimension"?["dimension"]:r==="date"?["date"]:r==="id"?["id"]:["dimension","date","id"]}function p(e,r,t={}){return{field:I(e),allowedRelatedRoles:r,...t}}function b(e){const r=[];return e.forEach(t=>{r.some(o=>Y(o,t))||r.push(t)}),r}function H(e){const r=[...e.fields];return e.dateField&&!r.some(t=>w(t,e.dateField))&&r.push({...e.dateField,role:"date"}),r}function Y(e,r){return T(e.field,r.field)&&e.allowedRelatedRoles.join("|")===r.allowedRelatedRoles.join("|")&&(e.unsupportedRelatedRoleMessage||"")===(r.unsupportedRelatedRoleMessage||"")&&(e.recommendedNextStep||"")===(r.recommendedNextStep||"")}function w(e,r){return d.semaphorFieldRefsMatch(e,r)}function T(e,r){return w(e,r)&&Z(h(e),h(r))}function Z(e,r){return!!(e&&(!r||e===r))}function h(e){return $(e)}function j({intent:e,field:r,relativePath:t,baseCatalog:o,fieldCatalogs:i}){const n=g(r,e.source),s=d.semaphorSourcesReferToSameDataset(n,e.source);if(e.kind!=="matrix"&&!s&&!re(e.source,n))return{ok:!1,code:"invalid_source_ref",message:`Field "${r.name}" references a related Semaphor source outside the query's semantic domain.`,pathSuffix:".source",source:n};const c=s?o:S(i,n);if(!c)return{ok:!1,code:"invalid_source_ref",message:`Field "${r.name}" references a Semaphor source that is not present in the visible field catalog.`,pathSuffix:".source",source:n};const a=q(c,r,e.source);return a?e.kind!=="matrix"&&!s&&!ee({intent:e,field:r,catalogField:a,relativePath:t})?{ok:!1,code:"unsupported_joined_projection",message:`Field "${r.name}" references a related Semaphor source, but this query kind does not support joined projections for that field yet.`,pathSuffix:".source",source:n}:{ok:!0,source:n,catalogField:a,usesBaseSource:s}:{ok:!1,code:"missing_field",message:`Field "${r.name}" is not visible on the selected Semaphor source.`,source:n}}function ee({intent:e,field:r,catalogField:t,relativePath:o}){return W({intent:e,field:r,catalogField:t,relativePath:o})}function re(e,r){return e.kind==="semantic"&&r.kind==="semantic"&&e.domainId===r.domainId}function S(e,r){return e.find(t=>F(t,r))}function q(e,r,t){const o=g(r,t);if(F(e,o))return e.fields.find(i=>te(i,r)&&F(e,g(i,e.source)))}function R(e){return d.normalizeAnalyticsCatalogName(e)}function g(e,r){return e.source||r}function F(e,r){return[e.source,...e.sourceAliases||[]].some(t=>d.semaphorSourcesReferToSameDataset(t,r))}function te(e,r){return!!(e.name&&r.name&&e.name===r.name)}function oe(e){const r=[];if(!e.intent.filters)return r;const t=e.intent.source,i=d.mergeSemaphorSourcesByIdentity(e.fieldCatalogs.flatMap(a=>[a.source,...a.sourceAliases??[]])).filter(a=>t.kind==="semantic"?a.kind==="semantic"&&a.domainId===t.domainId:a.kind==="physical"&&a.connectionId===t.connectionId).map(a=>a.kind==="semantic"?{type:"dataset",name:a.datasetName,id:a.datasetId,domainId:a.domainId,connectionId:a.connectionId}:{type:"table",name:a.tableName,database:a.databaseName,schema:a.schemaName,connectionId:a.connectionId,connectionType:a.connectionType,dialect:a.dialect}),n=(a,u)=>{r.push({field:a,path:u,validation:j({...e,field:a,relativePath:u})})},s=(a,u)=>{if(a.derivedField)Object.entries(a.derivedField.inputs).forEach(([l,f])=>n(f.field,`${u}.derivedField.inputs.${l}.field`));else if(a.calculatedFormula)a.calculatedFormula.inputFields.forEach((l,f)=>s(l,`${u}.calculatedFormula.inputFields.${f}`));else{const l=K.resolveSemaphorSourceEntity({entities:i,semanticDomainId:t.kind==="semantic"?t.domainId:void 0,connectionId:t.connectionId,connectionType:t.kind==="physical"?t.connectionType:void 0,dialect:t.kind==="physical"?t.dialect:void 0,fieldEntityType:a.entityType,entityId:a.entityId,entityName:a.entityName,qualifiedHints:[a.qualifiedEntityName]});l.kind==="resolved"?n({name:a.name,source:l.source},u):r.push({field:{name:a.name},path:u,validation:{ok:!1,code:"invalid_source_ref",source:t,message:`Filter field "${a.name}" has no unambiguous source in the visible field catalog (${l.kind}).`}})}},c=(a,u)=>{a.conditions.forEach((l,f)=>s(l.field,`${u}.conditions.${f}.field`)),a.groups.forEach((l,f)=>c(l,`${u}.groups.${f}`))};return c(e.intent.filters,"spec.filters"),r}function M(e,r={}){const t=r.pathPrefix||"analysisOptions";if(e===void 0)return{ok:!0};if(!e||typeof e!="object"||Array.isArray(e))return m(t,"Data App analysis options must be an object.");const o=e,i={};if(o.chartTitle!==void 0){if(typeof o.chartTitle!="string")return m(`${t}.chartTitle`,'Data App analysis option "chartTitle" must be a string.');i.chartTitle=o.chartTitle}if(o.chartType!==void 0){if(typeof o.chartType!="string")return m(`${t}.chartType`,'Data App analysis option "chartType" must be a string.');i.chartType=o.chartType}if(o.driverMode!==void 0){if(!ne(o.driverMode))return m(`${t}.driverMode`,'Data App analysis option "driverMode" must be absolute_delta, largest_negative, largest_positive, positive_and_negative, or all.');i.driverMode=o.driverMode}if(o.includePopulation!==void 0){if(typeof o.includePopulation!="boolean")return m(`${t}.includePopulation`,'Data App analysis option "includePopulation" must be a boolean.');i.includePopulation=o.includePopulation}if(o.calendarContext!==void 0){const n=se(o.calendarContext,{pathPrefix:`${t}.calendarContext`,validateTimezone:r.validateTimezone});if(!n.ok)return n;i.calendarContext=n.calendarContext}return{ok:!0,analysisOptions:i}}function ie(e){const r=e.queries.map((i,n)=>ae(i,n,{fieldCatalogs:e.fieldCatalogs||[],requireFieldCatalog:!!e.requireFieldCatalog,validateTimezone:e.validateTimezone})),t=r.flatMap(i=>i.diagnostics),o=r.map(i=>i.executionResult);return{ok:t.every(i=>i.severity!=="error"),diagnostics:t,queries:r,intents:r.flatMap(i=>i.intent?[i.intent]:[]),executionResults:o}}function ae(e,r,t){const o=`queries.${r}`;try{const i=de(e),n=ke(e,i),s=d.validateSemaphorAnalyticsIntent(i),c=[...ge({querySpec:e,queryId:n,intent:i,pathPrefix:o}),...s.errors.map(u=>_(u,{queryHook:e.queryHook,queryId:n,pathPrefix:o,severity:"error",intent:i})),...s.warnings.map(u=>_(u,{queryHook:e.queryHook,queryId:n,pathPrefix:o,severity:"warning",intent:i})),...ce({querySpec:e,queryId:n,intent:i,pathPrefix:o,fieldCatalogs:t.fieldCatalogs,requireFieldCatalog:t.requireFieldCatalog}),...he({querySpec:e,queryId:n,intent:i,pathPrefix:o,validateTimezone:t.validateTimezone})],a=Se(s,c);return{queryHook:e.queryHook,queryId:n,intent:i,diagnostics:c,executionResult:x({intent:i,validation:a,diagnostics:c})}}catch(i){const n={severity:"error",code:"invalid_query_spec",message:i instanceof Error?i.message:String(i),path:o,queryHook:e.queryHook,queryId:O(e.spec)},s=z([n]);return{queryHook:e.queryHook,queryId:n.queryId,diagnostics:[n],executionResult:x({validation:s,diagnostics:[n]})}}}function m(e,r){return{ok:!1,issues:[{code:"invalid_analysis_option",message:r,path:e}]}}function D(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function ne(e){return e==="absolute_delta"||e==="largest_negative"||e==="largest_positive"||e==="positive_and_negative"||e==="all"}function se(e,r){if(!e||typeof e!="object"||Array.isArray(e))return m(r.pathPrefix,'Data App analysis option "calendarContext" must be an object.');const t=e,o=t.tz;let i=o;if(typeof o=="string"&&r.validateTimezone&&(i=r.validateTimezone(o)),i===null)return m(`${r.pathPrefix}.tz`,'Data App analysis option "calendarContext.tz" must be a valid timezone string.');const n=E.parseCalendarContext({...t,tz:i});if(!n.ok){const s=n.issues[0];return m(s!=null&&s.path?`${r.pathPrefix}.${s.path}`:r.pathPrefix,`Data App analysis option "calendarContext" is invalid: ${(s==null?void 0:s.message)??"invalid value"}.`)}return{ok:!0,calendarContext:n.value}}function de(e){return le(e.spec)}function le(e){if(!D(e))throw new Error("useSemaphorQuery spec must be an object.");if(e.queryKind==="metric")return y.toSemaphorMetricIntent(e);if(e.queryKind==="analysis")return y.toSemaphorAnalysisIntent(e);if(e.queryKind==="records")return y.toSemaphorRecordsIntent(e);if(e.queryKind==="sql")return y.toSemaphorSqlIntent(e);if(e.queryKind==="matrix")return y.toSemaphorMatrixIntent(e);if(e.queryKind==="inputOptions")return y.toSemaphorInputOptionsIntent(e);throw new Error("useSemaphorQuery spec.queryKind must be metric, analysis, records, inputOptions, sql, or matrix.")}function ce(e){if(e.intent.kind==="sql")return[];if(e.fieldCatalogs.length===0&&!e.requireFieldCatalog)return[];const r=S(e.fieldCatalogs,e.intent.source);if(!r)return[{severity:"error",code:"invalid_source_ref",message:`Source ref for ${e.querySpec.queryHook} does not match a visible Semaphor source.`,path:`${e.pathPrefix}.spec.source`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}];const t=fe({...e,catalog:r}),o={...r,fields:[...r.fields,...ve(e.intent,r,e.intent.source)]};return[...t,...ue({...e,fieldCatalogs:e.fieldCatalogs}),...me({...e,catalog:o,fieldCatalogs:e.fieldCatalogs}),...pe({...e,catalog:o,fieldCatalogs:e.fieldCatalogs})]}function ue(e){var t;if(e.intent.kind!=="inputOptions"||((t=e.intent.population)==null?void 0:t.kind)!=="related_population")return[];const r=e.intent.population.baseSource;return S(e.fieldCatalogs,r)?[]:[{severity:"error",code:"invalid_source_ref",message:"Input options related population baseSource does not match a visible Semaphor source.",path:`${e.pathPrefix}.spec.population.baseSource`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:r}]}function fe(e){const r=B(e.intent);if(r.length===0)return[];const t=[],o=new Set;return r.forEach((i,n)=>{const s=`${e.pathPrefix}.spec.derivedFields.${n}`,c=R(i.name);c&&(o.has(c)&&t.push({severity:"error",code:"duplicate_derived_field",message:`Derived field "${i.name}" is declared more than once.`,path:`${s}.name`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}),o.add(c),e.catalog.fields.some(a=>R(a.name)===c)&&t.push({severity:"error",code:"derived_field_name_collision",message:`Derived field "${i.name}" conflicts with a field already visible on the selected Semaphor source.`,path:`${s}.name`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source})),Object.entries(i.inputs||{}).forEach(([a,u])=>{const l=qe(u);if(!l)return;const f=g(l,e.intent.source);if(!d.semaphorSourcesReferToSameDataset(f,e.intent.source)){t.push({severity:"error",code:"unsupported_derived_field_source",message:`Derived field "${i.name}" input "${a}" references a different Semaphor source. App-local derived fields must use fields from the query source.`,path:`${s}.inputs.${a}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:f,field:l});return}q(e.catalog,l,e.intent.source)||t.push({severity:"error",code:"missing_field",message:`Derived field "${i.name}" input "${a}" references field "${l.name}", which is not visible on the selected Semaphor source.`,path:`${s}.inputs.${a}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:f,field:l})})}),t}function me(e){const r=Ie(e.intent).map(({field:t,path:o})=>{const i=j({intent:e.intent,field:t,relativePath:o,baseCatalog:e.catalog,fieldCatalogs:e.fieldCatalogs});return{field:t,path:o,validation:i}});return e.intent.kind==="matrix"&&r.push(...oe({intent:e.intent,baseCatalog:e.catalog,fieldCatalogs:e.fieldCatalogs})),r.flatMap(({field:t,path:o,validation:i})=>i.ok?[]:[{severity:"error",code:i.code,message:i.message,path:`${e.pathPrefix}.${o}${i.pathSuffix||""}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i.source,field:t}])}function pe(e){return("inputs"in e.intent?e.intent.inputs||[]:[]).flatMap((t,o)=>{if(!t.field)return[];const i=g(t.field,e.intent.source);if(!d.semaphorSourcesReferToSameDataset(i,e.intent.source)){if(ye(e.intent,i)){const n=S(e.fieldCatalogs,i);return n?q(n,t.field,i)?[]:[{severity:"error",code:"missing_field",message:`Input "${t.inputId}" references field "${t.field.name}", which is not visible on the selected Semaphor source.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]:[{severity:"error",code:"invalid_source_ref",message:`Input "${t.inputId}" references a Semaphor source that is not present in the visible field catalog.`,path:`${e.pathPrefix}.spec.inputs.${o}.field.source`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]}return[{severity:"error",code:"unsupported_input_filter_composition",message:`Input "${t.inputId}" filters a different Semaphor source than the query, and no relationship-aware semantic validation path is available for this query kind.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]}return q(e.catalog,t.field,e.intent.source)?[]:[{severity:"error",code:"missing_field",message:`Input "${t.inputId}" references field "${t.field.name}", which is not visible on the selected Semaphor source.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]})}function ye(e,r){return e.source.kind==="semantic"&&r.kind==="semantic"&&r.domainId===e.source.domainId}function he(e){if(e.querySpec.spec.queryKind!=="analysis")return[];const r=M(e.querySpec.spec,{pathPrefix:`${e.pathPrefix}.spec`,validateTimezone:e.validateTimezone});return r.ok?[]:r.issues.map(t=>({severity:"error",code:t.code,message:t.message,path:t.path,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}))}function ge(e){if(e.querySpec.spec.queryKind==="matrix"){const r=N.matrixWindowRequestSchema.safeParse(e.querySpec.spec.matrixWindowRequest);return r.success?[]:r.error.issues.map(t=>({severity:"error",code:"invalid_query_spec",message:t.message,path:[e.pathPrefix,"spec","matrixWindowRequest",...t.path].join("."),queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent)}))}return e.querySpec.spec.queryKind!=="sql"?[]:D(e.querySpec.spec)?Object.prototype.hasOwnProperty.call(e.querySpec.spec,"parameters")?[{severity:"error",code:"deprecated_sql_parameters",message:"semaphor.sql uses defaultParameters for static SQL param(...) fallback values. The legacy parameters field is not supported.",path:`${e.pathPrefix}.spec.parameters`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent)}]:[]:[]}function Ie(e){return e.kind==="metric"?[...e.measures.map((r,t)=>({field:r,path:`spec.measures.${t}`})),...e.primaryMeasure?[{field:e.primaryMeasure,path:"spec.primaryMeasure"}]:[],...e.dateField?[{field:e.dateField,path:"spec.dateField"}]:[],...(e.dimensions||[]).map((r,t)=>({field:r,path:`spec.dimensions.${t}`})),...e.orderBy?[{field:e.orderBy.field,path:"spec.orderBy.field"}]:[],...(e.filters||[]).map((r,t)=>({field:r.field,path:`spec.filters.${t}.field`}))]:e.kind==="records"?[...e.fields.map((r,t)=>({field:r,path:`spec.fields.${t}`})),...e.dateField?[{field:e.dateField,path:"spec.dateField"}]:[],...e.orderBy?[{field:e.orderBy.field,path:"spec.orderBy.field"}]:[],...(e.filters||[]).map((r,t)=>({field:r.field,path:`spec.filters.${t}.field`}))]:e.kind==="inputOptions"?[{field:e.labelField,path:"spec.labelField"},{field:e.valueField,path:"spec.valueField"},...e.searchField?[{field:e.searchField,path:"spec.searchField"}]:[],...(e.disambiguationFields||[]).map((r,t)=>({field:r,path:`spec.disambiguationFields.${t}`}))]:e.kind==="matrix"?Q.matrixDefinitionFields(e).flatMap((r,t)=>r.derivedField||r.name==="*"?[]:[{field:r,path:`spec.fields.${t}`}]):[]}function B(e){return!("derivedFields"in e)||!Array.isArray(e.derivedFields)?[]:e.derivedFields}function ve(e,r,t){return B(e).map(o=>({name:o.name,label:o.label,role:o.resultRole,dataType:o.dataType,source:r.source||t,...o.defaultAggregate?{aggregate:o.defaultAggregate}:{}}))}function qe(e){if(!(!e||typeof e!="object"))return e.field}function _(e,r){return{severity:r.severity,code:e.code||"invalid_analytics_intent",message:e.message,path:e.path?`${r.pathPrefix}.spec.${e.path}`:r.pathPrefix,queryHook:r.queryHook,queryId:r.queryId,intentId:d.getAnalyticsIntentId(r.intent),source:r.intent.source}}function Se(e,r){const t=z(r);return{ok:t.ok&&e.ok,errors:C([...e.errors,...t.errors]),warnings:C([...e.warnings,...t.warnings]),repairHints:[...e.repairHints,...t.repairHints]}}function z(e){const r=e.filter(o=>o.severity==="error").map(A),t=e.filter(o=>o.severity==="warning").map(A);return{ok:r.length===0,errors:r,warnings:t,repairHints:r.map(o=>{var i,n;return{code:o.code,message:o.message,fieldRole:o.fieldRole,invalidField:(i=o.repairHint)==null?void 0:i.invalidField,recommendedNextStep:((n=o.repairHint)==null?void 0:n.recommendedNextStep)||"Update the Data App SDK query spec to use visible Semaphor source and field refs."}})}}function A(e){var r;return{code:e.code,message:e.message,path:e.path,fieldRole:e.code==="invalid_source_ref"?"source":void 0,repairHint:{code:e.code,message:e.message,invalidField:(r=e.field)==null?void 0:r.name,fieldRole:e.code==="invalid_source_ref"?"source":void 0,recommendedNextStep:e.code==="unsupported_input_filter_composition"?"Use an input field from the same Semaphor source as the query, or split the query into separate source-scoped queries.":"Update the query spec to use a visible Semaphor source and field ref."}}}function C(e){const r=new Set;return e.filter(t=>{const o=`${t.code}:${t.path||""}:${t.message}`;return r.has(o)?!1:(r.add(o),!0)})}function x(e){var t;const r=e.diagnostics.filter(o=>o.severity==="error");return{intentId:d.getAnalyticsIntentId(e.intent),status:r.length?"failed":"answered",resultShape:(t=e.intent)==null?void 0:t.kind,intent:e.intent,validation:e.validation,coverage:{answeredObligations:r.length?[]:["query_spec_validation"],missingObligations:r.length?["query_spec_validation"]:[],warnings:e.validation.warnings},missingFields:r.filter(o=>o.code==="missing_field").flatMap(o=>{var i;return(i=o.field)!=null&&i.name?[o.field.name]:[]}),warnings:e.diagnostics.filter(o=>o.severity==="warning").map(o=>o.message),metadata:{validationKind:"data_app_sdk_query_spec"}}}function ke(e,r){return d.getAnalyticsIntentId(r)||O(e.spec)}function O(e){if(!e||typeof e!="object"||!("id"in e))return;const r=e.id;return typeof r=="string"&&r.trim()?r:void 0}exports.fieldWithSelectedProjectionRole=I;exports.findMatchingRelatedProjectionField=v;exports.isAllowedRelatedProjectionRole=P;exports.normalizeSemaphorAnalysisQueryOptions=M;exports.normalizeSemaphorFieldRole=$;exports.relatedProjectionFieldCandidatesForIntent=U;exports.validateSemaphorDataAppQuerySpecs=ie;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../chunks/validators-D2F_uxxP.cjs"),N=require("../chunks/matrix-operation-contract-thtFuUYf.cjs"),E=require("../chunks/report-runtime-context-CqFbgZq9.cjs"),K=require("../chunks/source-entity-resolution-BMKxwdKN.cjs"),y=require("../data-app-sdk-adapters/index.cjs"),Q=require("../chunks/matrix-card-Dh0J0_Of.cjs");function W({intent:e,field:r,catalogField:t,relativePath:o}){const i=J({intent:e,field:r,relativePath:o});if(!i||i.allowedRelatedRoles.length===0)return!1;const n=I(r,i.selectedField),s=$(t),c=h(n);return P(s,i.allowedRelatedRoles)?c===s:!1}function U(e){return e.kind==="records"?L(e):e.kind==="metric"?X(e):[]}function $(e){const r=d.normalizeAnalyticsCatalogName(e.role);if(r==="measure")return"measure";if(r==="id")return"id";const t=d.normalizeAnalyticsCatalogDataType(e.dataType);if(r==="date"||t==="date"||t==="datetime")return"date";if(r==="dimension")return"dimension"}function P(e,r){return!!(e&&r.includes(e))}function I(e,r){const t=h(e);if(t)return e.role===t?e:{...e,role:t};const o=r?h(r):void 0;return o?{...e,role:o}:e}function v(e,r){return e.find(t=>T(t,r))}function J({intent:e,field:r,relativePath:t}){if(e.kind==="records")return V(e,r,t);if(e.kind==="metric")return G(e,r,t)}function V(e,r,t){if(t.startsWith("spec.fields."))return{allowedRelatedRoles:["dimension","date","id"]};if(t==="spec.dateField"&&!e.timeWindow)return{allowedRelatedRoles:["date"]};if(t==="spec.orderBy.field"){const o=v(H(e),r);return{selectedField:o,allowedRelatedRoles:o?k(o):[]}}}function G(e,r,t){if(t.startsWith("spec.dimensions."))return{allowedRelatedRoles:["dimension"]};if(t==="spec.orderBy.field"){const o=v(e.dimensions||[],r);return{selectedField:o,allowedRelatedRoles:o?["dimension"]:[]}}}function L(e){var o,i;const r=H(e),t=(o=e.orderBy)!=null&&o.field?v(r,e.orderBy.field):void 0;return b([...r.map(n=>p(n,k(n))),...(i=e.orderBy)!=null&&i.field?[p(I(e.orderBy.field,t),t?k(t):[],{unsupportedRelatedRoleMessage:"Joined records projections support related sort fields only when the same related field is included in spec.fields.",recommendedNextStep:"Add the related sort field to spec.fields, or keep orderBy fields on the base source."})]:[]])}function X(e){var t,o;const r=(t=e.orderBy)!=null&&t.field?v(e.dimensions||[],e.orderBy.field):void 0;return b([...e.measures.map(i=>p(i,[])),...e.primaryMeasure?[p(e.primaryMeasure,[])]:[],...(e.dimensions||[]).map(i=>p(i,["dimension"])),...e.dateField?[p({...e.dateField,role:"date"},[])]:[],...(o=e.orderBy)!=null&&o.field?[p(I(e.orderBy.field,r),r?["dimension"]:[],{unsupportedRelatedRoleMessage:"Joined metric projections support related orderBy fields only when the same related field is declared in spec.dimensions.",recommendedNextStep:"Add the related field as a metric dimension when it should participate in the grouped result, or keep orderBy fields on the base source."})]:[]])}function k(e){const r=e?h(e):void 0;return r==="dimension"?["dimension"]:r==="date"?["date"]:r==="id"?["id"]:["dimension","date","id"]}function p(e,r,t={}){return{field:I(e),allowedRelatedRoles:r,...t}}function b(e){const r=[];return e.forEach(t=>{r.some(o=>Y(o,t))||r.push(t)}),r}function H(e){const r=[...e.fields];return e.dateField&&!r.some(t=>w(t,e.dateField))&&r.push({...e.dateField,role:"date"}),r}function Y(e,r){return T(e.field,r.field)&&e.allowedRelatedRoles.join("|")===r.allowedRelatedRoles.join("|")&&(e.unsupportedRelatedRoleMessage||"")===(r.unsupportedRelatedRoleMessage||"")&&(e.recommendedNextStep||"")===(r.recommendedNextStep||"")}function w(e,r){return d.semaphorFieldRefsMatch(e,r)}function T(e,r){return w(e,r)&&Z(h(e),h(r))}function Z(e,r){return!!(e&&(!r||e===r))}function h(e){return $(e)}function j({intent:e,field:r,relativePath:t,baseCatalog:o,fieldCatalogs:i}){const n=g(r,e.source),s=d.semaphorSourcesReferToSameDataset(n,e.source);if(e.kind!=="matrix"&&!s&&!re(e.source,n))return{ok:!1,code:"invalid_source_ref",message:`Field "${r.name}" references a related Semaphor source outside the query's semantic domain.`,pathSuffix:".source",source:n};const c=s?o:S(i,n);if(!c)return{ok:!1,code:"invalid_source_ref",message:`Field "${r.name}" references a Semaphor source that is not present in the visible field catalog.`,pathSuffix:".source",source:n};const a=q(c,r,e.source);return a?e.kind!=="matrix"&&!s&&!ee({intent:e,field:r,catalogField:a,relativePath:t})?{ok:!1,code:"unsupported_joined_projection",message:`Field "${r.name}" references a related Semaphor source, but this query kind does not support joined projections for that field yet.`,pathSuffix:".source",source:n}:{ok:!0,source:n,catalogField:a,usesBaseSource:s}:{ok:!1,code:"missing_field",message:`Field "${r.name}" is not visible on the selected Semaphor source.`,source:n}}function ee({intent:e,field:r,catalogField:t,relativePath:o}){return W({intent:e,field:r,catalogField:t,relativePath:o})}function re(e,r){return e.kind==="semantic"&&r.kind==="semantic"&&e.domainId===r.domainId}function S(e,r){return e.find(t=>F(t,r))}function q(e,r,t){const o=g(r,t);if(F(e,o))return e.fields.find(i=>te(i,r)&&F(e,g(i,e.source)))}function R(e){return d.normalizeAnalyticsCatalogName(e)}function g(e,r){return e.source||r}function F(e,r){return[e.source,...e.sourceAliases||[]].some(t=>d.semaphorSourcesReferToSameDataset(t,r))}function te(e,r){return!!(e.name&&r.name&&e.name===r.name)}function oe(e){const r=[];if(!e.intent.filters)return r;const t=e.intent.source,i=d.mergeSemaphorSourcesByIdentity(e.fieldCatalogs.flatMap(a=>[a.source,...a.sourceAliases??[]])).filter(a=>t.kind==="semantic"?a.kind==="semantic"&&a.domainId===t.domainId:a.kind==="physical"&&a.connectionId===t.connectionId).map(a=>a.kind==="semantic"?{type:"dataset",name:a.datasetName,id:a.datasetId,domainId:a.domainId,connectionId:a.connectionId}:{type:"table",name:a.tableName,database:a.databaseName,schema:a.schemaName,connectionId:a.connectionId,connectionType:a.connectionType,dialect:a.dialect}),n=(a,u)=>{r.push({field:a,path:u,validation:j({...e,field:a,relativePath:u})})},s=(a,u)=>{if(a.derivedField)Object.entries(a.derivedField.inputs).forEach(([l,f])=>n(f.field,`${u}.derivedField.inputs.${l}.field`));else if(a.calculatedFormula)a.calculatedFormula.inputFields.forEach((l,f)=>s(l,`${u}.calculatedFormula.inputFields.${f}`));else{const l=K.resolveSemaphorSourceEntity({entities:i,semanticDomainId:t.kind==="semantic"?t.domainId:void 0,connectionId:t.connectionId,connectionType:t.kind==="physical"?t.connectionType:void 0,dialect:t.kind==="physical"?t.dialect:void 0,fieldEntityType:a.entityType,entityId:a.entityId,entityName:a.entityName,qualifiedHints:[a.qualifiedEntityName]});l.kind==="resolved"?n({name:a.name,source:l.source},u):r.push({field:{name:a.name},path:u,validation:{ok:!1,code:"invalid_source_ref",source:t,message:`Filter field "${a.name}" has no unambiguous source in the visible field catalog (${l.kind}).`}})}},c=(a,u)=>{a.conditions.forEach((l,f)=>s(l.field,`${u}.conditions.${f}.field`)),a.groups.forEach((l,f)=>c(l,`${u}.groups.${f}`))};return c(e.intent.filters,"spec.filters"),r}function M(e,r={}){const t=r.pathPrefix||"analysisOptions";if(e===void 0)return{ok:!0};if(!e||typeof e!="object"||Array.isArray(e))return m(t,"Data App analysis options must be an object.");const o=e,i={};if(o.chartTitle!==void 0){if(typeof o.chartTitle!="string")return m(`${t}.chartTitle`,'Data App analysis option "chartTitle" must be a string.');i.chartTitle=o.chartTitle}if(o.chartType!==void 0){if(typeof o.chartType!="string")return m(`${t}.chartType`,'Data App analysis option "chartType" must be a string.');i.chartType=o.chartType}if(o.driverMode!==void 0){if(!ne(o.driverMode))return m(`${t}.driverMode`,'Data App analysis option "driverMode" must be absolute_delta, largest_negative, largest_positive, positive_and_negative, or all.');i.driverMode=o.driverMode}if(o.includePopulation!==void 0){if(typeof o.includePopulation!="boolean")return m(`${t}.includePopulation`,'Data App analysis option "includePopulation" must be a boolean.');i.includePopulation=o.includePopulation}if(o.calendarContext!==void 0){const n=se(o.calendarContext,{pathPrefix:`${t}.calendarContext`,validateTimezone:r.validateTimezone});if(!n.ok)return n;i.calendarContext=n.calendarContext}return{ok:!0,analysisOptions:i}}function ie(e){const r=e.queries.map((i,n)=>ae(i,n,{fieldCatalogs:e.fieldCatalogs||[],requireFieldCatalog:!!e.requireFieldCatalog,validateTimezone:e.validateTimezone})),t=r.flatMap(i=>i.diagnostics),o=r.map(i=>i.executionResult);return{ok:t.every(i=>i.severity!=="error"),diagnostics:t,queries:r,intents:r.flatMap(i=>i.intent?[i.intent]:[]),executionResults:o}}function ae(e,r,t){const o=`queries.${r}`;try{const i=de(e),n=ke(e,i),s=d.validateSemaphorAnalyticsIntent(i),c=[...ge({querySpec:e,queryId:n,intent:i,pathPrefix:o}),...s.errors.map(u=>_(u,{queryHook:e.queryHook,queryId:n,pathPrefix:o,severity:"error",intent:i})),...s.warnings.map(u=>_(u,{queryHook:e.queryHook,queryId:n,pathPrefix:o,severity:"warning",intent:i})),...ce({querySpec:e,queryId:n,intent:i,pathPrefix:o,fieldCatalogs:t.fieldCatalogs,requireFieldCatalog:t.requireFieldCatalog}),...he({querySpec:e,queryId:n,intent:i,pathPrefix:o,validateTimezone:t.validateTimezone})],a=Se(s,c);return{queryHook:e.queryHook,queryId:n,intent:i,diagnostics:c,executionResult:x({intent:i,validation:a,diagnostics:c})}}catch(i){const n={severity:"error",code:"invalid_query_spec",message:i instanceof Error?i.message:String(i),path:o,queryHook:e.queryHook,queryId:O(e.spec)},s=z([n]);return{queryHook:e.queryHook,queryId:n.queryId,diagnostics:[n],executionResult:x({validation:s,diagnostics:[n]})}}}function m(e,r){return{ok:!1,issues:[{code:"invalid_analysis_option",message:r,path:e}]}}function D(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function ne(e){return e==="absolute_delta"||e==="largest_negative"||e==="largest_positive"||e==="positive_and_negative"||e==="all"}function se(e,r){if(!e||typeof e!="object"||Array.isArray(e))return m(r.pathPrefix,'Data App analysis option "calendarContext" must be an object.');const t=e,o=t.tz;let i=o;if(typeof o=="string"&&r.validateTimezone&&(i=r.validateTimezone(o)),i===null)return m(`${r.pathPrefix}.tz`,'Data App analysis option "calendarContext.tz" must be a valid timezone string.');const n=E.parseCalendarContext({...t,tz:i});if(!n.ok){const s=n.issues[0];return m(s!=null&&s.path?`${r.pathPrefix}.${s.path}`:r.pathPrefix,`Data App analysis option "calendarContext" is invalid: ${(s==null?void 0:s.message)??"invalid value"}.`)}return{ok:!0,calendarContext:n.value}}function de(e){return le(e.spec)}function le(e){if(!D(e))throw new Error("useSemaphorQuery spec must be an object.");if(e.queryKind==="metric")return y.toSemaphorMetricIntent(e);if(e.queryKind==="analysis")return y.toSemaphorAnalysisIntent(e);if(e.queryKind==="records")return y.toSemaphorRecordsIntent(e);if(e.queryKind==="sql")return y.toSemaphorSqlIntent(e);if(e.queryKind==="matrix")return y.toSemaphorMatrixIntent(e);if(e.queryKind==="inputOptions")return y.toSemaphorInputOptionsIntent(e);throw new Error("useSemaphorQuery spec.queryKind must be metric, analysis, records, inputOptions, sql, or matrix.")}function ce(e){if(e.intent.kind==="sql")return[];if(e.fieldCatalogs.length===0&&!e.requireFieldCatalog)return[];const r=S(e.fieldCatalogs,e.intent.source);if(!r)return[{severity:"error",code:"invalid_source_ref",message:`Source ref for ${e.querySpec.queryHook} does not match a visible Semaphor source.`,path:`${e.pathPrefix}.spec.source`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}];const t=fe({...e,catalog:r}),o={...r,fields:[...r.fields,...ve(e.intent,r,e.intent.source)]};return[...t,...ue({...e,fieldCatalogs:e.fieldCatalogs}),...me({...e,catalog:o,fieldCatalogs:e.fieldCatalogs}),...pe({...e,catalog:o,fieldCatalogs:e.fieldCatalogs})]}function ue(e){var t;if(e.intent.kind!=="inputOptions"||((t=e.intent.population)==null?void 0:t.kind)!=="related_population")return[];const r=e.intent.population.baseSource;return S(e.fieldCatalogs,r)?[]:[{severity:"error",code:"invalid_source_ref",message:"Input options related population baseSource does not match a visible Semaphor source.",path:`${e.pathPrefix}.spec.population.baseSource`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:r}]}function fe(e){const r=B(e.intent);if(r.length===0)return[];const t=[],o=new Set;return r.forEach((i,n)=>{const s=`${e.pathPrefix}.spec.derivedFields.${n}`,c=R(i.name);c&&(o.has(c)&&t.push({severity:"error",code:"duplicate_derived_field",message:`Derived field "${i.name}" is declared more than once.`,path:`${s}.name`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}),o.add(c),e.catalog.fields.some(a=>R(a.name)===c)&&t.push({severity:"error",code:"derived_field_name_collision",message:`Derived field "${i.name}" conflicts with a field already visible on the selected Semaphor source.`,path:`${s}.name`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source})),Object.entries(i.inputs||{}).forEach(([a,u])=>{const l=qe(u);if(!l)return;const f=g(l,e.intent.source);if(!d.semaphorSourcesReferToSameDataset(f,e.intent.source)){t.push({severity:"error",code:"unsupported_derived_field_source",message:`Derived field "${i.name}" input "${a}" references a different Semaphor source. App-local derived fields must use fields from the query source.`,path:`${s}.inputs.${a}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:f,field:l});return}q(e.catalog,l,e.intent.source)||t.push({severity:"error",code:"missing_field",message:`Derived field "${i.name}" input "${a}" references field "${l.name}", which is not visible on the selected Semaphor source.`,path:`${s}.inputs.${a}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:f,field:l})})}),t}function me(e){const r=Ie(e.intent).map(({field:t,path:o})=>{const i=j({intent:e.intent,field:t,relativePath:o,baseCatalog:e.catalog,fieldCatalogs:e.fieldCatalogs});return{field:t,path:o,validation:i}});return e.intent.kind==="matrix"&&r.push(...oe({intent:e.intent,baseCatalog:e.catalog,fieldCatalogs:e.fieldCatalogs})),r.flatMap(({field:t,path:o,validation:i})=>i.ok?[]:[{severity:"error",code:i.code,message:i.message,path:`${e.pathPrefix}.${o}${i.pathSuffix||""}`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i.source,field:t}])}function pe(e){return("inputs"in e.intent?e.intent.inputs||[]:[]).flatMap((t,o)=>{if(!t.field)return[];const i=g(t.field,e.intent.source);if(!d.semaphorSourcesReferToSameDataset(i,e.intent.source)){if(ye(e.intent,i)){const n=S(e.fieldCatalogs,i);return n?q(n,t.field,i)?[]:[{severity:"error",code:"missing_field",message:`Input "${t.inputId}" references field "${t.field.name}", which is not visible on the selected Semaphor source.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]:[{severity:"error",code:"invalid_source_ref",message:`Input "${t.inputId}" references a Semaphor source that is not present in the visible field catalog.`,path:`${e.pathPrefix}.spec.inputs.${o}.field.source`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]}return[{severity:"error",code:"unsupported_input_filter_composition",message:`Input "${t.inputId}" filters a different Semaphor source than the query, and no relationship-aware semantic validation path is available for this query kind.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]}return q(e.catalog,t.field,e.intent.source)?[]:[{severity:"error",code:"missing_field",message:`Input "${t.inputId}" references field "${t.field.name}", which is not visible on the selected Semaphor source.`,path:`${e.pathPrefix}.spec.inputs.${o}.field`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:i,field:t.field}]})}function ye(e,r){return e.source.kind==="semantic"&&r.kind==="semantic"&&r.domainId===e.source.domainId}function he(e){if(e.querySpec.spec.queryKind!=="analysis")return[];const r=M(e.querySpec.spec,{pathPrefix:`${e.pathPrefix}.spec`,validateTimezone:e.validateTimezone});return r.ok?[]:r.issues.map(t=>({severity:"error",code:t.code,message:t.message,path:t.path,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent),source:e.intent.source}))}function ge(e){if(e.querySpec.spec.queryKind==="matrix"){const r=N.matrixWindowRequestSchema.safeParse(e.querySpec.spec.matrixWindowRequest);return r.success?[]:r.error.issues.map(t=>({severity:"error",code:"invalid_query_spec",message:t.message,path:[e.pathPrefix,"spec","matrixWindowRequest",...t.path].join("."),queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent)}))}return e.querySpec.spec.queryKind!=="sql"?[]:D(e.querySpec.spec)?Object.prototype.hasOwnProperty.call(e.querySpec.spec,"parameters")?[{severity:"error",code:"deprecated_sql_parameters",message:"semaphor.sql uses defaultParameters for static SQL param(...) fallback values. The legacy parameters field is not supported.",path:`${e.pathPrefix}.spec.parameters`,queryHook:e.querySpec.queryHook,queryId:e.queryId,intentId:d.getAnalyticsIntentId(e.intent)}]:[]:[]}function Ie(e){return e.kind==="metric"?[...e.measures.map((r,t)=>({field:r,path:`spec.measures.${t}`})),...e.primaryMeasure?[{field:e.primaryMeasure,path:"spec.primaryMeasure"}]:[],...e.dateField?[{field:e.dateField,path:"spec.dateField"}]:[],...(e.dimensions||[]).map((r,t)=>({field:r,path:`spec.dimensions.${t}`})),...e.orderBy?[{field:e.orderBy.field,path:"spec.orderBy.field"}]:[],...(e.filters||[]).map((r,t)=>({field:r.field,path:`spec.filters.${t}.field`}))]:e.kind==="records"?[...e.fields.map((r,t)=>({field:r,path:`spec.fields.${t}`})),...e.dateField?[{field:e.dateField,path:"spec.dateField"}]:[],...e.orderBy?[{field:e.orderBy.field,path:"spec.orderBy.field"}]:[],...(e.filters||[]).map((r,t)=>({field:r.field,path:`spec.filters.${t}.field`}))]:e.kind==="inputOptions"?[{field:e.labelField,path:"spec.labelField"},{field:e.valueField,path:"spec.valueField"},...e.searchField?[{field:e.searchField,path:"spec.searchField"}]:[],...(e.disambiguationFields||[]).map((r,t)=>({field:r,path:`spec.disambiguationFields.${t}`}))]:e.kind==="matrix"?Q.matrixDefinitionFields(e).flatMap((r,t)=>r.derivedField||r.name==="*"?[]:[{field:r,path:`spec.fields.${t}`}]):[]}function B(e){return!("derivedFields"in e)||!Array.isArray(e.derivedFields)?[]:e.derivedFields}function ve(e,r,t){return B(e).map(o=>({name:o.name,label:o.label,role:o.resultRole,dataType:o.dataType,source:r.source||t,...o.defaultAggregate?{aggregate:o.defaultAggregate}:{}}))}function qe(e){if(!(!e||typeof e!="object"))return e.field}function _(e,r){return{severity:r.severity,code:e.code||"invalid_analytics_intent",message:e.message,path:e.path?`${r.pathPrefix}.spec.${e.path}`:r.pathPrefix,queryHook:r.queryHook,queryId:r.queryId,intentId:d.getAnalyticsIntentId(r.intent),source:r.intent.source}}function Se(e,r){const t=z(r);return{ok:t.ok&&e.ok,errors:C([...e.errors,...t.errors]),warnings:C([...e.warnings,...t.warnings]),repairHints:[...e.repairHints,...t.repairHints]}}function z(e){const r=e.filter(o=>o.severity==="error").map(A),t=e.filter(o=>o.severity==="warning").map(A);return{ok:r.length===0,errors:r,warnings:t,repairHints:r.map(o=>{var i,n;return{code:o.code,message:o.message,fieldRole:o.fieldRole,invalidField:(i=o.repairHint)==null?void 0:i.invalidField,recommendedNextStep:((n=o.repairHint)==null?void 0:n.recommendedNextStep)||"Update the Data App SDK query spec to use visible Semaphor source and field refs."}})}}function A(e){var r;return{code:e.code,message:e.message,path:e.path,fieldRole:e.code==="invalid_source_ref"?"source":void 0,repairHint:{code:e.code,message:e.message,invalidField:(r=e.field)==null?void 0:r.name,fieldRole:e.code==="invalid_source_ref"?"source":void 0,recommendedNextStep:e.code==="unsupported_input_filter_composition"?"Use an input field from the same Semaphor source as the query, or split the query into separate source-scoped queries.":"Update the query spec to use a visible Semaphor source and field ref."}}}function C(e){const r=new Set;return e.filter(t=>{const o=`${t.code}:${t.path||""}:${t.message}`;return r.has(o)?!1:(r.add(o),!0)})}function x(e){var t;const r=e.diagnostics.filter(o=>o.severity==="error");return{intentId:d.getAnalyticsIntentId(e.intent),status:r.length?"failed":"answered",resultShape:(t=e.intent)==null?void 0:t.kind,intent:e.intent,validation:e.validation,coverage:{answeredObligations:r.length?[]:["query_spec_validation"],missingObligations:r.length?["query_spec_validation"]:[],warnings:e.validation.warnings},missingFields:r.filter(o=>o.code==="missing_field").flatMap(o=>{var i;return(i=o.field)!=null&&i.name?[o.field.name]:[]}),warnings:e.diagnostics.filter(o=>o.severity==="warning").map(o=>o.message),metadata:{validationKind:"data_app_sdk_query_spec"}}}function ke(e,r){return d.getAnalyticsIntentId(r)||O(e.spec)}function O(e){if(!e||typeof e!="object"||!("id"in e))return;const r=e.id;return typeof r=="string"&&r.trim()?r:void 0}exports.fieldWithSelectedProjectionRole=I;exports.findMatchingRelatedProjectionField=v;exports.isAllowedRelatedProjectionRole=P;exports.normalizeSemaphorAnalysisQueryOptions=M;exports.normalizeSemaphorFieldRole=$;exports.relatedProjectionFieldCandidatesForIntent=U;exports.validateSemaphorDataAppQuerySpecs=ie;
@@ -1,9 +1,9 @@
1
- import { ae as b, ah as N, s as O, aX as v, q as E, a9 as K, aT as l } from "../chunks/validators-CvLOGzT3.js";
2
- import { u as Q } from "../chunks/matrix-operation-contract-BFumahBa.js";
3
- import { p as W } from "../chunks/report-runtime-context-BziN1eg9.js";
4
- import { o as U } from "../chunks/source-entity-resolution-DX9C1ebK.js";
1
+ import { ah as b, ak as N, k as O, a_ as v, u as E, ac as K, aW as l } from "../chunks/validators-CHlnnHuS.js";
2
+ import { u as Q } from "../chunks/matrix-operation-contract-CPgckXxm.js";
3
+ import { p as W } from "../chunks/report-runtime-context-Dln1qvGS.js";
4
+ import { o as U } from "../chunks/source-entity-resolution-BSZ07Sl6.js";
5
5
  import { toSemaphorMetricIntent as J, toSemaphorAnalysisIntent as V, toSemaphorRecordsIntent as G, toSemaphorSqlIntent as L, toSemaphorMatrixIntent as X, toSemaphorInputOptionsIntent as Y } from "../data-app-sdk-adapters/index.js";
6
- import { m as Z } from "../chunks/matrix-card-DGpXdK_Y.js";
6
+ import { m as Z } from "../chunks/matrix-card-BVvKHL7s.js";
7
7
  function ee({
8
8
  intent: e,
9
9
  field: r,
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../chunks/semantic-format-Ca-sdETk.cjs"),c=require("../chunks/raw-temporal-Kc3mdzH7.cjs"),T=require("../chunks/matrix-formatter-UCXQxvV3.cjs"),n=require("../chunks/pivot-header-presentation-CGWDx1V_.cjs"),x=require("../chunks/validators-mhiJSia7.cjs"),h=require("../chunks/matrix-continuation-6nhDy-lF.cjs");require("../chunks/matrix-operation-contract-C0-V685e.cjs");const q=require("../chunks/matrix-definition-C33isJ3k.cjs"),C=require("../pdf-export-policy/index.cjs"),E=require("../chunks/pivot-result-lifecycle-CC0jWMFT.cjs"),d=require("../chunks/temporal-bucket-4YEPEKlJ.cjs"),X=require("../chunks/metric-comparison-ClKUI7Tu.cjs"),w=require("../chunks/pivot-result-identity-0grcK7bY.cjs"),N=require("../chunks/raw-temporal-contract-SwtP1jSh.cjs");function O(e,r){const a=[];r.includeHeaders&&a.push(n.arrayToCSVRow(r.visibleColumns,r.delimiter));for(const o of e){const s=T.formatRowForExport(o,r);a.push(s.map(i=>n.escapeCSVValue(i,r.delimiter)).join(r.delimiter))}return a}function $(e,r,a=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../chunks/semantic-format-C7Goni6h.cjs"),c=require("../chunks/raw-temporal-DYoPBY6B.cjs"),T=require("../chunks/matrix-formatter-CWtdnbfv.cjs"),n=require("../chunks/pivot-header-presentation-DUXM-VOP.cjs"),x=require("../chunks/validators-D2F_uxxP.cjs"),h=require("../chunks/matrix-continuation-6nhDy-lF.cjs");require("../chunks/matrix-operation-contract-thtFuUYf.cjs");const q=require("../chunks/matrix-definition-CKVi4VVg.cjs"),C=require("../pdf-export-policy/index.cjs"),E=require("../chunks/pivot-result-lifecycle-E_huAPev.cjs"),d=require("../chunks/temporal-bucket-4YEPEKlJ.cjs"),X=require("../chunks/metric-comparison-CAqV6VnZ.cjs"),w=require("../chunks/pivot-result-identity-DJyF4I2K.cjs"),N=require("../chunks/raw-temporal-contract-D1_n2pBj.cjs");function O(e,r){const a=[];r.includeHeaders&&a.push(n.arrayToCSVRow(r.visibleColumns,r.delimiter));for(const o of e){const s=T.formatRowForExport(o,r);a.push(s.map(i=>n.escapeCSVValue(i,r.delimiter)).join(r.delimiter))}return a}function $(e,r,a=`
2
2
  `){return O(e,r).join(a)}function V(e,r,a){for(const o of e){if(o.level<a){r[o.level].push(o.name);for(let s=1;s<o.colspan;s++)r[o.level].push("")}o.children?V(o.children,r,a):o.columnKey&&r[a].push(o.name)}}function k(e){const r=e.pivotByColumns.length,a=e.groupByColumns.length,o=Array.from({length:r+1},()=>[]);for(let s=0;s<r;s++)o[s].push(...Array(a).fill(""));if(o[r].push(...e.groupByColumns.map(s=>s.label||s.name)),V(e.columnHeadersTree,o,r),e.showRowTotals){for(let s=0;s<r;s++)o[s].push("");o[r].push("Total")}return o}function G(e,r,a){if(e==null)return"";if(!a.useFormattedValues)return String(e);const o=a.columnSettings[r];return typeof e=="number"&&(o==null?void 0:o.type)==="number"?c.formatNumberWithColumnSettings(e,o.numberFormat,a.locale):typeof e=="number"?e.toLocaleString(a.locale):String(e)}function L(e,r,a){const o=[];e.fieldValues.forEach((i,t)=>{e.isSubtotal&&t===0?o.push(`${i} Total`):e.isSubtotal?o.push(""):o.push(String(i??""))});let s=0;return r.columnHeaders.forEach(i=>{var u;const t=(u=e.cells[i])==null?void 0:u.value,m=G(t,i,a);o.push(m),r.showRowTotals&&typeof t=="number"&&(s+=t)}),r.showRowTotals&&o.push(s.toLocaleString(a.locale)),o}function H(e,r,a){const o=[];if(a.includeHeaders){const s=k(r);for(const i of s)o.push(n.arrayToCSVRow(i,a.delimiter))}for(const s of e){const i=L(s,r,a);o.push(i.map(t=>n.escapeCSVValue(t,a.delimiter)).join(a.delimiter))}return o}function B(e,r,a){const o=T.prepareMatrixFormatting(e.descriptors,r.presentation,a),s=e.columns.map(l=>{var p;return l.kind==="measure"&&((p=o.measureSemantics.get(l.measureId))==null?void 0:p.isNumeric)===!0}),i=l=>T.matrixMemberLabel([l],o.levels),t=(l,p,f)=>T.matrixAxisLabel(l,p,r.presentation.totals[f],o.levels),m=e.columns.map(l=>{if(l.kind!=="measure")return l.label;const p=l.columnPath.map(i);return l.role!=="member"&&p.push(t(l.columnPath,l.role,"columns")),[...p,l.label].join(" / ")}),u=Math.min(r.spec.columns.length,Math.max(0,...e.columns.map(l=>l.kind==="measure"?l.columnPath.length+(l.role!=="member"?1:0):0))),R=Array.from({length:u+1},(l,p)=>e.columns.map(f=>p===u?f.label:f.kind!=="measure"?"":p<f.columnPath.length?i(f.columnPath[p]):p===f.columnPath.length&&f.role!=="member"?t(f.columnPath,f.role,"columns"):"")),b=(l,p)=>{if(l.kind!=="layout")throw new Error("Layout presentation requires layout rows.");if(l.values.length!==e.columns.length)throw new Error("Matrix row does not match its frozen layout.");const f=T.matrixLevelLabels({path:l.rowPath,role:l.role,levelCount:Math.max(1,r.spec.rows.length),repeatLabels:r.presentation.layout.kind!=="tabular"||r.presentation.layout.repeatLabels,previousPath:p==null?void 0:p.rowPath});return e.columns.map((v,S)=>{if(v.kind==="hierarchy")return`${" ".repeat(Math.max(0,l.rowPath.length-1))}${t(l.rowPath,l.role,"rows")}`;if(v.kind==="level"){const y=r.spec.rows.findIndex(D=>D.id===v.levelId),g=f[y];return g!=null&&g.visible?g.total?t(l.rowPath,l.role,"rows"):T.matrixMemberLabel(g.path,o.levels):""}const A=l.values[S],_=o.measures.get(v.measureId);if(A.kind==="value"&&!_)throw new Error("Matrix value is missing its measure descriptor.");return T.matrixCellText(A,_,r.presentation.absence)})},P=(l,p)=>b(l,p).map((f,v)=>{var y;const S=l.values[v],A=e.columns[v];return A.kind==="measure"&&!((y=o.measureSemantics.get(A.measureId))!=null&&y.hasTextAffixes)&&S.kind==="value"&&(typeof S.value=="number"||x.isExactNumericValue(S.value))?f:n.protectCSVText(f)});return{headers:m,headerBands:R,row:l=>b(l),numericColumns:s,csvRow:l=>P(l),csvRows:l=>l.map((p,f)=>P(p,l[f-1]))}}function U(e){return e.columns.map(r=>n.protectCSVText(r.label))}function j(e){if(e.kind!=="flat")throw new Error("Raw Matrix CSV requires flat rows.");return e.values.map(r=>r.kind!=="value"?null:x.isExactNumericValue(r.value)?r.value.value:typeof r.value=="string"?n.protectCSVText(r.value):typeof r.value=="boolean"?String(r.value):r.value)}function z(e){const r=B(e.layout,e.request,e.report),a=e.layout.columns.map((t,m)=>({index:m,columnId:`matrix:${m}`,label:r.headers[m],isNumeric:r.numericColumns[m]})),o=(t,m,u)=>({text:t,colspan:1,rowspan:1,columnId:a[m].columnId,isHeader:u,isNumeric:a[m].isNumeric,className:a[m].isNumeric?"numeric":e.layout.columns[m].kind==="hierarchy"?"matrix-hierarchy":""}),s=[],i=e.layout.columns.findIndex(t=>t.kind==="measure");e.request.spec.columns.length&&i>=0&&s.push({repeatHeader:!0,headerType:"pivot-axis",headerRowIndex:0,cells:[...i?[{...o("",0,!0),colspan:i}]:[],{...o(e.request.spec.columns.map(t=>q.getMatrixLevelLabel(t,e.request.presentation)).join(" / "),i,!0),colspan:e.layout.columns.length-i,isNumeric:!1,className:""}]});for(const[t,m]of r.headerBands.entries())s.push({repeatHeader:!0,headerType:t===r.headerBands.length-1?"metrics":"pivot-level",headerRowIndex:s.length,cells:m.map((u,R)=>o(u,R,!0))});return{headers:s,rows:e.rows.map((t,m)=>({index:m,type:t.kind==="layout"&&t.role!=="member"?"subtotal":"data",subtotalLevel:String(t.rowPath.length),cells:r.row(t).map((u,R)=>o(u,R,!1))})),grandTotal:null,metadata:{tableType:"pivot",totalRows:e.rows.length,totalColumns:a.length,rowLevels:e.layout.columns.filter(t=>t.kind!=="measure").length,pivotLevels:e.request.spec.columns.length,hasGrandTotal:!1,columnOrder:a.map(t=>t.columnId),columns:a}}}function F(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const r=Object.getPrototypeOf(e);return r===null||r===Object.prototype}function M(e,r,a){const o=new Set(r),s=Object.keys(e).find(i=>!o.has(i));if(s)throw new Error(`${a} contains unknown property "${s}"`)}function K(e,r="tableTotalsRequest"){if(!F(e))throw new Error(`${r} must be an object`);if(M(e,["source","columns"],r),e.source!=="documentFlatTable")throw new Error(`${r}.source must be documentFlatTable`);if(!Array.isArray(e.columns)||e.columns.length===0)throw new Error(`${r}.columns must be a non-empty array`);let a=0;const o=e.columns.map((t,m)=>{const u=`${r}.columns.${m}`;if(!F(t))throw new Error(`${u} must be an object`);M(t,["fieldId","role","behavior","metricAlias","label"],u);const R=typeof t.fieldId=="string"?t.fieldId.trim():"";if(!R)throw new Error(`${u}.fieldId must be a non-empty string`);if(t.role!=="detail"&&t.role!=="groupby"&&t.role!=="metric")throw new Error(`${u}.role is invalid`);const b=t.role;if(t.behavior!=="sum"&&t.behavior!=="avg"&&t.behavior!=="count"&&t.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const P=t.behavior,l=typeof t.metricAlias=="string"?t.metricAlias.trim():void 0;if(t.metricAlias!==void 0&&!l)throw new Error(`${u}.metricAlias must be a non-empty string`);if(l&&b!=="metric")throw new Error(`${u}.metricAlias requires metric role`);if(P==="label"){if(a+=1,b==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(b!=="metric")throw new Error(`${u}.${P} requires metric role`);if(t.label!==void 0&&typeof t.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:R,role:b,behavior:P,...l?{metricAlias:l}:{},...t.label!==void 0?{label:t.label}:{}}}),s=new Map,i=new Set;for(const t of o){if(t.metricAlias){if(i.has(t.metricAlias))throw new Error(`${r}.columns duplicates metricAlias "${t.metricAlias}"`);i.add(t.metricAlias)}const m=s.get(t.fieldId)??[];m.push(t),s.set(t.fieldId,m)}for(const[t,m]of s)if(m.length!==1){for(const u of m)if(u.role!=="metric"||!u.metricAlias)throw new Error(`${r}.columns duplicates fieldId "${t}" without distinct metricAlias values`)}if(a>1)throw new Error(`${r}.columns may contain at most one label`);return{source:"documentFlatTable",columns:o}}function Y(e,r="tableTotalsByColumnId"){if(!F(e))throw new Error(`${r} must be an object`);const a={};for(const[o,s]of Object.entries(e)){if(!o.trim())throw new Error(`${r} contains an empty column id`);if(s!==null&&typeof s!="string"&&(typeof s!="number"||!Number.isFinite(s)))throw new Error(`${r}.${o} must be a string, finite number, or null`);a[o]=s}if(Object.keys(a).length===0)throw new Error(`${r} must not be empty`);return a}function W(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(!e.trim())return null;const r=Number(e);return Number.isFinite(r)?r:null}function Q(e){const r=e.visibleColumns.map(a=>{const s=Object.prototype.hasOwnProperty.call(e.totalsByColumnId,a)?e.totalsByColumnId[a]:a===e.labelColumnKey?"Total":null;if(s===null)return"";if(!e.useFormattedValues)return String(s);const i=E.findResolvedNumericFormat({snapshot:e.snapshot,scope:e.scope,target:{kind:"column",columnKey:a}}),t=i?W(s):null;return i&&t!==null?c.formatNumericCanonical(t,i):String(s)});return`${n.arrayToCSVRow(r,e.delimiter)}
3
3
  `}exports.fromSemanticFormat=I.fromSemanticFormat;exports.isNumericCanonicalFormat=I.isNumericCanonicalFormat;exports.RawTemporalFormatContractError=c.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=c.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=c.classifyDeclaredSqlTemporalColumn;exports.createRawTemporalChunkClassificationEvidence=c.createRawTemporalChunkClassificationEvidence;exports.formatCurrency=c.formatCurrency;exports.formatNumber=c.formatNumber;exports.formatNumberCustom=c.formatNumberCustom;exports.formatNumberWithColumnSettings=c.formatNumberWithColumnSettings;exports.formatNumericCanonical=c.formatNumericCanonical;exports.formatPercent=c.formatPercent;exports.formatRawTemporalValue=c.formatRawTemporalValue;exports.formatScientific=c.formatScientific;exports.parseNumericCanonicalFormat=c.parseNumericCanonicalFormat;exports.parseRawTemporalChunkClassificationEvidence=c.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=c.parseResolvedNumericCanonicalFormat;exports.parseResolvedRawTemporalFormat=c.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=c.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=c.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=c.resolveNumericPresentation;exports.resolveRawTemporalFormat=c.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=c.validateCardExportNumericPresentationSnapshot;exports.validateRawTemporalPattern=c.validateRawTemporalPattern;exports.formatCellValue=T.formatCellValue;exports.formatDate=T.formatDate;exports.formatDuration=T.formatDuration;exports.formatRelativeTime=T.formatRelativeTime;exports.formatRowForExport=T.formatRowForExport;exports.getTimezoneAbbreviation=T.getTimezoneAbbreviation;exports.getTimezoneName=T.getTimezoneName;exports.parseWithSourceTimezone=T.parseWithSourceTimezone;exports.resolveTimezone=T.resolveTimezone;exports.AGGREGATE_PDF_CONTINUATION_CLASS=n.PDF_GROUP_CONTINUATION_CLASS;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.MATRIX_EXPORT_MAX_ARTIFACT_BYTES=n.MATRIX_EXPORT_MAX_ARTIFACT_BYTES;exports.MATRIX_EXPORT_MAX_CELLS=n.MATRIX_EXPORT_MAX_CELLS;exports.MATRIX_EXPORT_MAX_ENCODED_BYTES=n.MATRIX_EXPORT_MAX_ENCODED_BYTES;exports.PDF_GROUP_CONTINUATION_CLASS=n.PDF_GROUP_CONTINUATION_CLASS;exports.PdfSafetyLimitError=n.PdfSafetyLimitError;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.formatMetricComparison=n.formatMetricComparison;exports.isAggregateTotalMemberMarker=n.isAggregateTotalMemberMarker;exports.objectsToCSV=n.objectsToCSV;exports.presentAggregateGroupRow=n.presentAggregateGroupRow;exports.presentPivotHeader=n.presentPivotHeader;exports.protectCSVText=n.protectCSVText;exports.readPdfErrorResponse=n.readPdfErrorResponse;exports.requestStructuredPdf=n.requestStructuredPdf;exports.requiresChunkedCsvExport=n.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=n.resolveAggregateTablePresentationContext;exports.shouldPresentAggregateGroupValue=n.shouldPresentAggregateGroupValue;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=x.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.MATRIX_EXPORT_TRANSFER_BYTES=h.MATRIX_EXPORT_TRANSFER_BYTES;exports.assertMatrixBatchResponseSize=h.assertMatrixBatchResponseSize;exports.matrixAttemptKey=h.matrixAttemptKey;exports.matrixBatchInputSchema=h.matrixBatchInputSchema;exports.matrixBatchResponseSchema=h.matrixBatchResponseSchema;exports.matrixExportDeadlineSchema=h.matrixExportDeadlineSchema;exports.matrixManifestSchema=h.matrixManifestSchema;exports.parseMatrixAttemptKey=h.parseMatrixAttemptKey;exports.parseMatrixBatchResponse=h.parseMatrixBatchResponse;exports.parseMatrixManifest=h.parseMatrixManifest;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.MissingResolvedRawTemporalFormatError=E.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=E.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=E.PresentationExecutionSnapshotError;exports.createCanonicalPivotResultTransport=E.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=E.createPresentationExecutionSnapshot;exports.deriveMetricInstanceAliasExpectations=E.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=E.derivePivotResultContractExpectations;exports.findResolvedNumericFormat=E.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=E.findResolvedRawTemporalFormat;exports.findResolvedTemporalBucketFormat=E.findResolvedTemporalBucketFormat;exports.parseCanonicalPivotResultTransport=E.parseCanonicalPivotResultTransport;exports.parsePresentationExecutionSnapshot=E.parsePresentationExecutionSnapshot;exports.parsePresentationScope=E.parsePresentationScope;exports.parseResolvedPresentationEntries=E.parseResolvedPresentationEntries;exports.validateCardExportPresentationSnapshot=E.validateCardExportPresentationSnapshot;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=d.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=d.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.TemporalBucketContractError=d.TemporalBucketContractError;exports.formatTemporalBucket=d.formatTemporalBucket;exports.isTemporalBucketPreset=d.isTemporalBucketPreset;exports.parseResolvedTemporalBucketFormat=d.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=d.parseTemporalBucketValue;exports.resolveApplicableTemporalBucketFormat=d.resolveApplicableTemporalBucketFormat;exports.resolveTemporalBucketPresentation=d.resolveTemporalBucketPresentation;exports.tokenizeTemporalBucketPattern=d.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=d.validateTemporalBucketFormatApplicability;exports.resolveMetricResultAlias=X.resolveMetricResultAlias;exports.PivotResultIdentityError=w.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=w.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=w.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=w.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=w.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=w.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=w.resolveUniqueQueryColumnKeyMapEntry;exports.parseRawTemporalValueMetadata=N.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=N.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=Q;exports.buildMatrixTableStructure=z;exports.formatPivotDataRow=L;exports.formatPivotTableForCSV=H;exports.formatTableForCSV=O;exports.generatePivotHeaders=k;exports.generateTableCSV=$;exports.matrixFlatCsvHeaders=U;exports.matrixFlatCsvRow=j;exports.parseFlatTableExportTotalsByColumnId=Y;exports.parseFlatTableExportTotalsRequest=K;exports.prepareMatrixExportPresentation=B;
@@ -1,22 +1,22 @@
1
- import { f as ie, i as me } from "../chunks/semantic-format-A3k--fpE.js";
2
- import { f as M, b as _ } from "../chunks/raw-temporal-T3PEaGmJ.js";
3
- import { R as ce, o as pe, l as fe, m as he, d as be, c as de, h as Te, e as we, t as ve, g as Ee, i as Re, n as Pe, p as ye, a as ge, s as Ae, r as Se, j as Ce, k as xe, v as Fe, q as Me } from "../chunks/raw-temporal-T3PEaGmJ.js";
4
- import { f as I, p as k, m as g, a as N, b as L, c as O } from "../chunks/matrix-formatter-CZYFhdZ0.js";
5
- import { k as Ie, e as ke, d as Ne, g as Le, h as Oe, i as $e, j as Be, r as Ve } from "../chunks/matrix-formatter-CZYFhdZ0.js";
6
- import { a as P, e as S, p as y } from "../chunks/pivot-header-presentation-CAmKYLgn.js";
7
- import { P as je, A as Xe, D as qe, F as Ge, d as He, M as ze, c as Ue, P as Ke, g as Ye, u as We, b as Qe, m as Je, q as Ze, t as er, l as rr, f as tr, j as or, o as ar, n as sr, v as lr, h as nr, i as ir, r as mr, k as ur, s as cr } from "../chunks/pivot-header-presentation-CAmKYLgn.js";
8
- import { b1 as C } from "../chunks/validators-CvLOGzT3.js";
9
- import { a3 as fr } from "../chunks/validators-CvLOGzT3.js";
1
+ import { f as ie, i as me } from "../chunks/semantic-format-PKQt2EAz.js";
2
+ import { f as M, b as _ } from "../chunks/raw-temporal-DfnRBxQn.js";
3
+ import { R as ce, o as pe, l as fe, m as he, d as be, c as de, h as Te, e as we, t as ve, g as Ee, i as Re, n as Pe, p as ye, a as ge, s as Ae, r as Se, j as Ce, k as xe, v as Fe, q as Me } from "../chunks/raw-temporal-DfnRBxQn.js";
4
+ import { f as I, p as k, m as g, a as N, b as L, c as O } from "../chunks/matrix-formatter-BTPfthsa.js";
5
+ import { k as Ie, e as ke, d as Ne, g as Le, h as Oe, i as $e, j as Be, r as Ve } from "../chunks/matrix-formatter-BTPfthsa.js";
6
+ import { a as P, e as S, p as y } from "../chunks/pivot-header-presentation-DcCO8-Ij.js";
7
+ import { P as je, A as Xe, D as qe, F as Ge, d as He, M as ze, c as Ue, P as Ke, g as Ye, u as We, b as Qe, m as Je, q as Ze, t as er, l as rr, f as tr, j as or, o as ar, n as sr, v as lr, h as nr, i as ir, r as mr, k as ur, s as cr } from "../chunks/pivot-header-presentation-DcCO8-Ij.js";
8
+ import { b4 as C } from "../chunks/validators-CHlnnHuS.js";
9
+ import { a6 as fr } from "../chunks/validators-CHlnnHuS.js";
10
10
  import { M as br, d as dr, a as Tr, b as wr, c as vr, m as Er, f as Rr, p as Pr, e as yr, g as gr } from "../chunks/matrix-continuation-C4sRcjZU.js";
11
- import "../chunks/matrix-operation-contract-BFumahBa.js";
12
- import { g as $ } from "../chunks/matrix-definition-AP5W3wGc.js";
11
+ import "../chunks/matrix-operation-contract-CPgckXxm.js";
12
+ import { g as $ } from "../chunks/matrix-definition-BEXCfZAe.js";
13
13
  import { FAST_PDF_POLICY as Sr, PDF_SAFETY_LIMIT_EXCEEDED as Cr, getUtf8ByteLength as xr, isFastPdfOutputSizeEligible as Fr, isFastPdfPageCountEligible as Mr, isFastPdfRequestSizeEligible as _r, isFastPdfRowCountEligible as Ir } from "../pdf-export-policy/index.js";
14
- import { f as B } from "../chunks/pivot-result-lifecycle-DVPJg7Gg.js";
15
- import { M as Nr, i as Lr, P as Or, k as $r, c as Br, g as Vr, h as Dr, d as jr, e as Xr, j as qr, b as Gr, p as Hr, a as zr, v as Ur } from "../chunks/pivot-result-lifecycle-DVPJg7Gg.js";
14
+ import { f as B } from "../chunks/pivot-result-lifecycle-DpSZOMOZ.js";
15
+ import { M as Nr, i as Lr, P as Or, k as $r, c as Br, g as Vr, h as Dr, d as jr, e as Xr, j as qr, b as Gr, p as Hr, a as zr, v as Ur } from "../chunks/pivot-result-lifecycle-DpSZOMOZ.js";
16
16
  import { D as Yr, T as Wr, b as Qr, f as Jr, a as Zr, p as et, c as rt, r as tt, d as ot, t as at, v as st } from "../chunks/temporal-bucket-B9hMwemw.js";
17
- import { a as nt } from "../chunks/metric-comparison-Df3HmmUE.js";
18
- import { P as mt, c as ut, i as ct, d as pt, b as ft, r as ht, a as bt } from "../chunks/pivot-result-identity-DBeK76wx.js";
19
- import { p as Tt, v as wt } from "../chunks/raw-temporal-contract-Ck5vJoQ6.js";
17
+ import { a as nt } from "../chunks/metric-comparison-Dgyq1I3d.js";
18
+ import { P as mt, c as ut, i as ct, d as pt, b as ft, r as ht, a as bt } from "../chunks/pivot-result-identity-Be1zm0AV.js";
19
+ import { p as Tt, v as wt } from "../chunks/raw-temporal-contract-CNwYygW2.js";
20
20
  function V(e, r) {
21
21
  const a = [];
22
22
  r.includeHeaders && a.push(P(r.visibleColumns, r.delimiter));
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DhBGtRkR.cjs"),T=require("./chunks/common-types-nBuCd3u2.cjs"),N=require("./chunks/report-preferences-dialog-BcaEOgn2.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-CgycqpWv.cjs"),D=require("react"),R=require("./chunks/field-dependencies-BiyQuGxZ.cjs"),d=require("./chunks/validators-mhiJSia7.cjs"),l=require("./chunks/dashboard-briefing-launcher-BEmyxEd8.cjs"),w=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./chunks/matrix-operation-contract-C0-V685e.cjs");require("./chunks/matrix-continuation-6nhDy-lF.cjs");require("./value-format-preferences/index.cjs");const L=require("./chunks/report-runtime-context-D3t8vyl9.cjs"),B=require("./chunks/pivot-result-identity-0grcK7bY.cjs");require("./chunks/field-aggregations-DLWbqnBW.cjs");const A=require("./chunks/calculated-field-identity-CEzmY7Bi.cjs");require("zod");require("./chunks/constants-CpBVuEea.cjs");require("react-dom");require("./chunks/index-C3RHKD3d.cjs");require("./chunks/appearance-context-tNjvTJj3.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-C8XCKzB6.cjs");const S=require("./chunks/normalize-dashboard-for-dirty-check-BYtBA708.cjs"),M=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-Ca8rxO86.cjs");function j(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 m=j(D);function q(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(I,{cardId:o})})})})]})})}function I({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:u}=D.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),h=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:h,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 U(a,t,o,u){D.useEffect(()=>{a&&!o&&t&&u(A.cloneDeep(t))},[a,o,t,u])}function k({name:a,items:t,value:o,onChange:u,isLoading:n,isError:c,refetch:h,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[F,v]=m.useState("100%"),x=C?[...t||[],{id:"none",name:"None"}]:t;m.useLayoutEffect(()=>{g.current&&v(g.current.offsetWidth)},[]);function _(){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 P(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:_()})]}),i.jsx(M.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:F},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:h,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=>P(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function O(a,t){D.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.MatrixCardView=e.MatrixCardView;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CONTROL_CARD_DEFAULT_VALUE=T.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=T.EMPTY_SELECTION;exports.ReportPreferencesDialog=N.ReportPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=R.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=d.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=d.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.isDerivedField=d.isDerivedField;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=w.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=L.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=B.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=B.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=A.cloneDeep;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=k;exports.Visual=q;exports.useExposePrintState=O;exports.usePristineSnapshotInitializer=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-Gos2ij10.cjs"),T=require("./chunks/common-types-nBuCd3u2.cjs"),R=require("./chunks/report-preferences-dialog-CW59SyVZ.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-DVjKkt22.cjs"),D=require("react"),N=require("./chunks/field-dependencies-R7MrlW6D.cjs"),l=require("./chunks/validators-D2F_uxxP.cjs"),u=require("./chunks/dashboard-briefing-launcher-Dtzn9Tqg.cjs"),w=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./chunks/matrix-operation-contract-thtFuUYf.cjs");require("./chunks/matrix-continuation-6nhDy-lF.cjs");require("./value-format-preferences/index.cjs");const L=require("./chunks/report-runtime-context-CqFbgZq9.cjs"),B=require("./chunks/pivot-result-identity-DJyF4I2K.cjs");require("./chunks/field-aggregations-mlkON_QA.cjs");const A=require("./chunks/calculated-field-identity-CtYhhZoG.cjs");require("zod");require("./chunks/constants-DNgpRMaX.cjs");require("react-dom");require("./chunks/index-Bh3SlWJS.cjs");require("./chunks/appearance-context-tNjvTJj3.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-C8XCKzB6.cjs");const S=require("./chunks/normalize-dashboard-for-dirty-check-BYtBA708.cjs"),M=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-Ca8rxO86.cjs");function j(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(a,o,d.get?d:{enumerable:!0,get:()=>t[o]})}}return a.default=t,Object.freeze(a)}const m=j(D);function I(t){const{displayPreferences:a,cardId:o,...d}=t,n={...d,id:t.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:t.cardId}),i.jsx(e.UXProvider,{appearance:t.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(q,{cardId:o})})})})]})})}function q({cardId:t}){const a=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:d}=D.useMemo(()=>{const n=a==null?void 0:a.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),h=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===t),E=n==null?void 0:n.find(s=>{var C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===t)});return{card:h,frame:E}},[a,t]);return!o||!d?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${t}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:d})})})}function U(t,a,o,d){D.useEffect(()=>{t&&!o&&a&&d(A.cloneDeep(a))},[t,o,a,d])}function k({name:t,items:a,value:o,onChange:d,isLoading:n,isError:c,refetch:h,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[F,v]=m.useState("100%"),x=C?[...a||[],{id:"none",name:"None"}]:a;m.useLayoutEffect(()=>{g.current&&v(g.current.offsetWidth)},[]);function _(){var f;return n?"Loading...":c?"Error":o?(f=a==null?void 0:a.find(p=>p.id===o))==null?void 0:f.name:`Select ${t}`}function P(f,p){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:_()})]}),i.jsx(M.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:F},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:h,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",t==null?void 0:t.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>P(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function O(t,a){D.useEffect(()=>(t&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{t&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[t,a])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixCardView=e.MatrixCardView;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CONTROL_CARD_DEFAULT_VALUE=T.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=T.EMPTY_SELECTION;exports.ReportPreferencesDialog=R.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.CALCULATED_FIELD_ENTITY_MARKER=l.CALCULATED_FIELD_ENTITY_MARKER;exports.DATE_FORMAT_VALUES=l.DATE_FORMAT_VALUES;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=l.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=l.PivotMarkerEnum;exports.getCalculatedFieldComputeStage=l.getCalculatedFieldComputeStage;exports.getFieldRuntimeColumnName=l.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=l.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=l.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=l.hasSyntheticCalculatedFieldOwner;exports.inspectCalculatedField=l.inspectCalculatedField;exports.isCalculatedDimension=l.isCalculatedDimension;exports.isCalculatedMetric=l.isCalculatedMetric;exports.isDerivedField=l.isDerivedField;exports.normalizeCalculatedFieldRepresentation=l.normalizeCalculatedFieldRepresentation;exports.shouldDropInheritedCalculationAggregate=l.shouldDropInheritedCalculationAggregate;exports.AdvancedModeToggle=u.AdvancedModeToggle;exports.DashboardBriefingLauncher=u.DashboardBriefingLauncher;exports.DashboardControlsSettings=u.DashboardControlsSettings;exports.DashboardFilterControlsButton=u.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=u.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=u.DocumentControlsSettings;exports.ExportNotificationItem=u.ExportNotificationItem;exports.ExportNotificationList=u.ExportNotificationList;exports.NotificationBell=u.NotificationBell;exports.UnsavedChangesAlert=u.UnsavedChangesAlert;exports.VisualEditingControls=u.VisualEditingControls;exports.VisualsLibraryDialog=u.VisualsLibraryDialog;exports.WatchDashboardButton=u.WatchDashboardButton;exports.useExportPolling=u.useExportPolling;exports.useExportRecovery=u.useExportRecovery;exports.useDebouncedDirtyCheck=w.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=L.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=B.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=B.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=A.cloneDeep;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=k;exports.Visual=I;exports.useExposePrintState=O;exports.usePristineSnapshotInitializer=U;
package/dist/index.js CHANGED
@@ -1,42 +1,42 @@
1
- import { E as y, F as N, S, c as _, U as P, d as w, C as F, e as x, f as R, g as L, h as M, I, R as U, i as k, j as O, k as V, l as q } from "./chunks/index-DjbQVfS6.js";
2
- import { ak as ba, al as Ta, am as va, an as Aa, V as Ba, G as Na, D as Sa, A as _a, z as Pa, w as wa, b as Fa, au as Ra, M as La, n as Ma, q as Ia, q as Ua, r as ka, B as Oa, a as Va, af as qa, ah as za, ai as Wa, ag as ja, a6 as Qa, a9 as Ha, at as Ka, Z as Ga, ae as Ya, ap as Xa, a1 as $a, aa as Ja, y as Za, x as ae, ax as ee, Y as re, ab as se, ac as oe, a5 as ie, a8 as te, as as ne, ar as le, aq as de, aw as ue, av as ce, a7 as fe, X as pe, W as me, $ as he, ad as ge, a3 as Ce, a0 as De, a2 as Ee, a4 as xe, _ as ye, P as be, L as Te, ao as ve, v as Ae, J as Be, t as Ne, m as Se, H as _e, K as Pe, o as we, T as Fe, O as Re, N as Le, Q as Me, u as Ie, s as Ue, p as ke, aj as Oe } from "./chunks/index-DjbQVfS6.js";
1
+ import { E as y, F as S, S as N, c as _, U as F, d as P, C as w, e as x, f as R, g as L, h as M, I, R as U, i as k, j as O, k as V, l as q } from "./chunks/index-CEm8bwwd.js";
2
+ import { ak as ba, al as Ta, am as va, an as Aa, V as Ba, G as Sa, D as Na, A as _a, z as Fa, w as Pa, b as wa, au as Ra, M as La, n as Ma, q as Ia, q as Ua, r as ka, B as Oa, a as Va, af as qa, ah as za, ai as Wa, ag as ja, a6 as Qa, a9 as Ha, at as Ka, Z as Ga, ae as Ya, ap as Xa, a1 as $a, aa as Ja, y as Za, x as ae, ax as ee, Y as re, ab as se, ac as oe, a5 as ie, a8 as te, as as ne, ar as le, aq as de, aw as ue, av as ce, a7 as pe, X as fe, W as me, $ as ge, ad as he, a3 as Ce, a0 as De, a2 as Ee, a4 as xe, _ as ye, P as be, L as Te, ao as ve, v as Ae, J as Be, t as Se, m as Ne, H as _e, K as Fe, o as Pe, T as we, O as Re, N as Le, Q as Me, u as Ie, s as Ue, p as ke, aj as Oe } from "./chunks/index-CEm8bwwd.js";
3
3
  import { C as qe, E as ze } from "./chunks/common-types-C6cAQgyh.js";
4
- import { R as je } from "./chunks/report-preferences-dialog-B8DdDM7q.js";
4
+ import { R as je } from "./chunks/report-preferences-dialog-8nfXNWvl.js";
5
5
  import { jsx as a, jsxs as d } from "react/jsx-runtime";
6
- import { u as z, P as W, a as j, B as Q, c as C, b as H, d as K } from "./chunks/switch-DV8zX7rV.js";
7
- import { A as He, n as Ke, e as Ge, f as Ye, g as Xe, p as $e, o as Je, s as Ze, t as ar, m as er, i as rr, l as sr, q as or, k as ir, j as tr, h as nr, v as lr, r as dr, w as ur, y as cr, x as fr, z as pr, E as mr, D as hr } from "./chunks/switch-DV8zX7rV.js";
8
- import * as p from "react";
6
+ import { u as z, P as W, a as j, B as Q, c as C, b as H, d as K } from "./chunks/switch-B4wVqV4L.js";
7
+ import { A as He, n as Ke, e as Ge, f as Ye, g as Xe, p as $e, o as Je, s as Ze, t as ar, m as er, i as rr, l as sr, q as or, k as ir, j as tr, h as nr, v as lr, r as dr, w as ur, y as cr, x as pr, z as fr, E as mr, D as gr } from "./chunks/switch-B4wVqV4L.js";
8
+ import * as f from "react";
9
9
  import { useMemo as G, useEffect as b } from "react";
10
- import { D as Cr } from "./chunks/field-dependencies-CNOgt39w.js";
11
- import { C as Er, D as xr, L as yr, P as br, g as Tr, d as vr, h as Ar, e as Br, a as Nr, b as Sr, i as _r, c as Pr } from "./chunks/validators-CvLOGzT3.js";
12
- import { A as Fr, g as Rr, D as Lr, e as Mr, f as Ir, d as Ur, b as kr, E as Or, N as Vr, U as qr, a as zr, V as Wr, W as jr, u as Qr, c as Hr } from "./chunks/dashboard-briefing-launcher-C8eAX-JN.js";
13
- import { u as Gr } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
14
- import "./chunks/matrix-operation-contract-BFumahBa.js";
10
+ import { D as Cr } from "./chunks/field-dependencies-ZE2klbHO.js";
11
+ import { C as Er, D as xr, L as yr, P as br, d as Tr, g as vr, e as Ar, h as Br, f as Sr, c as Nr, a as _r, i as Fr, b as Pr, n as wr, s as Rr } from "./chunks/validators-CHlnnHuS.js";
12
+ import { A as Mr, g as Ir, D as Ur, e as kr, f as Or, d as Vr, b as qr, E as zr, N as Wr, U as jr, a as Qr, V as Hr, W as Kr, u as Gr, c as Yr } from "./chunks/dashboard-briefing-launcher-Bp6SBVb6.js";
13
+ import { u as $r } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
14
+ import "./chunks/matrix-operation-contract-CPgckXxm.js";
15
15
  import "./chunks/matrix-continuation-C4sRcjZU.js";
16
16
  import "./value-format-preferences/index.js";
17
- import { D as Xr } from "./chunks/report-runtime-context-BziN1eg9.js";
18
- import { r as Jr, a as Zr } from "./chunks/pivot-result-identity-DBeK76wx.js";
19
- import "./chunks/field-aggregations-CxJWY4Ny.js";
20
- import { c as Y } from "./chunks/calculated-field-identity-BGIPbwBx.js";
17
+ import { D as Zr } from "./chunks/report-runtime-context-Dln1qvGS.js";
18
+ import { r as es, a as rs } from "./chunks/pivot-result-identity-Be1zm0AV.js";
19
+ import "./chunks/field-aggregations-tLaXZ2VJ.js";
20
+ import { c as Y } from "./chunks/calculated-field-identity-BC2NViZZ.js";
21
21
  import "zod";
22
- import "./chunks/constants-CKoIADZx.js";
22
+ import "./chunks/constants-CTRduy1g.js";
23
23
  import "react-dom";
24
- import "./chunks/index-BJfUMDHc.js";
24
+ import "./chunks/index-BVIet238.js";
25
25
  import "./chunks/appearance-context-XviHOhWJ.js";
26
26
  import "./chunks/color-CJvdlFM_.js";
27
27
  import "./chunks/index-C9KXfCkC.js";
28
- import { n as es, s as rs } from "./chunks/normalize-dashboard-for-dirty-check-Bk3VYv_q.js";
28
+ import { n as os, s as is } from "./chunks/normalize-dashboard-for-dirty-check-Bk3VYv_q.js";
29
29
  import { C as X } from "./chunks/x-CXDkqdur.js";
30
30
  import "./chunks/appearance-runtime-provider-D0xVQWnH.js";
31
- function ga(e) {
31
+ function ha(e) {
32
32
  const { displayPreferences: r, cardId: i, ...l } = e, s = {
33
33
  ...l,
34
34
  id: e.dashboardId
35
35
  // override the id to the dashboard id so that the dashboard is not loaded
36
36
  };
37
- return /* @__PURE__ */ a(y, { FallbackComponent: N, children: /* @__PURE__ */ d(S, { dashboardProps: s, children: [
37
+ return /* @__PURE__ */ a(y, { FallbackComponent: S, children: /* @__PURE__ */ d(N, { dashboardProps: s, children: [
38
38
  /* @__PURE__ */ a(_, { componentType: "visual", componentId: e.cardId }),
39
- /* @__PURE__ */ a(P, { appearance: e.appearance, children: /* @__PURE__ */ a(w, { displayPreferences: r, children: /* @__PURE__ */ a(F, { type: "visual", cardId: i, ...s, children: /* @__PURE__ */ a($, { cardId: i }) }) }) })
39
+ /* @__PURE__ */ a(F, { appearance: e.appearance, children: /* @__PURE__ */ a(P, { displayPreferences: r, children: /* @__PURE__ */ a(w, { type: "visual", cardId: i, ...s, children: /* @__PURE__ */ a($, { cardId: i }) }) }) })
40
40
  ] }) });
41
41
  }
42
42
  function $({ cardId: e }) {
@@ -44,13 +44,13 @@ function $({ cardId: e }) {
44
44
  var t;
45
45
  return (t = s.dashboard) == null ? void 0 : t.sheets;
46
46
  }), { card: i, frame: l } = G(() => {
47
- const s = r == null ? void 0 : r.flatMap((o) => o.frames), t = s == null ? void 0 : s.flatMap((o) => o == null ? void 0 : o.cards), m = t == null ? void 0 : t.find((o) => (o == null ? void 0 : o.id) === e), h = s == null ? void 0 : s.find(
47
+ const s = r == null ? void 0 : r.flatMap((o) => o.frames), t = s == null ? void 0 : s.flatMap((o) => o == null ? void 0 : o.cards), m = t == null ? void 0 : t.find((o) => (o == null ? void 0 : o.id) === e), g = s == null ? void 0 : s.find(
48
48
  (o) => {
49
- var f;
50
- return (f = o == null ? void 0 : o.cards) == null ? void 0 : f.find((u) => (u == null ? void 0 : u.id) === e);
49
+ var p;
50
+ return (p = o == null ? void 0 : o.cards) == null ? void 0 : p.find((u) => (u == null ? void 0 : u.id) === e);
51
51
  }
52
52
  );
53
- return { card: m, frame: h };
53
+ return { card: m, frame: g };
54
54
  }, [r, e]);
55
55
  return !i || !l ? /* @__PURE__ */ a(
56
56
  x,
@@ -91,12 +91,12 @@ function Da({
91
91
  isLoading: s,
92
92
  isError: t,
93
93
  refetch: m,
94
- className: h,
94
+ className: g,
95
95
  icon: o,
96
- showNone: f = !1
96
+ showNone: p = !1
97
97
  }) {
98
- const u = p.useRef(null), [D, E] = p.useState(!1), [T, v] = p.useState("100%"), g = f ? [...r || [], { id: "none", name: "None" }] : r;
99
- p.useLayoutEffect(() => {
98
+ const u = f.useRef(null), [D, E] = f.useState(!1), [T, v] = f.useState("100%"), h = p ? [...r || [], { id: "none", name: "None" }] : r;
99
+ f.useLayoutEffect(() => {
100
100
  u.current && v(u.current.offsetWidth);
101
101
  }, []);
102
102
  function A() {
@@ -114,7 +114,7 @@ function Da({
114
114
  variant: "outline",
115
115
  role: "combobox",
116
116
  "aria-expanded": D,
117
- className: C("flex h-9 w-full justify-between", h),
117
+ className: C("flex h-9 w-full justify-between", g),
118
118
  children: [
119
119
  /* @__PURE__ */ d("div", { className: "flex items-center gap-2", children: [
120
120
  o && /* @__PURE__ */ a("div", { className: "mr-2", children: o }),
@@ -148,7 +148,7 @@ function Da({
148
148
  e == null ? void 0 : e.toLowerCase(),
149
149
  " found."
150
150
  ] }),
151
- /* @__PURE__ */ a(V, { children: g == null ? void 0 : g.map((n) => /* @__PURE__ */ a(
151
+ /* @__PURE__ */ a(V, { children: h == null ? void 0 : h.map((n) => /* @__PURE__ */ a(
152
152
  q,
153
153
  {
154
154
  className: "overflow-x-auto",
@@ -183,7 +183,7 @@ function Ea(e, r) {
183
183
  }), [e, r]);
184
184
  }
185
185
  export {
186
- Fr as AdvancedModeToggle,
186
+ Mr as AdvancedModeToggle,
187
187
  ba as BriefingAuthor,
188
188
  Ta as BriefingAuthorDialog,
189
189
  va as BriefingUiCapabilitiesBoundary,
@@ -191,42 +191,42 @@ export {
191
191
  Ba as BriefingsApiError,
192
192
  Er as CALCULATED_FIELD_ENTITY_MARKER,
193
193
  qe as CONTROL_CARD_DEFAULT_VALUE,
194
- Na as CardSummary,
194
+ Sa as CardSummary,
195
195
  Da as Combobox,
196
196
  xr as DATE_FORMAT_VALUES,
197
- Xr as DEFAULT_CALENDAR_CONTEXT,
197
+ Zr as DEFAULT_CALENDAR_CONTEXT,
198
198
  Cr as DEFAULT_SEMANTIC_DOMAIN_ACCESS,
199
- Sa as Dashboard,
200
- Rr as DashboardBriefingLauncher,
201
- Lr as DashboardControlsSettings,
199
+ Na as Dashboard,
200
+ Ir as DashboardBriefingLauncher,
201
+ Ur as DashboardControlsSettings,
202
202
  _a as DashboardCreateDialogBase,
203
- Pa as DashboardExportDialog,
204
- Mr as DashboardFilterControlsButton,
205
- Ir as DashboardFilterControlsLauncher,
206
- wa as DashboardWC,
207
- Fa as DisplayFormatPreferencesFields,
208
- Ur as DocumentControlsSettings,
203
+ Fa as DashboardExportDialog,
204
+ kr as DashboardFilterControlsButton,
205
+ Or as DashboardFilterControlsLauncher,
206
+ Pa as DashboardWC,
207
+ wa as DisplayFormatPreferencesFields,
208
+ Vr as DocumentControlsSettings,
209
209
  ze as EMPTY_SELECTION,
210
210
  Ra as ExportError,
211
- kr as ExportNotificationItem,
212
- Or as ExportNotificationList,
211
+ qr as ExportNotificationItem,
212
+ zr as ExportNotificationList,
213
213
  yr as LEGACY_CALCULATED_FIELD_ENTITY_MARKER,
214
214
  La as MatrixCardView,
215
- Vr as NotificationBell,
215
+ Wr as NotificationBell,
216
216
  br as PivotMarkerEnum,
217
217
  je as ReportPreferencesDialog,
218
218
  Ma as ResourceType,
219
- S as SemaphorContextProvider,
219
+ N as SemaphorContextProvider,
220
220
  Ia as SemaphorDataProvider,
221
221
  Ua as SemaphorQueryClient,
222
222
  ka as ShareDialog,
223
223
  Oa as SummaryCard,
224
224
  Va as Surfboard,
225
- qr as UnsavedChangesAlert,
226
- ga as Visual,
227
- zr as VisualEditingControls,
228
- Wr as VisualsLibraryDialog,
229
- jr as WatchDashboardButton,
225
+ jr as UnsavedChangesAlert,
226
+ ha as Visual,
227
+ Qr as VisualEditingControls,
228
+ Hr as VisualsLibraryDialog,
229
+ Kr as WatchDashboardButton,
230
230
  qa as applyBriefingFormPatch,
231
231
  za as briefingFormDraftToCreateRequest,
232
232
  Wa as briefingFormDraftToUpdateRequest,
@@ -253,23 +253,24 @@ export {
253
253
  oe as getBriefingEvidence,
254
254
  ie as getBriefingPreviewRun,
255
255
  te as getBriefingRun,
256
+ Tr as getCalculatedFieldComputeStage,
256
257
  $e as getColumnDataType,
257
258
  ne as getDownloadUrl,
258
259
  le as getExportStatus,
259
260
  de as getExports,
260
- Tr as getFieldRuntimeColumnName,
261
+ vr as getFieldRuntimeColumnName,
261
262
  Je as getFilterValueType,
262
263
  Ze as getFormattedTableNameForQuery,
263
264
  ar as getQualifiedTableName,
264
265
  er as getSql,
265
- vr as hasCalculatedFieldMarker,
266
- Ar as hasCalculatedFormulaInputs,
267
- Br as hasSyntheticCalculatedFieldOwner,
266
+ Ar as hasCalculatedFieldMarker,
267
+ Br as hasCalculatedFormulaInputs,
268
+ Sr as hasSyntheticCalculatedFieldOwner,
269
+ Nr as inspectCalculatedField,
268
270
  rr as invalidateToken,
269
271
  sr as isBooleanDataType,
270
- Nr as isCalculatedDimension,
271
- Sr as isCalculatedField,
272
- _r as isCalculatedMetric,
272
+ _r as isCalculatedDimension,
273
+ Fr as isCalculatedMetric,
273
274
  or as isColumnInSqlGen,
274
275
  ir as isDateDataType,
275
276
  Pr as isDerivedField,
@@ -277,21 +278,23 @@ export {
277
278
  ce as isExportInProgress,
278
279
  tr as isNumberDataType,
279
280
  nr as isTextDataType,
280
- fe as listBriefingRuns,
281
- pe as listBriefingTenantSummaries,
281
+ pe as listBriefingRuns,
282
+ fe as listBriefingTenantSummaries,
282
283
  me as listBriefings,
283
- es as normalizeDashboardForDirtyCheck,
284
- he as pauseBriefing,
285
- ge as polishBriefingText,
284
+ wr as normalizeCalculatedFieldRepresentation,
285
+ os as normalizeDashboardForDirtyCheck,
286
+ ge as pauseBriefing,
287
+ he as polishBriefingText,
286
288
  Ce as previewBriefingPlan,
287
289
  lr as resolveDataType,
288
290
  dr as resolveDatamodelName,
289
- Jr as resolveQueryColumnKeyMapEntry,
290
- Zr as resolveUniqueQueryColumnKeyMapEntry,
291
+ es as resolveQueryColumnKeyMapEntry,
292
+ rs as resolveUniqueQueryColumnKeyMapEntry,
291
293
  De as resumeBriefing,
292
294
  Ee as runBriefingNow,
293
295
  xe as runBriefingPreview,
294
- rs as serializeDashboardForDirtyCheck,
296
+ is as serializeDashboardForDirtyCheck,
297
+ Rr as shouldDropInheritedCalculationAggregate,
295
298
  ye as updateBriefing,
296
299
  be as useActiveExports,
297
300
  Te as useAddNewFrame,
@@ -300,21 +303,21 @@ export {
300
303
  Be as useCardSummary,
301
304
  ur as useCurrentActiveCard,
302
305
  cr as useCurrentCardConfig,
303
- fr as useCurrentSheetActiveCards,
304
- pr as useDashboardActions,
305
- Ne as useDashboardById,
306
- Se as useDashboardQuery,
306
+ pr as useCurrentSheetActiveCards,
307
+ fr as useDashboardActions,
308
+ Se as useDashboardById,
309
+ Ne as useDashboardQuery,
307
310
  z as useDashboardStore,
308
311
  _e as useDashboardSummary,
309
- Pe as useDataColumns,
310
- we as useDateFilterHook,
311
- Gr as useDebouncedDirtyCheck,
312
+ Fe as useDataColumns,
313
+ Pe as useDateFilterHook,
314
+ $r as useDebouncedDirtyCheck,
312
315
  mr as useEditorActions,
313
- Fe as useEditorAside,
314
- hr as useEditorStore,
316
+ we as useEditorAside,
317
+ gr as useEditorStore,
315
318
  Re as useExportActions,
316
- Qr as useExportPolling,
317
- Hr as useExportRecovery,
319
+ Gr as useExportPolling,
320
+ Yr as useExportRecovery,
318
321
  Le as useExportStore,
319
322
  Ea as useExposePrintState,
320
323
  Me as useInProgressExportsCount,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/validators-mhiJSia7.cjs"),e=require("../chunks/report-runtime-context-D3t8vyl9.cjs");exports.isValidIanaTimeZone=r.isValidIanaTimeZone;exports.DEFAULT_CALENDAR_CONTEXT=e.DEFAULT_CALENDAR_CONTEXT;exports.parseCalendarContext=e.parseCalendarContext;exports.parseCalendarPreferencesResponse=e.parseCalendarPreferencesResponse;exports.parseReportRuntimeContext=e.parseReportRuntimeContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/validators-D2F_uxxP.cjs"),e=require("../chunks/report-runtime-context-CqFbgZq9.cjs");exports.isValidIanaTimeZone=r.isValidIanaTimeZone;exports.DEFAULT_CALENDAR_CONTEXT=e.DEFAULT_CALENDAR_CONTEXT;exports.parseCalendarContext=e.parseCalendarContext;exports.parseCalendarPreferencesResponse=e.parseCalendarPreferencesResponse;exports.parseReportRuntimeContext=e.parseReportRuntimeContext;
@@ -1,5 +1,5 @@
1
- import { f as r } from "../chunks/validators-CvLOGzT3.js";
2
- import { D as n, p as o, a as p, b as t } from "../chunks/report-runtime-context-BziN1eg9.js";
1
+ import { j as r } from "../chunks/validators-CHlnnHuS.js";
2
+ import { D as n, p as o, a as p, b as t } from "../chunks/report-runtime-context-Dln1qvGS.js";
3
3
  export {
4
4
  n as DEFAULT_CALENDAR_CONTEXT,
5
5
  r as isValidIanaTimeZone,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DhBGtRkR.cjs"),r=require("../chunks/common-types-nBuCd3u2.cjs"),o=require("../chunks/report-preferences-dialog-BcaEOgn2.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-Gos2ij10.cjs"),r=require("../chunks/common-types-nBuCd3u2.cjs"),o=require("../chunks/report-preferences-dialog-CW59SyVZ.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-DjbQVfS6.js";
1
+ import { b as a, a as o } from "../chunks/index-CEm8bwwd.js";
2
2
  import { C as f, E } from "../chunks/common-types-C6cAQgyh.js";
3
- import { R as t } from "../chunks/report-preferences-dialog-B8DdDM7q.js";
3
+ import { R as t } from "../chunks/report-preferences-dialog-8nfXNWvl.js";
4
4
  export {
5
5
  f as CONTROL_CARD_DEFAULT_VALUE,
6
6
  a as DisplayFormatPreferencesFields,