react-semaphor 0.1.516 → 0.1.518

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 (77) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +2 -2
  3. package/dist/briefings/index.cjs +1 -1
  4. package/dist/briefings/index.js +3 -3
  5. package/dist/chunks/{calculated-field-identity-DzJBs2J8.js → calculated-field-identity-Dy_WpDdo.js} +1 -1
  6. package/dist/chunks/{card-config-utils-Cxnq2R6z.js → card-config-utils-CAyjC5Tp.js} +2 -2
  7. package/dist/chunks/{dashboard-briefing-launcher-BCEHJ_eD.js → dashboard-briefing-launcher-D5HGRwtb.js} +7 -7
  8. package/dist/chunks/{dashboard-briefing-launcher-CjZ4aE34.cjs → dashboard-briefing-launcher-RpT4b0d5.cjs} +1 -1
  9. package/dist/chunks/{dashboard-controls-DFfit5KH.js → dashboard-controls-C0Aw74JP.js} +9 -9
  10. package/dist/chunks/{dashboard-controls-f9aJ70Zu.cjs → dashboard-controls-DidqEx0U.cjs} +1 -1
  11. package/dist/chunks/{dashboard-json-DVtcA02f.js → dashboard-json-B5LLO49G.js} +5 -5
  12. package/dist/chunks/{dashboard-json-deqQC-UR.cjs → dashboard-json-rY4lTftA.cjs} +1 -1
  13. package/dist/chunks/{edit-dashboard-visual-lJ6rDH3w.js → edit-dashboard-visual-D3TrgFMg.js} +364 -361
  14. package/dist/chunks/{edit-dashboard-visual-DK6lSC_p.cjs → edit-dashboard-visual-NABO8NBr.cjs} +3 -3
  15. package/dist/chunks/{editor-action-buttons-Bnxxa439.js → editor-action-buttons-BfWg6DdZ.js} +4 -4
  16. package/dist/chunks/{editor-action-buttons-CmDaQbPN.cjs → editor-action-buttons-xQ5aj-0q.cjs} +1 -1
  17. package/dist/chunks/{field-aggregations-Dl2A3rbV.js → field-aggregations-BQjogiI1.js} +1 -1
  18. package/dist/chunks/{index-ylOpKRDu.js → index-B0KwXM6P.js} +117 -116
  19. package/dist/chunks/index-CapO5Uw9.cjs +4 -0
  20. package/dist/chunks/{index-UNKSfi7s.cjs → index-Dgv9vzT0.cjs} +230 -230
  21. package/dist/chunks/{index-BVVl2JDK.js → index-DqTelnri.js} +27499 -27198
  22. package/dist/chunks/{matrix-control-sources-KbZe1gj_.js → matrix-control-sources-B1K7x0SL.js} +2 -2
  23. package/dist/chunks/matrix-formatter-Qk8xsR05.cjs +1 -0
  24. package/dist/chunks/{matrix-formatter-CCXNRt3s.js → matrix-formatter-WBgtebUT.js} +8 -8
  25. package/dist/chunks/numeric-presentation-VhMUHfrJ.js +537 -0
  26. package/dist/chunks/numeric-presentation-mY6wJMdB.cjs +1 -0
  27. package/dist/chunks/{pivot-header-presentation-BSZhB1g-.js → pivot-header-presentation-CGtudHo7.js} +4 -4
  28. package/dist/chunks/{pivot-header-presentation-EoUS5ze5.cjs → pivot-header-presentation-DV2aBB6p.cjs} +2 -2
  29. package/dist/chunks/{pivot-result-lifecycle-kRhiJkzg.js → pivot-result-lifecycle-BFO354lk.js} +7 -7
  30. package/dist/chunks/pivot-result-lifecycle-OXAgoIYm.cjs +1 -0
  31. package/dist/chunks/raw-temporal-7bFbXd2a.js +930 -0
  32. package/dist/chunks/raw-temporal-CYdOOyR5.cjs +1 -0
  33. package/dist/chunks/{report-preferences-dialog-CHXPEl7v.js → report-preferences-dialog-BzxqfcF8.js} +3 -3
  34. package/dist/chunks/{report-preferences-dialog-Cto0vDwI.cjs → report-preferences-dialog-DLnhOXXg.cjs} +1 -1
  35. package/dist/chunks/{semantic-format-DwqGYx4V.js → semantic-format-Baqp8kD_.js} +1 -1
  36. package/dist/chunks/semantic-format-Bd7HmLG_.cjs +1 -0
  37. package/dist/chunks/{switch-DNbWXEOP.cjs → switch-C0520nRt.cjs} +24 -24
  38. package/dist/chunks/{switch-DNv-hVmt.js → switch-evlnTA4t.js} +3180 -3092
  39. package/dist/chunks/{temporal-bucket-DlFuhCnT.js → temporal-bucket-PcLFSYWX.js} +6 -6
  40. package/dist/chunks/temporal-input-presentation-2RJrvmYL.js +222 -0
  41. package/dist/chunks/temporal-input-presentation-BIOSVWCL.cjs +1 -0
  42. package/dist/dashboard/index.cjs +1 -1
  43. package/dist/dashboard/index.js +1 -1
  44. package/dist/dashboard-authoring/index.js +6 -6
  45. package/dist/data-app-builder/index.cjs +1 -1
  46. package/dist/data-app-builder/index.js +2 -2
  47. package/dist/data-app-sdk/index.cjs +1 -1
  48. package/dist/data-app-sdk/index.js +1 -1
  49. package/dist/format-utils/index.cjs +3 -3
  50. package/dist/format-utils/index.js +77 -73
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.js +10 -10
  53. package/dist/style.css +1 -1
  54. package/dist/surfboard/index.cjs +1 -1
  55. package/dist/surfboard/index.js +2 -2
  56. package/dist/types/components/editor/editor-main/dashboard-variable-node.d.ts +7 -3
  57. package/dist/types/components/editor/editor-main/text-card-rich-editor.d.ts +4 -1
  58. package/dist/types/lib/charts/chart-availability.d.ts +6 -0
  59. package/dist/types/lib/dashboard-inputs/dashboard-input-display.d.ts +11 -0
  60. package/dist/types/lib/dashboard-inputs/dashboard-input-text.d.ts +2 -1
  61. package/dist/types/lib/dashboard-inputs/text-card-rich-content.d.ts +3 -2
  62. package/dist/types/lib/dashboard-inputs/text-variable-options.d.ts +5 -4
  63. package/dist/types/lib/document/document-variables.d.ts +8 -4
  64. package/dist/types/lib/text-variables/temporal-input-text.d.ts +28 -0
  65. package/dist/types/lib/text-variables/text-variable-types.d.ts +17 -1
  66. package/dist/types/lib/types/common-types.d.ts +11 -1
  67. package/dist/types/shared/format-utils/index.d.ts +1 -0
  68. package/dist/types/shared/format-utils/temporal-input-presentation.d.ts +46 -0
  69. package/package.json +1 -1
  70. package/dist/chunks/index-C8w91oj4.js +0 -328
  71. package/dist/chunks/index-Cw2ypaFl.cjs +0 -1
  72. package/dist/chunks/index-DfqMtR9S.cjs +0 -4
  73. package/dist/chunks/matrix-formatter-BJTO8ky9.cjs +0 -1
  74. package/dist/chunks/pivot-result-lifecycle-gl9cBfB-.cjs +0 -1
  75. package/dist/chunks/raw-temporal-BqOfk-xN.js +0 -1137
  76. package/dist/chunks/raw-temporal-eJXecCyJ.cjs +0 -1
  77. package/dist/chunks/semantic-format-mVI32OJH.cjs +0 -1
