react-semaphor 0.1.495 → 0.1.497

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 (127) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +233 -218
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +4 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +5 -5
  7. package/dist/chunks/calculated-field-identity-Cq9GwHfE.js +1266 -0
  8. package/dist/chunks/calculated-field-identity-DTfyvvLC.cjs +1 -0
  9. package/dist/chunks/{constants-BjGBVFbu.js → constants-CC3WKmqC.js} +14 -14
  10. package/dist/chunks/{constants-C-GvudXp.cjs → constants-DIuhVR6J.cjs} +1 -1
  11. package/dist/chunks/{dashboard-briefing-launcher-tYTkfNPj.js → dashboard-briefing-launcher-72HdqDbJ.js} +9 -9
  12. package/dist/chunks/{dashboard-briefing-launcher-DyYVbfXp.cjs → dashboard-briefing-launcher-CZZuHl61.cjs} +1 -1
  13. package/dist/chunks/{dashboard-controls-Hwo4ZnW4.cjs → dashboard-controls-B7YP9m8Y.cjs} +1 -1
  14. package/dist/chunks/{dashboard-controls-BR7hSzDh.js → dashboard-controls-BwisKmY9.js} +11 -11
  15. package/dist/chunks/{dashboard-date-comparison-definition-CpCZAGIz.js → dashboard-date-comparison-definition-Bqti6YAo.js} +1 -1
  16. package/dist/chunks/{dashboard-date-comparison-definition-1NBx_7QQ.cjs → dashboard-date-comparison-definition-C69F-zaC.cjs} +1 -1
  17. package/dist/chunks/{dashboard-json-B3CuJo_G.cjs → dashboard-json-B6GTxo8h.cjs} +1 -1
  18. package/dist/chunks/{dashboard-json-FDNan6Lc.js → dashboard-json-C5Cu7-zC.js} +7 -7
  19. package/dist/chunks/{edit-dashboard-visual-aqW4Jtrr.cjs → edit-dashboard-visual-DqBcJ1bo.cjs} +33 -33
  20. package/dist/chunks/{edit-dashboard-visual-DTJwFkdX.js → edit-dashboard-visual-drzAIBe2.js} +2894 -2896
  21. package/dist/chunks/{editor-action-buttons-DSGiwWur.js → editor-action-buttons-B8HjvmzM.js} +6 -6
  22. package/dist/chunks/{editor-action-buttons-B3Dpnink.cjs → editor-action-buttons-Cm_fqm5R.cjs} +1 -1
  23. package/dist/chunks/{field-aggregations-Cy4hBBqe.js → field-aggregations-C8kZqMTD.js} +11 -11
  24. package/dist/chunks/{field-aggregations-U54X9_Rt.cjs → field-aggregations-naKZ7S2Q.cjs} +1 -1
  25. package/dist/chunks/index-B8-qrqSa.cjs +1417 -0
  26. package/dist/chunks/{index-B9FLuTyx.cjs → index-CCa-A-Yx.cjs} +1 -1
  27. package/dist/chunks/{index-Ne0-ePdz.js → index-Cg8HZmMI.js} +41756 -40647
  28. package/dist/chunks/{index-zKj-mqbS.js → index-oll4m-qi.js} +11 -11
  29. package/dist/chunks/{matrix-analytical-definition-DSRmzber.js → matrix-analytical-definition-B1xhoCak.js} +1 -1
  30. package/dist/chunks/{matrix-analytical-definition-B5oWAePu.cjs → matrix-analytical-definition-BK5y9XHH.cjs} +1 -1
  31. package/dist/chunks/{matrix-card-CxTCV9HF.js → matrix-card-BEb6hr8i.js} +2 -2
  32. package/dist/chunks/{matrix-card-BV7OPtq_.cjs → matrix-card-Ii8yYSnw.cjs} +1 -1
  33. package/dist/chunks/{matrix-control-sources-BLGlb4S9.cjs → matrix-control-sources-CdegRBcA.cjs} +1 -1
  34. package/dist/chunks/{matrix-control-sources-DYMzccBY.js → matrix-control-sources-cbYmqWNg.js} +5 -5
  35. package/dist/chunks/{matrix-definition-jy7ygO6J.cjs → matrix-definition-CSNthxru.cjs} +1 -1
  36. package/dist/chunks/{matrix-definition-Djesv_9v.js → matrix-definition-CZM5-YJX.js} +1 -1
  37. package/dist/chunks/{matrix-formatter-CuRTrMP2.cjs → matrix-formatter-C19PZAal.cjs} +1 -1
  38. package/dist/chunks/{matrix-formatter-BhkdDosE.js → matrix-formatter-CiXzpX6X.js} +27 -27
  39. package/dist/chunks/matrix-member-presentation-CQHvq18l.cjs +1 -0
  40. package/dist/chunks/matrix-member-presentation-CabW8mJc.js +105 -0
  41. package/dist/chunks/{matrix-operation-contract-4q53iAUW.js → matrix-operation-contract-0Nor-C71.js} +21 -21
  42. package/dist/chunks/{matrix-operation-contract-CbavkrJj.cjs → matrix-operation-contract-o9GXbiHw.cjs} +1 -1
  43. package/dist/chunks/{metric-comparison-CPx_2iqI.js → metric-comparison-Br8l0WkK.js} +1 -1
  44. package/dist/chunks/{metric-comparison-l2X7Reol.cjs → metric-comparison-DeiOjEm5.cjs} +1 -1
  45. package/dist/chunks/{operators-C8TxpM4C.js → operators-B3zZoskU.js} +28 -10
  46. package/dist/chunks/operators-DEfKaU_V.cjs +1 -0
  47. package/dist/chunks/{pivot-header-presentation-BDMb1Wlc.cjs → pivot-header-presentation-DRv-cSIP.cjs} +1 -1
  48. package/dist/chunks/{pivot-header-presentation-utM9JrgD.js → pivot-header-presentation-DW-ti5ek.js} +3 -3
  49. package/dist/chunks/{pivot-result-identity-Hm1sO9KE.cjs → pivot-result-identity-DEenUrMj.cjs} +1 -1
  50. package/dist/chunks/{pivot-result-identity-BDntll93.js → pivot-result-identity-sZc1RaIz.js} +1 -1
  51. package/dist/chunks/{pivot-result-lifecycle-QiOUMsYd.cjs → pivot-result-lifecycle-D81qcCcZ.cjs} +1 -1
  52. package/dist/chunks/{pivot-result-lifecycle-Cu9hRFAp.js → pivot-result-lifecycle-DJ40gdwk.js} +7 -7
  53. package/dist/chunks/{raw-temporal-DWuF9bt7.cjs → raw-temporal-DDTt2yv5.cjs} +1 -1
  54. package/dist/chunks/{raw-temporal-CknUT-Fp.js → raw-temporal-DHCZrFe7.js} +15 -15
  55. package/dist/chunks/{raw-temporal-contract-B3YGcvzw.cjs → raw-temporal-contract-BcbV56Rc.cjs} +1 -1
  56. package/dist/chunks/{raw-temporal-contract-BVcDonCB.js → raw-temporal-contract-CkvdtPYA.js} +1 -1
  57. package/dist/chunks/{report-preferences-dialog-BP_EdVHP.cjs → report-preferences-dialog-BOGeoFLL.cjs} +1 -1
  58. package/dist/chunks/{report-preferences-dialog-DsjMwa3m.js → report-preferences-dialog-KI7AgU11.js} +6 -6
  59. package/dist/chunks/{report-runtime-context-DTxVBKqP.js → report-runtime-context-BlDpc-F-.js} +1 -1
  60. package/dist/chunks/{report-runtime-context-C-As8sq_.cjs → report-runtime-context-lSIvyKm2.cjs} +1 -1
  61. package/dist/chunks/{semantic-format-CyJWf8gZ.cjs → semantic-format--_VEin18.cjs} +1 -1
  62. package/dist/chunks/{semantic-format-BTEhH9ga.js → semantic-format-ew5zviaT.js} +2 -2
  63. package/dist/chunks/{source-entity-resolution-DXjCZPuO.js → source-entity-resolution-79Rihbk3.js} +121 -107
  64. package/dist/chunks/source-entity-resolution-DPjslVgx.cjs +1 -0
  65. package/dist/chunks/{switch-BmCGBb2F.js → switch-DlLDM7Pu.js} +5070 -4867
  66. package/dist/chunks/switch-wR8lV0zN.cjs +139 -0
  67. package/dist/chunks/{temporal-bucket-contract-pW4c6N2M.cjs → temporal-bucket-contract-BYR6tj6F.cjs} +1 -1
  68. package/dist/chunks/{temporal-bucket-contract-Bhsl_j4B.js → temporal-bucket-contract-C-kKQ_W4.js} +1 -1
  69. package/dist/chunks/{token-types-DpYncMPp.js → token-types-BIYFAsGq.js} +1 -1
  70. package/dist/chunks/{token-types-CsKRtJp0.cjs → token-types-CkAGFhiW.cjs} +1 -1
  71. package/dist/chunks/{update-policy-CtLb9ish.cjs → update-policy-BCtFr2Qh.cjs} +1 -1
  72. package/dist/chunks/{update-policy-BoB26XrS.js → update-policy-CP_A1IVD.js} +2 -2
  73. package/dist/chunks/{validators-DgmJaRF4.js → validators-D-_IT-Xw.js} +1132 -1013
  74. package/dist/chunks/validators-ux2obZB9.cjs +1 -0
  75. package/dist/dashboard/index.cjs +1 -1
  76. package/dist/dashboard/index.js +1 -1
  77. package/dist/dashboard-authoring/index.cjs +3 -3
  78. package/dist/dashboard-authoring/index.js +157 -150
  79. package/dist/data-app-builder/index.cjs +1 -1
  80. package/dist/data-app-builder/index.js +2 -2
  81. package/dist/data-app-codegen/index.cjs +1 -1
  82. package/dist/data-app-codegen/index.js +2 -2
  83. package/dist/data-app-codegen-node/index.cjs +2 -2
  84. package/dist/data-app-codegen-node/index.js +33 -36
  85. package/dist/data-app-sdk/index.cjs +2 -2
  86. package/dist/data-app-sdk/index.js +232 -230
  87. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  88. package/dist/data-app-sdk-adapters/index.js +3 -3
  89. package/dist/data-app-sdk-validation/index.cjs +1 -1
  90. package/dist/data-app-sdk-validation/index.js +5 -5
  91. package/dist/format-utils/index.cjs +1 -1
  92. package/dist/format-utils/index.js +26 -26
  93. package/dist/index.cjs +1 -1
  94. package/dist/index.js +15 -15
  95. package/dist/report-runtime-context/index.cjs +1 -1
  96. package/dist/report-runtime-context/index.js +2 -2
  97. package/dist/style.css +1 -1
  98. package/dist/surfboard/index.cjs +1 -1
  99. package/dist/surfboard/index.js +2 -2
  100. package/dist/types/analytics-protocol.d.ts +890 -635
  101. package/dist/types/briefings.d.ts +218 -172
  102. package/dist/types/dashboard-assistant.d.ts +152 -107
  103. package/dist/types/dashboard-authoring.d.ts +265 -136
  104. package/dist/types/dashboard.d.ts +132 -84
  105. package/dist/types/data-app-builder.d.ts +85 -63
  106. package/dist/types/data-app-codegen-node.d.ts +107 -85
  107. package/dist/types/data-app-codegen.d.ts +107 -85
  108. package/dist/types/data-app-sdk-adapters.d.ts +107 -85
  109. package/dist/types/data-app-sdk-validation.d.ts +130 -85
  110. package/dist/types/data-app-sdk.d.ts +421 -371
  111. package/dist/types/format-utils.d.ts +109 -109
  112. package/dist/types/index.cjs +1 -1
  113. package/dist/types/index.js +4 -4
  114. package/dist/types/main.d.ts +262 -135
  115. package/dist/types/shared.d.ts +130 -84
  116. package/dist/types/surfboard.d.ts +132 -84
  117. package/dist/types/types.d.ts +132 -84
  118. package/package.json +1 -1
  119. package/dist/chunks/calculated-field-identity-Cc-RlE-0.cjs +0 -1
  120. package/dist/chunks/calculated-field-identity-D7ygZ7oN.js +0 -1117
  121. package/dist/chunks/index-a9nBmD-v.cjs +0 -1417
  122. package/dist/chunks/matrix-member-presentation-BN6VD-fr.js +0 -24
  123. package/dist/chunks/matrix-member-presentation-D82rMVDG.cjs +0 -1
  124. package/dist/chunks/operators-DrTQsJXv.cjs +0 -1
  125. package/dist/chunks/source-entity-resolution-BA8sdBbL.cjs +0 -1
  126. package/dist/chunks/switch-COujiMcB.cjs +0 -139
  127. package/dist/chunks/validators-CueUwVE4.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";var Q=Object.defineProperty;var ee=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var b=(e,t,r)=>ee(e,typeof t!="symbol"?t+"":t,r);const h=require("./validators-CueUwVE4.cjs"),w=require("../value-format-preferences/index.cjs"),g=require("./temporal-bucket-4YEPEKlJ.cjs"),te=require("./raw-temporal-contract-B3YGcvzw.cjs"),re=require("./index-F25jnH0p.cjs");let I;function p(e,t){const r=e.format;return r(t)}function ae(e,t){if(I??(I=p(new Intl.NumberFormat("en-US",{useGrouping:!1,maximumFractionDigits:6}),"9007199254740993.000009")==="9007199254740993.000009"),!I)throw new RangeError("This runtime cannot format exact decimal strings.");const r=Number(e);if(!Number.isFinite(r)||r===0&&e!=="0")throw new RangeError("Exact value is outside the Intl formatting range; use raw text.");return p(t,e)}function _(e){return typeof e=="number"?e<0:e.value.startsWith("-")}function N(e){return typeof e=="number"?Math.abs(e):_(e)?{...e,value:e.value.slice(1)}:e}function V(e,t){return typeof e=="number"?e*t:{kind:"exact_number",type:"decimal",value:h.scaleExactDecimal(e.value,t)}}function F(e,t){return t===0?e:typeof e=="number"?e/10**t:{kind:"exact_number",type:"decimal",value:h.scaleExactDecimal(e.value,`1e-${t}`)}}function v(e,t){return typeof e=="number"?t.format(e):ae(e.value,t)}function A(e){if(!e)return!1;const t=e.toLowerCase().replace("_","-");return t==="en-in"||t.startsWith("en-in-")}function L(e,t){const r=N(e),a=i=>typeof r=="number"?r>=i:h.compareExactDecimal(r.value,String(i))>=0;return a(1e12)?{power:12,suffix:"T"}:a(1e9)?{power:9,suffix:"B"}:A(t)&&a(1e7)?{power:7,suffix:"Cr"}:a(1e6)?{power:6,suffix:"M"}:A(t)&&a(1e5)?{power:5,suffix:"L"}:a(1e3)?{power:3,suffix:"K"}:{power:0,suffix:""}}function C(e,t){try{const r=x(t);return L(e,r)}catch{return L(e,"en-US")}}function ne(e){try{return new Intl.NumberFormat(e),!0}catch{return!1}}function x(e){return e&&ne(e)?e:"en-US"}function z(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale);let a=e;if(t!=null&&t.multiplyBy&&(a=V(a,t.multiplyBy)),t!=null&&t.useSuffix){const{power:n,suffix:c}=C(a,r);a=F(a,n);const m=v(a,new Intl.NumberFormat(r,{minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));return`${(t==null?void 0:t.prefix)??""}${m}${c}${(t==null?void 0:t.suffix)??""}`}const i=v(a,new Intl.NumberFormat(r,{minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));if(t!=null&&t.negativeInParentheses&&_(a)){const n=i.replace("-","");return`(${(t==null?void 0:t.prefix)??""}${n}${(t==null?void 0:t.suffix)??""})`}return`${(t==null?void 0:t.prefix)??""}${i}${(t==null?void 0:t.suffix)??""}`}function R(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale),a=(t==null?void 0:t.currency)||"USD",i=_(e),n=!!(t!=null&&t.negativeInParentheses&&i),c=n?N(e):e;try{if(t!=null&&t.useSuffix){const{power:l,suffix:o}=C(c,r),s=F(c,l),f=`${v(s,new Intl.NumberFormat(r,{style:"currency",currency:a,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}))}${o}`;return n?`(${f})`:f}const m=v(c,new Intl.NumberFormat(r,{style:"currency",currency:a,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));return n?`(${m})`:m}catch{const m=N(e),l=t!=null&&t.useSuffix?C(m,r):{power:0,suffix:""},o=z(F(m,l.power),{locale:r,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}),s=`${a} ${o}${l.suffix}`;return i?t!=null&&t.negativeInParentheses?`(${s})`:`-${s}`:s}}function M(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale),i=(t==null?void 0:t.alreadyPercent)??(t==null?void 0:t.percentValueMode)==="whole"?F(e,2):e;return v(i,new Intl.NumberFormat(r,{style:"percent",minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}))}function P(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale);return v(e,new Intl.NumberFormat(r,{notation:"scientific",minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2}))}function O(e,t){if(e==null||Number.isNaN(e))return"";const r=t.scale===void 0?e:V(e,t.scale),a=t.negativeStyle==="parentheses"&&_(r),i=a?N(r):r,n={style:t.type==="number"?"decimal":t.type,locale:t.locale,currency:t.currency,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,useGrouping:t.useGrouping,percentValueMode:t.percentValueMode,useSuffix:t.compact};let c;switch(t.type){case"currency":c=R(i,n);break;case"percent":c=M(i,n);break;case"scientific":c=P(i,n);break;default:c=z(i,n);break}const m=`${t.prefix??""}${c}${t.suffix??""}`;return a?`(${m})`:m}function ie(e,t,r="en-US"){if(e==null||typeof e=="number"&&isNaN(e))return"";const a=x((t==null?void 0:t.locale)||r),i=(t==null?void 0:t.style)||"decimal",n=i==="decimal"?"number":i;return n==="currency"&&new Intl.NumberFormat(a,{style:"currency",currency:(t==null?void 0:t.currency)||"USD"}),O(e,{type:n,locale:a,currency:n==="currency"?(t==null?void 0:t.currency)||"USD":void 0,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0,percentValueMode:n==="percent"?(t==null?void 0:t.percentValueMode)??"whole":void 0,scale:t==null?void 0:t.scale,compact:t==null?void 0:t.compact,negativeStyle:t==null?void 0:t.negativeStyle,prefix:t==null?void 0:t.prefix,suffix:t==null?void 0:t.suffix})}function ce(e,t,r){const a={style:t==="currency"?"currency":t==="percent"?"percent":"decimal",locale:r==null?void 0:r.locale,currency:r==null?void 0:r.currency,minimumFractionDigits:r==null?void 0:r.decimalPlaces,maximumFractionDigits:r==null?void 0:r.decimalPlaces,useSuffix:r==null?void 0:r.useSuffix,prefix:r==null?void 0:r.prefix,suffix:r==null?void 0:r.suffix,negativeInParentheses:r==null?void 0:r.negativeInParentheses,multiplyBy:r==null?void 0:r.multiplyBy};switch(t){case"currency":return R(e,a);case"percent":return M(e,a);case"scientific":return P(e,a);default:return z(e,a)}}const se=["type","locale","minimumFractionDigits","maximumFractionDigits","useGrouping","prefix","suffix","negativeStyle","compact","scale","currency","percentValueMode"];function G(e){if(!g.isPlainJsonRecord(e))return{ok:!1,issues:[{path:"$",message:"Numeric format must be an object."}]};const t=[],r=new Set(se);Object.keys(e).filter(n=>!r.has(n)).forEach(n=>t.push({path:n,message:`Unknown property "${n}".`})),e.type!=="number"&&e.type!=="currency"&&e.type!=="percent"&&e.type!=="scientific"&&t.push({path:"type",message:"Expected number, currency, percent, or scientific."});const a=e.locale===void 0?void 0:w.canonicalizeSupportedLocale(e.locale);e.locale!==void 0&&!a&&t.push({path:"locale",message:"Expected a supported BCP 47 locale."});const i=e.currency===void 0?void 0:w.canonicalizeSupportedCurrencyCode(e.currency);e.currency!==void 0&&!i&&t.push({path:"currency",message:"Expected a supported ISO 4217 currency code."});for(const n of["minimumFractionDigits","maximumFractionDigits"]){const c=e[n];c!==void 0&&(!Number.isInteger(c)||typeof c!="number"||c<0||c>20)&&t.push({path:n,message:"Expected an integer from 0 to 20."})}typeof e.minimumFractionDigits=="number"&&typeof e.maximumFractionDigits=="number"&&e.minimumFractionDigits>e.maximumFractionDigits&&t.push({path:"maximumFractionDigits",message:"Must be greater than or equal to minimumFractionDigits."});for(const n of["useGrouping","compact"])e[n]!==void 0&&typeof e[n]!="boolean"&&t.push({path:n,message:"Expected a boolean."});for(const n of["prefix","suffix"])e[n]!==void 0&&typeof e[n]!="string"&&t.push({path:n,message:"Expected a string."});return e.negativeStyle!==void 0&&e.negativeStyle!=="minus"&&e.negativeStyle!=="parentheses"&&t.push({path:"negativeStyle",message:"Expected minus or parentheses."}),e.percentValueMode!==void 0&&e.percentValueMode!=="fraction"&&e.percentValueMode!=="whole"&&t.push({path:"percentValueMode",message:"Expected fraction or whole."}),e.scale!==void 0&&(typeof e.scale!="number"||!Number.isFinite(e.scale))&&t.push({path:"scale",message:"Expected a finite number."}),t.length>0?{ok:!1,issues:t}:{ok:!0,value:{type:e.type,...a?{locale:a}:{},...e.minimumFractionDigits!==void 0?{minimumFractionDigits:e.minimumFractionDigits}:{},...e.maximumFractionDigits!==void 0?{maximumFractionDigits:e.maximumFractionDigits}:{},...e.useGrouping!==void 0?{useGrouping:e.useGrouping}:{},...e.prefix!==void 0?{prefix:e.prefix}:{},...e.suffix!==void 0?{suffix:e.suffix}:{},...e.negativeStyle!==void 0?{negativeStyle:e.negativeStyle}:{},...e.compact!==void 0?{compact:e.compact}:{},...e.scale!==void 0?{scale:e.scale}:{},...i?{currency:i}:{},...e.percentValueMode!==void 0?{percentValueMode:e.percentValueMode}:{}}}}function me(e){const t=G(e);if(!t.ok)return t;const r=[];return t.value.locale||r.push({path:"locale",message:"Resolved numeric formats require an explicit locale."}),t.value.minimumFractionDigits===void 0&&r.push({path:"minimumFractionDigits",message:"Resolved numeric formats require minimumFractionDigits."}),t.value.maximumFractionDigits===void 0&&r.push({path:"maximumFractionDigits",message:"Resolved numeric formats require maximumFractionDigits."}),t.value.type==="currency"&&!t.value.currency&&r.push({path:"currency",message:"Resolved currency formats require an explicit currency."}),r.length>0?{ok:!1,issues:r}:t}function ue(e){var a;const t=new Set;if(e.snapshot.resolvedFormats.forEach((i,n)=>{if(i.format.type!=="temporal_bucket"){if(i.scope.attachmentIndex!==void 0)throw new Error(`resolvedFormats.${n}.scope.attachmentIndex is not valid for a card export`);if(i.scope.dashboardId!==e.expectedScope.dashboardId||i.scope.cardId!==e.expectedScope.cardId)throw new Error(`resolvedFormats.${n}.scope must match the executing dashboard/card`);if(i.target.kind!=="column")throw new Error(`resolvedFormats.${n}.target must identify an export column`);if(t.has(i.target.columnKey))throw new Error(`resolvedFormats.${n} duplicates export column "${i.target.columnKey}"`);t.add(i.target.columnKey)}}),!e.useFormattedValues)return;if(!((a=e.visibleColumns)!=null&&a.length))throw new Error("visibleColumns must identify every formatted export column");const r=e.visibleColumns.find(i=>!t.has(i));if(r)throw new Error(`resolvedFormats is missing visible export column "${r}"`)}function Z(e,t){const r=new Intl.NumberFormat(e,{style:"currency",currency:t}).resolvedOptions();return{minimumFractionDigits:r.minimumFractionDigits,maximumFractionDigits:r.maximumFractionDigits}}function oe(e){if(e.minimumFractionDigits!==void 0||e.maximumFractionDigits!==void 0){const r=e.minimumFractionDigits??0;return{minimumFractionDigits:r,maximumFractionDigits:e.maximumFractionDigits??Math.max(r,2)}}const t=e.type==="percent"?1:e.type==="scientific"?2:0;return{minimumFractionDigits:t,maximumFractionDigits:t}}function le(e,t,r){const a=w.canonicalizeSupportedLocale(e.locale)??t.locale,i=e.type==="number"||e.type==="currency"?w.canonicalizeSupportedCurrencyCode(r):void 0;if(!(e.type==="currency"||i!==void 0))return{...e,locale:a,...oe(e)};const c=i??w.canonicalizeSupportedCurrencyCode(e.currency)??t.defaultCurrency,m=Z(a,c),l=m.minimumFractionDigits??0,o=m.maximumFractionDigits??l,s=e.minimumFractionDigits??Math.min(l,e.maximumFractionDigits??l),d=e.maximumFractionDigits??Math.max(s,o);return{...e,type:"currency",locale:a,currency:c,minimumFractionDigits:s,maximumFractionDigits:d}}class S extends Error{constructor(r,a){super(a);b(this,"code");this.name="RawTemporalFormatContractError",this.code=r}}const de=["SSSSSSSSS","SSSSSSSS","SSSSSSS","SSSSSS","SSSSS","SSSS","SSS","SS","S"],q=/^(\d{4})-(\d{2})-(\d{2})$/,U=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?$/,B=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}:\d{2})$/,fe=["yyyy","MMMM","LLLL","zzz","XXX","MMM","LLL","yy","MM","dd","HH","hh","mm","ss","M","d","H","h","m","s","a"],ge=new Set(["HH","H","hh","h","mm","m","ss","s","a",...de]),ye=new Set(["zzz","XXX"]),k=new Set(["short","medium","long"]);function y(e,t){return Object.keys(e).length===t.length&&t.every(a=>a in e)}function u(e){throw new S("invalid_raw_temporal_format",e)}function j(e){if(!e||e.trim()!==e||e.length>256)return u("date_fns patterns must be non-empty, trimmed, and at most 256 characters.");const t=[],r=i=>{const n=t[t.length-1];(n==null?void 0:n.kind)==="literal"?n.value+=i:t.push({kind:"literal",value:i})};let a=0;for(;a<e.length;){if(e[a]==="'"){if(e[a+1]==="'"){r("'"),a+=2;continue}let c="",m=!1;for(a+=1;a<e.length;){if(e[a]==="'"){if(e[a+1]==="'"){c+="'",a+=2;continue}m=!0,a+=1;break}c+=e[a],a+=1}if(!m)return u("date_fns pattern has an unclosed quote.");r(c);continue}if(e[a]==="S"){let c=a+1;for(;e[c]==="S";)c+=1;const m=e.slice(a,c);if(m.length>9)return u("date_fns fractional-second tokens support at most nine digits.");t.push({kind:"token",value:m}),a=c;continue}const i=fe.find(c=>e.startsWith(c,a));if(i){t.push({kind:"token",value:i}),a+=i.length;continue}const n=e[a];if(/[A-Za-z]/.test(n))return u(`Unsupported date_fns pattern token beginning at "${e.slice(a)}".`);r(n),a+=1}return t.some(i=>i.kind==="token")?t:u("date_fns patterns must contain at least one token.")}function H(e,t){if(e==="semaphor_tokens"){const r=g.tokenizeTemporalBucketPattern(t);r.ok||u(r.message);return}j(t)}function he(e){return!g.isPlainJsonRecord(e)||!y(e,["dateStyle","dateTime"])?u("Automatic raw temporal styles are incomplete."):k.has(e.dateStyle)?!g.isPlainJsonRecord(e.dateTime)||!y(e.dateTime,["dateStyle","timeStyle"])||!k.has(e.dateTime.dateStyle)||!k.has(e.dateTime.timeStyle)?u("Automatic dateTime styles are incomplete or invalid."):{dateStyle:e.dateStyle,dateTime:{dateStyle:e.dateTime.dateStyle,timeStyle:e.dateTime.timeStyle}}:u("Automatic dateStyle is invalid.")}function $(e){const t=["type","locale","calendarTimezone","presentation"],r=[...t,"sourceTimezone"];if(!g.isPlainJsonRecord(e)||!y(e,t)&&!y(e,r)||e.type!=="raw_temporal")return u("Resolved raw temporal format has an invalid shape.");const a=w.canonicalizeSupportedLocale(e.locale);return a?typeof e.calendarTimezone!="string"||!h.isValidIanaTimeZone(e.calendarTimezone)?u("Raw temporal calendarTimezone must be a valid IANA timezone."):e.sourceTimezone!==void 0&&(typeof e.sourceTimezone!="string"||!h.isValidIanaTimeZone(e.sourceTimezone))?u("Raw temporal sourceTimezone must be a valid IANA timezone."):g.isPlainJsonRecord(e.presentation)?e.presentation.mode==="auto"?y(e.presentation,["mode","styles"])?{type:"raw_temporal",locale:a,calendarTimezone:e.calendarTimezone,...e.sourceTimezone?{sourceTimezone:e.sourceTimezone}:{},presentation:{mode:"auto",styles:he(e.presentation.styles)}}:u("Automatic raw temporal presentation has unknown fields."):e.presentation.mode!=="pattern"||!y(e.presentation,["mode","dialect","pattern"])||e.presentation.dialect!=="semaphor_tokens"&&e.presentation.dialect!=="date_fns"||typeof e.presentation.pattern!="string"?u("Pattern raw temporal presentation has an invalid shape."):(H(e.presentation.dialect,e.presentation.pattern),{type:"raw_temporal",locale:a,calendarTimezone:e.calendarTimezone,...e.sourceTimezone?{sourceTimezone:e.sourceTimezone}:{},presentation:{mode:"pattern",dialect:e.presentation.dialect,pattern:e.presentation.pattern}}):u("Raw temporal presentation must be an object."):u("Raw temporal locale is invalid or unsupported.")}function Se(e){var m,l,o;if(e.format){if(!g.isPlainJsonRecord(e.format))return u("Authored raw temporal format has an invalid shape.");const s=Object.keys(e.format);if(!s.includes("type")||!s.includes("presentation")||s.some(f=>f!=="type"&&f!=="presentation"&&f!=="timezone"&&f!=="sourceTimezone")||e.format.type!=="raw_temporal"||!g.isPlainJsonRecord(e.format.presentation))return u("Authored raw temporal format has an invalid shape.");const d=e.format.presentation;if(d.mode==="auto"){if(!y(d,["mode"]))return u("Automatic authored raw temporal format has unknown fields.")}else{if(d.mode!=="pattern"||!y(d,["mode","dialect","pattern"])||d.dialect!=="semaphor_tokens"&&d.dialect!=="date_fns"||typeof d.pattern!="string")return u("Authored raw temporal pattern has an invalid shape.");H(d.dialect,d.pattern)}}const t=(m=e.format)==null?void 0:m.timezone,r=(l=e.format)==null?void 0:l.sourceTimezone,a=t&&t!=="auto"?t:e.calendar.tz,i=r&&r!=="auto"?r==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:r:void 0;if(t!==void 0&&t!=="auto"&&!h.isValidIanaTimeZone(a)||i!==void 0&&!h.isValidIanaTimeZone(i))return u("Authored raw temporal timezone is invalid.");const n=((o=e.format)==null?void 0:o.presentation)??{mode:"auto"},c={type:"raw_temporal",locale:e.preferences.locale,calendarTimezone:a,...i?{sourceTimezone:i}:{},presentation:n.mode==="pattern"?{...n}:{mode:"auto",styles:{dateStyle:e.preferences.dateStyle,dateTime:{...e.preferences.dateTime}}}};return $(c)}function we(e){if(q.test(e))return"date";if(B.test(e))return"instant";if(U.test(e))return"wall_datetime"}function ve(e){const t=new Set;let r=!1;for(const a of e.values){if(a===null)continue;r=!0;const i=we(a);i&&t.add(i)}if(!r)return{status:"empty"};if(t.size===0)return{status:"invalid_only"};if(t.size>1)throw new S("mixed_sql_temporal_semantics",`Declared SQL temporal column "${e.columnKey}" mixes date, wall-datetime, or instant semantics. Normalize it to one kind.`);return{status:"classified",metadata:{kind:"raw_temporal",valueKind:[...t][0]}}}function xe(e){return{version:1,columns:Object.fromEntries([...e].map(([t,r])=>[t,r.status==="classified"?r.metadata.valueKind:r.status]))}}function Y(e){if(!g.isPlainJsonRecord(e)||e.version!==1||!g.isPlainJsonRecord(e.columns)||Object.keys(e).some(a=>a!=="version"&&a!=="columns"))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence is malformed.");const t={},r=new Set(["empty","invalid_only","date","wall_datetime","instant"]);for(const[a,i]of Object.entries(e.columns)){if(!a.trim()||!r.has(i))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence contains an invalid column or status.");t[a]=i}return{version:1,columns:t}}function Te(e){if(e.length===0)return;const t=e.map(Y),r=Object.keys(t[0].columns).sort();for(let a=1;a<t.length;a+=1){const i=Object.keys(t[a].columns).sort();if(i.length!==r.length||i.some((n,c)=>n!==r[c]))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence has inconsistent columns.")}for(const a of r)if(new Set(t.map(n=>n.columns[a]).filter(n=>n!=="empty"&&n!=="invalid_only")).size>1)throw new S("mixed_sql_temporal_semantics",`Declared SQL temporal column "${a}" has inconsistent semantics across export chunks. Normalize it to one kind.`)}function De(e){return e%4===0&&(e%100!==0||e%400===0)}function Ne(e,t){return t===2?De(e)?29:28:[4,6,9,11].includes(t)?30:31}function Fe(e){return e.year>=1&&e.year<=9999&&e.month>=1&&e.month<=12&&e.day>=1&&e.day<=Ne(e.year,e.month)&&e.hour>=0&&e.hour<=23&&e.minute>=0&&e.minute<=59&&e.second>=0&&e.second<=59}function _e(e){return{year:Number(e[1]),month:Number(e[2]),day:Number(e[3]),hour:Number(e[4]??0),minute:Number(e[5]??0),second:Number(e[6]??0),fraction:e[7]??""}}function ze(e,t){const r=t==="date"?e.match(q):t==="wall_datetime"?e.match(U):e.match(B);if(!r)return{status:"invalid_shape"};const a=_e(r);if(!Fe(a))return{status:"out_of_range"};if(t==="instant"){const i=r[8];if(i&&i!=="Z"){const[c,m]=i.slice(1).split(":").map(Number);if(c>23||m>59)return{status:"out_of_range"}}const n=new Date(e.replace(" ","T"));return Number.isNaN(n.getTime())?{status:"out_of_range"}:{status:"valid",fields:a,instant:n}}return{status:"valid",fields:a}}function E(e){const t=new Date(0);return t.setUTCFullYear(e.year,e.month-1,e.day),t.setUTCHours(e.hour,e.minute,e.second,0),t}function J(e,t){const r=e.fraction?`.${e.fraction.padEnd(3,"0").slice(0,3)}`:"";return re.fromZonedTime(`${String(e.year).padStart(4,"0")}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}T${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${r}`,t)}function ke(e,t){const r=new Map,a=new Map;let i,n,c,m;return{number(l,o=1){let s=r.get(o);return s||(s=new Intl.NumberFormat(e,{useGrouping:!1,minimumIntegerDigits:o,maximumFractionDigits:0}),r.set(o,s)),s.format(l)},month(l,o,s){var T;const d=`${o}:${s?"standalone":"contextual"}`;let f=a.get(d);if(!f){const D={calendar:"gregory",timeZone:"UTC",month:o};s||(D.day="numeric"),f=new Intl.DateTimeFormat(e,D),a.set(d,f)}return((T=f.formatToParts(l).find(D=>D.type==="month"))==null?void 0:T.value)??""},dayPeriod(l){var o;return i??(i=new Intl.DateTimeFormat(e,{calendar:"gregory",timeZone:"UTC",hour:"numeric",hour12:!0})),((o=i.formatToParts(l).find(s=>s.type==="dayPeriod"))==null?void 0:o.value)??""},instantFields(l){n??(n=new Intl.DateTimeFormat("en-CA",{calendar:"gregory",numberingSystem:"latn",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}));const o=n.formatToParts(l),s=d=>{var f;return Number((f=o.find(T=>T.type===d))==null?void 0:f.value)};return{year:s("year"),month:s("month"),day:s("day"),hour:s("hour"),minute:s("minute"),second:s("second"),fraction:""}},timezoneName(l){var o;return c??(c=new Intl.DateTimeFormat(e,{calendar:"gregory",timeZone:t,timeZoneName:"short"})),((o=c.formatToParts(l).find(s=>s.type==="timeZoneName"))==null?void 0:o.value)??""},timezoneOffset(l){var d;m??(m=new Intl.DateTimeFormat("en-US",{calendar:"gregory",timeZone:t,timeZoneName:"longOffset"}));const o=(d=m.formatToParts(l).find(f=>f.type==="timeZoneName"))==null?void 0:d.value;if(!o)return u("Unable to resolve the instant timezone offset.");const s=o.replace(/^GMT/,"");return s===""||/^[+-]00:00$/.test(s)?"Z":s}}}function Ce(e,t,r,a,i){if(/^S{1,9}$/.test(e)){const n=t.fraction.padEnd(e.length,"0").slice(0,e.length);return a.number(Number(n),e.length)}switch(e){case"YYYY":case"yyyy":return a.number(t.year,4);case"YY":case"yy":return a.number(t.year%100,2);case"MMMM":return a.month(r,"long",!1);case"LLLL":return a.month(r,"long",!0);case"MMM":return a.month(r,"short",!1);case"LLL":return a.month(r,"short",!0);case"MM":return a.number(t.month,2);case"M":return a.number(t.month);case"DD":case"dd":return a.number(t.day,2);case"d":return a.number(t.day);case"HH":return a.number(t.hour,2);case"H":return a.number(t.hour);case"hh":return a.number(t.hour%12||12,2);case"h":return a.number(t.hour%12||12);case"mm":return a.number(t.minute,2);case"m":return a.number(t.minute);case"ss":return a.number(t.second,2);case"s":return a.number(t.second);case"a":return a.dayPeriod(r);case"zzz":return i?a.timezoneName(i):u("Timezone pattern tokens require an instant value.");case"XXX":return i?a.timezoneOffset(i):u("Timezone pattern tokens require an instant value.");default:return u(`Unsupported raw temporal pattern token "${e}".`)}}function Ee(e,t,r,a){const i=E(t);return e.map(n=>n.kind==="literal"?n.value:Ce(n.value,t,i,r,a)).join("")}function W(e,t,r){const a=t==="date_fns"?j(r):(()=>{const n=g.tokenizeTemporalBucketPattern(r);return n.ok?n.segments:u(n.message)})(),i=a.filter(n=>n.kind==="token").map(n=>n.value);return e==="date"&&i.some(n=>ge.has(n))?u("Date patterns cannot contain time tokens."):e!=="instant"&&i.some(n=>ye.has(n))?u("Timezone pattern tokens require an instant value."):a}function Re(e){W(e.valueKind??"instant",e.dialect,e.pattern)}function Me(e,t,r,a){const i=W(e.valueKind,r,a),n=ke(t.locale,t.calendarTimezone);return c=>{const m=e.valueKind==="wall_datetime"&&t.sourceTimezone?J(c.fields,t.sourceTimezone):void 0,l=e.valueKind==="instant"?{...n.instantFields(c.instant),fraction:c.fields.fraction}:m?{...n.instantFields(m),fraction:c.fields.fraction}:c.fields;return Ee(i,l,n,c.instant??m)}}function Pe(e,t){const r=t.presentation.mode==="auto"?t.presentation.styles:u("Automatic raw temporal formatting requires styles.");if(e.valueKind==="date"){const c=new Intl.DateTimeFormat(t.locale,{calendar:"gregory",timeZone:"UTC",dateStyle:r.dateStyle});return m=>c.format(E(m.fields))}const a=e.valueKind==="instant",i=!a&&r.dateTime.timeStyle==="long"?"medium":r.dateTime.timeStyle,n=new Intl.DateTimeFormat(t.locale,{calendar:"gregory",timeZone:a||e.valueKind==="wall_datetime"&&t.sourceTimezone?t.calendarTimezone:"UTC",dateStyle:r.dateTime.dateStyle,timeStyle:i});return c=>a?n.format(c.instant):e.valueKind==="wall_datetime"&&t.sourceTimezone?n.format(J(c.fields,t.sourceTimezone)):n.format(E(c.fields))}function K(e,t,r){return{ok:!1,text:e,diagnostic:{code:r,message:`Raw temporal ${t.valueKind} value is ${r==="invalid_raw_temporal_value"?"malformed":"out of range"}.`}}}function X(e){const t=te.parseRawTemporalValueMetadata(e.metadata),r=$(e.format),a=r.presentation.mode==="auto"?Pe(t,r):Me(t,r,r.presentation.dialect,r.presentation.pattern);return i=>{if(i===null)return{ok:!0,text:"",status:"empty"};const n=ze(i,t.valueKind);return n.status==="invalid_shape"?K(i,t,"invalid_raw_temporal_value"):n.status==="out_of_range"?K(i,t,"out_of_range_raw_temporal_value"):{ok:!0,text:a(n),status:"formatted"}}}function $e(e){return X({metadata:e.metadata,format:e.format})(e.value)}exports.RawTemporalFormatContractError=S;exports.assertRawTemporalChunkClassificationAgreement=Te;exports.classifyDeclaredSqlTemporalColumn=ve;exports.createRawTemporalChunkClassificationEvidence=xe;exports.formatCurrency=R;exports.formatNumber=z;exports.formatNumberCustom=ce;exports.formatNumberWithColumnSettings=ie;exports.formatNumericCanonical=O;exports.formatPercent=M;exports.formatRawTemporalValue=$e;exports.formatScientific=P;exports.parseNumericCanonicalFormat=G;exports.parseRawTemporalChunkClassificationEvidence=Y;exports.parseResolvedNumericCanonicalFormat=me;exports.parseResolvedRawTemporalFormat=$;exports.prepareRawTemporalFormatter=X;exports.resolveCurrencyFractionDigits=Z;exports.resolveNumericPresentation=le;exports.resolveRawTemporalFormat=Se;exports.validateCardExportNumericPresentationSnapshot=ue;exports.validateRawTemporalPattern=Re;
