react-semaphor 0.1.430 → 0.1.432

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 (35) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/briefings/index.js +1 -1
  4. package/dist/chunks/{code-editor-DOh3aYEh.js → code-editor-BSENCZwR.js} +1 -1
  5. package/dist/chunks/{code-editor-C65eEYyU.js → code-editor-C8zzmSgt.js} +4 -3
  6. package/dist/chunks/{csv-utils-suxSkJGj.js → csv-utils-BZDvO2Fw.js} +1 -1
  7. package/dist/chunks/{dashboard-0Tpj3XFq.js → dashboard-BNNLoBLt.js} +26306 -26219
  8. package/dist/chunks/{dashboard-CVDy3fbO.js → dashboard-DxwOPUB6.js} +229 -229
  9. package/dist/chunks/{dashboard-briefing-launcher-pkNPk_4j.js → dashboard-briefing-launcher-B2jFSq0-.js} +4 -4
  10. package/dist/chunks/{dashboard-briefing-launcher-DLQqwXMF.js → dashboard-briefing-launcher-Hvo4V3np.js} +1 -1
  11. package/dist/chunks/{dashboard-controls-CIN4biYx.js → dashboard-controls-CB2dDJP4.js} +4 -4
  12. package/dist/chunks/{dashboard-controls-DbW9Jt_P.js → dashboard-controls-DwW7cOds.js} +1 -1
  13. package/dist/chunks/{dashboard-json-DBfR770k.js → dashboard-json-cSLaRjlU.js} +2 -2
  14. package/dist/chunks/{dashboard-json-BDKT0Z-m.js → dashboard-json-n4hMQPtc.js} +1 -1
  15. package/dist/chunks/{edit-dashboard-visual-BjAp_UpK.js → edit-dashboard-visual-BwXL-sin.js} +1 -1
  16. package/dist/chunks/{edit-dashboard-visual-qkvRHS8Q.js → edit-dashboard-visual-C5eejq9I.js} +4 -4
  17. package/dist/chunks/{numeric-presentation-CGTcqocU.js → numeric-presentation-BJs5lSar.js} +4 -4
  18. package/dist/chunks/{report-preferences-dialog-LCHeqh7t.js → report-preferences-dialog-CDYDm7dt.js} +1 -1
  19. package/dist/chunks/{report-preferences-dialog-Bx8uzG8K.js → report-preferences-dialog-D8Qe2GGf.js} +2 -2
  20. package/dist/chunks/{use-create-flow-overlay-state-C-j8E5IZ.js → use-create-flow-overlay-state-9-aceNp5.js} +2 -2
  21. package/dist/chunks/{use-create-flow-overlay-state-C-CxrQ48.js → use-create-flow-overlay-state-Dv5iYPzX.js} +1 -1
  22. package/dist/dashboard/index.cjs +1 -1
  23. package/dist/dashboard/index.js +1 -1
  24. package/dist/data-app-builder/index.cjs +1 -1
  25. package/dist/data-app-builder/index.js +2 -2
  26. package/dist/format-utils/index.cjs +3 -2
  27. package/dist/format-utils/index.js +237 -137
  28. package/dist/index.cjs +1 -1
  29. package/dist/index.js +6 -6
  30. package/dist/surfboard/index.cjs +1 -1
  31. package/dist/surfboard/index.js +2 -2
  32. package/dist/types/format-utils.d.ts +27 -0
  33. package/dist/types/main.d.ts +16 -10
  34. package/dist/types/types.d.ts +14 -10
  35. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
1
  import { jsx as e, jsxs as r, Fragment as G } from "react/jsx-runtime";
2
2
  import jt, { useState as A, useEffect as Q, useMemo as J, useContext as Wt, useRef as me, useCallback as q } from "react";
3
- import { aH as De, aI as ke, aK as Ae, bb as Ct, c1 as Ht, cq as Gt, cr as qt, aZ as ge, ce as wt, br as Ve, y as Kt, w as Xt, cs as Yt, aP as Ze, aS as Qe, aT as Je, aU as et, aV as tt, aW as rt, aX as at, aY as Nt, bq as nt, aG as z, ct as Zt, cu as Qt, cv as qe, cf as Oe, cg as ze, cw as St, ch as _e, b$ as H, b1 as Jt, bG as Re, cx as er, b_ as tr, aJ as st, aL as ot, cy as rr, aF as ar, ba as nr, bp as Dt, cz as sr, av as or, aM as ir, b3 as lr, az as $e, at as he, a6 as it, a3 as kt, a2 as lt, as as At, a4 as cr, Y as dr, cl as ur, cA as hr, bB as mr, N as mt, R as pr, au as fr, cB as gr, cC as br, cD as xr, cE as vr, cF as yr, cG as Cr, cH as wr, cI as Nr, cJ as Et, cK as Sr, b4 as Dr, cL as kr, ci as It, cM as Ar, cN as Er, cO as Be, cP as Ir, cQ as Fr, cR as Lr, o as Br, aj as Tr, ae as Vr, T as Rr, ad as Ur, aa as Pr, Z as Mr, a9 as Or, cS as zr, cT as _r, cU as $r, cV as jr, cW as Wr, B as Hr, cX as Gr, cY as qr, a1 as Kr, cZ as Xr, c_ as Yr, c$ as Zr } from "./dashboard-0Tpj3XFq.js";
4
- import { B, O as Se, Z as Xe, L as ee, M as Ft, d as Lt, c as K, K as Qr, E as be, u as M, A as xe, aH as pt, a7 as Bt, a6 as Ye, D as Tt, S as ct, P as Ue, a as Pe, b as Me, aI as Jr, aJ as ea, aK as ta, aL as ra, aM as aa, aF as na } from "./code-editor-C65eEYyU.js";
3
+ import { aH as De, aI as ke, aK as Ae, bb as Ct, c1 as Ht, cq as Gt, cr as qt, aZ as ge, ce as wt, br as Ve, y as Kt, w as Xt, cs as Yt, aP as Ze, aS as Qe, aT as Je, aU as et, aV as tt, aW as rt, aX as at, aY as Nt, bq as nt, aG as z, ct as Zt, cu as Qt, cv as qe, cf as Oe, cg as ze, cw as St, ch as _e, b$ as H, b1 as Jt, bG as Re, cx as er, b_ as tr, aJ as st, aL as ot, cy as rr, aF as ar, ba as nr, bp as Dt, cz as sr, av as or, aM as ir, b3 as lr, az as $e, at as he, a6 as it, a3 as kt, a2 as lt, as as At, a4 as cr, Y as dr, cl as ur, cA as hr, bB as mr, N as mt, R as pr, au as fr, cB as gr, cC as br, cD as xr, cE as vr, cF as yr, cG as Cr, cH as wr, cI as Nr, cJ as Et, cK as Sr, b4 as Dr, cL as kr, ci as It, cM as Ar, cN as Er, cO as Be, cP as Ir, cQ as Fr, cR as Lr, o as Br, aj as Tr, ae as Vr, T as Rr, ad as Ur, aa as Pr, Z as Mr, a9 as Or, cS as zr, cT as _r, cU as $r, cV as jr, cW as Wr, B as Hr, cX as Gr, cY as qr, a1 as Kr, cZ as Xr, c_ as Yr, c$ as Zr } from "./dashboard-BNNLoBLt.js";
4
+ import { B, O as Se, Z as Xe, L as ee, M as Ft, d as Lt, c as K, K as Qr, E as be, u as M, A as xe, aH as pt, a7 as Bt, a6 as Ye, D as Tt, S as ct, P as Ue, a as Pe, b as Me, aI as Jr, aJ as ea, aK as ta, aL as ra, aM as aa, aF as na } from "./code-editor-C8zzmSgt.js";
5
5
  import { L as dt } from "./layout-grid-D5tYJg1-.js";
6
6
  import { c as ve, X as je, C as Vt } from "./index-xHCrHprY.js";
7
- import { u as ut, V as sa, E as ft, a as gt, b as oa, c as ia, L as la, d as ca, e as Rt, C as Ut, f as da } from "./use-create-flow-overlay-state-C-j8E5IZ.js";
7
+ import { u as ut, V as sa, E as ft, a as gt, b as oa, c as ia, L as la, d as ca, e as Rt, C as Ut, f as da } from "./use-create-flow-overlay-state-9-aceNp5.js";
8
8
  import "./analyze-result-contract-CfOBEwaC.js";
9
9
  import "../value-format-preferences/index.js";
10
10
  import { S as ua } from "./search-DHZCro8B.js";
11
- import { j as bt } from "./csv-utils-suxSkJGj.js";
11
+ import { j as bt } from "./csv-utils-BZDvO2Fw.js";
12
12
  import "./index-If0wlXGi.js";
13
13
  import "./comparison-document-migration-Dj6xZMCb.js";