@@ -547,14 +547,14 @@ function me(e) {
547
547
  export {
548
548
  L as D,
549
549
  N as T,
550
- h as a,
551
- X as b,
552
- le as c,
553
- f as d,
550
+ j as a,
551
+ ce as b,
552
+ h as c,
553
+ X as d,
554
554
  me as f,
555
- j as i,
555
+ f as i,
556
556
  V as p,
557
- ce as r,
557
+ le as r,
558
558
  M as t,
559
559
  O as v
560
560
  };
@@ -0,0 +1,222 @@
1
+ import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as D } from "../value-format-preferences/index.js";
2
+ import { v as w, f as T, r as E, a as I } from "./raw-temporal-7bFbXd2a.js";
3
+ import { i as R, f as A, r as U } from "./temporal-bucket-PcLFSYWX.js";
4
+ const b = /* @__PURE__ */ new Set(["short", "medium", "long"]), z = /^(\d{4})-(\d{2})-(\d{2})$/, F = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?$/, L = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2})$/, h = " – ";
5
+ function Q(t) {
6
+ if (!R(t)) return;
7
+ const e = Object.keys(t);
8
+ if (t.mode === "period_label" && e.length === 1)
9
+ return { mode: "period_label" };
10
+ if (t.mode === "style" && e.length === 2 && typeof t.dateStyle == "string" && b.has(t.dateStyle))
11
+ return { mode: "style", dateStyle: t.dateStyle };
12
+ if (t.mode === "pattern" && e.length === 3 && t.dialect === "semaphor_tokens" && typeof t.pattern == "string" && N(t.pattern) === null)
13
+ return {
14
+ mode: "pattern",
15
+ dialect: "semaphor_tokens",
16
+ pattern: t.pattern
17
+ };
18
+ }
19
+ function N(t) {
20
+ try {
21
+ return w({ dialect: "semaphor_tokens", pattern: t }), null;
22
+ } catch (e) {
23
+ return e instanceof Error ? e.message : "The pattern is invalid.";
24
+ }
25
+ }
26
+ function X(t) {
27
+ const { value: e, part: n, presentation: r, preferences: a, calendar: o } = t;
28
+ if ((r == null ? void 0 : r.mode) === "period_label" && e.periodLabel && n === "range")
29
+ return { ok: !0, text: e.periodLabel };
30
+ const [l, m] = e.bounds, s = m === void 0 || n === "start" ? [{ raw: l, role: "start" }] : n === "end" ? [{ raw: m, role: "end" }] : [
31
+ { raw: l, role: "start" },
32
+ { raw: m, role: "end" }
33
+ ], c = s.map(({ raw: i }) => M(i, o.tz));
34
+ if (c.some((i) => i === null))
35
+ return {
36
+ ok: !1,
37
+ text: s.map(({ raw: i }) => i).join(h),
38
+ diagnostic: {
39
+ code: "invalid_temporal_input_value",
40
+ message: "A date input bound is not a date or an instant."
41
+ }
42
+ };
43
+ const f = e.precision === "day" ? c.map(
44
+ (i, C) => Z(i, s[C].role, o.tz)
45
+ ) : [], g = f.length > 0 && f.every((i) => i !== null) ? f : null;
46
+ return { ok: !0, text: g ? $(g, r, a, o) : P(
47
+ c.map((i) => V(i, o.tz)),
48
+ r,
49
+ a,
50
+ o
51
+ ) };
52
+ }
53
+ function $(t, e, n, r) {
54
+ const [a, o = a] = t;
55
+ if ((e == null ? void 0 : e.mode) === "pattern")
56
+ return v(
57
+ t.map(
58
+ (d) => p(y(d), "date", e.pattern, n, r)
59
+ )
60
+ );
61
+ const l = (e == null ? void 0 : e.mode) === "style" ? e.dateStyle : n.dateStyle;
62
+ if (!e || e.mode === "period_label") {
63
+ const d = x(a, o, r);
64
+ if (d)
65
+ return A({
66
+ value: y(a),
67
+ metadata: {
68
+ kind: "temporal_bucket",
69
+ granularity: d,
70
+ calendar: { tz: r.tz, weekStart: r.weekStart ?? 1 }
71
+ },
72
+ format: U({
73
+ metadata: {
74
+ kind: "temporal_bucket",
75
+ granularity: d,
76
+ calendar: { tz: r.tz, weekStart: r.weekStart ?? 1 }
77
+ },
78
+ locale: n.locale,
79
+ styles: { dateStyle: l, dateTime: { ...n.dateTime } }
80
+ }).format
81
+ });
82
+ }
83
+ const m = new Intl.DateTimeFormat(n.locale, {
84
+ calendar: "gregory",
85
+ timeZone: "UTC",
86
+ dateStyle: l
87
+ });
88
+ return H(a, o) ? m.format(u(a)) : k(m, u(a), u(o));
89
+ }
90
+ function P(t, e, n, r) {
91
+ if ((e == null ? void 0 : e.mode) === "pattern")
92
+ return v(
93
+ t.map(
94
+ (m) => p(
95
+ m.toISOString(),
96
+ "instant",
97
+ e.pattern,
98
+ n,
99
+ r
100
+ )
101
+ )
102
+ );
103
+ const a = new Intl.DateTimeFormat(n.locale, {
104
+ calendar: "gregory",
105
+ timeZone: r.tz,
106
+ dateStyle: (e == null ? void 0 : e.mode) === "style" ? e.dateStyle : n.dateTime.dateStyle,
107
+ timeStyle: n.dateTime.timeStyle
108
+ }), [o, l] = t;
109
+ return l && l.getTime() !== o.getTime() ? k(a, o, l) : a.format(o);
110
+ }
111
+ function k(t, e, n) {
112
+ const r = t;
113
+ return typeof r.formatRange == "function" ? r.formatRange(e, n) : `${t.format(e)}${h}${t.format(n)}`;
114
+ }
115
+ function p(t, e, n, r, a) {
116
+ const o = E({
117
+ format: {
118
+ type: "raw_temporal",
119
+ presentation: { mode: "pattern", dialect: "semaphor_tokens", pattern: n }
120
+ },
121
+ // Temporal formatting reads no currency.
122
+ preferences: {
123
+ ...r,
124
+ defaultCurrency: D.defaultCurrency
125
+ },
126
+ calendar: { tz: a.tz }
127
+ }), l = e === "date" && O(n) ? "instant" : e;
128
+ return I({
129
+ value: l === e ? t : T(`${t}T00:00:00`, a.tz).toISOString(),
130
+ metadata: { kind: "raw_temporal", valueKind: l },
131
+ format: o
132
+ }).text;
133
+ }
134
+ function O(t) {
135
+ return /HH|mm|ss/.test(t);
136
+ }
137
+ function v(t) {
138
+ return t[1] === void 0 || t[0] === t[1] ? t[0] : t.join(h);
139
+ }
140
+ function M(t, e) {
141
+ const n = z.exec(t);
142
+ if (n) {
143
+ const a = {
144
+ year: Number(n[1]),
145
+ month: Number(n[2]),
146
+ day: Number(n[3])
147
+ };
148
+ return Y(a) ? { kind: "date", date: a } : null;
149
+ }
150
+ const r = L.test(t) ? new Date(t.replace(" ", "T")) : F.test(t) ? T(t.replace(" ", "T"), e) : null;
151
+ return r && !Number.isNaN(r.getTime()) ? { kind: "instant", instant: r } : null;
152
+ }
153
+ function V(t, e) {
154
+ return t.kind === "instant" ? t.instant : T(`${y(t.date)}T00:00:00`, e);
155
+ }
156
+ function Z(t, e, n) {
157
+ if (t.kind === "date") return t.date;
158
+ const r = j(t.instant, n), a = { year: r.year, month: r.month, day: r.day };
159
+ if (r.hour === 0 && r.minute === 0 && r.second === 0 && t.instant.getUTCMilliseconds() === 0) return e === "start" ? a : B(a, -1);
160
+ const l = r.hour === 23 && r.minute === 59 && r.second === 59;
161
+ return e === "end" && l ? a : null;
162
+ }
163
+ const S = /* @__PURE__ */ new Map();
164
+ function j(t, e) {
165
+ let n = S.get(e);
166
+ n || (n = new Intl.DateTimeFormat("en-CA", {
167
+ calendar: "gregory",
168
+ numberingSystem: "latn",
169
+ timeZone: e,
170
+ year: "numeric",
171
+ month: "2-digit",
172
+ day: "2-digit",
173
+ hour: "2-digit",
174
+ minute: "2-digit",
175
+ second: "2-digit",
176
+ hourCycle: "h23"
177
+ }), S.set(e, n));
178
+ const r = n.formatToParts(t), a = (o) => {
179
+ var l;
180
+ return Number((l = r.find((m) => m.type === o)) == null ? void 0 : l.value);
181
+ };
182
+ return {
183
+ year: a("year"),
184
+ month: a("month"),
185
+ day: a("day"),
186
+ hour: a("hour"),
187
+ minute: a("minute"),
188
+ second: a("second")
189
+ };
190
+ }
191
+ function x(t, e, n) {
192
+ return n.fiscalCalendar || t.day !== 1 || t.year !== e.year || e.day !== _(e.year, e.month) ? null : t.month === e.month ? "month" : t.month % 3 === 1 && e.month === t.month + 2 ? "quarter" : t.month === 1 && e.month === 12 ? "year" : null;
193
+ }
194
+ function y(t) {
195
+ return `${String(t.year).padStart(4, "0")}-${String(t.month).padStart(2, "0")}-${String(t.day).padStart(2, "0")}`;
196
+ }
197
+ function u(t) {
198
+ const e = /* @__PURE__ */ new Date(0);
199
+ return e.setUTCFullYear(t.year, t.month - 1, t.day), e.setUTCHours(0, 0, 0, 0), e;
200
+ }
201
+ function B(t, e) {
202
+ const n = u(t);
203
+ return n.setUTCDate(n.getUTCDate() + e), {
204
+ year: n.getUTCFullYear(),
205
+ month: n.getUTCMonth() + 1,
206
+ day: n.getUTCDate()
207
+ };
208
+ }
209
+ function H(t, e) {
210
+ return t.year === e.year && t.month === e.month && t.day === e.day;
211
+ }
212
+ function _(t, e) {
213
+ return new Date(Date.UTC(t, e, 0)).getUTCDate();
214
+ }
215
+ function Y(t) {
216
+ return t.year >= 1 && t.month >= 1 && t.month <= 12 && t.day >= 1 && t.day <= _(t.year, t.month);
217
+ }
218
+ export {
219
+ X as f,
220
+ Q as p,
221
+ N as v
222
+ };
@@ -0,0 +1 @@
1
+ "use strict";const I=require("../value-format-preferences/index.cjs"),u=require("./raw-temporal-CYdOOyR5.cjs"),T=require("./temporal-bucket-4YEPEKlJ.cjs"),E=new Set(["short","medium","long"]),R=/^(\d{4})-(\d{2})-(\d{2})$/,A=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?$/,P=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2})$/,g=" – ";function U(t){if(!T.isPlainJsonRecord(t))return;const e=Object.keys(t);if(t.mode==="period_label"&&e.length===1)return{mode:"period_label"};if(t.mode==="style"&&e.length===2&&typeof t.dateStyle=="string"&&E.has(t.dateStyle))return{mode:"style",dateStyle:t.dateStyle};if(t.mode==="pattern"&&e.length===3&&t.dialect==="semaphor_tokens"&&typeof t.pattern=="string"&&k(t.pattern)===null)return{mode:"pattern",dialect:"semaphor_tokens",pattern:t.pattern}}function k(t){try{return u.validateRawTemporalPattern({dialect:"semaphor_tokens",pattern:t}),null}catch(e){return e instanceof Error?e.message:"The pattern is invalid."}}function b(t){const{value:e,part:r,presentation:n,preferences:a,calendar:o}=t;if((n==null?void 0:n.mode)==="period_label"&&e.periodLabel&&r==="range")return{ok:!0,text:e.periodLabel};const[l,m]=e.bounds,s=m===void 0||r==="start"?[{raw:l,role:"start"}]:r==="end"?[{raw:m,role:"end"}]:[{raw:l,role:"start"},{raw:m,role:"end"}],f=s.map(({raw:i})=>N(i,o.tz));if(f.some(i=>i===null))return{ok:!1,text:s.map(({raw:i})=>i).join(g),diagnostic:{code:"invalid_temporal_input_value",message:"A date input bound is not a date or an instant."}};const y=e.precision==="day"?f.map((i,w)=>O(i,s[w].role,o.tz)):[],S=y.length>0&&y.every(i=>i!==null)?y:null;return{ok:!0,text:S?F(S,n,a,o):z(f.map(i=>$(i,o.tz)),n,a,o)}}function F(t,e,r,n){const[a,o=a]=t;if((e==null?void 0:e.mode)==="pattern")return C(t.map(d=>_(h(d),"date",e.pattern,r,n)));const l=(e==null?void 0:e.mode)==="style"?e.dateStyle:r.dateStyle;if(!e||e.mode==="period_label"){const d=M(a,o,n);if(d)return T.formatTemporalBucket({value:h(a),metadata:{kind:"temporal_bucket",granularity:d,calendar:{tz:n.tz,weekStart:n.weekStart??1}},format:T.resolveTemporalBucketPresentation({metadata:{kind:"temporal_bucket",granularity:d,calendar:{tz:n.tz,weekStart:n.weekStart??1}},locale:r.locale,styles:{dateStyle:l,dateTime:{...r.dateTime}}}).format})}const m=new Intl.DateTimeFormat(r.locale,{calendar:"gregory",timeZone:"UTC",dateStyle:l});return j(a,o)?m.format(c(a)):v(m,c(a),c(o))}function z(t,e,r,n){if((e==null?void 0:e.mode)==="pattern")return C(t.map(m=>_(m.toISOString(),"instant",e.pattern,r,n)));const a=new Intl.DateTimeFormat(r.locale,{calendar:"gregory",timeZone:n.tz,dateStyle:(e==null?void 0:e.mode)==="style"?e.dateStyle:r.dateTime.dateStyle,timeStyle:r.dateTime.timeStyle}),[o,l]=t;return l&&l.getTime()!==o.getTime()?v(a,o,l):a.format(o)}function v(t,e,r){const n=t;return typeof n.formatRange=="function"?n.formatRange(e,r):`${t.format(e)}${g}${t.format(r)}`}function _(t,e,r,n,a){const o=u.resolveRawTemporalFormat({format:{type:"raw_temporal",presentation:{mode:"pattern",dialect:"semaphor_tokens",pattern:r}},preferences:{...n,defaultCurrency:I.DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES.defaultCurrency},calendar:{tz:a.tz}}),l=e==="date"&&L(r)?"instant":e;return u.formatRawTemporalValue({value:l===e?t:u.fromZonedTime(`${t}T00:00:00`,a.tz).toISOString(),metadata:{kind:"raw_temporal",valueKind:l},format:o}).text}function L(t){return/HH|mm|ss/.test(t)}function C(t){return t[1]===void 0||t[0]===t[1]?t[0]:t.join(g)}function N(t,e){const r=R.exec(t);if(r){const a={year:Number(r[1]),month:Number(r[2]),day:Number(r[3])};return q(a)?{kind:"date",date:a}:null}const n=P.test(t)?new Date(t.replace(" ","T")):A.test(t)?u.fromZonedTime(t.replace(" ","T"),e):null;return n&&!Number.isNaN(n.getTime())?{kind:"instant",instant:n}:null}function $(t,e){return t.kind==="instant"?t.instant:u.fromZonedTime(`${h(t.date)}T00:00:00`,e)}function O(t,e,r){if(t.kind==="date")return t.date;const n=Z(t.instant,r),a={year:n.year,month:n.month,day:n.day};if(n.hour===0&&n.minute===0&&n.second===0&&t.instant.getUTCMilliseconds()===0)return e==="start"?a:V(a,-1);const l=n.hour===23&&n.minute===59&&n.second===59;return e==="end"&&l?a:null}const p=new Map;function Z(t,e){let r=p.get(e);r||(r=new Intl.DateTimeFormat("en-CA",{calendar:"gregory",numberingSystem:"latn",timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),p.set(e,r));const n=r.formatToParts(t),a=o=>{var l;return Number((l=n.find(m=>m.type===o))==null?void 0:l.value)};return{year:a("year"),month:a("month"),day:a("day"),hour:a("hour"),minute:a("minute"),second:a("second")}}function M(t,e,r){return r.fiscalCalendar||t.day!==1||t.year!==e.year||e.day!==D(e.year,e.month)?null:t.month===e.month?"month":t.month%3===1&&e.month===t.month+2?"quarter":t.month===1&&e.month===12?"year":null}function h(t){return`${String(t.year).padStart(4,"0")}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`}function c(t){const e=new Date(0);return e.setUTCFullYear(t.year,t.month-1,t.day),e.setUTCHours(0,0,0,0),e}function V(t,e){const r=c(t);return r.setUTCDate(r.getUTCDate()+e),{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate()}}function j(t,e){return t.year===e.year&&t.month===e.month&&t.day===e.day}function D(t,e){return new Date(Date.UTC(t,e,0)).getUTCDate()}function q(t){return t.year>=1&&t.month>=1&&t.month<=12&&t.day>=1&&t.day<=D(t.year,t.month)}exports.formatTemporalInputValue=b;exports.parseTemporalInputPresentation=U;exports.validateTemporalInputPattern=k;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../chunks/index-UNKSfi7s.cjs"),e=require("../chunks/common-types-nBuCd3u2.cjs");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/index-Dgv9vzT0.cjs"),e=require("../chunks/common-types-nBuCd3u2.cjs");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/index-BVVl2JDK.js";
1
+ import { D as o } from "../chunks/index-DqTelnri.js";
2
2
  import { C as s, E as C } from "../chunks/common-types-C6cAQgyh.js";
