react-semaphor 0.1.449 → 0.1.454
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 +119 -112
- package/dist/appearance/index.cjs +1 -1
- package/dist/appearance/index.js +1 -1
- package/dist/brand-studio/index.cjs +4 -4
- package/dist/brand-studio/index.js +15 -13
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +39 -2131
- package/dist/chunks/{analyze-result-contract-T-0Ntzys.js → analyze-result-contract-BbRJ-C06.js} +1 -1
- package/dist/chunks/{analyze-result-contract-BHb7sUUW.cjs → analyze-result-contract-LPDNldic.cjs} +1 -1
- package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +1 -0
- package/dist/chunks/canonical-result-keys-D6avdjpA.js +467 -0
- package/dist/chunks/color-CJvdlFM_.js +2162 -0
- package/dist/chunks/color-CyB5o13F.cjs +4 -0
- package/dist/chunks/{common-types-CQ6SHfLk.cjs → common-types-C57kJ59w.cjs} +1 -1
- package/dist/chunks/{common-types-B7Jk3Rtj.js → common-types-H51FLKB7.js} +1 -1
- package/dist/chunks/contracts-CoCOpd_i.js +11 -0
- package/dist/chunks/contracts-CtB2VONT.cjs +1 -0
- package/dist/chunks/dashboard-briefing-launcher-Dwj1i7lr.cjs +26 -0
- package/dist/chunks/{dashboard-briefing-launcher-DCHiEkLE.js → dashboard-briefing-launcher-SYroFdae.js} +86 -84
- package/dist/chunks/{dashboard-controls-DwRFCcHV.js → dashboard-controls-1LpeU2sz.js} +15 -13
- package/dist/chunks/{dashboard-controls-CaFioayc.cjs → dashboard-controls-CpFoh7-A.cjs} +1 -1
- package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +1 -0
- package/dist/chunks/{dashboard-date-comparison-definition-Ba-clViK.js → dashboard-date-comparison-definition-DC3ekV2S.js} +1 -1
- package/dist/chunks/{dashboard-json-WoILbfTe.js → dashboard-json-D-T-sQxU.js} +25 -23
- package/dist/chunks/dashboard-json-DwSQopc_.cjs +1 -0
- package/dist/chunks/edit-dashboard-visual-BEmoQAET.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-ciFhxqaI.js → edit-dashboard-visual-DqxUq4Bs.js} +6925 -6947
- package/dist/chunks/editor-action-buttons-18r2xwei.cjs +16 -0
- package/dist/chunks/{editor-action-buttons-BPo_45pM.js → editor-action-buttons-B2l3WIRC.js} +41 -39
- package/dist/chunks/format-types-CFHQoIuk.js +1350 -0
- package/dist/chunks/format-types-PSZZ7hG8.cjs +1 -0
- package/dist/chunks/index-Bn5wlkHt.cjs +4 -0
- package/dist/chunks/index-ByFbacH7.cjs +1 -0
- package/dist/chunks/index-CACdoqu3.js +318 -0
- package/dist/chunks/index-CLB_NGZ8.cjs +1392 -0
- package/dist/chunks/index-Ca784dpx.js +3714 -0
- package/dist/chunks/{index-CPuawpXJ.js → index-DAoS4BNU.js} +48514 -48484
- package/dist/chunks/index-DSKR3nKn.js +421 -0
- package/dist/chunks/index-F25jnH0p.cjs +1 -0
- package/dist/chunks/matrix-result-contract-CofATICL.js +437 -0
- package/dist/chunks/matrix-result-contract-zamd9euI.cjs +1 -0
- package/dist/chunks/pivot-header-presentation-DhyQXxKq.cjs +4 -0
- package/dist/chunks/pivot-header-presentation-ckYOQ4aZ.js +557 -0
- package/dist/chunks/{pivot-result-identity-CDLRT-YG.cjs → pivot-result-identity-Bb4EixVN.cjs} +1 -1
- package/dist/chunks/{pivot-result-identity-CwJWpKI7.js → pivot-result-identity-DU1v-5Xk.js} +1 -1
- package/dist/chunks/pivot-result-lifecycle-DmcF1ris.cjs +1 -0
- package/dist/chunks/pivot-result-lifecycle-sjzIOpvp.js +1641 -0
- package/dist/chunks/raw-temporal-contract-BtjH_G-d.cjs +1 -0
- package/dist/chunks/raw-temporal-contract-CxncLze5.js +64 -0
- package/dist/chunks/report-preferences-dialog-BgSvlDXa.cjs +1 -0
- package/dist/chunks/report-preferences-dialog-DDc2WUa0.js +723 -0
- package/dist/chunks/{report-runtime-context-C8LZFsqV.cjs → report-runtime-context-DqxS4wbi.cjs} +1 -1
- package/dist/chunks/{report-runtime-context-bCy3CVzK.js → report-runtime-context-SM6YO61_.js} +5 -5
- package/dist/chunks/saved-temporal-bucket-format-CFfWXRl9.cjs +1 -0
- package/dist/chunks/saved-temporal-bucket-format-SGAV0ivR.js +922 -0
- package/dist/chunks/{switch-BXet-Sno.js → switch-BeZW-HnS.js} +4350 -5249
- package/dist/chunks/switch-D-CCcfhc.cjs +138 -0
- package/dist/chunks/temporal-bucket-5UYEotyQ.js +810 -0
- package/dist/chunks/temporal-bucket-DHY1y9lq.cjs +1 -0
- package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +222 -0
- package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +1 -0
- package/dist/chunks/{temporal-bucket-contract-ChDBWX8I.cjs → temporal-bucket-contract-D2-93DGr.cjs} +1 -1
- package/dist/chunks/{temporal-bucket-contract-_F6vNhhH.js → temporal-bucket-contract-D5d-xEl3.js} +1 -1
- package/dist/chunks/{token-types-BdQ8kHBm.cjs → token-types-D7CaaI80.cjs} +1 -1
- package/dist/chunks/{token-types-BHR58aTy.js → token-types-GbxRUozo.js} +1 -1
- package/dist/chunks/{update-policy-BxvYMYz0.cjs → update-policy-BmiOd0PB.cjs} +1 -1
- package/dist/chunks/{update-policy-g0rCQ9BM.js → update-policy-hednMF-0.js} +1 -1
- package/dist/chunks/validators-BDYprKI9.cjs +1 -0
- package/dist/chunks/{validators-Cs74WVie.js → validators-DEmd8Sin.js} +1561 -1197
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +35 -32
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- 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 +78 -77
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +29 -30
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +21 -21
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +156 -140
- package/dist/index.cjs +1 -1
- package/dist/index.js +157 -155
- 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 +3 -3
- package/dist/types/analytics-protocol.d.ts +81 -11
- package/dist/types/briefings.d.ts +727 -19
- package/dist/types/dashboard-assistant.d.ts +37 -17
- package/dist/types/dashboard-authoring.d.ts +61 -14
- package/dist/types/dashboard.d.ts +137 -12
- package/dist/types/data-app-builder.d.ts +28 -2
- package/dist/types/data-app-codegen-node.d.ts +29 -3
- package/dist/types/data-app-codegen.d.ts +29 -3
- package/dist/types/data-app-sdk-adapters.d.ts +28 -2
- package/dist/types/data-app-sdk-validation.d.ts +51 -7
- package/dist/types/data-app-sdk.d.ts +55 -10
- package/dist/types/format-utils.d.ts +190 -3
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/main.d.ts +128 -33
- package/dist/types/shared.d.ts +14 -12
- package/dist/types/surfboard.d.ts +138 -13
- package/dist/types/types.d.ts +117 -23
- package/dist/types/value-format-preferences.d.ts +3 -0
- package/package.json +2 -1
- package/dist/chunks/card-config-utils-15sRtebL.cjs +0 -1
- package/dist/chunks/card-config-utils-BYZ5MJOh.js +0 -16
- package/dist/chunks/catalog-field-grounding-Bnx-3tE0.cjs +0 -1
- package/dist/chunks/catalog-field-grounding-S2jKwKGD.js +0 -100
- package/dist/chunks/dashboard-briefing-launcher-DDgDr2s3.cjs +0 -26
- package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +0 -1
- package/dist/chunks/dashboard-input-contract-DSt8dGzP.js +0 -18
- package/dist/chunks/dashboard-input-contract-DV3cshjz.cjs +0 -1
- package/dist/chunks/dashboard-json-CYtvwtvj.cjs +0 -1
- package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +0 -177
- package/dist/chunks/editor-action-buttons-BVmsk0Aj.cjs +0 -16
- package/dist/chunks/format-types-CSv0V7mm.cjs +0 -1
- package/dist/chunks/format-types-DZGgYj39.js +0 -1663
- package/dist/chunks/index-CJdxSyQq.js +0 -2578
- package/dist/chunks/index-DPv8_Ild.cjs +0 -1395
- package/dist/chunks/index-DRlMUglg.cjs +0 -4
- package/dist/chunks/metric-comparison-97zHGEx5.js +0 -387
- package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +0 -1
- package/dist/chunks/pivot-result-lifecycle-BBabQ_da.js +0 -914
- package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +0 -4
- package/dist/chunks/presentation-execution-BLfPTGX_.js +0 -637
- package/dist/chunks/presentation-execution-BTV-Q43g.cjs +0 -1
- package/dist/chunks/report-preferences-dialog-D9ZCGh9l.js +0 -691
- package/dist/chunks/report-preferences-dialog-DaqTEcac.cjs +0 -1
- package/dist/chunks/switch-Cjk6G06r.cjs +0 -138
- package/dist/chunks/temporal-bucket-BnPxGrAi.js +0 -446
- package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +0 -1
- package/dist/chunks/temporal-bucket-authoring-CgOuakGW.js +0 -205
- package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +0 -1
- package/dist/chunks/temporal-result-owner-6peubmhU.js +0 -443
- package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +0 -1
- package/dist/chunks/validators-9D4KBqKD.cjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const R=require("./report-runtime-context-C8LZFsqV.cjs"),o=require("../value-format-preferences/index.cjs"),j=require("./temporal-bucket-pMnV-4Nj.cjs");function S(r){if(!r)return!1;const e=r.toLowerCase().replace("_","-");return e==="en-in"||e.startsWith("en-in-")}function k(r,e){const i=Math.abs(r);return i>=1e12?{divisor:1e12,suffix:"T"}:i>=1e9?{divisor:1e9,suffix:"B"}:S(e)&&i>=1e7?{divisor:1e7,suffix:"Cr"}:i>=1e6?{divisor:1e6,suffix:"M"}:S(e)&&i>=1e5?{divisor:1e5,suffix:"L"}:i>=1e3?{divisor:1e3,suffix:"K"}:{divisor:1,suffix:""}}function v(r,e){try{const i=f(e);return k(r,i)}catch{return k(r,"en-US")}}function K(r){try{return new Intl.NumberFormat(r),!0}catch{return!1}}function f(r){return r&&K(r)?r:"en-US"}function h(r,e){if(r==null||isNaN(r))return"";const i=f(e==null?void 0:e.locale);let a=r;if(e!=null&&e.multiplyBy&&(a*=e.multiplyBy),e!=null&&e.useSuffix){const{divisor:t,suffix:n}=v(a,i);a=a/t;const s=new Intl.NumberFormat(i,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(a);return`${(e==null?void 0:e.prefix)??""}${s}${n}${(e==null?void 0:e.suffix)??""}`}const c=new Intl.NumberFormat(i,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(a);if(e!=null&&e.negativeInParentheses&&a<0){const t=c.replace("-","");return`(${(e==null?void 0:e.prefix)??""}${t}${(e==null?void 0:e.suffix)??""})`}return`${(e==null?void 0:e.prefix)??""}${c}${(e==null?void 0:e.suffix)??""}`}function w(r,e){if(r==null||isNaN(r))return"";const i=f(e==null?void 0:e.locale),a=(e==null?void 0:e.currency)||"USD",c=r<0,t=!!(e!=null&&e.negativeInParentheses&&c),n=t?Math.abs(r):r;try{if(e!=null&&e.useSuffix){const{divisor:u,suffix:l}=v(n,i),m=n/u,F=`${new Intl.NumberFormat(i,{style:"currency",currency:a,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(m)}${l}`;return t?`(${F})`:F}const s=new Intl.NumberFormat(i,{style:"currency",currency:a,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(n);return t?`(${s})`:s}catch{const s=Math.abs(r),u=e!=null&&e.useSuffix?v(s,i):{divisor:1,suffix:""},l=h(s/u.divisor,{locale:i,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}),m=`${a} ${l}${u.suffix}`;return c?e!=null&&e.negativeInParentheses?`(${m})`:`-${m}`:m}}function D(r,e){if(r==null||isNaN(r))return"";const i=f(e==null?void 0:e.locale),c=(e==null?void 0:e.alreadyPercent)??(e==null?void 0:e.percentValueMode)==="whole"?r/100:r;return new Intl.NumberFormat(i,{style:"percent",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(c)}function I(r,e){if(r==null||isNaN(r))return"";const i=f(e==null?void 0:e.locale);return new Intl.NumberFormat(i,{notation:"scientific",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function N(r,e){if(r==null||Number.isNaN(r))return"";const i=e.scale===void 0?r:r*e.scale,a=e.negativeStyle==="parentheses"&&i<0,c=a?Math.abs(i):i,t={style:e.type==="number"?"decimal":e.type,locale:e.locale,currency:e.currency,minimumFractionDigits:e.minimumFractionDigits,maximumFractionDigits:e.maximumFractionDigits,useGrouping:e.useGrouping,percentValueMode:e.percentValueMode,useSuffix:e.compact};let n;switch(e.type){case"currency":n=w(c,t);break;case"percent":n=D(c,t);break;case"scientific":n=I(c,t);break;default:n=h(c,t);break}const s=`${e.prefix??""}${n}${e.suffix??""}`;return a?`(${s})`:s}function O(r,e,i="en-US"){if(r==null||isNaN(r))return"";const a=f((e==null?void 0:e.locale)||i),c=(e==null?void 0:e.style)||"decimal",t=c==="decimal"?"number":c;return t==="currency"&&new Intl.NumberFormat(a,{style:"currency",currency:(e==null?void 0:e.currency)||"USD"}),N(r,{type:t,locale:a,currency:t==="currency"?(e==null?void 0:e.currency)||"USD":void 0,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0,percentValueMode:t==="percent"?(e==null?void 0:e.percentValueMode)??"whole":void 0,scale:e==null?void 0:e.scale,compact:e==null?void 0:e.compact,negativeStyle:e==null?void 0:e.negativeStyle,prefix:e==null?void 0:e.prefix,suffix:e==null?void 0:e.suffix})}function _(r,e,i){const a={style:e==="currency"?"currency":e==="percent"?"percent":"decimal",locale:i==null?void 0:i.locale,currency:i==null?void 0:i.currency,minimumFractionDigits:i==null?void 0:i.decimalPlaces,maximumFractionDigits:i==null?void 0:i.decimalPlaces,useSuffix:i==null?void 0:i.useSuffix,prefix:i==null?void 0:i.prefix,suffix:i==null?void 0:i.suffix,negativeInParentheses:i==null?void 0:i.negativeInParentheses,multiplyBy:i==null?void 0:i.multiplyBy};switch(e){case"currency":return w(r,a);case"percent":return D(r,a);case"scientific":return I(r,a);default:return h(r,a)}}const B=["type","locale","minimumFractionDigits","maximumFractionDigits","useGrouping","prefix","suffix","negativeStyle","compact","scale","currency","percentValueMode"];function T(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function C(r){if(!T(r))return{ok:!1,issues:[{path:"$",message:"Numeric format must be an object."}]};const e=[],i=new Set(B);Object.keys(r).filter(t=>!i.has(t)).forEach(t=>e.push({path:t,message:`Unknown property "${t}".`})),r.type!=="number"&&r.type!=="currency"&&r.type!=="percent"&&r.type!=="scientific"&&e.push({path:"type",message:"Expected number, currency, percent, or scientific."});const a=r.locale===void 0?void 0:o.canonicalizeSupportedLocale(r.locale);r.locale!==void 0&&!a&&e.push({path:"locale",message:"Expected a supported BCP 47 locale."});const c=r.currency===void 0?void 0:o.canonicalizeSupportedCurrencyCode(r.currency);r.currency!==void 0&&!c&&e.push({path:"currency",message:"Expected a supported ISO 4217 currency code."});for(const t of["minimumFractionDigits","maximumFractionDigits"]){const n=r[t];n!==void 0&&(!Number.isInteger(n)||typeof n!="number"||n<0||n>20)&&e.push({path:t,message:"Expected an integer from 0 to 20."})}typeof r.minimumFractionDigits=="number"&&typeof r.maximumFractionDigits=="number"&&r.minimumFractionDigits>r.maximumFractionDigits&&e.push({path:"maximumFractionDigits",message:"Must be greater than or equal to minimumFractionDigits."});for(const t of["useGrouping","compact"])r[t]!==void 0&&typeof r[t]!="boolean"&&e.push({path:t,message:"Expected a boolean."});for(const t of["prefix","suffix"])r[t]!==void 0&&typeof r[t]!="string"&&e.push({path:t,message:"Expected a string."});return r.negativeStyle!==void 0&&r.negativeStyle!=="minus"&&r.negativeStyle!=="parentheses"&&e.push({path:"negativeStyle",message:"Expected minus or parentheses."}),r.percentValueMode!==void 0&&r.percentValueMode!=="fraction"&&r.percentValueMode!=="whole"&&e.push({path:"percentValueMode",message:"Expected fraction or whole."}),r.scale!==void 0&&(typeof r.scale!="number"||!Number.isFinite(r.scale))&&e.push({path:"scale",message:"Expected a finite number."}),e.length>0?{ok:!1,issues:e}:{ok:!0,value:{type:r.type,...a?{locale:a}:{},...r.minimumFractionDigits!==void 0?{minimumFractionDigits:r.minimumFractionDigits}:{},...r.maximumFractionDigits!==void 0?{maximumFractionDigits:r.maximumFractionDigits}:{},...r.useGrouping!==void 0?{useGrouping:r.useGrouping}:{},...r.prefix!==void 0?{prefix:r.prefix}:{},...r.suffix!==void 0?{suffix:r.suffix}:{},...r.negativeStyle!==void 0?{negativeStyle:r.negativeStyle}:{},...r.compact!==void 0?{compact:r.compact}:{},...r.scale!==void 0?{scale:r.scale}:{},...c?{currency:c}:{},...r.percentValueMode!==void 0?{percentValueMode:r.percentValueMode}:{}}}}function E(r){const e=C(r);if(!e.ok)return e;const i=[];return e.value.locale||i.push({path:"locale",message:"Resolved numeric formats require an explicit locale."}),e.value.minimumFractionDigits===void 0&&i.push({path:"minimumFractionDigits",message:"Resolved numeric formats require minimumFractionDigits."}),e.value.maximumFractionDigits===void 0&&i.push({path:"maximumFractionDigits",message:"Resolved numeric formats require maximumFractionDigits."}),e.value.type==="currency"&&!e.value.currency&&i.push({path:"currency",message:"Resolved currency formats require an explicit currency."}),i.length>0?{ok:!1,issues:i}:e}function q(r){var a;const e=new Set;if(r.snapshot.resolvedFormats.forEach((c,t)=>{if(c.format.type!=="temporal_bucket"){if(c.scope.attachmentIndex!==void 0)throw new Error(`resolvedFormats.${t}.scope.attachmentIndex is not valid for a card export`);if(c.scope.dashboardId!==r.expectedScope.dashboardId||c.scope.cardId!==r.expectedScope.cardId)throw new Error(`resolvedFormats.${t}.scope must match the executing dashboard/card`);if(c.target.kind!=="column")throw new Error(`resolvedFormats.${t}.target must identify an export column`);if(e.has(c.target.columnKey))throw new Error(`resolvedFormats.${t} duplicates export column "${c.target.columnKey}"`);e.add(c.target.columnKey)}}),!r.useFormattedValues)return;if(!((a=r.visibleColumns)!=null&&a.length))throw new Error("visibleColumns must identify every formatted export column");const i=r.visibleColumns.find(c=>!e.has(c));if(i)throw new Error(`resolvedFormats is missing visible export column "${i}"`)}function b(r,e){const i=new Intl.NumberFormat(r,{style:"currency",currency:e}).resolvedOptions();return{minimumFractionDigits:i.minimumFractionDigits,maximumFractionDigits:i.maximumFractionDigits}}function U(r){if(r.minimumFractionDigits!==void 0||r.maximumFractionDigits!==void 0){const i=r.minimumFractionDigits??0;return{minimumFractionDigits:i,maximumFractionDigits:r.maximumFractionDigits??Math.max(i,2)}}const e=r.type==="percent"?1:r.type==="scientific"?2:0;return{minimumFractionDigits:e,maximumFractionDigits:e}}function A(r,e,i){const a=o.canonicalizeSupportedLocale(r.locale)??e.locale,c=r.type==="number"||r.type==="currency"?o.canonicalizeSupportedCurrencyCode(i):void 0;if(!(r.type==="currency"||c!==void 0))return{...r,locale:a,...U(r)};const n=c??o.canonicalizeSupportedCurrencyCode(r.currency)??e.defaultCurrency,s=b(a,n),u=s.minimumFractionDigits??0,l=s.maximumFractionDigits??u,m=r.minimumFractionDigits??Math.min(u,r.maximumFractionDigits??u),$=r.maximumFractionDigits??Math.max(m,l);return{...r,type:"currency",locale:a,currency:n,minimumFractionDigits:m,maximumFractionDigits:$}}function d(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function x(r,e,i){const a=new Set(e),c=Object.keys(r).find(t=>!a.has(t));if(c)throw new Error(`${i} contains unknown property "${c}"`)}function P(r,e="scope"){if(!d(r))throw new Error(`${e} must be an object`);x(r,["dashboardId","cardId","attachmentIndex"],e);const i=typeof r.dashboardId=="string"?r.dashboardId.trim():"";if(!i)throw new Error(`${e}.dashboardId is required`);const a=typeof r.cardId=="string"?r.cardId.trim():void 0;if(r.cardId!==void 0&&!a)throw new Error(`${e}.cardId must be a non-empty string`);const c=r.attachmentIndex;if(c!==void 0&&(typeof c!="number"||!Number.isInteger(c)||c<0))throw new Error(`${e}.attachmentIndex must be a non-negative integer`);return{dashboardId:i,...a?{cardId:a}:{},...typeof c=="number"?{attachmentIndex:c}:{}}}function g(r,e,i,a){if(r.kind!==e)return;x(r,["kind",i],a);const c=typeof r[i]=="string"?r[i].trim():"";if(!c)throw new Error(`${a}.${i} is required`);return c}function L(r,e){if(!d(r))throw new Error(`${e} must be an object`);const i=g(r,"metric","metricId",e);if(i)return{kind:"metric",metricId:i};const a=g(r,"column","columnKey",e);if(a)return{kind:"column",columnKey:a};const c=g(r,"matrix_measure","measureId",e);if(c)return{kind:"matrix_measure",measureId:c};throw new Error(`${e} is not a valid numeric presentation target`)}function z(r,e){if(!d(r))throw new Error(`${e} must be an object`);if(r.kind==="field"){x(r,["kind","fieldId","role"],e);const c=typeof r.fieldId=="string"?r.fieldId.trim():"";if(!c)throw new Error(`${e}.fieldId is required`);const t=r.role;if(t!==void 0&&t!=="groupby"&&t!=="pivotby")throw new Error(`${e}.role must be groupby or pivotby`);return{kind:"field",fieldId:c,...t?{role:t}:{}}}const i=g(r,"column","columnKey",e);if(i)return{kind:"column",columnKey:i};const a=g(r,"matrix_axis","axisInstanceId",e);if(a)return{kind:"matrix_axis",axisInstanceId:a};throw new Error(`${e} is not a valid temporal bucket presentation target`)}function W(r){return[r.dashboardId,r.cardId??null,r.attachmentIndex??null]}function y(r){switch(r.kind){case"metric":return[r.kind,r.metricId];case"column":return[r.kind,r.columnKey];case"matrix_measure":return[r.kind,r.measureId];case"field":return[r.kind,r.fieldId,r.role??""];case"matrix_axis":return[r.kind,r.axisInstanceId]}}function M(r,e){return r.dashboardId===e.dashboardId&&r.cardId===e.cardId&&r.attachmentIndex===e.attachmentIndex}function G(r,e){const i=y(r),a=y(e);return i.length===a.length&&i.every((c,t)=>c===a[t])}function V(r){if(!Array.isArray(r))throw new Error("resolvedFormats must be an array");const e=new Set;return r.map((i,a)=>{var u,l;const c=`resolvedFormats.${a}`;if(!d(i))throw new Error(`${c} must be an object`);x(i,["scope","target","format"],c);const t=P(i.scope,`${c}.scope`);if(!d(i.format))throw new Error(`${c}.format must be an object`);let n;if(i.format.type==="temporal_bucket"){const m=j.parseResolvedTemporalBucketFormat(i.format);if(!m.ok)throw new Error(`${c}.format is invalid: ${((u=m.issues[0])==null?void 0:u.message)??"invalid value"}`);n={scope:t,target:z(i.target,`${c}.target`),format:m.value}}else{const m=E(i.format);if(!m.ok)throw new Error(`${c}.format is invalid: ${((l=m.issues[0])==null?void 0:l.message)??"invalid value"}`);n={scope:t,target:L(i.target,`${c}.target`),format:m.value}}const s=JSON.stringify([...W(n.scope),...y(n.target)]);if(e.has(s))throw new Error(`${c} duplicates a scoped presentation target`);return e.add(s),n})}function J(r){if(!d(r))throw new Error("presentation execution snapshot must be an object");x(r,["reportContext","resolvedFormats"],"presentation execution snapshot");const e=R.parseReportRuntimeContext(r.reportContext);if(!e.ok){const i=e.issues[0];throw new Error(`presentation execution snapshot reportContext is invalid: ${i!=null&&i.path&&i.path!=="$"?`${i.path}: `:""}${(i==null?void 0:i.message)??"invalid value"}`)}return{reportContext:e.value,resolvedFormats:V(r.resolvedFormats)}}function Y(r){const e=r.snapshot.resolvedFormats.find(i=>i.format.type!=="temporal_bucket"&&M(i.scope,r.scope)&&G(i.target,r.target));return e==null?void 0:e.format}function H(r){const e=r.snapshot.resolvedFormats.find(i=>i.format.type==="temporal_bucket"&&M(i.scope,r.scope)&&G(i.target,r.target));return e==null?void 0:e.format}function Q(r){var c;const e=new Set,i=new Set;if(r.snapshot.resolvedFormats.forEach((t,n)=>{if(t.scope.attachmentIndex!==void 0)throw new Error(`resolvedFormats.${n}.scope.attachmentIndex is not valid for a card export`);if(t.scope.dashboardId!==r.expectedScope.dashboardId||t.scope.cardId!==r.expectedScope.cardId)throw new Error(`resolvedFormats.${n}.scope must match the executing dashboard/card`);if(t.target.kind==="field"&&t.format.type==="temporal_bucket"){const s=JSON.stringify(y(t.target));if(i.has(s))throw new Error(`resolvedFormats.${n} duplicates export field "${t.target.fieldId}"`);i.add(s);return}if(t.target.kind!=="column")throw new Error(`resolvedFormats.${n}.target must identify an export column or temporal pivot field`);if(e.has(t.target.columnKey))throw new Error(`resolvedFormats.${n} duplicates export column "${t.target.columnKey}"`);e.add(t.target.columnKey)}),!r.useFormattedValues)return;if(!((c=r.visibleColumns)!=null&&c.length))throw new Error("visibleColumns must identify every formatted export column");const a=r.visibleColumns.find(t=>!e.has(t));if(a)throw new Error(`resolvedFormats is missing visible export column "${a}"`)}exports.findResolvedNumericFormat=Y;exports.findResolvedTemporalBucketFormat=H;exports.formatCurrency=w;exports.formatNumber=h;exports.formatNumberCustom=_;exports.formatNumberWithColumnSettings=O;exports.formatNumericCanonical=N;exports.formatPercent=D;exports.formatScientific=I;exports.parseNumericCanonicalFormat=C;exports.parsePresentationExecutionSnapshot=J;exports.parsePresentationScope=P;exports.parseResolvedNumericCanonicalFormat=E;exports.parseResolvedPresentationEntries=V;exports.resolveCurrencyFractionDigits=b;exports.resolveNumericPresentation=A;exports.validateCardExportNumericPresentationSnapshot=q;exports.validateCardExportPresentationSnapshot=Q;
|