react-semaphor 0.1.478 → 0.1.480

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 (40) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/chunks/{dashboard-briefing-launcher-DAhtLQPc.js → dashboard-briefing-launcher-CiFX5vgQ.js} +3 -3
  4. package/dist/chunks/{dashboard-briefing-launcher-7qAW16mO.cjs → dashboard-briefing-launcher-_AjM7Q_y.cjs} +1 -1
  5. package/dist/chunks/{dashboard-controls-CoVqAeKG.cjs → dashboard-controls-aQed6_jC.cjs} +1 -1
  6. package/dist/chunks/{dashboard-controls-C_CBmEwW.js → dashboard-controls-f0MDpR87.js} +5 -5
  7. package/dist/chunks/{dashboard-filter-value-compatibility-Bco2gN96.cjs → dashboard-filter-value-compatibility-ByT__CYM.cjs} +1 -1
  8. package/dist/chunks/{dashboard-filter-value-compatibility-BAatYtUS.js → dashboard-filter-value-compatibility-DQkUs41q.js} +72 -67
  9. package/dist/chunks/{dashboard-json-B3XSl7b_.cjs → dashboard-json-B00fZY2O.cjs} +1 -1
  10. package/dist/chunks/{dashboard-json-0w58H39L.js → dashboard-json-DY7ydjse.js} +2 -2
  11. package/dist/chunks/{edit-dashboard-visual-BsLRKeuO.cjs → edit-dashboard-visual-BgmZmlTf.cjs} +1 -1
  12. package/dist/chunks/{edit-dashboard-visual-BsWEU8xf.js → edit-dashboard-visual-Bxzuwx5Y.js} +4 -4
  13. package/dist/chunks/{editor-action-buttons-DMLDvrJD.cjs → editor-action-buttons-CGozFo73.cjs} +1 -1
  14. package/dist/chunks/{editor-action-buttons-B3CB5c__.js → editor-action-buttons-DpxbP44b.js} +2 -2
  15. package/dist/chunks/{index-DgGcVyUs.js → index-D0Ts5I_i.js} +22008 -22004
  16. package/dist/chunks/{index--0Il-Bpd.cjs → index-G6FZG212.cjs} +165 -165
  17. package/dist/chunks/{report-preferences-dialog-I0Pbn_Yb.cjs → report-preferences-dialog-Ce1tu57t.cjs} +1 -1
  18. package/dist/chunks/{report-preferences-dialog-Bytgubvz.js → report-preferences-dialog-DXdhi1gQ.js} +2 -2
  19. package/dist/chunks/switch-D12C40LN.cjs +138 -0
  20. package/dist/chunks/{switch-BsGTOjuD.js → switch-LucIPRtD.js} +5249 -4987
  21. package/dist/dashboard/index.cjs +1 -1
  22. package/dist/dashboard/index.js +1 -1
  23. package/dist/dashboard-authoring/index.cjs +1 -1
  24. package/dist/dashboard-authoring/index.js +2 -2
  25. package/dist/data-app-builder/index.cjs +1 -1
  26. package/dist/data-app-builder/index.js +2 -2
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.js +7 -7
  29. package/dist/style.css +1 -1
  30. package/dist/surfboard/index.cjs +1 -1
  31. package/dist/surfboard/index.js +2 -2
  32. package/dist/types/briefings.d.ts +8 -2
  33. package/dist/types/dashboard-authoring.d.ts +9 -3
  34. package/dist/types/dashboard.d.ts +9 -3
  35. package/dist/types/main.d.ts +27 -18
  36. package/dist/types/shared.d.ts +8 -2
  37. package/dist/types/surfboard.d.ts +9 -3
  38. package/dist/types/types.d.ts +9 -3
  39. package/package.json +1 -1
  40. package/dist/chunks/switch-Cpj3DrCZ.cjs +0 -138
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index--0Il-Bpd.cjs"),e=require("../chunks/common-types-BCSbPclk.cjs");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-G6FZG212.cjs"),e=require("../chunks/common-types-BCSbPclk.cjs");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as o } from "../chunks/index-DgGcVyUs.js";
1
+ import { D as o } from "../chunks/index-D0Ts5I_i.js";
2
2
  import { C as s, E as C } from "../chunks/common-types-D3r4PILe.js";