14
14
  import "react-dom";
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("react/jsx-runtime"),x=require("react"),s=require("./dashboard-CVDy3fbO.js"),n=require("./code-editor-DOh3aYEh.js"),je=require("./layout-grid-B08pP7v6.js"),G=require("./index-jSrCwPQz.js"),_=require("./use-create-flow-overlay-state-C-CxrQ48.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const Re=require("./search-Dcud9ajy.js"),ye=require("./csv-utils-Co0WxHke.js");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("react-dom");const X=require("../briefings/index.cjs");/**
1
+ "use strict";const e=require("react/jsx-runtime"),x=require("react"),s=require("./dashboard-DxwOPUB6.js"),n=require("./code-editor-BSENCZwR.js"),je=require("./layout-grid-B08pP7v6.js"),G=require("./index-jSrCwPQz.js"),_=require("./use-create-flow-overlay-state-Dv5iYPzX.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const Re=require("./search-Dcud9ajy.js"),ye=require("./csv-utils-Co0WxHke.js");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("react-dom");const X=require("../briefings/index.cjs");/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as n, Fragment as T } from "react/jsx-runtime";
2
- import { u as D, B as U, aw as dt, A as Zt, O as za, Z as _a, c as ge, ax as lt, ay as qa, az as Ha, aA as ea, aB as be, aC as ct, aD as ta, L as Ge, aE as aa, aF as ja, E as Bt, Q as Ka, V as Qa, W as Wa, Y as Ja, o as Ya, aG as Xa } from "./code-editor-C65eEYyU.js";
3
- import { bC as Za, bD as er, az as z, aH as ra, bE as tr, aZ as H, aI as sa, aJ as ar, aK as st, aL as nt, aF as rr, bF as fe, bG as Te, bH as sr, bI as $t, bJ as na, bK as oa, bL as nr, bM as ut, bN as or, bO as ir, bP as dr, bQ as lr, bR as cr, bS as ur, b8 as xe, bT as ve, aG as C, bU as mr, bV as ia, br as mt, bW as pr, bX as hr, bY as da, bZ as fr, b_ as la, b$ as O, c0 as gr, aj as br, c1 as xr, c2 as vr, c3 as yr, an as wr, av as Fe, aw as Nr, w as at, c4 as Dr, c5 as Cr, c6 as kr, c7 as Sr, ai as Ir, c8 as Mr, c9 as Er, I as zt, ca as Lr, cb as Ar, cc as Pr, cd as Ur, ce as Rr, cf as _t, cg as qt, ch as Ht, ci as Vr, cj as Fr, ck as Or, cl as Tr, b1 as jt, cm as Gr, cn as Br, co as $r, y as zr, cp as _r, aP as qr, aS as Hr, aT as jr, aU as Kr, aV as Qr, aW as Wr, aX as Jr, aY as Kt, g as ot } from "./dashboard-0Tpj3XFq.js";
2
+ import { u as D, B as U, aw as dt, A as Zt, O as za, Z as _a, c as ge, ax as lt, ay as qa, az as Ha, aA as ea, aB as be, aC as ct, aD as ta, L as Ge, aE as aa, aF as ja, E as Bt, Q as Ka, V as Qa, W as Wa, Y as Ja, o as Ya, aG as Xa } from "./code-editor-C8zzmSgt.js";
3
+ import { bC as Za, bD as er, az as z, aH as ra, bE as tr, aZ as H, aI as sa, aJ as ar, aK as st, aL as nt, aF as rr, bF as fe, bG as Te, bH as sr, bI as $t, bJ as na, bK as oa, bL as nr, bM as ut, bN as or, bO as ir, bP as dr, bQ as lr, bR as cr, bS as ur, b8 as xe, bT as ve, aG as C, bU as mr, bV as ia, br as mt, bW as pr, bX as hr, bY as da, bZ as fr, b_ as la, b$ as O, c0 as gr, aj as br, c1 as xr, c2 as vr, c3 as yr, an as wr, av as Fe, aw as Nr, w as at, c4 as Dr, c5 as Cr, c6 as kr, c7 as Sr, ai as Ir, c8 as Mr, c9 as Er, I as zt, ca as Lr, cb as Ar, cc as Pr, cd as Ur, ce as Rr, cf as _t, cg as qt, ch as Ht, ci as Vr, cj as Fr, ck as Or, cl as Tr, b1 as jt, cm as Gr, cn as Br, co as $r, y as zr, cp as _r, aP as qr, aS as Hr, aT as jr, aU as Kr, aV as Qr, aW as Wr, aX as Jr, aY as Kt, g as ot } from "./dashboard-BNNLoBLt.js";
4
4
  import { c as Z, X as ca, C as Yr } from "./index-xHCrHprY.js";
5
5
  import "./analyze-result-contract-CfOBEwaC.js";
6
6
  import "../value-format-preferences/index.js";
@@ -10,10 +10,10 @@ import "./index-If0wlXGi.js";
10
10
  import "./comparison-document-migration-Dj6xZMCb.js";
11
11
  import { createPortal as es } from "react-dom";
12
12
  import "../briefings/index.js";
13
- import { g as ts, u as as, A as rs, V as ss, c as ns, f as os, N as is, D as ds, U as ls } from "./dashboard-briefing-launcher-pkNPk_4j.js";
13
+ import { g as ts, u as as, A as rs, V as ss, c as ns, f as os, N as is, D as ds, U as ls } from "./dashboard-briefing-launcher-B2jFSq0-.js";
14
14
  import { S as cs, C as us } from "./search-DHZCro8B.js";
15
15
  import { d as ua } from "./index-CnujJ3fa.js";
16
- import { R as ms } from "./report-preferences-dialog-Bx8uzG8K.js";
16
+ import { R as ms } from "./report-preferences-dialog-D8Qe2GGf.js";
17
17
  import { u as ps } from "./use-debounced-dirty-check-BwAbnX_5.js";
18
18
  import { s as rt } from "./normalize-dashboard-for-dirty-check-5KpZN8xr.js";
19
19
  import { S as Wt } from "./save-HCJjjzdX.js";
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("./code-editor-DOh3aYEh.js"),s=require("./dashboard-CVDy3fbO.js"),U=require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const g=require("react");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");const Yt=require("react-dom");require("../briefings/index.cjs");const V=require("./dashboard-briefing-launcher-DLQqwXMF.js"),yt=require("./search-Dcud9ajy.js"),jt=require("./index-D7KJindZ.js"),Zt=require("./report-preferences-dialog-LCHeqh7t.js"),es=require("./use-debounced-dirty-check-XHSwAefL.js"),Be=require("./normalize-dashboard-for-dirty-check-BXRUMVb2.js"),ft=require("./save-Xdc4pnys.js"),ts=require("./palette-C0yjT5Tv.js"),ss=require("./braces-CbO-aIwH.js");function rs(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const L=rs(g);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("./code-editor-BSENCZwR.js"),s=require("./dashboard-DxwOPUB6.js"),U=require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const g=require("react");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");const Yt=require("react-dom");require("../briefings/index.cjs");const V=require("./dashboard-briefing-launcher-Hvo4V3np.js"),yt=require("./search-Dcud9ajy.js"),jt=require("./index-D7KJindZ.js"),Zt=require("./report-preferences-dialog-CDYDm7dt.js"),es=require("./use-debounced-dirty-check-XHSwAefL.js"),Be=require("./normalize-dashboard-for-dirty-check-BXRUMVb2.js"),ft=require("./save-Xdc4pnys.js"),ts=require("./palette-C0yjT5Tv.js"),ss=require("./braces-CbO-aIwH.js");function rs(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const L=rs(g);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,10 +1,10 @@
1
1
  import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
2
  import { useMemo as u, useState as p, useRef as f, useEffect as b } from "react";
3
3
  import { X as S } from "./index-xHCrHprY.js";
4
- import { u as o, B as N, C as D, c as J } from "./code-editor-C65eEYyU.js";
4
+ import { u as o, B as N, C as D, c as J } from "./code-editor-C8zzmSgt.js";
5
5
  import "./analyze-result-contract-CfOBEwaC.js";
6
6
  import "../value-format-preferences/index.js";
7
- import "./dashboard-0Tpj3XFq.js";
7
+ import "./dashboard-BNNLoBLt.js";
8
8
  import "./index-If0wlXGi.js";
9
9
  import "./comparison-document-migration-Dj6xZMCb.js";
10
10
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),o=require("react"),b=require("./index-jSrCwPQz.js"),s=require("./code-editor-DOh3aYEh.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");require("./dashboard-CVDy3fbO.js");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("react-dom");require("../briefings/index.cjs");function S(){const t=s.useDashboardStore(e=>e.dashboard),u=s.useDashboardStore(e=>e.actions.setDashboard),c=s.useDashboardStore(e=>e.showDashboardJSON),h=s.useDashboardStore(e=>e.actions.setShowDashboardJSON),r=o.useMemo(()=>t?JSON.stringify(t,null,2):"",[t]),[l,i]=o.useState(r),n=o.useRef(r);return o.useEffect(()=>{r!==n.current&&(i(r),n.current=r)},[r]),a.jsxs("div",{className:s.cn("relative p-2",{hidden:!c}),children:[a.jsxs(s.Button,{variant:"secondary",size:"sm",className:"absolute right-2 top-2 z-10 h-8",onClick:()=>h(!1),children:[a.jsx(b.X,{className:"mr-2 h-4 w-4"}),"Close"]}),a.jsx("div",{className:"h-[550px] overflow-hidden",children:a.jsx(s.CodeEditor,{value:l,onValueChange:e=>{i(e);try{const d=JSON.parse(e);n.current=JSON.stringify(d,null,2),u(d)}catch{}},language:"json"})})]})}exports.default=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),o=require("react"),b=require("./index-jSrCwPQz.js"),s=require("./code-editor-BSENCZwR.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");require("./dashboard-DxwOPUB6.js");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("react-dom");require("../briefings/index.cjs");function S(){const t=s.useDashboardStore(e=>e.dashboard),u=s.useDashboardStore(e=>e.actions.setDashboard),c=s.useDashboardStore(e=>e.showDashboardJSON),h=s.useDashboardStore(e=>e.actions.setShowDashboardJSON),r=o.useMemo(()=>t?JSON.stringify(t,null,2):"",[t]),[l,i]=o.useState(r),n=o.useRef(r);return o.useEffect(()=>{r!==n.current&&(i(r),n.current=r)},[r]),a.jsxs("div",{className:s.cn("relative p-2",{hidden:!c}),children:[a.jsxs(s.Button,{variant:"secondary",size:"sm",className:"absolute right-2 top-2 z-10 h-8",onClick:()=>h(!1),children:[a.jsx(b.X,{className:"mr-2 h-4 w-4"}),"Close"]}),a.jsx("div",{className:"h-[550px] overflow-hidden",children:a.jsx(s.CodeEditor,{value:l,onValueChange:e=>{i(e);try{const d=JSON.parse(e);n.current=JSON.stringify(d,null,2),u(d)}catch{}},language:"json"})})]})}exports.default=S;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("react"),n=require("./dashboard-CVDy3fbO.js"),ae=require("./index-jSrCwPQz.js"),t=require("./code-editor-DOh3aYEh.js");require("./analyze-result-contract-BswhsmWT.js");const Es=require("../value-format-preferences/index.cjs"),Ue=require("./search-Dcud9ajy.js"),ke=require("./use-create-flow-overlay-state-C-CxrQ48.js"),Lt=require("./card-config-utils-15sRtebL.js"),er=require("react-dom");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("../briefings/index.cjs");const ta=require("./numeric-presentation-Dlb-Dk4c.js"),In=require("./metric-comparison-DVy3fll_.js"),tr=require("./palette-C0yjT5Tv.js"),sr=require("./common-types-C73-Ud1-.js");function nr(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const r in s)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(a,r,o.get?o:{enumerable:!0,get:()=>s[r]})}}return a.default=s,Object.freeze(a)}const ar=nr(v);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("react"),n=require("./dashboard-DxwOPUB6.js"),ae=require("./index-jSrCwPQz.js"),t=require("./code-editor-BSENCZwR.js");require("./analyze-result-contract-BswhsmWT.js");const Es=require("../value-format-preferences/index.cjs"),Ue=require("./search-Dcud9ajy.js"),ke=require("./use-create-flow-overlay-state-Dv5iYPzX.js"),Lt=require("./card-config-utils-15sRtebL.js"),er=require("react-dom");require("./index-Dpm_VET4.js");require("./comparison-document-migration-DbU_BTxR.js");require("../briefings/index.cjs");const ta=require("./numeric-presentation-Dlb-Dk4c.js"),In=require("./metric-comparison-DVy3fll_.js"),tr=require("./palette-C0yjT5Tv.js"),sr=require("./common-types-C73-Ud1-.js");function nr(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const r in s)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(a,r,o.get?o:{enumerable:!0,get:()=>s[r]})}}return a.default=s,Object.freeze(a)}const ar=nr(v);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,19 +1,19 @@
1
1
  import { jsx as e, jsxs as n, Fragment as Se } from "react/jsx-runtime";
2
2
  import * as zc from "react";
3
3
  import tn, { useState as K, useEffect as Ce, useRef as Ee, useCallback as Ie, useMemo as ce, useContext as wr, Suspense as $c } from "react";