1
+ "use strict";var Q=Object.defineProperty;var ee=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var b=(e,t,r)=>ee(e,typeof t!="symbol"?t+"":t,r);const h=require("./validators-ux2obZB9.cjs"),w=require("../value-format-preferences/index.cjs"),g=require("./temporal-bucket-4YEPEKlJ.cjs"),te=require("./raw-temporal-contract-BcbV56Rc.cjs"),re=require("./index-F25jnH0p.cjs");let I;function p(e,t){const r=e.format;return r(t)}function ae(e,t){if(I??(I=p(new Intl.NumberFormat("en-US",{useGrouping:!1,maximumFractionDigits:6}),"9007199254740993.000009")==="9007199254740993.000009"),!I)throw new RangeError("This runtime cannot format exact decimal strings.");const r=Number(e);if(!Number.isFinite(r)||r===0&&e!=="0")throw new RangeError("Exact value is outside the Intl formatting range; use raw text.");return p(t,e)}function _(e){return typeof e=="number"?e<0:e.value.startsWith("-")}function N(e){return typeof e=="number"?Math.abs(e):_(e)?{...e,value:e.value.slice(1)}:e}function V(e,t){return typeof e=="number"?e*t:{kind:"exact_number",type:"decimal",value:h.scaleExactDecimal(e.value,t)}}function F(e,t){return t===0?e:typeof e=="number"?e/10**t:{kind:"exact_number",type:"decimal",value:h.scaleExactDecimal(e.value,`1e-${t}`)}}function v(e,t){return typeof e=="number"?t.format(e):ae(e.value,t)}function A(e){if(!e)return!1;const t=e.toLowerCase().replace("_","-");return t==="en-in"||t.startsWith("en-in-")}function L(e,t){const r=N(e),a=i=>typeof r=="number"?r>=i:h.compareExactDecimal(r.value,String(i))>=0;return a(1e12)?{power:12,suffix:"T"}:a(1e9)?{power:9,suffix:"B"}:A(t)&&a(1e7)?{power:7,suffix:"Cr"}:a(1e6)?{power:6,suffix:"M"}:A(t)&&a(1e5)?{power:5,suffix:"L"}:a(1e3)?{power:3,suffix:"K"}:{power:0,suffix:""}}function C(e,t){try{const r=x(t);return L(e,r)}catch{return L(e,"en-US")}}function ne(e){try{return new Intl.NumberFormat(e),!0}catch{return!1}}function x(e){return e&&ne(e)?e:"en-US"}function z(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale);let a=e;if(t!=null&&t.multiplyBy&&(a=V(a,t.multiplyBy)),t!=null&&t.useSuffix){const{power:n,suffix:c}=C(a,r);a=F(a,n);const m=v(a,new Intl.NumberFormat(r,{minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));return`${(t==null?void 0:t.prefix)??""}${m}${c}${(t==null?void 0:t.suffix)??""}`}const i=v(a,new Intl.NumberFormat(r,{minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));if(t!=null&&t.negativeInParentheses&&_(a)){const n=i.replace("-","");return`(${(t==null?void 0:t.prefix)??""}${n}${(t==null?void 0:t.suffix)??""})`}return`${(t==null?void 0:t.prefix)??""}${i}${(t==null?void 0:t.suffix)??""}`}function R(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale),a=(t==null?void 0:t.currency)||"USD",i=_(e),n=!!(t!=null&&t.negativeInParentheses&&i),c=n?N(e):e;try{if(t!=null&&t.useSuffix){const{power:l,suffix:o}=C(c,r),s=F(c,l),f=`${v(s,new Intl.NumberFormat(r,{style:"currency",currency:a,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}))}${o}`;return n?`(${f})`:f}const m=v(c,new Intl.NumberFormat(r,{style:"currency",currency:a,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}));return n?`(${m})`:m}catch{const m=N(e),l=t!=null&&t.useSuffix?C(m,r):{power:0,suffix:""},o=z(F(m,l.power),{locale:r,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}),s=`${a} ${o}${l.suffix}`;return i?t!=null&&t.negativeInParentheses?`(${s})`:`-${s}`:s}}function M(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale),i=(t==null?void 0:t.alreadyPercent)??(t==null?void 0:t.percentValueMode)==="whole"?F(e,2):e;return v(i,new Intl.NumberFormat(r,{style:"percent",minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0}))}function P(e,t){if(e==null||Number.isNaN(e))return"";const r=x(t==null?void 0:t.locale);return v(e,new Intl.NumberFormat(r,{notation:"scientific",minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2}))}function O(e,t){if(e==null||Number.isNaN(e))return"";const r=t.scale===void 0?e:V(e,t.scale),a=t.negativeStyle==="parentheses"&&_(r),i=a?N(r):r,n={style:t.type==="number"?"decimal":t.type,locale:t.locale,currency:t.currency,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,useGrouping:t.useGrouping,percentValueMode:t.percentValueMode,useSuffix:t.compact};let c;switch(t.type){case"currency":c=R(i,n);break;case"percent":c=M(i,n);break;case"scientific":c=P(i,n);break;default:c=z(i,n);break}const m=`${t.prefix??""}${c}${t.suffix??""}`;return a?`(${m})`:m}function ie(e,t,r="en-US"){if(e==null||typeof e=="number"&&isNaN(e))return"";const a=x((t==null?void 0:t.locale)||r),i=(t==null?void 0:t.style)||"decimal",n=i==="decimal"?"number":i;return n==="currency"&&new Intl.NumberFormat(a,{style:"currency",currency:(t==null?void 0:t.currency)||"USD"}),O(e,{type:n,locale:a,currency:n==="currency"?(t==null?void 0:t.currency)||"USD":void 0,minimumFractionDigits:(t==null?void 0:t.minimumFractionDigits)??0,maximumFractionDigits:(t==null?void 0:t.maximumFractionDigits)??2,useGrouping:(t==null?void 0:t.useGrouping)??!0,percentValueMode:n==="percent"?(t==null?void 0:t.percentValueMode)??"whole":void 0,scale:t==null?void 0:t.scale,compact:t==null?void 0:t.compact,negativeStyle:t==null?void 0:t.negativeStyle,prefix:t==null?void 0:t.prefix,suffix:t==null?void 0:t.suffix})}function ce(e,t,r){const a={style:t==="currency"?"currency":t==="percent"?"percent":"decimal",locale:r==null?void 0:r.locale,currency:r==null?void 0:r.currency,minimumFractionDigits:r==null?void 0:r.decimalPlaces,maximumFractionDigits:r==null?void 0:r.decimalPlaces,useSuffix:r==null?void 0:r.useSuffix,prefix:r==null?void 0:r.prefix,suffix:r==null?void 0:r.suffix,negativeInParentheses:r==null?void 0:r.negativeInParentheses,multiplyBy:r==null?void 0:r.multiplyBy};switch(t){case"currency":return R(e,a);case"percent":return M(e,a);case"scientific":return P(e,a);default:return z(e,a)}}const se=["type","locale","minimumFractionDigits","maximumFractionDigits","useGrouping","prefix","suffix","negativeStyle","compact","scale","currency","percentValueMode"];function G(e){if(!g.isPlainJsonRecord(e))return{ok:!1,issues:[{path:"$",message:"Numeric format must be an object."}]};const t=[],r=new Set(se);Object.keys(e).filter(n=>!r.has(n)).forEach(n=>t.push({path:n,message:`Unknown property "${n}".`})),e.type!=="number"&&e.type!=="currency"&&e.type!=="percent"&&e.type!=="scientific"&&t.push({path:"type",message:"Expected number, currency, percent, or scientific."});const a=e.locale===void 0?void 0:w.canonicalizeSupportedLocale(e.locale);e.locale!==void 0&&!a&&t.push({path:"locale",message:"Expected a supported BCP 47 locale."});const i=e.currency===void 0?void 0:w.canonicalizeSupportedCurrencyCode(e.currency);e.currency!==void 0&&!i&&t.push({path:"currency",message:"Expected a supported ISO 4217 currency code."});for(const n of["minimumFractionDigits","maximumFractionDigits"]){const c=e[n];c!==void 0&&(!Number.isInteger(c)||typeof c!="number"||c<0||c>20)&&t.push({path:n,message:"Expected an integer from 0 to 20."})}typeof e.minimumFractionDigits=="number"&&typeof e.maximumFractionDigits=="number"&&e.minimumFractionDigits>e.maximumFractionDigits&&t.push({path:"maximumFractionDigits",message:"Must be greater than or equal to minimumFractionDigits."});for(const n of["useGrouping","compact"])e[n]!==void 0&&typeof e[n]!="boolean"&&t.push({path:n,message:"Expected a boolean."});for(const n of["prefix","suffix"])e[n]!==void 0&&typeof e[n]!="string"&&t.push({path:n,message:"Expected a string."});return e.negativeStyle!==void 0&&e.negativeStyle!=="minus"&&e.negativeStyle!=="parentheses"&&t.push({path:"negativeStyle",message:"Expected minus or parentheses."}),e.percentValueMode!==void 0&&e.percentValueMode!=="fraction"&&e.percentValueMode!=="whole"&&t.push({path:"percentValueMode",message:"Expected fraction or whole."}),e.scale!==void 0&&(typeof e.scale!="number"||!Number.isFinite(e.scale))&&t.push({path:"scale",message:"Expected a finite number."}),t.length>0?{ok:!1,issues:t}:{ok:!0,value:{type:e.type,...a?{locale:a}:{},...e.minimumFractionDigits!==void 0?{minimumFractionDigits:e.minimumFractionDigits}:{},...e.maximumFractionDigits!==void 0?{maximumFractionDigits:e.maximumFractionDigits}:{},...e.useGrouping!==void 0?{useGrouping:e.useGrouping}:{},...e.prefix!==void 0?{prefix:e.prefix}:{},...e.suffix!==void 0?{suffix:e.suffix}:{},...e.negativeStyle!==void 0?{negativeStyle:e.negativeStyle}:{},...e.compact!==void 0?{compact:e.compact}:{},...e.scale!==void 0?{scale:e.scale}:{},...i?{currency:i}:{},...e.percentValueMode!==void 0?{percentValueMode:e.percentValueMode}:{}}}}function me(e){const t=G(e);if(!t.ok)return t;const r=[];return t.value.locale||r.push({path:"locale",message:"Resolved numeric formats require an explicit locale."}),t.value.minimumFractionDigits===void 0&&r.push({path:"minimumFractionDigits",message:"Resolved numeric formats require minimumFractionDigits."}),t.value.maximumFractionDigits===void 0&&r.push({path:"maximumFractionDigits",message:"Resolved numeric formats require maximumFractionDigits."}),t.value.type==="currency"&&!t.value.currency&&r.push({path:"currency",message:"Resolved currency formats require an explicit currency."}),r.length>0?{ok:!1,issues:r}:t}function ue(e){var a;const t=new Set;if(e.snapshot.resolvedFormats.forEach((i,n)=>{if(i.format.type!=="temporal_bucket"){if(i.scope.attachmentIndex!==void 0)throw new Error(`resolvedFormats.${n}.scope.attachmentIndex is not valid for a card export`);if(i.scope.dashboardId!==e.expectedScope.dashboardId||i.scope.cardId!==e.expectedScope.cardId)throw new Error(`resolvedFormats.${n}.scope must match the executing dashboard/card`);if(i.target.kind!=="column")throw new Error(`resolvedFormats.${n}.target must identify an export column`);if(t.has(i.target.columnKey))throw new Error(`resolvedFormats.${n} duplicates export column "${i.target.columnKey}"`);t.add(i.target.columnKey)}}),!e.useFormattedValues)return;if(!((a=e.visibleColumns)!=null&&a.length))throw new Error("visibleColumns must identify every formatted export column");const r=e.visibleColumns.find(i=>!t.has(i));if(r)throw new Error(`resolvedFormats is missing visible export column "${r}"`)}function Z(e,t){const r=new Intl.NumberFormat(e,{style:"currency",currency:t}).resolvedOptions();return{minimumFractionDigits:r.minimumFractionDigits,maximumFractionDigits:r.maximumFractionDigits}}function oe(e){if(e.minimumFractionDigits!==void 0||e.maximumFractionDigits!==void 0){const r=e.minimumFractionDigits??0;return{minimumFractionDigits:r,maximumFractionDigits:e.maximumFractionDigits??Math.max(r,2)}}const t=e.type==="percent"?1:e.type==="scientific"?2:0;return{minimumFractionDigits:t,maximumFractionDigits:t}}function le(e,t,r){const a=w.canonicalizeSupportedLocale(e.locale)??t.locale,i=e.type==="number"||e.type==="currency"?w.canonicalizeSupportedCurrencyCode(r):void 0;if(!(e.type==="currency"||i!==void 0))return{...e,locale:a,...oe(e)};const c=i??w.canonicalizeSupportedCurrencyCode(e.currency)??t.defaultCurrency,m=Z(a,c),l=m.minimumFractionDigits??0,o=m.maximumFractionDigits??l,s=e.minimumFractionDigits??Math.min(l,e.maximumFractionDigits??l),d=e.maximumFractionDigits??Math.max(s,o);return{...e,type:"currency",locale:a,currency:c,minimumFractionDigits:s,maximumFractionDigits:d}}class S extends Error{constructor(r,a){super(a);b(this,"code");this.name="RawTemporalFormatContractError",this.code=r}}const de=["SSSSSSSSS","SSSSSSSS","SSSSSSS","SSSSSS","SSSSS","SSSS","SSS","SS","S"],q=/^(\d{4})-(\d{2})-(\d{2})$/,U=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?$/,B=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}:\d{2})$/,fe=["yyyy","MMMM","LLLL","zzz","XXX","MMM","LLL","yy","MM","dd","HH","hh","mm","ss","M","d","H","h","m","s","a"],ge=new Set(["HH","H","hh","h","mm","m","ss","s","a",...de]),ye=new Set(["zzz","XXX"]),k=new Set(["short","medium","long"]);function y(e,t){return Object.keys(e).length===t.length&&t.every(a=>a in e)}function u(e){throw new S("invalid_raw_temporal_format",e)}function j(e){if(!e||e.trim()!==e||e.length>256)return u("date_fns patterns must be non-empty, trimmed, and at most 256 characters.");const t=[],r=i=>{const n=t[t.length-1];(n==null?void 0:n.kind)==="literal"?n.value+=i:t.push({kind:"literal",value:i})};let a=0;for(;a<e.length;){if(e[a]==="'"){if(e[a+1]==="'"){r("'"),a+=2;continue}let c="",m=!1;for(a+=1;a<e.length;){if(e[a]==="'"){if(e[a+1]==="'"){c+="'",a+=2;continue}m=!0,a+=1;break}c+=e[a],a+=1}if(!m)return u("date_fns pattern has an unclosed quote.");r(c);continue}if(e[a]==="S"){let c=a+1;for(;e[c]==="S";)c+=1;const m=e.slice(a,c);if(m.length>9)return u("date_fns fractional-second tokens support at most nine digits.");t.push({kind:"token",value:m}),a=c;continue}const i=fe.find(c=>e.startsWith(c,a));if(i){t.push({kind:"token",value:i}),a+=i.length;continue}const n=e[a];if(/[A-Za-z]/.test(n))return u(`Unsupported date_fns pattern token beginning at "${e.slice(a)}".`);r(n),a+=1}return t.some(i=>i.kind==="token")?t:u("date_fns patterns must contain at least one token.")}function H(e,t){if(e==="semaphor_tokens"){const r=g.tokenizeTemporalBucketPattern(t);r.ok||u(r.message);return}j(t)}function he(e){return!g.isPlainJsonRecord(e)||!y(e,["dateStyle","dateTime"])?u("Automatic raw temporal styles are incomplete."):k.has(e.dateStyle)?!g.isPlainJsonRecord(e.dateTime)||!y(e.dateTime,["dateStyle","timeStyle"])||!k.has(e.dateTime.dateStyle)||!k.has(e.dateTime.timeStyle)?u("Automatic dateTime styles are incomplete or invalid."):{dateStyle:e.dateStyle,dateTime:{dateStyle:e.dateTime.dateStyle,timeStyle:e.dateTime.timeStyle}}:u("Automatic dateStyle is invalid.")}function $(e){const t=["type","locale","calendarTimezone","presentation"],r=[...t,"sourceTimezone"];if(!g.isPlainJsonRecord(e)||!y(e,t)&&!y(e,r)||e.type!=="raw_temporal")return u("Resolved raw temporal format has an invalid shape.");const a=w.canonicalizeSupportedLocale(e.locale);return a?typeof e.calendarTimezone!="string"||!h.isValidIanaTimeZone(e.calendarTimezone)?u("Raw temporal calendarTimezone must be a valid IANA timezone."):e.sourceTimezone!==void 0&&(typeof e.sourceTimezone!="string"||!h.isValidIanaTimeZone(e.sourceTimezone))?u("Raw temporal sourceTimezone must be a valid IANA timezone."):g.isPlainJsonRecord(e.presentation)?e.presentation.mode==="auto"?y(e.presentation,["mode","styles"])?{type:"raw_temporal",locale:a,calendarTimezone:e.calendarTimezone,...e.sourceTimezone?{sourceTimezone:e.sourceTimezone}:{},presentation:{mode:"auto",styles:he(e.presentation.styles)}}:u("Automatic raw temporal presentation has unknown fields."):e.presentation.mode!=="pattern"||!y(e.presentation,["mode","dialect","pattern"])||e.presentation.dialect!=="semaphor_tokens"&&e.presentation.dialect!=="date_fns"||typeof e.presentation.pattern!="string"?u("Pattern raw temporal presentation has an invalid shape."):(H(e.presentation.dialect,e.presentation.pattern),{type:"raw_temporal",locale:a,calendarTimezone:e.calendarTimezone,...e.sourceTimezone?{sourceTimezone:e.sourceTimezone}:{},presentation:{mode:"pattern",dialect:e.presentation.dialect,pattern:e.presentation.pattern}}):u("Raw temporal presentation must be an object."):u("Raw temporal locale is invalid or unsupported.")}function Se(e){var m,l,o;if(e.format){if(!g.isPlainJsonRecord(e.format))return u("Authored raw temporal format has an invalid shape.");const s=Object.keys(e.format);if(!s.includes("type")||!s.includes("presentation")||s.some(f=>f!=="type"&&f!=="presentation"&&f!=="timezone"&&f!=="sourceTimezone")||e.format.type!=="raw_temporal"||!g.isPlainJsonRecord(e.format.presentation))return u("Authored raw temporal format has an invalid shape.");const d=e.format.presentation;if(d.mode==="auto"){if(!y(d,["mode"]))return u("Automatic authored raw temporal format has unknown fields.")}else{if(d.mode!=="pattern"||!y(d,["mode","dialect","pattern"])||d.dialect!=="semaphor_tokens"&&d.dialect!=="date_fns"||typeof d.pattern!="string")return u("Authored raw temporal pattern has an invalid shape.");H(d.dialect,d.pattern)}}const t=(m=e.format)==null?void 0:m.timezone,r=(l=e.format)==null?void 0:l.sourceTimezone,a=t&&t!=="auto"?t:e.calendar.tz,i=r&&r!=="auto"?r==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:r:void 0;if(t!==void 0&&t!=="auto"&&!h.isValidIanaTimeZone(a)||i!==void 0&&!h.isValidIanaTimeZone(i))return u("Authored raw temporal timezone is invalid.");const n=((o=e.format)==null?void 0:o.presentation)??{mode:"auto"},c={type:"raw_temporal",locale:e.preferences.locale,calendarTimezone:a,...i?{sourceTimezone:i}:{},presentation:n.mode==="pattern"?{...n}:{mode:"auto",styles:{dateStyle:e.preferences.dateStyle,dateTime:{...e.preferences.dateTime}}}};return $(c)}function we(e){if(q.test(e))return"date";if(B.test(e))return"instant";if(U.test(e))return"wall_datetime"}function ve(e){const t=new Set;let r=!1;for(const a of e.values){if(a===null)continue;r=!0;const i=we(a);i&&t.add(i)}if(!r)return{status:"empty"};if(t.size===0)return{status:"invalid_only"};if(t.size>1)throw new S("mixed_sql_temporal_semantics",`Declared SQL temporal column "${e.columnKey}" mixes date, wall-datetime, or instant semantics. Normalize it to one kind.`);return{status:"classified",metadata:{kind:"raw_temporal",valueKind:[...t][0]}}}function xe(e){return{version:1,columns:Object.fromEntries([...e].map(([t,r])=>[t,r.status==="classified"?r.metadata.valueKind:r.status]))}}function Y(e){if(!g.isPlainJsonRecord(e)||e.version!==1||!g.isPlainJsonRecord(e.columns)||Object.keys(e).some(a=>a!=="version"&&a!=="columns"))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence is malformed.");const t={},r=new Set(["empty","invalid_only","date","wall_datetime","instant"]);for(const[a,i]of Object.entries(e.columns)){if(!a.trim()||!r.has(i))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence contains an invalid column or status.");t[a]=i}return{version:1,columns:t}}function Te(e){if(e.length===0)return;const t=e.map(Y),r=Object.keys(t[0].columns).sort();for(let a=1;a<t.length;a+=1){const i=Object.keys(t[a].columns).sort();if(i.length!==r.length||i.some((n,c)=>n!==r[c]))throw new S("invalid_raw_temporal_format","Raw temporal chunk classification evidence has inconsistent columns.")}for(const a of r)if(new Set(t.map(n=>n.columns[a]).filter(n=>n!=="empty"&&n!=="invalid_only")).size>1)throw new S("mixed_sql_temporal_semantics",`Declared SQL temporal column "${a}" has inconsistent semantics across export chunks. Normalize it to one kind.`)}function De(e){return e%4===0&&(e%100!==0||e%400===0)}function Ne(e,t){return t===2?De(e)?29:28:[4,6,9,11].includes(t)?30:31}function Fe(e){return e.year>=1&&e.year<=9999&&e.month>=1&&e.month<=12&&e.day>=1&&e.day<=Ne(e.year,e.month)&&e.hour>=0&&e.hour<=23&&e.minute>=0&&e.minute<=59&&e.second>=0&&e.second<=59}function _e(e){return{year:Number(e[1]),month:Number(e[2]),day:Number(e[3]),hour:Number(e[4]??0),minute:Number(e[5]??0),second:Number(e[6]??0),fraction:e[7]??""}}function ze(e,t){const r=t==="date"?e.match(q):t==="wall_datetime"?e.match(U):e.match(B);if(!r)return{status:"invalid_shape"};const a=_e(r);if(!Fe(a))return{status:"out_of_range"};if(t==="instant"){const i=r[8];if(i&&i!=="Z"){const[c,m]=i.slice(1).split(":").map(Number);if(c>23||m>59)return{status:"out_of_range"}}const n=new Date(e.replace(" ","T"));return Number.isNaN(n.getTime())?{status:"out_of_range"}:{status:"valid",fields:a,instant:n}}return{status:"valid",fields:a}}function E(e){const t=new Date(0);return t.setUTCFullYear(e.year,e.month-1,e.day),t.setUTCHours(e.hour,e.minute,e.second,0),t}function J(e,t){const r=e.fraction?`.${e.fraction.padEnd(3,"0").slice(0,3)}`:"";return re.fromZonedTime(`${String(e.year).padStart(4,"0")}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}T${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${r}`,t)}function ke(e,t){const r=new Map,a=new Map;let i,n,c,m;return{number(l,o=1){let s=r.get(o);return s||(s=new Intl.NumberFormat(e,{useGrouping:!1,minimumIntegerDigits:o,maximumFractionDigits:0}),r.set(o,s)),s.format(l)},month(l,o,s){var T;const d=`${o}:${s?"standalone":"contextual"}`;let f=a.get(d);if(!f){const D={calendar:"gregory",timeZone:"UTC",month:o};s||(D.day="numeric"),f=new Intl.DateTimeFormat(e,D),a.set(d,f)}return((T=f.formatToParts(l).find(D=>D.type==="month"))==null?void 0:T.value)??""},dayPeriod(l){var o;return i??(i=new Intl.DateTimeFormat(e,{calendar:"gregory",timeZone:"UTC",hour:"numeric",hour12:!0})),((o=i.formatToParts(l).find(s=>s.type==="dayPeriod"))==null?void 0:o.value)??""},instantFields(l){n??(n=new Intl.DateTimeFormat("en-CA",{calendar:"gregory",numberingSystem:"latn",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}));const o=n.formatToParts(l),s=d=>{var f;return Number((f=o.find(T=>T.type===d))==null?void 0:f.value)};return{year:s("year"),month:s("month"),day:s("day"),hour:s("hour"),minute:s("minute"),second:s("second"),fraction:""}},timezoneName(l){var o;return c??(c=new Intl.DateTimeFormat(e,{calendar:"gregory",timeZone:t,timeZoneName:"short"})),((o=c.formatToParts(l).find(s=>s.type==="timeZoneName"))==null?void 0:o.value)??""},timezoneOffset(l){var d;m??(m=new Intl.DateTimeFormat("en-US",{calendar:"gregory",timeZone:t,timeZoneName:"longOffset"}));const o=(d=m.formatToParts(l).find(f=>f.type==="timeZoneName"))==null?void 0:d.value;if(!o)return u("Unable to resolve the instant timezone offset.");const s=o.replace(/^GMT/,"");return s===""||/^[+-]00:00$/.test(s)?"Z":s}}}function Ce(e,t,r,a,i){if(/^S{1,9}$/.test(e)){const n=t.fraction.padEnd(e.length,"0").slice(0,e.length);return a.number(Number(n),e.length)}switch(e){case"YYYY":case"yyyy":return a.number(t.year,4);case"YY":case"yy":return a.number(t.year%100,2);case"MMMM":return a.month(r,"long",!1);case"LLLL":return a.month(r,"long",!0);case"MMM":return a.month(r,"short",!1);case"LLL":return a.month(r,"short",!0);case"MM":return a.number(t.month,2);case"M":return a.number(t.month);case"DD":case"dd":return a.number(t.day,2);case"d":return a.number(t.day);case"HH":return a.number(t.hour,2);case"H":return a.number(t.hour);case"hh":return a.number(t.hour%12||12,2);case"h":return a.number(t.hour%12||12);case"mm":return a.number(t.minute,2);case"m":return a.number(t.minute);case"ss":return a.number(t.second,2);case"s":return a.number(t.second);case"a":return a.dayPeriod(r);case"zzz":return i?a.timezoneName(i):u("Timezone pattern tokens require an instant value.");case"XXX":return i?a.timezoneOffset(i):u("Timezone pattern tokens require an instant value.");default:return u(`Unsupported raw temporal pattern token "${e}".`)}}function Ee(e,t,r,a){const i=E(t);return e.map(n=>n.kind==="literal"?n.value:Ce(n.value,t,i,r,a)).join("")}function W(e,t,r){const a=t==="date_fns"?j(r):(()=>{const n=g.tokenizeTemporalBucketPattern(r);return n.ok?n.segments:u(n.message)})(),i=a.filter(n=>n.kind==="token").map(n=>n.value);return e==="date"&&i.some(n=>ge.has(n))?u("Date patterns cannot contain time tokens."):e!=="instant"&&i.some(n=>ye.has(n))?u("Timezone pattern tokens require an instant value."):a}function Re(e){W(e.valueKind??"instant",e.dialect,e.pattern)}function Me(e,t,r,a){const i=W(e.valueKind,r,a),n=ke(t.locale,t.calendarTimezone);return c=>{const m=e.valueKind==="wall_datetime"&&t.sourceTimezone?J(c.fields,t.sourceTimezone):void 0,l=e.valueKind==="instant"?{...n.instantFields(c.instant),fraction:c.fields.fraction}:m?{...n.instantFields(m),fraction:c.fields.fraction}:c.fields;return Ee(i,l,n,c.instant??m)}}function Pe(e,t){const r=t.presentation.mode==="auto"?t.presentation.styles:u("Automatic raw temporal formatting requires styles.");if(e.valueKind==="date"){const c=new Intl.DateTimeFormat(t.locale,{calendar:"gregory",timeZone:"UTC",dateStyle:r.dateStyle});return m=>c.format(E(m.fields))}const a=e.valueKind==="instant",i=!a&&r.dateTime.timeStyle==="long"?"medium":r.dateTime.timeStyle,n=new Intl.DateTimeFormat(t.locale,{calendar:"gregory",timeZone:a||e.valueKind==="wall_datetime"&&t.sourceTimezone?t.calendarTimezone:"UTC",dateStyle:r.dateTime.dateStyle,timeStyle:i});return c=>a?n.format(c.instant):e.valueKind==="wall_datetime"&&t.sourceTimezone?n.format(J(c.fields,t.sourceTimezone)):n.format(E(c.fields))}function K(e,t,r){return{ok:!1,text:e,diagnostic:{code:r,message:`Raw temporal ${t.valueKind} value is ${r==="invalid_raw_temporal_value"?"malformed":"out of range"}.`}}}function X(e){const t=te.parseRawTemporalValueMetadata(e.metadata),r=$(e.format),a=r.presentation.mode==="auto"?Pe(t,r):Me(t,r,r.presentation.dialect,r.presentation.pattern);return i=>{if(i===null)return{ok:!0,text:"",status:"empty"};const n=ze(i,t.valueKind);return n.status==="invalid_shape"?K(i,t,"invalid_raw_temporal_value"):n.status==="out_of_range"?K(i,t,"out_of_range_raw_temporal_value"):{ok:!0,text:a(n),status:"formatted"}}}function $e(e){return X({metadata:e.metadata,format:e.format})(e.value)}exports.RawTemporalFormatContractError=S;exports.assertRawTemporalChunkClassificationAgreement=Te;exports.classifyDeclaredSqlTemporalColumn=ve;exports.createRawTemporalChunkClassificationEvidence=xe;exports.formatCurrency=R;exports.formatNumber=z;exports.formatNumberCustom=ce;exports.formatNumberWithColumnSettings=ie;exports.formatNumericCanonical=O;exports.formatPercent=M;exports.formatRawTemporalValue=$e;exports.formatScientific=P;exports.parseNumericCanonicalFormat=G;exports.parseRawTemporalChunkClassificationEvidence=Y;exports.parseResolvedNumericCanonicalFormat=me;exports.parseResolvedRawTemporalFormat=$;exports.prepareRawTemporalFormatter=X;exports.resolveCurrencyFractionDigits=Z;exports.resolveNumericPresentation=le;exports.resolveRawTemporalFormat=Se;exports.validateCardExportNumericPresentationSnapshot=ue;exports.validateRawTemporalPattern=Re;
@@ -1,10 +1,10 @@
1
1
  var W = Object.defineProperty;