3
3
  export {
4
4
  s as CONTROL_CARD_DEFAULT_VALUE,
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("../chunks/contracts-CtB2VONT.cjs"),D=require("../chunks/temporal-bucket-authoring-DueSgLJU.cjs"),w=require("../chunks/validators-DqIM0B3C.cjs");require("../chunks/analyze-result-contract-BX_nQmPN.cjs");require("../value-format-preferences/index.cjs");const h=require("../chunks/dashboard-filter-value-compatibility-Bco2gN96.cjs"),Te=require("../chunks/operators-DrTQsJXv.cjs"),X=require("../chunks/canonical-result-keys-Cb96edol.cjs");function S(e){return e&&typeof e=="object"?e:null}function T(e){return typeof e=="string"?e:null}function de(e){var t,r,a;return!!(e&&typeof e=="object")&&(((t=S(e))==null?void 0:t.kind)==="semantic"||((r=S(e))==null?void 0:r.kind)==="physical"||((a=S(e))==null?void 0:a.kind)==="sql")}function M(e){return de(e)?e.kind==="semantic"?!!(e.domainId&&e.datasetName):e.kind==="physical"?!!(e.connectionId&&e.tableName):!1:!1}function Fe(e){return w.semaphorSourceIdentityKey(e)}function Y(e,t){return w.semaphorSourcesReferToSameDataset(e,t)}function ce(e,t){return w.preferSemaphorSourceMetadata(e,t)}function B(e){const t=[];for(const r of e){const a=t.findIndex(o=>Y(o,r));a===-1?t.push(r):t[a]=ce(t[a],r)}return t}function ke(e){return B(e)[0]}function K(e,t){return e.kind!=="semantic"||e.connectionId||(t==null?void 0:t.kind)!=="semantic"||!w.semaphorSourcesReferToSameDataset(e,t)||!t.connectionId?e:{...e,connectionId:t.connectionId}}function U(e){return M(e)?e:void 0}function oe(e,t){if(!(e.kind!=="semantic"||e.connectionId))return t.find(r=>(r==null?void 0:r.kind)==="semantic"&&w.semaphorSourcesReferToSameDataset(e,r)&&!!r.connectionId)}function v(e,t){const r=U(e==null?void 0:e.source);return r?K(r,t):void 0}function le({explicitSource:e,field:t,defaultSource:r,fallbackSources:a}){const o=[r,...a||[]],i=U(e),n=i?K(i,oe(i,o)):void 0;if(n)return n;if(e!==void 0)return;const d=v(t,r),s=d?K(d,oe(d,o)):void 0;if(s)return s;if((t==null?void 0:t.source)===void 0)return U(r)}function xe(e,t){if(!(e!=null&&e.name)||!(t!=null&&t.name)||e.name!==t.name)return!1;const r=v(e),a=v(t);return!r||!a?!0:Y(r,a)}function x(e){var t;return T((t=S(e))==null?void 0:t.kind)}function ue(e){var t,r;return x(e)!=="semantic"?null:((r=T((t=S(e))==null?void 0:t.domainId))==null?void 0:r.trim())||null}function Re(e){var t;return x(e)!=="semantic"?null:T((t=S(e))==null?void 0:t.datasetName)}function Me(e){var t;return x(e)!=="semantic"?null:T((t=S(e))==null?void 0:t.datasetId)}function Ne(e){var t;return x(e)!=="physical"?null:T((t=S(e))==null?void 0:t.connectionId)}function Oe(e){var t;return x(e)!=="physical"?null:T((t=S(e))==null?void 0:t.tableName)}function Be(e){var t;return x(e)!=="physical"?"":T((t=S(e))==null?void 0:t.databaseName)||""}function $e(e){var t;return x(e)!=="physical"?"":T((t=S(e))==null?void 0:t.schemaName)||""}function pe(e){if(e.analyticsIntent&&typeof e.analyticsIntent=="object"&&"source"in e.analyticsIntent)return e.analyticsIntent.source}function fe({datasets:e,requireAtLeastOne:t}){if(t&&e.length<1)return{ok:!1,issue:"invalid_dataset_count"};if(e.length<=1)return{ok:!0};const r=e.map(ue),a=new Set(r.filter(Boolean));return r.some(o=>!o)||a.size!==1?{ok:!1,issue:"invalid_multi_dataset_scope"}:{ok:!0}}function z(e,t){if(!t)return!1;if(t.kind==="semantic"){const r=Me(e);return ue(e)===t.domainId?r&&t.datasetId?r===t.datasetId:Re(e)===t.datasetName:!1}return t.kind==="physical"?Ne(e)===t.connectionId&&Oe(e)===t.tableName&&Be(e)===(t.databaseName||"")&&$e(e)===(t.schemaName||""):!1}function Pe(e,t){return e.find(r=>z(r,t))}function f(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function E(e){const t=new Set;for(const r of e){if(t.has(r))return r;t.add(r)}return null}function he({card:e,datasets:t,errors:r}){if(e.type==="text")return;const a=pe(e);if(!a){if(t.length<=1)return;r.push(f("missing_card_analytics_source","Multi-dataset dashboard cards must include analytics intent with a source so the materializer can choose the correct dataset.",e.id));return}t.some(o=>z(o,a))||r.push(f("invalid_card_analytics_source","Dashboard cards with an explicit analytics source must use one of the selected datasets.",e.id))}function q(e){return e.map(t=>t==null?void 0:t.source).filter(t=>!!t)}function L(e){return Array.isArray(e)?e.filter(t=>!!(t&&typeof t=="object")):[]}function se(e){return Array.isArray(e)?e.filter(t=>!!(t&&typeof t=="object")):[]}function Ee(e){var r,a;if(!e)return[];const t=[e.source];return e.kind==="metric"?t.push(...q([...L(e.measures),e.primaryMeasure,e.dateField,...L(e.dimensions),...se(e.filters).map(o=>o.field)])):e.kind==="records"?t.push(...q([...L(e.fields),e.dateField,(r=e.orderBy)==null?void 0:r.field,...se(e.filters).map(o=>o.field)])):e.kind==="inputOptions"?(((a=e.population)==null?void 0:a.kind)==="related_population"&&t.push(e.population.baseSource),t.push(...q([e.labelField,e.valueField,e.searchField,...e.disambiguationFields||[]]))):e.kind==="sql"&&t.push(...q(e.fields||[])),t}function me({card:e,datasets:t,errors:r}){if(e.type!=="text"){for(const a of Ee(e.analyticsIntent))if(a&&!t.some(o=>z(o,a))){r.push(f("invalid_card_query_source","Dashboard card query field references must use one of the selected datasets.",e.id));return}}}function be({card:e,errors:t}){if(e.type==="text"||!e.analyticsIntent)return;const r=w.validateSemaphorAnalyticsIntent(e.analyticsIntent);if(!r.ok)for(const a of r.errors)t.push(f(a.code,a.path?`${a.path}: ${a.message}`:a.message,e.id))}function ge({datasets:e,errors:t,requireAtLeastOne:r}){const a=fe({datasets:e,requireAtLeastOne:r});if(!a.ok){if(a.issue==="invalid_dataset_count"){t.push(f("invalid_dataset_count","Dashboard authoring requires at least one selected dataset."));return}t.push(f("invalid_multi_dataset_scope","Multi-dataset dashboard authoring is limited to semantic datasets from one domain."))}}function Ie({input:e,errors:t}){var r;(r=e.filter.sql)!=null&&r.trim()&&t.push(f("generated_filter_sql_out_of_scope",`Generated dashboard filter "${e.label}" must use grounded filter configuration; custom SQL is outside the dashboard-authoring contract.`))}function ye(e){var p,g;const t=[];if(!e||typeof e!="object")return{ok:!1,errors:[f("invalid_plan","Dashboard plan must be a structured object.")],warnings:[]};const r=e,a=[...r.warnings||[]];r.version!==1&&t.push(f("invalid_version","Dashboard plan version must be 1.")),(p=r.title)!=null&&p.trim()||t.push(f("missing_title","Dashboard plan needs a title."));const o=Array.isArray(r.datasets)?r.datasets:[],i=Array.isArray(r.sheets)?r.sheets:[];ge({datasets:o,errors:t,requireAtLeastOne:!0}),i.length!==1&&t.push(f("invalid_sheet_count","MVP dashboard authoring creates exactly one dashboard sheet."));const n=i[0];n&&n.kind!=="dashboard"&&t.push(f("invalid_sheet_kind",'Generated sheet must use kind "dashboard".'));const d=(n==null?void 0:n.cards)||[];d.length>k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS&&t.push(f("too_many_cards",`Generated dashboards can contain at most ${k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS} cards.`));const s=E(d.map(l=>l.id));s&&t.push(f("duplicate_card_id",`Duplicate generated card id: ${s}.`));const u=E(d.map(l=>l.frameId));u&&t.push(f("duplicate_frame_id",`Duplicate generated frame id: ${u}.`));for(const l of d)(g=l.title)!=null&&g.trim()||t.push(f("missing_card_title","Card title is required.",l.id)),l.type==="custom"&&t.push(f("custom_visual_out_of_scope","Whole-dashboard authoring supports built-in visual types only.",l.id)),l.type!=="text"&&!l.analyticsIntent&&a.push(f("missing_analytics_intent","Non-text card has no analytics intent and may be skipped by the app layer.",l.id)),he({card:l,datasets:o,errors:t}),be({card:l,errors:t}),me({card:l,datasets:o,errors:t});const m=Array.isArray(r.filterInputs)?r.filterInputs:[],y=m.map(l=>l.id),A=E(y);A&&t.push(f("duplicate_input_id",`Duplicate dashboard input id: ${A}.`));const C=m.map(l=>l.variableName).filter(Boolean)||[],_=E(C);_&&t.push(f("duplicate_input_variable",`Duplicate dashboard input variable name: ${_}.`));for(const l of m)Ie({input:l,errors:t});const c=Array.isArray(r.calculatedFields)?r.calculatedFields:[];for(const l of c)l.scope==="domain"&&l.reuseOnly!==!0&&t.push(f("domain_calculated_field_create_out_of_scope",`Creating domain calculated field "${l.name}" is outside MVP.`));return{ok:t.length===0,errors:t,warnings:a}}function _e(e){var n;const t=[];if(!e||typeof e!="object")return{ok:!1,errors:[f("invalid_change_plan","Dashboard change plan must be a structured object.")],warnings:[]};const r=e,a=[...r.warnings||[]];r.version!==1&&t.push(f("invalid_version","Dashboard change plan version must be 1.")),(n=r.dashboardId)!=null&&n.trim()||t.push(f("missing_dashboard_id","Dashboard change plan needs a dashboard id."));const o=Array.isArray(r.datasets)?r.datasets:[],i=Array.isArray(r.operations)?r.operations:[];ge({datasets:o,errors:t,requireAtLeastOne:!1});for(const d of i){if(d.kind==="unsupported"){a.push(f("unsupported_operation",d.reason||d.requestedAction));continue}d.kind==="addCard"&&d.card.type==="custom"&&t.push(f("custom_visual_out_of_scope","Whole-dashboard authoring supports built-in visual types only.",d.card.id)),d.kind==="addCard"&&(he({card:d.card,datasets:o,errors:t}),be({card:d.card,errors:t}),me({card:d.card,datasets:o,errors:t})),d.kind==="addFilterInput"&&Ie({input:d.input,errors:t}),d.kind==="addCalculatedField"&&d.field.scope==="domain"&&d.field.reuseOnly!==!0&&t.push(f("domain_calculated_field_create_out_of_scope",`Creating domain calculated field "${d.field.name}" is outside MVP.`))}return{ok:t.length===0,errors:t,warnings:a}}const qe={lg:48,md:36,sm:24,xs:12,xxs:6};function ze(e,t){let r=0,a=0,o=0;return e.map(i=>{const n=Math.min(i.w,t);r>0&&r+n>t&&(r=0,a+=o,o=0);const d={i:i.frameId,x:r,y:a,w:n,h:i.h,minW:Math.min(i.minW,t),minH:i.minH,static:!1};return r+=n,o=Math.max(o,i.h),d})}function Ve(e){const t=[...e].sort((s,u)=>s.priority-u.priority),r=t.filter(s=>s.role==="kpi"),a=t.filter(s=>s.role==="chart"),o=t.filter(s=>s.role==="table"),i=t.filter(s=>s.role==="text"),n=i.slice(0,1),d=i.slice(n.length);return{kpis:r,introText:n,charts:a,tables:o,supportingText:d}}function He(e,t,r){return t==="xxs"||t==="xs"?r:t==="sm"?Math.min(12,r):t==="md"?e<=1||e===2?18:12:e<=1||e===2?24:e===3?16:12}function Le(e,t,r,a){return r==="xxs"||r==="xs"||r==="sm"||r==="md"||t===1||t%2===1&&e===0?a:a/2}function je(e){const{item:t,band:r,index:a,bandCount:o,breakpoint:i,columns:n}=e;return r==="kpi"?{...t,band:r,w:He(o,i,n),h:15,minW:Math.min(6,n),minH:12}:r==="table"?{...t,band:r,w:n,h:i==="xxs"||i==="xs"?34:38,minW:Math.min(12,n),minH:18}:r==="introText"?{...t,band:r,w:n,h:i==="xxs"||i==="xs"?12:10,minW:Math.min(12,n),minH:8}:r==="supportingText"?{...t,band:r,w:i==="lg"?n/2:n,h:i==="xxs"||i==="xs"?12:10,minW:Math.min(12,n),minH:8}:{...t,band:r,w:Le(a,o,i,n),h:i==="xxs"||i==="xs"?28:30,minW:Math.min(12,n),minH:16}}function N(e,t,r,a){return e.map((o,i)=>je({item:o,band:t,index:i,bandCount:e.length,breakpoint:r,columns:a}))}function V(e){const t=Ve(e);return Object.fromEntries(k.DASHBOARD_AUTHORING_BREAKPOINTS.map(r=>{const a=qe[r],o=[...N(t.introText,"introText",r,a),...N(t.kpis,"kpi",r,a),...N(t.charts,"chart",r,a),...N(t.tables,"table",r,a),...N(t.supportingText,"supportingText",r,a)];return[r,ze(o,a)]}))}function Ge(e){const t=w.normalizeAnalyticsCatalogDataType(e);return t==="datetime"?"date":t==="unknown"?"string":t}function Ke(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Ue(e){return Ke(e)&&typeof e.filterId=="string"&&typeof e.operation=="string"&&Array.isArray(e.values)}function We(e){return e.filter(t=>typeof t=="string"||typeof t=="number")}function Xe(e){return e.filter(t=>t instanceof Date||typeof t=="string")}function Q(e,t){if(t===void 0)return;const r=Ge(e.dataType),a=e.operation||"in";if(Ue(t))return h.materializeFilterValueNativeDataType({definition:e,sourceValue:t,value:{...t,filterId:e.id,name:t.name||e.column,valueType:r,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}});if(a==="is null"||a==="is not null")return h.materializeFilterValueNativeDataType({definition:e,value:{filterId:e.id,name:e.column,operation:a,valueType:r,values:[],dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}});const o=Array.isArray(t)?t:[t],i=r==="date"?Xe(o):We(o);if(i.length!==0&&!((a==="between"||a==="not between")&&i.length<2))return h.materializeFilterValueNativeDataType({definition:e,value:{filterId:e.id,name:e.column,operation:a,valueType:r,values:i,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}})}function Se(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function Ye(e,t,r){const a=(t||[]).filter(o=>o.scope==="card"&&o.targetCardId===r).map(o=>o.field).filter(Boolean);return a.length===0?e:{...e,calculatedFields:[...e.calculatedFields||[],...a]}}function W(e,t){return Array.from(new Set((e||[]).map(r=>t.get(r)).filter(r=>!!r)))}function Qe(e,t){if((e==null?void 0:e.kind)!=="cards")return e;const r=W(e.cardIds,t);return r.length>0?{...e,cardIds:r}:null}function Je(e,t){return!e.applyToCardIds&&!e.excludeCardIds?e:{...e,...e.applyToCardIds?{applyToCardIds:W(e.applyToCardIds,t)}:{},...e.excludeCardIds?{excludeCardIds:W(e.excludeCardIds,t)}:{}}}function Ze(e,t){const r={},a=[];return{inputs:(e.filterInputs||[]).flatMap((i,n)=>{const d=Qe(i.scope,t);if(d===null)return a.push(Se("filter_input_scope_empty",`Filter input "${i.label}" was skipped because all scoped cards were skipped during query validation.`)),[];const s=Q(i.filter,i.defaultValue);return s&&(r.shared??(r.shared={}),r.shared[i.id]={status:"set",value:{kind:"filter",filterValue:s}}),[{id:i.id,kind:"filter",label:i.label,variableName:i.variableName,scope:d||{kind:"allSheets",sheetKinds:["dashboard"]},runtimeScope:"shared",presentation:{placement:"toolbar",order:n},exports:["label","value","start","end","range"],filter:Je(i.filter,t)}]}),warnings:a,defaultInputValues:r.shared&&Object.keys(r.shared).length>0?r:void 0}}function et(e){var C,_;const t=ye(e.plan);if(!t.ok)throw new Error(t.errors.map(c=>c.message).join(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("../chunks/contracts-CtB2VONT.cjs"),D=require("../chunks/temporal-bucket-authoring-DueSgLJU.cjs"),w=require("../chunks/validators-DqIM0B3C.cjs");require("../chunks/analyze-result-contract-BX_nQmPN.cjs");require("../value-format-preferences/index.cjs");const h=require("../chunks/dashboard-filter-value-compatibility-ByT__CYM.cjs"),Te=require("../chunks/operators-DrTQsJXv.cjs"),X=require("../chunks/canonical-result-keys-Cb96edol.cjs");function S(e){return e&&typeof e=="object"?e:null}function T(e){return typeof e=="string"?e:null}function de(e){var t,r,a;return!!(e&&typeof e=="object")&&(((t=S(e))==null?void 0:t.kind)==="semantic"||((r=S(e))==null?void 0:r.kind)==="physical"||((a=S(e))==null?void 0:a.kind)==="sql")}function M(e){return de(e)?e.kind==="semantic"?!!(e.domainId&&e.datasetName):e.kind==="physical"?!!(e.connectionId&&e.tableName):!1:!1}function Fe(e){return w.semaphorSourceIdentityKey(e)}function Y(e,t){return w.semaphorSourcesReferToSameDataset(e,t)}function ce(e,t){return w.preferSemaphorSourceMetadata(e,t)}function B(e){const t=[];for(const r of e){const a=t.findIndex(o=>Y(o,r));a===-1?t.push(r):t[a]=ce(t[a],r)}return t}function ke(e){return B(e)[0]}function K(e,t){return e.kind!=="semantic"||e.connectionId||(t==null?void 0:t.kind)!=="semantic"||!w.semaphorSourcesReferToSameDataset(e,t)||!t.connectionId?e:{...e,connectionId:t.connectionId}}function U(e){return M(e)?e:void 0}function oe(e,t){if(!(e.kind!=="semantic"||e.connectionId))return t.find(r=>(r==null?void 0:r.kind)==="semantic"&&w.semaphorSourcesReferToSameDataset(e,r)&&!!r.connectionId)}function v(e,t){const r=U(e==null?void 0:e.source);return r?K(r,t):void 0}function le({explicitSource:e,field:t,defaultSource:r,fallbackSources:a}){const o=[r,...a||[]],i=U(e),n=i?K(i,oe(i,o)):void 0;if(n)return n;if(e!==void 0)return;const d=v(t,r),s=d?K(d,oe(d,o)):void 0;if(s)return s;if((t==null?void 0:t.source)===void 0)return U(r)}function xe(e,t){if(!(e!=null&&e.name)||!(t!=null&&t.name)||e.name!==t.name)return!1;const r=v(e),a=v(t);return!r||!a?!0:Y(r,a)}function x(e){var t;return T((t=S(e))==null?void 0:t.kind)}function ue(e){var t,r;return x(e)!=="semantic"?null:((r=T((t=S(e))==null?void 0:t.domainId))==null?void 0:r.trim())||null}function Re(e){var t;return x(e)!=="semantic"?null:T((t=S(e))==null?void 0:t.datasetName)}function Me(e){var t;return x(e)!=="semantic"?null:T((t=S(e))==null?void 0:t.datasetId)}function Ne(e){var t;return x(e)!=="physical"?null:T((t=S(e))==null?void 0:t.connectionId)}function Oe(e){var t;return x(e)!=="physical"?null:T((t=S(e))==null?void 0:t.tableName)}function Be(e){var t;return x(e)!=="physical"?"":T((t=S(e))==null?void 0:t.databaseName)||""}function $e(e){var t;return x(e)!=="physical"?"":T((t=S(e))==null?void 0:t.schemaName)||""}function pe(e){if(e.analyticsIntent&&typeof e.analyticsIntent=="object"&&"source"in e.analyticsIntent)return e.analyticsIntent.source}function fe({datasets:e,requireAtLeastOne:t}){if(t&&e.length<1)return{ok:!1,issue:"invalid_dataset_count"};if(e.length<=1)return{ok:!0};const r=e.map(ue),a=new Set(r.filter(Boolean));return r.some(o=>!o)||a.size!==1?{ok:!1,issue:"invalid_multi_dataset_scope"}:{ok:!0}}function z(e,t){if(!t)return!1;if(t.kind==="semantic"){const r=Me(e);return ue(e)===t.domainId?r&&t.datasetId?r===t.datasetId:Re(e)===t.datasetName:!1}return t.kind==="physical"?Ne(e)===t.connectionId&&Oe(e)===t.tableName&&Be(e)===(t.databaseName||"")&&$e(e)===(t.schemaName||""):!1}function Pe(e,t){return e.find(r=>z(r,t))}function f(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function E(e){const t=new Set;for(const r of e){if(t.has(r))return r;t.add(r)}return null}function he({card:e,datasets:t,errors:r}){if(e.type==="text")return;const a=pe(e);if(!a){if(t.length<=1)return;r.push(f("missing_card_analytics_source","Multi-dataset dashboard cards must include analytics intent with a source so the materializer can choose the correct dataset.",e.id));return}t.some(o=>z(o,a))||r.push(f("invalid_card_analytics_source","Dashboard cards with an explicit analytics source must use one of the selected datasets.",e.id))}function q(e){return e.map(t=>t==null?void 0:t.source).filter(t=>!!t)}function L(e){return Array.isArray(e)?e.filter(t=>!!(t&&typeof t=="object")):[]}function se(e){return Array.isArray(e)?e.filter(t=>!!(t&&typeof t=="object")):[]}function Ee(e){var r,a;if(!e)return[];const t=[e.source];return e.kind==="metric"?t.push(...q([...L(e.measures),e.primaryMeasure,e.dateField,...L(e.dimensions),...se(e.filters).map(o=>o.field)])):e.kind==="records"?t.push(...q([...L(e.fields),e.dateField,(r=e.orderBy)==null?void 0:r.field,...se(e.filters).map(o=>o.field)])):e.kind==="inputOptions"?(((a=e.population)==null?void 0:a.kind)==="related_population"&&t.push(e.population.baseSource),t.push(...q([e.labelField,e.valueField,e.searchField,...e.disambiguationFields||[]]))):e.kind==="sql"&&t.push(...q(e.fields||[])),t}function me({card:e,datasets:t,errors:r}){if(e.type!=="text"){for(const a of Ee(e.analyticsIntent))if(a&&!t.some(o=>z(o,a))){r.push(f("invalid_card_query_source","Dashboard card query field references must use one of the selected datasets.",e.id));return}}}function be({card:e,errors:t}){if(e.type==="text"||!e.analyticsIntent)return;const r=w.validateSemaphorAnalyticsIntent(e.analyticsIntent);if(!r.ok)for(const a of r.errors)t.push(f(a.code,a.path?`${a.path}: ${a.message}`:a.message,e.id))}function ge({datasets:e,errors:t,requireAtLeastOne:r}){const a=fe({datasets:e,requireAtLeastOne:r});if(!a.ok){if(a.issue==="invalid_dataset_count"){t.push(f("invalid_dataset_count","Dashboard authoring requires at least one selected dataset."));return}t.push(f("invalid_multi_dataset_scope","Multi-dataset dashboard authoring is limited to semantic datasets from one domain."))}}function Ie({input:e,errors:t}){var r;(r=e.filter.sql)!=null&&r.trim()&&t.push(f("generated_filter_sql_out_of_scope",`Generated dashboard filter "${e.label}" must use grounded filter configuration; custom SQL is outside the dashboard-authoring contract.`))}function ye(e){var p,g;const t=[];if(!e||typeof e!="object")return{ok:!1,errors:[f("invalid_plan","Dashboard plan must be a structured object.")],warnings:[]};const r=e,a=[...r.warnings||[]];r.version!==1&&t.push(f("invalid_version","Dashboard plan version must be 1.")),(p=r.title)!=null&&p.trim()||t.push(f("missing_title","Dashboard plan needs a title."));const o=Array.isArray(r.datasets)?r.datasets:[],i=Array.isArray(r.sheets)?r.sheets:[];ge({datasets:o,errors:t,requireAtLeastOne:!0}),i.length!==1&&t.push(f("invalid_sheet_count","MVP dashboard authoring creates exactly one dashboard sheet."));const n=i[0];n&&n.kind!=="dashboard"&&t.push(f("invalid_sheet_kind",'Generated sheet must use kind "dashboard".'));const d=(n==null?void 0:n.cards)||[];d.length>k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS&&t.push(f("too_many_cards",`Generated dashboards can contain at most ${k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS} cards.`));const s=E(d.map(l=>l.id));s&&t.push(f("duplicate_card_id",`Duplicate generated card id: ${s}.`));const u=E(d.map(l=>l.frameId));u&&t.push(f("duplicate_frame_id",`Duplicate generated frame id: ${u}.`));for(const l of d)(g=l.title)!=null&&g.trim()||t.push(f("missing_card_title","Card title is required.",l.id)),l.type==="custom"&&t.push(f("custom_visual_out_of_scope","Whole-dashboard authoring supports built-in visual types only.",l.id)),l.type!=="text"&&!l.analyticsIntent&&a.push(f("missing_analytics_intent","Non-text card has no analytics intent and may be skipped by the app layer.",l.id)),he({card:l,datasets:o,errors:t}),be({card:l,errors:t}),me({card:l,datasets:o,errors:t});const m=Array.isArray(r.filterInputs)?r.filterInputs:[],y=m.map(l=>l.id),A=E(y);A&&t.push(f("duplicate_input_id",`Duplicate dashboard input id: ${A}.`));const C=m.map(l=>l.variableName).filter(Boolean)||[],_=E(C);_&&t.push(f("duplicate_input_variable",`Duplicate dashboard input variable name: ${_}.`));for(const l of m)Ie({input:l,errors:t});const c=Array.isArray(r.calculatedFields)?r.calculatedFields:[];for(const l of c)l.scope==="domain"&&l.reuseOnly!==!0&&t.push(f("domain_calculated_field_create_out_of_scope",`Creating domain calculated field "${l.name}" is outside MVP.`));return{ok:t.length===0,errors:t,warnings:a}}function _e(e){var n;const t=[];if(!e||typeof e!="object")return{ok:!1,errors:[f("invalid_change_plan","Dashboard change plan must be a structured object.")],warnings:[]};const r=e,a=[...r.warnings||[]];r.version!==1&&t.push(f("invalid_version","Dashboard change plan version must be 1.")),(n=r.dashboardId)!=null&&n.trim()||t.push(f("missing_dashboard_id","Dashboard change plan needs a dashboard id."));const o=Array.isArray(r.datasets)?r.datasets:[],i=Array.isArray(r.operations)?r.operations:[];ge({datasets:o,errors:t,requireAtLeastOne:!1});for(const d of i){if(d.kind==="unsupported"){a.push(f("unsupported_operation",d.reason||d.requestedAction));continue}d.kind==="addCard"&&d.card.type==="custom"&&t.push(f("custom_visual_out_of_scope","Whole-dashboard authoring supports built-in visual types only.",d.card.id)),d.kind==="addCard"&&(he({card:d.card,datasets:o,errors:t}),be({card:d.card,errors:t}),me({card:d.card,datasets:o,errors:t})),d.kind==="addFilterInput"&&Ie({input:d.input,errors:t}),d.kind==="addCalculatedField"&&d.field.scope==="domain"&&d.field.reuseOnly!==!0&&t.push(f("domain_calculated_field_create_out_of_scope",`Creating domain calculated field "${d.field.name}" is outside MVP.`))}return{ok:t.length===0,errors:t,warnings:a}}const qe={lg:48,md:36,sm:24,xs:12,xxs:6};function ze(e,t){let r=0,a=0,o=0;return e.map(i=>{const n=Math.min(i.w,t);r>0&&r+n>t&&(r=0,a+=o,o=0);const d={i:i.frameId,x:r,y:a,w:n,h:i.h,minW:Math.min(i.minW,t),minH:i.minH,static:!1};return r+=n,o=Math.max(o,i.h),d})}function Ve(e){const t=[...e].sort((s,u)=>s.priority-u.priority),r=t.filter(s=>s.role==="kpi"),a=t.filter(s=>s.role==="chart"),o=t.filter(s=>s.role==="table"),i=t.filter(s=>s.role==="text"),n=i.slice(0,1),d=i.slice(n.length);return{kpis:r,introText:n,charts:a,tables:o,supportingText:d}}function He(e,t,r){return t==="xxs"||t==="xs"?r:t==="sm"?Math.min(12,r):t==="md"?e<=1||e===2?18:12:e<=1||e===2?24:e===3?16:12}function Le(e,t,r,a){return r==="xxs"||r==="xs"||r==="sm"||r==="md"||t===1||t%2===1&&e===0?a:a/2}function je(e){const{item:t,band:r,index:a,bandCount:o,breakpoint:i,columns:n}=e;return r==="kpi"?{...t,band:r,w:He(o,i,n),h:15,minW:Math.min(6,n),minH:12}:r==="table"?{...t,band:r,w:n,h:i==="xxs"||i==="xs"?34:38,minW:Math.min(12,n),minH:18}:r==="introText"?{...t,band:r,w:n,h:i==="xxs"||i==="xs"?12:10,minW:Math.min(12,n),minH:8}:r==="supportingText"?{...t,band:r,w:i==="lg"?n/2:n,h:i==="xxs"||i==="xs"?12:10,minW:Math.min(12,n),minH:8}:{...t,band:r,w:Le(a,o,i,n),h:i==="xxs"||i==="xs"?28:30,minW:Math.min(12,n),minH:16}}function N(e,t,r,a){return e.map((o,i)=>je({item:o,band:t,index:i,bandCount:e.length,breakpoint:r,columns:a}))}function V(e){const t=Ve(e);return Object.fromEntries(k.DASHBOARD_AUTHORING_BREAKPOINTS.map(r=>{const a=qe[r],o=[...N(t.introText,"introText",r,a),...N(t.kpis,"kpi",r,a),...N(t.charts,"chart",r,a),...N(t.tables,"table",r,a),...N(t.supportingText,"supportingText",r,a)];return[r,ze(o,a)]}))}function Ge(e){const t=w.normalizeAnalyticsCatalogDataType(e);return t==="datetime"?"date":t==="unknown"?"string":t}function Ke(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Ue(e){return Ke(e)&&typeof e.filterId=="string"&&typeof e.operation=="string"&&Array.isArray(e.values)}function We(e){return e.filter(t=>typeof t=="string"||typeof t=="number")}function Xe(e){return e.filter(t=>t instanceof Date||typeof t=="string")}function Q(e,t){if(t===void 0)return;const r=Ge(e.dataType),a=e.operation||"in";if(Ue(t))return h.materializeFilterValueNativeDataType({definition:e,sourceValue:t,value:{...t,filterId:e.id,name:t.name||e.column,valueType:r,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}});if(a==="is null"||a==="is not null")return h.materializeFilterValueNativeDataType({definition:e,value:{filterId:e.id,name:e.column,operation:a,valueType:r,values:[],dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}});const o=Array.isArray(t)?t:[t],i=r==="date"?Xe(o):We(o);if(i.length!==0&&!((a==="between"||a==="not between")&&i.length<2))return h.materializeFilterValueNativeDataType({definition:e,value:{filterId:e.id,name:e.column,operation:a,valueType:r,values:i,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}})}function Se(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function Ye(e,t,r){const a=(t||[]).filter(o=>o.scope==="card"&&o.targetCardId===r).map(o=>o.field).filter(Boolean);return a.length===0?e:{...e,calculatedFields:[...e.calculatedFields||[],...a]}}function W(e,t){return Array.from(new Set((e||[]).map(r=>t.get(r)).filter(r=>!!r)))}function Qe(e,t){if((e==null?void 0:e.kind)!=="cards")return e;const r=W(e.cardIds,t);return r.length>0?{...e,cardIds:r}:null}function Je(e,t){return!e.applyToCardIds&&!e.excludeCardIds?e:{...e,...e.applyToCardIds?{applyToCardIds:W(e.applyToCardIds,t)}:{},...e.excludeCardIds?{excludeCardIds:W(e.excludeCardIds,t)}:{}}}function Ze(e,t){const r={},a=[];return{inputs:(e.filterInputs||[]).flatMap((i,n)=>{const d=Qe(i.scope,t);if(d===null)return a.push(Se("filter_input_scope_empty",`Filter input "${i.label}" was skipped because all scoped cards were skipped during query validation.`)),[];const s=Q(i.filter,i.defaultValue);return s&&(r.shared??(r.shared={}),r.shared[i.id]={status:"set",value:{kind:"filter",filterValue:s}}),[{id:i.id,kind:"filter",label:i.label,variableName:i.variableName,scope:d||{kind:"allSheets",sheetKinds:["dashboard"]},runtimeScope:"shared",presentation:{placement:"toolbar",order:n},exports:["label","value","start","end","range"],filter:Je(i.filter,t)}]}),warnings:a,defaultInputValues:r.shared&&Object.keys(r.shared).length>0?r:void 0}}function et(e){var C,_;const t=ye(e.plan);if(!t.ok)throw new Error(t.errors.map(c=>c.message).join(`
2
2
  `)||"Dashboard plan is invalid.");const r=e.plan.sheets[0],a=[...t.warnings],o=[],i=new Map(e.cardArtifacts.map(c=>[c.planCardId,c])),n=new Map(e.cardArtifacts.map(c=>[c.planCardId,c.card.id])),d=[];for(const c of r.cards){const p=i.get(c.id);if(!p){const l=Se("missing_card_artifact",`Card "${c.title}" was skipped because no generated artifact was supplied.`,c.id);o.push(l);continue}a.push(...p.warnings||[]);const g=Ye(p.card,e.plan.calculatedFields,c.id);d.push({id:c.frameId,cards:[g],activeCardId:g.id})}if(d.length===0)throw new Error("Dashboard plan did not produce any persistable cards.");const{inputs:s,defaultInputValues:u,warnings:m}=Ze(e.plan,n);a.push(...m);const y=V(r.cards.filter(c=>d.some(p=>p.id===c.frameId)).map(c=>({frameId:c.frameId,priority:c.priority,role:c.role})));return{dashboard:{id:e.dashboardId,title:e.plan.title,description:e.plan.description||"",sheets:[{id:r.id,kind:"dashboard",title:r.title,description:r.description,frames:d,layouts:y,calculatedFields:(C=e.plan.calculatedFields)==null?void 0:C.filter(c=>c.scope==="sheet"&&c.field).map(c=>c.field)}],calculatedFields:(_=e.plan.calculatedFields)==null?void 0:_.filter(c=>c.scope==="dashboard"&&c.field).map(c=>c.field),inputs:s,...u?{defaultInputValues:u}:{}},warnings:a,skippedOperations:o}}function R(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function tt(e){return JSON.parse(JSON.stringify(e))}function rt(e){var t;return(t=e.sheets)==null?void 0:t.find(r=>(r.kind||"dashboard")==="dashboard")}function j(e,t){var r;for(const a of e.sheets||[])for(const o of a.frames||[]){const i=(r=o.cards)==null?void 0:r.find(n=>n.id===t);if(i)return{sheet:a,frame:o,card:i}}return null}function De(e){var r,a;const t=(a=(r=e.cards)==null?void 0:r[0])==null?void 0:a.type;return t==="kpi"?"kpi":t==="table"||t==="detailTable"||t==="pivotTable"?"table":t==="text"?"text":"chart"}function at(e){var t;return new Map((((t=e.layouts)==null?void 0:t.lg)||[]).map((r,a)=>[r.i,a]))}function Ae(e,t=new Map){const r=at(e),a=Math.max(r.size,t.size),o=(e.frames||[]).map((i,n)=>({frameId:i.id,role:De(i),priority:t.get(i.id)??r.get(i.id)??a+n}));e.layouts=V(o)}function nt(e){return Object.values(e.layouts||{}).some(t=>t.length>0)}function it(e,t){if(!nt(e)){Ae(e);return}const r=V([{frameId:t.id,role:De(t),priority:0}]);e.layouts??(e.layouts={});for(const[a,o]of Object.entries(r)){const i=e.layouts[a]||[];if(i.some(s=>s.i===t.id))continue;const n=o[0];if(!n)continue;const d=i.reduce((s,u)=>Math.max(s,u.y+u.h),0);e.layouts[a]=[...i,{...n,y:d}]}}function ot(e,t){var a;const r=Q(t.filter,t.defaultValue);r&&(e.defaultInputValues??(e.defaultInputValues={}),(a=e.defaultInputValues).shared??(a.shared={}),e.defaultInputValues.shared[t.id]={status:"set",value:{kind:"filter",filterValue:r}})}function st(e){var d;const t=_e(e.changePlan);if(!t.ok)throw new Error(t.errors.map(s=>s.message).join(`
3
3
  `)||"Dashboard change plan is invalid.");const r=tt(e.dashboard),a=[...t.warnings],o=[],i=new Map(e.cardArtifacts.map(s=>[s.planCardId,s])),n=rt(r);if(!n)throw new Error("Dashboard has no editable dashboard sheet.");n.frames??(n.frames=[]);for(const s of e.changePlan.operations)switch(s.kind){case"addCard":{if((n.frames||[]).reduce((A,C)=>{var _;return A+(((_=C.cards)==null?void 0:_.length)||0)},0)>=k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS){o.push(R("generated_card_limit_reached",`AI refinement is capped at ${k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS} cards.`,s.card.id));break}const m=i.get(s.card.id);if(!m){o.push(R("missing_card_artifact",`Card "${s.card.title}" was skipped because no generated artifact was supplied.`,s.card.id));break}const y={id:s.card.frameId,cards:[m.card],activeCardId:m.card.id};n.frames.push(y),it(n,y);break}case"addFilterInput":{r.inputs??(r.inputs=[]);const u={id:s.input.id,kind:"filter",label:s.input.label,variableName:s.input.variableName,scope:s.input.scope||{kind:"allSheets",sheetKinds:["dashboard"]},runtimeScope:"shared",presentation:{placement:"toolbar",order:r.inputs.length},exports:["label","value","start","end","range"],filter:s.input.filter};r.inputs.push(u),ot(r,s.input);break}case"addCalculatedField":{if(s.field.scope==="dashboard"&&s.field.field)r.calculatedFields??(r.calculatedFields=[]),r.calculatedFields.push(s.field.field);else if(s.field.scope==="sheet"&&s.field.field)n.calculatedFields??(n.calculatedFields=[]),n.calculatedFields.push(s.field.field);else if(s.field.scope==="card"&&s.field.field){const u=s.field.targetCardId?j(r,s.field.targetCardId):null;u?((d=u.card).calculatedFields??(d.calculatedFields=[]),u.card.calculatedFields.push(s.field.field)):o.push(R("missing_calculated_field_target",`Calculated field "${s.field.name}" needs a valid target card.`))}break}case"renameCard":{const u=j(r,s.cardId);if(!u){o.push(R("card_not_found",`Card "${s.cardId}" could not be renamed because it was not found.`,s.cardId));break}u.card.title=s.title,s.description!==void 0&&(u.card.description=s.description);break}case"reorderCards":{const u=new Map;for(let m=0;m<s.cardIds.length;m+=1){const y=s.cardIds[m],A=j(r,y);A&&u.set(A.frame.id,m)}Ae(n,u);break}case"reuseCalculatedField":a.push(R("reused_calculated_field",`Calculated field "${s.fieldId}" is reused by reference.`));break;case"unsupported":o.push(R("unsupported_operation",s.reason||s.requestedAction));break}return{dashboard:r,warnings:a,skippedOperations:o}}function I(e,t,r){return r?{code:e,message:t,cardId:r}:{code:e,message:t}}function O(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function Ce(e,t){if(!t.has(e))return t.add(e),e;let r=2,a=`${e}-${r}`;for(;t.has(a);)r+=1,a=`${e}-${r}`;return t.add(a),a}function $(e){return!!(e&&typeof e=="object")}function ve(e){return Array.isArray(e.inputs)?e.inputs.filter(t=>$(t)&&typeof t.id=="string"):[]}function J(e){return Array.isArray(e.sections)?e.sections.filter(t=>$(t)):[]}function Z(e){return Array.isArray(e.views)?e.views.filter(t=>$(t)):[]}function F(e){if(!Array.isArray(e))return[];const t=[];for(const r of e){const a=v(r);a&&t.push(a)}return t}function dt(e){var a,o,i;if(!e)return[];const t=[];if(M(e.source)&&t.push(e.source),e.kind==="metric"){t.push(...F(e.measures));const n=v(e.dateField);n&&t.push(n),t.push(...F(e.dimensions)),t.push(...F((a=e.filters)==null?void 0:a.map(d=>d.field)))}else if(e.kind==="records"){const n=v(e.dateField);n&&t.push(n),t.push(...F(e.fields)),t.push(...F((o=e.filters)==null?void 0:o.map(d=>d.field)))}else e.kind==="inputOptions"?(((i=e.population)==null?void 0:i.kind)==="related_population"&&M(e.population.baseSource)&&t.push(e.population.baseSource),t.push(...F([e.labelField,e.valueField,e.searchField,...e.disambiguationFields||[]].filter(n=>!!n)))):e.kind==="sql"&&t.push(...F(e.fields));const r="inputs"in e&&Array.isArray(e.inputs)?e.inputs:[];for(const n of r){const d=v(n.field);d&&t.push(d)}return t}function ct(e){const t=[];for(const r of ve(e)){const a=v(r.field);a&&t.push(a)}for(const r of J(e))for(const a of Z(r))t.push(...dt(a.analytics));return t}function lt(e){var r;const t=[];for(const a of J(e))for(const o of Z(a))M((r=o.analytics)==null?void 0:r.source)&&t.push(o.analytics.source);return t}function ut(e,t){const r=B(e).filter(M);if(r.length===0)return t.push(I("missing_materializable_dataset","No semantic or physical source could be converted into the current dashboard authoring dataset reference.")),[];const a=r.every(i=>i.kind==="semantic"),o=Array.from(new Set(r.filter(i=>i.kind==="semantic").map(i=>i.domainId)));return r.length>1&&(!a||o.length!==1)?(t.push(I("multiple_datasets_out_of_scope","The dashboard authoring compiler supports multiple datasets only within one semantic domain; using the first source and deferring the rest.")),[r[0]]):r}function pt(e,t){const r=J(e),a=ve(e),o=B(ct(e)),i=B(lt(e));return{sections:r,inputs:a,sources:o,primarySources:i,defaultSource:i.length===1?i[0]:void 0,datasets:ut(o,t)}}function ft(e){return e&&w.validateSemaphorAnalyticsIntent(e).ok?e:void 0}function ht(e){var t;switch((t=e.presentation)==null?void 0:t.kind){case"kpi":return"kpi";case"lineChart":return"line";case"barChart":return"bar";case"areaChart":return"area";case"table":return"table";case"text":return"text";default:return null}}function mt(e){var t,r,a;return((t=e.presentation)==null?void 0:t.kind)==="kpi"?"kpi":((r=e.presentation)==null?void 0:r.kind)==="table"?"table":((a=e.presentation)==null?void 0:a.kind)==="text"?"text":"chart"}function bt(e){const t=Te.normalizeSemaphorInputOperator(e);switch(t){case"not_in":return"not in";case"not_between":return"not between";case"contains":return"like";case"not_contains":return"not like";default:return t||"in"}}function gt(e){return $(e.field)?e.field.dataType==="datetime"?"date":e.field.dataType||"string":"string"}function It(e){if(!(!e||e.kind!=="physical"))return[e.databaseName,e.schemaName,e.tableName].filter(Boolean).join(".")}function yt(e,t,r,a,o,i){if(e.kind!=="filter")return i.push(I("control_inputs_deferred",`Control input "${e.label}" is represented in the protocol but not yet materialized by the dashboard authoring adapter.`)),null;if(!$(e.field)||typeof e.field.name!="string")return i.push(I("filter_requires_field",`Filter "${e.label||e.id}" needs a field before the dashboard compiler can materialize it.`)),null;const n=le({explicitSource:void 0,field:e.field,defaultSource:t,fallbackSources:r}),d=(n==null?void 0:n.kind)==="semantic"||(n==null?void 0:n.kind)==="physical"?n.connectionId:void 0;if(!d)return i.push(I("filter_requires_connection_id",`Filter "${e.label}" needs a source connectionId before the dashboard compiler can materialize it.`)),null;const m={id:`filter-${Ce(O(e.id,e.field.name),o)}`,variableName:e.id,connectionId:d,title:e.label,column:e.field.name,dataType:gt(e),qualifiedTableName:It(n),sql:"",operation:bt(e.operator),type:e.multi===!1?"single":"multiple",location:"dashboard",displayMode:"toolbar",fieldMeta:(n==null?void 0:n.kind)==="semantic"?{name:e.field.name,qualifiedFieldName:e.field.name,dataType:e.field.dataType,role:e.field.role==="measure"?"metric":"groupby"}:void 0,semanticContext:(n==null?void 0:n.kind)==="semantic"?{semanticDomainId:n.domainId,connectionId:n.connectionId}:(n==null?void 0:n.kind)==="physical"?{connectionId:n.connectionId,connectionType:n.connectionType,selectedEntities:[{type:"table",connectionId:n.connectionId,connectionType:n.connectionType,dialect:n.dialect,database:n.databaseName,schema:n.schemaName,name:n.tableName}]}:void 0};return{id:e.id,label:e.label,variableName:e.id,scope:a,filter:m,defaultValue:Q(m,e.defaultValue)}}function G(e){const t=[],r=[];for(const a of e.viewIds){const o=e.viewIdToCardId.get(a);o?t.push(o):r.push(a)}return r.length>0&&e.warnings.push(I("input_scope_view_not_found",`Filter "${e.inputLabel}" referenced unknown view ids: ${r.join(", ")}.`)),Array.from(new Set(t))}function _t(e){var a,o;if(!e.protocolScope){const i=Array.from(new Set(e.boundCardIds));return i.length>0&&i.length<e.allCardIds.length?{kind:"cards",cardIds:i}:void 0}if(e.protocolScope.level==="dashboard"){if(!((a=e.protocolScope.excludeViewIds)!=null&&a.length))return;const i=new Set(G({inputLabel:e.inputLabel,viewIds:e.protocolScope.excludeViewIds,viewIdToCardId:e.viewIdToCardId,warnings:e.warnings}));return{kind:"cards",cardIds:e.allCardIds.filter(n=>!i.has(n))}}if(e.protocolScope.level==="view"){const i=G({inputLabel:e.inputLabel,viewIds:e.protocolScope.viewIds,viewIdToCardId:e.viewIdToCardId,warnings:e.warnings});return i.length===0?(e.warnings.push(I("input_scope_has_no_materialized_cards",`Filter "${e.inputLabel}" was deferred because its view scope does not match any materialized cards.`)),null):{kind:"cards",cardIds:i}}const t=e.sectionIdToCardIds.get(e.protocolScope.sectionId)||[];if(t.length===0)return e.warnings.push(I("input_scope_section_not_found",`Filter "${e.inputLabel}" was deferred because section "${e.protocolScope.sectionId}" does not match any materialized cards.`)),null;if(!((o=e.protocolScope.excludeViewIds)!=null&&o.length))return{kind:"cards",cardIds:t};const r=new Set(G({inputLabel:e.inputLabel,viewIds:e.protocolScope.excludeViewIds,viewIdToCardId:e.viewIdToCardId,warnings:e.warnings}));return{kind:"cards",cardIds:t.filter(i=>!r.has(i))}}function St(e){var C,_,c;const t=[],r=w.validateSemaphorDashboardIntent(e);for(const p of r.warnings)t.push(I(p.code,p.message));for(const p of r.errors)t.push(I(p.code,p.message));const a=pt(e,t),o=[],i=new Map,n=new Map,d=new Map,s=new Set,u=new Set;let m=0;for(const[p,g]of a.sections.entries()){const l=typeof g.title=="string"?g.title:`Section ${p+1}`,ee=g.id||O(l,`section-${p+1}`);n.set(ee,[]);for(const[te,b]of Z(g).entries()){const re=ht(b),H=O(b.id||`${l}-${b.title||`View ${te+1}`}`,`card-${p+1}-${te+1}`);if(!re){t.push(I("unsupported_presentation",`Dashboard presentation "${((C=b.presentation)==null?void 0:C.kind)||"unknown"}" is not supported by the dashboard authoring adapter.`,`card-${H}`));continue}if(((_=b.analytics)==null?void 0:_.kind)==="sql"){t.push(I("sql_intent_deferred","SQL analytics intent is valid protocol, but the current dashboard authoring adapter only materializes semantic and physical config-card intents.",`card-${H}`));continue}const ae=Ce(H,s),P=`card-${ae}`;b.id&&i.set(b.id,P),(c=n.get(ee))==null||c.push(P);const we=b.analytics&&"inputs"in b.analytics?b.analytics.inputs:void 0;for(const ne of we||[]){const ie=d.get(ne.inputId)||[];ie.push(P),d.set(ne.inputId,ie)}o.push({id:P,frameId:`frame-${ae}`,title:b.title,description:b.description,type:re,role:mt(b),priority:m,section:l,analyticsIntent:ft(b.analytics),text:b.text}),m+=1}}const y=a.inputs.map(p=>{const g=_t({protocolScope:p.scope,inputLabel:p.label,allCardIds:o.map(l=>l.id),boundCardIds:d.get(p.id)||[],viewIdToCardId:i,sectionIdToCardIds:n,warnings:t});return g===null?null:yt(p,a.defaultSource,a.sources,g,u,t)}).filter(p=>!!p);return{plan:{version:1,id:`plan-${O(e.title,"dashboard")}`,title:e.title,description:e.description,datasets:a.datasets,sheets:[{id:`sheet-${O(e.title,"dashboard")}`,title:e.title,description:e.description,kind:"dashboard",cards:o}],filterInputs:y.length?y:void 0,warnings:t.length?t:void 0,unresolvedRequests:r.ok?void 0:r.errors.map(p=>p.message)},warnings:t}}exports.DASHBOARD_AUTHORING_BREAKPOINTS=k.DASHBOARD_AUTHORING_BREAKPOINTS;exports.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS=k.DASHBOARD_AUTHORING_MAX_GENERATED_CARDS;exports.AUTOMATIC_TEMPORAL_BUCKET_FORMAT=D.AUTOMATIC_TEMPORAL_BUCKET_FORMAT;exports.SEMAPHOR_CARTESIAN_CHART_TYPES=D.SEMAPHOR_CARTESIAN_CHART_TYPES;exports.getTemporalBucketAuthoringOptions=D.getTemporalBucketAuthoringOptions;exports.getTemporalBucketAuthoringSelection=D.getTemporalBucketAuthoringSelection;exports.isSemaphorCartesianChartType=D.isSemaphorCartesianChartType;exports.previewTemporalBucketAuthoringFormat=D.previewTemporalBucketAuthoringFormat;exports.reconcileTemporalBucketAuthoringFormat=D.reconcileTemporalBucketAuthoringFormat;exports.resolveTemporalBucketAuthoringFormat=D.resolveTemporalBucketAuthoringFormat;exports.resolveTemporalResultOwner=D.resolveTemporalResultOwner;exports.supportsCanonicalDashboardTemporalResult=D.supportsCanonicalDashboardTemporalResult;exports.transformComparisonDocument=D.transformComparisonDocument;exports.DashboardFilterMappingContractError=h.DashboardFilterMappingContractError;exports.applyCardReferenceRemapping=h.applyCardReferenceRemapping;exports.buildDashboardCardSourceIndex=h.buildDashboardCardSourceIndex;exports.composeCardReferenceRemapping=h.composeCardReferenceRemapping;exports.createDashboardFilterBindingId=h.createDashboardFilterBindingId;exports.dashboardCardFilterSourceInventoryContains=h.dashboardCardFilterSourceInventoryContains;exports.dashboardFilterTargetMatchesLogicalValue=h.dashboardFilterTargetMatchesLogicalValue;exports.dashboardFilterValueTypeForDataType=h.dashboardFilterValueTypeForDataType;exports.findDashboardCardExecutableSource=h.findDashboardCardExecutableSource;exports.findDashboardCardPinnedCatalogSource=h.findDashboardCardPinnedCatalogSource;exports.findDashboardSqlPinnedCatalogSource=h.findDashboardSqlPinnedCatalogSource;exports.getDashboardFilterSubscriptionHint=h.getDashboardFilterSubscriptionHint;exports.hasDashboardFilterSubscription=h.hasDashboardFilterSubscription;exports.isDashboardFilterOperationCompatible=h.isDashboardFilterOperationCompatible;exports.normalizeDashboardInputs=h.normalizeDashboardInputs;exports.requireNormalizedDashboardInputs=h.requireNormalizedDashboardInputs;exports.resolveDashboardFilterAutomaticTarget=h.resolveDashboardFilterAutomaticTarget;exports.resolveDashboardFilterInheritedTarget=h.resolveDashboardFilterInheritedTarget;exports.resolveDashboardSqlFilterTarget=h.resolveDashboardSqlFilterTarget;exports.resolveCanonicalDetailResultRawKey=X.resolveCanonicalDetailResultRawKey;exports.resolveCanonicalResultOutputKey=X.resolveCanonicalResultOutputKey;exports.resolveCanonicalResultRawKey=X.resolveCanonicalResultRawKey;exports.applyDashboardChangePlan=st;exports.compileDashboardFromPlan=et;exports.compileResponsiveDashboardLayouts=V;exports.dashboardAuthoringDatasetMatchesSource=z;exports.dashboardAuthoringFieldsReferToSameTarget=xe;exports.dashboardAuthoringSourceFromField=v;exports.dashboardAuthoringSourceKey=Fe;exports.dashboardAuthoringSourcesReferToSameDataset=Y;exports.dashboardPlanFromSemaphorDashboardIntent=St;exports.findDashboardAuthoringDatasetForSource=Pe;exports.getDashboardAuthoringCardSource=pe;exports.isMaterializableDashboardAuthoringSource=M;exports.isSemaphorSourceRef=de;exports.mergeDashboardAuthoringSources=B;exports.preferDashboardAuthoringSourceMetadata=ce;exports.preferredDashboardAuthoringSource=ke;exports.resolveDashboardAuthoringSource=le;exports.validateDashboardAuthoringDatasetScope=fe;exports.validateDashboardChangePlan=_e;exports.validateDashboardPlan=ye;
@@ -3,8 +3,8 @@ import { A as Rt, S as Bt, g as Pt, a as zt, i as Ot, p as qt, c as Vt, b as Lt,
3
3
  import { k as _e, ai as W, aj as we, y as ie, F as ve, B as Ce } from "../chunks/validators-D3AarM2T.js";
4
4
  import "../chunks/analyze-result-contract-DsiAzCYn.js";
5
5
  import "../value-format-preferences/index.js";
6
- import { m as O } from "../chunks/dashboard-filter-value-compatibility-BAatYtUS.js";
7
- import { D as Kt, t as Gt, b as Ut, s as Qt, o as Yt, d as Jt, g as Xt, p as Zt, f as en, a as tn, e as nn, j as rn, i as an, q as on, n as sn, l as dn, r as cn, h as ln, k as un } from "../chunks/dashboard-filter-value-compatibility-BAatYtUS.js";
6
+ import { m as O } from "../chunks/dashboard-filter-value-compatibility-DQkUs41q.js";
7
+ import { D as Kt, t as Gt, b as Ut, s as Qt, o as Yt, d as Jt, g as Xt, p as Zt, f as en, a as tn, e as nn, j as rn, i as an, q as on, n as sn, l as dn, r as cn, h as ln, k as un } from "../chunks/dashboard-filter-value-compatibility-DQkUs41q.js";
8
8
  import { n as Se } from "../chunks/operators-C8TxpM4C.js";
9
9
  import { a as pn, b as hn, r as mn } from "../chunks/canonical-result-keys-CEQefvdO.js";
10
10
  function _(e) {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index--0Il-Bpd.cjs"),w=require("../chunks/switch-Cpj3DrCZ.cjs"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),te=require("../chunks/x-B6ghREd2.cjs"),Cn=require("../chunks/save-3dYRmehL.cjs"),Rn=require("../chunks/mouse-pointer-2-DX4A_XZw.cjs"),tt=require("../chunks/search-BqqhaMx9.cjs");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Bn=Tr(p),Dn=Tr(An);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index-G6FZG212.cjs"),w=require("../chunks/switch-D12C40LN.cjs"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),te=require("../chunks/x-B6ghREd2.cjs"),Cn=require("../chunks/save-3dYRmehL.cjs"),Rn=require("../chunks/mouse-pointer-2-DX4A_XZw.cjs"),tt=require("../chunks/search-BqqhaMx9.cjs");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Bn=Tr(p),Dn=Tr(An);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -2,8 +2,8 @@ import { jsx as r, jsxs as c, Fragment as re } from "react/jsx-runtime";
2
2
  import * as Zn from "react";
3
3
  import { useContext as qn, useState as x, useRef as oe, useMemo as je, useEffect as W, useCallback as Ot } from "react";
4
4
  import * as Xn from "react-dom/client";
5
- import { aL as ea, aM as ta, aN as Ir, aO as jr, aP as zr, aQ as ra, aR as Wr, aS as Hr, aT as Jr, aU as Vr, aV as _r, aW as Ur, aX as Gr, aY as na, aZ as aa, a_ as oa, a$ as Ht, b0 as on, R as Kr, b1 as sa, b2 as Vt, b3 as sn, b4 as ia, b5 as la } from "../chunks/index-DgGcVyUs.js";
6
- import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, L as me, R as ma, d as _t } from "../chunks/switch-BsGTOjuD.js";
5
+ import { aL as ea, aM as ta, aN as Ir, aO as jr, aP as zr, aQ as ra, aR as Wr, aS as Hr, aT as Jr, aU as Vr, aV as _r, aW as Ur, aX as Gr, aY as na, aZ as aa, a_ as oa, a$ as Ht, b0 as on, R as Kr, b1 as sa, b2 as Vt, b3 as sn, b4 as ia, b5 as la } from "../chunks/index-D0Ts5I_i.js";
6
+ import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, L as me, R as ma, d as _t } from "../chunks/switch-LucIPRtD.js";
7
7
  import { loadSemaphorBrowserRuntime as ot } from "../data-app-builder-browser-runtime/index.js";
8
8
  import { c as Ve, X as He } from "../chunks/x-CXDkqdur.js";
9
9
  import { S as fa } from "../chunks/save-DgMfP0j8.js";
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index--0Il-Bpd.cjs"),u=require("./chunks/common-types-BCSbPclk.cjs"),P=require("./chunks/report-preferences-dialog-I0Pbn_Yb.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-Cpj3DrCZ.cjs"),h=require("react"),N=require("./chunks/token-types-D9eN35rf.cjs"),l=require("./chunks/dashboard-briefing-launcher-7qAW16mO.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-DqIM0B3C.cjs");const w=require("./chunks/report-runtime-context-BfW4qiMJ.cjs"),T=require("./chunks/pivot-result-identity-BVnhG2rR.cjs");require("./chunks/analyze-result-contract-BX_nQmPN.cjs");require("./chunks/temporal-bucket-authoring-DueSgLJU.cjs");const B=require("./chunks/dashboard-filter-value-compatibility-Bco2gN96.cjs");require("./chunks/card-config-utils-D3Xuu0ub.cjs");require("react-dom");require("./chunks/appearance-context-DhyjbQk1.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-ByFbacH7.cjs");const A=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),L=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-BgNYdUYH.cjs");function M(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const m=M(h);function j(a){const{displayPreferences:t,cardId:o,...d}=a,n={...d,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(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:d}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!d?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:d})})})}function q(a,t,o,d){h.useEffect(()=>{a&&!o&&t&&d(B.cloneDeep(t))},[a,o,t,d])}function U({name:a,items:t,value:o,onChange:d,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[S,F]=m.useState("100%"),x=C?[...t||[],{id:"none",name:"None"}]:t;m.useLayoutEffect(()=>{g.current&&F(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function _(f,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:v()})]}),i.jsx(L.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>_(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 k(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=u.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=u.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=u.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=u.EMPTY_SELECTION;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=u.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=u.PivotMarkerEnum;exports.getFieldRuntimeColumnName=u.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=u.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=u.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=u.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=u.isCalculatedDimension;exports.isCalculatedField=u.isCalculatedField;exports.isCalculatedMetric=u.isCalculatedMetric;exports.ReportPreferencesDialog=P.ReportPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=N.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=w.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=B.cloneDeep;exports.normalizeDashboardForDirtyCheck=A.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=A.serializeDashboardForDirtyCheck;exports.Combobox=U;exports.Visual=j;exports.useExposePrintState=k;exports.usePristineSnapshotInitializer=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-G6FZG212.cjs"),u=require("./chunks/common-types-BCSbPclk.cjs"),P=require("./chunks/report-preferences-dialog-Ce1tu57t.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-D12C40LN.cjs"),h=require("react"),N=require("./chunks/token-types-D9eN35rf.cjs"),l=require("./chunks/dashboard-briefing-launcher-_AjM7Q_y.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-DqIM0B3C.cjs");const w=require("./chunks/report-runtime-context-BfW4qiMJ.cjs"),T=require("./chunks/pivot-result-identity-BVnhG2rR.cjs");require("./chunks/analyze-result-contract-BX_nQmPN.cjs");require("./chunks/temporal-bucket-authoring-DueSgLJU.cjs");const B=require("./chunks/dashboard-filter-value-compatibility-ByT__CYM.cjs");require("./chunks/card-config-utils-D3Xuu0ub.cjs");require("react-dom");require("./chunks/appearance-context-DhyjbQk1.cjs");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-ByFbacH7.cjs");const A=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),L=require("./chunks/x-B6ghREd2.cjs");require("./chunks/appearance-runtime-provider-BgNYdUYH.cjs");function M(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const m=M(h);function j(a){const{displayPreferences:t,cardId:o,...d}=a,n={...d,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(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:d}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var C;return(C=s==null?void 0:s.cards)==null?void 0:C.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!d?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:d})})})}function q(a,t,o,d){h.useEffect(()=>{a&&!o&&t&&d(B.cloneDeep(t))},[a,o,t,d])}function U({name:a,items:t,value:o,onChange:d,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:C=!1}){const g=m.useRef(null),[y,b]=m.useState(!1),[S,F]=m.useState("100%"),x=C?[...t||[],{id:"none",name:"None"}]:t;m.useLayoutEffect(()=>{g.current&&F(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function _(f,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:v()})]}),i.jsx(L.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>_(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 k(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=u.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=u.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=u.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=u.EMPTY_SELECTION;exports.LEGACY_CALCULATED_FIELD_ENTITY_MARKER=u.LEGACY_CALCULATED_FIELD_ENTITY_MARKER;exports.PivotMarkerEnum=u.PivotMarkerEnum;exports.getFieldRuntimeColumnName=u.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=u.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=u.hasCalculatedFormulaInputs;exports.hasSyntheticCalculatedFieldOwner=u.hasSyntheticCalculatedFieldOwner;exports.isCalculatedDimension=u.isCalculatedDimension;exports.isCalculatedField=u.isCalculatedField;exports.isCalculatedMetric=u.isCalculatedMetric;exports.ReportPreferencesDialog=P.ReportPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=N.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=w.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.cloneDeep=B.cloneDeep;exports.normalizeDashboardForDirtyCheck=A.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=A.serializeDashboardForDirtyCheck;exports.Combobox=U;exports.Visual=j;exports.useExposePrintState=k;exports.usePristineSnapshotInitializer=q;
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
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-DgGcVyUs.js";
2
- import { ak as xa, al as ya, am as ba, an as Ta, V as va, G as Aa, D as Ba, A as Na, z as Sa, w as _a, b as Pa, au as wa, M as Fa, n as Ra, q as La, q as Ma, r as Ia, B as Ua, a as ka, af as Oa, ah as Va, ai as qa, ag as za, a6 as Wa, a9 as ja, at as Qa, Z as Ha, ae as Ka, ap as Ga, a1 as Ya, aa as Xa, y as $a, x as Ja, ax as Za, Y as ae, ab as ee, ac as se, a5 as re, a8 as oe, as as ie, ar as te, aq as ne, aw as le, av as ue, a7 as de, X as ce, W as fe, $ as pe, ad as me, a3 as he, a0 as ge, a2 as Ce, a4 as De, _ as Ee, P as xe, L as ye, ao as be, v as Te, J as ve, t as Ae, m as Be, H as Ne, K as Se, o as _e, T as Pe, O as we, N as Fe, Q as Re, u as Le, s as Me, p as Ie, aj as Ue } from "./chunks/index-DgGcVyUs.js";
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-D0Ts5I_i.js";
2
+ import { ak as xa, al as ya, am as ba, an as Ta, V as va, G as Aa, D as Ba, A as Na, z as Sa, w as _a, b as Pa, au as wa, M as Fa, n as Ra, q as La, q as Ma, r as Ia, B as Ua, a as ka, af as Oa, ah as Va, ai as qa, ag as za, a6 as Wa, a9 as ja, at as Qa, Z as Ha, ae as Ka, ap as Ga, a1 as Ya, aa as Xa, y as $a, x as Ja, ax as Za, Y as ae, ab as ee, ac as se, a5 as re, a8 as oe, as as ie, ar as te, aq as ne, aw as le, av as ue, a7 as de, X as ce, W as fe, $ as pe, ad as me, a3 as he, a0 as ge, a2 as Ce, a4 as De, _ as Ee, P as xe, L as ye, ao as be, v as Te, J as ve, t as Ae, m as Be, H as Ne, K as Se, o as _e, T as Pe, O as we, N as Fe, Q as Re, u as Le, s as Me, p as Ie, aj as Ue } from "./chunks/index-D0Ts5I_i.js";
3
3
  import { a as Oe, C as Ve, D as qe, E as ze, L as We, P as je, g as Qe, d as He, h as Ke, e as Ge, b as Ye, c as Xe, i as $e } from "./chunks/common-types-D3r4PILe.js";
4
- import { R as Ze } from "./chunks/report-preferences-dialog-Bytgubvz.js";
4
+ import { R as Ze } from "./chunks/report-preferences-dialog-DXdhi1gQ.js";
5
5
  import { jsx as a, jsxs as u } from "react/jsx-runtime";
6
- import { u as z, P as W, a as j, B as Q, c as C, b as H, d as K } from "./chunks/switch-BsGTOjuD.js";
7
- import { A as es, n as ss, e as rs, f as os, g as is, p as ts, o as ns, s as ls, t as us, m as ds, i as cs, l as fs, q as ps, k as ms, j as hs, h as gs, v as Cs, r as Ds, w as Es, y as xs, x as ys, z as bs, E as Ts, D as vs } from "./chunks/switch-BsGTOjuD.js";
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-LucIPRtD.js";
7
+ import { A as es, n as ss, e as rs, f as os, g as is, p as ts, o as ns, s as ls, t as us, m as ds, i as cs, l as fs, q as ps, k as ms, j as hs, h as gs, v as Cs, r as Ds, w as Es, y as xs, x as ys, z as bs, E as Ts, D as vs } from "./chunks/switch-LucIPRtD.js";
8
8
  import * as p from "react";
9
9
  import { useMemo as G, useEffect as b } from "react";
10
10
  import { D as Bs } from "./chunks/token-types-Dvomvqw0.js";
11
- import { A as Ss, g as _s, D as Ps, e as ws, f as Fs, d as Rs, b as Ls, E as Ms, N as Is, U as Us, a as ks, V as Os, W as Vs, u as qs, c as zs } from "./chunks/dashboard-briefing-launcher-DAhtLQPc.js";
11
+ import { A as Ss, g as _s, D as Ps, e as ws, f as Fs, d as Rs, b as Ls, E as Ms, N as Is, U as Us, a as ks, V as Os, W as Vs, u as qs, c as zs } from "./chunks/dashboard-briefing-launcher-CiFX5vgQ.js";
12
12
  import { u as js } from "./chunks/use-debounced-dirty-check-BwAbnX_5.js";
13
13
  import "./value-format-preferences/index.js";
14
14
  import "./chunks/validators-D3AarM2T.js";
@@ -16,7 +16,7 @@ import { D as Hs } from "./chunks/report-runtime-context-B_pAmqxl.js";
16
16
  import { r as Gs, a as Ys } from "./chunks/pivot-result-identity-BIeP9v8I.js";
17
17
  import "./chunks/analyze-result-contract-DsiAzCYn.js";
18
18
  import "./chunks/temporal-bucket-authoring-CyTCHy1K.js";
19
- import { c as Y } from "./chunks/dashboard-filter-value-compatibility-BAatYtUS.js";
19
+ import { c as Y } from "./chunks/dashboard-filter-value-compatibility-DQkUs41q.js";
20
20
  import "./chunks/card-config-utils-CyDKaPNT.js";
21
21
  import "react-dom";
22
22
  import "./chunks/appearance-context-DVXt8qjW.js";