4
- import { d0 as Ri, aH as Fn, aI as Rn, aJ as Pn, aK as Ln, aL as Xn, aF as ms, bm as Et, bq as jt, d1 as Pi, d2 as is, aG as et, d3 as Li, d4 as os, b4 as Ia, aZ as bt, ci as Sr, b2 as ta, br as na, bn as wt, d5 as hs, d6 as Tr, d7 as Vi, d8 as Bi, d9 as qc, da as jc, db as Kc, b8 as vs, dc as Uc, dd as Gc, de as cr, df as cs, az as zn, an as _i, dg as Hc, dh as Qc, di as zi, dj as $i, dk as Wc, dl as Jc, dm as Yc, dn as Xc, bg as $n, bh as Nn, bi as Cn, bj as ja, bk as nn, bl as Yn, dp as dr, dq as Zc, ca as wa, dr as qi, aN as sn, aO as ft, ds as ed, dt as ji, cJ as gn, cQ as Ki, du as kr, dv as td, dw as Ui, dx as nd, dy as Gi, dz as ad, dA as sd, dB as rd, aD as Hi, dC as ld, dD as id, dE as od, dF as cd, dG as dd, dH as ud, dI as zs, dJ as md, dK as zl, dL as hd, dM as $l, dN as pd, dO as fd, cf as aa, cg as sa, ch as ra, b$ as mt, dP as Da, b5 as Qi, bv as Wt, bx as Jt, dQ as Ir, bM as Dr, aM as Er, dR as gd, dS as xd, dT as Ar, dU as bd, dV as Wi, dW as Ji, dX as Yi, dY as Xi, dZ as Ht, d_ as yd, d$ as vd, e0 as Nd, e1 as Cd, e2 as Zi, e3 as eo, r as to, e4 as no, e5 as wd, e6 as Sd, e7 as Td, e8 as Ea, M as kd, e9 as Id, ea as Dd, eb as ql, ec as Ed, E as Ns, e as Or, ed as Ad, ee as Mr, bE as Od, ef as jl, I as gt, eg as Md, eh as Fd, ei as ao, ej as so, ek as Rd, el as Fr, em as Rr, en as ro, eo as lo, ep as Kl, eq as Ka, er as Pd, es as Ld, et as Vd, eu as Bd, ev as _d, ew as ps, ex as zd, ey as $d, ez as io, eA as oo, eB as qd, eC as jd, ct as Kd, eD as Ud, eE as co, eF as Gd, eG as Hd, cu as Cs, eH as ws, bF as Aa, bG as Qt, eI as mn, eJ as Pr, eK as Vn, eL as Bn, eM as xn, eN as Zn, eO as Qd, eP as Wd, eQ as Jd, eR as Yd, eS as Xd, eT as Zd, eU as eu, eV as tu, eW as Ul, bw as an, eX as nu, eY as uo, eZ as au, e_ as su, e$ as mo, f0 as ru, f1 as lu, f2 as iu, f3 as ou, f4 as $s, f5 as cu, f6 as du, f7 as Ss, f8 as uu, f9 as mu, fa as ho, fb as hu, fc as pu, fd as fu, fe as gu, ff as xu, fg as ur, fh as bu, fi as yu, fj as mr, fk as vu, fl as Nu, fm as Cu, fn as wu, fo as Gl, b3 as hr, a$ as bn, aP as Su, aQ as Tu, aS as ku, aT as Iu, aU as Du, aV as Eu, aW as Au, aX as Ou, aY as Mu, c1 as Fu, fp as Oa, fq as Ma, fr as Fa, ck as Lr, cl as Ru, b1 as Pu, fs as Lu, ft as Vu, fu as Bu, fv as Ts, fw as it, fx as ot, fy as ct, fz as _u, fA as zu, fB as po, fC as fo, fD as go, fE as $u, fF as qu, fG as pr, fH as ju, fI as Ku, fJ as Uu, fK as Gu, fL as Hu, fM as Qu, fN as Wu, fO as Ju, fP as Yu, fQ as Xu, fR as Zu, fS as em, fT as Dn, fU as va, fV as tm, fW as Hl, fX as nm, fY as am, fZ as qs, f_ as Ql, f$ as sm, g0 as rm, g1 as lm, g2 as im, g3 as om, aB as Vr, aC as Ra, g4 as js, g5 as xo, b6 as cm, g6 as fs, g7 as dm, g8 as bo, g9 as yo, ga as um, gb as mm, ar as hm, gc as as, gd as pm, ge as Wl, gf as fm, gg as gm, gh as Jl, gi as xm, gj as bm, gk as ym, gl as vm, gm as Nm, aR as vo, gn as Cm, go as wm, gp as Sm, gq as Tm, gr as km, gs as Im, gt as Dm, gu as Em, gv as No, gw as Am, gx as Om, gy as ks, cK as Is, gz as Co, gA as Mm, gB as Fm, gC as wo, gD as Rm, gE as Pm, gF as Ds, gG as Ks, gH as Lm, gI as Vm, gJ as Bm, gK as _m, gL as ea, gM as Yl, gN as So, gO as zm, cw as $m, gP as To, gQ as ko, gR as ds, gS as Io, gT as Do, gU as qm, gV as Xl, gW as jm, gX as Km, gY as us, gZ as Um, g_ as Br, g$ as Gm, h0 as gs, h as Pa, i as La, k as Va, j as Ba, l as _a, m as za, h1 as Hm, h2 as $a, h3 as hn, h4 as fr, h5 as gr, h6 as qa, h7 as Eo, h8 as Qm, h9 as Us, ha as Gs, hb as Wm, hc as Hs, hd as Jm, he as Zl, hf as ei, cS as Ym, hg as Xm, cT as Zm, cV as eh, cW as th, av as nh, hh as ah, hi as sh, hj as rh, cm as lh, cn as ih, co as oh, b_ as Es, hk as As, hl as ti, hm as Ao, cM as Qs, hn as ch, ho as dh, hp as uh, F as mh, bp as hh, hq as ph, hr as fh } from "./dashboard-0Tpj3XFq.js";
4
+ import { d0 as Ri, aH as Fn, aI as Rn, aJ as Pn, aK as Ln, aL as Xn, aF as ms, bm as Et, bq as jt, d1 as Pi, d2 as is, aG as et, d3 as Li, d4 as os, b4 as Ia, aZ as bt, ci as Sr, b2 as ta, br as na, bn as wt, d5 as hs, d6 as Tr, d7 as Vi, d8 as Bi, d9 as qc, da as jc, db as Kc, b8 as vs, dc as Uc, dd as Gc, de as cr, df as cs, az as zn, an as _i, dg as Hc, dh as Qc, di as zi, dj as $i, dk as Wc, dl as Jc, dm as Yc, dn as Xc, bg as $n, bh as Nn, bi as Cn, bj as ja, bk as nn, bl as Yn, dp as dr, dq as Zc, ca as wa, dr as qi, aN as sn, aO as ft, ds as ed, dt as ji, cJ as gn, cQ as Ki, du as kr, dv as td, dw as Ui, dx as nd, dy as Gi, dz as ad, dA as sd, dB as rd, aD as Hi, dC as ld, dD as id, dE as od, dF as cd, dG as dd, dH as ud, dI as zs, dJ as md, dK as zl, dL as hd, dM as $l, dN as pd, dO as fd, cf as aa, cg as sa, ch as ra, b$ as mt, dP as Da, b5 as Qi, bv as Wt, bx as Jt, dQ as Ir, bM as Dr, aM as Er, dR as gd, dS as xd, dT as Ar, dU as bd, dV as Wi, dW as Ji, dX as Yi, dY as Xi, dZ as Ht, d_ as yd, d$ as vd, e0 as Nd, e1 as Cd, e2 as Zi, e3 as eo, r as to, e4 as no, e5 as wd, e6 as Sd, e7 as Td, e8 as Ea, M as kd, e9 as Id, ea as Dd, eb as ql, ec as Ed, E as Ns, e as Or, ed as Ad, ee as Mr, bE as Od, ef as jl, I as gt, eg as Md, eh as Fd, ei as ao, ej as so, ek as Rd, el as Fr, em as Rr, en as ro, eo as lo, ep as Kl, eq as Ka, er as Pd, es as Ld, et as Vd, eu as Bd, ev as _d, ew as ps, ex as zd, ey as $d, ez as io, eA as oo, eB as qd, eC as jd, ct as Kd, eD as Ud, eE as co, eF as Gd, eG as Hd, cu as Cs, eH as ws, bF as Aa, bG as Qt, eI as mn, eJ as Pr, eK as Vn, eL as Bn, eM as xn, eN as Zn, eO as Qd, eP as Wd, eQ as Jd, eR as Yd, eS as Xd, eT as Zd, eU as eu, eV as tu, eW as Ul, bw as an, eX as nu, eY as uo, eZ as au, e_ as su, e$ as mo, f0 as ru, f1 as lu, f2 as iu, f3 as ou, f4 as $s, f5 as cu, f6 as du, f7 as Ss, f8 as uu, f9 as mu, fa as ho, fb as hu, fc as pu, fd as fu, fe as gu, ff as xu, fg as ur, fh as bu, fi as yu, fj as mr, fk as vu, fl as Nu, fm as Cu, fn as wu, fo as Gl, b3 as hr, a$ as bn, aP as Su, aQ as Tu, aS as ku, aT as Iu, aU as Du, aV as Eu, aW as Au, aX as Ou, aY as Mu, c1 as Fu, fp as Oa, fq as Ma, fr as Fa, ck as Lr, cl as Ru, b1 as Pu, fs as Lu, ft as Vu, fu as Bu, fv as Ts, fw as it, fx as ot, fy as ct, fz as _u, fA as zu, fB as po, fC as fo, fD as go, fE as $u, fF as qu, fG as pr, fH as ju, fI as Ku, fJ as Uu, fK as Gu, fL as Hu, fM as Qu, fN as Wu, fO as Ju, fP as Yu, fQ as Xu, fR as Zu, fS as em, fT as Dn, fU as va, fV as tm, fW as Hl, fX as nm, fY as am, fZ as qs, f_ as Ql, f$ as sm, g0 as rm, g1 as lm, g2 as im, g3 as om, aB as Vr, aC as Ra, g4 as js, g5 as xo, b6 as cm, g6 as fs, g7 as dm, g8 as bo, g9 as yo, ga as um, gb as mm, ar as hm, gc as as, gd as pm, ge as Wl, gf as fm, gg as gm, gh as Jl, gi as xm, gj as bm, gk as ym, gl as vm, gm as Nm, aR as vo, gn as Cm, go as wm, gp as Sm, gq as Tm, gr as km, gs as Im, gt as Dm, gu as Em, gv as No, gw as Am, gx as Om, gy as ks, cK as Is, gz as Co, gA as Mm, gB as Fm, gC as wo, gD as Rm, gE as Pm, gF as Ds, gG as Ks, gH as Lm, gI as Vm, gJ as Bm, gK as _m, gL as ea, gM as Yl, gN as So, gO as zm, cw as $m, gP as To, gQ as ko, gR as ds, gS as Io, gT as Do, gU as qm, gV as Xl, gW as jm, gX as Km, gY as us, gZ as Um, g_ as Br, g$ as Gm, h0 as gs, h as Pa, i as La, k as Va, j as Ba, l as _a, m as za, h1 as Hm, h2 as $a, h3 as hn, h4 as fr, h5 as gr, h6 as qa, h7 as Eo, h8 as Qm, h9 as Us, ha as Gs, hb as Wm, hc as Hs, hd as Jm, he as Zl, hf as ei, cS as Ym, hg as Xm, cT as Zm, cV as eh, cW as th, av as nh, hh as ah, hi as sh, hj as rh, cm as lh, cn as ih, co as oh, b_ as Es, hk as As, hl as ti, hm as Ao, cM as Qs, hn as ch, ho as dh, hp as uh, F as mh, bp as hh, hq as ph, hr as fh } from "./dashboard-BNNLoBLt.js";
5
5
  import { c as Ue, C as Ft, X as tt } from "./index-xHCrHprY.js";