2
2
  var Q = (e, t, r) => t in e ? W(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var b = (e, t, r) => Q(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { aY as K, aZ as J, e as T } from "./validators-DgmJaRF4.js";
4
+ import { b4 as K, b5 as J, e as T } from "./validators-D-_IT-Xw.js";
5
5
  import { canonicalizeSupportedLocale as M, canonicalizeSupportedCurrencyCode as z } from "../value-format-preferences/index.js";
6
6
  import { i as g, t as L } from "./temporal-bucket-B9hMwemw.js";
7
- import { p as ee } from "./raw-temporal-contract-BVcDonCB.js";
7
+ import { p as ee } from "./raw-temporal-contract-CkvdtPYA.js";
8
8
  import { f as te } from "./index-CACdoqu3.js";
9
9
  let I;
10
10
  function C(e, t) {
@@ -433,7 +433,7 @@ const ue = [
433
433
  "SSS",
434
434
  "SS",
435
435
  "S"
436
- ], Z = /^(\d{4})-(\d{2})-(\d{2})$/, U = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?$/, q = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}:\d{2})$/, oe = [
436
+ ], U = /^(\d{4})-(\d{2})-(\d{2})$/, Z = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?$/, q = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}:\d{2})$/, oe = [
437
437
  "yyyy",
438
438
  "MMMM",
439
439
  "LLLL",
@@ -558,7 +558,7 @@ function de(e) {
558
558
  }
559
559
  } : u("Automatic dateStyle is invalid.");
