@platforma-sdk/model 1.38.0 → 1.39.6

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 (39) hide show
  1. package/dist/bconfig/index.d.ts +2 -3
  2. package/dist/bconfig/index.d.ts.map +1 -1
  3. package/dist/bconfig/normalization.d.ts +1 -7
  4. package/dist/bconfig/normalization.d.ts.map +1 -1
  5. package/dist/bconfig/types.d.ts +0 -4
  6. package/dist/bconfig/types.d.ts.map +1 -1
  7. package/dist/bconfig/{utils.d.ts → util.d.ts} +1 -1
  8. package/dist/bconfig/util.d.ts.map +1 -0
  9. package/dist/bconfig/v3.d.ts +3 -32
  10. package/dist/bconfig/v3.d.ts.map +1 -1
  11. package/dist/builder.d.ts +3 -1
  12. package/dist/builder.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +607 -597
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/pframe.d.ts.map +1 -1
  18. package/dist/render/api.d.ts +4 -2
  19. package/dist/render/api.d.ts.map +1 -1
  20. package/dist/render/internal.d.ts +4 -3
  21. package/dist/render/internal.d.ts.map +1 -1
  22. package/dist/render/util/pframe_upgraders.d.ts +3 -0
  23. package/dist/render/util/pframe_upgraders.d.ts.map +1 -0
  24. package/dist/version.d.ts +1 -1
  25. package/package.json +5 -5
  26. package/src/bconfig/index.ts +2 -3
  27. package/src/bconfig/normalization.ts +2 -105
  28. package/src/bconfig/types.ts +0 -5
  29. package/src/bconfig/v3.ts +3 -41
  30. package/src/builder.ts +21 -2
  31. package/src/pframe.ts +7 -0
  32. package/src/render/api.ts +36 -8
  33. package/src/render/internal.ts +15 -3
  34. package/src/render/util/pframe_upgraders.ts +54 -0
  35. package/dist/bconfig/container.d.ts +0 -46
  36. package/dist/bconfig/container.d.ts.map +0 -1
  37. package/dist/bconfig/utils.d.ts.map +0 -1
  38. package/src/bconfig/container.ts +0 -58
  39. /package/src/bconfig/{utils.ts → util.ts} +0 -0
