react-semaphor 0.1.483 → 0.1.485
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{dashboard-briefing-launcher-SjUYBRde.cjs → dashboard-briefing-launcher-6ONld9U4.cjs} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-CCo-tyt1.js → dashboard-briefing-launcher-a1airxaP.js} +3 -3
- package/dist/chunks/{dashboard-controls-D0rRra6q.js → dashboard-controls-DD2VIzYk.js} +230 -226
- package/dist/chunks/dashboard-controls-DNfMo0Zi.cjs +52 -0
- package/dist/chunks/{dashboard-json-CkBPnsxB.cjs → dashboard-json-ADHgHJ__.cjs} +1 -1
- package/dist/chunks/{dashboard-json-B2gej33z.js → dashboard-json-BEXkWUBR.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-CiuJ6CVM.cjs → edit-dashboard-visual-CDv08dmD.cjs} +1 -1
- package/dist/chunks/{edit-dashboard-visual-Dqde1zgg.js → edit-dashboard-visual-yqmnJZUE.js} +2 -2
- package/dist/chunks/{editor-action-buttons-Cwu9P_LX.js → editor-action-buttons-C4N6PORV.js} +1 -1
- package/dist/chunks/{editor-action-buttons-5t5tU5r3.cjs → editor-action-buttons-DcxOjhP_.cjs} +1 -1
- package/dist/chunks/{index-I4TbmEn2.cjs → index-BOLKq4Ak.cjs} +190 -190
- package/dist/chunks/{index-CIMKtcRh.js → index-Pi9v2gBd.js} +14890 -14887
- package/dist/chunks/{pivot-header-presentation-tpb_J900.js → pivot-header-presentation-BX7M7Ii4.js} +54 -53
- package/dist/chunks/{pivot-header-presentation-8Ra1RfHg.cjs → pivot-header-presentation-CTN5E7sJ.cjs} +4 -4
- package/dist/chunks/{report-preferences-dialog-DHOl809j.js → report-preferences-dialog--aKplC1_.js} +1 -1
- package/dist/chunks/{report-preferences-dialog-CFr6WG6r.cjs → report-preferences-dialog-BEWligXl.cjs} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +1 -1
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +77 -76
- package/dist/index.cjs +1 -1
- package/dist/index.js +4 -4
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/format-utils.d.ts +2 -0
- package/package.json +1 -1
- package/dist/chunks/dashboard-controls-DfbxzqR2.cjs +0 -52
package/dist/chunks/{pivot-header-presentation-tpb_J900.js → pivot-header-presentation-BX7M7Ii4.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var
|
|
2
|
-
var F = (e, t, n) => t in e ?
|
|
1
|
+
var $ = Object.defineProperty;
|
|
2
|
+
var F = (e, t, n) => t in e ? $(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
3
|
var A = (e, t, n) => F(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
|
-
import { i as
|
|
4
|
+
import { i as O, t as f, c as U, g as P, e as k, a as T, m as S, b as M, f as Z, d as G } from "./index-BS0_dp0l.js";
|
|
5
5
|
import { b as y } from "./pivot-result-lifecycle-mjJ1rBvV.js";
|
|
6
|
-
import { f as
|
|
7
|
-
import { h as
|
|
6
|
+
import { f as X } from "./index-CACdoqu3.js";
|
|
7
|
+
import { h as B } from "./metric-comparison-CTexJ8V1.js";
|
|
8
8
|
const I = [
|
|
9
9
|
"day",
|
|
10
10
|
"hour",
|
|
@@ -33,18 +33,18 @@ const I = [
|
|
|
33
33
|
function Y(e) {
|
|
34
34
|
return e === "day" || e === "hour" || e === "minute" || e === "second" || e === "millisecond";
|
|
35
35
|
}
|
|
36
|
-
function
|
|
36
|
+
function N(e, t) {
|
|
37
37
|
return Y(e) ? e : t;
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
return I.indexOf(
|
|
39
|
+
function _(e, t) {
|
|
40
|
+
return I.indexOf(N(e, t));
|
|
41
41
|
}
|
|
42
42
|
function K(e, t) {
|
|
43
|
-
const n =
|
|
43
|
+
const n = _(e, "day"), o = _(t, "second"), r = Math.min(n, o), s = Math.max(n, o);
|
|
44
44
|
return I.slice(r, s + 1);
|
|
45
45
|
}
|
|
46
46
|
function W(e, t) {
|
|
47
|
-
return e * L[
|
|
47
|
+
return e * L[N(t, "second")];
|
|
48
48
|
}
|
|
49
49
|
function q(e, t) {
|
|
50
50
|
const n = K(t.largestUnit, t.smallestUnit), o = n[n.length - 1], r = L[o];
|
|
@@ -101,7 +101,7 @@ function ne(e, t, n) {
|
|
|
101
101
|
})}${s ?? ""}`;
|
|
102
102
|
}
|
|
103
103
|
function x(e, t, n) {
|
|
104
|
-
return e === null ? { value: e, text: null } : !t || !
|
|
104
|
+
return e === null ? { value: e, text: null } : !t || !O(t) && t.type !== "duration" ? {
|
|
105
105
|
value: e,
|
|
106
106
|
text: y(e, { type: "number", locale: n })
|
|
107
107
|
} : t.type === "duration" ? {
|
|
@@ -118,7 +118,7 @@ function x(e, t, n) {
|
|
|
118
118
|
})
|
|
119
119
|
} : { value: e, text: ne(e, t, n) };
|
|
120
120
|
}
|
|
121
|
-
function
|
|
121
|
+
function v(e, t, n, o) {
|
|
122
122
|
return e === null ? { value: e, text: null } : o === "percent" ? {
|
|
123
123
|
value: e,
|
|
124
124
|
text: y(e, {
|
|
@@ -145,7 +145,7 @@ function C(e, t) {
|
|
|
145
145
|
throw new RangeError("Comparison precision must be an integer from 0 to 6.");
|
|
146
146
|
return e;
|
|
147
147
|
}
|
|
148
|
-
function
|
|
148
|
+
function ve(e, t) {
|
|
149
149
|
const n = {
|
|
150
150
|
mode: t.displayMode,
|
|
151
151
|
current: x(
|
|
@@ -163,12 +163,12 @@ function _e(e, t) {
|
|
|
163
163
|
e.delta,
|
|
164
164
|
t.metricFormat,
|
|
165
165
|
t.locale
|
|
166
|
-
)), (t.displayMode === "percent_change" || t.displayMode === "both") && (n.percentChange =
|
|
166
|
+
)), (t.displayMode === "percent_change" || t.displayMode === "both") && (n.percentChange = v(
|
|
167
167
|
e.percentChange,
|
|
168
168
|
C(t.precision, 1),
|
|
169
169
|
t.locale,
|
|
170
170
|
"percent"
|
|
171
|
-
)), t.displayMode === "ratio" && (n.ratio =
|
|
171
|
+
)), t.displayMode === "ratio" && (n.ratio = v(
|
|
172
172
|
e.ratio,
|
|
173
173
|
C(t.precision, 2),
|
|
174
174
|
t.locale,
|
|
@@ -180,7 +180,7 @@ function w(e, t) {
|
|
|
180
180
|
return r < 0 ? -1 : r > 0 ? 1 : r;
|
|
181
181
|
}
|
|
182
182
|
function re(e) {
|
|
183
|
-
return
|
|
183
|
+
return U(e, Date.now());
|
|
184
184
|
}
|
|
185
185
|
function oe(e, t) {
|
|
186
186
|
const n = f(e), o = f(t), r = n.getFullYear() - o.getFullYear(), s = n.getMonth() - o.getMonth();
|
|
@@ -280,7 +280,7 @@ function Ie(e, t = /* @__PURE__ */ new Date()) {
|
|
|
280
280
|
return e;
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
function
|
|
283
|
+
function Ne(e) {
|
|
284
284
|
try {
|
|
285
285
|
const t = {
|
|
286
286
|
timeZone: e,
|
|
@@ -293,7 +293,7 @@ function Ve(e) {
|
|
|
293
293
|
return e;
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
function
|
|
296
|
+
function V(e, t = "auto") {
|
|
297
297
|
if (!e)
|
|
298
298
|
return /* @__PURE__ */ new Date(NaN);
|
|
299
299
|
const n = e.endsWith("Z"), o = /[+-]\d{2}:?\d{2}$/.test(e), r = /\([A-Z]{3,4}\)$/.test(e);
|
|
@@ -305,25 +305,25 @@ function N(e, t = "auto") {
|
|
|
305
305
|
return new Date(s);
|
|
306
306
|
}
|
|
307
307
|
return new Date(e);
|
|
308
|
-
} else return t === "UTC" ? n ? new Date(e) : o ? new Date(e) : /* @__PURE__ */ new Date(e + "Z") : n || o || r ? new Date(e) :
|
|
308
|
+
} else return t === "UTC" ? n ? new Date(e) : o ? new Date(e) : /* @__PURE__ */ new Date(e + "Z") : n || o || r ? new Date(e) : X(e, t);
|
|
309
309
|
}
|
|
310
|
-
const de = "MM/dd/yyyy",
|
|
310
|
+
const de = "MM/dd/yyyy", Ve = (e, t, n, o = "auto") => {
|
|
311
311
|
if (!e)
|
|
312
312
|
return "";
|
|
313
313
|
try {
|
|
314
|
-
const r =
|
|
314
|
+
const r = V(e, o);
|
|
315
315
|
if (isNaN(r.getTime()))
|
|
316
316
|
return e;
|
|
317
317
|
const i = (t && t.trim() ? t : de).replace(/LLLL/g, "MMMM").replace(/LLL/g, "MMM");
|
|
318
|
-
return n && n !== "auto" ? Z(r, n, i) :
|
|
318
|
+
return n && n !== "auto" ? Z(r, n, i) : G(r, i);
|
|
319
319
|
} catch (r) {
|
|
320
320
|
return console.error("Date formatting error:", r), e;
|
|
321
321
|
}
|
|
322
|
-
},
|
|
322
|
+
}, Ee = (e, t = "auto") => {
|
|
323
323
|
if (!e)
|
|
324
324
|
return "";
|
|
325
325
|
try {
|
|
326
|
-
const n =
|
|
326
|
+
const n = V(e, t);
|
|
327
327
|
return isNaN(n.getTime()) ? e : ge(n, { addSuffix: !0 });
|
|
328
328
|
} catch (n) {
|
|
329
329
|
return console.error("Relative time formatting error:", n), e;
|
|
@@ -344,7 +344,7 @@ function Me(e, t = {}) {
|
|
|
344
344
|
` } = t;
|
|
345
345
|
return e.map((r) => ye(r, n)).join(o);
|
|
346
346
|
}
|
|
347
|
-
function
|
|
347
|
+
function Re(e, t = {}) {
|
|
348
348
|
if (e.length === 0)
|
|
349
349
|
return "";
|
|
350
350
|
const {
|
|
@@ -364,11 +364,11 @@ function Ee(e, t = {}) {
|
|
|
364
364
|
}
|
|
365
365
|
return Me(a, { delimiter: n, lineEnding: o });
|
|
366
366
|
}
|
|
367
|
-
const we = 1e4,
|
|
367
|
+
const we = 1e4, $e = 1e6;
|
|
368
368
|
function Fe(e) {
|
|
369
369
|
return e > we;
|
|
370
370
|
}
|
|
371
|
-
const be = "__TOTAL__";
|
|
371
|
+
const be = "__TOTAL__", Oe = "pdf-group-continuation";
|
|
372
372
|
function b(e) {
|
|
373
373
|
return typeof e == "object" && e !== null && !Array.isArray(e);
|
|
374
374
|
}
|
|
@@ -395,13 +395,13 @@ function Ue(e) {
|
|
|
395
395
|
]);
|
|
396
396
|
return { groupColumnKeys: n, rowAggregates: o };
|
|
397
397
|
}
|
|
398
|
-
function
|
|
398
|
+
function E(e) {
|
|
399
399
|
return e === "SUM" ? "Total" : e.charAt(0).toUpperCase() + e.slice(1).toLowerCase();
|
|
400
400
|
}
|
|
401
401
|
function De(e) {
|
|
402
402
|
var n;
|
|
403
403
|
if (e.customLabel) return e.customLabel;
|
|
404
|
-
const t =
|
|
404
|
+
const t = E(e.aggregateFunction);
|
|
405
405
|
if (e.levelValue !== void 0 && !p(e.levelValue)) {
|
|
406
406
|
if (e.levelValue === null) {
|
|
407
407
|
const r = (n = e.formatValue) == null ? void 0 : n.call(e, null);
|
|
@@ -413,9 +413,9 @@ function De(e) {
|
|
|
413
413
|
return `Subtotal ${t}`;
|
|
414
414
|
}
|
|
415
415
|
function xe(e, t) {
|
|
416
|
-
return t || `Grand ${
|
|
416
|
+
return t || `Grand ${E(e)}`;
|
|
417
417
|
}
|
|
418
|
-
function
|
|
418
|
+
function Pe(e) {
|
|
419
419
|
const t = e.context.groupColumnKeys.indexOf(e.columnKey);
|
|
420
420
|
if (t < 0)
|
|
421
421
|
throw new Error(
|
|
@@ -430,7 +430,7 @@ function Oe(e) {
|
|
|
430
430
|
}
|
|
431
431
|
return !1;
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function R(e) {
|
|
434
434
|
var o, r;
|
|
435
435
|
const t = e.context.groupColumnKeys, n = typeof e.row.aggregate == "string" ? e.row.aggregate : "SUM";
|
|
436
436
|
if (e.row.isGrandTotal === !0) {
|
|
@@ -504,16 +504,16 @@ function E(e) {
|
|
|
504
504
|
})
|
|
505
505
|
};
|
|
506
506
|
}
|
|
507
|
-
function
|
|
508
|
-
const t =
|
|
507
|
+
function ke(e) {
|
|
508
|
+
const t = R(e).cells.find(
|
|
509
509
|
(n) => n.columnKey === e.columnKey
|
|
510
510
|
);
|
|
511
511
|
if (!t)
|
|
512
512
|
throw new Error(`Aggregate group column "${e.columnKey}" is unknown`);
|
|
513
513
|
return t.text;
|
|
514
514
|
}
|
|
515
|
-
function
|
|
516
|
-
return
|
|
515
|
+
function Ze(e) {
|
|
516
|
+
return R(e).cells.map((t) => t.text);
|
|
517
517
|
}
|
|
518
518
|
class Le extends Error {
|
|
519
519
|
constructor(n, o) {
|
|
@@ -522,7 +522,7 @@ class Le extends Error {
|
|
|
522
522
|
this.code = n, this.name = "PivotHeaderPresentationError";
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
|
-
function
|
|
525
|
+
function Ge(e) {
|
|
526
526
|
var r;
|
|
527
527
|
const t = e.mode ?? "formatted", n = e.members.map((s) => {
|
|
528
528
|
var a;
|
|
@@ -534,7 +534,7 @@ function Ze(e) {
|
|
|
534
534
|
"missing_resolved_temporal_format",
|
|
535
535
|
`Missing resolved temporal presentation for pivot field "${s.fieldId}"`
|
|
536
536
|
);
|
|
537
|
-
return
|
|
537
|
+
return B({
|
|
538
538
|
value: s.value,
|
|
539
539
|
metadata: s.temporalBucket,
|
|
540
540
|
format: i
|
|
@@ -552,29 +552,30 @@ function Ze(e) {
|
|
|
552
552
|
export {
|
|
553
553
|
be as A,
|
|
554
554
|
we as D,
|
|
555
|
-
|
|
555
|
+
$e as F,
|
|
556
556
|
Le as P,
|
|
557
|
-
|
|
557
|
+
Ve as a,
|
|
558
558
|
ye as b,
|
|
559
559
|
te as c,
|
|
560
|
-
|
|
560
|
+
ve as d,
|
|
561
561
|
he as e,
|
|
562
|
-
|
|
562
|
+
Ee as f,
|
|
563
563
|
Ie as g,
|
|
564
|
-
|
|
564
|
+
Ne as h,
|
|
565
565
|
Me as i,
|
|
566
566
|
Fe as j,
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
567
|
+
Oe as k,
|
|
568
|
+
p as l,
|
|
569
|
+
Ue as m,
|
|
570
|
+
De as n,
|
|
571
|
+
Re as o,
|
|
572
|
+
V as p,
|
|
573
|
+
xe as q,
|
|
574
574
|
Ce as r,
|
|
575
|
-
|
|
576
|
-
|
|
575
|
+
Pe as s,
|
|
576
|
+
R as t,
|
|
577
577
|
ke as u,
|
|
578
578
|
Ze as v,
|
|
579
|
-
|
|
579
|
+
Ge as w,
|
|
580
|
+
ge as x
|
|
580
581
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var X=Object.defineProperty;var Z=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var
|
|
2
|
-
`)||n.includes("\r")?`"${n.replace(/"/g,'""')}"`:n}function
|
|
3
|
-
`}=t;return e.map(r=>
|
|
4
|
-
`,includeHeaders:r=!0,columns:a}=t,i=a||Object.keys(e[0]),s=[];r&&s.push(i);for(const l of e){const u=i.map(g=>{const m=l[g];return m==null?"":String(m)});s.push(u)}return
|
|
1
|
+
"use strict";var X=Object.defineProperty;var Z=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var x=(e,t,n)=>Z(e,typeof t!="symbol"?t+"":t,n);const c=require("./index-ByQgqT9d.cjs"),M=require("./pivot-result-lifecycle-D_bRCqaB.cjs"),B=require("./index-F25jnH0p.cjs"),j=require("./metric-comparison-x0lipytf.cjs"),R=["day","hour","minute","second","millisecond"],A={day:864e5,hour:36e5,minute:6e4,second:1e3,millisecond:1},H={day:"d",hour:"hr",minute:"min",second:"s",millisecond:"ms"},Y={day:["day","days"],hour:["hour","hours"],minute:["minute","minutes"],second:["second","seconds"],millisecond:["millisecond","milliseconds"]};function K(e){return e==="day"||e==="hour"||e==="minute"||e==="second"||e==="millisecond"}function E(e,t){return K(e)?e:t}function S(e,t){return R.indexOf(E(e,t))}function W(e,t){const n=S(e,"day"),o=S(t,"second"),r=Math.min(n,o),a=Math.max(n,o);return R.slice(r,a+1)}function q(e,t){return e*A[E(t,"second")]}function J(e,t){const n=W(t.largestUnit,t.smallestUnit),o=n[n.length-1],r=A[o];let a=Math.round(e/r)*r;return n.map(i=>{const s=A[i],l=Math.floor(a/s);return a-=l*s,{unit:i,value:l}})}function Q(e,t){const n=e.filter(a=>a.value!==0),o=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):o.length;return o.slice(0,r).map(a=>`${a.value}${H[a.unit]}`).join(" ")}function z(e,t){const n=e.filter(a=>a.value!==0),o=n.length>0?n:[e[e.length-1]],r=typeof t=="number"&&Number.isFinite(t)?Math.max(1,Math.trunc(t)):o.length;return o.slice(0,r).map(a=>{const[i,s]=Y[a.unit];return`${a.value} ${a.value===1?i:s}`}).join(" ")}function ee(e){const t=e.some(l=>l.unit==="day"&&l.value!==0),n=e.some(l=>l.unit==="millisecond"),o=e.findIndex(l=>l.value!==0),r=Math.max(0,e.length-2),a=t?0:o===-1?r:Math.min(o,r),i=o===-1?e.slice(r):e.slice(a);if(i.length===0)return"0";const s=i.map((l,u)=>l.unit==="millisecond"?String(l.value).padStart(3,"0"):u===0?String(l.value):String(l.value).padStart(2,"0")).join(":");return n?s.replace(/:(\d{3})$/,".$1"):s}function te(e,t,n){const o=`${n.prefix||""}${e}${n.suffix||""}`;return t?n.negativeInParentheses?`(${o})`:`-${o}`:o}function v(e,t={}){if(e==null)return"";const n=typeof e=="number"?e:typeof e=="string"&&e.trim()?Number(e):NaN;if(!Number.isFinite(n))return"";const o=t.inputUnit||"second",r=t.outputStyle==="digital"||t.outputStyle==="long"?t.outputStyle:"compact",a=n<0,i=Math.abs(q(n,o)),s=J(i,t),l=r==="digital"?ee(s):r==="long"?z(s,t.maxUnits):Q(s,t.maxUnits);return te(l,a,t)}function ne(e,t,n){const o={...t,locale:t.locale??n};if(o.type==="number")return M.formatNumericCanonical(e,o);const{prefix:r,suffix:a,...i}=o;return`${r??""}${M.formatNumericCanonical(e,{...i,negativeStyle:o.type==="currency"?o.negativeStyle:"minus"})}${a??""}`}function T(e,t,n){return e===null?{value:e,text:null}:!t||!c.isNumericCanonicalFormat(t)&&t.type!=="duration"?{value:e,text:M.formatNumericCanonical(e,{type:"number",locale:n})}:t.type==="duration"?{value:e,text:v(e,{inputUnit:t.inputUnit,outputStyle:t.outputStyle,largestUnit:t.largestUnit,smallestUnit:t.smallestUnit,maxUnits:t.maxUnits,prefix:t.prefix,suffix:t.suffix,negativeInParentheses:t.negativeStyle==="parentheses"})}:{value:e,text:ne(e,t,n)}}function C(e,t,n,o){return e===null?{value:e,text:null}:o==="percent"?{value:e,text:M.formatNumericCanonical(e,{type:"percent",locale:n,minimumFractionDigits:t,maximumFractionDigits:t,percentValueMode:"fraction"})}:{value:e,text:M.formatNumericCanonical(e,{type:"number",locale:n,minimumFractionDigits:t,maximumFractionDigits:t,suffix:"×"})}}function _(e,t){if(e===void 0)return t;if(!Number.isInteger(e)||e<0||e>6)throw new RangeError("Comparison precision must be an integer from 0 to 6.");return e}function re(e,t){const n={mode:t.displayMode,current:T(e.currentValue,t.metricFormat,t.locale),comparison:T(e.comparisonValue,t.metricFormat,t.locale)};return(t.displayMode==="difference"||t.displayMode==="both")&&(n.difference=T(e.delta,t.metricFormat,t.locale)),(t.displayMode==="percent_change"||t.displayMode==="both")&&(n.percentChange=C(e.percentChange,_(t.precision,1),t.locale,"percent")),t.displayMode==="ratio"&&(n.ratio=C(e.ratio,_(t.precision,2),t.locale,"ratio")),n}function y(e,t){const n=c.toDate(e),o=c.toDate(t),r=n.getTime()-o.getTime();return r<0?-1:r>0?1:r}function oe(e){return c.constructFrom(e,Date.now())}function ae(e,t){const n=c.toDate(e),o=c.toDate(t),r=n.getFullYear()-o.getFullYear(),a=n.getMonth()-o.getMonth();return r*12+a}function se(e){return t=>{const o=(e?Math[e]:Math.trunc)(t);return o===0?0:o}}function ie(e,t){return+c.toDate(e)-+c.toDate(t)}function le(e){const t=c.toDate(e);return t.setHours(23,59,59,999),t}function ce(e){const t=c.toDate(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function ue(e){const t=c.toDate(e);return+le(t)==+ce(t)}function fe(e,t){const n=c.toDate(e),o=c.toDate(t),r=y(n,o),a=Math.abs(ae(n,o));let i;if(a<1)i=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-r*a);let s=y(n,o)===-r;ue(c.toDate(e))&&a===1&&y(e,o)===1&&(s=!1),i=r*(a-Number(s))}return i===0?0:i}function me(e,t,n){const o=ie(e,t)/1e3;return se(n==null?void 0:n.roundingMethod)(o)}function ge(e,t,n){const o=c.getDefaultOptions(),r=(n==null?void 0:n.locale)??o.locale??c.enUS,a=2520,i=y(e,t);if(isNaN(i))throw new RangeError("Invalid time value");const s=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:i});let l,u;i>0?(l=c.toDate(t),u=c.toDate(e)):(l=c.toDate(e),u=c.toDate(t));const g=me(u,l),m=(c.getTimezoneOffsetInMilliseconds(u)-c.getTimezoneOffsetInMilliseconds(l))/1e3,f=Math.round((g-m)/60);let h;if(f<2)return n!=null&&n.includeSeconds?g<5?r.formatDistance("lessThanXSeconds",5,s):g<10?r.formatDistance("lessThanXSeconds",10,s):g<20?r.formatDistance("lessThanXSeconds",20,s):g<40?r.formatDistance("halfAMinute",0,s):g<60?r.formatDistance("lessThanXMinutes",1,s):r.formatDistance("xMinutes",1,s):f===0?r.formatDistance("lessThanXMinutes",1,s):r.formatDistance("xMinutes",f,s);if(f<45)return r.formatDistance("xMinutes",f,s);if(f<90)return r.formatDistance("aboutXHours",1,s);if(f<c.minutesInDay){const d=Math.round(f/60);return r.formatDistance("aboutXHours",d,s)}else{if(f<a)return r.formatDistance("xDays",1,s);if(f<c.minutesInMonth){const d=Math.round(f/c.minutesInDay);return r.formatDistance("xDays",d,s)}else if(f<c.minutesInMonth*2)return h=Math.round(f/c.minutesInMonth),r.formatDistance("aboutXMonths",h,s)}if(h=fe(u,l),h<12){const d=Math.round(f/c.minutesInMonth);return r.formatDistance("xMonths",d,s)}else{const d=h%12,w=Math.trunc(h/12);return d<3?r.formatDistance("aboutXYears",w,s):d<9?r.formatDistance("overXYears",w,s):r.formatDistance("almostXYears",w+1,s)}}function N(e,t){return ge(e,oe(e),t)}function de(e,t){return e&&e!=="auto"?e:t}function he(e,t=new Date){try{const n={timeZone:e,timeZoneName:"short"},r=new Intl.DateTimeFormat("en-US",n).formatToParts(t).find(a=>a.type==="timeZoneName");return(r==null?void 0:r.value)||e}catch{return e}}function Me(e){try{const t={timeZone:e,timeZoneName:"long"},o=new Intl.DateTimeFormat("en-US",t).formatToParts(new Date).find(r=>r.type==="timeZoneName");return(o==null?void 0:o.value)||e}catch{return e}}function L(e,t="auto"){if(!e)return new Date(NaN);const n=e.endsWith("Z"),o=/[+-]\d{2}:?\d{2}$/.test(e),r=/\([A-Z]{3,4}\)$/.test(e);if(t==="auto")return n||o||r?new Date(e):new Date(e+"Z");if(t==="local"){if(n||o){const a=e.replace(/Z$/,"").replace(/[+-]\d{2}:?\d{2}$/,"");return new Date(a)}return new Date(e)}else return t==="UTC"?n?new Date(e):o?new Date(e):new Date(e+"Z"):n||o||r?new Date(e):B.fromZonedTime(e,t)}const ye="MM/dd/yyyy",De=(e,t,n,o="auto")=>{if(!e)return"";try{const r=L(e,o);if(isNaN(r.getTime()))return e;const i=(t&&t.trim()?t:ye).replace(/LLLL/g,"MMMM").replace(/LLL/g,"MMM");return n&&n!=="auto"?c.formatInTimeZone(r,n,i):c.format(r,i)}catch(r){return console.error("Date formatting error:",r),e}},be=(e,t="auto")=>{if(!e)return"";try{const n=L(e,t);return isNaN(n.getTime())?e:N(n,{addSuffix:!0})}catch(n){return console.error("Relative time formatting error:",n),e}};function I(e,t=","){if(e==null)return"";const n=String(e);return n.includes(t)||n.includes('"')||n.includes(`
|
|
2
|
+
`)||n.includes("\r")?`"${n.replace(/"/g,'""')}"`:n}function V(e,t=","){return e.map(n=>I(n,t)).join(t)}function O(e,t={}){const{delimiter:n=",",lineEnding:o=`
|
|
3
|
+
`}=t;return e.map(r=>V(r,n)).join(o)}function we(e,t={}){if(e.length===0)return"";const{delimiter:n=",",lineEnding:o=`
|
|
4
|
+
`,includeHeaders:r=!0,columns:a}=t,i=a||Object.keys(e[0]),s=[];r&&s.push(i);for(const l of e){const u=i.map(g=>{const m=l[g];return m==null?"":String(m)});s.push(u)}return O(s,{delimiter:n,lineEnding:o})}const P=1e4,Te=1e6;function Ae(e){return e>P}const $="__TOTAL__",Le="pdf-group-continuation";function D(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function b(e){return e===$}function pe(e){const t=new Map,n=(e.groupByColumns??[]).map((r,a)=>{var u,g,m;if(!D(r))throw new Error(`Aggregate groupByColumns[${a}] is invalid`);const i=typeof r.id=="string"&&r.id.length>0?r.id:void 0,s=i?(m=(g=(u=e.columnKeyMap)==null?void 0:u.byRole)==null?void 0:g.groupby)==null?void 0:m[i]:void 0,l=(s==null?void 0:s.outputKey)||(s==null?void 0:s.rawKey)||(typeof r.alias=="string"&&r.alias.length>0?r.alias:typeof r.name=="string"&&r.name.length>0?r.name:void 0);if(!l)throw new Error(`Aggregate groupByColumns[${a}] has no output key`);return[i,r.alias,r.name,l].forEach(f=>{typeof f=="string"&&f.length>0&&t.set(f,l)}),l}),o=(e.rowAggregates??[]).flatMap(r=>!D(r)||typeof r.function!="string"||typeof r.groupLevel!="string"?[]:[{function:r.function,groupLevel:r.groupLevel==="ALL"?"ALL":t.get(r.groupLevel)||r.groupLevel,...typeof r.label=="string"?{label:r.label}:{}}]);return{groupColumnKeys:n,rowAggregates:o}}function F(e){return e==="SUM"?"Total":e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function U(e){var n;if(e.customLabel)return e.customLabel;const t=F(e.aggregateFunction);if(e.levelValue!==void 0&&!b(e.levelValue)){if(e.levelValue===null){const r=(n=e.formatValue)==null?void 0:n.call(e,null);return r?`Subtotal ${r}`:`Subtotal ${t}`}const o=e.formatValue?e.formatValue(e.levelValue):String(e.levelValue);if(o)return`Subtotal (${o})`}return`Subtotal ${t}`}function G(e,t){return t||`Grand ${F(e)}`}function xe(e){const t=e.context.groupColumnKeys.indexOf(e.columnKey);if(t<0)throw new Error(`Aggregate group column "${e.columnKey}" is unknown`);if(!e.previousRow||e.row.isSubtotal===!0||e.row.isGrandTotal===!0||e.previousRow.isSubtotal===!0||e.previousRow.isGrandTotal===!0)return!0;for(let n=0;n<=t;n++){const o=e.context.groupColumnKeys[n];if(e.row[o]!==e.previousRow[o])return!0}return!1}function p(e){var o,r;const t=e.context.groupColumnKeys,n=typeof e.row.aggregate=="string"?e.row.aggregate:"SUM";if(e.row.isGrandTotal===!0){const a=(o=e.context.rowAggregates.find(i=>i.groupLevel==="ALL"))==null?void 0:o.label;return{kind:"grand-total",cells:t.map((i,s)=>({columnKey:i,text:s===0?G(n,a):"",placement:s===0?"label":"empty",colSpan:s===0?t.length:1}))}}if(e.row.isSubtotal===!0){if(typeof e.row.subtotalLevel!="string")throw new Error("Aggregate subtotal row is missing subtotalLevel");const a=t.indexOf(e.row.subtotalLevel);if(a<0)throw new Error(`Aggregate subtotal level "${e.row.subtotalLevel}" has no group column`);const i=D(e.row.subtotalContext)?e.row.subtotalContext:void 0,s=D(i==null?void 0:i.groupByValues)?i.groupByValues:{},l=(r=e.context.rowAggregates.find(u=>u.groupLevel===e.row.subtotalLevel&&u.function===n))==null?void 0:r.label;return{kind:"subtotal",cells:t.map((u,g)=>{if(g>a)return{columnKey:u,text:"",placement:"empty",colSpan:1};if(g<a){const m=e.row[u];return{columnKey:u,text:m===void 0||b(m)?"":e.formatValue(m,u),placement:"value",colSpan:1}}return{columnKey:u,text:U({aggregateFunction:n,customLabel:l,levelValue:s[u],formatValue:m=>e.formatLabelValue?e.formatLabelValue(m,u):String(e.formatValue(m,u)??"")}),placement:"label",colSpan:t.length-a}})}}return{kind:"data",cells:t.map(a=>{const i=e.row[a];return{columnKey:a,text:i===void 0||b(i)?"":e.formatValue(i,a),placement:"value",colSpan:1}})}}function Se(e){const t=p(e).cells.find(n=>n.columnKey===e.columnKey);if(!t)throw new Error(`Aggregate group column "${e.columnKey}" is unknown`);return t.text}function Ce(e){return p(e).cells.map(t=>t.text)}class k extends Error{constructor(n,o){super(`${n}: ${o}`);x(this,"deliveryBlocking",!0);this.code=n,this.name="PivotHeaderPresentationError"}}function _e(e){var r;const t=e.mode??"formatted",n=e.members.map(a=>{var s;if(t==="canonical"||!a.temporalBucket)return a.value===null?"":String(a.value);const i=(s=e.resolveTemporalFormat)==null?void 0:s.call(e,a.fieldId);if(!i)throw new k("missing_resolved_temporal_format",`Missing resolved temporal presentation for pivot field "${a.fieldId}"`);return j.formatTemporalBucket({value:a.value,metadata:a.temporalBucket,format:i})}),o=((r=e.metricLabel)==null?void 0:r.trim())||void 0;return{memberLabels:n,...o?{metricLabel:o}:{},flattenedLabel:[...n,...o?[o]:[]].join(" / ")}}exports.AGGREGATE_PDF_CONTINUATION_CLASS=Le;exports.AGGREGATE_TOTAL_MEMBER_MARKER=$;exports.DIRECT_CSV_EXPORT_MAX_ROWS=P;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=Te;exports.PivotHeaderPresentationError=k;exports.arrayToCSV=O;exports.arrayToCSVRow=V;exports.escapeCSVValue=I;exports.formatAggregateGrandTotalLabel=G;exports.formatAggregateGroupCell=Se;exports.formatAggregateGroupRow=Ce;exports.formatAggregateSubtotalLabel=U;exports.formatDate=De;exports.formatDistanceToNow=N;exports.formatDuration=v;exports.formatMetricComparison=re;exports.formatRelativeTime=be;exports.getTimezoneAbbreviation=he;exports.getTimezoneName=Me;exports.isAggregateTotalMemberMarker=b;exports.objectsToCSV=we;exports.parseWithSourceTimezone=L;exports.presentAggregateGroupRow=p;exports.presentPivotHeader=_e;exports.requiresChunkedCsvExport=Ae;exports.resolveAggregateTablePresentationContext=pe;exports.resolveTimezone=de;exports.shouldPresentAggregateGroupValue=xe;
|
package/dist/chunks/{report-preferences-dialog-DHOl809j.js → report-preferences-dialog--aKplC1_.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
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, aF as z, b as ye, aG as pe, aH as ge, aI as Se, aJ as be, aK as Te } from "./index-
|
|
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, aF as z, b as ye, aG as pe, aH as ge, aI as Se, aJ as be, aK as Te } from "./index-Pi9v2gBd.js";
|
|
4
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, T as xe, F as Ne, G, I as K } from "./switch-CZt_oBQ2.js";
|
|
5
5
|
import { a as Pe } from "./report-runtime-context-B_pAmqxl.js";
|
|
6
6
|
import "./x-CXDkqdur.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),o=require("react"),l=require("./index-I4TbmEn2.cjs"),u=require("./switch-EWWOPEdH.cjs"),V=require("./report-runtime-context-BfW4qiMJ.cjs");require("./x-B6ghREd2.cjs");require("./card-config-utils-D3Xuu0ub.cjs");require("./validators-DqIM0B3C.cjs");require("./analyze-result-contract-BX_nQmPN.cjs");const L=require("../value-format-preferences/index.cjs");function G(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(p=>p.actions.applyResolvedCalendarPreferences),s=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 r=V.parseCalendarPreferencesResponse(await p.json());if(!r.ok)throw new Error("Calendar preferences response is invalid");return r.value},[]),k=o.useCallback(async()=>{if(!s||!i||!h)return;const p=i;S(!0),x(null);try{const r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to fetch preferences")}const n=await N(r);v.current===p&&P(n)}catch(r){v.current===p&&x(r instanceof Error?r.message:"Unknown error")}finally{v.current===p&&S(!1)}},[i,h,s,N]);o.useEffect(()=>{s&&k()},[s,k]);const E=o.useCallback(async p=>{if(!i||!h)return x("Not authenticated"),!1;const r=i;C(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(p)});if(!n.ok){const D=await n.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}const y=await N(n);return v.current!==r?!1:(P(y),m(y.resolved,y.sources),!0)}catch(n){return v.current===r&&x(n instanceof Error?n.message:"Unknown error"),!1}finally{v.current===r&&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 r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to clear preferences")}const n=await N(r);return v.current!==p?!1:(P(n),m(n.resolved,n.sources),!0)}catch(r){return v.current===p&&x(r instanceof Error?r.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:s,isClearing:i,updatePreferences:h,clearPreferences:g}=G({enabled:a}),S=l.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(d=>!F.some(M=>M.value===d)),[A]),r=o.useMemo(()=>U(w),[w]),n=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){l.ue.error("Preferences are still loading. Please try again.");return}f?await g()?(l.ue.success("Now using default settings."),c()):l.ue.error("Failed to save preferences. Please try again."):await h({tz:w,weekStart:v})?(l.ue.success("Preferences saved."),c()):l.ue.error("Failed to save preferences. Please try again.")},_=()=>{c()},z=s||i,$=z||m;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(l.RadioGroup,{value:f?"defaults":"custom",onValueChange:d=>{x(!0),j(d==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:u.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(l.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:[n,", week starts ",y]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:u.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(l.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:u.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(u.Label,{className:R,children:"Timezone"}),e.jsxs(u.Popover,{open:k,onOpenChange:E,modal:!0,children:[e.jsx(u.PopoverTrigger,{asChild:!0,children:e.jsxs(u.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:r}),e.jsx(l.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(u.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(l.Command,{className:"overflow-visible",children:[e.jsx(l.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(l.CommandList,{children:[e.jsx(l.CommandEmpty,{children:"No timezone found."}),e.jsx(l.CommandGroup,{heading:"Common",children:F.map(d=>e.jsxs(l.CommandItem,{value:`${d.value} ${d.label}`,onSelect:()=>{x(!0),P(d.value),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d.value?"opacity-100":"opacity-0")}),e.jsx("span",{className:"flex-1",children:d.label}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:d.value})]},d.value))}),e.jsx(l.CommandSeparator,{}),e.jsx(l.CommandGroup,{heading:"All timezones",children:p.map(d=>e.jsxs(l.CommandItem,{value:d,onSelect:()=>{x(!0),P(d),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d?"opacity-100":"opacity-0")}),d]},d))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(u.Label,{className:R,children:"Week starts on"}),e.jsx(l.RadioGroup,{value:String(v),onValueChange:d=>{x(!0),N(Number(d))},className:"flex gap-4",disabled:f,children:B.map(d=>e.jsxs("label",{htmlFor:`week-start-${d.value}`,className:u.cn("flex cursor-pointer items-center gap-2 text-[13px]",f&&"cursor-not-allowed"),children:[e.jsx(l.RadioGroupItem,{value:String(d.value),id:`week-start-${d.value}`,disabled:f}),d.label]},d.value))})]})]})]}),e.jsxs(l.DialogFooter,{children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:_,disabled:z,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:O,disabled:$,children:z?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function Y(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(r=>r.actions.applyResolvedValueFormatPreferences),s=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 r=>{const n=L.parseValueFormatPreferencesResponse(await r.json());if(!n.ok)throw new Error("Value format preferences response is invalid");return n.value},[]),k=o.useCallback(async(r,n)=>{if(!i||!h)throw new Error("Not authenticated");const y=await fetch(`${h}/v1/user-preferences/value-format`,{method:r,headers:{Authorization:`Bearer ${i}`,...n?{"Content-Type":"application/json"}:{}},body:n?JSON.stringify(n):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(!s||!i||!h)return;const r=i;f(!0),v(null);try{const n=await k("GET");g.current===r&&b(n)}catch(n){g.current===r&&v(n instanceof Error?n.message:"Unknown error")}finally{g.current===r&&f(!1)}},[i,h,s,k]);o.useEffect(()=>{s&&E()},[s,E]);const A=o.useCallback(async r=>{const n=i;T(!0),v(null);try{const y=await k("PATCH",r);return g.current!==n?!1:(b(y),m(y.resolved,y.sources),!0)}catch(y){return g.current===n&&v(y instanceof Error?y.message:"Unknown error"),!1}finally{g.current===n&&T(!1)}},[i,m,k]),p=o.useCallback(async()=>{const r=i;w(!0),v(null);try{const n=await k("DELETE");return g.current!==r?!1:(b(n),m(n.resolved,n.sources),!0)}catch(n){return g.current===r&&v(n instanceof Error?n.message:"Unknown error"),!1}finally{g.current===r&&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,s;const c=(m=a==null?void 0:a.dateTime)==null?void 0:m.dateStyle,t=(s=a==null?void 0:a.dateTime)==null?void 0:s.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:s,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(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:c,children:"Cancel"}),e.jsx(u.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:s,updatePreferences:i,onClose:c},h)}function X({preferences:a,isSaving:c,updatePreferences:t,onClose:m}){var b,C;const[s,i]=o.useState(()=>Z(a.stored)),h=(s.locale===void 0||L.canonicalizeSupportedLocale(s.locale)!==void 0)&&(s.defaultCurrency===void 0||L.canonicalizeSupportedCurrencyCode(s.defaultCurrency)!==void 0)&&(s.dateStyle===void 0||["short","medium","long"].includes(s.dateStyle))&&(((b=s.dateTime)==null?void 0:b.dateStyle)===void 0||["short","medium","long"].includes(s.dateTime.dateStyle))&&(((C=s.dateTime)==null?void 0:C.timeStyle)===void 0||["short","medium","long"].includes(s.dateTime.timeStyle)),g=async()=>{const f={...s.locale!==void 0?{locale:s.locale}:{},...s.dateStyle!==void 0?{dateStyle:s.dateStyle}:{},...s.dateTime?{dateTime:{...s.dateTime}}:{},...s.defaultCurrency!==void 0?{defaultCurrency:s.defaultCurrency}:{}},j=I.filter(w=>q(s,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))?(l.ue.success("Display format preferences saved."),m()):l.ue.error("Failed to save preferences. Please try again.")},S=async()=>{await t({clear:[...I]})?(l.ue.success("Display format preferences reset."),m()):l.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(l.DisplayFormatPreferencesFields,{value:s,inherited:a.inherited,inheritedSources:a.inheritedSources,onChange:i,disabled:c})}),e.jsxs(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.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(u.Button,{variant:"outline",size:"xs",onClick:m,disabled:c,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:g,disabled:c||!h,children:c?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function ee({open:a,onOpenChange:c}){const[t,m]=o.useState("display"),s=()=>c(!1);return e.jsx(l.Dialog,{open:a,onOpenChange:c,children:e.jsxs(l.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(l.DialogHeader,{children:[e.jsx(l.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(l.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(u.Tabs,{value:t,onValueChange:m,children:[e.jsxs(u.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(u.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(u.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(u.TabsContent,{value:"display",children:e.jsx(Q,{active:a&&t==="display",onClose:s})}),e.jsx(u.TabsContent,{value:"calendar",children:e.jsx(J,{active:a&&t==="calendar",onClose:s})})]})]})})}exports.ReportPreferencesDialog=ee;
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),o=require("react"),l=require("./index-BOLKq4Ak.cjs"),u=require("./switch-EWWOPEdH.cjs"),V=require("./report-runtime-context-BfW4qiMJ.cjs");require("./x-B6ghREd2.cjs");require("./card-config-utils-D3Xuu0ub.cjs");require("./validators-DqIM0B3C.cjs");require("./analyze-result-contract-BX_nQmPN.cjs");const L=require("../value-format-preferences/index.cjs");function G(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(p=>p.actions.applyResolvedCalendarPreferences),s=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 r=V.parseCalendarPreferencesResponse(await p.json());if(!r.ok)throw new Error("Calendar preferences response is invalid");return r.value},[]),k=o.useCallback(async()=>{if(!s||!i||!h)return;const p=i;S(!0),x(null);try{const r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to fetch preferences")}const n=await N(r);v.current===p&&P(n)}catch(r){v.current===p&&x(r instanceof Error?r.message:"Unknown error")}finally{v.current===p&&S(!1)}},[i,h,s,N]);o.useEffect(()=>{s&&k()},[s,k]);const E=o.useCallback(async p=>{if(!i||!h)return x("Not authenticated"),!1;const r=i;C(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(p)});if(!n.ok){const D=await n.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}const y=await N(n);return v.current!==r?!1:(P(y),m(y.resolved,y.sources),!0)}catch(n){return v.current===r&&x(n instanceof Error?n.message:"Unknown error"),!1}finally{v.current===r&&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 r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to clear preferences")}const n=await N(r);return v.current!==p?!1:(P(n),m(n.resolved,n.sources),!0)}catch(r){return v.current===p&&x(r instanceof Error?r.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:s,isClearing:i,updatePreferences:h,clearPreferences:g}=G({enabled:a}),S=l.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(d=>!F.some(M=>M.value===d)),[A]),r=o.useMemo(()=>U(w),[w]),n=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){l.ue.error("Preferences are still loading. Please try again.");return}f?await g()?(l.ue.success("Now using default settings."),c()):l.ue.error("Failed to save preferences. Please try again."):await h({tz:w,weekStart:v})?(l.ue.success("Preferences saved."),c()):l.ue.error("Failed to save preferences. Please try again.")},_=()=>{c()},z=s||i,$=z||m;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(l.RadioGroup,{value:f?"defaults":"custom",onValueChange:d=>{x(!0),j(d==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:u.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(l.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:[n,", week starts ",y]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:u.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(l.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:u.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(u.Label,{className:R,children:"Timezone"}),e.jsxs(u.Popover,{open:k,onOpenChange:E,modal:!0,children:[e.jsx(u.PopoverTrigger,{asChild:!0,children:e.jsxs(u.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:r}),e.jsx(l.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(u.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(l.Command,{className:"overflow-visible",children:[e.jsx(l.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(l.CommandList,{children:[e.jsx(l.CommandEmpty,{children:"No timezone found."}),e.jsx(l.CommandGroup,{heading:"Common",children:F.map(d=>e.jsxs(l.CommandItem,{value:`${d.value} ${d.label}`,onSelect:()=>{x(!0),P(d.value),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d.value?"opacity-100":"opacity-0")}),e.jsx("span",{className:"flex-1",children:d.label}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:d.value})]},d.value))}),e.jsx(l.CommandSeparator,{}),e.jsx(l.CommandGroup,{heading:"All timezones",children:p.map(d=>e.jsxs(l.CommandItem,{value:d,onSelect:()=>{x(!0),P(d),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d?"opacity-100":"opacity-0")}),d]},d))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(u.Label,{className:R,children:"Week starts on"}),e.jsx(l.RadioGroup,{value:String(v),onValueChange:d=>{x(!0),N(Number(d))},className:"flex gap-4",disabled:f,children:B.map(d=>e.jsxs("label",{htmlFor:`week-start-${d.value}`,className:u.cn("flex cursor-pointer items-center gap-2 text-[13px]",f&&"cursor-not-allowed"),children:[e.jsx(l.RadioGroupItem,{value:String(d.value),id:`week-start-${d.value}`,disabled:f}),d.label]},d.value))})]})]})]}),e.jsxs(l.DialogFooter,{children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:_,disabled:z,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:O,disabled:$,children:z?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function Y(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(r=>r.actions.applyResolvedValueFormatPreferences),s=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 r=>{const n=L.parseValueFormatPreferencesResponse(await r.json());if(!n.ok)throw new Error("Value format preferences response is invalid");return n.value},[]),k=o.useCallback(async(r,n)=>{if(!i||!h)throw new Error("Not authenticated");const y=await fetch(`${h}/v1/user-preferences/value-format`,{method:r,headers:{Authorization:`Bearer ${i}`,...n?{"Content-Type":"application/json"}:{}},body:n?JSON.stringify(n):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(!s||!i||!h)return;const r=i;f(!0),v(null);try{const n=await k("GET");g.current===r&&b(n)}catch(n){g.current===r&&v(n instanceof Error?n.message:"Unknown error")}finally{g.current===r&&f(!1)}},[i,h,s,k]);o.useEffect(()=>{s&&E()},[s,E]);const A=o.useCallback(async r=>{const n=i;T(!0),v(null);try{const y=await k("PATCH",r);return g.current!==n?!1:(b(y),m(y.resolved,y.sources),!0)}catch(y){return g.current===n&&v(y instanceof Error?y.message:"Unknown error"),!1}finally{g.current===n&&T(!1)}},[i,m,k]),p=o.useCallback(async()=>{const r=i;w(!0),v(null);try{const n=await k("DELETE");return g.current!==r?!1:(b(n),m(n.resolved,n.sources),!0)}catch(n){return g.current===r&&v(n instanceof Error?n.message:"Unknown error"),!1}finally{g.current===r&&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,s;const c=(m=a==null?void 0:a.dateTime)==null?void 0:m.dateStyle,t=(s=a==null?void 0:a.dateTime)==null?void 0:s.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:s,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(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:c,children:"Cancel"}),e.jsx(u.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:s,updatePreferences:i,onClose:c},h)}function X({preferences:a,isSaving:c,updatePreferences:t,onClose:m}){var b,C;const[s,i]=o.useState(()=>Z(a.stored)),h=(s.locale===void 0||L.canonicalizeSupportedLocale(s.locale)!==void 0)&&(s.defaultCurrency===void 0||L.canonicalizeSupportedCurrencyCode(s.defaultCurrency)!==void 0)&&(s.dateStyle===void 0||["short","medium","long"].includes(s.dateStyle))&&(((b=s.dateTime)==null?void 0:b.dateStyle)===void 0||["short","medium","long"].includes(s.dateTime.dateStyle))&&(((C=s.dateTime)==null?void 0:C.timeStyle)===void 0||["short","medium","long"].includes(s.dateTime.timeStyle)),g=async()=>{const f={...s.locale!==void 0?{locale:s.locale}:{},...s.dateStyle!==void 0?{dateStyle:s.dateStyle}:{},...s.dateTime?{dateTime:{...s.dateTime}}:{},...s.defaultCurrency!==void 0?{defaultCurrency:s.defaultCurrency}:{}},j=I.filter(w=>q(s,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))?(l.ue.success("Display format preferences saved."),m()):l.ue.error("Failed to save preferences. Please try again.")},S=async()=>{await t({clear:[...I]})?(l.ue.success("Display format preferences reset."),m()):l.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(l.DisplayFormatPreferencesFields,{value:s,inherited:a.inherited,inheritedSources:a.inheritedSources,onChange:i,disabled:c})}),e.jsxs(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.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(u.Button,{variant:"outline",size:"xs",onClick:m,disabled:c,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:g,disabled:c||!h,children:c?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function ee({open:a,onOpenChange:c}){const[t,m]=o.useState("display"),s=()=>c(!1);return e.jsx(l.Dialog,{open:a,onOpenChange:c,children:e.jsxs(l.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(l.DialogHeader,{children:[e.jsx(l.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(l.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(u.Tabs,{value:t,onValueChange:m,children:[e.jsxs(u.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(u.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(u.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(u.TabsContent,{value:"display",children:e.jsx(Q,{active:a&&t==="display",onClose:s})}),e.jsx(u.TabsContent,{value:"calendar",children:e.jsx(J,{active:a&&t==="calendar",onClose:s})})]})]})})}exports.ReportPreferencesDialog=ee;
|
package/dist/dashboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-BOLKq4Ak.cjs"),e=require("../chunks/common-types-BCSbPclk.cjs");exports.Dashboard=o.Dashboard;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;
|
package/dist/dashboard/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),An=require("react-dom/client"),k=require("../chunks/index-BOLKq4Ak.cjs"),w=require("../chunks/switch-EWWOPEdH.cjs"),Ze=require("../data-app-builder-browser-runtime/index.cjs"),te=require("../chunks/x-B6ghREd2.cjs"),Cn=require("../chunks/save-3dYRmehL.cjs"),Rn=require("../chunks/mouse-pointer-2-DX4A_XZw.cjs"),tt=require("../chunks/search-BqqhaMx9.cjs");function Tr(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const d=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,d.get?d:{enumerable:!0,get:()=>t[a]})}}return s.default=t,Object.freeze(s)}const Bn=Tr(p),Dn=Tr(An);/**
|
|
2
2
|
* @license lucide-react v0.453.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -2,7 +2,7 @@ import { jsx as r, jsxs as c, Fragment as re } from "react/jsx-runtime";
|
|
|
2
2
|
import * as Zn from "react";
|
|
3
3
|
import { useContext as qn, useState as x, useRef as oe, useMemo as je, useEffect as W, useCallback as Ot } from "react";
|
|
4
4
|
import * as Xn from "react-dom/client";
|
|
5
|
-
import { aL as ea, aM as ta, aN as Ir, aO as jr, aP as zr, aQ as ra, aR as Wr, aS as Hr, aT as Jr, aU as Vr, aV as _r, aW as Ur, aX as Gr, aY as na, aZ as aa, a_ as oa, a$ as Ht, b0 as on, R as Kr, b1 as sa, b2 as Vt, b3 as sn, b4 as ia, b5 as la } from "../chunks/index-
|
|
5
|
+
import { aL as ea, aM as ta, aN as Ir, aO as jr, aP as zr, aQ as ra, aR as Wr, aS as Hr, aT as Jr, aU as Vr, aV as _r, aW as Ur, aX as Gr, aY as na, aZ as aa, a_ as oa, a$ as Ht, b0 as on, R as Kr, b1 as sa, b2 as Vt, b3 as sn, b4 as ia, b5 as la } from "../chunks/index-Pi9v2gBd.js";
|
|
6
6
|
import { B as H, P as it, a as lt, b as dt, _ as da, $ as ca, a0 as ua, a1 as pa, a2 as ha, L as me, R as ma, d as _t } from "../chunks/switch-CZt_oBQ2.js";
|
|
7
7
|
import { loadSemaphorBrowserRuntime as ot } from "../data-app-builder-browser-runtime/index.js";
|
|
8
8
|
import { c as Ve, X as He } from "../chunks/x-CXDkqdur.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../chunks/index-ByQgqT9d.cjs"),i=require("../chunks/pivot-result-lifecycle-D_bRCqaB.cjs"),n=require("../chunks/pivot-header-presentation-
|
|
2
|
-
`){return
|
|
3
|
-
`}exports.isNumericCanonicalFormat=_.isNumericCanonicalFormat;exports.MissingResolvedRawTemporalFormatError=i.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=i.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=i.PresentationExecutionSnapshotError;exports.RawTemporalFormatContractError=i.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=i.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=i.classifyDeclaredSqlTemporalColumn;exports.createCanonicalPivotResultTransport=i.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=i.createPresentationExecutionSnapshot;exports.createRawTemporalChunkClassificationEvidence=i.createRawTemporalChunkClassificationEvidence;exports.deriveMetricInstanceAliasExpectations=i.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=i.derivePivotResultContractExpectations;exports.findResolvedNumericFormat=i.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=i.findResolvedRawTemporalFormat;exports.findResolvedTemporalBucketFormat=i.findResolvedTemporalBucketFormat;exports.formatCurrency=i.formatCurrency;exports.formatNumber=i.formatNumber;exports.formatNumberCustom=i.formatNumberCustom;exports.formatNumberWithColumnSettings=i.formatNumberWithColumnSettings;exports.formatNumericCanonical=i.formatNumericCanonical;exports.formatPercent=i.formatPercent;exports.formatRawTemporalValue=i.formatRawTemporalValue;exports.formatScientific=i.formatScientific;exports.parseCanonicalPivotResultTransport=i.parseCanonicalPivotResultTransport;exports.parseNumericCanonicalFormat=i.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=i.parsePresentationExecutionSnapshot;exports.parsePresentationScope=i.parsePresentationScope;exports.parseRawTemporalChunkClassificationEvidence=i.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=i.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=i.parseResolvedPresentationEntries;exports.parseResolvedRawTemporalFormat=i.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=i.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=i.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=i.resolveNumericPresentation;exports.resolveRawTemporalFormat=i.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=i.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=i.validateCardExportPresentationSnapshot;exports.validateRawTemporalPattern=i.validateRawTemporalPattern;exports.AGGREGATE_TOTAL_MEMBER_MARKER=n.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=n.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=n.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.PivotHeaderPresentationError=n.PivotHeaderPresentationError;exports.arrayToCSV=n.arrayToCSV;exports.arrayToCSVRow=n.arrayToCSVRow;exports.escapeCSVValue=n.escapeCSVValue;exports.formatAggregateGrandTotalLabel=n.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=n.formatAggregateGroupCell;exports.formatAggregateGroupRow=n.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=n.formatAggregateSubtotalLabel;exports.formatDate=n.formatDate;exports.formatDuration=n.formatDuration;exports.formatMetricComparison=n.formatMetricComparison;exports.formatRelativeTime=n.formatRelativeTime;exports.getTimezoneAbbreviation=n.getTimezoneAbbreviation;exports.getTimezoneName=n.getTimezoneName;exports.isAggregateTotalMemberMarker=n.isAggregateTotalMemberMarker;exports.objectsToCSV=n.objectsToCSV;exports.parseWithSourceTimezone=n.parseWithSourceTimezone;exports.presentAggregateGroupRow=n.presentAggregateGroupRow;exports.presentPivotHeader=n.presentPivotHeader;exports.requiresChunkedCsvExport=n.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=n.resolveAggregateTablePresentationContext;exports.resolveTimezone=n.resolveTimezone;exports.shouldPresentAggregateGroupValue=n.shouldPresentAggregateGroupValue;exports.FAST_PDF_POLICY=c.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=c.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=c.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=c.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=c.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=c.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=c.isFastPdfRowCountEligible;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../chunks/index-ByQgqT9d.cjs"),i=require("../chunks/pivot-result-lifecycle-D_bRCqaB.cjs"),n=require("../chunks/pivot-header-presentation-CTN5E7sJ.cjs"),c=require("../pdf-export-policy/index.cjs"),f=require("../chunks/validators-DqIM0B3C.cjs"),p=require("../chunks/metric-comparison-x0lipytf.cjs"),T=require("../chunks/pivot-result-identity-BVnhG2rR.cjs"),P=require("../chunks/raw-temporal-contract-vnNwLy9R.cjs");function V(r,e,o,t){const a=r instanceof Date?r.toISOString():String(r),s=(t==null?void 0:t.browserTimezone)||o,l=(t==null?void 0:t.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return n.formatRelativeTime(a,(e==null?void 0:e.sourceTimezone)||"auto");const m=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return n.formatDate(a,m,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:l?s:o,(e==null?void 0:e.sourceTimezone)||"auto")}function v(r,e,o){if(r==null)return"";if(!o.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?i.formatNumberWithColumnSettings(r,e.numberFormat,o.locale):String(r);case"date":return V(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 d(r,e){return e.visibleColumns.map(o=>{const t=r[o],a=e.columnSettings[o];return v(t,a,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function A(r,e){const o=[];e.includeHeaders&&o.push(n.arrayToCSVRow(e.visibleColumns,e.delimiter));for(const t of r){const a=d(t,e);o.push(a.map(s=>n.escapeCSVValue(s,e.delimiter)).join(e.delimiter))}return o}function M(r,e,o=`
|
|
2
|
+
`){return A(r,e).join(o)}function h(r,e,o){for(const t of r){if(t.level<o){e[t.level].push(t.name);for(let a=1;a<t.colspan;a++)e[t.level].push("")}t.children?h(t.children,e,o):t.columnKey&&e[o].push(t.name)}}function y(r){const e=r.pivotByColumns.length,o=r.groupByColumns.length,t=Array.from({length:e+1},()=>[]);for(let a=0;a<e;a++)t[a].push(...Array(o).fill(""));if(t[e].push(...r.groupByColumns.map(a=>a.label||a.name)),h(r.columnHeadersTree,t,e),r.showRowTotals){for(let a=0;a<e;a++)t[a].push("");t[e].push("Total")}return t}function N(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"?i.formatNumberWithColumnSettings(r,t.numberFormat,o.locale):typeof r=="number"?r.toLocaleString(o.locale):String(r)}function g(r,e,o){const t=[];r.fieldValues.forEach((s,l)=>{r.isSubtotal&&l===0?t.push(`${s} Total`):r.isSubtotal?t.push(""):t.push(String(s??""))});let a=0;return e.columnHeaders.forEach(s=>{var u;const l=(u=r.cells[s])==null?void 0:u.value,m=N(l,s,o);t.push(m),e.showRowTotals&&typeof l=="number"&&(a+=l)}),e.showRowTotals&&t.push(a.toLocaleString(o.locale)),t}function F(r,e,o){const t=[];if(o.includeHeaders){const a=y(e);for(const s of a)t.push(n.arrayToCSVRow(s,o.delimiter))}for(const a of r){const s=g(a,e,o);t.push(s.map(l=>n.escapeCSVValue(l,o.delimiter)).join(o.delimiter))}return t}function C(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,o){const t=new Set(e),a=Object.keys(r).find(s=>!t.has(s));if(a)throw new Error(`${o} contains unknown property "${a}"`)}function O(r,e="tableTotalsRequest"){if(!C(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`);let o=0;const t=r.columns.map((l,m)=>{const u=`${e}.columns.${m}`;if(!C(l))throw new Error(`${u} must be an object`);S(l,["fieldId","role","behavior","metricAlias","label"],u);const w=typeof l.fieldId=="string"?l.fieldId.trim():"";if(!w)throw new Error(`${u}.fieldId must be a non-empty string`);if(l.role!=="detail"&&l.role!=="groupby"&&l.role!=="metric")throw new Error(`${u}.role is invalid`);const E=l.role;if(l.behavior!=="sum"&&l.behavior!=="avg"&&l.behavior!=="count"&&l.behavior!=="label")throw new Error(`${u}.behavior is invalid`);const R=l.behavior,b=typeof l.metricAlias=="string"?l.metricAlias.trim():void 0;if(l.metricAlias!==void 0&&!b)throw new Error(`${u}.metricAlias must be a non-empty string`);if(b&&E!=="metric")throw new Error(`${u}.metricAlias requires metric role`);if(R==="label"){if(o+=1,E==="metric")throw new Error(`${u}.behavior label requires a non-metric role`)}else if(E!=="metric")throw new Error(`${u}.${R} requires metric role`);if(l.label!==void 0&&typeof l.label!="string")throw new Error(`${u}.label must be a string`);return{fieldId:w,role:E,behavior:R,...b?{metricAlias:b}:{},...l.label!==void 0?{label:l.label}:{}}}),a=new Map,s=new Set;for(const l of t){if(l.metricAlias){if(s.has(l.metricAlias))throw new Error(`${e}.columns duplicates metricAlias "${l.metricAlias}"`);s.add(l.metricAlias)}const m=a.get(l.fieldId)??[];m.push(l),a.set(l.fieldId,m)}for(const[l,m]of a)if(m.length!==1){for(const u of m)if(u.role!=="metric"||!u.metricAlias)throw new Error(`${e}.columns duplicates fieldId "${l}" without distinct metricAlias values`)}if(o>1)throw new Error(`${e}.columns may contain at most one label`);return{source:"documentFlatTable",columns:t}}function I(r,e="tableTotalsByColumnId"){if(!C(r))throw new Error(`${e} must be an object`);const o={};for(const[t,a]of Object.entries(r)){if(!t.trim())throw new Error(`${e} contains an empty column id`);if(a!==null&&typeof a!="string"&&(typeof a!="number"||!Number.isFinite(a)))throw new Error(`${e}.${t} must be a string, finite number, or null`);o[t]=a}if(Object.keys(o).length===0)throw new Error(`${e} must not be empty`);return o}function k(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 D(r){const e=r.visibleColumns.map(o=>{const a=Object.prototype.hasOwnProperty.call(r.totalsByColumnId,o)?r.totalsByColumnId[o]:o===r.labelColumnKey?"Total":null;if(a===null)return"";if(!r.useFormattedValues)return String(a);const s=i.findResolvedNumericFormat({snapshot:r.snapshot,scope:r.scope,target:{kind:"column",columnKey:o}}),l=s?k(a):null;return s&&l!==null?i.formatNumericCanonical(l,s):String(a)});return`${n.arrayToCSVRow(e,r.delimiter)}
|
|
3
|
+
`}exports.isNumericCanonicalFormat=_.isNumericCanonicalFormat;exports.MissingResolvedRawTemporalFormatError=i.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=i.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=i.PresentationExecutionSnapshotError;exports.RawTemporalFormatContractError=i.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=i.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=i.classifyDeclaredSqlTemporalColumn;exports.createCanonicalPivotResultTransport=i.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=i.createPresentationExecutionSnapshot;exports.createRawTemporalChunkClassificationEvidence=i.createRawTemporalChunkClassificationEvidence;exports.deriveMetricInstanceAliasExpectations=i.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=i.derivePivotResultContractExpectations;exports.findResolvedNumericFormat=i.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=i.findResolvedRawTemporalFormat;exports.findResolvedTemporalBucketFormat=i.findResolvedTemporalBucketFormat;exports.formatCurrency=i.formatCurrency;exports.formatNumber=i.formatNumber;exports.formatNumberCustom=i.formatNumberCustom;exports.formatNumberWithColumnSettings=i.formatNumberWithColumnSettings;exports.formatNumericCanonical=i.formatNumericCanonical;exports.formatPercent=i.formatPercent;exports.formatRawTemporalValue=i.formatRawTemporalValue;exports.formatScientific=i.formatScientific;exports.parseCanonicalPivotResultTransport=i.parseCanonicalPivotResultTransport;exports.parseNumericCanonicalFormat=i.parseNumericCanonicalFormat;exports.parsePresentationExecutionSnapshot=i.parsePresentationExecutionSnapshot;exports.parsePresentationScope=i.parsePresentationScope;exports.parseRawTemporalChunkClassificationEvidence=i.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=i.parseResolvedNumericCanonicalFormat;exports.parseResolvedPresentationEntries=i.parseResolvedPresentationEntries;exports.parseResolvedRawTemporalFormat=i.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=i.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=i.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=i.resolveNumericPresentation;exports.resolveRawTemporalFormat=i.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=i.validateCardExportNumericPresentationSnapshot;exports.validateCardExportPresentationSnapshot=i.validateCardExportPresentationSnapshot;exports.validateRawTemporalPattern=i.validateRawTemporalPattern;exports.AGGREGATE_PDF_CONTINUATION_CLASS=n.AGGREGATE_PDF_CONTINUATION_CLASS;exports.AGGREGATE_TOTAL_MEMBER_MARKER=n.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=n.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=n.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.PivotHeaderPresentationError=n.PivotHeaderPresentationError;exports.arrayToCSV=n.arrayToCSV;exports.arrayToCSVRow=n.arrayToCSVRow;exports.escapeCSVValue=n.escapeCSVValue;exports.formatAggregateGrandTotalLabel=n.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=n.formatAggregateGroupCell;exports.formatAggregateGroupRow=n.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=n.formatAggregateSubtotalLabel;exports.formatDate=n.formatDate;exports.formatDuration=n.formatDuration;exports.formatMetricComparison=n.formatMetricComparison;exports.formatRelativeTime=n.formatRelativeTime;exports.getTimezoneAbbreviation=n.getTimezoneAbbreviation;exports.getTimezoneName=n.getTimezoneName;exports.isAggregateTotalMemberMarker=n.isAggregateTotalMemberMarker;exports.objectsToCSV=n.objectsToCSV;exports.parseWithSourceTimezone=n.parseWithSourceTimezone;exports.presentAggregateGroupRow=n.presentAggregateGroupRow;exports.presentPivotHeader=n.presentPivotHeader;exports.requiresChunkedCsvExport=n.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=n.resolveAggregateTablePresentationContext;exports.resolveTimezone=n.resolveTimezone;exports.shouldPresentAggregateGroupValue=n.shouldPresentAggregateGroupValue;exports.FAST_PDF_POLICY=c.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=c.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=c.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=c.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=c.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=c.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=c.isFastPdfRowCountEligible;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=f.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=f.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.isTemporalBucketPreset=f.isTemporalBucketPreset;exports.resolveApplicableTemporalBucketFormat=f.resolveApplicableTemporalBucketFormat;exports.tokenizeTemporalBucketPattern=f.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=f.validateTemporalBucketFormatApplicability;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=p.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TemporalBucketContractError=p.TemporalBucketContractError;exports.formatTemporalBucket=p.formatTemporalBucket;exports.parseResolvedTemporalBucketFormat=p.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=p.parseTemporalBucketValue;exports.resolveMetricResultAlias=p.resolveMetricResultAlias;exports.resolveTemporalBucketPresentation=p.resolveTemporalBucketPresentation;exports.PivotResultIdentityError=T.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=T.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=T.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=T.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=T.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.parseRawTemporalValueMetadata=P.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=P.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=D;exports.formatCellValue=v;exports.formatPivotDataRow=g;exports.formatPivotTableForCSV=F;exports.formatRowForExport=d;exports.formatTableForCSV=A;exports.generatePivotHeaders=y;exports.generateTableCSV=M;exports.parseFlatTableExportTotalsByColumnId=I;exports.parseFlatTableExportTotalsRequest=O;
|