3
3
  export {
4
4
  s as CONTROL_CARD_DEFAULT_VALUE,
@@ -1,11 +1,11 @@
1
- import { D as L, a as Ce } from "../chunks/matrix-control-sources-KbZe1gj_.js";
2
- import { k as Bt, l as Vt, n as zt, h as qt, i as jt, j as Gt, C as Ht, d as Ut, f as Kt, e as Wt, o as Xt, c as Qt, p as Jt, u as Yt, w as Zt, y as ea, g as ta, x as aa, m as ra, b as na, r as ia, s as oa, z as sa, t as da, q as ca, v as la } from "../chunks/matrix-control-sources-KbZe1gj_.js";
3
- import { c as Se, r as ve } from "../chunks/field-aggregations-Dl2A3rbV.js";
4
- import { A as pa, D as fa, n as ha, S as ma, h as ga, j as ba, w as Ia, k as _a, l as ya, m as Ca, v as Sa, o as va, B as Da, g as Ta, b as Fa, i as ka, z as wa, u as xa, q as Aa, y as Oa, p as Ra, e as Na, f as Ea, d as Ma, a as La, x as Pa, s as $a, t as Ba } from "../chunks/field-aggregations-Dl2A3rbV.js";
1
+ import { D as L, a as Ce } from "../chunks/matrix-control-sources-B1K7x0SL.js";
2
+ import { k as Bt, l as Vt, n as zt, h as qt, i as jt, j as Gt, C as Ht, d as Ut, f as Kt, e as Wt, o as Xt, c as Qt, p as Jt, u as Yt, w as Zt, y as ea, g as ta, x as aa, m as ra, b as na, r as ia, s as oa, z as sa, t as da, q as ca, v as la } from "../chunks/matrix-control-sources-B1K7x0SL.js";
3
+ import { c as Se, r as ve } from "../chunks/field-aggregations-BQjogiI1.js";
4
+ import { A as pa, D as fa, n as ha, S as ma, h as ga, j as ba, w as Ia, k as _a, l as ya, m as Ca, v as Sa, o as va, B as Da, g as Ta, b as Fa, i as ka, z as wa, u as xa, q as Aa, y as Oa, p as Ra, e as Na, f as Ea, d as Ma, a as La, x as Pa, s as $a, t as Ba } from "../chunks/field-aggregations-BQjogiI1.js";
5
5
  import { q as De, a$ as K, b0 as Te, ad as se, al as Fe, ag as ke } from "../chunks/validators-CsdOtZI6.js";
6
6
  import "../chunks/matrix-operation-contract-D32U2CSw.js";
7
- import { m as B, r as q } from "../chunks/calculated-field-identity-DzJBs2J8.js";
8
- import { E as za, D as qa, o as ja, q as Ga, K as Ha, s as Ua, l as Ka, i as Wa, d as Xa, j as Qa, A as Ja, g as Ya, v as Za, B as er, h as tr, k as ar, w as rr, n as nr, u as ir, C as or, I as sr, y as dr, p as cr, f as lr, a as ur, b as pr, F as fr, G as hr, e as mr, x as gr, H as br, t as Ir, z as _r, J as yr } from "../chunks/calculated-field-identity-DzJBs2J8.js";
7
+ import { m as B, r as q } from "../chunks/calculated-field-identity-Dy_WpDdo.js";
8
+ import { E as za, D as qa, o as ja, q as Ga, K as Ha, s as Ua, l as Ka, i as Wa, d as Xa, j as Qa, A as Ja, g as Ya, v as Za, B as er, h as tr, k as ar, w as rr, n as nr, u as ir, C as or, I as sr, y as dr, p as cr, f as lr, a as ur, b as pr, F as fr, G as hr, e as mr, x as gr, H as br, t as Ir, z as _r, J as yr } from "../chunks/calculated-field-identity-Dy_WpDdo.js";
9
9
  import { n as we } from "../chunks/operators-B3zZoskU.js";
10
10
  import { a as Sr, b as vr, r as Dr } from "../chunks/canonical-result-keys-CEQefvdO.js";
11
11
  import { b as Fr, c as kr, g as wr, a as xr, m as Ar, r as Or } from "../chunks/matrix-definition-E5gXXSTZ.js";
@@ -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-UNKSfi7s.cjs"),w=require("../chunks/switch-DNbWXEOP.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/selection-reducer-Kl22OzIk.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);/**
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-Dgv9vzT0.cjs"),w=require("../chunks/switch-C0520nRt.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/selection-reducer-Kl22OzIk.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,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 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-BVVl2JDK.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/switch-DNv-hVmt.js";
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-DqTelnri.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/switch-evlnTA4t.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";
9
9
  import { S as fa } from "../chunks/save-DgMfP0j8.js";
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../data-app-sdk-adapters/index.cjs"),i=require("react/jsx-runtime"),u=require("react"),M=require("../chunks/validators-DFeDcdpA.cjs"),N=require("../chunks/matrix-operation-contract-0RxoU_M3.cjs"),tr=require("../chunks/matrix-formatter-BJTO8ky9.cjs"),P=require("../chunks/selection-reducer-Kl22OzIk.cjs"),We=require("../chunks/x-B6ghREd2.cjs");function pe(e,r,t){return{...t,name:e,role:r}}function Vr(e){return e}function Qr(e){return e}const Ur={source:{semantic(e){return{...e,kind:"semantic"}},sql(e){return{...e,kind:"sql"}}},field:{measure(e,r={}){return pe(e,"measure",r)},dimension(e,r={}){return pe(e,"dimension",r)},date(e,r={}){return pe(e,"date",r)},id(e,r={}){return pe(e,"id",r)}},filter(e){return{...e,kind:"filter"}},selection(e){return{...e,kind:"selection"}},bindInput(e,r){return{toAnalyticsInput(){const[t]=I.toSemaphorInputSnapshots([e]),n=I.toSemaphorInputBinding({...r,inputId:r.inputId||t.inputId});return{...t,inputId:n.inputId,...n.kind?{kind:n.kind}:{},...n.controlRole?{controlRole:n.controlRole}:{},...n.operator?{operator:n.operator}:{},...n.field?{field:n.field}:{},...n.relationshipHint?{relationshipHint:n.relationshipHint}:{}}}}},control(e){return{...e,kind:"control"}},sqlParam(e){return{...e,kind:"control",role:"sqlParam"}},derivedField(e){return{...e,kind:"derived_field",expressionLanguage:e.expressionLanguage||"semaphor_sql_template"}},metric(e){return{...e,queryKind:"metric"}},analysis(e){return{...e,queryKind:"analysis"}},records(e){return{...e,queryKind:"records"}},inputOptions(e){return{...e,queryKind:"inputOptions"}},sql(e){return{...e,queryKind:"sql"}},matrix(e){return{...e,queryKind:"matrix"}}},de=10,Oe=8;function Ne(e,r){const t=e==null?void 0:e.result;if(t)switch(t.kind){case"records":return ae({title:"Records",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"sql":return ae({title:"SQL Rows",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"inputOptions":return ae({title:"Options",rowNoun:"options",records:t.options.slice(0,de).map(n=>{var s;return{label:n.label,value:n.value,count:n.count,disambiguation:(s=n.disambiguation)==null?void 0:s.join(" / ")}}),columns:[{key:"label",label:"Label"},{key:"value",label:"Value"},{key:"count",label:"Count"},{key:"disambiguation",label:"Disambiguation"}],rowCount:t.rowCount??t.options.length});case"metric":return Gr(t,r);case"matrix":return ae({title:"Matrix Cells",rowNoun:"cells",records:t.window.blocks.flatMap(n=>n.cells).slice(0,de).map(n=>{const s=t.window.descriptors.measures.find(o=>o.id===n.measureId);return{row:tr.matrixMemberLabel(n.rowPath),column:tr.matrixMemberLabel(n.columnPath),measure:(s==null?void 0:s.column.label)||n.measureId,value:n.value}}),columns:[{key:"row",label:"Row"},{key:"column",label:"Column"},{key:"measure",label:"Measure"},{key:"value",label:"Value"}],rowCount:t.window.blocks.reduce((n,s)=>n+s.cells.length,0)});default:return Yr(t)}}function Gr(e,r){var o,a,p,f,c;const t=[{metric:"primaryValue",value:(r==null?void 0:r.primaryValue)??e.primaryValue}],n=(r==null?void 0:r.comparisonKind)??((o=e.comparison)==null?void 0:o.kind);return n&&t.push({metric:`${n} value`,value:(r==null?void 0:r.comparisonValue)??((a=e.comparison)==null?void 0:a.value)},{metric:"delta",value:(r==null?void 0:r.delta)??((p=e.comparison)==null?void 0:p.delta)},{metric:"deltaPercent",value:(r==null?void 0:r.deltaPercent)??((f=e.comparison)==null?void 0:f.deltaPercent)}),(((c=r==null?void 0:r.missingMeasures)==null?void 0:c.filter(Boolean))??[]).forEach(m=>{t.push({metric:`missing:${m}`,value:"missing"})}),Object.entries((r==null?void 0:r.measures)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`measure:${m}`,value:g})}),Object.entries((r==null?void 0:r.measureBindings)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`binding:${m}`,value:g})}),ae({title:"Metric",rowNoun:"values",records:t,columns:[{key:"metric",label:"Metric"},{key:"value",label:"Value"}],rowCount:t.length})}function ae({title:e,rowNoun:r,records:t,columns:n,rowCount:s}){const o=Jr(n,t);if(!o.length)return;const a=s??t.length,p=t.slice(0,de);return{title:e,summary:`${Zr(a)} ${r}`,columns:o.slice(0,Oe),rows:p,truncatedRows:a>p.length,truncatedColumns:o.length>Oe}}function Jr(e,r){if(e!=null&&e.length)return e.filter(n=>n.key).map(n=>({key:n.key,label:n.label||n.key}));const t=new Set;return r.slice(0,de).forEach(n=>{Object.keys(n).forEach(s=>t.add(s))}),[...t].map(n=>({key:n,label:n}))}function Yr(e){throw new Error(`Unhandled Semaphor result kind: ${hr(e)}`)}function Xr(e){return e===null?"null":e===void 0?"":typeof e=="string"?nr(e):typeof e=="number"||typeof e=="boolean"?String(e):nr(hr(e))}function Zr(e){return typeof e=="number"?e.toLocaleString():"-"}function hr(e){return JSON.stringify(e,null,2)??"undefined"}function nr(e){return e.length>80?`${e.slice(0,77)}...`:e}function xe(e){return e.viewTitle||e.queryLabel||e.viewId||e.queryId}function et(e){if(e.label)return e.label;if(e.queryKind!=="inputOptions")return;const t=e.labelField.label||e.valueField.label||e.labelField.name||e.valueField.name||e.inputId;return`${rt(t)} Options`}function rt(e){return(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\bfilter\b/gi," ").replace(/\boptions?\b/gi," ").replace(/\bid\b/gi," ").replace(/\s+/g," ").trim()||e).split(" ").filter(Boolean).map(n=>n===n.toUpperCase()&&n.length>1?n:`${n.slice(0,1).toUpperCase()}${n.slice(1)}`).join(" ")}function _e(e){return e.flatMap(r=>{var m,g,h,x;const t=r.latestAttempt,n=t==null?void 0:t.executionResult,s=qe((m=n==null?void 0:n.validation)==null?void 0:m.warnings),o=qe((g=n==null?void 0:n.validation)==null?void 0:g.errors),a=it((h=n==null?void 0:n.coverage)==null?void 0:h.missingObligations),p=qe((x=n==null?void 0:n.coverage)==null?void 0:x.warnings),f=[],c=xe(r);(t==null?void 0:t.status)==="error"&&f.push({trace:r,tone:"error",title:c,message:t.errorMessage||"Query attempt failed."});for(const b of r.clientWarnings)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of s)f.push({trace:r,tone:"warning",title:c,...b});for(const b of o)f.push({trace:r,tone:"error",title:c,...b});for(const b of a)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of p)f.push({trace:r,tone:"warning",title:c,...b});return f})}function tt(e){return{traceId:e.trace.traceId,queryId:e.trace.queryId,viewId:e.trace.viewId,viewTitle:e.trace.viewTitle,queryLabel:e.trace.queryLabel,severity:e.tone,title:e.title,message:e.message,code:e.code,path:e.path}}function nt(e,r){return e.filter(t=>t.trace.traceId===r.traceId).length}function st(e){const r=_e(e),t=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="error"}).length,n=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="loading"}).length,s=r.filter(a=>a.tone==="error").length,o=r.filter(a=>a.tone==="warning").length;return{total:e.length,failed:t,loading:n,errorCount:s,warningCount:o,issueCount:r.length,severity:t||s?"error":o?"warning":n?"loading":"ok"}}function it(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function qe(e){return Array.isArray(e)?e.map(ot).filter(r=>!!r):[]}function ot(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t,...s?{path:s}:{}}:n?{message:n,code:n}:void 0}function at(e){if(!e.enabled)return e;const r=e.queries.map(br);return{enabled:e.enabled,queries:r,issues:e.issues,getQuery:t=>r.find(n=>n.queryId===t),getQueries:t=>r.filter(n=>n.queryId===t)}}function sr(e){return e?br(e):void 0}function br(e){var r;return(r=e==null?void 0:e.latestAttempt)!=null&&r.executionResult?{...e,latestAttempt:{...e.latestAttempt,resultPreview:e.latestAttempt.resultPreview||Ne(e.latestAttempt.executionResult),executionResult:lt(e.latestAttempt.executionResult)}}:e}function lt(e){const{compiledQuery:r,intent:t,result:n,...s}=e,o=dt(s.metadata);return{...s,...o?{metadata:o}:{}}}function dt(e){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e.dataAppDebug;if(!r||typeof r!="object"||Array.isArray(r))return e;const{compiledSql:t,...n}=r;return{...e,dataAppDebug:n}}function ut(e){return e==="relative"?{position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}:{top:e.startsWith("top")?20:"auto",right:e.endsWith("right")?20:"auto",bottom:e.startsWith("bottom")?20:"auto",left:e.endsWith("left")?20:"auto"}}function ct(e){return e==="error"?{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"}:e==="warning"?{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",background:"var(--sd-loading-bg)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-success-border)",background:"var(--sd-success-bg)",color:"var(--sd-success-fg)"}}function ft(e){return e==="right"?{top:16,right:16,bottom:16,left:"auto",width:"min(720px, calc(100vw - 32px))",height:"auto",borderRadius:6}:{top:"auto",right:16,bottom:16,left:16,width:"auto",height:"min(420px, 45vh)",borderRadius:6}}function pt(e){return e==="right"?{gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)"}:{gridTemplateColumns:"minmax(260px, 340px) minmax(0, 1fr)"}}function mt(e){return{borderRight:"1px solid var(--sd-border)",borderBottom:0}}function vr(e){return e==="error"?{background:"var(--sd-error-dot)"}:e==="success"?{background:"var(--sd-success-dot)"}:e==="loading"?{background:"var(--sd-loading-dot)"}:{background:"var(--sd-idle-dot)"}}function gt(e){return e==="error"?{borderColor:"var(--sd-error-border)",color:"var(--sd-error-fg)"}:e==="success"?{borderColor:"var(--sd-success-border)",color:"var(--sd-success-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-border)",color:"var(--sd-fg-muted)"}}const ir="semaphor-devtools-stylesheet",T="semaphor-devtools",yt=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../data-app-sdk-adapters/index.cjs"),i=require("react/jsx-runtime"),u=require("react"),M=require("../chunks/validators-DFeDcdpA.cjs"),N=require("../chunks/matrix-operation-contract-0RxoU_M3.cjs"),tr=require("../chunks/matrix-formatter-Qk8xsR05.cjs"),P=require("../chunks/selection-reducer-Kl22OzIk.cjs"),We=require("../chunks/x-B6ghREd2.cjs");function pe(e,r,t){return{...t,name:e,role:r}}function Vr(e){return e}function Qr(e){return e}const Ur={source:{semantic(e){return{...e,kind:"semantic"}},sql(e){return{...e,kind:"sql"}}},field:{measure(e,r={}){return pe(e,"measure",r)},dimension(e,r={}){return pe(e,"dimension",r)},date(e,r={}){return pe(e,"date",r)},id(e,r={}){return pe(e,"id",r)}},filter(e){return{...e,kind:"filter"}},selection(e){return{...e,kind:"selection"}},bindInput(e,r){return{toAnalyticsInput(){const[t]=I.toSemaphorInputSnapshots([e]),n=I.toSemaphorInputBinding({...r,inputId:r.inputId||t.inputId});return{...t,inputId:n.inputId,...n.kind?{kind:n.kind}:{},...n.controlRole?{controlRole:n.controlRole}:{},...n.operator?{operator:n.operator}:{},...n.field?{field:n.field}:{},...n.relationshipHint?{relationshipHint:n.relationshipHint}:{}}}}},control(e){return{...e,kind:"control"}},sqlParam(e){return{...e,kind:"control",role:"sqlParam"}},derivedField(e){return{...e,kind:"derived_field",expressionLanguage:e.expressionLanguage||"semaphor_sql_template"}},metric(e){return{...e,queryKind:"metric"}},analysis(e){return{...e,queryKind:"analysis"}},records(e){return{...e,queryKind:"records"}},inputOptions(e){return{...e,queryKind:"inputOptions"}},sql(e){return{...e,queryKind:"sql"}},matrix(e){return{...e,queryKind:"matrix"}}},de=10,Oe=8;function Ne(e,r){const t=e==null?void 0:e.result;if(t)switch(t.kind){case"records":return ae({title:"Records",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"sql":return ae({title:"SQL Rows",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"inputOptions":return ae({title:"Options",rowNoun:"options",records:t.options.slice(0,de).map(n=>{var s;return{label:n.label,value:n.value,count:n.count,disambiguation:(s=n.disambiguation)==null?void 0:s.join(" / ")}}),columns:[{key:"label",label:"Label"},{key:"value",label:"Value"},{key:"count",label:"Count"},{key:"disambiguation",label:"Disambiguation"}],rowCount:t.rowCount??t.options.length});case"metric":return Gr(t,r);case"matrix":return ae({title:"Matrix Cells",rowNoun:"cells",records:t.window.blocks.flatMap(n=>n.cells).slice(0,de).map(n=>{const s=t.window.descriptors.measures.find(o=>o.id===n.measureId);return{row:tr.matrixMemberLabel(n.rowPath),column:tr.matrixMemberLabel(n.columnPath),measure:(s==null?void 0:s.column.label)||n.measureId,value:n.value}}),columns:[{key:"row",label:"Row"},{key:"column",label:"Column"},{key:"measure",label:"Measure"},{key:"value",label:"Value"}],rowCount:t.window.blocks.reduce((n,s)=>n+s.cells.length,0)});default:return Yr(t)}}function Gr(e,r){var o,a,p,f,c;const t=[{metric:"primaryValue",value:(r==null?void 0:r.primaryValue)??e.primaryValue}],n=(r==null?void 0:r.comparisonKind)??((o=e.comparison)==null?void 0:o.kind);return n&&t.push({metric:`${n} value`,value:(r==null?void 0:r.comparisonValue)??((a=e.comparison)==null?void 0:a.value)},{metric:"delta",value:(r==null?void 0:r.delta)??((p=e.comparison)==null?void 0:p.delta)},{metric:"deltaPercent",value:(r==null?void 0:r.deltaPercent)??((f=e.comparison)==null?void 0:f.deltaPercent)}),(((c=r==null?void 0:r.missingMeasures)==null?void 0:c.filter(Boolean))??[]).forEach(m=>{t.push({metric:`missing:${m}`,value:"missing"})}),Object.entries((r==null?void 0:r.measures)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`measure:${m}`,value:g})}),Object.entries((r==null?void 0:r.measureBindings)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`binding:${m}`,value:g})}),ae({title:"Metric",rowNoun:"values",records:t,columns:[{key:"metric",label:"Metric"},{key:"value",label:"Value"}],rowCount:t.length})}function ae({title:e,rowNoun:r,records:t,columns:n,rowCount:s}){const o=Jr(n,t);if(!o.length)return;const a=s??t.length,p=t.slice(0,de);return{title:e,summary:`${Zr(a)} ${r}`,columns:o.slice(0,Oe),rows:p,truncatedRows:a>p.length,truncatedColumns:o.length>Oe}}function Jr(e,r){if(e!=null&&e.length)return e.filter(n=>n.key).map(n=>({key:n.key,label:n.label||n.key}));const t=new Set;return r.slice(0,de).forEach(n=>{Object.keys(n).forEach(s=>t.add(s))}),[...t].map(n=>({key:n,label:n}))}function Yr(e){throw new Error(`Unhandled Semaphor result kind: ${hr(e)}`)}function Xr(e){return e===null?"null":e===void 0?"":typeof e=="string"?nr(e):typeof e=="number"||typeof e=="boolean"?String(e):nr(hr(e))}function Zr(e){return typeof e=="number"?e.toLocaleString():"-"}function hr(e){return JSON.stringify(e,null,2)??"undefined"}function nr(e){return e.length>80?`${e.slice(0,77)}...`:e}function xe(e){return e.viewTitle||e.queryLabel||e.viewId||e.queryId}function et(e){if(e.label)return e.label;if(e.queryKind!=="inputOptions")return;const t=e.labelField.label||e.valueField.label||e.labelField.name||e.valueField.name||e.inputId;return`${rt(t)} Options`}function rt(e){return(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\bfilter\b/gi," ").replace(/\boptions?\b/gi," ").replace(/\bid\b/gi," ").replace(/\s+/g," ").trim()||e).split(" ").filter(Boolean).map(n=>n===n.toUpperCase()&&n.length>1?n:`${n.slice(0,1).toUpperCase()}${n.slice(1)}`).join(" ")}function _e(e){return e.flatMap(r=>{var m,g,h,x;const t=r.latestAttempt,n=t==null?void 0:t.executionResult,s=qe((m=n==null?void 0:n.validation)==null?void 0:m.warnings),o=qe((g=n==null?void 0:n.validation)==null?void 0:g.errors),a=it((h=n==null?void 0:n.coverage)==null?void 0:h.missingObligations),p=qe((x=n==null?void 0:n.coverage)==null?void 0:x.warnings),f=[],c=xe(r);(t==null?void 0:t.status)==="error"&&f.push({trace:r,tone:"error",title:c,message:t.errorMessage||"Query attempt failed."});for(const b of r.clientWarnings)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of s)f.push({trace:r,tone:"warning",title:c,...b});for(const b of o)f.push({trace:r,tone:"error",title:c,...b});for(const b of a)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of p)f.push({trace:r,tone:"warning",title:c,...b});return f})}function tt(e){return{traceId:e.trace.traceId,queryId:e.trace.queryId,viewId:e.trace.viewId,viewTitle:e.trace.viewTitle,queryLabel:e.trace.queryLabel,severity:e.tone,title:e.title,message:e.message,code:e.code,path:e.path}}function nt(e,r){return e.filter(t=>t.trace.traceId===r.traceId).length}function st(e){const r=_e(e),t=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="error"}).length,n=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="loading"}).length,s=r.filter(a=>a.tone==="error").length,o=r.filter(a=>a.tone==="warning").length;return{total:e.length,failed:t,loading:n,errorCount:s,warningCount:o,issueCount:r.length,severity:t||s?"error":o?"warning":n?"loading":"ok"}}function it(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function qe(e){return Array.isArray(e)?e.map(ot).filter(r=>!!r):[]}function ot(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t,...s?{path:s}:{}}:n?{message:n,code:n}:void 0}function at(e){if(!e.enabled)return e;const r=e.queries.map(br);return{enabled:e.enabled,queries:r,issues:e.issues,getQuery:t=>r.find(n=>n.queryId===t),getQueries:t=>r.filter(n=>n.queryId===t)}}function sr(e){return e?br(e):void 0}function br(e){var r;return(r=e==null?void 0:e.latestAttempt)!=null&&r.executionResult?{...e,latestAttempt:{...e.latestAttempt,resultPreview:e.latestAttempt.resultPreview||Ne(e.latestAttempt.executionResult),executionResult:lt(e.latestAttempt.executionResult)}}:e}function lt(e){const{compiledQuery:r,intent:t,result:n,...s}=e,o=dt(s.metadata);return{...s,...o?{metadata:o}:{}}}function dt(e){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e.dataAppDebug;if(!r||typeof r!="object"||Array.isArray(r))return e;const{compiledSql:t,...n}=r;return{...e,dataAppDebug:n}}function ut(e){return e==="relative"?{position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}:{top:e.startsWith("top")?20:"auto",right:e.endsWith("right")?20:"auto",bottom:e.startsWith("bottom")?20:"auto",left:e.endsWith("left")?20:"auto"}}function ct(e){return e==="error"?{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"}:e==="warning"?{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",background:"var(--sd-loading-bg)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-success-border)",background:"var(--sd-success-bg)",color:"var(--sd-success-fg)"}}function ft(e){return e==="right"?{top:16,right:16,bottom:16,left:"auto",width:"min(720px, calc(100vw - 32px))",height:"auto",borderRadius:6}:{top:"auto",right:16,bottom:16,left:16,width:"auto",height:"min(420px, 45vh)",borderRadius:6}}function pt(e){return e==="right"?{gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)"}:{gridTemplateColumns:"minmax(260px, 340px) minmax(0, 1fr)"}}function mt(e){return{borderRight:"1px solid var(--sd-border)",borderBottom:0}}function vr(e){return e==="error"?{background:"var(--sd-error-dot)"}:e==="success"?{background:"var(--sd-success-dot)"}:e==="loading"?{background:"var(--sd-loading-dot)"}:{background:"var(--sd-idle-dot)"}}function gt(e){return e==="error"?{borderColor:"var(--sd-error-border)",color:"var(--sd-error-fg)"}:e==="success"?{borderColor:"var(--sd-success-border)",color:"var(--sd-success-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-border)",color:"var(--sd-fg-muted)"}}const ir="semaphor-devtools-stylesheet",T="semaphor-devtools",yt=`
2
2
  .${T} {
3
3
  --sd-bg: #ffffff;
4
4
  --sd-bg-muted: #fafafa;
@@ -4,7 +4,7 @@ import { createContext as Ae, useContext as Q, useState as _, useRef as T, useEf
4
4
  import { q as pt, u as gt, ad as mt, aX as xe, s as yt } from "../chunks/validators-CsdOtZI6.js";
5
5
  import { a as ko, b1 as Co } from "../chunks/validators-CsdOtZI6.js";
6
6
  import { Q as ht, a6 as bt, a5 as vt, D as sr, t as ar, L as St } from "../chunks/matrix-operation-contract-D32U2CSw.js";
7
- import { m as lr } from "../chunks/matrix-formatter-CCXNRt3s.js";
7
+ import { m as lr } from "../chunks/matrix-formatter-WBgtebUT.js";
8
8
  import { M as wt, a as It, S as xt, E as qt, C as At, r as dr } from "../chunks/selection-reducer-CvCBQbl2.js";
9
9
  import { X as Tt, C as kt, j as Ct } from "../chunks/x-CXDkqdur.js";
10
10
  function he(e, r, t) {
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../chunks/index-Cw2ypaFl.cjs"),s=require("../chunks/raw-temporal-eJXecCyJ.cjs"),o=require("../chunks/pivot-header-presentation-EoUS5ze5.cjs"),f=require("../chunks/matrix-formatter-BJTO8ky9.cjs"),y=require("../chunks/validators-DFeDcdpA.cjs"),p=require("../chunks/matrix-continuation-6nhDy-lF.cjs"),g=require("../chunks/semantic-format-mVI32OJH.cjs"),E=require("../pdf-export-policy/index.cjs"),u=require("../chunks/pivot-result-lifecycle-gl9cBfB-.cjs"),c=require("../chunks/temporal-bucket-4YEPEKlJ.cjs"),x=require("../chunks/metric-comparison-CUmltzpz.cjs"),R=require("../chunks/pivot-result-identity-gquWljbd.cjs"),w=require("../chunks/raw-temporal-contract-CklMVG_1.cjs");function _(e,r){const l=[];r.includeHeaders&&l.push(o.arrayToCSVRow(r.visibleColumns,r.delimiter));for(const t of e){const i=f.formatRowForExport(t,r);l.push(i.map(n=>o.escapeCSVValue(n,r.delimiter)).join(r.delimiter))}return l}function I(e,r,l=`
2
- `){return _(e,r).join(l)}function h(e,r,l){for(const t of e){if(t.level<l){r[t.level].push(t.name);for(let i=1;i<t.colspan;i++)r[t.level].push("")}t.children?h(t.children,r,l):t.columnKey&&r[l].push(t.name)}}function F(e){const r=e.pivotByColumns.length,l=e.groupByColumns.length,t=Array.from({length:r+1},()=>[]);for(let i=0;i<r;i++)t[i].push(...Array(l).fill(""));if(t[r].push(...e.groupByColumns.map(i=>i.label||i.name)),h(e.columnHeadersTree,t,r),e.showRowTotals){for(let i=0;i<r;i++)t[i].push("");t[r].push("Total")}return t}function N(e,r,l){if(e==null)return"";if(!l.useFormattedValues)return String(e);const t=l.columnSettings[r];return typeof e=="number"&&(t==null?void 0:t.type)==="number"?s.formatNumberWithColumnSettings(e,t.numberFormat,l.locale):typeof e=="number"?e.toLocaleString(l.locale):String(e)}function M(e,r,l){const t=[];e.fieldValues.forEach((n,a)=>{e.isSubtotal&&a===0?t.push(`${n} Total`):e.isSubtotal?t.push(""):t.push(String(n??""))});let i=0;return r.columnHeaders.forEach(n=>{var m;const a=(m=e.cells[n])==null?void 0:m.value,T=N(a,n,l);t.push(T),r.showRowTotals&&typeof a=="number"&&(i+=a)}),r.showRowTotals&&t.push(i.toLocaleString(l.locale)),t}function O(e,r,l){const t=[];if(l.includeHeaders){const i=F(r);for(const n of i)t.push(o.arrayToCSVRow(n,l.delimiter))}for(const i of e){const n=M(i,r,l);t.push(n.map(a=>o.escapeCSVValue(a,l.delimiter)).join(l.delimiter))}return t}function A(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const r=Object.getPrototypeOf(e);return r===null||r===Object.prototype}function S(e,r,l){const t=new Set(r),i=Object.keys(e).find(n=>!t.has(n));if(i)throw new Error(`${l} contains unknown property "${i}"`)}function D(e,r="tableTotalsRequest"){if(!A(e))throw new Error(`${r} must be an object`);if(S(e,["source","columns"],r),e.source!=="documentFlatTable")throw new Error(`${r}.source must be documentFlatTable`);if(!Array.isArray(e.columns)||e.columns.length===0)throw new Error(`${r}.columns must be a non-empty array`);let l=0;const t=e.columns.map((a,T)=>{const m=`${r}.columns.${T}`;if(!A(a))throw new Error(`${m} must be an object`);S(a,["fieldId","role","behavior","metricAlias","label"],m);const b=typeof a.fieldId=="string"?a.fieldId.trim():"";if(!b)throw new Error(`${m}.fieldId must be a non-empty string`);if(a.role!=="detail"&&a.role!=="groupby"&&a.role!=="metric")throw new Error(`${m}.role is invalid`);const C=a.role;if(a.behavior!=="sum"&&a.behavior!=="avg"&&a.behavior!=="count"&&a.behavior!=="label")throw new Error(`${m}.behavior is invalid`);const P=a.behavior,d=typeof a.metricAlias=="string"?a.metricAlias.trim():void 0;if(a.metricAlias!==void 0&&!d)throw new Error(`${m}.metricAlias must be a non-empty string`);if(d&&C!=="metric")throw new Error(`${m}.metricAlias requires metric role`);if(P==="label"){if(l+=1,C==="metric")throw new Error(`${m}.behavior label requires a non-metric role`)}else if(C!=="metric")throw new Error(`${m}.${P} requires metric role`);if(a.label!==void 0&&typeof a.label!="string")throw new Error(`${m}.label must be a string`);return{fieldId:b,role:C,behavior:P,...d?{metricAlias:d}:{},...a.label!==void 0?{label:a.label}:{}}}),i=new Map,n=new Set;for(const a of t){if(a.metricAlias){if(n.has(a.metricAlias))throw new Error(`${r}.columns duplicates metricAlias "${a.metricAlias}"`);n.add(a.metricAlias)}const T=i.get(a.fieldId)??[];T.push(a),i.set(a.fieldId,T)}for(const[a,T]of i)if(T.length!==1){for(const m of T)if(m.role!=="metric"||!m.metricAlias)throw new Error(`${r}.columns duplicates fieldId "${a}" without distinct metricAlias values`)}if(l>1)throw new Error(`${r}.columns may contain at most one label`);return{source:"documentFlatTable",columns:t}}function B(e,r="tableTotalsByColumnId"){if(!A(e))throw new Error(`${r} must be an object`);const l={};for(const[t,i]of Object.entries(e)){if(!t.trim())throw new Error(`${r} contains an empty column id`);if(i!==null&&typeof i!="string"&&(typeof i!="number"||!Number.isFinite(i)))throw new Error(`${r}.${t} must be a string, finite number, or null`);l[t]=i}if(Object.keys(l).length===0)throw new Error(`${r} must not be empty`);return l}function V(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(!e.trim())return null;const r=Number(e);return Number.isFinite(r)?r:null}function L(e){const r=e.visibleColumns.map(l=>{const i=Object.prototype.hasOwnProperty.call(e.totalsByColumnId,l)?e.totalsByColumnId[l]:l===e.labelColumnKey?"Total":null;if(i===null)return"";if(!e.useFormattedValues)return String(i);const n=u.findResolvedMeasureFormat({snapshot:e.snapshot,scope:e.scope,target:{kind:"column",columnKey:l}}),a=n?V(i):null;return n&&a!==null?s.formatMeasureCanonical(a,n):String(i)});return`${o.arrayToCSVRow(r,e.delimiter)}
3
- `}exports.isMeasureCanonicalFormat=v.isMeasureCanonicalFormat;exports.isNumericCanonicalFormat=v.isNumericCanonicalFormat;exports.RawTemporalFormatContractError=s.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=s.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=s.classifyDeclaredSqlTemporalColumn;exports.createRawTemporalChunkClassificationEvidence=s.createRawTemporalChunkClassificationEvidence;exports.formatCurrency=s.formatCurrency;exports.formatDuration=s.formatDuration;exports.formatDurationCanonical=s.formatDurationCanonical;exports.formatMeasureCanonical=s.formatMeasureCanonical;exports.formatNumber=s.formatNumber;exports.formatNumberCustom=s.formatNumberCustom;exports.formatNumberWithColumnSettings=s.formatNumberWithColumnSettings;exports.formatNumericCanonical=s.formatNumericCanonical;exports.formatPercent=s.formatPercent;exports.formatRawTemporalValue=s.formatRawTemporalValue;exports.formatScientific=s.formatScientific;exports.parseNumericCanonicalFormat=s.parseNumericCanonicalFormat;exports.parseRawTemporalChunkClassificationEvidence=s.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedNumericCanonicalFormat=s.parseResolvedNumericCanonicalFormat;exports.parseResolvedRawTemporalFormat=s.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=s.prepareRawTemporalFormatter;exports.resolveCurrencyFractionDigits=s.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=s.resolveNumericPresentation;exports.resolveRawTemporalFormat=s.resolveRawTemporalFormat;exports.validateCardExportNumericPresentationSnapshot=s.validateCardExportNumericPresentationSnapshot;exports.validateRawTemporalPattern=s.validateRawTemporalPattern;exports.AGGREGATE_PDF_CONTINUATION_CLASS=o.PDF_GROUP_CONTINUATION_CLASS;exports.AGGREGATE_TOTAL_MEMBER_MARKER=o.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=o.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=o.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.MATRIX_EXPORT_MAX_ARTIFACT_BYTES=o.MATRIX_EXPORT_MAX_ARTIFACT_BYTES;exports.MATRIX_EXPORT_MAX_CELLS=o.MATRIX_EXPORT_MAX_CELLS;exports.MATRIX_EXPORT_MAX_ENCODED_BYTES=o.MATRIX_EXPORT_MAX_ENCODED_BYTES;exports.MATRIX_PRINT_DEFAULT_DECIMALS=o.MATRIX_PRINT_DEFAULT_DECIMALS;exports.MATRIX_PRINT_ORGANIZATION_DEFAULTS=o.MATRIX_PRINT_ORGANIZATION_DEFAULTS;exports.PDF_GROUP_CONTINUATION_CLASS=o.PDF_GROUP_CONTINUATION_CLASS;exports.PdfSafetyLimitError=o.PdfSafetyLimitError;exports.PivotHeaderPresentationError=o.PivotHeaderPresentationError;exports.applyMatrixPrintNumberDefaults=o.applyMatrixPrintNumberDefaults;exports.applyMatrixPrintOrganization=o.applyMatrixPrintOrganization;exports.arrayToCSV=o.arrayToCSV;exports.arrayToCSVRow=o.arrayToCSVRow;exports.buildMatrixPrintTable=o.buildMatrixPrintTable;exports.buildMatrixTableStructure=o.buildMatrixTableStructure;exports.escapeCSVValue=o.escapeCSVValue;exports.formatAggregateGrandTotalLabel=o.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=o.formatAggregateGroupCell;exports.formatAggregateGroupRow=o.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=o.formatAggregateSubtotalLabel;exports.formatMetricComparison=o.formatMetricComparison;exports.isAggregateTotalMemberMarker=o.isAggregateTotalMemberMarker;exports.matrixFlatCsvHeaders=o.matrixFlatCsvHeaders;exports.matrixFlatCsvRow=o.matrixFlatCsvRow;exports.objectsToCSV=o.objectsToCSV;exports.planMatrixKeepWithPrevious=o.planMatrixKeepWithPrevious;exports.prepareMatrixExportPresentation=o.prepareMatrixExportPresentation;exports.presentAggregateGroupRow=o.presentAggregateGroupRow;exports.presentPivotHeader=o.presentPivotHeader;exports.protectCSVText=o.protectCSVText;exports.readPdfErrorResponse=o.readPdfErrorResponse;exports.requestStructuredPdf=o.requestStructuredPdf;exports.requiresChunkedCsvExport=o.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=o.resolveAggregateTablePresentationContext;exports.shouldPresentAggregateGroupValue=o.shouldPresentAggregateGroupValue;exports.formatCellValue=f.formatCellValue;exports.formatDate=f.formatDate;exports.formatRelativeTime=f.formatRelativeTime;exports.formatRowForExport=f.formatRowForExport;exports.getTimezoneAbbreviation=f.getTimezoneAbbreviation;exports.getTimezoneName=f.getTimezoneName;exports.parseWithSourceTimezone=f.parseWithSourceTimezone;exports.resolveTimezone=f.resolveTimezone;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=y.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.MATRIX_EXPORT_TRANSFER_BYTES=p.MATRIX_EXPORT_TRANSFER_BYTES;exports.assertMatrixBatchResponseSize=p.assertMatrixBatchResponseSize;exports.matrixAttemptKey=p.matrixAttemptKey;exports.matrixBatchInputSchema=p.matrixBatchInputSchema;exports.matrixBatchResponseSchema=p.matrixBatchResponseSchema;exports.matrixExportDeadlineSchema=p.matrixExportDeadlineSchema;exports.matrixManifestSchema=p.matrixManifestSchema;exports.parseMatrixAttemptKey=p.parseMatrixAttemptKey;exports.parseMatrixBatchResponse=p.parseMatrixBatchResponse;exports.parseMatrixManifest=p.parseMatrixManifest;exports.fromSemanticFormat=g.fromSemanticFormat;exports.FAST_PDF_POLICY=E.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=E.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=E.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=E.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=E.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=E.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=E.isFastPdfRowCountEligible;exports.MissingResolvedRawTemporalFormatError=u.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=u.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=u.PresentationExecutionSnapshotError;exports.createCanonicalPivotResultTransport=u.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=u.createPresentationExecutionSnapshot;exports.deriveMetricInstanceAliasExpectations=u.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=u.derivePivotResultContractExpectations;exports.findResolvedMeasureFormat=u.findResolvedMeasureFormat;exports.findResolvedNumericFormat=u.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=u.findResolvedRawTemporalFormat;exports.findResolvedTemporalBucketFormat=u.findResolvedTemporalBucketFormat;exports.parseCanonicalPivotResultTransport=u.parseCanonicalPivotResultTransport;exports.parsePresentationExecutionSnapshot=u.parsePresentationExecutionSnapshot;exports.parsePresentationScope=u.parsePresentationScope;exports.parseResolvedPresentationEntries=u.parseResolvedPresentationEntries;exports.validateCardExportPresentationSnapshot=u.validateCardExportPresentationSnapshot;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=c.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=c.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.TemporalBucketContractError=c.TemporalBucketContractError;exports.formatTemporalBucket=c.formatTemporalBucket;exports.isTemporalBucketPreset=c.isTemporalBucketPreset;exports.parseResolvedTemporalBucketFormat=c.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=c.parseTemporalBucketValue;exports.resolveApplicableTemporalBucketFormat=c.resolveApplicableTemporalBucketFormat;exports.resolveTemporalBucketPresentation=c.resolveTemporalBucketPresentation;exports.tokenizeTemporalBucketPattern=c.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=c.validateTemporalBucketFormatApplicability;exports.resolveMetricResultAlias=x.resolveMetricResultAlias;exports.PivotResultIdentityError=R.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=R.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=R.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=R.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=R.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=R.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=R.resolveUniqueQueryColumnKeyMapEntry;exports.parseRawTemporalValueMetadata=w.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=w.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=L;exports.formatPivotDataRow=M;exports.formatPivotTableForCSV=O;exports.formatTableForCSV=_;exports.generatePivotHeaders=F;exports.generateTableCSV=I;exports.parseFlatTableExportTotalsByColumnId=B;exports.parseFlatTableExportTotalsRequest=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../chunks/raw-temporal-CYdOOyR5.cjs"),s=require("../chunks/numeric-presentation-mY6wJMdB.cjs"),o=require("../chunks/pivot-header-presentation-DV2aBB6p.cjs"),E=require("../chunks/matrix-formatter-Qk8xsR05.cjs"),g=require("../chunks/validators-DFeDcdpA.cjs"),T=require("../chunks/matrix-continuation-6nhDy-lF.cjs"),I=require("../chunks/semantic-format-Bd7HmLG_.cjs"),R=require("../pdf-export-policy/index.cjs"),u=require("../chunks/pivot-result-lifecycle-OXAgoIYm.cjs"),p=require("../chunks/temporal-bucket-4YEPEKlJ.cjs"),S=require("../chunks/temporal-input-presentation-BIOSVWCL.cjs"),x=require("../chunks/metric-comparison-CUmltzpz.cjs"),d=require("../chunks/pivot-result-identity-gquWljbd.cjs"),_=require("../chunks/raw-temporal-contract-CklMVG_1.cjs");function h(e,r){const l=[];r.includeHeaders&&l.push(o.arrayToCSVRow(r.visibleColumns,r.delimiter));for(const t of e){const i=E.formatRowForExport(t,r);l.push(i.map(n=>o.escapeCSVValue(n,r.delimiter)).join(r.delimiter))}return l}function N(e,r,l=`
2
+ `){return h(e,r).join(l)}function F(e,r,l){for(const t of e){if(t.level<l){r[t.level].push(t.name);for(let i=1;i<t.colspan;i++)r[t.level].push("")}t.children?F(t.children,r,l):t.columnKey&&r[l].push(t.name)}}function M(e){const r=e.pivotByColumns.length,l=e.groupByColumns.length,t=Array.from({length:r+1},()=>[]);for(let i=0;i<r;i++)t[i].push(...Array(l).fill(""));if(t[r].push(...e.groupByColumns.map(i=>i.label||i.name)),F(e.columnHeadersTree,t,r),e.showRowTotals){for(let i=0;i<r;i++)t[i].push("");t[r].push("Total")}return t}function O(e,r,l){if(e==null)return"";if(!l.useFormattedValues)return String(e);const t=l.columnSettings[r];return typeof e=="number"&&(t==null?void 0:t.type)==="number"?s.formatNumberWithColumnSettings(e,t.numberFormat,l.locale):typeof e=="number"?e.toLocaleString(l.locale):String(e)}function y(e,r,l){const t=[];e.fieldValues.forEach((n,a)=>{e.isSubtotal&&a===0?t.push(`${n} Total`):e.isSubtotal?t.push(""):t.push(String(n??""))});let i=0;return r.columnHeaders.forEach(n=>{var m;const a=(m=e.cells[n])==null?void 0:m.value,f=O(a,n,l);t.push(f),r.showRowTotals&&typeof a=="number"&&(i+=a)}),r.showRowTotals&&t.push(i.toLocaleString(l.locale)),t}function V(e,r,l){const t=[];if(l.includeHeaders){const i=M(r);for(const n of i)t.push(o.arrayToCSVRow(n,l.delimiter))}for(const i of e){const n=y(i,r,l);t.push(n.map(a=>o.escapeCSVValue(a,l.delimiter)).join(l.delimiter))}return t}function b(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const r=Object.getPrototypeOf(e);return r===null||r===Object.prototype}function w(e,r,l){const t=new Set(r),i=Object.keys(e).find(n=>!t.has(n));if(i)throw new Error(`${l} contains unknown property "${i}"`)}function D(e,r="tableTotalsRequest"){if(!b(e))throw new Error(`${r} must be an object`);if(w(e,["source","columns"],r),e.source!=="documentFlatTable")throw new Error(`${r}.source must be documentFlatTable`);if(!Array.isArray(e.columns)||e.columns.length===0)throw new Error(`${r}.columns must be a non-empty array`);let l=0;const t=e.columns.map((a,f)=>{const m=`${r}.columns.${f}`;if(!b(a))throw new Error(`${m} must be an object`);w(a,["fieldId","role","behavior","metricAlias","label"],m);const v=typeof a.fieldId=="string"?a.fieldId.trim():"";if(!v)throw new Error(`${m}.fieldId must be a non-empty string`);if(a.role!=="detail"&&a.role!=="groupby"&&a.role!=="metric")throw new Error(`${m}.role is invalid`);const C=a.role;if(a.behavior!=="sum"&&a.behavior!=="avg"&&a.behavior!=="count"&&a.behavior!=="label")throw new Error(`${m}.behavior is invalid`);const A=a.behavior,P=typeof a.metricAlias=="string"?a.metricAlias.trim():void 0;if(a.metricAlias!==void 0&&!P)throw new Error(`${m}.metricAlias must be a non-empty string`);if(P&&C!=="metric")throw new Error(`${m}.metricAlias requires metric role`);if(A==="label"){if(l+=1,C==="metric")throw new Error(`${m}.behavior label requires a non-metric role`)}else if(C!=="metric")throw new Error(`${m}.${A} requires metric role`);if(a.label!==void 0&&typeof a.label!="string")throw new Error(`${m}.label must be a string`);return{fieldId:v,role:C,behavior:A,...P?{metricAlias:P}:{},...a.label!==void 0?{label:a.label}:{}}}),i=new Map,n=new Set;for(const a of t){if(a.metricAlias){if(n.has(a.metricAlias))throw new Error(`${r}.columns duplicates metricAlias "${a.metricAlias}"`);n.add(a.metricAlias)}const f=i.get(a.fieldId)??[];f.push(a),i.set(a.fieldId,f)}for(const[a,f]of i)if(f.length!==1){for(const m of f)if(m.role!=="metric"||!m.metricAlias)throw new Error(`${r}.columns duplicates fieldId "${a}" without distinct metricAlias values`)}if(l>1)throw new Error(`${r}.columns may contain at most one label`);return{source:"documentFlatTable",columns:t}}function B(e,r="tableTotalsByColumnId"){if(!b(e))throw new Error(`${r} must be an object`);const l={};for(const[t,i]of Object.entries(e)){if(!t.trim())throw new Error(`${r} contains an empty column id`);if(i!==null&&typeof i!="string"&&(typeof i!="number"||!Number.isFinite(i)))throw new Error(`${r}.${t} must be a string, finite number, or null`);l[t]=i}if(Object.keys(l).length===0)throw new Error(`${r} must not be empty`);return l}function L(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(!e.trim())return null;const r=Number(e);return Number.isFinite(r)?r:null}function k(e){const r=e.visibleColumns.map(l=>{const i=Object.prototype.hasOwnProperty.call(e.totalsByColumnId,l)?e.totalsByColumnId[l]:l===e.labelColumnKey?"Total":null;if(i===null)return"";if(!e.useFormattedValues)return String(i);const n=u.findResolvedMeasureFormat({snapshot:e.snapshot,scope:e.scope,target:{kind:"column",columnKey:l}}),a=n?L(i):null;return n&&a!==null?s.formatMeasureCanonical(a,n):String(i)});return`${o.arrayToCSVRow(r,e.delimiter)}
3
+ `}exports.RawTemporalFormatContractError=c.RawTemporalFormatContractError;exports.assertRawTemporalChunkClassificationAgreement=c.assertRawTemporalChunkClassificationAgreement;exports.classifyDeclaredSqlTemporalColumn=c.classifyDeclaredSqlTemporalColumn;exports.createRawTemporalChunkClassificationEvidence=c.createRawTemporalChunkClassificationEvidence;exports.formatRawTemporalValue=c.formatRawTemporalValue;exports.isMeasureCanonicalFormat=c.isMeasureCanonicalFormat;exports.isNumericCanonicalFormat=c.isNumericCanonicalFormat;exports.parseRawTemporalChunkClassificationEvidence=c.parseRawTemporalChunkClassificationEvidence;exports.parseResolvedRawTemporalFormat=c.parseResolvedRawTemporalFormat;exports.prepareRawTemporalFormatter=c.prepareRawTemporalFormatter;exports.resolveRawTemporalFormat=c.resolveRawTemporalFormat;exports.validateRawTemporalPattern=c.validateRawTemporalPattern;exports.formatCurrency=s.formatCurrency;exports.formatDuration=s.formatDuration;exports.formatDurationCanonical=s.formatDurationCanonical;exports.formatMeasureCanonical=s.formatMeasureCanonical;exports.formatNumber=s.formatNumber;exports.formatNumberCustom=s.formatNumberCustom;exports.formatNumberWithColumnSettings=s.formatNumberWithColumnSettings;exports.formatNumericCanonical=s.formatNumericCanonical;exports.formatPercent=s.formatPercent;exports.formatScientific=s.formatScientific;exports.parseNumericCanonicalFormat=s.parseNumericCanonicalFormat;exports.parseResolvedNumericCanonicalFormat=s.parseResolvedNumericCanonicalFormat;exports.resolveCurrencyFractionDigits=s.resolveCurrencyFractionDigits;exports.resolveNumericPresentation=s.resolveNumericPresentation;exports.validateCardExportNumericPresentationSnapshot=s.validateCardExportNumericPresentationSnapshot;exports.AGGREGATE_PDF_CONTINUATION_CLASS=o.PDF_GROUP_CONTINUATION_CLASS;exports.AGGREGATE_TOTAL_MEMBER_MARKER=o.AGGREGATE_TOTAL_MEMBER_MARKER;exports.DIRECT_CSV_EXPORT_MAX_ROWS=o.DIRECT_CSV_EXPORT_MAX_ROWS;exports.FULL_DATASET_CSV_EXPORT_MAX_ROWS=o.FULL_DATASET_CSV_EXPORT_MAX_ROWS;exports.MATRIX_EXPORT_MAX_ARTIFACT_BYTES=o.MATRIX_EXPORT_MAX_ARTIFACT_BYTES;exports.MATRIX_EXPORT_MAX_CELLS=o.MATRIX_EXPORT_MAX_CELLS;exports.MATRIX_EXPORT_MAX_ENCODED_BYTES=o.MATRIX_EXPORT_MAX_ENCODED_BYTES;exports.MATRIX_PRINT_DEFAULT_DECIMALS=o.MATRIX_PRINT_DEFAULT_DECIMALS;exports.MATRIX_PRINT_ORGANIZATION_DEFAULTS=o.MATRIX_PRINT_ORGANIZATION_DEFAULTS;exports.PDF_GROUP_CONTINUATION_CLASS=o.PDF_GROUP_CONTINUATION_CLASS;exports.PdfSafetyLimitError=o.PdfSafetyLimitError;exports.PivotHeaderPresentationError=o.PivotHeaderPresentationError;exports.applyMatrixPrintNumberDefaults=o.applyMatrixPrintNumberDefaults;exports.applyMatrixPrintOrganization=o.applyMatrixPrintOrganization;exports.arrayToCSV=o.arrayToCSV;exports.arrayToCSVRow=o.arrayToCSVRow;exports.buildMatrixPrintTable=o.buildMatrixPrintTable;exports.buildMatrixTableStructure=o.buildMatrixTableStructure;exports.escapeCSVValue=o.escapeCSVValue;exports.formatAggregateGrandTotalLabel=o.formatAggregateGrandTotalLabel;exports.formatAggregateGroupCell=o.formatAggregateGroupCell;exports.formatAggregateGroupRow=o.formatAggregateGroupRow;exports.formatAggregateSubtotalLabel=o.formatAggregateSubtotalLabel;exports.formatMetricComparison=o.formatMetricComparison;exports.isAggregateTotalMemberMarker=o.isAggregateTotalMemberMarker;exports.matrixFlatCsvHeaders=o.matrixFlatCsvHeaders;exports.matrixFlatCsvRow=o.matrixFlatCsvRow;exports.objectsToCSV=o.objectsToCSV;exports.planMatrixKeepWithPrevious=o.planMatrixKeepWithPrevious;exports.prepareMatrixExportPresentation=o.prepareMatrixExportPresentation;exports.presentAggregateGroupRow=o.presentAggregateGroupRow;exports.presentPivotHeader=o.presentPivotHeader;exports.protectCSVText=o.protectCSVText;exports.readPdfErrorResponse=o.readPdfErrorResponse;exports.requestStructuredPdf=o.requestStructuredPdf;exports.requiresChunkedCsvExport=o.requiresChunkedCsvExport;exports.resolveAggregateTablePresentationContext=o.resolveAggregateTablePresentationContext;exports.shouldPresentAggregateGroupValue=o.shouldPresentAggregateGroupValue;exports.formatCellValue=E.formatCellValue;exports.formatDate=E.formatDate;exports.formatRelativeTime=E.formatRelativeTime;exports.formatRowForExport=E.formatRowForExport;exports.getTimezoneAbbreviation=E.getTimezoneAbbreviation;exports.getTimezoneName=E.getTimezoneName;exports.parseWithSourceTimezone=E.parseWithSourceTimezone;exports.resolveTimezone=E.resolveTimezone;exports.SEMAPHOR_GENERATED_COUNT_METRIC_ID=g.SEMAPHOR_GENERATED_COUNT_METRIC_ID;exports.MATRIX_EXPORT_TRANSFER_BYTES=T.MATRIX_EXPORT_TRANSFER_BYTES;exports.assertMatrixBatchResponseSize=T.assertMatrixBatchResponseSize;exports.matrixAttemptKey=T.matrixAttemptKey;exports.matrixBatchInputSchema=T.matrixBatchInputSchema;exports.matrixBatchResponseSchema=T.matrixBatchResponseSchema;exports.matrixExportDeadlineSchema=T.matrixExportDeadlineSchema;exports.matrixManifestSchema=T.matrixManifestSchema;exports.parseMatrixAttemptKey=T.parseMatrixAttemptKey;exports.parseMatrixBatchResponse=T.parseMatrixBatchResponse;exports.parseMatrixManifest=T.parseMatrixManifest;exports.fromSemanticFormat=I.fromSemanticFormat;exports.FAST_PDF_POLICY=R.FAST_PDF_POLICY;exports.PDF_SAFETY_LIMIT_EXCEEDED=R.PDF_SAFETY_LIMIT_EXCEEDED;exports.getUtf8ByteLength=R.getUtf8ByteLength;exports.isFastPdfOutputSizeEligible=R.isFastPdfOutputSizeEligible;exports.isFastPdfPageCountEligible=R.isFastPdfPageCountEligible;exports.isFastPdfRequestSizeEligible=R.isFastPdfRequestSizeEligible;exports.isFastPdfRowCountEligible=R.isFastPdfRowCountEligible;exports.MissingResolvedRawTemporalFormatError=u.MissingResolvedRawTemporalFormatError;exports.PivotResultLifecycleError=u.PivotResultLifecycleError;exports.PresentationExecutionSnapshotError=u.PresentationExecutionSnapshotError;exports.createCanonicalPivotResultTransport=u.createCanonicalPivotResultTransport;exports.createPresentationExecutionSnapshot=u.createPresentationExecutionSnapshot;exports.deriveMetricInstanceAliasExpectations=u.deriveMetricInstanceAliasExpectations;exports.derivePivotResultContractExpectations=u.derivePivotResultContractExpectations;exports.findResolvedMeasureFormat=u.findResolvedMeasureFormat;exports.findResolvedNumericFormat=u.findResolvedNumericFormat;exports.findResolvedRawTemporalFormat=u.findResolvedRawTemporalFormat;exports.findResolvedTemporalBucketFormat=u.findResolvedTemporalBucketFormat;exports.parseCanonicalPivotResultTransport=u.parseCanonicalPivotResultTransport;exports.parsePresentationExecutionSnapshot=u.parsePresentationExecutionSnapshot;exports.parsePresentationScope=u.parsePresentationScope;exports.parseResolvedPresentationEntries=u.parseResolvedPresentationEntries;exports.validateCardExportPresentationSnapshot=u.validateCardExportPresentationSnapshot;exports.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET=p.DEFAULT_RESOLVED_TEMPORAL_STYLE_SET;exports.TEMPORAL_BUCKET_PATTERN_TOKENS=p.TEMPORAL_BUCKET_PATTERN_TOKENS;exports.TemporalBucketContractError=p.TemporalBucketContractError;exports.formatTemporalBucket=p.formatTemporalBucket;exports.isTemporalBucketPreset=p.isTemporalBucketPreset;exports.parseResolvedTemporalBucketFormat=p.parseResolvedTemporalBucketFormat;exports.parseTemporalBucketValue=p.parseTemporalBucketValue;exports.resolveApplicableTemporalBucketFormat=p.resolveApplicableTemporalBucketFormat;exports.resolveTemporalBucketPresentation=p.resolveTemporalBucketPresentation;exports.tokenizeTemporalBucketPattern=p.tokenizeTemporalBucketPattern;exports.validateTemporalBucketFormatApplicability=p.validateTemporalBucketFormatApplicability;exports.formatTemporalInputValue=S.formatTemporalInputValue;exports.parseTemporalInputPresentation=S.parseTemporalInputPresentation;exports.validateTemporalInputPattern=S.validateTemporalInputPattern;exports.resolveMetricResultAlias=x.resolveMetricResultAlias;exports.PivotResultIdentityError=d.PivotResultIdentityError;exports.isPivotEmptyTupleAllowed=d.isPivotEmptyTupleAllowed;exports.isPivotSubtotalPrefix=d.isPivotSubtotalPrefix;exports.requirePivotHeaderMembers=d.requirePivotHeaderMembers;exports.requirePivotResultColumnIdentities=d.requirePivotResultColumnIdentities;exports.resolveQueryColumnKeyMapEntry=d.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=d.resolveUniqueQueryColumnKeyMapEntry;exports.parseRawTemporalValueMetadata=_.parseRawTemporalValueMetadata;exports.validateRawTemporalResultColumn=_.validateRawTemporalResultColumn;exports.buildFlatTableExportTotalsFooter=k;exports.formatPivotDataRow=y;exports.formatPivotTableForCSV=V;exports.formatTableForCSV=h;exports.generatePivotHeaders=M;exports.generateTableCSV=N;exports.parseFlatTableExportTotalsByColumnId=B;exports.parseFlatTableExportTotalsRequest=D;