560
560
  }
561
- function Y(e) {
561
+ function H(e) {
562
562
  const t = ["type", "locale", "calendarTimezone", "presentation"], r = [...t, "sourceTimezone"];
563
563
  if (!g(e) || !y(e, t) && !y(e, r) || e.type !== "raw_temporal")
564
564
  return u("Resolved raw temporal format has an invalid shape.");
@@ -636,12 +636,12 @@ function Le(e) {
636
636
  }
637
637
  }
638
638
  };
639
- return Y(c);
639
+ return H(c);
640
640
  }
641
641
  function ge(e) {
642
- if (Z.test(e)) return "date";
642
+ if (U.test(e)) return "date";
643
643
  if (q.test(e)) return "instant";
644
- if (U.test(e)) return "wall_datetime";
644
+ if (Z.test(e)) return "wall_datetime";
645
645
  }
646
646
  function Ve(e) {
647
647
  const t = /* @__PURE__ */ new Set();
@@ -744,7 +744,7 @@ function xe(e) {
744
744
  };
745
745
  }
746
746
  function ve(e, t) {
747
- const r = t === "date" ? e.match(Z) : t === "wall_datetime" ? e.match(U) : e.match(q);
747
+ const r = t === "date" ? e.match(U) : t === "wall_datetime" ? e.match(Z) : e.match(q);
748
748
  if (!r) return { status: "invalid_shape" };
749
749
  const a = xe(r);
750
750
  if (!we(a)) return { status: "out_of_range" };
@@ -763,7 +763,7 @@ function E(e) {
763
763
  const t = /* @__PURE__ */ new Date(0);
764
764
  return t.setUTCFullYear(e.year, e.month - 1, e.day), t.setUTCHours(e.hour, e.minute, e.second, 0), t;
765
765
  }
766
- function H(e, t) {
766
+ function Y(e, t) {
767
767
  const r = e.fraction ? `.${e.fraction.padEnd(3, "0").slice(0, 3)}` : "";
768
768
  return te(
769
769
  `${String(e.year).padStart(4, "0")}-${String(e.month).padStart(2, "0")}-${String(e.day).padStart(2, "0")}T${String(e.hour).padStart(2, "0")}:${String(e.minute).padStart(2, "0")}:${String(e.second).padStart(2, "0")}${r}`,
@@ -943,7 +943,7 @@ function Ne(e, t, r, a) {
943
943
  a
944
944
  ), n = Te(t.locale, t.calendarTimezone);
945
945
  return (c) => {
946
- const m = e.valueKind === "wall_datetime" && t.sourceTimezone ? H(c.fields, t.sourceTimezone) : void 0, l = e.valueKind === "instant" ? {
946
+ const m = e.valueKind === "wall_datetime" && t.sourceTimezone ? Y(c.fields, t.sourceTimezone) : void 0, l = e.valueKind === "instant" ? {
947
947
  ...n.instantFields(c.instant),
948
948
  fraction: c.fields.fraction
949
949
  } : m ? {
@@ -969,7 +969,7 @@ function Fe(e, t) {
969
969
  dateStyle: r.dateTime.dateStyle,
970
970
  timeStyle: i
971
971
  });
972
- return (c) => a ? n.format(c.instant) : e.valueKind === "wall_datetime" && t.sourceTimezone ? n.format(H(c.fields, t.sourceTimezone)) : n.format(E(c.fields));
972
+ return (c) => a ? n.format(c.instant) : e.valueKind === "wall_datetime" && t.sourceTimezone ? n.format(Y(c.fields, t.sourceTimezone)) : n.format(E(c.fields));
973
973
  }
974
974
  function A(e, t, r) {
975
975
  return {
@@ -982,7 +982,7 @@ function A(e, t, r) {
982
982
  };
983
983
  }
984
984
  function ze(e) {
985
- const t = ee(e.metadata), r = Y(e.format), a = r.presentation.mode === "auto" ? Fe(t, r) : Ne(
985
+ const t = ee(e.metadata), r = H(e.format), a = r.presentation.mode === "auto" ? Fe(t, r) : Ne(
986
986
  t,
987
987
  r,
988
988
  r.presentation.dialect,
@@ -995,7 +995,7 @@ function ze(e) {
995
995
  return n.status === "invalid_shape" ? A(i, t, "invalid_raw_temporal_value") : n.status === "out_of_range" ? A(i, t, "out_of_range_raw_temporal_value") : { ok: !0, text: a(n), status: "formatted" };
996
996
  };
997
997
  }
998
- function Ze(e) {
998
+ function Ue(e) {
999
999
  return ze({
1000
1000
  metadata: e.metadata,
1001
1001
  format: e.format
@@ -1003,7 +1003,7 @@ function Ze(e) {
1003
1003
  }
1004
1004
  export {
1005
1005
  S as R,
1006
- Y as a,
1006
+ H as a,
1007
1007
  ne as b,
1008
1008
  $ as c,
1009
1009
  O as d,
@@ -1022,6 +1022,6 @@ export {
1022
1022
  Ge as q,
1023
1023
  se as r,
1024
1024
  ze as s,
1025
- Ze as t,
1025
+ Ue as t,
1026
1026
  Ae as v
1027
1027
  };
@@ -1 +1 @@
1
- "use strict";var l=Object.defineProperty;var i=(a,e,t)=>e in a?l(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var n=(a,e,t)=>i(a,typeof e!="symbol"?e+"":e,t);const s=require("./validators-CueUwVE4.cjs");class r extends Error{constructor(t){super(t);n(this,"code");this.name="RawTemporalMetadataContractError",this.code=s.RAW_TEMPORAL_CONTRACT_ERROR_CODES.invalidMetadata}}function m(a){if(a===null||typeof a!="object"||Array.isArray(a))return!1;const e=Object.getPrototypeOf(a);return e===null||e===Object.prototype}function d(a){if(!m(a))throw new r("Raw temporal metadata must be an object.");const e=Object.keys(a);if(e.length!==2||!e.includes("kind")||!e.includes("valueKind"))throw new r("Raw temporal metadata must contain only kind and valueKind.");if(a.kind!=="raw_temporal")throw new r("Raw temporal metadata kind must be raw_temporal.");if(a.valueKind!=="date"&&a.valueKind!=="wall_datetime"&&a.valueKind!=="instant")throw new r("Raw temporal valueKind must be date, wall_datetime, or instant.");return{kind:"raw_temporal",valueKind:a.valueKind}}function w(a,e){if(!a.rawTemporal){if(e.metadataRequired)throw new r("Activated raw temporal result is missing metadata.");return}if(a.temporalBucket)throw new r("A result column cannot carry both raw and grouped temporal metadata.");const t=d(a.rawTemporal),o=t.valueKind==="date"?"date":"datetime";if(a.dataType!==o)throw new r(`${t.valueKind} raw temporal values require dataType ${o}.`);return t}exports.RawTemporalMetadataContractError=r;exports.parseRawTemporalValueMetadata=d;exports.validateRawTemporalResultColumn=w;
1
+ "use strict";var l=Object.defineProperty;var i=(a,e,t)=>e in a?l(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var n=(a,e,t)=>i(a,typeof e!="symbol"?e+"":e,t);const s=require("./validators-ux2obZB9.cjs");class r extends Error{constructor(t){super(t);n(this,"code");this.name="RawTemporalMetadataContractError",this.code=s.RAW_TEMPORAL_CONTRACT_ERROR_CODES.invalidMetadata}}function m(a){if(a===null||typeof a!="object"||Array.isArray(a))return!1;const e=Object.getPrototypeOf(a);return e===null||e===Object.prototype}function d(a){if(!m(a))throw new r("Raw temporal metadata must be an object.");const e=Object.keys(a);if(e.length!==2||!e.includes("kind")||!e.includes("valueKind"))throw new r("Raw temporal metadata must contain only kind and valueKind.");if(a.kind!=="raw_temporal")throw new r("Raw temporal metadata kind must be raw_temporal.");if(a.valueKind!=="date"&&a.valueKind!=="wall_datetime"&&a.valueKind!=="instant")throw new r("Raw temporal valueKind must be date, wall_datetime, or instant.");return{kind:"raw_temporal",valueKind:a.valueKind}}function w(a,e){if(!a.rawTemporal){if(e.metadataRequired)throw new r("Activated raw temporal result is missing metadata.");return}if(a.temporalBucket)throw new r("A result column cannot carry both raw and grouped temporal metadata.");const t=d(a.rawTemporal),o=t.valueKind==="date"?"date":"datetime";if(a.dataType!==o)throw new r(`${t.valueKind} raw temporal values require dataType ${o}.`);return t}exports.RawTemporalMetadataContractError=r;exports.parseRawTemporalValueMetadata=d;exports.validateRawTemporalResultColumn=w;
@@ -1,7 +1,7 @@
1
1
  var d = Object.defineProperty;
2
2
  var i = (a, e, t) => e in a ? d(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t;
3
3
  var n = (a, e, t) => i(a, typeof e != "symbol" ? e + "" : e, t);
4
- import { R as l } from "./validators-DgmJaRF4.js";
4
+ import { R as l } from "./validators-D-_IT-Xw.js";
5
5
  class r extends Error {
6
6
  constructor(t) {
7
7
  super(t);
@@ -1 +1 @@
1
- "use strict";const e=require("react/jsx-runtime"),o=require("react"),d=require("./index-a9nBmD-v.cjs"),s=require("./switch-COujiMcB.cjs"),V=require("./report-runtime-context-C-As8sq_.cjs");require("./x-B6ghREd2.cjs");require("./constants-C-GvudXp.cjs");require("./validators-CueUwVE4.cjs");require("./matrix-operation-contract-CbavkrJj.cjs");const L=require("../value-format-preferences/index.cjs");function G(a={}){const{authToken:c,tokenProps:t}=d.useSemaphorContext(),m=s.useDashboardStore(p=>p.actions.applyResolvedCalendarPreferences),r=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,[g,S]=o.useState(!1),[b,C]=o.useState(!1),[f,j]=o.useState(!1),[T,x]=o.useState(null),[w,P]=o.useState(null),v=o.useRef(i);v.current=i,o.useEffect(()=>{P(null),x(null),S(!1),C(!1),j(!1)},[i]);const N=o.useCallback(async p=>{const n=V.parseCalendarPreferencesResponse(await p.json());if(!n.ok)throw new Error("Calendar preferences response is invalid");return n.value},[]),k=o.useCallback(async()=>{if(!r||!i||!h)return;const p=i;S(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!n.ok){const y=await n.json().catch(()=>({}));throw new Error(y.error||"Failed to fetch preferences")}const l=await N(n);v.current===p&&P(l)}catch(n){v.current===p&&x(n instanceof Error?n.message:"Unknown error")}finally{v.current===p&&S(!1)}},[i,h,r,N]);o.useEffect(()=>{r&&k()},[r,k]);const E=o.useCallback(async p=>{if(!i||!h)return x("Not authenticated"),!1;const n=i;C(!0),x(null);try{const l=await fetch(`${h}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(p)});if(!l.ok){const D=await l.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}const y=await N(l);return v.current!==n?!1:(P(y),m(y.resolved,y.sources),!0)}catch(l){return v.current===n&&x(l instanceof Error?l.message:"Unknown error"),!1}finally{v.current===n&&C(!1)}},[i,h,m,N]),A=o.useCallback(async()=>{if(!i||!h)return x("Not authenticated"),!1;const p=i;j(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${i}`}});if(!n.ok){const y=await n.json().catch(()=>({}));throw new Error(y.error||"Failed to clear preferences")}const l=await N(n);return v.current!==p?!1:(P(l),m(l.resolved,l.sources),!0)}catch(n){return v.current===p&&x(n instanceof Error?n.message:"Unknown error"),!1}finally{v.current===p&&j(!1)}},[i,h,m,N]);return{preferences:w,isLoading:g,isSaving:b,isClearing:f,error:T,updatePreferences:E,clearPreferences:A,refetch:k}}const F=[{value:"America/New_York",label:"Eastern Time (US & Canada)"},{value:"America/Chicago",label:"Central Time (US & Canada)"},{value:"America/Denver",label:"Mountain Time (US & Canada)"},{value:"America/Los_Angeles",label:"Pacific Time (US & Canada)"},{value:"America/Phoenix",label:"Arizona"},{value:"America/Anchorage",label:"Alaska"},{value:"Pacific/Honolulu",label:"Hawaii"},{value:"Europe/London",label:"London"},{value:"Europe/Paris",label:"Paris, Berlin, Rome"},{value:"Asia/Tokyo",label:"Tokyo"},{value:"Asia/Shanghai",label:"Beijing, Shanghai"},{value:"Asia/Kolkata",label:"Mumbai, New Delhi"},{value:"Australia/Sydney",label:"Sydney"},{value:"UTC",label:"UTC"}],B=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:6,label:"Saturday"}],R="text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground";function W(){try{const a=Intl;if(a.supportedValuesOf)return a.supportedValuesOf("timeZone")}catch{}return F.map(a=>a.value)}function H(a){if(!a)return"default";if(a.tz!==a.weekStart)return"inherited";switch(a.tz){case"viewer_tenant":return"tenant";case"viewer_organization":return"organization";case"system_default":return"system";case"session_initial":return"embedded";default:return"default"}}function U(a){const c=F.find(t=>t.value===a);return c?c.label:a}function K(a){const c=B.find(t=>t.value===a);return c?c.label:String(a)}function J({active:a,onClose:c}){const{preferences:t,isLoading:m,isSaving:r,isClearing:i,updatePreferences:h,clearPreferences:g}=G({enabled:a}),S=d.useCalendarContext(),b=(t==null?void 0:t.resolved.tz)||(S==null?void 0:S.tz)||"UTC",C=(t==null?void 0:t.resolved.weekStart)??(S==null?void 0:S.weekStart)??1,[f,j]=o.useState((t==null?void 0:t.stored)===null),[T,x]=o.useState(!1),[w,P]=o.useState(b),[v,N]=o.useState(C),[k,E]=o.useState(!1),A=o.useMemo(()=>W(),[]),p=o.useMemo(()=>A.filter(u=>!F.some(M=>M.value===u)),[A]),n=o.useMemo(()=>U(w),[w]),l=t!=null&&t.inherited?U(t.inherited.tz):"UTC",y=t!=null&&t.inherited?K(t.inherited.weekStart):"Monday",D=H(t==null?void 0:t.inheritedSources);o.useEffect(()=>{if(!a){x(!1);return}T||(t&&j(t.stored===null),P(b),N(C))},[a,T,t,b,C]);const O=async()=>{if(m){s.ue.error("Preferences are still loading. Please try again.");return}f?await g()?(s.ue.success("Now using default settings."),c()):s.ue.error("Failed to save preferences. Please try again."):await h({tz:w,weekStart:v})?(s.ue.success("Preferences saved."),c()):s.ue.error("Failed to save preferences. Please try again.")},_=()=>{c()},z=r||i,$=z||m;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(d.RadioGroup,{value:f?"defaults":"custom",onValueChange:u=>{x(!0),j(u==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:s.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",f&&"bg-muted/50"),onClick:()=>{x(!0),j(!0)},children:[e.jsx(d.RadioGroupItem,{value:"defaults",id:"mode-defaults",className:"mt-0.5"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("p",{className:"text-[13px] font-medium text-foreground",children:["Use ",D," defaults"]}),e.jsxs("p",{className:"text-[12px] text-muted-foreground",children:[l,", week starts ",y]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:s.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",!f&&"bg-muted/50"),onClick:()=>{x(!0),j(!1)},children:[e.jsx(d.RadioGroupItem,{value:"custom",id:"mode-custom",className:"mt-0.5"}),e.jsx("p",{className:"flex-1 text-[13px] font-medium text-foreground",children:"Use custom settings"})]})]}),e.jsxs("div",{className:s.cn("space-y-4 border-t border-border/60 pt-4 transition-opacity",f&&"pointer-events-none opacity-50"),children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(s.Label,{className:R,children:"Timezone"}),e.jsxs(s.Popover,{open:k,onOpenChange:E,modal:!0,children:[e.jsx(s.PopoverTrigger,{asChild:!0,children:e.jsxs(s.Button,{variant:"outline",size:"xs",role:"combobox","aria-expanded":k,className:"w-full justify-between text-[12px] font-normal",disabled:f,children:[e.jsx("span",{className:"truncate",children:n}),e.jsx(d.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(s.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(d.Command,{className:"overflow-visible",children:[e.jsx(d.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(d.CommandList,{children:[e.jsx(d.CommandEmpty,{children:"No timezone found."}),e.jsx(d.CommandGroup,{heading:"Common",children:F.map(u=>e.jsxs(d.CommandItem,{value:`${u.value} ${u.label}`,onSelect:()=>{x(!0),P(u.value),E(!1)},children:[e.jsx(s.Check,{className:s.cn("h-3.5 w-3.5",w===u.value?"opacity-100":"opacity-0")}),e.jsx("span",{className:"flex-1",children:u.label}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:u.value})]},u.value))}),e.jsx(d.CommandSeparator,{}),e.jsx(d.CommandGroup,{heading:"All timezones",children:p.map(u=>e.jsxs(d.CommandItem,{value:u,onSelect:()=>{x(!0),P(u),E(!1)},children:[e.jsx(s.Check,{className:s.cn("h-3.5 w-3.5",w===u?"opacity-100":"opacity-0")}),u]},u))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(s.Label,{className:R,children:"Week starts on"}),e.jsx(d.RadioGroup,{value:String(v),onValueChange:u=>{x(!0),N(Number(u))},className:"flex gap-4",disabled:f,children:B.map(u=>e.jsxs("label",{htmlFor:`week-start-${u.value}`,className:s.cn("flex cursor-pointer items-center gap-2 text-[13px]",f&&"cursor-not-allowed"),children:[e.jsx(d.RadioGroupItem,{value:String(u.value),id:`week-start-${u.value}`,disabled:f}),u.label]},u.value))})]})]})]}),e.jsxs(d.DialogFooter,{children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:_,disabled:z,children:"Cancel"}),e.jsx(s.Button,{size:"xs",onClick:O,disabled:$,children:z?e.jsxs(e.Fragment,{children:[e.jsx(s.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function Y(a={}){const{authToken:c,tokenProps:t}=d.useSemaphorContext(),m=s.useDashboardStore(n=>n.actions.applyResolvedValueFormatPreferences),r=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,g=o.useRef(i);g.current=i;const[S,b]=o.useState(null),[C,f]=o.useState(!1),[j,T]=o.useState(!1),[x,w]=o.useState(!1),[P,v]=o.useState(null);o.useEffect(()=>{b(null),v(null),f(!1),T(!1),w(!1)},[i]);const N=o.useCallback(async n=>{const l=L.parseValueFormatPreferencesResponse(await n.json());if(!l.ok)throw new Error("Value format preferences response is invalid");return l.value},[]),k=o.useCallback(async(n,l)=>{if(!i||!h)throw new Error("Not authenticated");const y=await fetch(`${h}/v1/user-preferences/value-format`,{method:n,headers:{Authorization:`Bearer ${i}`,...l?{"Content-Type":"application/json"}:{}},body:l?JSON.stringify(l):void 0});if(!y.ok){const D=await y.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}return N(y)},[i,h,N]),E=o.useCallback(async()=>{if(!r||!i||!h)return;const n=i;f(!0),v(null);try{const l=await k("GET");g.current===n&&b(l)}catch(l){g.current===n&&v(l instanceof Error?l.message:"Unknown error")}finally{g.current===n&&f(!1)}},[i,h,r,k]);o.useEffect(()=>{r&&E()},[r,E]);const A=o.useCallback(async n=>{const l=i;T(!0),v(null);try{const y=await k("PATCH",n);return g.current!==l?!1:(b(y),m(y.resolved,y.sources),!0)}catch(y){return g.current===l&&v(y instanceof Error?y.message:"Unknown error"),!1}finally{g.current===l&&T(!1)}},[i,m,k]),p=o.useCallback(async()=>{const n=i;w(!0),v(null);try{const l=await k("DELETE");return g.current!==n?!1:(b(l),m(l.resolved,l.sources),!0)}catch(l){return g.current===n&&v(l instanceof Error?l.message:"Unknown error"),!1}finally{g.current===n&&w(!1)}},[i,m,k]);return{preferences:S,isLoading:C,isSaving:j,isClearing:x,error:P,updatePreferences:A,clearPreferences:p,refetch:E}}const I=["locale","dateStyle","dateTime.dateStyle","dateTime.timeStyle","defaultCurrency"];function q(a,c){var t,m;switch(c){case"locale":return a==null?void 0:a.locale;case"dateStyle":return a==null?void 0:a.dateStyle;case"dateTime.dateStyle":return(t=a==null?void 0:a.dateTime)==null?void 0:t.dateStyle;case"dateTime.timeStyle":return(m=a==null?void 0:a.dateTime)==null?void 0:m.timeStyle;case"defaultCurrency":return a==null?void 0:a.defaultCurrency}}function Z(a){var m,r;const c=(m=a==null?void 0:a.dateTime)==null?void 0:m.dateStyle,t=(r=a==null?void 0:a.dateTime)==null?void 0:r.timeStyle;return{locale:a==null?void 0:a.locale,dateStyle:a==null?void 0:a.dateStyle,dateTime:c===void 0&&t===void 0?void 0:{dateStyle:c,timeStyle:t},defaultCurrency:a==null?void 0:a.defaultCurrency}}function Q({active:a,onClose:c}){var g,S,b,C,f,j,T;const{preferences:t,isLoading:m,isSaving:r,updatePreferences:i}=Y({enabled:a});if(!a)return null;if(!t)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx("div",{className:"flex min-h-36 items-center justify-center text-[12px] text-muted-foreground",children:m?"Loading preferences…":"Preferences unavailable."})}),e.jsxs(d.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(s.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:c,children:"Cancel"}),e.jsx(s.Button,{size:"xs",disabled:!0,children:"Save"})]})]})]});const h=[((g=t.stored)==null?void 0:g.locale)??"",((S=t.stored)==null?void 0:S.dateStyle)??"",((C=(b=t.stored)==null?void 0:b.dateTime)==null?void 0:C.dateStyle)??"",((j=(f=t.stored)==null?void 0:f.dateTime)==null?void 0:j.timeStyle)??"",((T=t.stored)==null?void 0:T.defaultCurrency)??""].join(":");return e.jsx(X,{preferences:t,isSaving:r,updatePreferences:i,onClose:c},h)}function X({preferences:a,isSaving:c,updatePreferences:t,onClose:m}){var b,C;const[r,i]=o.useState(()=>Z(a.stored)),h=(r.locale===void 0||L.canonicalizeSupportedLocale(r.locale)!==void 0)&&(r.defaultCurrency===void 0||L.canonicalizeSupportedCurrencyCode(r.defaultCurrency)!==void 0)&&(r.dateStyle===void 0||["short","medium","long"].includes(r.dateStyle))&&(((b=r.dateTime)==null?void 0:b.dateStyle)===void 0||["short","medium","long"].includes(r.dateTime.dateStyle))&&(((C=r.dateTime)==null?void 0:C.timeStyle)===void 0||["short","medium","long"].includes(r.dateTime.timeStyle)),g=async()=>{const f={...r.locale!==void 0?{locale:r.locale}:{},...r.dateStyle!==void 0?{dateStyle:r.dateStyle}:{},...r.dateTime?{dateTime:{...r.dateTime}}:{},...r.defaultCurrency!==void 0?{defaultCurrency:r.defaultCurrency}:{}},j=I.filter(w=>q(r,w)===void 0&&q(a.stored,w)!==void 0),T={...Object.keys(f).length>0?{set:f}:{},...j.length>0?{clear:j}:{}};(Object.keys(T).length===0?!0:await t(T))?(s.ue.success("Display format preferences saved."),m()):s.ue.error("Failed to save preferences. Please try again.")},S=async()=>{await t({clear:[...I]})?(s.ue.success("Display format preferences reset."),m()):s.ue.error("Failed to reset display format preferences. Please try again.")};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(d.DisplayFormatPreferencesFields,{value:r,inherited:a.inherited,inheritedSources:a.inheritedSources,onChange:i,disabled:c})}),e.jsxs(d.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(s.Button,{variant:"ghost",size:"xs",onClick:S,disabled:c||a.stored===null,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:m,disabled:c,children:"Cancel"}),e.jsx(s.Button,{size:"xs",onClick:g,disabled:c||!h,children:c?e.jsxs(e.Fragment,{children:[e.jsx(s.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function ee({open:a,onOpenChange:c}){const[t,m]=o.useState("display"),r=()=>c(!1);return e.jsx(d.Dialog,{open:a,onOpenChange:c,children:e.jsxs(d.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(d.DialogHeader,{children:[e.jsx(d.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(d.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(s.Tabs,{value:t,onValueChange:m,children:[e.jsxs(s.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(s.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(s.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(s.TabsContent,{value:"display",children:e.jsx(Q,{active:a&&t==="display",onClose:r})}),e.jsx(s.TabsContent,{value:"calendar",children:e.jsx(J,{active:a&&t==="calendar",onClose:r})})]})]})})}exports.ReportPreferencesDialog=ee;
1
+ "use strict";const e=require("react/jsx-runtime"),o=require("react"),d=require("./index-B8-qrqSa.cjs"),s=require("./switch-wR8lV0zN.cjs"),V=require("./report-runtime-context-lSIvyKm2.cjs");require("./x-B6ghREd2.cjs");require("./constants-DIuhVR6J.cjs");require("./validators-ux2obZB9.cjs");require("./matrix-operation-contract-o9GXbiHw.cjs");const L=require("../value-format-preferences/index.cjs");function G(a={}){const{authToken:c,tokenProps:t}=d.useSemaphorContext(),m=s.useDashboardStore(p=>p.actions.applyResolvedCalendarPreferences),r=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,[g,S]=o.useState(!1),[b,C]=o.useState(!1),[f,j]=o.useState(!1),[T,x]=o.useState(null),[w,P]=o.useState(null),v=o.useRef(i);v.current=i,o.useEffect(()=>{P(null),x(null),S(!1),C(!1),j(!1)},[i]);const N=o.useCallback(async p=>{const n=V.parseCalendarPreferencesResponse(await p.json());if(!n.ok)throw new Error("Calendar preferences response is invalid");return n.value},[]),k=o.useCallback(async()=>{if(!r||!i||!h)return;const p=i;S(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!n.ok){const y=await n.json().catch(()=>({}));throw new Error(y.error||"Failed to fetch preferences")}const l=await N(n);v.current===p&&P(l)}catch(n){v.current===p&&x(n instanceof Error?n.message:"Unknown error")}finally{v.current===p&&S(!1)}},[i,h,r,N]);o.useEffect(()=>{r&&k()},[r,k]);const E=o.useCallback(async p=>{if(!i||!h)return x("Not authenticated"),!1;const n=i;C(!0),x(null);try{const l=await fetch(`${h}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(p)});if(!l.ok){const D=await l.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}const y=await N(l);return v.current!==n?!1:(P(y),m(y.resolved,y.sources),!0)}catch(l){return v.current===n&&x(l instanceof Error?l.message:"Unknown error"),!1}finally{v.current===n&&C(!1)}},[i,h,m,N]),A=o.useCallback(async()=>{if(!i||!h)return x("Not authenticated"),!1;const p=i;j(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${i}`}});if(!n.ok){const y=await n.json().catch(()=>({}));throw new Error(y.error||"Failed to clear preferences")}const l=await N(n);return v.current!==p?!1:(P(l),m(l.resolved,l.sources),!0)}catch(n){return v.current===p&&x(n instanceof Error?n.message:"Unknown error"),!1}finally{v.current===p&&j(!1)}},[i,h,m,N]);return{preferences:w,isLoading:g,isSaving:b,isClearing:f,error:T,updatePreferences:E,clearPreferences:A,refetch:k}}const F=[{value:"America/New_York",label:"Eastern Time (US & Canada)"},{value:"America/Chicago",label:"Central Time (US & Canada)"},{value:"America/Denver",label:"Mountain Time (US & Canada)"},{value:"America/Los_Angeles",label:"Pacific Time (US & Canada)"},{value:"America/Phoenix",label:"Arizona"},{value:"America/Anchorage",label:"Alaska"},{value:"Pacific/Honolulu",label:"Hawaii"},{value:"Europe/London",label:"London"},{value:"Europe/Paris",label:"Paris, Berlin, Rome"},{value:"Asia/Tokyo",label:"Tokyo"},{value:"Asia/Shanghai",label:"Beijing, Shanghai"},{value:"Asia/Kolkata",label:"Mumbai, New Delhi"},{value:"Australia/Sydney",label:"Sydney"},{value:"UTC",label:"UTC"}],B=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:6,label:"Saturday"}],R="text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground";function W(){try{const a=Intl;if(a.supportedValuesOf)return a.supportedValuesOf("timeZone")}catch{}return F.map(a=>a.value)}function H(a){if(!a)return"default";if(a.tz!==a.weekStart)return"inherited";switch(a.tz){case"viewer_tenant":return"tenant";case"viewer_organization":return"organization";case"system_default":return"system";case"session_initial":return"embedded";default:return"default"}}function U(a){const c=F.find(t=>t.value===a);return c?c.label:a}function K(a){const c=B.find(t=>t.value===a);return c?c.label:String(a)}function J({active:a,onClose:c}){const{preferences:t,isLoading:m,isSaving:r,isClearing:i,updatePreferences:h,clearPreferences:g}=G({enabled:a}),S=d.useCalendarContext(),b=(t==null?void 0:t.resolved.tz)||(S==null?void 0:S.tz)||"UTC",C=(t==null?void 0:t.resolved.weekStart)??(S==null?void 0:S.weekStart)??1,[f,j]=o.useState((t==null?void 0:t.stored)===null),[T,x]=o.useState(!1),[w,P]=o.useState(b),[v,N]=o.useState(C),[k,E]=o.useState(!1),A=o.useMemo(()=>W(),[]),p=o.useMemo(()=>A.filter(u=>!F.some(M=>M.value===u)),[A]),n=o.useMemo(()=>U(w),[w]),l=t!=null&&t.inherited?U(t.inherited.tz):"UTC",y=t!=null&&t.inherited?K(t.inherited.weekStart):"Monday",D=H(t==null?void 0:t.inheritedSources);o.useEffect(()=>{if(!a){x(!1);return}T||(t&&j(t.stored===null),P(b),N(C))},[a,T,t,b,C]);const O=async()=>{if(m){s.ue.error("Preferences are still loading. Please try again.");return}f?await g()?(s.ue.success("Now using default settings."),c()):s.ue.error("Failed to save preferences. Please try again."):await h({tz:w,weekStart:v})?(s.ue.success("Preferences saved."),c()):s.ue.error("Failed to save preferences. Please try again.")},_=()=>{c()},z=r||i,$=z||m;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(d.RadioGroup,{value:f?"defaults":"custom",onValueChange:u=>{x(!0),j(u==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:s.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",f&&"bg-muted/50"),onClick:()=>{x(!0),j(!0)},children:[e.jsx(d.RadioGroupItem,{value:"defaults",id:"mode-defaults",className:"mt-0.5"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("p",{className:"text-[13px] font-medium text-foreground",children:["Use ",D," defaults"]}),e.jsxs("p",{className:"text-[12px] text-muted-foreground",children:[l,", week starts ",y]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:s.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",!f&&"bg-muted/50"),onClick:()=>{x(!0),j(!1)},children:[e.jsx(d.RadioGroupItem,{value:"custom",id:"mode-custom",className:"mt-0.5"}),e.jsx("p",{className:"flex-1 text-[13px] font-medium text-foreground",children:"Use custom settings"})]})]}),e.jsxs("div",{className:s.cn("space-y-4 border-t border-border/60 pt-4 transition-opacity",f&&"pointer-events-none opacity-50"),children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(s.Label,{className:R,children:"Timezone"}),e.jsxs(s.Popover,{open:k,onOpenChange:E,modal:!0,children:[e.jsx(s.PopoverTrigger,{asChild:!0,children:e.jsxs(s.Button,{variant:"outline",size:"xs",role:"combobox","aria-expanded":k,className:"w-full justify-between text-[12px] font-normal",disabled:f,children:[e.jsx("span",{className:"truncate",children:n}),e.jsx(d.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(s.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(d.Command,{className:"overflow-visible",children:[e.jsx(d.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(d.CommandList,{children:[e.jsx(d.CommandEmpty,{children:"No timezone found."}),e.jsx(d.CommandGroup,{heading:"Common",children:F.map(u=>e.jsxs(d.CommandItem,{value:`${u.value} ${u.label}`,onSelect:()=>{x(!0),P(u.value),E(!1)},children:[e.jsx(s.Check,{className:s.cn("h-3.5 w-3.5",w===u.value?"opacity-100":"opacity-0")}),e.jsx("span",{className:"flex-1",children:u.label}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:u.value})]},u.value))}),e.jsx(d.CommandSeparator,{}),e.jsx(d.CommandGroup,{heading:"All timezones",children:p.map(u=>e.jsxs(d.CommandItem,{value:u,onSelect:()=>{x(!0),P(u),E(!1)},children:[e.jsx(s.Check,{className:s.cn("h-3.5 w-3.5",w===u?"opacity-100":"opacity-0")}),u]},u))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(s.Label,{className:R,children:"Week starts on"}),e.jsx(d.RadioGroup,{value:String(v),onValueChange:u=>{x(!0),N(Number(u))},className:"flex gap-4",disabled:f,children:B.map(u=>e.jsxs("label",{htmlFor:`week-start-${u.value}`,className:s.cn("flex cursor-pointer items-center gap-2 text-[13px]",f&&"cursor-not-allowed"),children:[e.jsx(d.RadioGroupItem,{value:String(u.value),id:`week-start-${u.value}`,disabled:f}),u.label]},u.value))})]})]})]}),e.jsxs(d.DialogFooter,{children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:_,disabled:z,children:"Cancel"}),e.jsx(s.Button,{size:"xs",onClick:O,disabled:$,children:z?e.jsxs(e.Fragment,{children:[e.jsx(s.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function Y(a={}){const{authToken:c,tokenProps:t}=d.useSemaphorContext(),m=s.useDashboardStore(n=>n.actions.applyResolvedValueFormatPreferences),r=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,g=o.useRef(i);g.current=i;const[S,b]=o.useState(null),[C,f]=o.useState(!1),[j,T]=o.useState(!1),[x,w]=o.useState(!1),[P,v]=o.useState(null);o.useEffect(()=>{b(null),v(null),f(!1),T(!1),w(!1)},[i]);const N=o.useCallback(async n=>{const l=L.parseValueFormatPreferencesResponse(await n.json());if(!l.ok)throw new Error("Value format preferences response is invalid");return l.value},[]),k=o.useCallback(async(n,l)=>{if(!i||!h)throw new Error("Not authenticated");const y=await fetch(`${h}/v1/user-preferences/value-format`,{method:n,headers:{Authorization:`Bearer ${i}`,...l?{"Content-Type":"application/json"}:{}},body:l?JSON.stringify(l):void 0});if(!y.ok){const D=await y.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}return N(y)},[i,h,N]),E=o.useCallback(async()=>{if(!r||!i||!h)return;const n=i;f(!0),v(null);try{const l=await k("GET");g.current===n&&b(l)}catch(l){g.current===n&&v(l instanceof Error?l.message:"Unknown error")}finally{g.current===n&&f(!1)}},[i,h,r,k]);o.useEffect(()=>{r&&E()},[r,E]);const A=o.useCallback(async n=>{const l=i;T(!0),v(null);try{const y=await k("PATCH",n);return g.current!==l?!1:(b(y),m(y.resolved,y.sources),!0)}catch(y){return g.current===l&&v(y instanceof Error?y.message:"Unknown error"),!1}finally{g.current===l&&T(!1)}},[i,m,k]),p=o.useCallback(async()=>{const n=i;w(!0),v(null);try{const l=await k("DELETE");return g.current!==n?!1:(b(l),m(l.resolved,l.sources),!0)}catch(l){return g.current===n&&v(l instanceof Error?l.message:"Unknown error"),!1}finally{g.current===n&&w(!1)}},[i,m,k]);return{preferences:S,isLoading:C,isSaving:j,isClearing:x,error:P,updatePreferences:A,clearPreferences:p,refetch:E}}const I=["locale","dateStyle","dateTime.dateStyle","dateTime.timeStyle","defaultCurrency"];function q(a,c){var t,m;switch(c){case"locale":return a==null?void 0:a.locale;case"dateStyle":return a==null?void 0:a.dateStyle;case"dateTime.dateStyle":return(t=a==null?void 0:a.dateTime)==null?void 0:t.dateStyle;case"dateTime.timeStyle":return(m=a==null?void 0:a.dateTime)==null?void 0:m.timeStyle;case"defaultCurrency":return a==null?void 0:a.defaultCurrency}}function Z(a){var m,r;const c=(m=a==null?void 0:a.dateTime)==null?void 0:m.dateStyle,t=(r=a==null?void 0:a.dateTime)==null?void 0:r.timeStyle;return{locale:a==null?void 0:a.locale,dateStyle:a==null?void 0:a.dateStyle,dateTime:c===void 0&&t===void 0?void 0:{dateStyle:c,timeStyle:t},defaultCurrency:a==null?void 0:a.defaultCurrency}}function Q({active:a,onClose:c}){var g,S,b,C,f,j,T;const{preferences:t,isLoading:m,isSaving:r,updatePreferences:i}=Y({enabled:a});if(!a)return null;if(!t)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx("div",{className:"flex min-h-36 items-center justify-center text-[12px] text-muted-foreground",children:m?"Loading preferences…":"Preferences unavailable."})}),e.jsxs(d.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(s.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:c,children:"Cancel"}),e.jsx(s.Button,{size:"xs",disabled:!0,children:"Save"})]})]})]});const h=[((g=t.stored)==null?void 0:g.locale)??"",((S=t.stored)==null?void 0:S.dateStyle)??"",((C=(b=t.stored)==null?void 0:b.dateTime)==null?void 0:C.dateStyle)??"",((j=(f=t.stored)==null?void 0:f.dateTime)==null?void 0:j.timeStyle)??"",((T=t.stored)==null?void 0:T.defaultCurrency)??""].join(":");return e.jsx(X,{preferences:t,isSaving:r,updatePreferences:i,onClose:c},h)}function X({preferences:a,isSaving:c,updatePreferences:t,onClose:m}){var b,C;const[r,i]=o.useState(()=>Z(a.stored)),h=(r.locale===void 0||L.canonicalizeSupportedLocale(r.locale)!==void 0)&&(r.defaultCurrency===void 0||L.canonicalizeSupportedCurrencyCode(r.defaultCurrency)!==void 0)&&(r.dateStyle===void 0||["short","medium","long"].includes(r.dateStyle))&&(((b=r.dateTime)==null?void 0:b.dateStyle)===void 0||["short","medium","long"].includes(r.dateTime.dateStyle))&&(((C=r.dateTime)==null?void 0:C.timeStyle)===void 0||["short","medium","long"].includes(r.dateTime.timeStyle)),g=async()=>{const f={...r.locale!==void 0?{locale:r.locale}:{},...r.dateStyle!==void 0?{dateStyle:r.dateStyle}:{},...r.dateTime?{dateTime:{...r.dateTime}}:{},...r.defaultCurrency!==void 0?{defaultCurrency:r.defaultCurrency}:{}},j=I.filter(w=>q(r,w)===void 0&&q(a.stored,w)!==void 0),T={...Object.keys(f).length>0?{set:f}:{},...j.length>0?{clear:j}:{}};(Object.keys(T).length===0?!0:await t(T))?(s.ue.success("Display format preferences saved."),m()):s.ue.error("Failed to save preferences. Please try again.")},S=async()=>{await t({clear:[...I]})?(s.ue.success("Display format preferences reset."),m()):s.ue.error("Failed to reset display format preferences. Please try again.")};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(d.DisplayFormatPreferencesFields,{value:r,inherited:a.inherited,inheritedSources:a.inheritedSources,onChange:i,disabled:c})}),e.jsxs(d.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(s.Button,{variant:"ghost",size:"xs",onClick:S,disabled:c||a.stored===null,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(s.Button,{variant:"outline",size:"xs",onClick:m,disabled:c,children:"Cancel"}),e.jsx(s.Button,{size:"xs",onClick:g,disabled:c||!h,children:c?e.jsxs(e.Fragment,{children:[e.jsx(s.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function ee({open:a,onOpenChange:c}){const[t,m]=o.useState("display"),r=()=>c(!1);return e.jsx(d.Dialog,{open:a,onOpenChange:c,children:e.jsxs(d.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(d.DialogHeader,{children:[e.jsx(d.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(d.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(s.Tabs,{value:t,onValueChange:m,children:[e.jsxs(s.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(s.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(s.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(s.TabsContent,{value:"display",children:e.jsx(Q,{active:a&&t==="display",onClose:r})}),e.jsx(s.TabsContent,{value:"calendar",children:e.jsx(J,{active:a&&t==="calendar",onClose:r})})]})]})})}exports.ReportPreferencesDialog=ee;
@@ -1,12 +1,12 @@
1
1
  import { jsxs as o, Fragment as j, jsx as t } from "react/jsx-runtime";
2
2
  import oe, { useState as S, useRef as X, useEffect as U, useCallback as E, useMemo as _ } from "react";
3
- import { ay as ee, az as ce, aA as B, aB as $, aC as de, g as ue, h as me, i as fe, j as he, k as M, l as H, aD as ve, aE as V, b as ye, aF as pe, aG as ge, aH as Se, aI as be, aJ as Te } from "./index-Ne0-ePdz.js";
4
- import { u as ae, c as F, O as W, P as we, a as Ce, B as D, b as ke, d as q, L as te, a4 as z, T as xe, F as Ne, G, I as J } from "./switch-BmCGBb2F.js";
5
- import { a as Pe } from "./report-runtime-context-DTxVBKqP.js";
3
+ import { ay as ee, az as ce, aA as B, aB as $, aC as de, g as ue, h as me, i as fe, j as he, k as M, l as H, aD as ve, aE as V, b as ye, aF as pe, aG as ge, aH as Se, aI as be, aJ as Te } from "./index-Cg8HZmMI.js";
4
+ import { u as ae, c as F, O as W, P as we, a as Ce, B as D, b as ke, d as q, L as te, a4 as z, T as xe, F as Ne, G, I as J } from "./switch-DlLDM7Pu.js";
5
+ import { a as Pe } from "./report-runtime-context-BlDpc-F-.js";
6
6
  import "./x-CXDkqdur.js";
7
- import "./constants-BjGBVFbu.js";
8
- import "./validators-DgmJaRF4.js";
9
- import "./matrix-operation-contract-4q53iAUW.js";
7
+ import "./constants-CC3WKmqC.js";
8
+ import "./validators-D-_IT-Xw.js";
9
+ import "./matrix-operation-contract-0Nor-C71.js";
10
10
  import { parseValueFormatPreferencesResponse as Ae, canonicalizeSupportedLocale as Ee, canonicalizeSupportedCurrencyCode as ze } from "../value-format-preferences/index.js";
11
11
  function De(e = {}) {
12
12
  const { authToken: i, tokenProps: a } = ee(), d = ae(
@@ -1,5 +1,5 @@
1
1
  import { parseValueFormatPreferences as _, isReportPreferenceSource as C } from "../value-format-preferences/index.js";
2
- import { e as k, w as g } from "./validators-DgmJaRF4.js";
2
+ import { e as k, v as g } from "./validators-D-_IT-Xw.js";
3
3
  const M = {
4
4
  tz: "UTC",
5
5
  weekStart: 1,
@@ -1 +1 @@
1
- "use strict";const p=require("../value-format-preferences/index.cjs"),f=require("./validators-CueUwVE4.cjs"),g={tz:"UTC",weekStart:1,anchor:"now"},b=["tz","weekStart","anchor","fiscalCalendar"],E=["kind","yearStartMonth"],w=["calendar","valueFormat","preferenceSources"],T=["calendar","valueFormat"],y=["tz","weekStart"],F=["stored","inherited","inheritedSources","resolved","sources"],z=["locale","dateStyle","dateTime","defaultCurrency"],R=["dateStyle","timeStyle"];function o(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const a=Object.getPrototypeOf(e);return a===null||Object.getPrototypeOf(a)===null}function n(e,a,r){const t=new Set(a);return Object.keys(e).filter(s=>!t.has(s)).map(s=>({path:r==="$"?s:`${r}.${s}`,code:"unknown_property",message:`Unknown property "${s}"`}))}function _(e){return Number.isInteger(e)&&typeof e=="number"&&e>=0&&e<=6}function d(e,a,r){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preferences must be an object"}]};const t=n(e,["tz","weekStart"],a);return(!r||e.tz!==void 0)&&(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&t.push({path:`${a}.tz`,code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),(!r||e.weekStart!==void 0)&&!_(e.weekStart)&&t.push({path:`${a}.weekStart`,code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"}),t.length?{ok:!1,issues:t}:{ok:!0,value:{...e.tz!==void 0?{tz:e.tz}:{},...e.weekStart!==void 0?{weekStart:e.weekStart}:{}}}}function A(e){if(e==="now")return{ok:!0,value:"now"};if(!o(e))return{ok:!1,issues:[{path:"anchor",code:"invalid_anchor",message:'anchor must be "now" or an object with an ISO timestamp'}]};const a=n(e,["iso"],"anchor"),r=e.iso;return f.parseSemaphorIsoInstant(r)===null&&a.push({path:"anchor.iso",code:"invalid_anchor",message:"anchor.iso must be an ISO timestamp with an explicit offset"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{iso:r}}}function O(e){if(!o(e))return{ok:!1,issues:[{path:"fiscalCalendar",code:"invalid_fiscal_calendar",message:"fiscalCalendar must be an object"}]};const a=n(e,E,"fiscalCalendar");return e.kind!=="month_aligned"&&a.push({path:"fiscalCalendar.kind",code:"invalid_fiscal_calendar",message:'fiscalCalendar.kind must be "month_aligned"'}),(!Number.isInteger(e.yearStartMonth)||typeof e.yearStartMonth!="number"||e.yearStartMonth<1||e.yearStartMonth>12)&&a.push({path:"fiscalCalendar.yearStartMonth",code:"invalid_fiscal_calendar",message:"fiscalCalendar.yearStartMonth must be an integer from 1 to 12"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{kind:"month_aligned",yearStartMonth:e.yearStartMonth}}}function C(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar context must be an object"}]};const a=n(e,b,"$");(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&a.push({path:"tz",code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),_(e.weekStart)||a.push({path:"weekStart",code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"});const r=A(e.anchor);r.ok||a.push(...r.issues);let t;if(e.fiscalCalendar!==void 0){const s=O(e.fiscalCalendar);s.ok?t=s.value:a.push(...s.issues)}return a.length||!r.ok?{ok:!1,issues:a}:{ok:!0,value:{tz:e.tz,weekStart:e.weekStart,anchor:r.value,...t?{fiscalCalendar:t}:{}}}}function l(e,a,r){if(!p.isReportPreferenceSource(e)){r.push({path:a,code:"invalid_preference_source",message:"Preference source is invalid"});return}return e}function k(e,a){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preference sources must be an object"}]};const r=n(e,y,a),t=l(e.tz,`${a}.tz`,r),s=l(e.weekStart,`${a}.weekStart`,r);return r.length||!t||!s?{ok:!1,issues:r}:{ok:!0,value:{tz:t,weekStart:s}}}function $(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar preference response must be an object"}]};const a=n(e,F,"$"),r=e.stored===null?{ok:!0,value:null}:d(e.stored,"stored",!0),t=d(e.inherited,"inherited",!1),s=k(e.inheritedSources,"inheritedSources"),c=d(e.resolved,"resolved",!1),i=k(e.sources,"sources");for(const u of[r,t,s,c,i])u.ok||a.push(...u.issues);return a.length||!r.ok||!t.ok||!s.ok||!c.ok||!i.ok?{ok:!1,issues:a}:{ok:!0,value:{stored:r.value,inherited:t.value,inheritedSources:s.value,resolved:c.value,sources:i.value}}}function P(e){if(!o(e))return{ok:!1,issues:[{path:"preferenceSources",code:"invalid_type",message:"preferenceSources must be an object"}]};const a=n(e,T,"preferenceSources"),r=e.calendar,t=e.valueFormat;if(o(r)||a.push({path:"preferenceSources.calendar",code:"invalid_type",message:"Calendar preference sources must be an object"}),o(t)||a.push({path:"preferenceSources.valueFormat",code:"invalid_type",message:"Value-format preference sources must be an object"}),!o(r)||!o(t))return{ok:!1,issues:a};a.push(...n(r,y,"preferenceSources.calendar"),...n(t,z,"preferenceSources.valueFormat"));const s=t.dateTime;o(s)?a.push(...n(s,R,"preferenceSources.valueFormat.dateTime")):a.push({path:"preferenceSources.valueFormat.dateTime",code:"invalid_type",message:"Datetime preference sources must be an object"});const c=l(r.tz,"preferenceSources.calendar.tz",a),i=l(r.weekStart,"preferenceSources.calendar.weekStart",a),u=l(t.locale,"preferenceSources.valueFormat.locale",a),m=l(t.dateStyle,"preferenceSources.valueFormat.dateStyle",a),S=o(s)?l(s.dateStyle,"preferenceSources.valueFormat.dateTime.dateStyle",a):void 0,v=o(s)?l(s.timeStyle,"preferenceSources.valueFormat.dateTime.timeStyle",a):void 0,h=l(t.defaultCurrency,"preferenceSources.valueFormat.defaultCurrency",a);return a.length||!c||!i||!u||!m||!S||!v||!h?{ok:!1,issues:a}:{ok:!0,value:{calendar:{tz:c,weekStart:i},valueFormat:{locale:u,dateStyle:m,dateTime:{dateStyle:S,timeStyle:v},defaultCurrency:h}}}}function j(e){var t;const a=p.parseValueFormatPreferences(e);if(!a.ok)return{ok:!1,issues:a.issues.map(s=>({path:`valueFormat.${s.path}`,code:"invalid_value_format",message:s.message}))};const r=a.value;return r.locale===void 0||r.dateStyle===void 0||((t=r.dateTime)==null?void 0:t.dateStyle)===void 0||r.dateTime.timeStyle===void 0||r.defaultCurrency===void 0?{ok:!1,issues:[{path:"valueFormat",code:"invalid_value_format",message:"Resolved value-format preferences must be complete"}]}:{ok:!0,value:{locale:r.locale,dateStyle:r.dateStyle,dateTime:{dateStyle:r.dateTime.dateStyle,timeStyle:r.dateTime.timeStyle},defaultCurrency:r.defaultCurrency}}}function N(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Report runtime context must be an object"}]};const a=n(e,w,"$"),r=C(e.calendar),t=j(e.valueFormat),s=P(e.preferenceSources);return r.ok||a.push(...r.issues.map(c=>({...c,path:c.path==="$"?"calendar":`calendar.${c.path}`}))),t.ok||a.push(...t.issues),s.ok||a.push(...s.issues),a.length||!r.ok||!t.ok||!s.ok?{ok:!1,issues:a}:{ok:!0,value:{calendar:r.value,valueFormat:t.value,preferenceSources:s.value}}}exports.DEFAULT_CALENDAR_CONTEXT=g;exports.parseCalendarContext=C;exports.parseCalendarPreferencesResponse=$;exports.parseReportRuntimeContext=N;
1
+ "use strict";const p=require("../value-format-preferences/index.cjs"),f=require("./validators-ux2obZB9.cjs"),g={tz:"UTC",weekStart:1,anchor:"now"},b=["tz","weekStart","anchor","fiscalCalendar"],E=["kind","yearStartMonth"],w=["calendar","valueFormat","preferenceSources"],T=["calendar","valueFormat"],y=["tz","weekStart"],F=["stored","inherited","inheritedSources","resolved","sources"],z=["locale","dateStyle","dateTime","defaultCurrency"],R=["dateStyle","timeStyle"];function o(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const a=Object.getPrototypeOf(e);return a===null||Object.getPrototypeOf(a)===null}function n(e,a,r){const t=new Set(a);return Object.keys(e).filter(s=>!t.has(s)).map(s=>({path:r==="$"?s:`${r}.${s}`,code:"unknown_property",message:`Unknown property "${s}"`}))}function _(e){return Number.isInteger(e)&&typeof e=="number"&&e>=0&&e<=6}function d(e,a,r){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preferences must be an object"}]};const t=n(e,["tz","weekStart"],a);return(!r||e.tz!==void 0)&&(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&t.push({path:`${a}.tz`,code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),(!r||e.weekStart!==void 0)&&!_(e.weekStart)&&t.push({path:`${a}.weekStart`,code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"}),t.length?{ok:!1,issues:t}:{ok:!0,value:{...e.tz!==void 0?{tz:e.tz}:{},...e.weekStart!==void 0?{weekStart:e.weekStart}:{}}}}function A(e){if(e==="now")return{ok:!0,value:"now"};if(!o(e))return{ok:!1,issues:[{path:"anchor",code:"invalid_anchor",message:'anchor must be "now" or an object with an ISO timestamp'}]};const a=n(e,["iso"],"anchor"),r=e.iso;return f.parseSemaphorIsoInstant(r)===null&&a.push({path:"anchor.iso",code:"invalid_anchor",message:"anchor.iso must be an ISO timestamp with an explicit offset"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{iso:r}}}function O(e){if(!o(e))return{ok:!1,issues:[{path:"fiscalCalendar",code:"invalid_fiscal_calendar",message:"fiscalCalendar must be an object"}]};const a=n(e,E,"fiscalCalendar");return e.kind!=="month_aligned"&&a.push({path:"fiscalCalendar.kind",code:"invalid_fiscal_calendar",message:'fiscalCalendar.kind must be "month_aligned"'}),(!Number.isInteger(e.yearStartMonth)||typeof e.yearStartMonth!="number"||e.yearStartMonth<1||e.yearStartMonth>12)&&a.push({path:"fiscalCalendar.yearStartMonth",code:"invalid_fiscal_calendar",message:"fiscalCalendar.yearStartMonth must be an integer from 1 to 12"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{kind:"month_aligned",yearStartMonth:e.yearStartMonth}}}function C(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar context must be an object"}]};const a=n(e,b,"$");(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&a.push({path:"tz",code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),_(e.weekStart)||a.push({path:"weekStart",code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"});const r=A(e.anchor);r.ok||a.push(...r.issues);let t;if(e.fiscalCalendar!==void 0){const s=O(e.fiscalCalendar);s.ok?t=s.value:a.push(...s.issues)}return a.length||!r.ok?{ok:!1,issues:a}:{ok:!0,value:{tz:e.tz,weekStart:e.weekStart,anchor:r.value,...t?{fiscalCalendar:t}:{}}}}function l(e,a,r){if(!p.isReportPreferenceSource(e)){r.push({path:a,code:"invalid_preference_source",message:"Preference source is invalid"});return}return e}function k(e,a){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preference sources must be an object"}]};const r=n(e,y,a),t=l(e.tz,`${a}.tz`,r),s=l(e.weekStart,`${a}.weekStart`,r);return r.length||!t||!s?{ok:!1,issues:r}:{ok:!0,value:{tz:t,weekStart:s}}}function $(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar preference response must be an object"}]};const a=n(e,F,"$"),r=e.stored===null?{ok:!0,value:null}:d(e.stored,"stored",!0),t=d(e.inherited,"inherited",!1),s=k(e.inheritedSources,"inheritedSources"),c=d(e.resolved,"resolved",!1),i=k(e.sources,"sources");for(const u of[r,t,s,c,i])u.ok||a.push(...u.issues);return a.length||!r.ok||!t.ok||!s.ok||!c.ok||!i.ok?{ok:!1,issues:a}:{ok:!0,value:{stored:r.value,inherited:t.value,inheritedSources:s.value,resolved:c.value,sources:i.value}}}function P(e){if(!o(e))return{ok:!1,issues:[{path:"preferenceSources",code:"invalid_type",message:"preferenceSources must be an object"}]};const a=n(e,T,"preferenceSources"),r=e.calendar,t=e.valueFormat;if(o(r)||a.push({path:"preferenceSources.calendar",code:"invalid_type",message:"Calendar preference sources must be an object"}),o(t)||a.push({path:"preferenceSources.valueFormat",code:"invalid_type",message:"Value-format preference sources must be an object"}),!o(r)||!o(t))return{ok:!1,issues:a};a.push(...n(r,y,"preferenceSources.calendar"),...n(t,z,"preferenceSources.valueFormat"));const s=t.dateTime;o(s)?a.push(...n(s,R,"preferenceSources.valueFormat.dateTime")):a.push({path:"preferenceSources.valueFormat.dateTime",code:"invalid_type",message:"Datetime preference sources must be an object"});const c=l(r.tz,"preferenceSources.calendar.tz",a),i=l(r.weekStart,"preferenceSources.calendar.weekStart",a),u=l(t.locale,"preferenceSources.valueFormat.locale",a),m=l(t.dateStyle,"preferenceSources.valueFormat.dateStyle",a),S=o(s)?l(s.dateStyle,"preferenceSources.valueFormat.dateTime.dateStyle",a):void 0,v=o(s)?l(s.timeStyle,"preferenceSources.valueFormat.dateTime.timeStyle",a):void 0,h=l(t.defaultCurrency,"preferenceSources.valueFormat.defaultCurrency",a);return a.length||!c||!i||!u||!m||!S||!v||!h?{ok:!1,issues:a}:{ok:!0,value:{calendar:{tz:c,weekStart:i},valueFormat:{locale:u,dateStyle:m,dateTime:{dateStyle:S,timeStyle:v},defaultCurrency:h}}}}function j(e){var t;const a=p.parseValueFormatPreferences(e);if(!a.ok)return{ok:!1,issues:a.issues.map(s=>({path:`valueFormat.${s.path}`,code:"invalid_value_format",message:s.message}))};const r=a.value;return r.locale===void 0||r.dateStyle===void 0||((t=r.dateTime)==null?void 0:t.dateStyle)===void 0||r.dateTime.timeStyle===void 0||r.defaultCurrency===void 0?{ok:!1,issues:[{path:"valueFormat",code:"invalid_value_format",message:"Resolved value-format preferences must be complete"}]}:{ok:!0,value:{locale:r.locale,dateStyle:r.dateStyle,dateTime:{dateStyle:r.dateTime.dateStyle,timeStyle:r.dateTime.timeStyle},defaultCurrency:r.defaultCurrency}}}function N(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Report runtime context must be an object"}]};const a=n(e,w,"$"),r=C(e.calendar),t=j(e.valueFormat),s=P(e.preferenceSources);return r.ok||a.push(...r.issues.map(c=>({...c,path:c.path==="$"?"calendar":`calendar.${c.path}`}))),t.ok||a.push(...t.issues),s.ok||a.push(...s.issues),a.length||!r.ok||!t.ok||!s.ok?{ok:!1,issues:a}:{ok:!0,value:{calendar:r.value,valueFormat:t.value,preferenceSources:s.value}}}exports.DEFAULT_CALENDAR_CONTEXT=g;exports.parseCalendarContext=C;exports.parseCalendarPreferencesResponse=$;exports.parseReportRuntimeContext=N;