6
- import { D as Ne, B as ee, N as xs, H as Ua, c as J, aN as gh, O as q, _ as ne, $ as ae, a0 as se, a1 as re, a2 as j, E as P, Y as At, Q as Bt, V as Ot, W as Mt, P as Rt, a as Lt, b as Pt, C as yn, aO as xh, aG as Sa, aP as _r, aQ as Oo, aD as zr, aB as bh, Z as Pe, aR as yh, L as vn, u as ye, d as wn, aS as $r, X as rn, A as Mo, T as Ga, F as Ha, G as Yt, I as On, M as Os, S as _n, i as vh, aH as Mn, aT as Nh, aU as Ch, aV as Fo, af as wh, aJ as Sh, aW as Th, aX as kh, aY as ni, aZ as Ih, a_ as Dh, a$ as Eh, b0 as Ah, b1 as Oh, b2 as Mh, b3 as ai, b4 as Fh, b5 as si, R as xr, b6 as la, b7 as Rh, a3 as Ke, b8 as Ph, b9 as qr, ba as br, bb as Ro, bc as pn, bd as ss, be as Po, bf as Lh, bg as Lo, bh as Vh, bi as Bh, bj as Vt, bk as _h, K as Vo, bl as ht, bm as Bo, w as ri, bn as zh, bo as $h, bp as qh, bq as jh, br as Kh, bs as Uh, bt as Gh, bu as Hh, bv as Qh, bw as Wh, bx as Jh, by as Yh, bz as Xh, bA as li, bB as Zh, bC as ep, bD as tp, bE as np, J as Ms, a6 as ap } from "./code-editor-C65eEYyU.js";
6
+ import { D as Ne, B as ee, N as xs, H as Ua, c as J, aN as gh, O as q, _ as ne, $ as ae, a0 as se, a1 as re, a2 as j, E as P, Y as At, Q as Bt, V as Ot, W as Mt, P as Rt, a as Lt, b as Pt, C as yn, aO as xh, aG as Sa, aP as _r, aQ as Oo, aD as zr, aB as bh, Z as Pe, aR as yh, L as vn, u as ye, d as wn, aS as $r, X as rn, A as Mo, T as Ga, F as Ha, G as Yt, I as On, M as Os, S as _n, i as vh, aH as Mn, aT as Nh, aU as Ch, aV as Fo, af as wh, aJ as Sh, aW as Th, aX as kh, aY as ni, aZ as Ih, a_ as Dh, a$ as Eh, b0 as Ah, b1 as Oh, b2 as Mh, b3 as ai, b4 as Fh, b5 as si, R as xr, b6 as la, b7 as Rh, a3 as Ke, b8 as Ph, b9 as qr, ba as br, bb as Ro, bc as pn, bd as ss, be as Po, bf as Lh, bg as Lo, bh as Vh, bi as Bh, bj as Vt, bk as _h, K as Vo, bl as ht, bm as Bo, w as ri, bn as zh, bo as $h, bp as qh, bq as jh, br as Kh, bs as Uh, bt as Gh, bu as Hh, bv as Qh, bw as Wh, bx as Jh, by as Yh, bz as Xh, bA as li, bB as Zh, bC as ep, bD as tp, bE as np, J as Ms, a6 as ap } from "./code-editor-C8zzmSgt.js";
7
7
  import "./analyze-result-contract-CfOBEwaC.js";
8
8
  import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as yr } from "../value-format-preferences/index.js";
9
9
  import { C as Kt, E as vr, S as Fs, M as sp, a as rp } from "./search-DHZCro8B.js";
10
- import { f as lp, g as yt, r as _o, h as Qa, i as zo, V as $o, e as ip, C as op } from "./use-create-flow-overlay-state-C-j8E5IZ.js";
10
+ import { f as lp, g as yt, r as _o, h as Qa, i as zo, V as $o, e as ip, C as op } from "./use-create-flow-overlay-state-9-aceNp5.js";
11
11
  import { h as ia } from "./card-config-utils-BYZ5MJOh.js";
12
12
  import { createPortal as cp } from "react-dom";
13
13
  import "./index-If0wlXGi.js";
14
14
  import "./comparison-document-migration-Dj6xZMCb.js";
15
15
  import "../briefings/index.js";
16
- import { d as dp, r as up } from "./numeric-presentation-CGTcqocU.js";
16
+ import { a as dp, r as up } from "./numeric-presentation-BJs5lSar.js";
17
17
  import { D as ii } from "./metric-comparison-CPoDx56y.js";
18
18
  import { P as mp } from "./palette-jqaAcwiQ.js";
19
19
  import { a as hp } from "./common-types-ClkOI-3O.js";
@@ -500,10 +500,10 @@ function W(r, e, c) {
500
500
  };
501
501
  }
