react-semaphor 0.1.515 → 0.1.516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +226 -225
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +8 -8
- package/dist/chunks/{calculated-field-identity-BiTGmnST.cjs → calculated-field-identity-5bg9oHTw.cjs} +1 -1
- package/dist/chunks/{calculated-field-identity-DnRd4YIY.js → calculated-field-identity-DzJBs2J8.js} +4 -4
- package/dist/chunks/{card-config-utils-B2cDWQqB.js → card-config-utils-Cxnq2R6z.js} +14 -14
- package/dist/chunks/{card-config-utils-CMO4_zVs.cjs → card-config-utils-z86y6tSq.cjs} +1 -1
- package/dist/chunks/column-bands-CU0byntA.cjs +1 -0
- package/dist/chunks/column-bands-RdM-kjDe.js +47 -0
- package/dist/chunks/{dashboard-briefing-launcher-BA_bl05p.js → dashboard-briefing-launcher-BCEHJ_eD.js} +15 -12
- package/dist/chunks/{dashboard-briefing-launcher-B7zqm8P1.cjs → dashboard-briefing-launcher-CjZ4aE34.cjs} +2 -2
- package/dist/chunks/{dashboard-controls-QMW17RKx.js → dashboard-controls-DFfit5KH.js} +12 -12
- package/dist/chunks/{dashboard-controls-x_v9wLOU.cjs → dashboard-controls-f9aJ70Zu.cjs} +1 -1
- package/dist/chunks/{dashboard-date-comparison-definition-D7Bl-YAl.js → dashboard-date-comparison-definition-BqNhECUr.js} +6 -6
- package/dist/chunks/{dashboard-date-comparison-definition-C_w-GO_5.cjs → dashboard-date-comparison-definition-Y6JZwpcr.cjs} +1 -1
- package/dist/chunks/{dashboard-json-DRnpkNwO.js → dashboard-json-DVtcA02f.js} +7 -7
- package/dist/chunks/{dashboard-json-0ZLLBlHj.cjs → dashboard-json-deqQC-UR.cjs} +1 -1
- package/dist/chunks/edit-dashboard-visual-DK6lSC_p.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-1ISjhwry.js → edit-dashboard-visual-lJ6rDH3w.js} +4338 -4324
- package/dist/chunks/{editor-action-buttons-BTCKZERI.js → editor-action-buttons-Bnxxa439.js} +7 -7
- package/dist/chunks/{editor-action-buttons-Czq5SnA9.cjs → editor-action-buttons-CmDaQbPN.cjs} +1 -1
- package/dist/chunks/{field-aggregations-CzuQKtqx.js → field-aggregations-Dl2A3rbV.js} +461 -358
- package/dist/chunks/field-aggregations-pH_3kymD.cjs +1 -0
- package/dist/chunks/{field-dependencies-DIab72rQ.cjs → field-dependencies-EB485TdB.cjs} +1 -1
- package/dist/chunks/{field-dependencies-DXW4jtvJ.js → field-dependencies-v-lJNzC7.js} +1 -1
- package/dist/chunks/{index-Dlic9KZs.js → index-BVVl2JDK.js} +57730 -54586
- package/dist/chunks/index-DfqMtR9S.cjs +4 -0
- package/dist/chunks/index-UNKSfi7s.cjs +1434 -0
- package/dist/chunks/{index-v1OE4-eA.js → index-ylOpKRDu.js} +877 -849
- package/dist/chunks/{matrix-analytical-definition-Ct5Tu8np.cjs → matrix-analytical-definition-BWd159lN.cjs} +1 -1
- package/dist/chunks/{matrix-analytical-definition-BDAK2aEi.js → matrix-analytical-definition-BimC4XIV.js} +1 -1
- package/dist/chunks/{matrix-card-U4c72doZ.cjs → matrix-card-C2RjEYZ8.cjs} +1 -1
- package/dist/chunks/{matrix-card-DOIeTmjh.js → matrix-card-CIlz0Dnp.js} +2 -2
- package/dist/chunks/{matrix-control-sources-FjxGIbqk.cjs → matrix-control-sources-BvEJF7d3.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-BxKH2yu2.js → matrix-control-sources-KbZe1gj_.js} +51 -51
- package/dist/chunks/{matrix-definition-CBJW_4ii.cjs → matrix-definition-DanUT11P.cjs} +1 -1
- package/dist/chunks/{matrix-definition-I9rHB9zN.js → matrix-definition-E5gXXSTZ.js} +1 -1
- package/dist/chunks/matrix-formatter-BJTO8ky9.cjs +1 -0
- package/dist/chunks/{matrix-formatter-BdIsE7Qu.js → matrix-formatter-CCXNRt3s.js} +81 -81
- package/dist/chunks/{matrix-member-presentation-DO1VSqfh.js → matrix-member-presentation-Bw7-JCrr.js} +64 -64
- package/dist/chunks/matrix-member-presentation-DvXDEo0U.cjs +1 -0
- package/dist/chunks/{matrix-operation-contract-DoiWTUbT.cjs → matrix-operation-contract-0RxoU_M3.cjs} +1 -1
- package/dist/chunks/{matrix-operation-contract-D0HfzwZg.js → matrix-operation-contract-D32U2CSw.js} +19 -19
- package/dist/chunks/{metric-comparison-Dqc7_tnW.js → metric-comparison-BphoJ9bq.js} +1 -1
- package/dist/chunks/{metric-comparison-DBQ3EJTz.cjs → metric-comparison-CUmltzpz.cjs} +1 -1
- package/dist/chunks/pivot-header-presentation-BSZhB1g-.js +661 -0
- package/dist/chunks/pivot-header-presentation-EoUS5ze5.cjs +5 -0
- package/dist/chunks/{pivot-result-identity-8M-bZrw9.js → pivot-result-identity-BzUQiCEV.js} +4 -4
- package/dist/chunks/{pivot-result-identity-uTiylUNr.cjs → pivot-result-identity-gquWljbd.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-vg_suUNb.cjs → pivot-result-lifecycle-gl9cBfB-.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-CEmyU2At.js → pivot-result-lifecycle-kRhiJkzg.js} +8 -8
- package/dist/chunks/{raw-temporal-Bj6_w9cG.js → raw-temporal-BqOfk-xN.js} +16 -16
- package/dist/chunks/{raw-temporal-contract-CFLGwTiI.js → raw-temporal-contract-BQZIJ1fn.js} +1 -1
- package/dist/chunks/{raw-temporal-contract-DECbTuzA.cjs → raw-temporal-contract-CklMVG_1.cjs} +1 -1
- package/dist/chunks/{raw-temporal-CeblVJbu.cjs → raw-temporal-eJXecCyJ.cjs} +1 -1
- package/dist/chunks/{report-preferences-dialog-b8J6KjSy.js → report-preferences-dialog-CHXPEl7v.js} +6 -6
- package/dist/chunks/{report-preferences-dialog-Dr1BYwuf.cjs → report-preferences-dialog-Cto0vDwI.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-Cs65Mrxj.js → report-runtime-context-CxIoGyNM.js} +1 -1
- package/dist/chunks/{report-runtime-context-DzvHBPxl.cjs → report-runtime-context-CzSrCBsu.cjs} +1 -1
- package/dist/chunks/{selection-reducer-BIiQXbGM.js → selection-reducer-CvCBQbl2.js} +1 -1
- package/dist/chunks/{selection-reducer-CGKKsaPa.cjs → selection-reducer-Kl22OzIk.cjs} +1 -1
- package/dist/chunks/{semantic-format-Dt-nUxFB.js → semantic-format-DwqGYx4V.js} +2 -2
- package/dist/chunks/{semantic-format-DFI1iszk.cjs → semantic-format-mVI32OJH.cjs} +1 -1
- package/dist/chunks/{source-entity-resolution-D7vnmDwm.js → source-entity-resolution-Bzefiive.js} +7 -7
- package/dist/chunks/{source-entity-resolution-CjbgnwyX.cjs → source-entity-resolution-R46X34SE.cjs} +1 -1
- package/dist/chunks/switch-DNbWXEOP.cjs +134 -0
- package/dist/chunks/{switch-D5_tjsIS.js → switch-DNv-hVmt.js} +8230 -7681
- package/dist/chunks/{temporal-bucket-B9hMwemw.js → temporal-bucket-DlFuhCnT.js} +6 -6
- package/dist/chunks/{temporal-bucket-contract-IWDgyTMw.js → temporal-bucket-contract-DTLDRzgV.js} +1 -1
- package/dist/chunks/{temporal-bucket-contract-ZctiyXYk.cjs → temporal-bucket-contract-nTv6gvX5.cjs} +1 -1
- package/dist/chunks/{token-types-Dl0hcKBX.js → token-types-BC6RcUY8.js} +1 -1
- package/dist/chunks/{token-types-Ahh5u4iT.cjs → token-types-aWrzwonf.cjs} +1 -1
- package/dist/chunks/{update-policy-COjFudhl.cjs → update-policy-DRDLWe7Y.cjs} +1 -1
- package/dist/chunks/{update-policy-BeQqjupC.js → update-policy-DhAUtiC8.js} +2 -2
- package/dist/chunks/{validators-CkHsAvwB.js → validators-CsdOtZI6.js} +411 -397
- package/dist/chunks/validators-DFeDcdpA.cjs +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +233 -227
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +3 -3
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +5 -5
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +5 -5
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +291 -402
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/pdf-table-layout/index.cjs +1 -0
- package/dist/pdf-table-layout/index.js +993 -0
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/briefings/index.d.ts +1 -1
- package/dist/types/components/document-sheet/document-input-bar.d.ts +1 -3
- package/dist/types/components/document-sheet/document-insert-picker.d.ts +37 -0
- package/dist/types/components/document-sheet/document-kpi-section.d.ts +17 -0
- package/dist/types/components/document-sheet/document-matrix-layout-context.d.ts +10 -0
- package/dist/types/components/document-sheet/document-matrix-section.d.ts +27 -0
- package/dist/types/components/document-sheet/document-measure-layer.d.ts +45 -0
- package/dist/types/components/document-sheet/document-outline.d.ts +7 -1
- package/dist/types/components/document-sheet/document-page-navigation.d.ts +22 -0
- package/dist/types/components/document-sheet/document-page.d.ts +9 -5
- package/dist/types/components/document-sheet/document-panel/document-side-panel.d.ts +36 -0
- package/dist/types/components/document-sheet/document-panel/inputs-panel.d.ts +9 -0
- package/dist/types/components/document-sheet/document-panel/page-panel.d.ts +5 -0
- package/dist/types/components/document-sheet/document-panel/panel-controls.d.ts +14 -0
- package/dist/types/components/document-sheet/document-panel/region-panels.d.ts +11 -0
- package/dist/types/components/document-sheet/document-panel/section-panel.d.ts +25 -0
- package/dist/types/components/document-sheet/document-section-print-boundary.d.ts +9 -0
- package/dist/types/components/document-sheet/document-table-chrome.d.ts +22 -0
- package/dist/types/components/document-sheet/document-table-section.d.ts +3 -7
- package/dist/types/components/document-sheet/document-text-preview-context.d.ts +8 -0
- package/dist/types/components/document-sheet/use-first-fitting-variant.d.ts +18 -0
- package/dist/types/components/editor/editor-main/dashboard-variable-node.d.ts +12 -2
- package/dist/types/components/explorer/chart-configuration/matrix-authoring-controls.d.ts +7 -2
- package/dist/types/components/text-variables/variable-chip-plugin.d.ts +23 -0
- package/dist/types/components/text-variables/variable-chip.d.ts +18 -0
- package/dist/types/components/text-variables/variable-picker.d.ts +27 -0
- package/dist/types/components/visual/settings/table-presentation-settings.d.ts +27 -1
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +5 -5
- package/dist/types/lib/dashboard-inputs/text-variable-options.d.ts +15 -0
- package/dist/types/lib/document/document-canvas-actions.d.ts +22 -0
- package/dist/types/lib/document/document-edits.d.ts +119 -0
- package/dist/types/lib/document/document-kpi-figure.d.ts +27 -0
- package/dist/types/lib/document/document-kpi-layout.d.ts +29 -0
- package/dist/types/lib/document/document-kpi-section-edits.d.ts +15 -0
- package/dist/types/lib/document/document-matrix-bands.d.ts +66 -0
- package/dist/types/lib/document/document-matrix-print.d.ts +11 -0
- package/dist/types/lib/document/document-pagination.d.ts +56 -3
- package/dist/types/lib/document/document-panel-target.d.ts +19 -0
- package/dist/types/lib/document/document-section-editor.d.ts +8 -7
- package/dist/types/lib/document/document-section-kinds.d.ts +49 -0
- package/dist/types/lib/document/document-section-query-options.d.ts +25 -0
- package/dist/types/lib/document/document-section-render-state.d.ts +26 -0
- package/dist/types/lib/document/document-section-utils.d.ts +11 -4
- package/dist/types/lib/document/document-table-dom.d.ts +4 -6
- package/dist/types/lib/document/document-table-pagination-model.d.ts +0 -5
- package/dist/types/lib/document/document-table-print-model.d.ts +4 -3
- package/dist/types/lib/document/document-table-style.d.ts +15 -4
- package/dist/types/lib/document/document-table-surface.d.ts +15 -0
- package/dist/types/lib/document/document-variables.d.ts +40 -6
- package/dist/types/lib/document/use-document-section-data.d.ts +39 -0
- package/dist/types/lib/document/use-measured-document-table-layout.d.ts +50 -0
- package/dist/types/lib/formatters/kpi-result-values.d.ts +20 -0
- package/dist/types/lib/hooks/query-context/use-dashboard-card-execution-snapshot.d.ts +8 -2
- package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +6 -0
- package/dist/types/lib/hooks/use-dashboard-kpi-actions.d.ts +1 -1
- package/dist/types/lib/hooks/use-document-section-editor.d.ts +2 -2
- package/dist/types/lib/hooks/use-document-section-session.d.ts +36 -0
- package/dist/types/lib/hooks/use-editor-preview.d.ts +17 -0
- package/dist/types/lib/hooks/use-is-editing-card.d.ts +7 -0
- package/dist/types/lib/matrix-table/matrix-card-adapter.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-card-draft.d.ts +2 -0
- package/dist/types/lib/matrix-table/matrix-delivery.d.ts +4 -0
- package/dist/types/lib/matrix-table/matrix-layout-read.d.ts +68 -0
- package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +8 -1
- package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +4 -2
- package/dist/types/lib/query-context/card-execution.d.ts +30 -0
- package/dist/types/lib/query-context/document-section-card-query.d.ts +37 -0
- package/dist/types/lib/stores/dashboard-store.d.ts +12 -8
- package/dist/types/lib/stores/editor-store.d.ts +2 -0
- package/dist/types/lib/text-variables/text-variable-types.d.ts +39 -0
- package/dist/types/lib/types/common-types.d.ts +34 -1
- package/dist/types/lib/utils/card-definition.d.ts +2 -0
- package/dist/types/lib/utils/card-utils.d.ts +13 -6
- package/dist/types/pdf-table-layout.d.ts +2 -0
- package/dist/types/shared/analytics-protocol/index.d.ts +1 -1
- package/dist/types/shared/analytics-protocol/matrix-definition-contract.d.ts +45 -0
- package/dist/types/shared/analytics-protocol/matrix-member-presentation.d.ts +4 -0
- package/dist/types/shared/dashboard-authoring/document-section-cards.d.ts +56 -0
- package/dist/types/shared/dashboard-authoring/index.d.ts +1 -0
- package/dist/types/shared/dashboard-authoring/matrix-delivery.d.ts +36 -1
- package/dist/types/shared/format-utils/formatters/matrix-formatter.d.ts +5 -0
- package/dist/types/shared/format-utils/index.d.ts +1 -0
- package/dist/types/shared/format-utils/matrix-export-presentation.d.ts +690 -1
- package/dist/types/shared/format-utils/matrix-print.d.ts +38 -0
- package/dist/types/shared/format-utils/pdf-table-layout/column-bands.d.ts +55 -0
- package/dist/types/shared/format-utils/pdf-table-layout/index.d.ts +6 -0
- package/dist/types/shared/format-utils/pdf-table-layout/page-size.d.ts +7 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-semantics.d.ts +106 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-column-widths.d.ts +13 -0
- package/dist/types/shared/format-utils/pdf-table-layout/table-page-geometry.d.ts +19 -0
- package/dist/types/shared/format-utils/pdf-table-layout/wide-table-layout.d.ts +46 -0
- package/dist/types/shared/format-utils/table-structure.d.ts +9 -0
- package/package.json +6 -1
- package/dist/chunks/edit-dashboard-visual-CI0EqzKj.cjs +0 -172
- package/dist/chunks/field-aggregations-jSi77h9Z.cjs +0 -1
- package/dist/chunks/index-BMMXKK3G.cjs +0 -4
- package/dist/chunks/index-C6_xef4P.cjs +0 -1424
- package/dist/chunks/matrix-formatter-Dajj91Ni.cjs +0 -1
- package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +0 -1
- package/dist/chunks/pivot-header-presentation-BIf4HW3L.js +0 -414
- package/dist/chunks/pivot-header-presentation-B_N11CgN.cjs +0 -5
- package/dist/chunks/switch-Ced9ZZwI.cjs +0 -134
- package/dist/chunks/validators-DVYAnnX0.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const C=require("./validators-DFeDcdpA.cjs"),oe=require("./matrix-operation-contract-0RxoU_M3.cjs"),ie=require("./metric-comparison-CUmltzpz.cjs"),u=require("zod"),ke=require("./source-entity-resolution-R46X34SE.cjs"),Te=require("./field-dependencies-EB485TdB.cjs"),J=require("./matrix-card-C2RjEYZ8.cjs"),I=require("./temporal-bucket-4YEPEKlJ.cjs"),re=require("../value-format-preferences/index.cjs"),B=8,L=6,w=Object.freeze([]);function se(e){switch(e.type){case"table":case"chart":return e.card?[e.card]:w;case"kpi":return Array.isArray(e.cards)?e.cards:w;default:return w}}function Ee(e,t){switch(e.type){case"table":case"chart":{if(!e.card)return e;const n=t(e.card);return n===e.card?e:{...e,card:n}}case"kpi":{if(!Array.isArray(e.cards))return e;const n=e.cards.map(t);return n.every((o,i)=>o===e.cards[i])?e:{...e,cards:n}}default:return e}}function Ie(e){var n;const t=[];for(const o of e.sheets||[]){const i=o.id;for(const s of o.cards||[])t.push({kind:"sheetCard",sheetId:i,cardId:s.id,card:s});for(const s of o.frames||[])for(const r of s.cards||[])t.push({kind:"frameCard",sheetId:i,frameId:s.id,cardId:r.id,card:r});for(const s of((n=o.document)==null?void 0:n.sections)||[])for(const r of se(s))t.push({kind:"documentSectionCard",sheetId:i,sectionId:s.id,cardId:r.id,card:r})}return t}function $(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ae(e){if(!$(e))return[{path:"",message:"must be an object."}];const t=[];e.title!==void 0&&typeof e.title!="string"&&t.push({path:"title",message:"must be a string."});const n=e.cards;if(!Array.isArray(n))t.push({path:"cards",message:"must be an array of KPI cards."});else{(n.length<1||n.length>B)&&t.push({path:"cards",message:`must hold 1 to ${B} KPI cards.`});const i=new Set;n.forEach((s,r)=>{if(!$(s)){t.push({path:`cards[${r}]`,message:"must be a card."});return}typeof s.id!="string"||!s.id?t.push({path:`cards[${r}].id`,message:"must be a non-empty string."}):i.has(s.id)?t.push({path:`cards[${r}].id`,message:`duplicates card id '${s.id}'.`}):i.add(s.id),s.type!=="kpi"&&t.push({path:`cards[${r}].type`,message:"must be 'kpi'."})})}const o=e.kpi;return $(o)?(o.layout!=="tiles"&&o.layout!=="lines"?t.push({path:"kpi.layout",message:"must be 'tiles' or 'lines'."}):o.layout==="tiles"&&Array.isArray(n)&&n.length>L&&t.push({path:"kpi.layout",message:`must be 'lines' for more than ${L} KPI cards.`}),o.columns!==void 0&&o.columns!==1&&o.columns!==2&&t.push({path:"kpi.columns",message:"must be 1 or 2."})):t.push({path:"kpi",message:"must be an object."}),t}const P=new Set(["previous_period","same_period_last_year","start_vs_end","target"]),De=new Set([...P,"none",""]);function h(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ae(e){const t=h(e.preferences)?e.preferences:void 0,n=t&&h(t.kpiVisualOptions)?t.kpiVisualOptions:void 0,o=t&&h(t.tableVisualOptions)?t.tableVisualOptions:void 0;return{preferences:t,kpiOptions:n,kpiComparison:n&&h(n.metricComparison)?n.metricComparison:void 0,kpiComparisonPresent:!!n&&"metricComparison"in n,tableOptions:o,tableComparison:o&&h(o.metricComparison)?o.metricComparison:void 0,tableComparisonPresent:!!o&&"metricComparison"in o}}function G(e){const t=[],n=(o,i)=>{if(Array.isArray(o)){o.forEach((r,a)=>n(r,`${i}[${a}]`));return}if(!h(o))return;const s=o.config;if(h(s)){const r=ae(o),a=!!(r.kpiComparisonPresent||r.tableComparisonPresent),m=s.metricColumns,p=Array.isArray(m)?m.flatMap((l,c)=>h(l)?[{index:c,metric:l}]:[]):[];if((p.some(({metric:l})=>"comparisonType"in l)||a)&&t.push({path:i,card:o,metrics:p,malformedMetricIndexes:Array.isArray(m)?m.flatMap((l,c)=>h(l)?[]:[c]):[],malformedMetricColumns:"metricColumns"in s&&!Array.isArray(m),hasLegacyPresentation:a}),"metricColumns"in s||a)return}Object.entries(o).forEach(([r,a])=>n(a,i?`${i}.${r}`:r))};return n(e,"$"),t}const ce={difference:"difference",change:"percent_change",change_difference:"both",ratio:"ratio"};function Q(e,t){if(!e)return;const n=Object.fromEntries(t.flatMap(o=>typeof e[o]=="string"?[[o,e[o]]]:[]));return Object.keys(n).length?n:void 0}function Oe(e,t,n){if(e!==void 0){if(!h(e)){n.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:t,message:"Legacy comparison formatOptions must be an object."});return}Object.entries(e).forEach(([o,i])=>{if(o==="decimalPlaces"){(typeof i!="number"||!Number.isInteger(i)||i<0||i>6)&&n.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${t}.decimalPlaces`,message:"Legacy comparison decimalPlaces must be an integer from 0 through 6."});return}o==="type"&&(i===void 0||i==="auto")||i!==void 0&&n.push({severity:"error",code:"unsupported_comparison_format",path:`${t}.${o}`,message:`Legacy comparison format option "${o}" has no canonical presentation mapping.`})})}}function R(e,t){const n=t==="kpi"?e.calculationType:e.calculatedAs,o=t==="table"&&n===void 0?"both":ce[String(n)],i=h(e.formatOptions)?e.formatOptions:void 0,s=h(e.conditionalLabels)?e.conditionalLabels:void 0,r=h(t==="kpi"?e.colorConfig:e.colors)?t==="kpi"?e.colorConfig:e.colors:void 0,a={};if(o&&(a.displayMode=o),typeof(i==null?void 0:i.decimalPlaces)=="number"&&(a.precision=i.decimalPlaces),t==="kpi"){const l=e.showArrow!==!1,c=e.showColor!==!1;a.indicatorStyle=l?c?"arrow_badge":"arrow":c?"badge":"none",a.showColor=c,(e.position==="left"||e.position==="right"||e.position==="top")&&(a.position=e.position),typeof e.conditionalLabel=="boolean"&&(a.conditionalLabel=e.conditionalLabel),typeof e.labelName=="string"&&(a.labelName=e.labelName)}else(e.indicatorStyle==="arrow_badge"||e.indicatorStyle==="arrow"||e.indicatorStyle==="badge"||e.indicatorStyle==="none")&&(a.indicatorStyle=e.indicatorStyle);const m=s?{...Q(s,["increase","decrease"]),...typeof s.noChange=="string"?{neutral:s.noChange}:typeof s.neutral=="string"?{neutral:s.neutral}:{}}:void 0;m&&Object.keys(m).length&&(a.conditionalLabels=m);const p=r?{...Q(r,["increase","decrease"]),...typeof r.noChange=="string"?{neutral:r.noChange}:typeof r.neutral=="string"?{neutral:r.neutral}:{}}:void 0;return p&&Object.keys(p).length&&(a.colors=p),a}function X(e){return{...ie.COMPARISON_PRESENTATION_DEFAULTS,...e}}function W(e){return e.some(({metric:t})=>t.comparisonType==="previous_period"||t.comparisonType==="same_period_last_year"||t.comparisonType==="target"?!0:h(t.comparison)&&t.comparison.mode==="explicit")}function F(e){const t=e.card.config;return e.metrics.length===2&&(t.groupByColumns===void 0||Array.isArray(t.groupByColumns)&&t.groupByColumns.length===0)}function Z(e,t,n,o){const i=t==="kpi"?["enabled","calculationType","formatOptions","showArrow","showColor","conditionalLabel","labelName","position","conditionalLabels","colorConfig","lowerIsBetter"]:["calculatedAs","indicatorStyle","formatOptions","colors","lowerIsBetter"];Object.keys(e).forEach(l=>{i.includes(l)||o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${l}`,message:`Unknown legacy comparison presentation field "${l}" cannot be dropped automatically.`})});const s=t==="kpi"?"calculationType":"calculatedAs";e[s]!==void 0&&!ce[String(e[s])]&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${s}`,message:`Legacy comparison ${s} is unsupported.`}),t==="kpi"&&e.position!==void 0&&!["left","right","top"].includes(String(e.position))&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.position`,message:"Legacy comparison position is unsupported."}),t==="kpi"&&e.labelName!==void 0&&typeof e.labelName!="string"&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.labelName`,message:"Legacy comparison labelName must be a string."}),(t==="kpi"?[["conditionalLabels",["increase","decrease","noChange"]],["colorConfig",["increase","decrease","noChange"]]]:[["colors",["increase","decrease","neutral"]]]).forEach(([l,c])=>{if(e[l]!==void 0){if(!h(e[l])){o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${l}`,message:`Legacy comparison ${l} must be an object.`});return}Object.entries(e[l]).forEach(([b,d])=>{c.includes(b)?typeof d!="string"&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${l}.${b}`,message:`Legacy comparison ${l}.${b} must be a string.`}):o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${l}.${b}`,message:`Unknown legacy comparison ${l} field "${b}" cannot be dropped automatically.`})})}}),(t==="kpi"?["enabled","showArrow","showColor","conditionalLabel","lowerIsBetter"]:["lowerIsBetter"]).forEach(l=>{e[l]!==void 0&&typeof e[l]!="boolean"&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.${l}`,message:`Legacy comparison ${l} must be a boolean.`})}),t==="table"&&e.indicatorStyle!==void 0&&!["arrow_badge","arrow","badge","none"].includes(String(e.indicatorStyle))&&o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${n}.indicatorStyle`,message:"Legacy comparison indicatorStyle is unsupported."}),Oe(e.formatOptions,`${n}.formatOptions`,o);const m=R(e,t);ie.validateComparisonPresentationSpec(m,n).errors.forEach(l=>{o.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:l.path||n,message:l.message})})}function ee(e){const t=ae(e.card),n=t.kpiComparison?R(t.kpiComparison,"kpi"):void 0,o=t.tableComparison?R(t.tableComparison,"table"):void 0;return{namespaces:t,kpi:n,table:o,presentation:n||o}}function Ne(e){const t=h(e.preferences)?e.preferences:{},n=h(t.kpiVisualOptions)?t.kpiVisualOptions:{},o=h(n.metricComparison)?n.metricComparison:{},i=h(t.tableVisualOptions)?t.tableVisualOptions:{},s=h(i.metricComparison)?i.metricComparison:{};return n.lowerIsBetter===!0||o.lowerIsBetter===!0||s.lowerIsBetter===!0?"lower_is_better":"higher_is_better"}function Pe(e){switch(e.comparisonType){case"previous_period":return{mode:"explicit",spec:{kind:"previous_period"}};case"same_period_last_year":return{mode:"explicit",spec:{kind:"previous_year"}};case"target":return{mode:"explicit",spec:{kind:"target",targetValue:e.targetValue}};default:return}}function Se(e){const t=h(e.preferences)?e.preferences:void 0;if(!t)return;const n=h(t.kpiVisualOptions)?t.kpiVisualOptions:void 0;n&&delete n.lowerIsBetter;const o=h(t.tableVisualOptions)?t.tableVisualOptions:void 0,i=o&&h(o.metricComparison)?o.metricComparison:void 0;i&&delete i.lowerIsBetter}function we(e){const t=G(e);if(!t.length)return{document:e,changed:!1,changes:[],diagnostics:[]};const n=[];if(t.forEach(r=>{var a,m,p,l;if(r.malformedMetricColumns&&n.push({severity:"error",code:"malformed_metric_columns",path:`${r.path}.config.metricColumns`,message:"Metric columns must be an array before comparison migration."}),r.malformedMetricIndexes.forEach(c=>{n.push({severity:"error",code:"malformed_metric_columns",path:`${r.path}.config.metricColumns[${c}]`,message:"Metric columns must contain objects before comparison migration."})}),r.metrics.forEach(({metric:c,index:b})=>{if(!("comparisonType"in c))return;const d=`${r.path}.config.metricColumns[${b}]`,y=String(c.comparisonType||"");"comparison"in c&&n.push({severity:"error",code:"conflicting_comparison_contracts",path:d,message:"Metric contains both legacy and canonical comparison configuration; resolve the conflict before migration."});const _=h(c.parameters)?c.parameters:void 0,M=_&&h(_.windowTransform)?_.windowTransform:void 0;P.has(y)&&(M==null?void 0:M.function)==="previous_period_delta"&&n.push({severity:"error",code:"conflicting_comparison_window_transform",path:d,message:"A metric cannot combine baseline comparison with previous_period_delta; resolve the authoring intent before migration."}),De.has(y)||n.push({severity:"error",code:"unsupported_comparison_type",path:`${d}.comparisonType`,message:`Unsupported legacy metric comparison type "${y}".`}),c.comparisonType==="target"&&(typeof c.targetValue!="number"||!Number.isFinite(c.targetValue))&&n.push({severity:"error",code:"invalid_target_value",path:`${d}.targetValue`,message:"Legacy target comparison requires a finite metric targetValue."}),c.comparisonType==="start_vs_end"&&n.push({severity:"error",code:"unsupported_start_vs_end",path:`${d}.comparisonType`,message:"start_vs_end is retired and cannot be migrated automatically."}),c.targetValue!==void 0&&c.comparisonType!=="target"&&n.push({severity:"warning",code:"stray_target_value",path:`${d}.targetValue`,message:"Dead non-target targetValue will be removed without changing the baseline."})}),r.hasLegacyPresentation){const{namespaces:c,kpi:b,table:d}=ee(r),y=[(a=c.kpiOptions)==null?void 0:a.lowerIsBetter,(m=c.kpiComparison)==null?void 0:m.lowerIsBetter,(p=c.tableComparison)==null?void 0:p.lowerIsBetter].filter(_=>typeof _=="boolean");new Set(y).size>1&&n.push({severity:"error",code:"conflicting_legacy_polarity",path:`${r.path}.preferences`,message:"Legacy comparison polarity values disagree; resolve the conflict before migration."}),((l=c.kpiOptions)==null?void 0:l.lowerIsBetter)!==void 0&&typeof c.kpiOptions.lowerIsBetter!="boolean"&&n.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${r.path}.preferences.kpiVisualOptions.lowerIsBetter`,message:"Legacy comparison lowerIsBetter must be a boolean."}),c.kpiComparisonPresent&&!c.kpiComparison&&n.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${r.path}.preferences.kpiVisualOptions.metricComparison`,message:"Legacy KPI comparison presentation must be an object."}),c.tableComparisonPresent&&!c.tableComparison&&n.push({severity:"error",code:"invalid_legacy_comparison_presentation",path:`${r.path}.preferences.tableVisualOptions.metricComparison`,message:"Legacy table comparison presentation must be an object."}),"comparisonPresentation"in(c.preferences||{})&&n.push({severity:"error",code:"conflicting_comparison_presentation_contracts",path:`${r.path}.preferences.comparisonPresentation`,message:"Card contains both legacy and canonical comparison presentation; resolve the conflict before migration."}),c.kpiComparison&&typeof c.kpiComparison.enabled=="boolean"&&"metricPairComparisonEnabled"in(c.preferences||{})&&F(r)&&n.push({severity:"error",code:"conflicting_comparison_presentation_contracts",path:`${r.path}.preferences.metricPairComparisonEnabled`,message:"Card contains both legacy and canonical metric-pair enablement; resolve the conflict before migration."}),c.kpiComparison&&Z(c.kpiComparison,"kpi",`${r.path}.preferences.kpiVisualOptions.metricComparison`,n),c.tableComparison&&Z(c.tableComparison,"table",`${r.path}.preferences.tableVisualOptions.metricComparison`,n),b&&d&&JSON.stringify(X(b))!==JSON.stringify(X(d))&&n.push({severity:"error",code:"conflicting_legacy_presentation_namespaces",path:`${r.path}.preferences`,message:"KPI and table comparison presentation values disagree; resolve the conflict before migration."})}}),n.some(r=>r.severity==="error"))return{document:e,changed:!1,changes:[],diagnostics:n};const o=JSON.parse(JSON.stringify(e)),i=G(o),s=[];return i.forEach(r=>{var m;const a=Ne(r.card);if(r.metrics.forEach(({metric:p,index:l})=>{if(!("comparisonType"in p))return;const c=String(p.comparisonType||""),b=`${r.path}.config.metricColumns[${l}]`,d=Pe(p),y=["comparisonType"];delete p.comparisonType,"targetValue"in p&&(delete p.targetValue,y.push("targetValue")),"comparisonDisplay"in p&&(delete p.comparisonDisplay,y.push("comparisonDisplay")),d?p.comparison=d:delete p.comparison,P.has(c)&&(p.comparisonPolarity=a),s.push({kind:"metric",path:b,metricId:typeof p.id=="string"?p.id:void 0,legacyType:c,comparison:d,comparisonPolarity:P.has(c)?a:void 0,removedFields:y})}),Se(r.card),r.hasLegacyPresentation){const{namespaces:p,presentation:l}=ee(r),c=(m=p.kpiComparison)==null?void 0:m.enabled,b={...l};typeof c=="boolean"&&W(r.metrics)&&(b.showComparison=c);const d=typeof c=="boolean"&&F(r)?c:void 0,y=typeof c=="boolean"&&!W(r.metrics)&&!F(r)?["kpiVisualOptions.metricComparison.enabled"]:void 0,_=p.preferences,M=[];r.metrics.forEach(({metric:N})=>{"comparisonPolarity"in N||(N.comparisonPolarity=a,typeof N.id=="string"&&M.push(N.id))}),Object.keys(b).length&&(_.comparisonPresentation=b),d!==void 0&&(_.metricPairComparisonEnabled=d),p.kpiOptions&&delete p.kpiOptions.metricComparison,p.tableOptions&&delete p.tableOptions.metricComparison,s.push({kind:"presentation",path:`${r.path}.preferences`,comparisonPresentation:Object.keys(b).length?b:void 0,metricPairComparisonEnabled:d,comparisonPolarityMetricIds:M,intentionallyDiscardedFields:y,removedFields:[...p.kpiComparison?["kpiVisualOptions.metricComparison"]:[],...p.tableComparison?["tableVisualOptions.metricComparison"]:[]]})}}),{document:o,changed:!0,changes:s,diagnostics:n}}function f(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}function le(e){return Array.from(new Set(e.filter(t=>!!t)))}function $e(e){const t=f(e.table),n=f(e.schema),o=f(e.catalog)||f(e.database);return t?le([t,n?`${n}.${t}`:null,o?`${o}.${t}`:null,o&&n?`${o}.${n}.${t}`:null]):[]}function te(e){const t=f(e.table)||f(e.tableName);return le([f(e.name),f(e.alias),...$e({table:t,schema:f(e.schema)||f(e.schemaName),catalog:f(e.catalog),database:f(e.database)||f(e.databaseName)})])}function Fe(e,t){const n=f(e.domainId),o=f(t.domainId);if(n&&o&&n!==o)return!0;if(e.type==="dataset")return!1;const i=f(e.id),s=f(t.id);if(i&&s&&i!==s)return!0;const r=f(e.connectionId),a=f(t.connectionId);return!!(r&&a&&r!==a)}function V(e,t=!1){return f(e.table)||f(e.tableName)||(e.type!=="dataset"||t?f(e.name):null)}function x(e){return f(e.catalog)||f(e.database)||f(e.databaseName)}function j(e){return f(e.schema)||f(e.schemaName)}function S(e){return e.length===1?e[0]:void 0}function ze(e,t){const n=V(t,!0),o=x(t),i=j(t);if(!(!n||!o&&!i))return S(e.filter(s=>{const r=s;return!(V(r)!==n||o&&x(r)!==o||i&&j(r)!==i)}))}function A(e,t){if(!t||!(e!=null&&e.length))return;const n=e.filter(a=>!Fe(a,t));if(t.type==="dataset"){const a=f(t.id);if(a)return S(n.filter(p=>p.type==="dataset"&&f(p.id)===a));if(f(t.domainId)){const p=f(t.name);return S(n.filter(l=>l.type==="dataset"&&f(l.name)===p))}}let o=[];if(t.type==="dataset"){const a=f(t.name);if(o=n.filter(m=>m.type==="dataset"&&f(m.name)===a),o.length===1)return o[0]}if(!!(V(t,!0)&&(x(t)||j(t))))return ze(n,t);if(o.length>1)return;const s=te(t);if(s.length===0)return;const r=n.filter(a=>te(a).some(p=>s.includes(p)));return S(r)}function z(e,t){const n=A(e,t);return n?{...t,...n}:t}function Be(e,t){const n=t||[];return n.length===0?e:{...e,baseEntity:z(n,e.baseEntity),joins:e.joins.map(o=>({...o,source:z(n,o.source),target:z(n,o.target)}))}}function Le(e,t){if(!(e!=null&&e.joins.length))return[];const n=[e.baseEntity,...e.joins.flatMap(i=>[i.source,i.target])],o=[];return n.forEach(i=>{!A(t,i)&&!A(o,i)&&o.push(i)}),o}function T(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function E(e){return T(e)&&typeof e.name=="string"}function H(e){return!T(e)||e.kind!=="semantic"&&e.kind!=="physical"||(e.kind==="semantic"?[e.datasetId,e.datasetName,e.connectionId]:[e.databaseName,e.schemaName]).some(n=>n!==void 0&&typeof n!="string")?!1:C.hasCompleteSemaphorSourceIdentity(e)}function Re(e){return[...e.groupByColumns??[],...e.metricColumns??[],...e.pivotByColumns??[],...e.detailColumns??[],...e.sortByColumns??[]]}function U(e){return e?[...(e.conditions??[]).flatMap(t=>t.field?[t.field]:[]),...(e.groups??[]).flatMap(U)]:[]}function pe(e){var o,i;const t="parameters"in e?U((o=e.parameters)==null?void 0:o.filters):[],n=((i=e.calculatedFormula)==null?void 0:i.inputFields)??[];return[...t,...n.flatMap(s=>pe(s))]}function me(e){const t=Array.isArray(e==null?void 0:e.selectedEntities)?e.selectedEntities.filter(E):[];return C.mergeSemaphorSourcesByIdentity(t.flatMap(n=>{const o=Y(n,e);return o?[o]:[]}))}function q(e,t){const n=t.filter(o=>C.semaphorSourcesReferToSameDataset(o,e));return n.length===1?n[0]:void 0}function Ve(e,t){if(t.kind==="semantic")return!!(e.entityId&&e.entityId===t.datasetId||e.entityName&&e.entityName===t.datasetName);const n=[t.databaseName,t.schemaName,t.tableName].filter(o=>!!o).join(".");return!!(e.entityName===t.tableName||e.qualifiedEntityName&&e.qualifiedEntityName===n)}function xe(e,t){const n=Array.isArray(t==null?void 0:t.selectedEntities)?t.selectedEntities.filter(E):[],o=e.entityName||e.qualifiedEntityName;if(!o)return;const i=e.entityId?A(n,{type:"dataset",id:e.entityId,name:o}):void 0;if(i)return Y(i,t);const s=A(n,{type:(t==null?void 0:t.mode)==="semanticDomain"?"dataset":"table",name:(t==null?void 0:t.mode)==="semanticDomain"?o:e.qualifiedEntityName||o});if(s&&!((t==null?void 0:t.mode)==="semanticDomain"&&e.entityId&&![e.entityName,e.qualifiedEntityName,s.name,s.type==="dataset"&&"table"in s?s.table:void 0].filter(a=>!!a).includes(e.entityId)))return Y(s,t)}function je(e,t,n){var s,r,a;const o=!!(C.hasSyntheticCalculatedFieldOwner(e)||(r=(s=e.calculatedFormula)==null?void 0:s.inputFields)!=null&&r.length||(a=e.derivedField)!=null&&a.inputs&&Object.keys(e.derivedField.inputs).length>0);if(e.source&&!o){const m=q(e.source,n);return m?[m]:[]}const i=Te.resolveFieldDatasetDependencies(e).datasets;return C.mergeSemaphorSourcesByIdentity(i.flatMap(m=>{const l=e.source&&Ve(m,e.source)&&q(e.source,n)||xe(m,t);return l?[l]:[]}))}function qe(e,t){const n=me(t),o=Re(e),i=U(e.filters),s=[...i,...[...o,...i].flatMap(pe)];return C.mergeSemaphorSourcesByIdentity([...o,...s].flatMap(r=>je(r,t,n)))}function He(e,t,n){var i;return H(e)?!!!((i=t==null?void 0:t.selectedEntities)!=null&&i.length)||!n?e:q(e,me(t)):void 0}function Y(e,t){var p,l;const n=Array.isArray(t==null?void 0:t.selectedEntities)?t.selectedEntities.filter(E):void 0,o=A(n,e),i=o?{...e,...o}:e,s="domainId"in i&&typeof i.domainId=="string"&&!!i.domainId.trim();if((t==null?void 0:t.mode)==="semanticDomain"&&!s)return;if((t==null?void 0:t.mode)!=="database"&&i.type==="dataset"){const c=ke.resolveSemaphorSemanticDatasetEntity({entities:[i],semanticDomainId:t==null?void 0:t.semanticDomainId,connectionId:t==null?void 0:t.connectionId,fieldEntityType:"dataset"},{includePhysicalDatasets:!0});if(c.kind==="resolved"){const b="label"in i&&typeof i.label=="string"?i.label:void 0;return{...c.source,...b?{label:b}:{}}}}if((t==null?void 0:t.mode)==="semanticDomain")return;const r=i.connectionId||(t==null?void 0:t.connectionId),a=i.type==="dataset"&&"table"in i&&i.table?i.table:i.name;if(!r||!a)return;const m={kind:"physical",connectionId:r,connectionType:i.connectionType||(t==null?void 0:t.connectionType),tableName:a,databaseName:i.database||((p=t==null?void 0:t.dbSelection)==null?void 0:p.database),schemaName:i.schema||((l=t==null?void 0:t.dbSelection)==null?void 0:l.schema),dialect:i.dialect};return H(m)?m:void 0}function Ue(e,t){var a,m;const n=Y(e,t);if(!n)return;const o=e.type==="dataset"&&"table"in e&&typeof e.table=="string"?e.table.trim():void 0,i=n.kind==="physical"?n.tableName:o,s=e.connectionId||(t==null?void 0:t.connectionId),r=i&&s?{connectionId:s,databaseName:e.database||((a=t==null?void 0:t.dbSelection)==null?void 0:a.database),schemaName:e.schema||((m=t==null?void 0:t.dbSelection)==null?void 0:m.schema),tableName:i}:void 0;return{source:n,...r?{executionTable:r}:{}}}function ue(e){const t=T(e.dataSource)?e.dataSource:void 0;if(typeof e.sql=="string"&&e.sql.trim()){const a=[],m=Array.isArray(t==null?void 0:t.selectedEntities)?t.selectedEntities:[];for(const p of m){if(!E(p))continue;const l=Ue(p,t);l&&!a.some(c=>C.semaphorSourcesReferToSameDataset(c.source,l.source))&&a.push(l)}return{cardId:e.id,kind:"sql",pinnedCatalogSources:a}}if(!T(e.config))return{cardId:e.id,kind:"unconfigured"};const n=e.config,o=[],i=J.inspectMatrixCardConfig(e);if(i.status==="invalid")return{cardId:e.id,kind:"unconfigured"};const s=i.status==="ready"?i.config:void 0;if(e.type==="matrixTable"&&!s)return{cardId:e.id,kind:"unconfigured"};s&&o.push(...J.matrixDefinitionSources(s.spec).filter(H));const r=(s==null?void 0:s.spec.joinPlan)??(T(n.joinPlan)?n.joinPlan:void 0);if(r){const a=Array.isArray(r.joins)?r.joins:[],m=[r.baseEntity];for(const l of a)T(l)&&m.push(l.source,l.target);let p=!1;for(const l of m){if(!E(l)){p=!0;continue}const c=Y(l,t);c?o.push(c):p=!0}p&&(o.length=0)}else if(e.type!=="matrixTable"){const a=Array.isArray(t==null?void 0:t.selectedEntities)?t.selectedEntities:[];if(a.length===1&&E(a[0])){const p=Y(a[0],t);p&&o.push(p)}o.push(...qe(n,t));const m=He(n.queryBaseSource,t,o.length>0);m&&o.push(m)}return{cardId:e.id,kind:"config",executableSources:C.mergeSemaphorSourcesByIdentity(o)}}function Ke(e,t){return(e.kind==="config"?e.executableSources:e.kind==="sql"?e.pinnedCatalogSources.map(o=>o.source):[]).some(o=>C.semaphorSourcesReferToSameDataset(o,t))}function de(e,t){if(e.kind==="config")return e.executableSources.find(n=>C.semaphorSourcesReferToSameDataset(n,t))}function Je(e,t){var n;return(n=fe(e,t))==null?void 0:n.source}function fe(e,t){if(e.kind==="sql")return e.pinnedCatalogSources.find(n=>C.semaphorSourcesReferToSameDataset(n.source,t))}const he={rowMembers:!0,columnMembers:!0,cells:!0};function be(e,t){return{enabled:t==="on",fields:e.type==="detailTable"?{kind:"clickedCell"}:{kind:"wholeRow"},multipleSelection:!0,selectionCheckboxes:"auto",...e.type==="matrixTable"?{matrixSources:{...he}}:{},targets:{kind:"allSheets"},cardMappings:[]}}const Ge=["string","number","boolean","date","datetime"];function Qe(e){return(e.kind==="semantic"?[e.datasetId,e.datasetName]:[e.tableName,[e.databaseName,e.schemaName,e.tableName].filter(Boolean).join(".")]).filter(t=>!!t).map(t=>C.normalizeAnalyticsCatalogName(t))}function ge(e,t){if(t.kind!=="config"||e.expression||e.calculatedFormula)return;const n=C.normalizeAnalyticsCatalogDataType(e.dataType);if(!Ge.includes(n))return;let o;if(e.source)o=de(t,e.source);else{const i=[e.entityId,e.entityName,e.qualifiedEntityName].filter(r=>!!r).map(r=>C.normalizeAnalyticsCatalogName(r)),s=t.executableSources.filter(r=>Qe(r).some(a=>i.includes(a)));s.length===1?o=s[0]:!s.length&&t.executableSources.length===1&&(o=t.executableSources[0])}if(!(!o||!e.name))return{name:e.name,source:o,dataType:n,...e.sourceField&&e.sourceField!==e.name?{sourceField:e.sourceField}:{}}}function Xe(e,t){const{matrixSources:n,...o}=t,i=t.fields.kind==="chosenColumns"?{kind:"chosenColumns",clickedFieldKeys:[...new Set(t.fields.clickedFieldKeys)]}:t.fields;return{...o,fields:i,...e.type==="matrixTable"?{matrixSources:n??{...he}}:{}}}function We(e,t){var c,b;if(e.clickToFilter)return Xe(e,e.clickToFilter);const n=be(e,t),o=(((c=e.interactionConfig)==null?void 0:c.interactions)??[]).filter(d=>d.mode==="clickFilter");if(!o.length)return n;const i=ue(e);let s=!1;const r=[];for(const d of o){if(((b=d.trigger)==null?void 0:b.type)!=="attribute"){s=!0;continue}const y=ge(d.trigger.field,i);if(!y){s=!0;continue}const _=oe.selectionFieldKey(y);r.includes(_)||r.push(_)}const a=o.every(d=>d.applyToCardIds!==void 0),m=[...new Set(o.flatMap(d=>d.applyToCardIds??[]))],p=o.filter(d=>d.applyToCardIds===void 0),l=a?[]:[...new Set(p.flatMap(d=>d.excludeCardIds??[]))].filter(d=>p.every(y=>{var _;return(_=y.excludeCardIds)==null?void 0:_.includes(d)}));return{...n,enabled:!0,fields:s||!r.length?{kind:"wholeRow"}:{kind:"chosenColumns",clickedFieldKeys:r},targets:a?{kind:"cards",cardIds:m}:{kind:"allSheets"},cardMappings:l.map(d=>({kind:"excluded",cardId:d}))}}const ye=u.z.union([u.z.object({kind:u.z.literal("allSheets"),sheetKinds:u.z.array(u.z.enum(["dashboard","document"])).optional()}).strict(),u.z.object({kind:u.z.literal("sheets"),sheetIds:u.z.array(u.z.string())}).strict(),u.z.object({kind:u.z.literal("cards"),cardIds:u.z.array(u.z.string())}).strict(),u.z.object({kind:u.z.literal("documentSections"),sheetId:u.z.string(),sectionIds:u.z.array(u.z.string())}).strict()]),Ce=u.z.union([u.z.object({kind:u.z.literal("bound"),cardId:u.z.string().min(1),clickedFieldKey:u.z.string().min(1),target:u.z.object({kind:u.z.literal("field"),field:oe.selectionFieldSchema}).strict()}).strict(),u.z.object({kind:u.z.literal("excluded"),cardId:u.z.string().min(1)}).strict()]),Ze=u.z.object({enabled:u.z.boolean(),fields:u.z.union([u.z.object({kind:u.z.literal("wholeRow")}).strict(),u.z.object({kind:u.z.literal("clickedCell")}).strict(),u.z.object({kind:u.z.literal("chosenColumns"),clickedFieldKeys:u.z.array(u.z.string().min(1))}).strict()]),multipleSelection:u.z.boolean(),selectionCheckboxes:u.z.enum(["auto","always","never"]),matrixSources:u.z.object({rowMembers:u.z.boolean(),columnMembers:u.z.boolean(),cells:u.z.boolean()}).strict().optional(),targets:ye,cardMappings:u.z.array(Ce)}).strict(),et=u.z.boolean(),tt=u.z.object({targets:ye.nullable().optional(),cardMappings:u.z.array(Ce).nullable().optional()}).strict(),_e=["bar","horizontalBar","line","area","stackedArea","combo","stackedBar","stackedLine"],nt=new Set(_e);function ve(e){return typeof e=="string"&&nt.has(e)}function ot(e){return e==="detailTable"||e==="table"||e==="aggregateTable"||e==="pivotTable"||e==="custom"||ve(e)}function ne(e){return!!(e!=null&&e.trim())}function it(e){return ne(e.sql)||ne(e.normalizedPython)?"freeform":e.hasExecutableConfig?"config":"none"}const O={type:"temporal_bucket",presentation:{mode:"auto"}},v={value:"auto",label:"Automatic",format:O};function g(e,t){return{value:`pattern:${e}`,label:t,format:{type:"temporal_bucket",presentation:{mode:"pattern",pattern:e}}}}function D(e,t){return{value:`preset:${e}`,label:t,format:{type:"temporal_bucket",presentation:{mode:"preset",preset:e}}}}function k(e){return{...g(e,"Custom format…"),value:"custom",custom:!0}}const K={second:[v,g("HH:mm:ss","14:30:45 (HH:mm:ss)"),g("YYYY-MM-DD HH:mm:ss","2024-01-15 14:30:45 (YYYY-MM-DD HH:mm:ss)"),k("DD/MM/YYYY HH:mm:ss")],minute:[v,g("HH:mm","14:30 (HH:mm)"),g("YYYY-MM-DD HH:mm","2024-01-15 14:30 (YYYY-MM-DD HH:mm)"),k("DD/MM/YYYY HH:mm")],hour:[v,g("HH","14 (HH)"),g("YYYY-MM-DD HH","2024-01-15 14 (YYYY-MM-DD HH)"),k("DD/MM/YYYY HH")],day:[v,g("YYYY-MM-DD","2024-01-15 (YYYY-MM-DD)"),g("MM/DD/YYYY","01/15/2024 (MM/DD/YYYY)"),g("DD/MM/YYYY","15/01/2024 (DD/MM/YYYY)"),g("MMM DD, YYYY","Jan 15, 2024 (MMM DD, YYYY)"),g("MMMM DD, YYYY","January 15, 2024 (MMMM DD, YYYY)"),k("YYYY/MM/DD")],week:[v,D("week_of_short","Week of Jan 15, 2024"),D("week_of_long","Week of January 15, 2024"),g("YYYY-MM-DD","2024-01-15 (YYYY-MM-DD)"),k("YYYY/MM/DD")],month:[v,g("MMM YYYY","Jan 2024 (MMM YYYY)"),g("MMMM YYYY","January 2024 (MMMM YYYY)"),g("YYYY-MM","2024-01 (YYYY-MM)"),g("MM/YYYY","01/2024 (MM/YYYY)"),g("YYYY MMM","2024 Jan (YYYY MMM)"),k("YYYY/MM")],quarter:[v,D("quarter_short","Q1 2024"),D("quarter_long","1st Quarter 2024")],year:[v,g("YYYY","2024 (YYYY)"),g("YY","24 (YY)")]},rt={second:"2026-07-31T14:05:09",minute:"2026-07-31T14:05:00",hour:"2026-07-31T14:00:00",day:"2026-07-31",week:"2026-07-27",month:"2026-07-01",quarter:"2026-07-01",year:"2026-01-01"};function Ye(e,t,n=re.DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES){return I.formatTemporalBucket({value:rt[t],metadata:{kind:"temporal_bucket",granularity:t,calendar:{tz:"UTC",weekStart:1,...e.presentation.mode==="preset"&&(e.presentation.preset==="fiscal_quarter_short"||e.presentation.preset==="fiscal_year")?{fiscalCalendar:{kind:"month_aligned",yearStartMonth:7}}:{}}},format:e.presentation.mode==="auto"?{type:"temporal_bucket",locale:n.locale,presentation:{mode:"auto",styles:{dateStyle:n.dateStyle,dateTime:{...n.dateTime}}}}:{type:"temporal_bucket",locale:n.locale,presentation:e.presentation}})}function st(e,t,n=re.DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES){const o=K[e],i=(t==null?void 0:t.presentation.mode)==="preset"?t.presentation.preset:void 0,s=i&&t&&I.validateTemporalBucketFormatApplicability(t,e).ok&&!o.some(a=>{var m;return((m=a.format)==null?void 0:m.presentation.mode)==="preset"&&a.format.presentation.preset===i})?D(i,i):void 0;return(s?[...o,s]:o).map(a=>{if(!a.format||a.custom)return a;const m=Ye(a.format,e,n);return a.format.presentation.mode==="pattern"?{...a,label:`${m} (${a.format.presentation.pattern})`}:a.format.presentation.mode==="auto"?{...a,label:`Automatic (${m})`}:{...a,label:m}})}function at(e,t){const n=K[t];if(e.presentation.mode==="pattern"){const o=e.presentation.pattern,i=n.find(s=>{var r;return((r=s.format)==null?void 0:r.presentation.mode)==="pattern"&&s.format.presentation.pattern===o});return{value:(i==null?void 0:i.value)??"custom",customPattern:i!=null&&i.custom||!i?o:"",format:e}}if(e.presentation.mode==="preset"){const o=e.presentation.preset,i=n.find(r=>{var a;return((a=r.format)==null?void 0:a.presentation.mode)==="preset"&&r.format.presentation.preset===o}),s=I.validateTemporalBucketFormatApplicability(e,t).ok;return i?{value:i.value,customPattern:"",format:e}:s?{value:`preset:${o}`,customPattern:"",format:e}:{value:"auto",customPattern:"",format:O}}return{value:"auto",customPattern:"",format:e}}function ct(e,t,n=""){var r;const o=K[e].find(a=>a.value===t),i=t.startsWith("preset:")?t.slice(7):void 0,s=t==="custom"?{type:"temporal_bucket",presentation:{mode:"pattern",pattern:n.trim()||(((r=o==null?void 0:o.format)==null?void 0:r.presentation.mode)==="pattern"?o.format.presentation.pattern:"")}}:(o==null?void 0:o.format)??(i&&I.isTemporalBucketPreset(i)?{type:"temporal_bucket",presentation:{mode:"preset",preset:i}}:void 0);return!s||!I.validateTemporalBucketFormatApplicability(s,e).ok?O:s}function lt(e,t){return I.validateTemporalBucketFormatApplicability(e,t).ok?e:O}const Me=[{value:"COUNT",label:"Count"},{value:"DISTINCT",label:"Count Distinct"}],pt=[...Me,{value:"SUM",label:"Sum"},{value:"AVG",label:"Average"},{value:"MIN",label:"Min"},{value:"MAX",label:"Max"},{value:"MEDIAN",label:"Median"}];function mt(e){return C.normalizeAnalyticsCatalogDataType(e)==="number"?pt:Me}exports.AUTOMATIC_TEMPORAL_BUCKET_FORMAT=O;exports.DOCUMENT_KPI_SECTION_MAX_CARDS=B;exports.DOCUMENT_KPI_SECTION_MAX_TILES=L;exports.SEMAPHOR_CARTESIAN_CHART_TYPES=_e;exports.buildDashboardCardSourceIndex=ue;exports.clickToFilterSettingsSchema=Ze;exports.dashboardCardFilterSourceInventoryContains=Ke;exports.defaultClickToFilterSettings=be;exports.findDashboardCardExecutableSource=de;exports.findDashboardCardPinnedCatalogSource=Je;exports.findDashboardSqlPinnedCatalogSource=fe;exports.findOrphanedJoinPlanEntities=Le;exports.getDocumentKpiSectionShapeIssues=Ae;exports.getDocumentSectionCards=se;exports.getFieldAggregationOptions=mt;exports.getTemporalBucketAuthoringOptions=st;exports.getTemporalBucketAuthoringSelection=at;exports.isSemaphorCartesianChartType=ve;exports.linkedClickToFilterOverridesSchema=tt;exports.listDashboardCardLocations=Ie;exports.mapDocumentSectionCards=Ee;exports.normalizeClickToFilterSettings=We;exports.normalizeJoinPlanEntityReferences=Be;exports.previewTemporalBucketAuthoringFormat=Ye;exports.reconcileTemporalBucketAuthoringFormat=lt;exports.resolveDashboardEntitySource=Y;exports.resolveTemporalBucketAuthoringFormat=ct;exports.resolveTemporalResultOwner=it;exports.respondsToSelectionsSchema=et;exports.selectionFieldFromExplorerField=ge;exports.supportsCanonicalDashboardTemporalResult=ot;exports.transformComparisonDocument=we;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const q=require("./validators-
|
|
1
|
+
"use strict";const q=require("./validators-DFeDcdpA.cjs"),f={includeMetricFilterDatasets:!0,preferQualifiedIdentity:!1};function N(e){if(!e)return;if(e.kind==="semantic")return{entityName:e.datasetName,entityId:e.datasetId,label:e.label};const t=[e.databaseName,e.schemaName,e.tableName].filter(i=>!!(i&&i.trim())).join(".");return{entityName:e.tableName,qualifiedEntityName:t.includes(".")?t:void 0,label:e.label}}function w(e){var i;const t=N(e.source);return t?`${(i=e.source)==null?void 0:i.kind}:${t.qualifiedEntityName||t.entityName}`:""}function b(e){return[e.id,e.qualifiedEntityName,e.entityId,e.entityName,e.qualifiedFieldName,e.name,w(e)].join("|")}function x(e){return[e.entityName,e.qualifiedEntityName||"",e.entityId||""].join("|")}function O(e){return e.entityName||e.qualifiedEntityName||""}function g(e){var t,i;return!!(e.expression||e.derivedField||(i=(t=e.calculatedFormula)==null?void 0:t.inputFields)!=null&&i.length)}function k(e){return q.hasSyntheticCalculatedFieldOwner(e)?!0:e.entityName||e.qualifiedEntityName?!1:!e.source||g(e)}function y(e,t){const i=x(t);e.found.has(i)||e.found.set(i,t)}function d(e,t){var D,E,I;if(!e)return;const i=b(e);if(t.visitedFields.has(i))return;t.visitedFields.add(i);const n=k(e);if(!n){const u=!e.entityName&&!e.qualifiedEntityName?N(e.source):void 0;y(t,u||{entityName:e.entityName||"",entityId:e.entityId,qualifiedEntityName:e.qualifiedEntityName,label:e.source&&e.source.kind==="semantic"?e.source.label:void 0})}t.includeMetricFilterDatasets&&"parameters"in e&&((D=e.parameters)!=null&&D.filters)&&F(e.parameters.filters,t);const l=(E=e.calculatedFormula)==null?void 0:E.inputFields,a=!!(l&&l.length>0);a&&l.forEach(u=>d(u,t));let r=!1,s=!1;const c=a||(I=e.derivedField)==null?void 0:I.inputs;if(c&&Object.keys(c).length>0)for(const u of Object.values(c)){const o=u.field.source;if(!o){a||(s=!0);continue}if(o.kind==="sql"){s=!0;continue}if(o.kind==="semantic")y(t,{entityName:o.datasetName,entityId:o.datasetId,label:o.label});else{const S=[o.databaseName,o.schemaName,o.tableName].filter(h=>!!(h&&h.trim())).join(".");y(t,{entityName:o.tableName,qualifiedEntityName:S.includes(".")?S:void 0,label:o.label})}r=!0}s&&(t.complete=!1),n&&!a&&!r&&(t.complete=!1)}function F(e,t){if(e&&!t.visitedGroups.has(e.id)){t.visitedGroups.add(e.id);for(const i of e.conditions||[])d(i.field,t);for(const i of e.groups||[])F(i,t)}}function m(e,t=new Set,i=new Set){return{found:new Map,complete:!0,visitedFields:t,visitedGroups:i,includeMetricFilterDatasets:e}}function p(e,t){var n;const i=(n=e.qualifiedEntityName)!=null&&n.includes(".")?e.qualifiedEntityName:void 0;return t==="qualifiedOnly"?i:t==="preferQualified"?i||e.entityName||void 0:e.entityName||void 0}function Q(e){const t=m(!1);return d(e,t),{datasets:Array.from(t.found.values()),complete:t.complete}}function v(e,t,i=new Set,n=new Set,l=f){const a={...f,...l},r=m(a.includeMetricFilterDatasets,i,n);d(e,r),r.found.forEach(s=>{const c=p(s,a.preferQualifiedIdentity?"preferQualified":"name");c&&t.add(c)})}function j(e,t){v(e,t,new Set,new Set,{preferQualifiedIdentity:!0})}function M(e,t,i=new Set,n=new Set){const l=m(!0,i,n);d(e,l),l.found.forEach(a=>{const r=p(a,"qualifiedOnly");r&&t.add(r)})}function A(e,t,i=new Set,n=new Set){v(e,t,i,n,{includeMetricFilterDatasets:!1})}function G(e,t,i=new Set,n=new Set,l=f){const a={...f,...l},r=m(a.includeMetricFilterDatasets,i,n);F(e,r),r.found.forEach(s=>{const c=p(s,a.preferQualifiedIdentity?"preferQualified":"name");c&&t.add(c)})}function T(e,t){return t!=null&&t[e]?t[e]:(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/\b\w/g,n=>n.toUpperCase())}exports.collectDatasetNamesFromExplorerField=v;exports.collectDatasetNamesFromFilterGroup=G;exports.collectExecutionDatasetNamesFromExplorerField=A;exports.collectPreferredDatasetNamesFromExplorerField=j;exports.collectQualifiedDatasetNamesFromExplorerField=M;exports.datasetRefFromSource=N;exports.dependencyDisplayIdentity=O;exports.humanizeDatasetName=T;exports.resolveFieldDatasetDependencies=Q;
|