package/dist/index.mjs CHANGED
@@ -1,44 +1,44 @@
1
- var qe = Object.defineProperty;
2
- var ze = (t, e, n) => e in t ? qe(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var F = (t, e, n) => ze(t, typeof e != "symbol" ? e + "" : e, n);
4
- import { isPColumn as De, mapPObjectData as ve, isDataInfoEntries as Fe, isDataInfo as we, dataInfoToEntries as Ye, selectorsToPredicate as X, resolveAnchors as Se, deriveNativeId as Xe, isPColumnSpec as ne, isPartitionedDataInfoEntries as Qe, getAxisId as O, entriesToDataInfo as Ze, canonicalizeAxisId as et, withEnrichments as Ce, AnchoredIdDeriver as Ae, isPlRef as tt, mapValueInVOE as nt, ensurePColumn as rt, extractAllColumns as it, mapPTableDef as st, mapDataInfo as ot, matchAxisId as K, getColumnIdAndSpec as Pe, canonicalizeJson as R, parseJson as xe, isPTableAbsent as at, uniquePlId as lt, PTableNA as ut } from "@milaboratories/pl-model-common";
1
+ var ze = Object.defineProperty;
2
+ var Ye = (t, e, n) => e in t ? ze(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var k = (t, e, n) => Ye(t, typeof e != "symbol" ? e + "" : e, n);
4
+ import { isPColumn as De, mapPObjectData as ve, isDataInfoEntries as Oe, isDataInfo as Se, dataInfoToEntries as Xe, selectorsToPredicate as Y, resolveAnchors as Ce, deriveNativeId as Qe, isPColumnSpec as te, isPartitionedDataInfoEntries as Ze, getAxisId as O, entriesToDataInfo as et, canonicalizeAxisId as tt, withEnrichments as we, AnchoredIdDeriver as Ae, isPlRef as nt, mapValueInVOE as rt, ensurePColumn as it, extractAllColumns as st, mapPTableDef as ot, mapDataInfo as at, extractConfigGeneric as lt, matchAxisId as N, getColumnIdAndSpec as Pe, canonicalizeJson as R, parseJson as xe, isPTableAbsent as ut, uniquePlId as ct, PTableNA as pt } from "@milaboratories/pl-model-common";
5
5
  export * from "@milaboratories/pl-model-common";
6
- import Oe from "canonicalize";
7
- import { z as U } from "zod";
6
+ import Re from "canonicalize";
7
+ import { z as $ } from "zod";
8
8
  export * from "@milaboratories/pl-error-like";
9
- class ct extends Error {
9
+ class dt extends Error {
10
10
  constructor(e, n) {
11
11
  super(`${e.length}${n ? "+" : ""} errors, first error: ` + e[0].message), this.errors = e, this.moreErrors = n;
12
12
  }
13
13
  }
14
- function dt(t) {
15
- if (!t.ok) throw new ct(t.errors, t.moreErrors);
14
+ function ft(t) {
15
+ if (!t.ok) throw new dt(t.errors, t.moreErrors);
16
16
  return t.value;
17
17
  }
18
- function rn(t) {
18
+ function on(t) {
19
19
  return new Proxy(t, {
20
20
  get(e, n) {
21
- return dt(e[n]);
21
+ return ft(e[n]);
22
22
  }
23
23
  });
24
24
  }
25
25
  function P(t) {
26
- return typeof t == "string" || typeof t == "number" || typeof t == "boolean" || t === null ? re(t) : t;
26
+ return typeof t == "string" || typeof t == "number" || typeof t == "boolean" || t === null ? ne(t) : t;
27
27
  }
28
- function Q(t) {
28
+ function X(t) {
29
29
  return { type: "GetFromCtx", variable: t };
30
30
  }
31
- function sn(t) {
31
+ function an(t) {
32
32
  return {
33
33
  type: "Isolate",
34
34
  cfg: t
35
35
  };
36
36
  }
37
- const on = Q("$args"), an = Q("$it"), ln = Q("$prod"), un = Q("$staging"), cn = Q("$ui");
38
- function re(t) {
37
+ const ln = X("$args"), un = X("$it"), cn = X("$prod"), pn = X("$staging"), dn = X("$ui");
38
+ function ne(t) {
39
39
  return { type: "Immediate", value: t };
40
40
  }
41
- function Re(t) {
41
+ function Ke(t) {
42
42
  const e = {};
43
43
  for (const [n, r] of Object.entries(t)) e[n] = P(r);
44
44
  return {
@@ -46,7 +46,7 @@ function Re(t) {
46
46
  template: e
47
47
  };
48
48
  }
49
- function dn(...t) {
49
+ function fn(...t) {
50
50
  const e = [];
51
51
  for (const n of t) e.push(P(n));
52
52
  return {
@@ -54,14 +54,14 @@ function dn(...t) {
54
54
  template: e
55
55
  };
56
56
  }
57
- function ie(t, e) {
57
+ function re(t, e) {
58
58
  return {
59
59
  type: "GetJsonField",
60
60
  source: P(t),
61
61
  field: P(e)
62
62
  };
63
63
  }
64
- function pn(t, e, n = "$it") {
64
+ function hn(t, e, n = "$it") {
65
65
  return {
66
66
  type: "MapRecordValues",
67
67
  source: t,
@@ -69,7 +69,7 @@ function pn(t, e, n = "$it") {
69
69
  itVar: n
70
70
  };
71
71
  }
72
- function fn(t, e, n = "$it") {
72
+ function gn(t, e, n = "$it") {
73
73
  return {
74
74
  type: "MapArrayValues",
75
75
  source: t,
@@ -77,39 +77,39 @@ function fn(t, e, n = "$it") {
77
77
  itVar: n
78
78
  };
79
79
  }
80
- function hn(t) {
80
+ function mn(t) {
81
81
  return {
82
82
  type: "Flatten",
83
83
  source: t
84
84
  };
85
85
  }
86
- function gn(t) {
86
+ function yn(t) {
87
87
  return {
88
88
  type: "IsEmpty",
89
89
  arg: t
90
90
  };
91
91
  }
92
- function mn(t) {
92
+ function bn(t) {
93
93
  return {
94
94
  type: "Not",
95
95
  operand: t
96
96
  };
97
97
  }
98
- function yn(t, e) {
98
+ function vn(t, e) {
99
99
  return {
100
100
  type: "And",
101
101
  operand1: t,
102
102
  operand2: e
103
103
  };
104
104
  }
105
- function bn(t, e) {
105
+ function Sn(t, e) {
106
106
  return {
107
107
  type: "Or",
108
108
  operand1: t,
109
109
  operand2: e
110
110
  };
111
111
  }
112
- function vn(t, e) {
112
+ function Cn(t, e) {
113
113
  return {
114
114
  type: "GetResourceField",
115
115
  source: P(t),
@@ -124,7 +124,7 @@ function wn() {
124
124
  };
125
125
  };
126
126
  }
127
- function Sn(t, e, n = "$it") {
127
+ function An(t, e, n = "$it") {
128
128
  return {
129
129
  type: "MapResourceFields",
130
130
  source: t,
@@ -132,21 +132,21 @@ function Sn(t, e, n = "$it") {
132
132
  itVar: n
133
133
  };
134
134
  }
135
- function Cn(t, e) {
135
+ function Pn(t, e) {
136
136
  return {
137
137
  type: "GetBlobContent",
138
138
  range: e,
139
139
  source: P(t)
140
140
  };
141
141
  }
142
- function An(t, e) {
142
+ function xn(t, e) {
143
143
  return {
144
144
  type: "GetBlobContentAsString",
145
145
  range: e,
146
146
  source: P(t)
147
147
  };
148
148
  }
149
- function Pn() {
149
+ function _n() {
150
150
  return function(t, e) {
151
151
  return {
152
152
  type: "GetBlobContentAsJson",
@@ -155,100 +155,100 @@ function Pn() {
155
155
  };
156
156
  };
157
157
  }
158
- function xn(t) {
158
+ function In(t) {
159
159
  return {
160
160
  type: "GetDownloadedBlobContent",
161
161
  source: P(t)
162
162
  };
163
163
  }
164
- function In(t) {
164
+ function Tn(t) {
165
165
  return {
166
166
  type: "GetOnDemandBlobContent",
167
167
  source: P(t)
168
168
  };
169
169
  }
170
- function _n(t, e) {
170
+ function Ln(t, e) {
171
171
  return {
172
172
  type: "ExtractArchiveAndGetURL",
173
173
  format: e,
174
174
  source: P(t)
175
175
  };
176
176
  }
177
- function Tn(t) {
177
+ function Fn(t) {
178
178
  return {
179
179
  type: "GetImportProgress",
180
180
  source: P(t)
181
181
  };
182
182
  }
183
- function Ln(t, e) {
183
+ function En(t, e) {
184
184
  return {
185
185
  type: "GetLastLogs",
186
186
  source: P(t),
187
187
  lines: e
188
188
  };
189
189
  }
190
- function En(t, e) {
190
+ function kn(t, e) {
191
191
  return {
192
192
  type: "GetProgressLog",
193
193
  source: P(t),
194
194
  patternToSearch: e
195
195
  };
196
196
  }
197
- function kn(t, e) {
197
+ function Dn(t, e) {
198
198
  return {
199
199
  type: "GetProgressLogWithInfo",
200
200
  source: P(t),
201
201
  patternToSearch: e
202
202
  };
203
203
  }
204
- function Dn(t) {
204
+ function On(t) {
205
205
  return {
206
206
  type: "GetLogHandle",
207
207
  source: P(t)
208
208
  };
209
209
  }
210
- function pt() {
210
+ function ht() {
211
211
  return typeof globalThis.getPlatforma < "u" || typeof globalThis.platforma < "u";
212
212
  }
213
- function Ve(t) {
213
+ function Ne(t) {
214
214
  if (t && typeof globalThis.getPlatforma == "function")
215
215
  return globalThis.getPlatforma(t);
216
216
  if (typeof globalThis.platforma < "u") return globalThis.platforma;
217
217
  throw new Error("Can't get platforma instance.");
218
218
  }
219
- function ft() {
219
+ function gt() {
220
220
  if (typeof globalThis.cfgRenderCtx < "u") return globalThis.cfgRenderCtx;
221
221
  }
222
222
  function v() {
223
223
  if (typeof globalThis.cfgRenderCtx < "u") return globalThis.cfgRenderCtx;
224
224
  throw new Error("Not in config rendering context");
225
225
  }
226
- function H(t, e) {
227
- const n = ft();
226
+ function G(t, e) {
227
+ const n = gt();
228
228
  if (n === void 0) return !1;
229
229
  if (t in n.callbackRegistry) throw new Error(`Callback with key ${t} already registered.`);
230
230
  return n.callbackRegistry[t] = e, !0;
231
231
  }
232
- const ce = /* @__PURE__ */ new Map();
233
- function ht(t, e) {
232
+ const ue = /* @__PURE__ */ new Map();
233
+ function mt(t, e) {
234
234
  t in v().callbackRegistry || (v().callbackRegistry[t] = (n) => {
235
- for (const r of ce.get(t))
235
+ for (const r of ue.get(t))
236
236
  r(n);
237
- }, ce.set(t, [])), ce.get(t).push(e);
237
+ }, ue.set(t, [])), ue.get(t).push(e);
238
238
  }
239
- class L {
239
+ class F {
240
240
  constructor(e, n = (r) => r) {
241
- F(this, "isResolved", !1);
242
- F(this, "resolvedValue");
243
- this.handle = e, this.postProcess = n, ht(e, (r) => {
241
+ k(this, "isResolved", !1);
242
+ k(this, "resolvedValue");
243
+ this.handle = e, this.postProcess = n, mt(e, (r) => {
244
244
  this.resolvedValue = n(r), this.isResolved = !0;
245
245
  });
246
246
  }
247
247
  map(e) {
248
- return new L(this.handle, (n) => e(this.postProcess(n)));
248
+ return new F(this.handle, (n) => e(this.postProcess(n)));
249
249
  }
250
250
  mapDefined(e) {
251
- return new L(this.handle, (n) => {
251
+ return new F(this.handle, (n) => {
252
252
  const r = this.postProcess(n);
253
253
  return r ? e(r) : void 0;
254
254
  });
@@ -257,7 +257,7 @@ class L {
257
257
  return this.isResolved ? this.resolvedValue : { __awaited_futures__: [this.handle] };
258
258
  }
259
259
  }
260
- function he(t, e) {
260
+ function fe(t, e) {
261
261
  return t === void 0 ? void 0 : e(t);
262
262
  }
263
263
  class D {
@@ -299,7 +299,7 @@ class D {
299
299
  ...this.resolvePath,
300
300
  ...n.map((i) => typeof i == "string" ? i : i.field)
301
301
  ];
302
- return he(
302
+ return fe(
303
303
  v().resolveWithCommon(this.handle, e, ...n),
304
304
  (i) => new D(i, r)
305
305
  );
@@ -321,7 +321,7 @@ class D {
321
321
  }
322
322
  getError() {
323
323
  const e = [...this.resolvePath, "error"];
324
- return he(
324
+ return fe(
325
325
  v().getError(this.handle),
326
326
  (n) => new D(n, e)
327
327
  );
@@ -386,13 +386,13 @@ class D {
386
386
  return i;
387
387
  }
388
388
  getFileContentAsBase64(e) {
389
- return new L(v().getBlobContentAsBase64(this.handle, e));
389
+ return new F(v().getBlobContentAsBase64(this.handle, e));
390
390
  }
391
391
  getFileContentAsString(e) {
392
- return new L(v().getBlobContentAsString(this.handle, e));
392
+ return new F(v().getBlobContentAsString(this.handle, e));
393
393
  }
394
394
  getFileContentAsJson(e) {
395
- return new L(
395
+ return new F(
396
396
  v().getBlobContentAsString(this.handle, e)
397
397
  ).mapDefined((n) => JSON.parse(n));
398
398
  }
@@ -412,7 +412,7 @@ class D {
412
412
  * @returns downloaded file handle
413
413
  */
414
414
  getFileHandle() {
415
- return new L(v().getDownloadedBlobContentHandle(this.handle));
415
+ return new F(v().getDownloadedBlobContentHandle(this.handle));
416
416
  }
417
417
  /**
418
418
  * @deprecated use getFileHandle
@@ -424,7 +424,7 @@ class D {
424
424
  * @returns downloaded file handle
425
425
  */
426
426
  getRemoteFileHandle() {
427
- return new L(v().getOnDemandBlobContentHandle(this.handle));
427
+ return new F(v().getOnDemandBlobContentHandle(this.handle));
428
428
  }
429
429
  /**
430
430
  * @deprecated use getRemoteFileHandle
@@ -436,22 +436,22 @@ class D {
436
436
  * @returns the url to the extracted folder
437
437
  */
438
438
  extractArchiveAndGetURL(e) {
439
- return new L(v().extractArchiveAndGetURL(this.handle, e));
439
+ return new F(v().extractArchiveAndGetURL(this.handle, e));
440
440
  }
441
441
  getImportProgress() {
442
- return new L(v().getImportProgress(this.handle));
442
+ return new F(v().getImportProgress(this.handle));
443
443
  }
444
444
  getLastLogs(e) {
445
- return new L(v().getLastLogs(this.handle, e));
445
+ return new F(v().getLastLogs(this.handle, e));
446
446
  }
447
447
  getProgressLog(e) {
448
- return new L(v().getProgressLog(this.handle, e));
448
+ return new F(v().getProgressLog(this.handle, e));
449
449
  }
450
450
  getProgressLogWithInfo(e) {
451
- return new L(v().getProgressLogWithInfo(this.handle, e));
451
+ return new F(v().getProgressLogWithInfo(this.handle, e));
452
452
  }
453
453
  getLogHandle() {
454
- return new L(v().getLogHandle(this.handle));
454
+ return new F(v().getLogHandle(this.handle));
455
455
  }
456
456
  allFieldsResolved(e = "Input") {
457
457
  switch (e) {
@@ -477,123 +477,124 @@ class D {
477
477
  let l = (r === "Input" ? this.listInputFields() : r === "Output" ? this.listOutputFields() : this.listDynamicFields()).map(
478
478
  (u) => [u, this.resolve({ field: u, assertFieldType: r })]
479
479
  );
480
- return s && (l = l.filter((u) => u[1] !== void 0)), l.map(([u, d]) => o(u, d));
480
+ return s && (l = l.filter((u) => u[1] !== void 0)), l.map(([u, h]) => o(u, h));
481
481
  }
482
482
  }
483
- const Ke = "staging", je = "main", gt = {
483
+ const Ve = "staging", je = "main", yt = {
484
484
  explicitColumnsSupport: !0,
485
485
  inlineColumnsSupport: !0,
486
486
  activeArgs: !0,
487
- pTablePartitionFiltersSupport: !0
487
+ pTablePartitionFiltersSupport: !0,
488
+ pFrameInSetFilterSupport: !0
488
489
  };
489
- function Ne(t) {
490
+ function Je(t) {
490
491
  return typeof t == "object" && t !== null && "__awaited_futures__" in t;
491
492
  }
492
- function ge(t, e, n) {
493
+ function he(t, e, n) {
493
494
  if (e.has(n)) return;
494
495
  if (e.add(n), typeof n === "object")
495
- if (Ne(n)) n.__awaited_futures__.forEach((i) => t.add(i));
496
+ if (Je(n)) n.__awaited_futures__.forEach((i) => t.add(i));
496
497
  else if (Array.isArray(n))
497
- for (const i of n) ge(t, e, i);
498
+ for (const i of n) he(t, e, i);
498
499
  else
499
500
  for (const [, i] of Object.entries(n))
500
- i !== n && ge(t, e, i);
501
+ i !== n && he(t, e, i);
501
502
  }
502
- function mt(t) {
503
+ function bt(t) {
503
504
  const e = /* @__PURE__ */ new Set();
504
- return ge(e, /* @__PURE__ */ new Set(), t), e;
505
+ return he(e, /* @__PURE__ */ new Set(), t), e;
505
506
  }
506
- const Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
507
+ const Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
507
508
  __proto__: null,
508
- GlobalCfgRenderCtxFeatureFlags: gt,
509
+ GlobalCfgRenderCtxFeatureFlags: yt,
509
510
  MainAccessorName: je,
510
- StagingAccessorName: Ke,
511
- getAllFutureAwaits: mt,
512
- isFutureAwait: Ne
513
- }, Symbol.toStringTag, { value: "Module" })), yt = "pl7.app/label", bt = "pl7.app/trace", vt = U.object({
514
- type: U.string(),
515
- importance: U.number().optional(),
516
- id: U.string().optional(),
517
- label: U.string()
518
- }), wt = U.array(vt), St = 1e-3, Ct = "__LABEL__", Ie = "__LABEL__@1";
519
- function $e(t, e, n = {}) {
511
+ StagingAccessorName: Ve,
512
+ getAllFutureAwaits: bt,
513
+ isFutureAwait: Je
514
+ }, Symbol.toStringTag, { value: "Module" })), vt = "pl7.app/label", St = "pl7.app/trace", Ct = $.object({
515
+ type: $.string(),
516
+ importance: $.number().optional(),
517
+ id: $.string().optional(),
518
+ label: $.string()
519
+ }), wt = $.array(Ct), At = 1e-3, Pt = "__LABEL__", _e = "__LABEL__@1";
520
+ function Me(t, e, n = {}) {
520
521
  const r = /* @__PURE__ */ new Map(), i = n.forceTraceElements !== void 0 && n.forceTraceElements.length > 0 ? new Set(n.forceTraceElements) : void 0, s = /* @__PURE__ */ new Map(), o = t.map((p) => {
521
522
  var c, m;
522
523
  const b = e(p);
523
- let f, y, w;
524
- "spec" in b && typeof b.spec == "object" ? (f = b.spec, y = b.prefixTrace, w = b.suffixTrace) : f = b;
525
- const E = (c = f.annotations) == null ? void 0 : c[yt], x = (m = f.annotations) == null ? void 0 : m[bt], C = (x ? wt.safeParse(JSON.parse(x)).data : void 0) ?? [], A = [
524
+ let d, y, S;
525
+ "spec" in b && typeof b.spec == "object" ? (d = b.spec, y = b.prefixTrace, S = b.suffixTrace) : d = b;
526
+ const E = (c = d.annotations) == null ? void 0 : c[vt], _ = (m = d.annotations) == null ? void 0 : m[St], w = (_ ? wt.safeParse(JSON.parse(_)).data : void 0) ?? [], A = [
526
527
  ...y ?? [],
527
- ...C,
528
- ...w ?? []
528
+ ...w,
529
+ ...S ?? []
529
530
  ];
530
531
  if (E !== void 0) {
531
- const _ = { label: E, type: Ct, importance: -2 };
532
- n.addLabelAsSuffix ? A.push(_) : A.splice(0, 0, _);
532
+ const T = { label: E, type: Pt, importance: -2 };
533
+ n.addLabelAsSuffix ? A.push(T) : A.splice(0, 0, T);
533
534
  }
534
- const S = [], I = /* @__PURE__ */ new Map();
535
- for (let _ = A.length - 1; _ >= 0; --_) {
536
- const { type: W } = A[_], j = A[_].importance ?? 0, $ = (I.get(W) ?? 0) + 1;
537
- I.set(W, $);
538
- const V = `${W}@${$}`;
539
- s.set(V, (s.get(V) ?? 0) + 1), r.set(
540
- V,
535
+ const C = [], I = /* @__PURE__ */ new Map();
536
+ for (let T = A.length - 1; T >= 0; --T) {
537
+ const { type: U } = A[T], V = A[T].importance ?? 0, J = (I.get(U) ?? 0) + 1;
538
+ I.set(U, J);
539
+ const K = `${U}@${J}`;
540
+ s.set(K, (s.get(K) ?? 0) + 1), r.set(
541
+ K,
541
542
  Math.max(
542
- r.get(V) ?? Number.NEGATIVE_INFINITY,
543
- j - (A.length - _) * St
543
+ r.get(K) ?? Number.NEGATIVE_INFINITY,
544
+ V - (A.length - T) * At
544
545
  )
545
- ), S.push({ ...A[_], fullType: V, occurrenceIndex: $ });
546
+ ), C.push({ ...A[T], fullType: K, occurrenceIndex: J });
546
547
  }
547
- return S.reverse(), {
548
+ return C.reverse(), {
548
549
  value: p,
549
- spec: f,
550
+ spec: d,
550
551
  label: E,
551
- fullTrace: S
552
+ fullTrace: C
552
553
  };
553
554
  }), a = [], l = [], u = [...r];
554
555
  u.sort(([, p], [, b]) => b - p);
555
556
  for (const [p] of u)
556
557
  p.endsWith("@1") || s.get(p) === t.length ? a.push(p) : l.push(p);
557
- const d = (p, b = !1) => {
558
- const f = [];
558
+ const h = (p, b = !1) => {
559
+ const d = [];
559
560
  for (let y = 0; y < o.length; y++) {
560
- const w = o[y], E = w.fullTrace.filter((A) => p.has(A.fullType) || i && i.has(A.type));
561
+ const S = o[y], E = S.fullTrace.filter((A) => p.has(A.fullType) || i && i.has(A.type));
561
562
  if (E.length === 0)
562
563
  if (b)
563
- f.push({
564
+ d.push({
564
565
  label: "Unlabeled",
565
- value: w.value
566
+ value: S.value
566
567
  });
567
568
  else return;
568
- const x = E.map((A) => A.label), C = n.separator ?? " / ";
569
- f.push({
570
- label: x.join(C),
571
- value: w.value
569
+ const _ = E.map((A) => A.label), w = n.separator ?? " / ";
570
+ d.push({
571
+ label: _.join(w),
572
+ value: S.value
572
573
  });
573
574
  }
574
- return f;
575
+ return d;
575
576
  };
576
577
  if (a.length === 0) {
577
578
  if (l.length !== 0) throw new Error("Non-empty secondary types list while main types list is empty.");
578
- return d(new Set(Ie), !0);
579
+ return h(new Set(_e), !0);
579
580
  }
580
- let h = 0, g = -1;
581
- for (; h < a.length; ) {
581
+ let f = 0, g = -1;
582
+ for (; f < a.length; ) {
582
583
  const p = /* @__PURE__ */ new Set();
583
- n.includeNativeLabel && p.add(Ie);
584
- for (let f = 0; f < h; ++f) p.add(a[f]);
584
+ n.includeNativeLabel && p.add(_e);
585
+ for (let d = 0; d < f; ++d) p.add(a[d]);
585
586
  g >= 0 && p.add(a[g]);
586
- const b = d(p);
587
- if (b !== void 0 && new Set(b.map((f) => f.label)).size === t.length) return b;
588
- g++, g >= a.length && (h++, g = h);
587
+ const b = h(p);
588
+ if (b !== void 0 && new Set(b.map((d) => d.label)).size === t.length) return b;
589
+ g++, g >= a.length && (f++, g = f);
589
590
  }
590
- return d(/* @__PURE__ */ new Set([...a, ...l]), !0);
591
+ return h(/* @__PURE__ */ new Set([...a, ...l]), !0);
591
592
  }
592
- const Z = "PColumnData/", se = Z + "ResourceMap", oe = Z + "Partitioned/ResourceMap", q = Z + "JsonPartitioned", B = Z + "BinaryPartitioned", Je = Z + "Partitioned/", ae = Je + "JsonPartitioned", z = Je + "BinaryPartitioned";
593
- function Me(t, e, n, r = [], i) {
593
+ const Q = "PColumnData/", ie = Q + "ResourceMap", se = Q + "Partitioned/ResourceMap", H = Q + "JsonPartitioned", B = Q + "BinaryPartitioned", $e = Q + "Partitioned/", oe = $e + "JsonPartitioned", q = $e + "BinaryPartitioned";
594
+ function Be(t, e, n, r = [], i) {
594
595
  if (t === void 0) return !1;
595
596
  switch (t.resourceType.name) {
596
- case se: {
597
+ case ie: {
597
598
  let s = t.getInputsLocked();
598
599
  for (const o of t.listInputFields()) {
599
600
  const a = t.resolve({ field: o, assertFieldType: "Input" }), l = [...r, ...JSON.parse(o)], u = a === void 0 ? void 0 : e(a);
@@ -601,13 +602,13 @@ function Me(t, e, n, r = [], i) {
601
602
  }
602
603
  return s;
603
604
  }
604
- case oe: {
605
+ case se: {
605
606
  let s = t.getInputsLocked();
606
607
  for (const o of t.listInputFields()) {
607
608
  const a = t.resolve({ field: o, assertFieldType: "Input" });
608
609
  if (a === void 0) s = !1;
609
610
  else {
610
- const l = [...r, ...JSON.parse(o)], u = Me(
611
+ const l = [...r, ...JSON.parse(o)], u = Be(
611
612
  a,
612
613
  e,
613
614
  n,
@@ -623,55 +624,55 @@ function Me(t, e, n, r = [], i) {
623
624
  throw new Error(`Unknown resource type: ${t.resourceType.name}`);
624
625
  }
625
626
  }
626
- function On(t, e, n = !1) {
627
+ function Kn(t, e, n = !1) {
627
628
  const r = [];
628
- return { isComplete: Me(t, e, r, [], n), data: r };
629
+ return { isComplete: Be(t, e, r, [], n), data: r };
629
630
  }
630
- const me = (t) => {
631
+ const ge = (t) => {
631
632
  if (t.endsWith(".index"))
632
633
  return { baseKey: t.substring(0, t.length - 6), type: "index" };
633
634
  if (t.endsWith(".values"))
634
635
  return { baseKey: t.substring(0, t.length - 7), type: "values" };
635
636
  throw new Error(`key must ends on .index/.values for binary p-column, got: ${t}`);
636
637
  };
637
- function At(t) {
638
+ function xt(t) {
638
639
  if (!t) return;
639
640
  const e = t.resourceType.name, n = t.getDataAsJson(), r = [];
640
641
  let i = 0;
641
642
  switch (e) {
642
- case se:
643
+ case ie:
643
644
  i = n.keyLength;
644
645
  break;
645
- case oe:
646
+ case se:
646
647
  i = n.partitionKeyLength + n.keyLength;
647
648
  break;
648
- case q:
649
+ case H:
649
650
  case B:
650
651
  i = n.partitionKeyLength;
651
652
  break;
652
- case z:
653
- case ae:
653
+ case q:
654
+ case oe:
654
655
  i = n.superPartitionKeyLength + n.partitionKeyLength;
655
656
  break;
656
657
  }
657
658
  switch (e) {
658
- case se:
659
- case q:
659
+ case ie:
660
+ case H:
660
661
  case B:
661
662
  for (let s of t.listInputFields()) {
662
- e === B && (s = me(s).baseKey);
663
+ e === B && (s = ge(s).baseKey);
663
664
  const o = [...JSON.parse(s)];
664
665
  r.push(o);
665
666
  }
666
667
  break;
668
+ case se:
669
+ case q:
667
670
  case oe:
668
- case z:
669
- case ae:
670
671
  for (const s of t.listInputFields()) {
671
672
  const o = [...JSON.parse(s)], a = t.resolve({ field: s, assertFieldType: "Input" });
672
673
  if (a !== void 0)
673
674
  for (let l of a.listInputFields()) {
674
- e === z && (l = me(l).baseKey);
675
+ e === q && (l = ge(l).baseKey);
675
676
  const u = [...o, ...JSON.parse(l)];
676
677
  r.push(u);
677
678
  }
@@ -680,7 +681,7 @@ function At(t) {
680
681
  }
681
682
  return { data: r, keyLength: i };
682
683
  }
683
- function Pt(t) {
684
+ function _t(t) {
684
685
  if (t.type !== "JsonPartitioned" && t.type !== "BinaryPartitioned")
685
686
  throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${t.type}`);
686
687
  const { parts: e, partitionKeyLength: n } = t, r = [];
@@ -699,11 +700,11 @@ function Pt(t) {
699
700
  }
700
701
  return r.map((i) => Array.from(i.values()));
701
702
  }
702
- function xt(t) {
703
+ function It(t) {
703
704
  if (t === void 0) return;
704
- if (Fe(t))
705
- return Pt(t);
706
- const e = At(t);
705
+ if (Oe(t))
706
+ return _t(t);
707
+ const e = xt(t);
707
708
  if (!e) return;
708
709
  const { data: n, keyLength: r } = e, i = [];
709
710
  for (let s = 0; s < r; ++s)
@@ -716,16 +717,16 @@ function xt(t) {
716
717
  }
717
718
  return i.map((s) => Array.from(s.values()));
718
719
  }
719
- function ye(t, e = []) {
720
+ function me(t, e = []) {
720
721
  if (t === void 0 || !t.getIsReadyOrError()) return;
721
722
  const n = t.resourceType.name, r = t.getDataAsJson();
722
- if (e.length > 0 && (n === ae || n === z))
723
+ if (e.length > 0 && (n === oe || n === q))
723
724
  throw new Error(`Unexpected nested super-partitioned resource: ${n}`);
724
725
  switch (n) {
726
+ case ie:
725
727
  case se:
726
- case oe:
727
728
  throw new Error(`Only data columns are supported, got: ${n}`);
728
- case q: {
729
+ case H: {
729
730
  if (typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
730
731
  throw new Error(`Missing partitionKeyLength in metadata for ${n}`);
731
732
  const i = [];
@@ -746,7 +747,7 @@ function ye(t, e = []) {
746
747
  throw new Error(`Missing partitionKeyLength in metadata for ${n}`);
747
748
  const i = [], s = /* @__PURE__ */ new Map();
748
749
  for (const o of t.listInputFields()) {
749
- const a = me(o), l = t.resolve({ field: o, assertFieldType: "Input" });
750
+ const a = ge(o), l = t.resolve({ field: o, assertFieldType: "Input" });
750
751
  if (l === void 0) return;
751
752
  let u = s.get(a.baseKey);
752
753
  u || (u = {}, s.set(a.baseKey, u)), a.type === "index" ? u.index = l : u.values = l;
@@ -768,16 +769,16 @@ function ye(t, e = []) {
768
769
  parts: i
769
770
  };
770
771
  }
771
- case ae: {
772
+ case oe: {
772
773
  if (typeof (r == null ? void 0 : r.superPartitionKeyLength) != "number" || typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
773
774
  throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);
774
775
  const i = r.superPartitionKeyLength + r.partitionKeyLength, s = [];
775
776
  for (const o of t.listInputFields()) {
776
777
  const a = t.resolve({ field: o, assertFieldType: "Input" });
777
778
  if (a === void 0) return;
778
- if (a.resourceType.name !== q)
779
- throw new Error(`Expected ${q} inside ${n}, but got ${a.resourceType.name}`);
780
- const l = ye(a, JSON.parse(o));
779
+ if (a.resourceType.name !== H)
780
+ throw new Error(`Expected ${H} inside ${n}, but got ${a.resourceType.name}`);
781
+ const l = me(a, JSON.parse(o));
781
782
  if (l === void 0) return;
782
783
  if (l.type !== "JsonPartitioned")
783
784
  throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);
@@ -789,7 +790,7 @@ function ye(t, e = []) {
789
790
  parts: s
790
791
  };
791
792
  }
792
- case z: {
793
+ case q: {
793
794
  if (typeof (r == null ? void 0 : r.superPartitionKeyLength) != "number" || typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
794
795
  throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);
795
796
  const i = r.superPartitionKeyLength + r.partitionKeyLength, s = [];
@@ -798,7 +799,7 @@ function ye(t, e = []) {
798
799
  if (a === void 0) return;
799
800
  if (a.resourceType.name !== B)
800
801
  throw new Error(`Expected ${B} inside ${n}, but got ${a.resourceType.name}`);
801
- const l = ye(a, JSON.parse(o));
802
+ const l = me(a, JSON.parse(o));
802
803
  if (l === void 0) return;
803
804
  if (l.type !== "BinaryPartitioned")
804
805
  throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);
@@ -814,15 +815,15 @@ function ye(t, e = []) {
814
815
  throw new Error(`Unknown resource type: ${n}`);
815
816
  }
816
817
  }
817
- function It(t) {
818
+ function Tt(t) {
818
819
  if (t !== void 0) {
819
- if (Fe(t)) return t;
820
- if (we(t)) return Ye(t);
821
- if (t instanceof D) return ye(t);
820
+ if (Oe(t)) return t;
821
+ if (Se(t)) return Xe(t);
822
+ if (t instanceof D) return me(t);
822
823
  throw new Error(`Unexpected input type: ${typeof t}`);
823
824
  }
824
825
  }
825
- function _t(t, e) {
826
+ function Lt(t, e) {
826
827
  const n = [...e].sort((s, o) => o[0] - s[0]);
827
828
  if (t.type === "JsonPartitioned" || t.type === "BinaryPartitioned") {
828
829
  const { partitionKeyLength: s } = t;
@@ -882,45 +883,45 @@ function _t(t, e) {
882
883
  }
883
884
  }
884
885
  }
885
- function Tt(t) {
886
+ function Ft(t) {
886
887
  if (!Array.isArray(t)) return !1;
887
888
  if (t.length === 0) return !0;
888
889
  const e = t[0];
889
890
  return typeof e == "object" && e !== null && "key" in e && "val" in e;
890
891
  }
891
- class Lt {
892
+ class Et {
892
893
  constructor(e) {
893
894
  this.columns = e;
894
895
  }
895
896
  selectColumns(e) {
896
- const n = typeof e == "function" ? e : X(e);
897
+ const n = typeof e == "function" ? e : Y(e);
897
898
  return this.columns.filter((r) => n(r.spec));
898
899
  }
899
900
  }
900
- function Et(t) {
901
+ function kt(t) {
901
902
  if (t)
902
903
  return t.map((e) => ({
903
- type: `split:${et(e.axisId)}`,
904
+ type: `split:${tt(e.axisId)}`,
904
905
  label: e.label,
905
906
  importance: 1e6
906
907
  // High importance for split filters in labels
907
908
  }));
908
909
  }
909
- function kt(t) {
910
+ function Dt(t) {
910
911
  if (t)
911
912
  return t.map((e) => [e.axisIdx, e.value]);
912
913
  }
913
- function Dt(t, e) {
914
+ function Ot(t, e) {
914
915
  if (!e || e.length === 0) return t;
915
916
  const n = [...e].sort((r, i) => r[0] - i[0]);
916
- return Oe({ id: t, axisFilters: n });
917
+ return Re({ id: t, axisFilters: n });
917
918
  }
918
- function _e(t) {
919
+ function Ie(t) {
919
920
  if (!t || typeof t != "object") return !1;
920
921
  const e = t, n = e.domain && typeof e.domain == "object" && Object.values(e.domain).some((i) => typeof i == "object" && i !== null && "anchor" in i), r = e.axes && Array.isArray(e.axes) && e.axes.some((i) => typeof i == "object" && i !== null && "anchor" in i);
921
922
  return !!e.domainAnchor || n || r;
922
923
  }
923
- function Ft(t) {
924
+ function Rt(t) {
924
925
  if (typeof t != "object" || !("axes" in t) || t.axes === void 0)
925
926
  return [];
926
927
  const e = t.axes.map((n, r) => typeof n == "object" && "split" in n && n.split === !0 ? r : -1).filter((n) => n !== -1);
@@ -928,11 +929,11 @@ function Ft(t) {
928
929
  throw new Error("Axis splitting is not supported when `partialAxesMatch` is defined.");
929
930
  return e.sort((n, r) => n - r), e;
930
931
  }
931
- class le {
932
+ class ae {
932
933
  constructor() {
933
- F(this, "defaultProviderStore", []);
934
- F(this, "providers", [new Lt(this.defaultProviderStore)]);
935
- F(this, "axisLabelProviders", []);
934
+ k(this, "defaultProviderStore", []);
935
+ k(this, "providers", [new Et(this.defaultProviderStore)]);
936
+ k(this, "axisLabelProviders", []);
936
937
  }
937
938
  addColumnProvider(e) {
938
939
  return this.providers.push(e), this;
@@ -960,125 +961,125 @@ class le {
960
961
  };
961
962
  let u = () => !1;
962
963
  if (a) {
963
- const f = (Array.isArray(a) ? a : [a]).map((y) => {
964
- if (_e(y)) {
964
+ const d = (Array.isArray(a) ? a : [a]).map((y) => {
965
+ if (Ie(y)) {
965
966
  if (!r)
966
967
  throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");
967
- return X(Se(r.anchors, y, n));
968
+ return Y(Ce(r.anchors, y, n));
968
969
  } else
969
- return X(y);
970
+ return Y(y);
970
971
  });
971
- u = (y) => f.some((w) => w(y));
972
+ u = (y) => d.some((S) => S(y));
972
973
  }
973
- const d = typeof e == "function" ? [e] : Array.isArray(e) ? e : [e], h = [], g = /* @__PURE__ */ new Set();
974
- for (const f of d) {
975
- const y = _e(f);
976
- let w;
974
+ const h = typeof e == "function" ? [e] : Array.isArray(e) ? e : [e], f = [], g = /* @__PURE__ */ new Set();
975
+ for (const d of h) {
976
+ const y = Ie(d);
977
+ let S;
977
978
  if (y) {
978
979
  if (!r)
979
980
  throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");
980
- w = Se(r.anchors, f, n);
981
+ S = Ce(r.anchors, d, n);
981
982
  } else
982
- w = f;
983
- const E = /* @__PURE__ */ new Set(), x = [];
984
- for (const S of this.providers) {
985
- const I = S.selectColumns(w);
983
+ S = d;
984
+ const E = /* @__PURE__ */ new Set(), _ = [];
985
+ for (const C of this.providers) {
986
+ const I = C.selectColumns(S);
986
987
  for (const c of I) {
987
988
  if (u(c.spec)) continue;
988
989
  if (E.has(c.id))
989
- throw new Error(`Duplicate column id ${c.id} in provider ${S.constructor.name}`);
990
- const m = Xe(c.spec);
991
- g.has(m) || (E.add(c.id), g.add(m), x.push(c));
990
+ throw new Error(`Duplicate column id ${c.id} in provider ${C.constructor.name}`);
991
+ const m = Qe(c.spec);
992
+ g.has(m) || (E.add(c.id), g.add(m), _.push(c));
992
993
  }
993
994
  }
994
- if (x.length === 0) continue;
995
- const C = Ft(f), A = C.length > 0;
996
- for (const S of x) {
997
- if (!ne(S.spec)) continue;
998
- const I = S.spec;
995
+ if (_.length === 0) continue;
996
+ const w = Rt(d), A = w.length > 0;
997
+ for (const C of _) {
998
+ if (!te(C.spec)) continue;
999
+ const I = C.spec;
999
1000
  if (A) {
1000
- if (Tt(S.data))
1001
- throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${S.id}`);
1002
- const c = It(S.data);
1001
+ if (Ft(C.data))
1002
+ throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${C.id}`);
1003
+ const c = Tt(C.data);
1003
1004
  if (!c) {
1004
1005
  if (s) continue;
1005
1006
  return;
1006
1007
  }
1007
- if (!Qe(c))
1008
- throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${c.type} for column ${S.id}`);
1009
- const m = xt(c), _ = C[C.length - 1];
1010
- if (_ >= c.partitionKeyLength)
1011
- throw new Error(`Not enough partition keys (${c.partitionKeyLength}) for requested split axes (max index ${_}) in column ${I.name}`);
1012
- const W = C.map((T) => this.findLabels(O(I.axesSpec[T]))), j = [], $ = (T, G) => {
1013
- if (G >= C.length) {
1014
- if (j.push([...T]), j.length > 1e4)
1008
+ if (!Ze(c))
1009
+ throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${c.type} for column ${C.id}`);
1010
+ const m = It(c), T = w[w.length - 1];
1011
+ if (T >= c.partitionKeyLength)
1012
+ throw new Error(`Not enough partition keys (${c.partitionKeyLength}) for requested split axes (max index ${T}) in column ${I.name}`);
1013
+ const U = w.map((L) => this.findLabels(O(I.axesSpec[L]))), V = [], J = (L, W) => {
1014
+ if (W >= w.length) {
1015
+ if (V.push([...L]), V.length > 1e4)
1015
1016
  throw new Error("Too many key combinations, aborting.");
1016
1017
  return;
1017
1018
  }
1018
- const N = C[G];
1019
- if (N >= m.length)
1020
- throw new Error(`Axis index ${N} out of bounds for unique keys array (length ${m.length}) during split key generation for column ${S.id}`);
1021
- const J = m[N];
1022
- if (!J || J.length === 0) {
1023
- j.length = 0;
1019
+ const j = w[W];
1020
+ if (j >= m.length)
1021
+ throw new Error(`Axis index ${j} out of bounds for unique keys array (length ${m.length}) during split key generation for column ${C.id}`);
1022
+ const M = m[j];
1023
+ if (!M || M.length === 0) {
1024
+ V.length = 0;
1024
1025
  return;
1025
1026
  }
1026
- for (const ee of J)
1027
- T.push(ee), $(T, G + 1), T.pop();
1027
+ for (const Z of M)
1028
+ L.push(Z), J(L, W + 1), L.pop();
1028
1029
  };
1029
- if ($([], 0), j.length === 0)
1030
+ if (J([], 0), V.length === 0)
1030
1031
  continue;
1031
- const V = [...I.axesSpec], Be = C.map((T) => T);
1032
- for (let T = C.length - 1; T >= 0; T--)
1033
- V.splice(C[T], 1);
1034
- const We = { ...I, axesSpec: V };
1035
- for (const T of j) {
1036
- const G = T.map((N, J) => {
1037
- const ee = Be[J], Ge = O(I.axesSpec[ee]), ue = W[J], He = (ue == null ? void 0 : ue[N]) ?? String(N);
1038
- return { axisIdx: ee, axisId: Ge, value: N, label: He };
1032
+ const K = [...I.axesSpec], We = w.map((L) => L);
1033
+ for (let L = w.length - 1; L >= 0; L--)
1034
+ K.splice(w[L], 1);
1035
+ const Ge = { ...I, axesSpec: K };
1036
+ for (const L of V) {
1037
+ const W = L.map((j, M) => {
1038
+ const Z = We[M], He = O(I.axesSpec[Z]), le = U[M], qe = (le == null ? void 0 : le[j]) ?? String(j);
1039
+ return { axisIdx: Z, axisId: He, value: j, label: qe };
1039
1040
  });
1040
- h.push({
1041
+ f.push({
1041
1042
  type: "split",
1042
- originalColumn: S,
1043
+ originalColumn: C,
1043
1044
  spec: I,
1044
- adjustedSpec: We,
1045
+ adjustedSpec: Ge,
1045
1046
  dataEntries: c,
1046
- axisFilters: G
1047
+ axisFilters: W
1047
1048
  });
1048
1049
  }
1049
1050
  } else
1050
- h.push({
1051
+ f.push({
1051
1052
  type: "direct",
1052
- originalColumn: S,
1053
+ originalColumn: C,
1053
1054
  spec: I,
1054
1055
  adjustedSpec: I
1055
1056
  });
1056
1057
  }
1057
1058
  }
1058
- if (h.length === 0) return [];
1059
- const p = $e(
1060
- h,
1061
- (f) => ({
1062
- spec: f.spec,
1063
- suffixTrace: f.type === "split" ? Et(f.axisFilters) : void 0
1059
+ if (f.length === 0) return [];
1060
+ const p = Me(
1061
+ f,
1062
+ (d) => ({
1063
+ spec: d.spec,
1064
+ suffixTrace: d.type === "split" ? kt(d.axisFilters) : void 0
1064
1065
  }),
1065
1066
  l
1066
1067
  ), b = [];
1067
- for (const { value: f, label: y } of p) {
1068
- const { originalColumn: w, spec: E } = f, x = f.type === "split" ? f.axisFilters : void 0, C = kt(x);
1068
+ for (const { value: d, label: y } of p) {
1069
+ const { originalColumn: S, spec: E } = d, _ = d.type === "split" ? d.axisFilters : void 0, w = Dt(_);
1069
1070
  let A;
1070
- r ? A = r.deriveS(E, C) : A = Dt(w.id, C);
1071
- let S = { ...f.adjustedSpec };
1072
- o && (S = {
1073
- ...S,
1071
+ r ? A = r.deriveS(E, w) : A = Ot(S.id, w);
1072
+ let C = { ...d.adjustedSpec };
1073
+ o && (C = {
1074
+ ...C,
1074
1075
  annotations: {
1075
- ...S.annotations ?? {},
1076
+ ...C.annotations ?? {},
1076
1077
  "pl7.app/label": y
1077
1078
  }
1078
1079
  }), b.push({
1079
1080
  id: A,
1080
- spec: S,
1081
- data: () => f.type === "split" ? Ze(_t(f.dataEntries, C)) : f.originalColumn.data,
1081
+ spec: C,
1082
+ data: () => d.type === "split" ? et(Lt(d.dataEntries, w)) : d.originalColumn.data,
1082
1083
  label: y
1083
1084
  });
1084
1085
  }
@@ -1107,7 +1108,40 @@ class le {
1107
1108
  return i;
1108
1109
  }
1109
1110
  }
1110
- function de(t, e) {
1111
+ function ye(t) {
1112
+ const e = (i) => i.operator !== "InSet" ? i : {
1113
+ operator: "Or",
1114
+ operands: i.references.map((s) => ({
1115
+ operator: "Equal",
1116
+ reference: s
1117
+ }))
1118
+ }, n = (i, s) => {
1119
+ switch (i.operator) {
1120
+ case "And":
1121
+ return {
1122
+ ...i,
1123
+ operands: i.operands.map((a) => n(a, s))
1124
+ };
1125
+ case "Or":
1126
+ return {
1127
+ ...i,
1128
+ operands: i.operands.map((a) => n(a, s))
1129
+ };
1130
+ case "Not":
1131
+ return {
1132
+ ...i,
1133
+ operand: n(i.operand, s)
1134
+ };
1135
+ default:
1136
+ return s(i);
1137
+ }
1138
+ }, r = (i, s) => ({
1139
+ ...i,
1140
+ predicate: n(i.predicate, s)
1141
+ });
1142
+ return t.map((i) => r(i, e));
1143
+ }
1144
+ function ce(t, e) {
1111
1145
  if (t === void 0) return e === void 0;
1112
1146
  if (e === void 0) return !0;
1113
1147
  for (const n in e)
@@ -1115,11 +1149,11 @@ function de(t, e) {
1115
1149
  return !0;
1116
1150
  }
1117
1151
  function Te(t) {
1118
- return ve(t, (e) => e instanceof D ? e.handle : we(e) ? ot(e, (n) => n.handle) : e);
1152
+ return ve(t, (e) => e instanceof D ? e.handle : Se(e) ? at(e, (n) => n.handle) : e);
1119
1153
  }
1120
- class Ot {
1154
+ class Kt {
1121
1155
  constructor() {
1122
- F(this, "ctx", v());
1156
+ k(this, "ctx", v());
1123
1157
  }
1124
1158
  /**
1125
1159
  * @deprecated use getOptions()
@@ -1128,13 +1162,13 @@ class Ot {
1128
1162
  return this.ctx.calculateOptions(e);
1129
1163
  }
1130
1164
  getOptions(e, n) {
1131
- const r = typeof e == "function" ? e : X(e), i = this.getSpecs().entries.filter((a) => r(a.obj));
1165
+ const r = typeof e == "function" ? e : Y(e), i = this.getSpecs().entries.filter((a) => r(a.obj));
1132
1166
  let s = {}, o = !1;
1133
- return typeof n < "u" && (typeof n == "function" ? s = n : typeof n == "object" && ("includeNativeLabel" in n || "separator" in n || "addLabelAsSuffix" in n ? s = n : (n = n, s = n.label ?? {}, o = n.refsWithEnrichments ?? !1))), typeof s == "object" ? $e(i, (a) => a.obj, s ?? {}).map(({ value: { ref: a }, label: l }) => ({
1134
- ref: Ce(a, o),
1167
+ return typeof n < "u" && (typeof n == "function" ? s = n : typeof n == "object" && ("includeNativeLabel" in n || "separator" in n || "addLabelAsSuffix" in n ? s = n : (n = n, s = n.label ?? {}, o = n.refsWithEnrichments ?? !1))), typeof s == "object" ? Me(i, (a) => a.obj, s ?? {}).map(({ value: { ref: a }, label: l }) => ({
1168
+ ref: we(a, o),
1135
1169
  label: l
1136
1170
  })) : i.map(({ ref: a, obj: l }) => ({
1137
- ref: Ce(a, o),
1171
+ ref: we(a, o),
1138
1172
  label: s(l, a)
1139
1173
  }));
1140
1174
  }
@@ -1142,7 +1176,7 @@ class Ot {
1142
1176
  if (e instanceof Ae) return e;
1143
1177
  const n = {};
1144
1178
  for (const [r, i] of Object.entries(e))
1145
- if (tt(i)) {
1179
+ if (nt(i)) {
1146
1180
  const s = this.getPColumnSpecByRef(i);
1147
1181
  if (!s)
1148
1182
  return;
@@ -1162,7 +1196,7 @@ class Ot {
1162
1196
  getAnchoredPColumns(e, n, r) {
1163
1197
  const i = this.resolveAnchorCtx(e);
1164
1198
  if (i)
1165
- return new le().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n, {
1199
+ return new ae().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n, {
1166
1200
  ...r,
1167
1201
  anchorCtx: i
1168
1202
  });
@@ -1199,7 +1233,7 @@ class Ot {
1199
1233
  getCanonicalOptions(e, n, r) {
1200
1234
  const i = this.resolveAnchorCtx(e);
1201
1235
  if (!i) return;
1202
- const s = new le().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n, {
1236
+ const s = new ae().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n, {
1203
1237
  ...r,
1204
1238
  anchorCtx: i
1205
1239
  });
@@ -1242,7 +1276,7 @@ class Ot {
1242
1276
  ref: n.ref,
1243
1277
  obj: {
1244
1278
  ...n.obj,
1245
- data: nt(
1279
+ data: rt(
1246
1280
  n.obj.data,
1247
1281
  (r) => new D(r, [n.ref.blockId, n.ref.name])
1248
1282
  )
@@ -1284,7 +1318,7 @@ class Ot {
1284
1318
  getPColumnByRef(e) {
1285
1319
  const n = this.getDataByRef(e);
1286
1320
  if (n)
1287
- return rt(n);
1321
+ return it(n);
1288
1322
  }
1289
1323
  /**
1290
1324
  * Returns spec associated with the ref ensuring that it is a p-column spec.
@@ -1294,7 +1328,7 @@ class Ot {
1294
1328
  getPColumnSpecByRef(e) {
1295
1329
  const n = this.getSpecByRef(e);
1296
1330
  if (n) {
1297
- if (!ne(n)) throw new Error(`not a PColumn spec (kind = ${n.kind})`);
1331
+ if (!te(n)) throw new Error(`not a PColumn spec (kind = ${n.kind})`);
1298
1332
  return n;
1299
1333
  }
1300
1334
  }
@@ -1313,13 +1347,13 @@ class Ot {
1313
1347
  findDataWithCompatibleSpec(e) {
1314
1348
  const n = [];
1315
1349
  e: for (const r of this.getData().entries) {
1316
- if (!ne(r.obj.spec))
1350
+ if (!te(r.obj.spec))
1317
1351
  continue;
1318
1352
  const i = r.obj.spec;
1319
- if (e.name === i.name && e.valueType === i.valueType && e.axesSpec.length === i.axesSpec.length && de(e.domain, i.domain)) {
1353
+ if (e.name === i.name && e.valueType === i.valueType && e.axesSpec.length === i.axesSpec.length && ce(e.domain, i.domain)) {
1320
1354
  for (let s = 0; s < e.axesSpec.length; ++s) {
1321
1355
  const o = e.axesSpec[s], a = i.axesSpec[s];
1322
- if (o.name !== a.name || o.type !== a.type || !de(o.domain, a.domain))
1356
+ if (o.name !== a.name || o.type !== a.type || !ce(o.domain, a.domain))
1323
1357
  continue e;
1324
1358
  }
1325
1359
  n.push(r.obj);
@@ -1336,7 +1370,7 @@ class Ot {
1336
1370
  for (const r of n.entries) {
1337
1371
  if (!De(r.obj)) continue;
1338
1372
  const i = r.obj.spec;
1339
- if (i.name === "pl7.app/label" && i.axesSpec.length === 1 && i.axesSpec[0].name === e.name && i.axesSpec[0].type === e.type && de(e.domain, i.axesSpec[0].domain)) {
1373
+ if (i.name === "pl7.app/label" && i.axesSpec.length === 1 && i.axesSpec[0].name === e.name && i.axesSpec[0].type === e.type && ce(e.domain, i.axesSpec[0].domain)) {
1340
1374
  if (r.obj.data.resourceType.name !== "PColumnData/Json")
1341
1375
  throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);
1342
1376
  return Object.fromEntries(
@@ -1355,13 +1389,13 @@ class Ot {
1355
1389
  * @returns An array of PColumn objects matching the selectors. Data is loaded on first access.
1356
1390
  */
1357
1391
  selectColumns(e) {
1358
- const n = typeof e == "function" ? e : X(e);
1359
- return this.getSpecs().entries.filter(({ obj: i }) => ne(i) ? n(i) : !1).map(({ ref: i, obj: s }) => {
1392
+ const n = typeof e == "function" ? e : Y(e);
1393
+ return this.getSpecs().entries.filter(({ obj: i }) => te(i) ? n(i) : !1).map(({ ref: i, obj: s }) => {
1360
1394
  const o = s;
1361
1395
  let a = null;
1362
1396
  const l = this;
1363
1397
  return {
1364
- id: Oe(i),
1398
+ id: Re(i),
1365
1399
  spec: o,
1366
1400
  get data() {
1367
1401
  var u;
@@ -1386,37 +1420,55 @@ class Ot {
1386
1420
  return r;
1387
1421
  }
1388
1422
  }
1389
- class te {
1423
+ class ee {
1390
1424
  constructor() {
1391
- F(this, "ctx");
1392
- F(this, "args");
1393
- F(this, "uiState");
1425
+ k(this, "ctx");
1426
+ k(this, "_argsCache");
1427
+ k(this, "_uiStateCache");
1394
1428
  // lazy rendering because this feature is rarely used
1395
- F(this, "_activeArgsCache");
1396
- F(this, "resultPool", new Ot());
1397
- this.ctx = v(), this.args = JSON.parse(this.ctx.args), this.uiState = this.ctx.uiState !== void 0 ? JSON.parse(this.ctx.uiState) : {};
1429
+ k(this, "_activeArgsCache");
1430
+ k(this, "resultPool", new Kt());
1431
+ this.ctx = v();
1432
+ }
1433
+ get args() {
1434
+ if (this._argsCache === void 0) {
1435
+ const e = this.ctx.args, n = typeof e == "function" ? e() : e;
1436
+ this._argsCache = { v: JSON.parse(n) };
1437
+ }
1438
+ return this._argsCache.v;
1439
+ }
1440
+ get uiState() {
1441
+ if (this._uiStateCache === void 0) {
1442
+ const e = this.ctx.uiState, n = typeof e == "function" ? e() : e;
1443
+ this._uiStateCache = { v: n ? JSON.parse(n) : {} };
1444
+ }
1445
+ return this._uiStateCache.v;
1398
1446
  }
1399
1447
  /**
1400
1448
  * Returns args snapshot the block was executed for (i.e. when "Run" button was pressed).
1401
1449
  * Returns undefined, if block was never executed or stopped mid-way execution, so that the result was cleared.
1402
1450
  * */
1403
1451
  get activeArgs() {
1404
- return this._activeArgsCache === void 0 && (this._activeArgsCache = {
1405
- v: this.ctx.activeArgs ? JSON.parse(this.ctx.activeArgs) : void 0
1406
- }), this._activeArgsCache.v;
1452
+ if (this._activeArgsCache === void 0) {
1453
+ const e = this.ctx.activeArgs, n = typeof e == "function" ? e() : e;
1454
+ this._activeArgsCache = {
1455
+ v: n ? JSON.parse(n) : void 0
1456
+ };
1457
+ }
1458
+ return this._activeArgsCache.v;
1407
1459
  }
1408
1460
  // /** Can be used to determine features provided by the desktop instance. */
1409
1461
  // public get featureFlags() {
1410
1462
  // return this.ctx.featureFlags;
1411
1463
  // }
1412
1464
  getNamedAccessor(e) {
1413
- return he(
1465
+ return fe(
1414
1466
  this.ctx.getAccessorHandleByName(e),
1415
1467
  (n) => new D(n, [e])
1416
1468
  );
1417
1469
  }
1418
1470
  get prerun() {
1419
- return this.getNamedAccessor(Ke);
1471
+ return this.getNamedAccessor(Ve);
1420
1472
  }
1421
1473
  get outputs() {
1422
1474
  return this.getNamedAccessor(je);
@@ -1431,16 +1483,20 @@ class te {
1431
1483
  }
1432
1484
  verifyInlineAndExplicitColumnsSupport(e) {
1433
1485
  var i;
1434
- const n = e.some((s) => !(s.data instanceof D) || we(s.data)), r = ((i = this.ctx.featureFlags) == null ? void 0 : i.inlineColumnsSupport) === !0;
1486
+ const n = e.some((s) => !(s.data instanceof D) || Se(s.data)), r = ((i = this.ctx.featureFlags) == null ? void 0 : i.inlineColumnsSupport) === !0;
1435
1487
  if (n && !r) throw Error("Inline or explicit columns not supported");
1436
1488
  }
1437
1489
  patchPTableDef(e) {
1438
- var n;
1439
- return (n = this.ctx.featureFlags) != null && n.pTablePartitionFiltersSupport ? e : {
1490
+ var n, r;
1491
+ return (n = this.ctx.featureFlags) != null && n.pTablePartitionFiltersSupport || (e = {
1440
1492
  ...e,
1441
1493
  partitionFilters: [],
1442
1494
  filters: [...e.partitionFilters, ...e.filters]
1443
- };
1495
+ }), (r = this.ctx.featureFlags) != null && r.pFrameInSetFilterSupport || (e = {
1496
+ ...e,
1497
+ partitionFilters: ye(e.partitionFilters),
1498
+ filters: ye(e.filters)
1499
+ }), e;
1444
1500
  }
1445
1501
  // TODO remove all non-PColumn fields
1446
1502
  createPFrame(e) {
@@ -1458,8 +1514,8 @@ class te {
1458
1514
  partitionFilters: e.filters ?? [],
1459
1515
  filters: [],
1460
1516
  sorting: e.sorting ?? []
1461
- }) : n = this.patchPTableDef(e), this.verifyInlineAndExplicitColumnsSupport(it(n.src)), this.ctx.createPTable(
1462
- st(n, (r) => Te(r))
1517
+ }) : n = this.patchPTableDef(e), this.verifyInlineAndExplicitColumnsSupport(st(n.src)), this.ctx.createPTable(
1518
+ ot(n, (r) => Te(r))
1463
1519
  );
1464
1520
  }
1465
1521
  /** @deprecated scheduled for removal from SDK */
@@ -1479,106 +1535,38 @@ class te {
1479
1535
  this.ctx.logError(e);
1480
1536
  }
1481
1537
  }
1482
- const Y = "1.38.0";
1483
- function Rt(t) {
1538
+ const z = "1.39.6";
1539
+ function Nt(t) {
1484
1540
  return t.__renderLambda === !0;
1485
1541
  }
1486
1542
  function pe(t) {
1487
1543
  if (t !== void 0)
1488
- return Rt(t) ? t.handle : t;
1544
+ return Nt(t) ? t.handle : t;
1489
1545
  }
1490
- function M(t) {
1491
- if (t !== void 0)
1492
- return typeof t == "string" ? { __renderLambda: !0, handle: t, retentive: !1 } : t;
1493
- }
1494
- function Rn(t) {
1495
- if (t.v3 !== void 0) {
1496
- const {
1497
- initialArgs: e,
1498
- initialUiState: n,
1499
- inputsValid: r,
1500
- outputs: i,
1501
- renderingMode: s,
1502
- sdkVersion: o,
1503
- sections: a,
1504
- title: l,
1505
- enrichmentTargets: u
1506
- } = t.v3, { code: d } = t;
1507
- return {
1508
- initialArgs: e,
1509
- initialUiState: n,
1510
- inputsValid: r,
1511
- outputs: i,
1512
- renderingMode: s,
1513
- sdkVersion: o,
1514
- sections: a,
1515
- title: l,
1516
- code: d,
1517
- enrichmentTargets: u
1518
- };
1519
- } else if (t.inputsValid !== void 0) {
1520
- const { sdkVersion: e, renderingMode: n, outputs: r, inputsValid: i, sections: s, initialArgs: o, code: a } = t, l = Object.keys(t);
1521
- if (e === void 0 || n === void 0 || r === void 0 || i === void 0 || s === void 0 || o === void 0)
1522
- throw new Error(
1523
- `Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`
1524
- );
1525
- return {
1526
- sdkVersion: e,
1527
- renderingMode: n,
1528
- initialArgs: o,
1529
- outputs: Object.fromEntries(
1530
- Object.entries(r).map(([u, d]) => [u, M(d)])
1531
- ),
1532
- inputsValid: M(i),
1533
- sections: M(s),
1534
- initialUiState: void 0,
1535
- code: a
1536
- };
1537
- } else if (t.renderingMode !== void 0) {
1538
- const { sdkVersion: e, canRun: n, renderingMode: r, outputs: i, sections: s, initialArgs: o, code: a } = t, l = Object.keys(t);
1539
- if (r === void 0 || i === void 0 || n === void 0 || s === void 0 || o === void 0)
1540
- throw new Error(
1541
- `Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`
1542
- );
1543
- return {
1544
- sdkVersion: e ?? "unknown",
1545
- renderingMode: r,
1546
- initialArgs: o,
1547
- outputs: Object.fromEntries(
1548
- Object.entries(i).map(([u, d]) => [u, M(d)])
1549
- ),
1550
- inputsValid: M(n),
1551
- sections: M(s),
1552
- initialUiState: void 0,
1553
- code: a
1554
- };
1555
- } else {
1556
- const { sdkVersion: e } = t, n = Object.keys(t);
1557
- throw new Error(
1558
- `Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`
1559
- );
1560
- }
1546
+ function Nn(t) {
1547
+ return lt(t);
1561
1548
  }
1562
- class k {
1563
- constructor(e, n, r, i, s, o, a, l) {
1564
- this._renderingMode = e, this._initialArgs = n, this._initialUiState = r, this._outputs = i, this._inputsValid = s, this._sections = o, this._title = a, this._enrichmentTargets = l;
1549
+ const x = class x {
1550
+ constructor(e, n, r, i, s, o, a, l, u) {
1551
+ this._renderingMode = e, this._initialArgs = n, this._initialUiState = r, this._outputs = i, this._inputsValid = s, this._sections = o, this._title = a, this._enrichmentTargets = l, this._featureFlags = u;
1565
1552
  }
1566
1553
  static create(e = "Heavy") {
1567
- return new k(
1554
+ return new x(
1568
1555
  e,
1569
1556
  void 0,
1570
1557
  {},
1571
1558
  {},
1572
- re(!0),
1573
- re([]),
1559
+ ne(!0),
1560
+ ne([]),
1574
1561
  void 0,
1575
- void 0
1562
+ void 0,
1563
+ { ...x.INITIAL_BLOCK_FEATURE_FLAGS }
1576
1564
  );
1577
1565
  }
1578
1566
  output(e, n, r = {}) {
1579
1567
  if (typeof n == "function") {
1580
1568
  const i = `output#${e}`;
1581
- return H(i, () => n(new te())), new k(
1569
+ return G(i, () => n(new ee())), new x(
1582
1570
  this._renderingMode,
1583
1571
  this._initialArgs,
1584
1572
  this._initialUiState,
@@ -1593,10 +1581,11 @@ class k {
1593
1581
  this._inputsValid,
1594
1582
  this._sections,
1595
1583
  this._title,
1596
- this._enrichmentTargets
1584
+ this._enrichmentTargets,
1585
+ this._featureFlags
1597
1586
  );
1598
1587
  } else
1599
- return new k(
1588
+ return new x(
1600
1589
  this._renderingMode,
1601
1590
  this._initialArgs,
1602
1591
  this._initialUiState,
@@ -1607,7 +1596,8 @@ class k {
1607
1596
  this._inputsValid,
1608
1597
  this._sections,
1609
1598
  this._title,
1610
- this._enrichmentTargets
1599
+ this._enrichmentTargets,
1600
+ this._featureFlags
1611
1601
  );
1612
1602
  }
1613
1603
  /** Shortcut for {@link output} with retentive flag set to true. */
@@ -1615,7 +1605,7 @@ class k {
1615
1605
  return this.output(e, n, { retentive: !0 });
1616
1606
  }
1617
1607
  argsValid(e) {
1618
- return typeof e == "function" ? (H("inputsValid", () => e(new te())), new k(
1608
+ return typeof e == "function" ? (G("inputsValid", () => e(new ee())), new x(
1619
1609
  this._renderingMode,
1620
1610
  this._initialArgs,
1621
1611
  this._initialUiState,
@@ -1626,8 +1616,9 @@ class k {
1626
1616
  },
1627
1617
  this._sections,
1628
1618
  this._title,
1629
- this._enrichmentTargets
1630
- )) : new k(
1619
+ this._enrichmentTargets,
1620
+ this._featureFlags
1621
+ )) : new x(
1631
1622
  this._renderingMode,
1632
1623
  this._initialArgs,
1633
1624
  this._initialUiState,
@@ -1635,11 +1626,12 @@ class k {
1635
1626
  e,
1636
1627
  this._sections,
1637
1628
  this._title,
1638
- this._enrichmentTargets
1629
+ this._enrichmentTargets,
1630
+ this._featureFlags
1639
1631
  );
1640
1632
  }
1641
1633
  sections(e) {
1642
- return Array.isArray(e) ? this.sections(re(e)) : typeof e == "function" ? (H("sections", () => e(new te())), new k(
1634
+ return Array.isArray(e) ? this.sections(ne(e)) : typeof e == "function" ? (G("sections", () => e(new ee())), new x(
1643
1635
  this._renderingMode,
1644
1636
  this._initialArgs,
1645
1637
  this._initialUiState,
@@ -1647,8 +1639,9 @@ class k {
1647
1639
  this._inputsValid,
1648
1640
  { __renderLambda: !0, handle: "sections" },
1649
1641
  this._title,
1650
- this._enrichmentTargets
1651
- )) : new k(
1642
+ this._enrichmentTargets,
1643
+ this._featureFlags
1644
+ )) : new x(
1652
1645
  this._renderingMode,
1653
1646
  this._initialArgs,
1654
1647
  this._initialUiState,
@@ -1656,12 +1649,13 @@ class k {
1656
1649
  this._inputsValid,
1657
1650
  e,
1658
1651
  this._title,
1659
- this._enrichmentTargets
1652
+ this._enrichmentTargets,
1653
+ this._featureFlags
1660
1654
  );
1661
1655
  }
1662
1656
  /** Sets a rendering function to derive block title, shown for the block in the left blocks-overview panel. */
1663
1657
  title(e) {
1664
- return H("title", () => e(new te())), new k(
1658
+ return G("title", () => e(new ee())), new x(
1665
1659
  this._renderingMode,
1666
1660
  this._initialArgs,
1667
1661
  this._initialUiState,
@@ -1669,7 +1663,8 @@ class k {
1669
1663
  this._inputsValid,
1670
1664
  this._sections,
1671
1665
  { __renderLambda: !0, handle: "title" },
1672
- this._enrichmentTargets
1666
+ this._enrichmentTargets,
1667
+ this._featureFlags
1673
1668
  );
1674
1669
  }
1675
1670
  /**
@@ -1677,7 +1672,7 @@ class k {
1677
1672
  * @deprecated use {@link withArgs}
1678
1673
  * */
1679
1674
  initialArgs(e) {
1680
- return new k(
1675
+ return new x(
1681
1676
  this._renderingMode,
1682
1677
  e,
1683
1678
  this._initialUiState,
@@ -1685,12 +1680,13 @@ class k {
1685
1680
  this._inputsValid,
1686
1681
  this._sections,
1687
1682
  this._title,
1688
- this._enrichmentTargets
1683
+ this._enrichmentTargets,
1684
+ this._featureFlags
1689
1685
  );
1690
1686
  }
1691
1687
  /** Sets initial args for the block, this value must be specified. */
1692
1688
  withArgs(e) {
1693
- return new k(
1689
+ return new x(
1694
1690
  this._renderingMode,
1695
1691
  e,
1696
1692
  this._initialUiState,
@@ -1698,12 +1694,13 @@ class k {
1698
1694
  this._inputsValid,
1699
1695
  this._sections,
1700
1696
  this._title,
1701
- this._enrichmentTargets
1697
+ this._enrichmentTargets,
1698
+ this._featureFlags
1702
1699
  );
1703
1700
  }
1704
1701
  /** Defines type and sets initial value for block UiState. */
1705
1702
  withUiState(e) {
1706
- return new k(
1703
+ return new x(
1707
1704
  this._renderingMode,
1708
1705
  this._initialArgs,
1709
1706
  e,
@@ -1711,7 +1708,8 @@ class k {
1711
1708
  this._inputsValid,
1712
1709
  this._sections,
1713
1710
  this._title,
1714
- this._enrichmentTargets
1711
+ this._enrichmentTargets,
1712
+ this._featureFlags
1715
1713
  );
1716
1714
  }
1717
1715
  /**
@@ -1719,7 +1717,7 @@ class k {
1719
1717
  * Influences dependency graph construction.
1720
1718
  */
1721
1719
  enriches(e) {
1722
- return H("enrichmentTargets", e), new k(
1720
+ return G("enrichmentTargets", e), new x(
1723
1721
  this._renderingMode,
1724
1722
  this._initialArgs,
1725
1723
  this._initialUiState,
@@ -1727,7 +1725,8 @@ class k {
1727
1725
  this._inputsValid,
1728
1726
  this._sections,
1729
1727
  this._title,
1730
- { __renderLambda: !0, handle: "enrichmentTargets" }
1728
+ { __renderLambda: !0, handle: "enrichmentTargets" },
1729
+ this._featureFlags
1731
1730
  );
1732
1731
  }
1733
1732
  /** Renders all provided block settings into a pre-configured platforma API
@@ -1737,7 +1736,7 @@ class k {
1737
1736
  if (this._initialArgs === void 0) throw new Error("Initial arguments not set.");
1738
1737
  const e = {
1739
1738
  v3: {
1740
- sdkVersion: Y,
1739
+ sdkVersion: z,
1741
1740
  renderingMode: this._renderingMode,
1742
1741
  initialArgs: this._initialArgs,
1743
1742
  initialUiState: this._initialUiState,
@@ -1745,10 +1744,11 @@ class k {
1745
1744
  sections: this._sections,
1746
1745
  title: this._title,
1747
1746
  outputs: this._outputs,
1748
- enrichmentTargets: this._enrichmentTargets
1747
+ enrichmentTargets: this._enrichmentTargets,
1748
+ featureFlags: this._featureFlags
1749
1749
  },
1750
1750
  // fields below are added to allow previous desktop versions read generated configs
1751
- sdkVersion: Y,
1751
+ sdkVersion: z,
1752
1752
  renderingMode: this._renderingMode,
1753
1753
  initialArgs: this._initialArgs,
1754
1754
  inputsValid: pe(this._inputsValid),
@@ -1757,9 +1757,15 @@ class k {
1757
1757
  Object.entries(this._outputs).map(([n, r]) => [n, pe(r)])
1758
1758
  )
1759
1759
  };
1760
- return pt() ? Ve({ sdkVersion: Y }) : { config: e };
1760
+ return ht() ? Ne({ sdkVersion: z }) : { config: e };
1761
1761
  }
1762
- }
1762
+ };
1763
+ k(x, "INITIAL_BLOCK_FEATURE_FLAGS", {
1764
+ supportsLazyState: !0,
1765
+ requiresUIAPIVersion: 1,
1766
+ requiresModelAPIVersion: 1
1767
+ });
1768
+ let Le = x;
1763
1769
  function Ue() {
1764
1770
  return {
1765
1771
  sourceId: null,
@@ -1776,7 +1782,7 @@ function Vt() {
1776
1782
  pTableParams: Ue()
1777
1783
  };
1778
1784
  }
1779
- function Kt(t) {
1785
+ function jt(t) {
1780
1786
  return "version" in t ? (t.version === 2 && (t = {
1781
1787
  version: 3,
1782
1788
  stateCache: t.stateCache.map((e) => ({
@@ -1789,14 +1795,14 @@ function Kt(t) {
1789
1795
  function be(t) {
1790
1796
  return t.axesSpec.length === 1 && t.name === "pl7.app/label";
1791
1797
  }
1792
- function jt(t) {
1793
- return new le().addAxisLabelProvider(t).addColumnProvider(t).getColumns({
1798
+ function Jt(t) {
1799
+ return new ae().addAxisLabelProvider(t).addColumnProvider(t).getColumns({
1794
1800
  name: "pl7.app/label",
1795
1801
  axes: [{}]
1796
1802
  // exactly one axis
1797
1803
  }, { dontWaitAllData: !0 });
1798
1804
  }
1799
- function Le(t, e) {
1805
+ function Fe(t, e) {
1800
1806
  const n = [], r = [];
1801
1807
  for (const a of t)
1802
1808
  be(a.spec) ? n.push(a) : r.push(a);
@@ -1804,36 +1810,36 @@ function Le(t, e) {
1804
1810
  for (const a of r)
1805
1811
  for (const l of a.spec.axesSpec) {
1806
1812
  const u = O(l);
1807
- i.some((d) => K(d, u)) || i.push(u);
1813
+ i.some((h) => N(h, u)) || i.push(u);
1808
1814
  }
1809
1815
  for (const a of n) {
1810
- const l = O(a.spec.axesSpec[0]), u = i.findIndex((d) => K(d, l));
1816
+ const l = O(a.spec.axesSpec[0]), u = i.findIndex((h) => N(h, l));
1811
1817
  u !== -1 && i.splice(u, 1);
1812
1818
  }
1813
1819
  const s = (a, l) => {
1814
1820
  let u = a.toString();
1815
1821
  if (l)
1816
- for (const d in l)
1817
- u += d, u += l[d];
1822
+ for (const h in l)
1823
+ u += h, u += l[h];
1818
1824
  return u;
1819
1825
  }, o = [];
1820
1826
  for (const a of e) {
1821
- const l = a.spec.axesSpec[0], u = O(l), d = i.findIndex((h) => K(h, u));
1822
- if (d !== -1) {
1823
- const h = i[d], g = Object.keys(h.domain ?? {}).length, p = Object.keys(l.domain ?? {}).length;
1827
+ const l = a.spec.axesSpec[0], u = O(l), h = i.findIndex((f) => N(f, u));
1828
+ if (h !== -1) {
1829
+ const f = i[h], g = Object.keys(f.domain ?? {}).length, p = Object.keys(l.domain ?? {}).length;
1824
1830
  g > p ? o.push({
1825
- id: s(a.id, h.domain),
1831
+ id: s(a.id, f.domain),
1826
1832
  spec: {
1827
1833
  ...a.spec,
1828
- axesSpec: [{ ...h, annotations: l.annotations }]
1834
+ axesSpec: [{ ...f, annotations: l.annotations }]
1829
1835
  },
1830
1836
  data: a.data
1831
- }) : o.push(a), i.splice(d, 1);
1837
+ }) : o.push(a), i.splice(h, 1);
1832
1838
  }
1833
1839
  }
1834
1840
  return o;
1835
1841
  }
1836
- function Nt(t) {
1842
+ function Mt(t) {
1837
1843
  const e = (i) => Array.isArray(i), n = (i) => i instanceof D, r = (i) => typeof i == "object" && "type" in i;
1838
1844
  return t.map((i) => i.data).every((i) => {
1839
1845
  if (e(i))
@@ -1879,76 +1885,76 @@ function $t(t) {
1879
1885
  var e;
1880
1886
  return ((e = t.annotations) == null ? void 0 : e["pl7.app/table/visibility"]) === "hidden";
1881
1887
  }
1882
- function Jt(t) {
1888
+ function Bt(t) {
1883
1889
  var e;
1884
1890
  return ((e = t.annotations) == null ? void 0 : e["pl7.app/table/visibility"]) === "optional";
1885
1891
  }
1886
- function fe(t, e) {
1892
+ function de(t, e) {
1887
1893
  return [...new Map(t.map((n) => [e(n), n])).values()];
1888
1894
  }
1889
1895
  function Vn(t, e, n, r) {
1890
1896
  if (e.length === 0) return;
1891
- const i = e.filter((c) => !$t(c.spec)), s = Kt(n), o = jt(t.resultPool);
1897
+ const i = e.filter((c) => !$t(c.spec)), s = jt(n), o = Jt(t.resultPool);
1892
1898
  if (!o) return;
1893
- const a = Le(i.map(Pe), o), l = [...i, ...a], d = [
1894
- ...fe(
1899
+ const a = Fe(i.map(Pe), o), l = [...i, ...a], h = [
1900
+ ...de(
1895
1901
  [...l.flatMap((c) => c.spec.axesSpec.map((m) => O(m)))],
1896
1902
  (c) => R(c)
1897
1903
  ).map((c) => ({ type: "axis", id: c })),
1898
1904
  ...l.map((c) => ({ type: "column", id: c.id }))
1899
- ], h = new Set(d.map((c) => R(c))), g = (c) => h.has(R(c)), p = (r == null ? void 0 : r.coreJoinType) ?? "full", b = s.pTableParams.partitionFilters.filter((c) => {
1905
+ ], f = new Set(h.map((c) => R(c))), g = (c) => f.has(R(c)), p = (r == null ? void 0 : r.coreJoinType) ?? "full", b = s.pTableParams.partitionFilters.filter((c) => {
1900
1906
  const m = g(c.column);
1901
1907
  return m || t.logWarn(`Partition filter ${JSON.stringify(c)} does not match provided columns, skipping`), m;
1902
- }), f = fe(
1908
+ }), d = de(
1903
1909
  [...(r == null ? void 0 : r.filters) ?? [], ...s.pTableParams.filters],
1904
1910
  (c) => R(c.column)
1905
1911
  ).filter((c) => {
1906
1912
  const m = g(c.column);
1907
1913
  return m || t.logWarn(`Filter ${JSON.stringify(c)} does not match provided columns, skipping`), m;
1908
- }), y = fe(
1914
+ }), y = de(
1909
1915
  [...(r == null ? void 0 : r.sorting) ?? [], ...s.pTableParams.sorting],
1910
1916
  (c) => R(c.column)
1911
1917
  ).filter((c) => {
1912
1918
  const m = g(c.column);
1913
1919
  return m || t.logWarn(`Sorting ${JSON.stringify(c)} does not match provided columns, skipping`), m;
1914
- }), w = Ee({
1920
+ }), S = Ee({
1915
1921
  columns: i,
1916
1922
  labelColumns: a,
1917
1923
  coreJoinType: p,
1918
1924
  partitionFilters: b,
1919
- filters: f,
1925
+ filters: d,
1920
1926
  sorting: y,
1921
1927
  coreColumnPredicate: r == null ? void 0 : r.coreColumnPredicate
1922
- }), E = t.createPTable(w), x = new Set((() => {
1928
+ }), E = t.createPTable(S), _ = new Set((() => {
1923
1929
  if (p === "inner") return [];
1924
1930
  const c = s.pTableParams.hiddenColIds;
1925
- return c || i.filter((m) => Jt(m.spec)).map((m) => m.id);
1931
+ return c || i.filter((m) => Bt(m.spec)).map((m) => m.id);
1926
1932
  })());
1927
1933
  i.filter((c) => {
1928
1934
  var m;
1929
1935
  return ((m = c.spec.annotations) == null ? void 0 : m["pl7.app/isLinkerColumn"]) === "true";
1930
- }).forEach((c) => x.delete(c.id)), r != null && r.coreColumnPredicate && i.flatMap((m) => {
1931
- var _;
1932
- return (_ = r == null ? void 0 : r.coreColumnPredicate) != null && _.call(r, m.spec) ? [m.id] : [];
1933
- }).forEach((m) => x.delete(m)), [...b.map((c) => c.column), ...f.map((c) => c.column), ...y.map((c) => c.column)].filter((c) => c.type === "column").forEach((c) => x.delete(c.id));
1934
- const C = i.filter((c) => !x.has(c.id)), A = Le(C.map(Pe), o);
1935
- if (!Nt([...C, ...A])) return;
1936
- const S = Ee({
1937
- columns: C,
1936
+ }).forEach((c) => _.delete(c.id)), r != null && r.coreColumnPredicate && i.flatMap((m) => {
1937
+ var T;
1938
+ return (T = r == null ? void 0 : r.coreColumnPredicate) != null && T.call(r, m.spec) ? [m.id] : [];
1939
+ }).forEach((m) => _.delete(m)), [...b.map((c) => c.column), ...d.map((c) => c.column), ...y.map((c) => c.column)].filter((c) => c.type === "column").forEach((c) => _.delete(c.id));
1940
+ const w = i.filter((c) => !_.has(c.id)), A = Fe(w.map(Pe), o);
1941
+ if (!Mt([...w, ...A])) return;
1942
+ const C = Ee({
1943
+ columns: w,
1938
1944
  labelColumns: A,
1939
1945
  coreJoinType: p,
1940
1946
  partitionFilters: b,
1941
- filters: f,
1947
+ filters: d,
1942
1948
  sorting: y,
1943
1949
  coreColumnPredicate: r == null ? void 0 : r.coreColumnPredicate
1944
- }), I = t.createPTable(S);
1950
+ }), I = t.createPTable(C);
1945
1951
  return {
1946
1952
  sourceId: s.pTableParams.sourceId,
1947
1953
  fullTableHandle: E,
1948
1954
  visibleTableHandle: I
1949
1955
  };
1950
1956
  }
1951
- function Kn(t, e, n) {
1957
+ function jn(t, e, n) {
1952
1958
  const r = t.resultPool.findLabels(e);
1953
1959
  return {
1954
1960
  axis: e,
@@ -1959,7 +1965,7 @@ function Kn(t, e, n) {
1959
1965
  defaultValue: n[0]
1960
1966
  };
1961
1967
  }
1962
- const Mt = (t, e) => {
1968
+ const Ut = (t, e) => {
1963
1969
  let n = t.toString();
1964
1970
  return e == null || e.forEach((r) => {
1965
1971
  if (r)
@@ -1967,7 +1973,7 @@ const Mt = (t, e) => {
1967
1973
  n += i, n += s;
1968
1974
  }), n;
1969
1975
  };
1970
- function Ut(t) {
1976
+ function Wt(t) {
1971
1977
  if (!t.length)
1972
1978
  return [];
1973
1979
  let e = [[]];
@@ -1978,12 +1984,12 @@ function Ut(t) {
1978
1984
  }), e = r;
1979
1985
  }), e;
1980
1986
  }
1981
- function Bt(t) {
1987
+ function Gt(t) {
1982
1988
  var e;
1983
- return t.axesSpec.length === 2 && ((e = t.annotations) == null ? void 0 : e[Gt]) === "true";
1989
+ return t.axesSpec.length === 2 && ((e = t.annotations) == null ? void 0 : e[qt]) === "true";
1984
1990
  }
1985
- const Wt = "pl7.app/graph/isVirtual", ke = "pl7.app/label", Gt = "pl7.app/isLinkerColumn";
1986
- function Ht(t) {
1991
+ const Ht = "pl7.app/graph/isVirtual", ke = "pl7.app/label", qt = "pl7.app/isLinkerColumn";
1992
+ function zt(t) {
1987
1993
  var n, r;
1988
1994
  const e = /* @__PURE__ */ new Map();
1989
1995
  for (const { spec: i } of t) {
@@ -1999,10 +2005,10 @@ function Ht(t) {
1999
2005
  }
2000
2006
  return e;
2001
2007
  }
2002
- function qt(t, e) {
2003
- const n = Ht(t), r = [...n.keys()].map(xe), i = [];
2008
+ function Yt(t, e) {
2009
+ const n = zt(t), r = [...n.keys()].map(xe), i = [];
2004
2010
  for (const l of e.values()) {
2005
- const u = r.find((d) => K(l, d));
2011
+ const u = r.find((h) => N(l, h));
2006
2012
  u && i.push(R(u));
2007
2013
  }
2008
2014
  const s = new Set(i), o = /* @__PURE__ */ new Map();
@@ -2010,61 +2016,61 @@ function qt(t, e) {
2010
2016
  for (; a.length; ) {
2011
2017
  const l = [];
2012
2018
  for (const u of a)
2013
- for (const d of n.get(u) ?? [])
2014
- s.has(d) || (l.push(d), s.add(d), o.set(d, xe(d)));
2019
+ for (const h of n.get(u) ?? [])
2020
+ s.has(h) || (l.push(h), s.add(h), o.set(h, xe(h)));
2015
2021
  a = l;
2016
2022
  }
2017
2023
  return o;
2018
2024
  }
2019
- function zt(t, e) {
2025
+ function Xt(t, e) {
2020
2026
  const n = [];
2021
2027
  return e.forEach((r) => {
2022
- n.push(...Yt(t, r));
2028
+ n.push(...Qt(t, r));
2023
2029
  }), n;
2024
2030
  }
2025
- function Yt(t, e) {
2031
+ function Qt(t, e) {
2026
2032
  const n = e.spec.axesSpec.map(O);
2027
2033
  if (n.every((u) => t.has(R(u))))
2028
2034
  return [e];
2029
2035
  const r = n.map((u) => {
2030
- const d = [];
2031
- for (const [h, g] of t)
2032
- K(g, u) && !K(u, g) && d.push(g);
2033
- return d;
2034
- }), i = Ut(r), s = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), a = i.map((u) => {
2035
- const d = /* @__PURE__ */ new Set();
2036
- return u.map((h, g) => {
2037
- const p = e.spec.axesSpec[g].domain, b = h.domain;
2038
- return Object.entries(b ?? {}).forEach(([f, y]) => {
2039
- if ((p == null ? void 0 : p[f]) === void 0) {
2040
- const w = JSON.stringify([f, y]);
2041
- d.add(w), s.add(w);
2036
+ const h = [];
2037
+ for (const [f, g] of t)
2038
+ N(g, u) && !N(u, g) && h.push(g);
2039
+ return h;
2040
+ }), i = Wt(r), s = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), a = i.map((u) => {
2041
+ const h = /* @__PURE__ */ new Set();
2042
+ return u.map((f, g) => {
2043
+ const p = e.spec.axesSpec[g].domain, b = f.domain;
2044
+ return Object.entries(b ?? {}).forEach(([d, y]) => {
2045
+ if ((p == null ? void 0 : p[d]) === void 0) {
2046
+ const S = JSON.stringify([d, y]);
2047
+ h.add(S), s.add(S);
2042
2048
  }
2043
2049
  }), {
2044
- ...h,
2050
+ ...f,
2045
2051
  annotations: e.spec.axesSpec[g].annotations
2046
2052
  };
2047
- }), d;
2053
+ }), h;
2048
2054
  });
2049
2055
  [...s].forEach((u) => {
2050
- a.some((d) => !d.has(u)) && o.add(u);
2056
+ a.some((h) => !h.has(u)) && o.add(u);
2051
2057
  });
2052
- const l = i.map((u, d) => {
2053
- var f;
2054
- const h = Mt(e.id, u.map((y) => y.domain)), g = ((f = e.spec.annotations) == null ? void 0 : f[ke]) ?? "", p = [...a[d]].filter((y) => o.has(y)).sort().map((y) => {
2055
- var w;
2056
- return (w = JSON.parse(y)) == null ? void 0 : w[1];
2058
+ const l = i.map((u, h) => {
2059
+ var d;
2060
+ const f = Ut(e.id, u.map((y) => y.domain)), g = ((d = e.spec.annotations) == null ? void 0 : d[ke]) ?? "", p = [...a[h]].filter((y) => o.has(y)).sort().map((y) => {
2061
+ var S;
2062
+ return (S = JSON.parse(y)) == null ? void 0 : S[1];
2057
2063
  }).join(" / "), b = {
2058
2064
  ...e.spec.annotations,
2059
- [Wt]: "true"
2065
+ [Ht]: "true"
2060
2066
  };
2061
2067
  return (g || p) && (b[ke] = g && p ? g + " / " + p : g + p), {
2062
- id: h,
2068
+ id: f,
2063
2069
  spec: {
2064
2070
  ...e.spec,
2065
- axesSpec: u.map((y, w) => ({
2071
+ axesSpec: u.map((y, S) => ({
2066
2072
  ...y,
2067
- annotations: e.spec.axesSpec[w].annotations
2073
+ annotations: e.spec.axesSpec[S].annotations
2068
2074
  })),
2069
2075
  annotations: b
2070
2076
  },
@@ -2073,52 +2079,52 @@ function Yt(t, e) {
2073
2079
  });
2074
2080
  return [e, ...l];
2075
2081
  }
2076
- function jn(t, e) {
2082
+ function Jn(t, e) {
2077
2083
  if (!e) return;
2078
- const n = new le();
2084
+ const n = new ae();
2079
2085
  n.addColumnProvider(t.resultPool), n.addColumns(e);
2080
2086
  const r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
2081
- for (const h of e)
2082
- for (const g of h.spec.axesSpec) {
2087
+ for (const f of e)
2088
+ for (const g of f.spec.axesSpec) {
2083
2089
  const p = O(g);
2084
2090
  r.set(R(p), p), i.set(R(p), p);
2085
2091
  }
2086
- const s = n.getColumns((h) => Bt(h)) ?? [], o = qt(s, r);
2087
- for (const h of o)
2088
- r.set(...h), i.set(...h);
2089
- const a = (n.getColumns((h) => h.axesSpec.some((g) => {
2092
+ const s = n.getColumns((f) => Gt(f)) ?? [], o = Yt(s, r);
2093
+ for (const f of o)
2094
+ r.set(...f), i.set(...f);
2095
+ const a = (n.getColumns((f) => f.axesSpec.some((g) => {
2090
2096
  const p = O(g);
2091
2097
  for (const b of r.values())
2092
- if (K(b, p))
2098
+ if (N(b, p))
2093
2099
  return !0;
2094
2100
  return !1;
2095
- }), { dontWaitAllData: !0, overrideLabelAnnotation: !1 }) ?? []).filter((h) => !be(h.spec));
2096
- for (const h of a)
2097
- for (const g of h.spec.axesSpec) {
2101
+ }), { dontWaitAllData: !0, overrideLabelAnnotation: !1 }) ?? []).filter((f) => !be(f.spec));
2102
+ for (const f of a)
2103
+ for (const g of f.spec.axesSpec) {
2098
2104
  const p = O(g);
2099
2105
  i.set(R(p), p);
2100
2106
  }
2101
- const l = (n.getColumns((h) => h.axesSpec.some((g) => {
2107
+ const l = (n.getColumns((f) => f.axesSpec.some((g) => {
2102
2108
  const p = O(g);
2103
2109
  for (const b of i.values())
2104
- if (K(b, p))
2110
+ if (N(b, p))
2105
2111
  return !0;
2106
2112
  return !1;
2107
- }), { dontWaitAllData: !0, overrideLabelAnnotation: !1 }) ?? []).filter((h) => be(h.spec)), u = [...a, ...l], d = zt(r, u);
2108
- if (!d.some(
2109
- (h) => h.data instanceof D && !h.data.getIsReadyOrError()
2113
+ }), { dontWaitAllData: !0, overrideLabelAnnotation: !1 }) ?? []).filter((f) => be(f.spec)), u = [...a, ...l], h = Xt(r, u);
2114
+ if (!h.some(
2115
+ (f) => f.data instanceof D && !f.data.getIsReadyOrError()
2110
2116
  ))
2111
- return t.createPFrame(d);
2117
+ return t.createPFrame(h);
2112
2118
  }
2113
- function Nn({
2119
+ function Mn({
2114
2120
  selection: t,
2115
- columnId: e = lt(),
2121
+ columnId: e = ct(),
2116
2122
  label: n = "Selection marker",
2117
2123
  domain: r
2118
2124
  }) {
2119
2125
  if (!(t != null && t.axesSpec.length))
2120
2126
  return;
2121
- const i = t.selectedKeys.filter((s) => s.every((o) => !at(o))).map((s) => ({ key: s, val: 1 }));
2127
+ const i = t.selectedKeys.filter((s) => s.every((o) => !ut(o))).map((s) => ({ key: s, val: 1 }));
2122
2128
  if (i.length)
2123
2129
  return {
2124
2130
  id: e,
@@ -2137,9 +2143,9 @@ function Nn({
2137
2143
  };
2138
2144
  }
2139
2145
  function $n(t) {
2140
- return t === ut ? (console.error("Axis value can never be N/A"), "") : t;
2146
+ return t === pt ? (console.error("Axis value can never be N/A"), "") : t;
2141
2147
  }
2142
- class Jn {
2148
+ class Bn {
2143
2149
  constructor(e) {
2144
2150
  this.handle = e;
2145
2151
  }
@@ -2153,134 +2159,138 @@ class Jn {
2153
2159
  return await platforma.pFrameDriver.listColumns(this.handle);
2154
2160
  }
2155
2161
  async calculateTableData(e, n) {
2156
- return await platforma.pFrameDriver.calculateTableData(this.handle, e, n);
2162
+ var r;
2163
+ return (r = cfgRenderCtx.featureFlags) != null && r.pFrameInSetFilterSupport || (e = {
2164
+ ...e,
2165
+ filters: ye(e.filters)
2166
+ }), await platforma.pFrameDriver.calculateTableData(this.handle, e, n);
2157
2167
  }
2158
2168
  async getUniqueValues(e) {
2159
2169
  return await platforma.pFrameDriver.getUniqueValues(this.handle, e);
2160
2170
  }
2161
2171
  }
2162
- function Xt(t) {
2163
- return Re({
2172
+ function Zt(t) {
2173
+ return Ke({
2164
2174
  __isRef: !0,
2165
- blockId: ie(t, "blockId"),
2166
- name: ie(t, "name")
2175
+ blockId: re(t, "blockId"),
2176
+ name: re(t, "name")
2167
2177
  });
2168
2178
  }
2169
- function Mn(t) {
2170
- return Re({
2171
- ref: Xt(ie(t, "ref")),
2172
- label: ie(t, "label")
2179
+ function Un(t) {
2180
+ return Ke({
2181
+ ref: Zt(re(t, "ref")),
2182
+ label: re(t, "label")
2173
2183
  });
2174
2184
  }
2175
- const Un = {
2176
- sdkVersion: Y
2185
+ const Wn = {
2186
+ sdkVersion: z
2177
2187
  };
2178
- function Qt() {
2179
- return Ve({ sdkVersion: Y });
2188
+ function en() {
2189
+ return Ne({ sdkVersion: z });
2180
2190
  }
2181
- function Bn(t) {
2191
+ function Gn(t) {
2182
2192
  try {
2183
- return Qt();
2193
+ return en();
2184
2194
  } catch {
2185
2195
  return t;
2186
2196
  }
2187
2197
  }
2188
- function Wn(t) {
2198
+ function Hn(t) {
2189
2199
  if (typeof globalThis.getEnvironmentValue == "function")
2190
2200
  return globalThis.getEnvironmentValue(t);
2191
2201
  }
2192
2202
  export {
2193
- on as Args,
2194
- k as BlockModel,
2195
- Un as CurrentSdkInfo,
2196
- L as FutureRef,
2197
- Wt as IS_VIRTUAL_COLUMN,
2198
- an as It,
2199
- Fn as JsRenderInternal,
2203
+ ln as Args,
2204
+ Le as BlockModel,
2205
+ Wn as CurrentSdkInfo,
2206
+ F as FutureRef,
2207
+ Ht as IS_VIRTUAL_COLUMN,
2208
+ un as It,
2209
+ Rn as JsRenderInternal,
2200
2210
  ke as LABEL_ANNOTATION,
2201
- Gt as LINKER_COLUMN_ANNOTATION,
2202
- ln as MainOutputs,
2203
- ct as OutputError,
2204
- yt as PAnnotationLabel,
2205
- bt as PAnnotationTrace,
2206
- le as PColumnCollection,
2207
- Jn as PFrameImpl,
2211
+ qt as LINKER_COLUMN_ANNOTATION,
2212
+ cn as MainOutputs,
2213
+ dt as OutputError,
2214
+ vt as PAnnotationLabel,
2215
+ St as PAnnotationTrace,
2216
+ ae as PColumnCollection,
2217
+ Bn as PFrameImpl,
2208
2218
  B as RT_BINARY_PARTITIONED,
2209
- z as RT_BINARY_SUPER_PARTITIONED,
2210
- q as RT_JSON_PARTITIONED,
2211
- ae as RT_JSON_SUPER_PARTITIONED,
2212
- se as RT_RESOURCE_MAP,
2213
- oe as RT_RESOURCE_MAP_PARTITIONED,
2214
- te as RenderCtx,
2215
- Ot as ResultPool,
2216
- un as StagingOutputs,
2219
+ q as RT_BINARY_SUPER_PARTITIONED,
2220
+ H as RT_JSON_PARTITIONED,
2221
+ oe as RT_JSON_SUPER_PARTITIONED,
2222
+ ie as RT_RESOURCE_MAP,
2223
+ se as RT_RESOURCE_MAP_PARTITIONED,
2224
+ ee as RenderCtx,
2225
+ Kt as ResultPool,
2226
+ pn as StagingOutputs,
2217
2227
  wt as Trace,
2218
- vt as TraceEntry,
2228
+ Ct as TraceEntry,
2219
2229
  D as TreeNodeAccessor,
2220
- cn as UiState,
2221
- Nt as allColumnsComputed,
2222
- yn as and,
2223
- It as convertOrParsePColumnData,
2224
- jn as createPFrameForGraphs,
2225
- Kn as createPlDataTableSheet,
2230
+ dn as UiState,
2231
+ Mt as allColumnsComputed,
2232
+ vn as and,
2233
+ Tt as convertOrParsePColumnData,
2234
+ Jn as createPFrameForGraphs,
2235
+ jn as createPlDataTableSheet,
2226
2236
  Vt as createPlDataTableStateV2,
2227
2237
  Vn as createPlDataTableV2,
2228
- Nn as createRowSelectionColumn,
2229
- $e as deriveLabels,
2238
+ Mn as createRowSelectionColumn,
2239
+ Me as deriveLabels,
2230
2240
  pe as downgradeCfgOrLambda,
2231
- zt as enrichCompatible,
2232
- _n as extractArchiveAndGetURL,
2233
- Rn as extractConfig,
2234
- _t as filterDataInfoEntries,
2235
- hn as flatten,
2236
- Mn as fromPlOption,
2237
- Xt as fromPlRef,
2238
- jt as getAllLabelColumns,
2239
- qt as getAvailableWithLinkersAxes,
2240
- Cn as getBlobContent,
2241
- Pn as getBlobContentAsJson,
2242
- An as getBlobContentAsString,
2243
- xn as getDownloadedBlobContent,
2244
- Wn as getEnvironmentValue,
2245
- Q as getFromCfg,
2246
- re as getImmediate,
2247
- Tn as getImportProgress,
2248
- ie as getJsonField,
2249
- Ln as getLastLogs,
2250
- Ht as getLinkerColumnsMap,
2251
- Dn as getLogHandle,
2252
- Le as getMatchingLabelColumns,
2253
- In as getOnDemandBlobContent,
2254
- At as getPartitionKeysList,
2255
- Bn as getPlatformaOrDefault,
2256
- En as getProgressLog,
2257
- kn as getProgressLogWithInfo,
2258
- Qt as getRawPlatformaInstance,
2259
- vn as getResourceField,
2241
+ Xt as enrichCompatible,
2242
+ Ln as extractArchiveAndGetURL,
2243
+ Nn as extractConfig,
2244
+ Lt as filterDataInfoEntries,
2245
+ mn as flatten,
2246
+ Un as fromPlOption,
2247
+ Zt as fromPlRef,
2248
+ Jt as getAllLabelColumns,
2249
+ Yt as getAvailableWithLinkersAxes,
2250
+ Pn as getBlobContent,
2251
+ _n as getBlobContentAsJson,
2252
+ xn as getBlobContentAsString,
2253
+ In as getDownloadedBlobContent,
2254
+ Hn as getEnvironmentValue,
2255
+ X as getFromCfg,
2256
+ ne as getImmediate,
2257
+ Fn as getImportProgress,
2258
+ re as getJsonField,
2259
+ En as getLastLogs,
2260
+ zt as getLinkerColumnsMap,
2261
+ On as getLogHandle,
2262
+ Fe as getMatchingLabelColumns,
2263
+ Tn as getOnDemandBlobContent,
2264
+ xt as getPartitionKeysList,
2265
+ Gn as getPlatformaOrDefault,
2266
+ kn as getProgressLog,
2267
+ Dn as getProgressLogWithInfo,
2268
+ en as getRawPlatformaInstance,
2269
+ Cn as getResourceField,
2260
2270
  wn as getResourceValueAsJson,
2261
- xt as getUniquePartitionKeys,
2262
- he as ifDef,
2271
+ It as getUniquePartitionKeys,
2272
+ fe as ifDef,
2263
2273
  $t as isColumnHidden,
2264
- Jt as isColumnOptional,
2265
- Rt as isConfigLambda,
2266
- gn as isEmpty,
2274
+ Bt as isColumnOptional,
2275
+ Nt as isConfigLambda,
2276
+ yn as isEmpty,
2267
2277
  be as isLabelColumn,
2268
- Bt as isLinkerColumn,
2269
- sn as isolate,
2270
- dn as makeArray,
2278
+ Gt as isLinkerColumn,
2279
+ an as isolate,
2280
+ fn as makeArray,
2271
2281
  Ue as makeDefaultPTableParams,
2272
- Re as makeObject,
2273
- fn as mapArrayValues,
2282
+ Ke as makeObject,
2283
+ gn as mapArrayValues,
2274
2284
  $n as mapPTableValueToAxisKey,
2275
- pn as mapRecordValues,
2276
- Sn as mapResourceFields,
2277
- mn as not,
2278
- bn as or,
2279
- ye as parsePColumnData,
2280
- On as parseResourceMap,
2281
- dt as readOutput,
2282
- fe as uniqueBy,
2283
- Kt as upgradePlDataTableStateV2,
2284
- rn as wrapOutputs
2285
+ hn as mapRecordValues,
2286
+ An as mapResourceFields,
2287
+ bn as not,
2288
+ Sn as or,
2289
+ me as parsePColumnData,
2290
+ Kn as parseResourceMap,
2291
+ ft as readOutput,
2292
+ de as uniqueBy,
2293
+ jt as upgradePlDataTableStateV2,
2294
+ on as wrapOutputs
2285
2295
  };
2286
2296
  //# sourceMappingURL=index.mjs.map