502
502
  export {
503
- k as a,
504
- D as b,
505
- T as c,
506
- P as d,
503
+ P as a,
504
+ k as b,
505
+ D as c,
506
+ T as d,
507
507
  S as e,
508
508
  L as f,
509
509
  C as g,
@@ -1 +1 @@
1
- "use strict";const e=require("react/jsx-runtime"),l=require("react"),n=require("./dashboard-CVDy3fbO.js"),o=require("./code-editor-DOh3aYEh.js"),V=require("../report-runtime-context/index.cjs");require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");const D=require("../value-format-preferences/index.cjs");function M(s={}){const{authToken:i,tokenProps:a}=n.useSemaphorContext(),p=o.useDashboardStore(C=>C.actions.applyResolvedCalendarPreferences),d=s.enabled??!0,c=(i==null?void 0:i.accessToken)??null,m=(a==null?void 0:a.apiServiceUrl)??null,[v,b]=l.useState(!1),[g,j]=l.useState(!1),[y,k]=l.useState(!1),[T,f]=l.useState(null),[N,P]=l.useState(null),h=l.useRef(c);h.current=c,l.useEffect(()=>{P(null),f(null),b(!1),j(!1),k(!1)},[c]);const w=l.useCallback(async C=>{const r=V.parseCalendarPreferencesResponse(await C.json());if(!r.ok)throw new Error("Calendar preferences response is invalid");return r.value},[]),S=l.useCallback(async()=>{if(!d||!c||!m)return;const C=c;b(!0),f(null);try{const r=await fetch(`${m}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${c}`}});if(!r.ok){const x=await r.json().catch(()=>({}));throw new Error(x.error||"Failed to fetch preferences")}const t=await w(r);h.current===C&&P(t)}catch(r){h.current===C&&f(r instanceof Error?r.message:"Unknown error")}finally{h.current===C&&b(!1)}},[c,m,d,w]);l.useEffect(()=>{d&&S()},[d,S]);const E=l.useCallback(async C=>{if(!c||!m)return f("Not authenticated"),!1;const r=c;j(!0),f(null);try{const t=await fetch(`${m}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(C)});if(!t.ok){const z=await t.json().catch(()=>({}));throw new Error(z.error||"Failed to update preferences")}const x=await w(t);return h.current!==r?!1:(P(x),p(x.resolved,x.sources),!0)}catch(t){return h.current===r&&f(t instanceof Error?t.message:"Unknown error"),!1}finally{h.current===r&&j(!1)}},[c,m,p,w]),A=l.useCallback(async()=>{if(!c||!m)return f("Not authenticated"),!1;const C=c;k(!0),f(null);try{const r=await fetch(`${m}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${c}`}});if(!r.ok){const x=await r.json().catch(()=>({}));throw new Error(x.error||"Failed to clear preferences")}const t=await w(r);return h.current!==C?!1:(P(t),p(t.resolved,t.sources),!0)}catch(r){return h.current===C&&f(r instanceof Error?r.message:"Unknown error"),!1}finally{h.current===C&&k(!1)}},[c,m,p,w]);return{preferences:N,isLoading:v,isSaving:g,isClearing:y,error:T,updatePreferences:E,clearPreferences:A,refetch:S}}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"}],I=[{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 _(){try{const s=Intl;if(s.supportedValuesOf)return s.supportedValuesOf("timeZone")}catch{}return F.map(s=>s.value)}function G(s){if(!s)return"default";if(s.tz!==s.weekStart)return"inherited";switch(s.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(s){const i=F.find(a=>a.value===s);return i?i.label:s}function W(s){const i=I.find(a=>a.value===s);return i?i.label:String(s)}function H({active:s,onClose:i}){const{preferences:a,isLoading:p,isSaving:d,isClearing:c,updatePreferences:m,clearPreferences:v}=M({enabled:s}),b=n.useCalendarContext(),g=(a==null?void 0:a.resolved.tz)||(b==null?void 0:b.tz)||"UTC",j=(a==null?void 0:a.resolved.weekStart)??(b==null?void 0:b.weekStart)??1,[y,k]=l.useState((a==null?void 0:a.stored)===null),[T,f]=l.useState(!1),[N,P]=l.useState(g),[h,w]=l.useState(j),[S,E]=l.useState(!1),A=l.useMemo(()=>_(),[]),C=l.useMemo(()=>A.filter(u=>!F.some($=>$.value===u)),[A]),r=l.useMemo(()=>U(N),[N]),t=a!=null&&a.inherited?U(a.inherited.tz):"UTC",x=a!=null&&a.inherited?W(a.inherited.weekStart):"Monday",z=G(a==null?void 0:a.inheritedSources);l.useEffect(()=>{if(!s){f(!1);return}T||(a&&k(a.stored===null),P(g),w(j))},[s,T,a,g,j]);const B=async()=>{if(p){n.ue.error("Preferences are still loading. Please try again.");return}y?await v()?(n.ue.success("Now using default settings."),i()):n.ue.error("Failed to save preferences. Please try again."):await m({tz:N,weekStart:h})?(n.ue.success("Preferences saved."),i()):n.ue.error("Failed to save preferences. Please try again.")},q=()=>{i()},L=d||c,O=L||p;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(n.RadioGroup,{value:y?"defaults":"custom",onValueChange:u=>{f(!0),k(u==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:o.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",y&&"bg-muted/50"),onClick:()=>{f(!0),k(!0)},children:[e.jsx(n.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 ",z," defaults"]}),e.jsxs("p",{className:"text-[12px] text-muted-foreground",children:[t,", week starts ",x]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:o.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",!y&&"bg-muted/50"),onClick:()=>{f(!0),k(!1)},children:[e.jsx(n.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:o.cn("space-y-4 border-t border-border/60 pt-4 transition-opacity",y&&"pointer-events-none opacity-50"),children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(o.Label,{className:R,children:"Timezone"}),e.jsxs(o.Popover,{open:S,onOpenChange:E,modal:!0,children:[e.jsx(o.PopoverTrigger,{asChild:!0,children:e.jsxs(o.Button,{variant:"outline",size:"xs",role:"combobox","aria-expanded":S,className:"w-full justify-between text-[12px] font-normal",disabled:y,children:[e.jsx("span",{className:"truncate",children:r}),e.jsx(n.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(o.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(n.Command,{className:"overflow-visible",children:[e.jsx(n.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(n.CommandList,{children:[e.jsx(n.CommandEmpty,{children:"No timezone found."}),e.jsx(n.CommandGroup,{heading:"Common",children:F.map(u=>e.jsxs(n.CommandItem,{value:`${u.value} ${u.label}`,onSelect:()=>{f(!0),P(u.value),E(!1)},children:[e.jsx(o.Check,{className:o.cn("h-3.5 w-3.5",N===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(n.CommandSeparator,{}),e.jsx(n.CommandGroup,{heading:"All timezones",children:C.map(u=>e.jsxs(n.CommandItem,{value:u,onSelect:()=>{f(!0),P(u),E(!1)},children:[e.jsx(o.Check,{className:o.cn("h-3.5 w-3.5",N===u?"opacity-100":"opacity-0")}),u]},u))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(o.Label,{className:R,children:"Week starts on"}),e.jsx(n.RadioGroup,{value:String(h),onValueChange:u=>{f(!0),w(Number(u))},className:"flex gap-4",disabled:y,children:I.map(u=>e.jsxs("label",{htmlFor:`week-start-${u.value}`,className:o.cn("flex cursor-pointer items-center gap-2 text-[13px]",y&&"cursor-not-allowed"),children:[e.jsx(n.RadioGroupItem,{value:String(u.value),id:`week-start-${u.value}`,disabled:y}),u.label]},u.value))})]})]})]}),e.jsxs(n.DialogFooter,{children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:q,disabled:L,children:"Cancel"}),e.jsx(o.Button,{size:"xs",onClick:B,disabled:O,children:L?e.jsxs(e.Fragment,{children:[e.jsx(o.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function K(s={}){const{authToken:i,tokenProps:a}=n.useSemaphorContext(),p=o.useDashboardStore(r=>r.actions.applyResolvedValueFormatPreferences),d=s.enabled??!0,c=(i==null?void 0:i.accessToken)??null,m=(a==null?void 0:a.apiServiceUrl)??null,v=l.useRef(c);v.current=c;const[b,g]=l.useState(null),[j,y]=l.useState(!1),[k,T]=l.useState(!1),[f,N]=l.useState(!1),[P,h]=l.useState(null);l.useEffect(()=>{g(null),h(null),y(!1),T(!1),N(!1)},[c]);const w=l.useCallback(async r=>{const t=D.parseValueFormatPreferencesResponse(await r.json());if(!t.ok)throw new Error("Value format preferences response is invalid");return t.value},[]),S=l.useCallback(async(r,t)=>{if(!c||!m)throw new Error("Not authenticated");const x=await fetch(`${m}/v1/user-preferences/value-format`,{method:r,headers:{Authorization:`Bearer ${c}`,...t?{"Content-Type":"application/json"}:{}},body:t?JSON.stringify(t):void 0});if(!x.ok){const z=await x.json().catch(()=>({}));throw new Error(z.error||"Failed to update preferences")}return w(x)},[c,m,w]),E=l.useCallback(async()=>{if(!d||!c||!m)return;const r=c;y(!0),h(null);try{const t=await S("GET");v.current===r&&g(t)}catch(t){v.current===r&&h(t instanceof Error?t.message:"Unknown error")}finally{v.current===r&&y(!1)}},[c,m,d,S]);l.useEffect(()=>{d&&E()},[d,E]);const A=l.useCallback(async r=>{const t=c;T(!0),h(null);try{const x=await S("PATCH",r);return v.current!==t?!1:(g(x),p(x.resolved,x.sources),!0)}catch(x){return v.current===t&&h(x instanceof Error?x.message:"Unknown error"),!1}finally{v.current===t&&T(!1)}},[c,p,S]),C=l.useCallback(async()=>{const r=c;N(!0),h(null);try{const t=await S("DELETE");return v.current!==r?!1:(g(t),p(t.resolved,t.sources),!0)}catch(t){return v.current===r&&h(t instanceof Error?t.message:"Unknown error"),!1}finally{v.current===r&&N(!1)}},[c,p,S]);return{preferences:b,isLoading:j,isSaving:k,isClearing:f,error:P,updatePreferences:A,clearPreferences:C,refetch:E}}function J({active:s,onClose:i}){var v,b;const{preferences:a,isLoading:p,isSaving:d,updatePreferences:c}=K({enabled:s});if(!s)return null;if(!a)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:p?"Loading preferences…":"Preferences unavailable."})}),e.jsxs(n.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(o.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset locale and currency"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:i,children:"Cancel"}),e.jsx(o.Button,{size:"xs",disabled:!0,children:"Save"})]})]})]});const m=[((v=a.stored)==null?void 0:v.locale)??"",((b=a.stored)==null?void 0:b.defaultCurrency)??""].join(":");return e.jsx(Z,{preferences:a,isSaving:d,updatePreferences:c,onClose:i},m)}function Z({preferences:s,isSaving:i,updatePreferences:a,onClose:p}){const[d,c]=l.useState(()=>{var g,j;return{locale:(g=s.stored)==null?void 0:g.locale,defaultCurrency:(j=s.stored)==null?void 0:j.defaultCurrency}}),m=(d.locale===void 0||D.canonicalizeSupportedLocale(d.locale)!==void 0)&&(d.defaultCurrency===void 0||D.canonicalizeSupportedCurrencyCode(d.defaultCurrency)!==void 0),v=async()=>{var T,f;const g={},j=[];d.locale!==void 0?g.locale=d.locale:((T=s.stored)==null?void 0:T.locale)!==void 0&&j.push("locale"),d.defaultCurrency!==void 0?g.defaultCurrency=d.defaultCurrency:((f=s.stored)==null?void 0:f.defaultCurrency)!==void 0&&j.push("defaultCurrency");const y={...Object.keys(g).length>0?{set:g}:{},...j.length>0?{clear:j}:{}};(Object.keys(y).length===0?!0:await a(y))?(n.ue.success("Display format preferences saved."),p()):n.ue.error("Failed to save preferences. Please try again.")},b=async()=>{await a({clear:["locale","defaultCurrency"]})?(n.ue.success("Locale and currency preferences reset."),p()):n.ue.error("Failed to reset locale and currency preferences. Please try again.")};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(n.DisplayFormatPreferencesFields,{value:d,inherited:s.inherited,inheritedSources:s.inheritedSources,onChange:c,disabled:i})}),e.jsxs(n.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(o.Button,{variant:"ghost",size:"xs",onClick:b,disabled:i||s.stored===null,children:"Reset locale and currency"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:p,disabled:i,children:"Cancel"}),e.jsx(o.Button,{size:"xs",onClick:v,disabled:i||!m,children:i?e.jsxs(e.Fragment,{children:[e.jsx(o.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function Y({open:s,onOpenChange:i}){const[a,p]=l.useState("display"),d=()=>i(!1);return e.jsx(n.Dialog,{open:s,onOpenChange:i,children:e.jsxs(n.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(n.DialogHeader,{children:[e.jsx(n.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(n.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(o.Tabs,{value:a,onValueChange:p,children:[e.jsxs(o.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(o.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(o.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(o.TabsContent,{value:"display",children:e.jsx(J,{active:s&&a==="display",onClose:d})}),e.jsx(o.TabsContent,{value:"calendar",children:e.jsx(H,{active:s&&a==="calendar",onClose:d})})]})]})})}exports.ReportPreferencesDialog=Y;
1
+ "use strict";const e=require("react/jsx-runtime"),l=require("react"),n=require("./dashboard-DxwOPUB6.js"),o=require("./code-editor-BSENCZwR.js"),V=require("../report-runtime-context/index.cjs");require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");const D=require("../value-format-preferences/index.cjs");function M(s={}){const{authToken:i,tokenProps:a}=n.useSemaphorContext(),p=o.useDashboardStore(C=>C.actions.applyResolvedCalendarPreferences),d=s.enabled??!0,c=(i==null?void 0:i.accessToken)??null,m=(a==null?void 0:a.apiServiceUrl)??null,[v,b]=l.useState(!1),[g,j]=l.useState(!1),[y,k]=l.useState(!1),[T,f]=l.useState(null),[N,P]=l.useState(null),h=l.useRef(c);h.current=c,l.useEffect(()=>{P(null),f(null),b(!1),j(!1),k(!1)},[c]);const w=l.useCallback(async C=>{const r=V.parseCalendarPreferencesResponse(await C.json());if(!r.ok)throw new Error("Calendar preferences response is invalid");return r.value},[]),S=l.useCallback(async()=>{if(!d||!c||!m)return;const C=c;b(!0),f(null);try{const r=await fetch(`${m}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${c}`}});if(!r.ok){const x=await r.json().catch(()=>({}));throw new Error(x.error||"Failed to fetch preferences")}const t=await w(r);h.current===C&&P(t)}catch(r){h.current===C&&f(r instanceof Error?r.message:"Unknown error")}finally{h.current===C&&b(!1)}},[c,m,d,w]);l.useEffect(()=>{d&&S()},[d,S]);const E=l.useCallback(async C=>{if(!c||!m)return f("Not authenticated"),!1;const r=c;j(!0),f(null);try{const t=await fetch(`${m}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(C)});if(!t.ok){const z=await t.json().catch(()=>({}));throw new Error(z.error||"Failed to update preferences")}const x=await w(t);return h.current!==r?!1:(P(x),p(x.resolved,x.sources),!0)}catch(t){return h.current===r&&f(t instanceof Error?t.message:"Unknown error"),!1}finally{h.current===r&&j(!1)}},[c,m,p,w]),A=l.useCallback(async()=>{if(!c||!m)return f("Not authenticated"),!1;const C=c;k(!0),f(null);try{const r=await fetch(`${m}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${c}`}});if(!r.ok){const x=await r.json().catch(()=>({}));throw new Error(x.error||"Failed to clear preferences")}const t=await w(r);return h.current!==C?!1:(P(t),p(t.resolved,t.sources),!0)}catch(r){return h.current===C&&f(r instanceof Error?r.message:"Unknown error"),!1}finally{h.current===C&&k(!1)}},[c,m,p,w]);return{preferences:N,isLoading:v,isSaving:g,isClearing:y,error:T,updatePreferences:E,clearPreferences:A,refetch:S}}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"}],I=[{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 _(){try{const s=Intl;if(s.supportedValuesOf)return s.supportedValuesOf("timeZone")}catch{}return F.map(s=>s.value)}function G(s){if(!s)return"default";if(s.tz!==s.weekStart)return"inherited";switch(s.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(s){const i=F.find(a=>a.value===s);return i?i.label:s}function W(s){const i=I.find(a=>a.value===s);return i?i.label:String(s)}function H({active:s,onClose:i}){const{preferences:a,isLoading:p,isSaving:d,isClearing:c,updatePreferences:m,clearPreferences:v}=M({enabled:s}),b=n.useCalendarContext(),g=(a==null?void 0:a.resolved.tz)||(b==null?void 0:b.tz)||"UTC",j=(a==null?void 0:a.resolved.weekStart)??(b==null?void 0:b.weekStart)??1,[y,k]=l.useState((a==null?void 0:a.stored)===null),[T,f]=l.useState(!1),[N,P]=l.useState(g),[h,w]=l.useState(j),[S,E]=l.useState(!1),A=l.useMemo(()=>_(),[]),C=l.useMemo(()=>A.filter(u=>!F.some($=>$.value===u)),[A]),r=l.useMemo(()=>U(N),[N]),t=a!=null&&a.inherited?U(a.inherited.tz):"UTC",x=a!=null&&a.inherited?W(a.inherited.weekStart):"Monday",z=G(a==null?void 0:a.inheritedSources);l.useEffect(()=>{if(!s){f(!1);return}T||(a&&k(a.stored===null),P(g),w(j))},[s,T,a,g,j]);const B=async()=>{if(p){n.ue.error("Preferences are still loading. Please try again.");return}y?await v()?(n.ue.success("Now using default settings."),i()):n.ue.error("Failed to save preferences. Please try again."):await m({tz:N,weekStart:h})?(n.ue.success("Preferences saved."),i()):n.ue.error("Failed to save preferences. Please try again.")},q=()=>{i()},L=d||c,O=L||p;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(n.RadioGroup,{value:y?"defaults":"custom",onValueChange:u=>{f(!0),k(u==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:o.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",y&&"bg-muted/50"),onClick:()=>{f(!0),k(!0)},children:[e.jsx(n.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 ",z," defaults"]}),e.jsxs("p",{className:"text-[12px] text-muted-foreground",children:[t,", week starts ",x]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:o.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",!y&&"bg-muted/50"),onClick:()=>{f(!0),k(!1)},children:[e.jsx(n.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:o.cn("space-y-4 border-t border-border/60 pt-4 transition-opacity",y&&"pointer-events-none opacity-50"),children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(o.Label,{className:R,children:"Timezone"}),e.jsxs(o.Popover,{open:S,onOpenChange:E,modal:!0,children:[e.jsx(o.PopoverTrigger,{asChild:!0,children:e.jsxs(o.Button,{variant:"outline",size:"xs",role:"combobox","aria-expanded":S,className:"w-full justify-between text-[12px] font-normal",disabled:y,children:[e.jsx("span",{className:"truncate",children:r}),e.jsx(n.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(o.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(n.Command,{className:"overflow-visible",children:[e.jsx(n.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(n.CommandList,{children:[e.jsx(n.CommandEmpty,{children:"No timezone found."}),e.jsx(n.CommandGroup,{heading:"Common",children:F.map(u=>e.jsxs(n.CommandItem,{value:`${u.value} ${u.label}`,onSelect:()=>{f(!0),P(u.value),E(!1)},children:[e.jsx(o.Check,{className:o.cn("h-3.5 w-3.5",N===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(n.CommandSeparator,{}),e.jsx(n.CommandGroup,{heading:"All timezones",children:C.map(u=>e.jsxs(n.CommandItem,{value:u,onSelect:()=>{f(!0),P(u),E(!1)},children:[e.jsx(o.Check,{className:o.cn("h-3.5 w-3.5",N===u?"opacity-100":"opacity-0")}),u]},u))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(o.Label,{className:R,children:"Week starts on"}),e.jsx(n.RadioGroup,{value:String(h),onValueChange:u=>{f(!0),w(Number(u))},className:"flex gap-4",disabled:y,children:I.map(u=>e.jsxs("label",{htmlFor:`week-start-${u.value}`,className:o.cn("flex cursor-pointer items-center gap-2 text-[13px]",y&&"cursor-not-allowed"),children:[e.jsx(n.RadioGroupItem,{value:String(u.value),id:`week-start-${u.value}`,disabled:y}),u.label]},u.value))})]})]})]}),e.jsxs(n.DialogFooter,{children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:q,disabled:L,children:"Cancel"}),e.jsx(o.Button,{size:"xs",onClick:B,disabled:O,children:L?e.jsxs(e.Fragment,{children:[e.jsx(o.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function K(s={}){const{authToken:i,tokenProps:a}=n.useSemaphorContext(),p=o.useDashboardStore(r=>r.actions.applyResolvedValueFormatPreferences),d=s.enabled??!0,c=(i==null?void 0:i.accessToken)??null,m=(a==null?void 0:a.apiServiceUrl)??null,v=l.useRef(c);v.current=c;const[b,g]=l.useState(null),[j,y]=l.useState(!1),[k,T]=l.useState(!1),[f,N]=l.useState(!1),[P,h]=l.useState(null);l.useEffect(()=>{g(null),h(null),y(!1),T(!1),N(!1)},[c]);const w=l.useCallback(async r=>{const t=D.parseValueFormatPreferencesResponse(await r.json());if(!t.ok)throw new Error("Value format preferences response is invalid");return t.value},[]),S=l.useCallback(async(r,t)=>{if(!c||!m)throw new Error("Not authenticated");const x=await fetch(`${m}/v1/user-preferences/value-format`,{method:r,headers:{Authorization:`Bearer ${c}`,...t?{"Content-Type":"application/json"}:{}},body:t?JSON.stringify(t):void 0});if(!x.ok){const z=await x.json().catch(()=>({}));throw new Error(z.error||"Failed to update preferences")}return w(x)},[c,m,w]),E=l.useCallback(async()=>{if(!d||!c||!m)return;const r=c;y(!0),h(null);try{const t=await S("GET");v.current===r&&g(t)}catch(t){v.current===r&&h(t instanceof Error?t.message:"Unknown error")}finally{v.current===r&&y(!1)}},[c,m,d,S]);l.useEffect(()=>{d&&E()},[d,E]);const A=l.useCallback(async r=>{const t=c;T(!0),h(null);try{const x=await S("PATCH",r);return v.current!==t?!1:(g(x),p(x.resolved,x.sources),!0)}catch(x){return v.current===t&&h(x instanceof Error?x.message:"Unknown error"),!1}finally{v.current===t&&T(!1)}},[c,p,S]),C=l.useCallback(async()=>{const r=c;N(!0),h(null);try{const t=await S("DELETE");return v.current!==r?!1:(g(t),p(t.resolved,t.sources),!0)}catch(t){return v.current===r&&h(t instanceof Error?t.message:"Unknown error"),!1}finally{v.current===r&&N(!1)}},[c,p,S]);return{preferences:b,isLoading:j,isSaving:k,isClearing:f,error:P,updatePreferences:A,clearPreferences:C,refetch:E}}function J({active:s,onClose:i}){var v,b;const{preferences:a,isLoading:p,isSaving:d,updatePreferences:c}=K({enabled:s});if(!s)return null;if(!a)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:p?"Loading preferences…":"Preferences unavailable."})}),e.jsxs(n.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(o.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset locale and currency"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:i,children:"Cancel"}),e.jsx(o.Button,{size:"xs",disabled:!0,children:"Save"})]})]})]});const m=[((v=a.stored)==null?void 0:v.locale)??"",((b=a.stored)==null?void 0:b.defaultCurrency)??""].join(":");return e.jsx(Z,{preferences:a,isSaving:d,updatePreferences:c,onClose:i},m)}function Z({preferences:s,isSaving:i,updatePreferences:a,onClose:p}){const[d,c]=l.useState(()=>{var g,j;return{locale:(g=s.stored)==null?void 0:g.locale,defaultCurrency:(j=s.stored)==null?void 0:j.defaultCurrency}}),m=(d.locale===void 0||D.canonicalizeSupportedLocale(d.locale)!==void 0)&&(d.defaultCurrency===void 0||D.canonicalizeSupportedCurrencyCode(d.defaultCurrency)!==void 0),v=async()=>{var T,f;const g={},j=[];d.locale!==void 0?g.locale=d.locale:((T=s.stored)==null?void 0:T.locale)!==void 0&&j.push("locale"),d.defaultCurrency!==void 0?g.defaultCurrency=d.defaultCurrency:((f=s.stored)==null?void 0:f.defaultCurrency)!==void 0&&j.push("defaultCurrency");const y={...Object.keys(g).length>0?{set:g}:{},...j.length>0?{clear:j}:{}};(Object.keys(y).length===0?!0:await a(y))?(n.ue.success("Display format preferences saved."),p()):n.ue.error("Failed to save preferences. Please try again.")},b=async()=>{await a({clear:["locale","defaultCurrency"]})?(n.ue.success("Locale and currency preferences reset."),p()):n.ue.error("Failed to reset locale and currency preferences. Please try again.")};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(n.DisplayFormatPreferencesFields,{value:d,inherited:s.inherited,inheritedSources:s.inheritedSources,onChange:c,disabled:i})}),e.jsxs(n.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(o.Button,{variant:"ghost",size:"xs",onClick:b,disabled:i||s.stored===null,children:"Reset locale and currency"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o.Button,{variant:"outline",size:"xs",onClick:p,disabled:i,children:"Cancel"}),e.jsx(o.Button,{size:"xs",onClick:v,disabled:i||!m,children:i?e.jsxs(e.Fragment,{children:[e.jsx(o.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function Y({open:s,onOpenChange:i}){const[a,p]=l.useState("display"),d=()=>i(!1);return e.jsx(n.Dialog,{open:s,onOpenChange:i,children:e.jsxs(n.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(n.DialogHeader,{children:[e.jsx(n.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(n.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(o.Tabs,{value:a,onValueChange:p,children:[e.jsxs(o.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(o.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(o.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(o.TabsContent,{value:"display",children:e.jsx(J,{active:s&&a==="display",onClose:d})}),e.jsx(o.TabsContent,{value:"calendar",children:e.jsx(H,{active:s&&a==="calendar",onClose:d})})]})]})})}exports.ReportPreferencesDialog=Y;
@@ -1,7 +1,7 @@
1
1
  import { jsxs as l, Fragment as R, jsx as a } from "react/jsx-runtime";
2
2
  import le, { useState as C, useRef as Y, useEffect as U, useCallback as A, useMemo as _ } from "react";
3
- import { az as Q, aA as ce, aB as B, aC as $, aD as oe, h as ie, i as ue, j as de, k as fe, l as M, m as W, aE as me, aF as V, aG as z, a as he, aH as pe, aI as ve, aJ as ye, aK as ge, aL as be } from "./dashboard-0Tpj3XFq.js";
4
- import { u as X, c as F, O as q, P as we, a as Ce, B as L, b as Se, d as G, L as ee, T as ke, F as Te, G as H, I as K } from "./code-editor-C65eEYyU.js";
3
+ import { az as Q, aA as ce, aB as B, aC as $, aD as oe, h as ie, i as ue, j as de, k as fe, l as M, m as W, aE as me, aF as V, aG as z, a as he, aH as pe, aI as ve, aJ as ye, aK as ge, aL as be } from "./dashboard-BNNLoBLt.js";
4
+ import { u as X, c as F, O as q, P as we, a as Ce, B as L, b as Se, d as G, L as ee, T as ke, F as Te, G as H, I as K } from "./code-editor-C8zzmSgt.js";
5
5
  import { parseCalendarPreferencesResponse as xe } from "../report-runtime-context/index.js";
6
6
  import "./index-xHCrHprY.js";
7
7
  import "./analyze-result-contract-CfOBEwaC.js";
@@ -1,6 +1,6 @@
1
1
  import { useState as H, useEffect as ie, useCallback as B, useMemo as P, useRef as Se, Fragment as gt } from "react";
2
- import { D as de, A as _e, u as Z, E as M, a4 as yt, Q as vt, V as xt, W as Ct, c as fe, Y as St, a5 as kt, B as q, d as Nt, L as Ze, a6 as wt, a7 as Dt, a8 as Et, a9 as pe, aa as je, ab as Re, ac as ke, ad as Ne, ae as It, af as Qe, ag as Ft, ah as Vt, ai as me, aj as Tt, ak as $e, al as et, am as tt, an as rt, O as oe, Z as at, _ as we, $ as De, a0 as Ee, a1 as Ie, a2 as Fe, ao as st, ap as _t, aq as Pe, ar as At, as as We, at as Lt, au as qt, av as Ve } from "./code-editor-C65eEYyU.js";
3
- import { b7 as Mt, az as Ot, b8 as ce, b9 as zt, ba as Ae, bb as Ut, bc as Bt, bd as jt, aG as j, be as Rt, bf as Qt, bg as nt, bh as $t, bi as Pt, bj as Wt, bk as Kt, bl as Ht, av as Yt, bm as Gt, bn as ot, bo as lt, bp as Jt, bq as Xt, br as Zt, bs as er, bt as it, bu as dt, bv as tr, bw as rr, bx as ar, by as sr, bz as nr, aZ as or, bA as lr, bB as ir } from "./dashboard-0Tpj3XFq.js";
2
+ import { D as de, A as _e, u as Z, E as M, a4 as yt, Q as vt, V as xt, W as Ct, c as fe, Y as St, a5 as kt, B as q, d as Nt, L as Ze, a6 as wt, a7 as Dt, a8 as Et, a9 as pe, aa as je, ab as Re, ac as ke, ad as Ne, ae as It, af as Qe, ag as Ft, ah as Vt, ai as me, aj as Tt, ak as $e, al as et, am as tt, an as rt, O as oe, Z as at, _ as we, $ as De, a0 as Ee, a1 as Ie, a2 as Fe, ao as st, ap as _t, aq as Pe, ar as At, as as We, at as Lt, au as qt, av as Ve } from "./code-editor-C8zzmSgt.js";
3
+ import { b7 as Mt, az as Ot, b8 as ce, b9 as zt, ba as Ae, bb as Ut, bc as Bt, bd as jt, aG as j, be as Rt, bf as Qt, bg as nt, bh as $t, bi as Pt, bj as Wt, bk as Kt, bl as Ht, av as Yt, bm as Gt, bn as ot, bo as lt, bp as Jt, bq as Xt, br as Zt, bs as er, bt as it, bu as dt, bv as tr, bw as rr, bx as ar, by as sr, bz as nr, aZ as or, bA as lr, bB as ir } from "./dashboard-BNNLoBLt.js";
4
4
  import { jsx as r, jsxs as m, Fragment as ae } from "react/jsx-runtime";
5
5
  import { c as ct, X as ut, C as Ke } from "./index-xHCrHprY.js";
6
6
  import "./analyze-result-contract-CfOBEwaC.js";
@@ -1,4 +1,4 @@
1
- "use strict";const C=require("react"),s=require("./code-editor-DOh3aYEh.js"),f=require("./dashboard-CVDy3fbO.js"),e=require("react/jsx-runtime"),ee=require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const ke=require("./save-Xdc4pnys.js"),ye=require("./search-Dcud9ajy.js");/**
1
+ "use strict";const C=require("react"),s=require("./code-editor-BSENCZwR.js"),f=require("./dashboard-DxwOPUB6.js"),e=require("react/jsx-runtime"),ee=require("./index-jSrCwPQz.js");require("./analyze-result-contract-BswhsmWT.js");require("../value-format-preferences/index.cjs");const ke=require("./save-Xdc4pnys.js"),ye=require("./search-Dcud9ajy.js");/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/dashboard-CVDy3fbO.js"),e=require("../chunks/common-types-C73-Ud1-.js");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/dashboard-DxwOPUB6.js"),e=require("../chunks/common-types-C73-Ud1-.js");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as o } from "../chunks/dashboard-0Tpj3XFq.js";
1
+ import { D as o } from "../chunks/dashboard-BNNLoBLt.js";
2
2
  import { C as s, E as C } from "../chunks/common-types-ClkOI-3O.js";
3
3
  export {
4
4
  s as CONTROL_CARD_DEFAULT_VALUE,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/dashboard-CVDy3fbO.js"),w=require("../chunks/code-editor-DOh3aYEh.js"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),Q=require("../chunks/index-jSrCwPQz.js"),Cn=require("../chunks/save-Xdc4pnys.js"),tt=require("../chunks/search-Dcud9ajy.js");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Rn=Tr(p),Bn=Tr(An);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/dashboard-DxwOPUB6.js"),w=require("../chunks/code-editor-BSENCZwR.js"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),Q=require("../chunks/index-jSrCwPQz.js"),Cn=require("../chunks/save-Xdc4pnys.js"),tt=require("../chunks/search-Dcud9ajy.js");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Rn=Tr(p),Bn=Tr(An);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -2,8 +2,8 @@ import { jsx as r, jsxs as c, Fragment as re } from "react/jsx-runtime";
2
2
  import * as Zn from "react";
3
3
  import { useContext as qn, useState as x, useRef as oe, useMemo as ze, useEffect as W, useCallback as Ot } from "react";
4
4
  import * as Xn from "react-dom/client";
5
- import { aM as ea, aN as ta, aO as Ir, aP as jr, aQ as zr, aR as ra, aS as Wr, aT as Hr, aU as Jr, aV as Vr, aW as _r, aX as Ur, aY as Gr, aZ as na, a_ as aa, a$ as oa, b0 as Ht, b1 as on, R as Kr, b2 as sa, b3 as Vt, b4 as sn, b5 as ia, b6 as la } from "../chunks/dashboard-0Tpj3XFq.js";
6
- import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, L as me, R as ma, d as _t } from "../chunks/code-editor-C65eEYyU.js";
5
+ import { aM as ea, aN as ta, aO as Ir, aP as jr, aQ as zr, aR as ra, aS as Wr, aT as Hr, aU as Jr, aV as Vr, aW as _r, aX as Ur, aY as Gr, aZ as na, a_ as aa, a$ as oa, b0 as Ht, b1 as on, R as Kr, b2 as sa, b3 as Vt, b4 as sn, b5 as ia, b6 as la } from "../chunks/dashboard-BNNLoBLt.js";
6
+ import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, L as me, R as ma, d as _t } from "../chunks/code-editor-C8zzmSgt.js";
7
7
  import { loadSemaphorBrowserRuntime as ot } from "../data-app-builder-browser-runtime/index.js";
8
8
  import { c as $e, X as Je } from "../chunks/index-xHCrHprY.js";
9
9
  import { S as fa } from "../chunks/save-HCJjjzdX.js";
@@ -1,2 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../chunks/numeric-presentation-Dlb-Dk4c.js"),u=require("../chunks/csv-utils-Co0WxHke.js");function z(r,e,o,t){const s=r instanceof Date?r.toISOString():String(r),i=(t==null?void 0:t.browserTimezone)||o,n=(t==null?void 0:t.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return u.formatRelativeTime(s,(e==null?void 0:e.sourceTimezone)||"auto");const a=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return u.formatDate(s,a,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:n?i:o,(e==null?void 0:e.sourceTimezone)||"auto")}function b(r,e,o){if(r==null)return"";if(!o.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?l.formatNumberWithColumnSettings(r,e.numberFormat,o.locale):String(r);case"date":return z(r,e.dateFormat,o.timezone,{browserTimezone:o.browserTimezone,isSqlCard:o.isSqlCard});case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function h(r,e){return e.visibleColumns.map(o=>{const t=r[o],s=e.columnSettings[o];return b(t,s,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function T(r,e){const o=[];e.includeHeaders&&o.push(u.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const s=h(t,e);o.push(s.map(i=>u.escapeCSVValue(i,e.delimiter)).join(e.delimiter))}return o}function P(r,e,o=`
2
- `){return T(r,e).join(o)}function E(r,e,o){return r==null?"":o.useFormattedValues?typeof r=="number"&&(e==null?void 0:e.type)==="number"?l.formatNumberWithColumnSettings(r,e.numberFormat,o.locale):typeof r=="number"?r.toLocaleString(o.locale):String(r):String(r)}function V(r,e,o){var s,i;const t=[];if(r.isSubtotal&&!r.isGrandTotal){const n=e.groupByColumns.findIndex(a=>a.alias===r.subtotalLevel);e.groupByColumns.forEach((a,m)=>{var c,f,p,S;if(m===n){const R=(f=(c=e.rowAggregates)==null?void 0:c.find(v=>v.groupLevel===r.subtotalLevel))==null?void 0:f.label,w=(S=(p=r.subtotalContext)==null?void 0:p.groupByValues)==null?void 0:S[a.alias];t.push(R??`Subtotal (${w??"Total"})`)}else m<n?t.push(String(r[a.alias]??"")):t.push("")})}else if(r.isGrandTotal){const n=(i=(s=e.rowAggregates)==null?void 0:s.find(a=>a.groupLevel==="ALL"))==null?void 0:i.label;t.push(n||"Grand Total"),e.groupByColumns.slice(1).forEach(()=>t.push(""))}else e.groupByColumns.forEach(n=>{t.push(String(r[n.alias]??""))});return e.pivotSchema.filter(n=>n.isMetricColumn).forEach(n=>{const a=r[n.alias],m=o.columnSettings[n.alias];t.push(E(a,m,o))}),t}function C(r){const e=r.groupByColumns.map(t=>t.label||t.name),o=r.pivotSchema.filter(t=>t.isMetricColumn).map(t=>t.displayLabel||t.metricLabel||t.metricName||t.alias);return[...e,...o]}function A(r,e,o){const t=[];if(o.includeHeaders){const s=C(e);t.push(u.arrayToCSVRow(s,o.delimiter))}for(const s of r){const i=V(s,e,o);t.push(i.map(n=>u.escapeCSVValue(n,o.delimiter)).join(o.delimiter))}return t}function y(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let s=1;s<t.colspan;s++)e[t.level].push("")}t.children?y(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function d(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let s=0;s<e;s++)t[s].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(s=>s.label||s.name)),y(r.columnHeadersTree,t,e),r.showRowTotals){for(let s=0;s<e;s++)t[s].push("");t[e].push("Total")}return t}function L(r,e,o){if(r==null)return"";if(!o.useFormattedValues)return String(r);const t=o.columnSettings[e];return typeof r=="number"&&(t==null?void 0:t.type)==="number"?l.formatNumberWithColumnSettings(r,t.numberFormat,o.locale):typeof r=="number"?r.toLocaleString(o.locale):String(r)}function N(r,e,o){const t=[];r.fieldValues.forEach((i,n)=>{r.isSubtotal&&n===0?t.push(`${i} Total`):r.isSubtotal?t.push(""):t.push(String(i??""))});let s=0;return e.columnHeaders.forEach(i=>{var m;const n=(m=r.cells[i])==null?void 0:m.value,a=L(n,i,o);t.push(a),e.showRowTotals&&typeof n=="number"&&(s+=n)}),e.showRowTotals&&t.push(s.toLocaleString(o.locale)),t}function D(r,e,o){const t=[];if(o.includeHeaders){const s=d(e);for(const i of s)t.push(u.arrayToCSVRow(i,o.delimiter))}for(const s of r){const i=N(s,e,o);t.push(i.map(n=>u.escapeCSVValue(n,o.delimiter)).join(o.delimiter))}return t}exports.formatCurrency=l.formatCurrency;exports.formatNumber=l.formatNumber;exports.formatNumberCustom=l.formatNumberCustom;exports.formatNumberWithColumnSettings=l.formatNumberWithColumnSettings;exports.formatNumericCanonical=l.formatNumericCanonical;exports.formatPercent=l.formatPercent;exports.formatScientific=l.formatScientific;exports.parseNumericCanonicalFormat=l.parseNumericCanonicalFormat;exports.parseNumericPresentationExecutionSnapshot=l.parseNumericPresentationExecutionSnapshot;exports.parseNumericPresentationSnapshotEntries=l.parseNumericPresentationSnapshotEntries;exports.parseResolvedNumericCanonicalFormat=l.parseResolvedNumericCanonicalFormat;exports.resolveCurrencyFractionDigits=l.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=l.resolveNumericPresentation;exports.validateCardExportNumericPresentationSnapshot=l.validateCardExportNumericPresentationSnapshot;exports.arrayToCSV=u.arrayToCSV;exports.arrayToCSVRow=u.arrayToCSVRow;exports.escapeCSVValue=u.escapeCSVValue;exports.formatDate=u.formatDate;exports.formatDuration=u.formatDuration;exports.formatMetricComparison=u.formatMetricComparison;exports.formatRelativeTime=u.formatRelativeTime;exports.getTimezoneAbbreviation=u.getTimezoneAbbreviation;exports.getTimezoneName=u.getTimezoneName;exports.objectsToCSV=u.objectsToCSV;exports.parseWithSourceTimezone=u.parseWithSourceTimezone;exports.resolveTimezone=u.resolveTimezone;exports.formatAggregateRow=V;exports.formatAggregateTableForCSV=A;exports.formatCellValue=b;exports.formatPivotDataRow=N;exports.formatPivotTableForCSV=D;exports.formatRowForExport=h;exports.formatTableForCSV=T;exports.generateAggregateHeaders=C;exports.generatePivotHeaders=d;exports.generateTableCSV=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../chunks/numeric-presentation-Dlb-Dk4c.js"),i=require("../chunks/csv-utils-Co0WxHke.js");function P(r,e,t,o){const n=r instanceof Date?r.toISOString():String(r),l=(o==null?void 0:o.browserTimezone)||t,s=(o==null?void 0:o.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return i.formatRelativeTime(n,(e==null?void 0:e.sourceTimezone)||"auto");const u=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return i.formatDate(n,u,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:s?l:t,(e==null?void 0:e.sourceTimezone)||"auto")}function y(r,e,t){if(r==null)return"";if(!t.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?a.formatNumberWithColumnSettings(r,e.numberFormat,t.locale):String(r);case"date":return P(r,e.dateFormat,t.timezone,{browserTimezone:t.browserTimezone,isSqlCard:t.isSqlCard});case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function T(r,e){return e.visibleColumns.map(t=>{const o=r[t],n=e.columnSettings[t];return y(o,n,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function w(r,e){const t=[];e.includeHeaders&&t.push(i.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const o of r){const n=T(o,e);t.push(n.map(l=>i.escapeCSVValue(l,e.delimiter)).join(e.delimiter))}return t}function z(r,e,t=`
2
+ `){return w(r,e).join(t)}function j(r,e,t){return r==null?"":t.useFormattedValues?typeof r=="number"&&(e==null?void 0:e.type)==="number"?a.formatNumberWithColumnSettings(r,e.numberFormat,t.locale):typeof r=="number"?r.toLocaleString(t.locale):String(r):String(r)}function C(r,e,t){var n,l;const o=[];if(r.isSubtotal&&!r.isGrandTotal){const s=e.groupByColumns.findIndex(u=>u.alias===r.subtotalLevel);e.groupByColumns.forEach((u,m)=>{var c,f,p,h;if(m===s){const v=(f=(c=e.rowAggregates)==null?void 0:c.find($=>$.groupLevel===r.subtotalLevel))==null?void 0:f.label,R=(h=(p=r.subtotalContext)==null?void 0:p.groupByValues)==null?void 0:h[u.alias];o.push(v??`Subtotal (${R??"Total"})`)}else m<s?o.push(String(r[u.alias]??"")):o.push("")})}else if(r.isGrandTotal){const s=(l=(n=e.rowAggregates)==null?void 0:n.find(u=>u.groupLevel==="ALL"))==null?void 0:l.label;o.push(s||"Grand Total"),e.groupByColumns.slice(1).forEach(()=>o.push(""))}else e.groupByColumns.forEach(s=>{o.push(String(r[s.alias]??""))});return e.pivotSchema.filter(s=>s.isMetricColumn).forEach(s=>{const u=r[s.alias],m=t.columnSettings[s.alias];o.push(j(u,m,t))}),o}function V(r){const e=r.groupByColumns.map(o=>o.label||o.name),t=r.pivotSchema.filter(o=>o.isMetricColumn).map(o=>o.displayLabel||o.metricLabel||o.metricName||o.alias);return[...e,...t]}function A(r,e,t){const o=[];if(t.includeHeaders){const n=V(e);o.push(i.arrayToCSVRow(n,t.delimiter))}for(const n of r){const l=C(n,e,t);o.push(l.map(s=>i.escapeCSVValue(s,t.delimiter)).join(t.delimiter))}return o}function E(r,e,t){for(const o of r){if(o.level<t){e[o.level].push(o.name);for(let n=1;n<o.colspan;n++)e[o.level].push("")}o.children?E(o.children,e,t):o.columnKey&&e[t].push(o.name)}}function d(r){const e=r.pivotByColumns.length,t=r.groupByColumns.length,o=Array.from({length:e+1},()=>[]);for(let n=0;n<e;n++)o[n].push(...Array(t).fill(""));if(o[e].push(...r.groupByColumns.map(n=>n.label||n.name)),E(r.columnHeadersTree,o,e),r.showRowTotals){for(let n=0;n<e;n++)o[n].push("");o[e].push("Total")}return o}function B(r,e,t){if(r==null)return"";if(!t.useFormattedValues)return String(r);const o=t.columnSettings[e];return typeof r=="number"&&(o==null?void 0:o.type)==="number"?a.formatNumberWithColumnSettings(r,o.numberFormat,t.locale):typeof r=="number"?r.toLocaleString(t.locale):String(r)}function N(r,e,t){const o=[];r.fieldValues.forEach((l,s)=>{r.isSubtotal&&s===0?o.push(`${l} Total`):r.isSubtotal?o.push(""):o.push(String(l??""))});let n=0;return e.columnHeaders.forEach(l=>{var m;const s=(m=r.cells[l])==null?void 0:m.value,u=B(s,l,t);o.push(u),e.showRowTotals&&typeof s=="number"&&(n+=s)}),e.showRowTotals&&o.push(n.toLocaleString(t.locale)),o}function I(r,e,t){const o=[];if(t.includeHeaders){const n=d(e);for(const l of n)o.push(i.arrayToCSVRow(l,t.delimiter))}for(const n of r){const l=N(n,e,t);o.push(l.map(s=>i.escapeCSVValue(s,t.delimiter)).join(t.delimiter))}return o}function b(r){if(r===null||typeof r!="object"||Array.isArray(r))return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function S(r,e,t){const o=new Set(e),n=Object.keys(r).find(l=>!o.has(l));if(n)throw new Error(`${t} contains unknown property "${n}"`)}function x(r,e="tableTotalsRequest"){if(!b(r))throw new Error(`${e} must be an object`);if(S(r,["source","columns"],e),r.source!=="documentFlatTable")throw new Error(`${e}.source must be documentFlatTable`);if(!Array.isArray(r.columns)||r.columns.length===0)throw new Error(`${e}.columns must be a non-empty array`);const t=new Set;let o=0;const n=r.columns.map((l,s)=>{const u=`${e}.columns.${s}`;if(!b(l))throw new Error(`${u} must be an object`);S(l,["fieldId","role","behavior","label"],u);const m=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!m)throw new Error(`${u}.fieldId must be a non-empty string`);if(t.has(m))throw new Error(`${e}.columns duplicates fieldId "${m}"`);if(t.add(m),l.role!=="detail"&&l.role!=="groupby"&&l.role!=="metric")throw new Error(`${u}.role is invalid`);const c=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const f=l.behavior;if(f==="label"){if(o+=1,c==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(c!=="metric")throw new Error(`${u}.${f} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:m,role:c,behavior:f,...l.label!==void 0?{label:l.label}:{}}});if(o>1)throw new Error(`${e}.columns may contain at most one label`);return{source:"documentFlatTable",columns:n}}function L(r,e="tableTotalsByColumnId"){if(!b(r))throw new Error(`${e} must be an object`);const t={};for(const[o,n]of Object.entries(r)){if(!o.trim())throw new Error(`${e} contains an empty column id`);if(n!==null&&typeof n!="string"&&(typeof n!="number"||!Number.isFinite(n)))throw new Error(`${e}.${o} must be a string, finite number, or null`);t[o]=n}if(Object.keys(t).length===0)throw new Error(`${e} must not be empty`);return t}function D(r){if(typeof r=="number")return Number.isFinite(r)?r:null;if(!r.trim())return null;const e=Number(r);return Number.isFinite(e)?e:null}function q(r){const e=new Map(r.resolvedNumericFormats.flatMap(o=>o.target.kind==="column"?[[o.target.columnKey,o.format]]:[])),t=r.visibleColumns.map(o=>{const l=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(l===null)return"";if(!r.useFormattedValues)return String(l);const s=e.get(o),u=s?D(l):null;return s&&u!==null?a.formatNumericCanonical(u,s):String(l)});return`${i.arrayToCSVRow(t,r.delimiter)}
3
+ `}exports.formatCurrency=a.formatCurrency;exports.formatNumber=a.formatNumber;exports.formatNumberCustom=a.formatNumberCustom;exports.formatNumberWithColumnSettings=a.formatNumberWithColumnSettings;exports.formatNumericCanonical=a.formatNumericCanonical;exports.formatPercent=a.formatPercent;exports.formatScientific=a.formatScientific;exports.parseNumericCanonicalFormat=a.parseNumericCanonicalFormat;exports.parseNumericPresentationExecutionSnapshot=a.parseNumericPresentationExecutionSnapshot;exports.parseNumericPresentationSnapshotEntries=a.parseNumericPresentationSnapshotEntries;exports.parseResolvedNumericCanonicalFormat=a.parseResolvedNumericCanonicalFormat;exports.resolveCurrencyFractionDigits=a.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=a.resolveNumericPresentation;exports.validateCardExportNumericPresentationSnapshot=a.validateCardExportNumericPresentationSnapshot;exports.arrayToCSV=i.arrayToCSV;exports.arrayToCSVRow=i.arrayToCSVRow;exports.escapeCSVValue=i.escapeCSVValue;exports.formatDate=i.formatDate;exports.formatDuration=i.formatDuration;exports.formatMetricComparison=i.formatMetricComparison;exports.formatRelativeTime=i.formatRelativeTime;exports.getTimezoneAbbreviation=i.getTimezoneAbbreviation;exports.getTimezoneName=i.getTimezoneName;exports.objectsToCSV=i.objectsToCSV;exports.parseWithSourceTimezone=i.parseWithSourceTimezone;exports.resolveTimezone=i.resolveTimezone;exports.buildFlatTableExportTotalsFooter=q;exports.formatAggregateRow=C;exports.formatAggregateTableForCSV=A;exports.formatCellValue=y;exports.formatPivotDataRow=N;exports.formatPivotTableForCSV=I;exports.formatRowForExport=T;exports.formatTableForCSV=w;exports.generateAggregateHeaders=V;exports.generatePivotHeaders=d;exports.generateTableCSV=z;exports.parseFlatTableExportTotalsByColumnId=L;exports.parseFlatTableExportTotalsRequest=x;