@sisense/sdk-ui-vue 2.24.0 → 2.26.0

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 (44) hide show
  1. package/dist/ai.cjs +1 -906
  2. package/dist/ai.js +102 -5812
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.js +540 -2923
  5. package/dist/packages/sdk-ui-vue/src/components/widgets/index.d.ts +0 -1
  6. package/dist/packages/sdk-ui-vue/src/composables/index.d.ts +2 -0
  7. package/dist/packages/sdk-ui-vue/src/composables/use-custom-widgets.d.ts +10 -1
  8. package/dist/packages/sdk-ui-vue/src/composables/use-get-data-source-dimensions.d.ts +42 -0
  9. package/dist/packages/sdk-ui-vue/src/sdk-ui-core-exports.d.ts +1 -1
  10. package/dist/translations/de-de.cjs +1 -1
  11. package/dist/translations/de-de.js +2 -446
  12. package/dist/translations/en-us.cjs +1 -1
  13. package/dist/translations/en-us.js +2 -7
  14. package/dist/translations/es-ar.cjs +1 -1
  15. package/dist/translations/es-ar.js +2 -446
  16. package/dist/translations/es-es.cjs +1 -1
  17. package/dist/translations/es-es.js +2 -446
  18. package/dist/translations/fr-fr.cjs +1 -1
  19. package/dist/translations/fr-fr.js +2 -446
  20. package/dist/translations/it-it.cjs +1 -1
  21. package/dist/translations/it-it.js +1 -445
  22. package/dist/translations/ja-jp.cjs +1 -1
  23. package/dist/translations/ja-jp.js +1 -445
  24. package/dist/translations/ko-kr.cjs +1 -1
  25. package/dist/translations/ko-kr.js +1 -445
  26. package/dist/translations/nl-nl.cjs +1 -1
  27. package/dist/translations/nl-nl.js +2 -446
  28. package/dist/translations/pt-br.cjs +1 -1
  29. package/dist/translations/pt-br.js +2 -446
  30. package/dist/translations/ru-ru.cjs +1 -1
  31. package/dist/translations/ru-ru.js +1 -445
  32. package/dist/translations/tr-tr.cjs +1 -1
  33. package/dist/translations/tr-tr.js +2 -446
  34. package/dist/translations/zh-cn.cjs +1 -1
  35. package/dist/translations/zh-cn.js +1 -445
  36. package/dist/use-tracking-04bcc493.js +512 -0
  37. package/dist/use-tracking-a5140061.cjs +1 -0
  38. package/package.json +3 -2
  39. package/dist/index-r66Tjiqj-bb24c939-5da584fa.cjs +0 -1
  40. package/dist/index-r66Tjiqj-bb24c939-bb24c939.js +0 -448
  41. package/dist/packages/sdk-ui-vue/src/components/widgets/table-widget.d.ts +0 -57
  42. package/dist/packages/sdk-ui-vue/src/providers/sisense-context-provider/sisense-context-provider.d.ts +0 -205
  43. package/dist/use-tracking-a88b968c.cjs +0 -3233
  44. package/dist/use-tracking-bca10d2a.js +0 -122281
@@ -0,0 +1,512 @@
1
+ import { getDefaultThemeSettings as re, getThemeSettingsByOid as ne, createClientApplication as oe, TabberButtonsWidget as ae, DataObserver as j, CustomSisenseContextProvider as se, CustomThemeProvider as ce, CustomWidgetsProviderAdapter as ie, CustomPluginContextProvider as ue, ComponentAdapter as K, createWrapperElement as fe, trackHook as pe } from "@sisense/sdk-ui-preact";
2
+ import { isRef as h, toRaw as M, toValue as le, inject as T, ref as i, defineComponent as O, watchEffect as l, provide as m, computed as ge, createVNode as de, onBeforeUnmount as V, h as x, isReactive as be } from "vue";
3
+ function ye(e, t) {
4
+ for (var r = -1, n = e == null ? 0 : e.length, o = Array(n); ++r < n; )
5
+ o[r] = t(e[r], r, e);
6
+ return o;
7
+ }
8
+ function me(e, t) {
9
+ return ye(t, function(r) {
10
+ return e[r];
11
+ });
12
+ }
13
+ function ve(e, t) {
14
+ for (var r = -1, n = Array(e); ++r < e; )
15
+ n[r] = t(r);
16
+ return n;
17
+ }
18
+ var je = typeof global == "object" && global && global.Object === Object && global;
19
+ const U = je;
20
+ var Te = typeof self == "object" && self && self.Object === Object && self, Ae = U || Te || Function("return this")();
21
+ const k = Ae;
22
+ var he = k.Symbol;
23
+ const v = he;
24
+ var N = Object.prototype, xe = N.hasOwnProperty, Oe = N.toString, g = v ? v.toStringTag : void 0;
25
+ function Ce(e) {
26
+ var t = xe.call(e, g), r = e[g];
27
+ try {
28
+ e[g] = void 0;
29
+ var n = !0;
30
+ } catch {
31
+ }
32
+ var o = Oe.call(e);
33
+ return n && (t ? e[g] = r : delete e[g]), o;
34
+ }
35
+ var Se = Object.prototype, we = Se.toString;
36
+ function Pe(e) {
37
+ return we.call(e);
38
+ }
39
+ var $e = "[object Null]", Ee = "[object Undefined]", $ = v ? v.toStringTag : void 0;
40
+ function C(e) {
41
+ return e == null ? e === void 0 ? Ee : $e : $ && $ in Object(e) ? Ce(e) : Pe(e);
42
+ }
43
+ function S(e) {
44
+ return e != null && typeof e == "object";
45
+ }
46
+ var Be = "[object Arguments]";
47
+ function E(e) {
48
+ return S(e) && C(e) == Be;
49
+ }
50
+ var _ = Object.prototype, Re = _.hasOwnProperty, Fe = _.propertyIsEnumerable, De = E(function() {
51
+ return arguments;
52
+ }()) ? E : function(e) {
53
+ return S(e) && Re.call(e, "callee") && !Fe.call(e, "callee");
54
+ };
55
+ const Ie = De;
56
+ var We = Array.isArray;
57
+ const Ke = We;
58
+ function Me() {
59
+ return !1;
60
+ }
61
+ var G = typeof exports == "object" && exports && !exports.nodeType && exports, B = G && typeof module == "object" && module && !module.nodeType && module, Ve = B && B.exports === G, R = Ve ? k.Buffer : void 0, Ue = R ? R.isBuffer : void 0, ke = Ue || Me;
62
+ const Ne = ke;
63
+ var _e = 9007199254740991, Ge = /^(?:0|[1-9]\d*)$/;
64
+ function Le(e, t) {
65
+ var r = typeof e;
66
+ return t = t ?? _e, !!t && (r == "number" || r != "symbol" && Ge.test(e)) && e > -1 && e % 1 == 0 && e < t;
67
+ }
68
+ var He = 9007199254740991;
69
+ function L(e) {
70
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= He;
71
+ }
72
+ var qe = "[object Arguments]", ze = "[object Array]", Xe = "[object Boolean]", Je = "[object Date]", Qe = "[object Error]", Ye = "[object Function]", Ze = "[object Map]", et = "[object Number]", tt = "[object Object]", rt = "[object RegExp]", nt = "[object Set]", ot = "[object String]", at = "[object WeakMap]", st = "[object ArrayBuffer]", ct = "[object DataView]", it = "[object Float32Array]", ut = "[object Float64Array]", ft = "[object Int8Array]", pt = "[object Int16Array]", lt = "[object Int32Array]", gt = "[object Uint8Array]", dt = "[object Uint8ClampedArray]", bt = "[object Uint16Array]", yt = "[object Uint32Array]", a = {};
73
+ a[it] = a[ut] = a[ft] = a[pt] = a[lt] = a[gt] = a[dt] = a[bt] = a[yt] = !0;
74
+ a[qe] = a[ze] = a[st] = a[Xe] = a[ct] = a[Je] = a[Qe] = a[Ye] = a[Ze] = a[et] = a[tt] = a[rt] = a[nt] = a[ot] = a[at] = !1;
75
+ function mt(e) {
76
+ return S(e) && L(e.length) && !!a[C(e)];
77
+ }
78
+ function vt(e) {
79
+ return function(t) {
80
+ return e(t);
81
+ };
82
+ }
83
+ var H = typeof exports == "object" && exports && !exports.nodeType && exports, d = H && typeof module == "object" && module && !module.nodeType && module, jt = d && d.exports === H, A = jt && U.process, Tt = function() {
84
+ try {
85
+ var e = d && d.require && d.require("util").types;
86
+ return e || A && A.binding && A.binding("util");
87
+ } catch {
88
+ }
89
+ }();
90
+ const F = Tt;
91
+ var D = F && F.isTypedArray, At = D ? vt(D) : mt;
92
+ const ht = At;
93
+ var xt = Object.prototype, Ot = xt.hasOwnProperty;
94
+ function Ct(e, t) {
95
+ var r = Ke(e), n = !r && Ie(e), o = !r && !n && Ne(e), s = !r && !n && !o && ht(e), c = r || n || o || s, f = c ? ve(e.length, String) : [], b = f.length;
96
+ for (var u in e)
97
+ (t || Ot.call(e, u)) && !(c && // Safari 9 has enumerable `arguments.length` in strict mode.
98
+ (u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
99
+ o && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
100
+ s && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
101
+ Le(u, b))) && f.push(u);
102
+ return f;
103
+ }
104
+ var St = Object.prototype;
105
+ function wt(e) {
106
+ var t = e && e.constructor, r = typeof t == "function" && t.prototype || St;
107
+ return e === r;
108
+ }
109
+ function Pt(e, t) {
110
+ return function(r) {
111
+ return e(t(r));
112
+ };
113
+ }
114
+ var $t = Pt(Object.keys, Object);
115
+ const Et = $t;
116
+ var Bt = Object.prototype, Rt = Bt.hasOwnProperty;
117
+ function Ft(e) {
118
+ if (!wt(e))
119
+ return Et(e);
120
+ var t = [];
121
+ for (var r in Object(e))
122
+ Rt.call(e, r) && r != "constructor" && t.push(r);
123
+ return t;
124
+ }
125
+ function Dt(e) {
126
+ var t = typeof e;
127
+ return e != null && (t == "object" || t == "function");
128
+ }
129
+ var It = "[object AsyncFunction]", Wt = "[object Function]", Kt = "[object GeneratorFunction]", Mt = "[object Proxy]";
130
+ function Vt(e) {
131
+ if (!Dt(e))
132
+ return !1;
133
+ var t = C(e);
134
+ return t == Wt || t == Kt || t == It || t == Mt;
135
+ }
136
+ function Ut(e) {
137
+ return e != null && L(e.length) && !Vt(e);
138
+ }
139
+ function kt(e) {
140
+ return Ut(e) ? Ct(e) : Ft(e);
141
+ }
142
+ function Nt(e) {
143
+ return e == null ? [] : me(e, kt(e));
144
+ }
145
+ function q(e) {
146
+ return e !== null && !Array.isArray(e) && typeof e == "object";
147
+ }
148
+ function I(e) {
149
+ return h(e) ? M(le(e)) : e;
150
+ }
151
+ function tr(e) {
152
+ const t = I(e);
153
+ return Object.fromEntries(
154
+ Object.entries(t).map(([r, n]) => [r, I(n)])
155
+ );
156
+ }
157
+ function rr(...e) {
158
+ return e.map((t) => h(t) ? [t] : q(t) ? Nt(t).filter(h) : []).flat();
159
+ }
160
+ const W = (e) => {
161
+ if (typeof e == "object" && e !== null) {
162
+ if (typeof Object.getPrototypeOf == "function") {
163
+ const t = Object.getPrototypeOf(e);
164
+ return t === Object.prototype || t === null;
165
+ }
166
+ return Object.prototype.toString.call(e) === "[object Object]";
167
+ }
168
+ return !1;
169
+ }, p = (...e) => e.reduce((t, r) => {
170
+ if (Array.isArray(r))
171
+ throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");
172
+ return Object.keys(r).forEach((n) => {
173
+ ["__proto__", "constructor", "prototype"].includes(n) || (Array.isArray(t[n]) && Array.isArray(r[n]) ? t[n] = p.options.mergeArrays ? Array.from(new Set(t[n].concat(r[n]))) : r[n] : W(t[n]) && W(r[n]) ? t[n] = p(t[n], r[n]) : t[n] = r[n]);
174
+ }), t;
175
+ }, {}), z = {
176
+ mergeArrays: !0
177
+ };
178
+ p.options = z;
179
+ p.withOptions = (e, ...t) => {
180
+ p.options = Object.assign({ mergeArrays: !0 }, e);
181
+ const r = p(...t);
182
+ return p.options = z, r;
183
+ };
184
+ const y = {
185
+ isInitialized: !1,
186
+ app: void 0,
187
+ tracking: {
188
+ enabled: !0,
189
+ packageName: "sdk-ui-vue"
190
+ },
191
+ errorBoundary: {
192
+ showErrorBox: !0
193
+ }
194
+ }, X = Symbol("sisenseContextKey"), w = () => T(
195
+ X,
196
+ () => i(y),
197
+ !0
198
+ ), J = Symbol("pluginsContextKey"), _t = () => T(J, () => i([]), !0), Q = Symbol("themeContextConfigKey"), Y = () => T(Q, () => i(re()), !0), Gt = O({
199
+ props: {
200
+ theme: [Object, String],
201
+ /**
202
+ * @internal
203
+ */
204
+ skipTracking: Boolean
205
+ },
206
+ setup(e, { slots: t }) {
207
+ const r = Y(), n = w(), o = i(r == null ? void 0 : r.value);
208
+ return l(async () => {
209
+ const { theme: s = {} } = e, { app: c } = n.value, f = typeof s == "string";
210
+ let b = s;
211
+ if (f && c)
212
+ try {
213
+ b = await ne(s, c.httpClient);
214
+ } catch (u) {
215
+ console.error("Vue ThemeProvider failed to fetch theme by id:", u);
216
+ }
217
+ o.value = p.withOptions(
218
+ { mergeArrays: !1 },
219
+ r == null ? void 0 : r.value,
220
+ b
221
+ );
222
+ }), m(Q, o), () => {
223
+ var s;
224
+ return (s = t.default) == null ? void 0 : s.call(t);
225
+ };
226
+ }
227
+ }), nr = /* @__PURE__ */ O({
228
+ props: {
229
+ /**
230
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.defaultDataSource}
231
+ *
232
+ * @category Sisense App
233
+ */
234
+ defaultDataSource: [String, Object],
235
+ /**
236
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.url}
237
+ *
238
+ * @category Sisense App
239
+ */
240
+ url: {
241
+ type: String,
242
+ required: !0
243
+ },
244
+ /**
245
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.ssoEnabled}
246
+ *
247
+ * @category Sisense Authentication
248
+ */
249
+ ssoEnabled: Boolean,
250
+ /**
251
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.enableSilentPreAuth}
252
+ *
253
+ * @category Sisense Authentication
254
+ */
255
+ enableSilentPreAuth: {
256
+ type: Boolean,
257
+ default: !1
258
+ },
259
+ /**
260
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.token}
261
+ *
262
+ * @category Sisense Authentication
263
+ */
264
+ token: String,
265
+ /**
266
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.wat}
267
+ *
268
+ * @category Sisense Authentication
269
+ */
270
+ wat: String,
271
+ /**
272
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.appConfig}
273
+ *
274
+ * @category Sisense App
275
+ */
276
+ appConfig: Object,
277
+ /**
278
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.plugins}
279
+ *
280
+ * @category Sisense App
281
+ * @internal
282
+ */
283
+ plugins: {
284
+ type: Array,
285
+ default: () => []
286
+ },
287
+ /**
288
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.ssoMaxAuthRedirectAttempts}
289
+ *
290
+ * @category Sisense Authentication
291
+ * @alpha
292
+ */
293
+ ssoMaxAuthRedirectAttempts: Number,
294
+ /**
295
+ * {@inheritDoc @sisense/sdk-ui!SisenseContextProviderProps.ssoRedirectAttemptsTtlMs}
296
+ *
297
+ * @category Sisense Authentication
298
+ * @alpha
299
+ */
300
+ ssoRedirectAttemptsTtlMs: Number,
301
+ /**
302
+ * @internal
303
+ */
304
+ showRuntimeErrors: {
305
+ type: Boolean,
306
+ default: y.errorBoundary.showErrorBox
307
+ }
308
+ },
309
+ setup(e, {
310
+ slots: t
311
+ }) {
312
+ var o, s;
313
+ const r = i({
314
+ ...y,
315
+ isInitialized: !0,
316
+ errorBoundary: {
317
+ showErrorBox: e.showRuntimeErrors ?? !0
318
+ },
319
+ tracking: {
320
+ ...y.tracking,
321
+ enabled: ((s = (o = e.appConfig) == null ? void 0 : o.trackingConfig) == null ? void 0 : s.enabled) ?? !0
322
+ }
323
+ });
324
+ oe({
325
+ ...e,
326
+ packageName: "sdk-ui-vue"
327
+ }).then((c) => {
328
+ r.value = {
329
+ ...r.value,
330
+ app: c
331
+ };
332
+ }), m(X, r);
333
+ const n = ge(() => e.plugins ?? []);
334
+ return m(J, n), () => {
335
+ var c;
336
+ return de(Gt, {
337
+ theme: (c = r.value.app) == null ? void 0 : c.settings.serverThemeSettings
338
+ }, {
339
+ default: () => {
340
+ var f;
341
+ return [(f = t.default) == null ? void 0 : f.call(t)];
342
+ }
343
+ });
344
+ };
345
+ }
346
+ }), Z = {
347
+ customWidgetsMap: /* @__PURE__ */ new Map([
348
+ ["tabber-buttons", ae]
349
+ ])
350
+ }, ee = Symbol("customWidgetsContextKey"), Lt = () => T(
351
+ ee,
352
+ () => i(Z),
353
+ !0
354
+ ), or = O({
355
+ setup(e, { slots: t }) {
356
+ return m(ee, i(Z)), () => {
357
+ var r;
358
+ return (r = t.default) == null ? void 0 : r.call(t);
359
+ };
360
+ }
361
+ }), Ht = () => {
362
+ const e = w(), t = new j({
363
+ context: e.value
364
+ });
365
+ return l(() => {
366
+ t.setValue({ context: e.value });
367
+ }), {
368
+ propsObserver: t,
369
+ providerComponent: se
370
+ };
371
+ }, qt = () => {
372
+ const e = {
373
+ skipTracking: !0
374
+ }, t = Y(), r = new j({
375
+ context: {
376
+ ...e,
377
+ ...t.value && {
378
+ themeSettings: t == null ? void 0 : t.value
379
+ }
380
+ }
381
+ });
382
+ return l(() => {
383
+ r.setValue({
384
+ context: {
385
+ ...e,
386
+ ...t.value && {
387
+ themeSettings: t.value
388
+ }
389
+ }
390
+ });
391
+ }), {
392
+ propsObserver: r,
393
+ providerComponent: ce
394
+ };
395
+ }, zt = () => {
396
+ const e = Lt(), t = new j({
397
+ context: e.value
398
+ });
399
+ return l(() => {
400
+ t.setValue({
401
+ context: e.value
402
+ });
403
+ }), {
404
+ propsObserver: t,
405
+ providerComponent: ie
406
+ };
407
+ }, Xt = () => {
408
+ const e = _t(), t = new j({
409
+ context: { plugins: e.value }
410
+ });
411
+ return l(() => {
412
+ t.setValue({ context: { plugins: e.value } });
413
+ }), {
414
+ propsObserver: t,
415
+ providerComponent: ue
416
+ };
417
+ };
418
+ function te() {
419
+ return [
420
+ Xt(),
421
+ zt(),
422
+ Ht(),
423
+ qt()
424
+ ];
425
+ }
426
+ function Jt(e) {
427
+ return be(e) ? M(e) : e;
428
+ }
429
+ function P(e) {
430
+ const t = Jt(e);
431
+ for (const r in t) {
432
+ const n = t[r];
433
+ !q(n) && !Array.isArray(n) || (t[r] = P(n));
434
+ }
435
+ return t;
436
+ }
437
+ const ar = (e, t, r = te()) => {
438
+ if (!t)
439
+ return null;
440
+ const n = i(null), o = new K(e, r);
441
+ return V(() => {
442
+ o.destroy();
443
+ }), () => (n.value && o.render(n.value, P(t)), x("div", { ref: n, style: "width: 100%; height: 100%" }));
444
+ }, sr = (e, t, r, n = te()) => {
445
+ const o = i(), s = i(), c = new K(e, n);
446
+ return V(() => {
447
+ c.destroy();
448
+ }), () => {
449
+ if (o.value && s.value) {
450
+ const f = fe(s.value);
451
+ c.render(o.value, { ...P(t), children: f });
452
+ }
453
+ return [
454
+ x("div", { ref: o }),
455
+ x("div", { ref: s }, r.default ? r.default() : [])
456
+ ];
457
+ };
458
+ };
459
+ function Qt(e, t) {
460
+ Object.assign(e.value, t);
461
+ }
462
+ function Yt(e) {
463
+ const t = i(e);
464
+ function r(n) {
465
+ typeof n == "object" && typeof t.value == "object" ? Qt(t, n) : t.value = n;
466
+ }
467
+ return [t, r];
468
+ }
469
+ function cr(e, t) {
470
+ const [r, n] = Yt(t);
471
+ return [r, (s) => {
472
+ const c = e(r.value, s);
473
+ n(c);
474
+ }];
475
+ }
476
+ const ir = (e) => {
477
+ const t = i(!1), r = w(), n = () => {
478
+ const { app: o } = r.value;
479
+ if (!o || t.value)
480
+ return null;
481
+ try {
482
+ pe(e, "sdk-ui-vue", o, () => t.value = !0);
483
+ } catch (s) {
484
+ console.error("An error occurred when calling the trackHook", s);
485
+ }
486
+ };
487
+ return l(() => {
488
+ n();
489
+ }), { hasTrackedRef: t };
490
+ };
491
+ export {
492
+ or as C,
493
+ nr as S,
494
+ Gt as T,
495
+ cr as a,
496
+ rr as b,
497
+ te as c,
498
+ sr as d,
499
+ I as e,
500
+ Ht as f,
501
+ w as g,
502
+ Yt as h,
503
+ X as i,
504
+ Q as j,
505
+ ee as k,
506
+ Lt as l,
507
+ Y as m,
508
+ qt as n,
509
+ ar as s,
510
+ tr as t,
511
+ ir as u
512
+ };
@@ -0,0 +1 @@
1
+ "use strict";const i=require("@sisense/sdk-ui-preact"),o=require("vue");function Y(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}function Z(e,t){return Y(t,function(r){return e[r]})}function ee(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var te=typeof global=="object"&&global&&global.Object===Object&&global;const W=te;var re=typeof self=="object"&&self&&self.Object===Object&&self,ne=W||re||Function("return this")();const K=ne;var oe=K.Symbol;const m=oe;var M=Object.prototype,ae=M.hasOwnProperty,se=M.toString,g=m?m.toStringTag:void 0;function ce(e){var t=ae.call(e,g),r=e[g];try{e[g]=void 0;var n=!0}catch{}var a=se.call(e);return n&&(t?e[g]=r:delete e[g]),a}var ie=Object.prototype,ue=ie.toString;function fe(e){return ue.call(e)}var pe="[object Null]",le="[object Undefined]",E=m?m.toStringTag:void 0;function T(e){return e==null?e===void 0?le:pe:E&&E in Object(e)?ce(e):fe(e)}function C(e){return e!=null&&typeof e=="object"}var ge="[object Arguments]";function $(e){return C(e)&&T(e)==ge}var U=Object.prototype,de=U.hasOwnProperty,be=U.propertyIsEnumerable,ye=$(function(){return arguments}())?$:function(e){return C(e)&&de.call(e,"callee")&&!be.call(e,"callee")};const me=ye;var ve=Array.isArray;const je=ve;function he(){return!1}var V=typeof exports=="object"&&exports&&!exports.nodeType&&exports,R=V&&typeof module=="object"&&module&&!module.nodeType&&module,Te=R&&R.exports===V,B=Te?K.Buffer:void 0,Ce=B?B.isBuffer:void 0,Ae=Ce||he;const Oe=Ae;var xe=9007199254740991,we=/^(?:0|[1-9]\d*)$/;function Se(e,t){var r=typeof e;return t=t??xe,!!t&&(r=="number"||r!="symbol"&&we.test(e))&&e>-1&&e%1==0&&e<t}var Pe=9007199254740991;function k(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pe}var Ee="[object Arguments]",$e="[object Array]",Re="[object Boolean]",Be="[object Date]",De="[object Error]",Fe="[object Function]",Ie="[object Map]",We="[object Number]",Ke="[object Object]",Me="[object RegExp]",Ue="[object Set]",Ve="[object String]",ke="[object WeakMap]",Ne="[object ArrayBuffer]",_e="[object DataView]",Ge="[object Float32Array]",He="[object Float64Array]",qe="[object Int8Array]",Le="[object Int16Array]",ze="[object Int32Array]",Xe="[object Uint8Array]",Je="[object Uint8ClampedArray]",Qe="[object Uint16Array]",Ye="[object Uint32Array]",s={};s[Ge]=s[He]=s[qe]=s[Le]=s[ze]=s[Xe]=s[Je]=s[Qe]=s[Ye]=!0;s[Ee]=s[$e]=s[Ne]=s[Re]=s[_e]=s[Be]=s[De]=s[Fe]=s[Ie]=s[We]=s[Ke]=s[Me]=s[Ue]=s[Ve]=s[ke]=!1;function Ze(e){return C(e)&&k(e.length)&&!!s[T(e)]}function et(e){return function(t){return e(t)}}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports,d=N&&typeof module=="object"&&module&&!module.nodeType&&module,tt=d&&d.exports===N,j=tt&&W.process,rt=function(){try{var e=d&&d.require&&d.require("util").types;return e||j&&j.binding&&j.binding("util")}catch{}}();const D=rt;var F=D&&D.isTypedArray,nt=F?et(F):Ze;const ot=nt;var at=Object.prototype,st=at.hasOwnProperty;function ct(e,t){var r=je(e),n=!r&&me(e),a=!r&&!n&&Oe(e),c=!r&&!n&&!a&&ot(e),u=r||n||a||c,p=u?ee(e.length,String):[],b=p.length;for(var f in e)(t||st.call(e,f))&&!(u&&(f=="length"||a&&(f=="offset"||f=="parent")||c&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Se(f,b)))&&p.push(f);return p}var it=Object.prototype;function ut(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||it;return e===r}function ft(e,t){return function(r){return e(t(r))}}var pt=ft(Object.keys,Object);const lt=pt;var gt=Object.prototype,dt=gt.hasOwnProperty;function bt(e){if(!ut(e))return lt(e);var t=[];for(var r in Object(e))dt.call(e,r)&&r!="constructor"&&t.push(r);return t}function yt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var mt="[object AsyncFunction]",vt="[object Function]",jt="[object GeneratorFunction]",ht="[object Proxy]";function Tt(e){if(!yt(e))return!1;var t=T(e);return t==vt||t==jt||t==mt||t==ht}function Ct(e){return e!=null&&k(e.length)&&!Tt(e)}function At(e){return Ct(e)?ct(e):bt(e)}function Ot(e){return e==null?[]:Z(e,At(e))}function _(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function h(e){return o.isRef(e)?o.toRaw(o.toValue(e)):e}function xt(e){const t=h(e);return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,h(n)]))}function wt(...e){return e.map(t=>o.isRef(t)?[t]:_(t)?Ot(t).filter(o.isRef):[]).flat()}const I=e=>{if(typeof e=="object"&&e!==null){if(typeof Object.getPrototypeOf=="function"){const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}return Object.prototype.toString.call(e)==="[object Object]"}return!1},l=(...e)=>e.reduce((t,r)=>{if(Array.isArray(r))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(r).forEach(n=>{["__proto__","constructor","prototype"].includes(n)||(Array.isArray(t[n])&&Array.isArray(r[n])?t[n]=l.options.mergeArrays?Array.from(new Set(t[n].concat(r[n]))):r[n]:I(t[n])&&I(r[n])?t[n]=l(t[n],r[n]):t[n]=r[n])}),t},{}),G={mergeArrays:!0};l.options=G;l.withOptions=(e,...t)=>{l.options=Object.assign({mergeArrays:!0},e);const r=l(...t);return l.options=G,r};const y={isInitialized:!1,app:void 0,tracking:{enabled:!0,packageName:"sdk-ui-vue"},errorBoundary:{showErrorBox:!0}},A=Symbol("sisenseContextKey"),v=()=>o.inject(A,()=>o.ref(y),!0),H=Symbol("pluginsContextKey"),St=()=>o.inject(H,()=>o.ref([]),!0),O=Symbol("themeContextConfigKey"),x=()=>o.inject(O,()=>o.ref(i.getDefaultThemeSettings()),!0),q=o.defineComponent({props:{theme:[Object,String],skipTracking:Boolean},setup(e,{slots:t}){const r=x(),n=v(),a=o.ref(r==null?void 0:r.value);return o.watchEffect(async()=>{const{theme:c={}}=e,{app:u}=n.value,p=typeof c=="string";let b=c;if(p&&u)try{b=await i.getThemeSettingsByOid(c,u.httpClient)}catch(f){console.error("Vue ThemeProvider failed to fetch theme by id:",f)}a.value=l.withOptions({mergeArrays:!1},r==null?void 0:r.value,b)}),o.provide(O,a),()=>{var c;return(c=t.default)==null?void 0:c.call(t)}}}),Pt=o.defineComponent({props:{defaultDataSource:[String,Object],url:{type:String,required:!0},ssoEnabled:Boolean,enableSilentPreAuth:{type:Boolean,default:!1},token:String,wat:String,appConfig:Object,plugins:{type:Array,default:()=>[]},ssoMaxAuthRedirectAttempts:Number,ssoRedirectAttemptsTtlMs:Number,showRuntimeErrors:{type:Boolean,default:y.errorBoundary.showErrorBox}},setup(e,{slots:t}){var a,c;const r=o.ref({...y,isInitialized:!0,errorBoundary:{showErrorBox:e.showRuntimeErrors??!0},tracking:{...y.tracking,enabled:((c=(a=e.appConfig)==null?void 0:a.trackingConfig)==null?void 0:c.enabled)??!0}});i.createClientApplication({...e,packageName:"sdk-ui-vue"}).then(u=>{r.value={...r.value,app:u}}),o.provide(A,r);const n=o.computed(()=>e.plugins??[]);return o.provide(H,n),()=>{var u;return o.createVNode(q,{theme:(u=r.value.app)==null?void 0:u.settings.serverThemeSettings},{default:()=>{var p;return[(p=t.default)==null?void 0:p.call(t)]}})}}}),L={customWidgetsMap:new Map([["tabber-buttons",i.TabberButtonsWidget]])},w=Symbol("customWidgetsContextKey"),z=()=>o.inject(w,()=>o.ref(L),!0),Et=o.defineComponent({setup(e,{slots:t}){return o.provide(w,o.ref(L)),()=>{var r;return(r=t.default)==null?void 0:r.call(t)}}}),X=()=>{const e=v(),t=new i.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:i.CustomSisenseContextProvider}},J=()=>{const e={skipTracking:!0},t=x(),r=new i.DataObserver({context:{...e,...t.value&&{themeSettings:t==null?void 0:t.value}}});return o.watchEffect(()=>{r.setValue({context:{...e,...t.value&&{themeSettings:t.value}}})}),{propsObserver:r,providerComponent:i.CustomThemeProvider}},$t=()=>{const e=z(),t=new i.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:i.CustomWidgetsProviderAdapter}},Rt=()=>{const e=St(),t=new i.DataObserver({context:{plugins:e.value}});return o.watchEffect(()=>{t.setValue({context:{plugins:e.value}})}),{propsObserver:t,providerComponent:i.CustomPluginContextProvider}};function S(){return[Rt(),$t(),X(),J()]}function Bt(e){return o.isReactive(e)?o.toRaw(e):e}function P(e){const t=Bt(e);for(const r in t){const n=t[r];!_(n)&&!Array.isArray(n)||(t[r]=P(n))}return t}const Dt=(e,t,r=S())=>{if(!t)return null;const n=o.ref(null),a=new i.ComponentAdapter(e,r);return o.onBeforeUnmount(()=>{a.destroy()}),()=>(n.value&&a.render(n.value,P(t)),o.h("div",{ref:n,style:"width: 100%; height: 100%"}))},Ft=(e,t,r,n=S())=>{const a=o.ref(),c=o.ref(),u=new i.ComponentAdapter(e,n);return o.onBeforeUnmount(()=>{u.destroy()}),()=>{if(a.value&&c.value){const p=i.createWrapperElement(c.value);u.render(a.value,{...P(t),children:p})}return[o.h("div",{ref:a}),o.h("div",{ref:c},r.default?r.default():[])]}};function It(e,t){Object.assign(e.value,t)}function Q(e){const t=o.ref(e);function r(n){typeof n=="object"&&typeof t.value=="object"?It(t,n):t.value=n}return[t,r]}function Wt(e,t){const[r,n]=Q(t);return[r,c=>{const u=e(r.value,c);n(u)}]}const Kt=e=>{const t=o.ref(!1),r=v(),n=()=>{const{app:a}=r.value;if(!a||t.value)return null;try{i.trackHook(e,"sdk-ui-vue",a,()=>t.value=!0)}catch(c){console.error("An error occurred when calling the trackHook",c)}};return o.watchEffect(()=>{n()}),{hasTrackedRef:t}};exports.CustomWidgetsProvider=Et;exports.SisenseContextProvider=Pt;exports.ThemeProvider=q;exports.collectRefs=wt;exports.createDefaultContextConnectors=S;exports.createSisenseContextConnector=X;exports.createThemeContextConnector=J;exports.customWidgetsContextKey=w;exports.getCustomWidgetsContext=z;exports.getSisenseContext=v;exports.getThemeContext=x;exports.setupHelper=Dt;exports.setupHelperWithChildren=Ft;exports.sisenseContextKey=A;exports.themeContextConfigKey=O;exports.toPlainObject=xt;exports.toPlainValue=h;exports.useReducer=Wt;exports.useRefState=Q;exports.useTracking=Kt;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "2.24.0",
14
+ "version": "2.26.0",
15
15
  "type": "module",
16
16
  "main": "./dist/index.cjs",
17
17
  "module": "./dist/index.js",
@@ -72,7 +72,8 @@
72
72
  "clean": "rm -rf ./dist && rm -rf ./coverage && rm -rf tsconfig.tsbuildinfo"
73
73
  },
74
74
  "dependencies": {
75
- "@sisense/sdk-ui-preact": "2.24.0",
75
+ "@sisense/sdk-data": "2.26.0",
76
+ "@sisense/sdk-ui-preact": "2.26.0",
76
77
  "deepmerge": "^4.3.1",
77
78
  "lodash-es": "^4.17.21",
78
79
  "vue": "^3.3.2"
@@ -1 +0,0 @@
1
- "use strict";const e={errors:{noSisenseContext:"Sisense context is not initialized",restApiNotReady:"Rest API is not initialized",componentRenderError:"Unable to render the component",sisenseContextNoAuthentication:"Authentication method is not specified",chartNoSisenseContext:"Sisense context for Chart not found. To fix, wrap the component with a Sisense context provider, or provide an existing dataSet via props.",widgetByIdNoSisenseContext:"Sisense context for Dashboard Widget not found. To fix, wrap the component with a Sisense context provider.",widgetByIdInvalidIdentifier:"Failed to retrieve widget {{widgetOid}} from dashboard {{dashboardOid}}. Please make sure the dashboard widget exists and is accessible.",dashboardWidgetsInvalidIdentifiers:"Failed to retrieve dashboard widgets from dashboard {{dashboardOid}}. Please make sure the dashboard exists and is accessible.",executeQueryNoSisenseContext:"Sisense context for query execution not found. To fix, wrap the component with a Sisense context provider.",executeQueryNoDataSource:"No dataSource provided to execute query",dataOptions:{noDimensionsAndMeasures:"Neither dimensions nor measures found. Data options should have at least one dimension or measure.",attributeNotFound:'Attribute "{{attributeName}}" not found in the data',measureNotFound:'Measure "{{measureName}}" not found in the data',filterAttributeNotFound:'Filter attribute "{{attributeName}}" not found in the data',highlightAttributeNotFound:'Highlight attribute "{{attributeName}}" not found in the data'},optionsTranslation:{invalidStyleOptions:"Invalid style options for '{{chartType}}' chart",invalidInternalDataOptions:"Data options are not correctly converted for '{{chartType}}' chart"},themeNotFound:"Theme with oid {{themeOid}} not found in the connected Sisense environment",paletteNotFound:"Palette '{{paletteName}}' not found in the connected Sisense environment",chartTypeNotSupported:"Chart type {{chartType}} is not supported",chartInvalidProps:"Invalid chart props for chart type: {{chartType}}",unsupportedWidgetType:"Cannot extract props for unsupported widget type - {{widgetType}}",dashboardInvalidIdentifier:"Failed to retrieve dashboard {{dashboardOid}}. Please ensure the dashboard exists, and is accessible to the current user.",sharedFormula:{identifierExpected:"Failed to retrieve shared formula. Please provide oid or both name and datasource. Provided values: name={{name}}, dataSource={{dataSource}}, oid={{oid}}",failedToFetchByOid:"Failed to fetch shared formula by oid {{oid}}",failedToFetchByName:"Failed to fetch shared formula by name {{name}} and dataSource {{dataSource}}"},widgetModel:{incompleteWidget:"WidgetModelTranslator: Widget can not be transformed to DTO because of incomplete property ({{prop}})",unsupportedWidgetTypeDto:"WidgetModelTranslator: Saving the widget of type {{chartType}} is not supported",pivotWidgetNotSupported:"WidgetModelTranslator: Pivot widget is not supported for method {{methodName}}",textWidgetNotSupported:"WidgetModelTranslator: Text widget is not supported for method {{methodName}}",onlyTableWidgetSupported:"WidgetModelTranslator: Only table widget is supported for method {{methodName}}",onlyPivotWidgetSupported:"WidgetModelTranslator: Only pivot widget is supported for method {{methodName}}",onlyTextWidgetSupported:"WidgetModelTranslator: Only text widget is supported for method {{methodName}}",onlyCustomWidgetSupported:"WidgetModelTranslator: Only custom widget is supported for method {{methodName}}",unsupportedWidgetType:"Unsupported widget type: {{widgetType}}",unsupportedFusionWidgetType:"Unsupported Fusion widget type: {{widgetType}}"},unknownFilterInFilterRelations:"Filter relationship contains a filter {{filterGuid}} which could not be found in the provided filters",invalidFilterType:"Invalid filter type. Expected: {{filterType}}",secondsDateTimeLevelIsNotSupported:"Datetime level 'seconds' is not supported for this datasource",missingMenuRoot:"Missing initialized menu root",missingModalRoot:"Missing initialized modal root",missingDataSource:"The 'dataSource' value is missing. It must be provided explicitly, or a 'defaultDataSource' should be specified in the Sisense context provider.",incorrectOnDataReadyHandler:"'onDataReady' handler must return a valid data object",emptyModel:"Empty model",missingMetadata:"Missing metadata",missingModelTitle:"Missing model title",httpClientNotFound:"HttpClient not found.",serverSettingsNotLoaded:"Failed to load server settings",requiredColumnMissing:"A required column is missing. {{hint}}",unexpectedChartType:"Unexpected chart type: {{chartType}}",noRowNumColumn:"Data has no row num column: {{columnName}}",tickIntervalCalculationFailed:"Unable to calculate tick interval. Try specifying datetime granularity.",polarChartDesignOptionsExpected:"Polar chart design options expected for polar chart",polarChartDesignOptionsNotExpected:"Polar chart design options not expected for non-polar chart",indicatorInvalidRelativeSize:"Invalid relative size options for indicator chart",unsupportedMapType:"Unsupported map type: {{mapType}}",mapLoadingFailed:"Failed loading map",cascadingFilterOriginalNotFound:"Error in cascading filters reassembling. Original cascading filter not found",dashboardLoadFailed:"Failed to load Dashboard. {{error}}",widgetLoadFailed:"Failed to load Widget. {{error}}",failedToAddWidget:"Failed to add widget to dashboard",widgetEmptyResponse:"Empty response for widget with oid {{widgetOid}}",dateFilterIncorrectOperator:"Incorrect operator: {{operator}}",synchronizedFilterInvalidProps:"`useSynchronizedFilter` hook must take at least one of [non-null `filterFromProps`] or [`createEmptyFilter` function]",unexpectedCacheValue:"Unexpected cache value",notAMembersFilter:"Filter is not a MembersFilter",drilldownNoInitialDimension:"Initial dimension has to be specified to use drilldown with custom components",otherWidgetTypesNotSupported:"Other widget types are not supported yet",dataBrowser:{dimensionNotFound:"Dimension with id {{dimensionId}} not found",attributeNotFound:"Attribute with id {{attributeId}} not found"},addFilterPopover:{noDataSources:"No data sources available. Try to define `dataSource` in widgets or `defaultDataSource` on the dashboard level."},tabberInvalidConfiguration:"Tabber widget configuration is invalid"},errorBoxText:"$t(common:error): {{errorMessage}}",chartNoData:"No Results",filters:"Filters",cancel:"Cancel",includeAll:"Include all",formatting:{number:{abbreviations:{thousand:"K",million:"M",billion:"B",trillion:"T"}}},criteriaFilter:{displayModePrefix:"All items",equals:"Equals {{val}}",notEquals:"Does not equal {{val}}",lessThan:"Less than {{val}}",lessThanOrEqual:"Less than or equal to {{val}}",greaterThan:"Greater than {{val}}",greaterThanOrEqual:"Greater than or equal to {{val}}",between:"Between {{valA}} and {{valB}}",notBetween:"Not between {{valA}} and {{valB}}",top:"Top {{valA}} by {{valB}}",bottom:"Last {{valA}} by {{valB}}",is:"Is {{val}}",isNot:"Is not {{val}}",contains:"Contains {{val}}",notContains:"Doesn't contain {{val}}",startsWith:"Starts with {{val}}",notStartsWith:"Doesn't start with {{val}}",endsWith:"Ends with {{val}}",notEndsWith:"Doesn't end with {{val}}",like:"Is like {{val}}",byMeasure:"By measure",by:"by"},dateFilter:{last:"Last",next:"Next",from:"From",to:"To",count:"Count",select:"Select",today:"Today",days:"Days",weeks:"Weeks",months:"Months",quarters:"Quarters",years:"Years",earliestDate:"Earliest Date",latestDate:"Latest Date",todayOutOfRange:"Today is outside of the available date range",dateRange:{fromTo:"{{from}} to {{to}}",from:"From {{val}}",to:"To {{val}}"}},boxplot:{tooltip:{whiskers:"Whiskers",box:"Box",min:"Min",median:"Median",max:"Max"}},treemap:{tooltip:{ofTotal:"of total",of:"of"}},advanced:{tooltip:{min:"Lower Bound",max:"Upper Bound",forecastValue:"Forecast Value",forecast:"Forecast",trend:"Trend",trendLocalValue:"Local Value",confidenceInterval:"Confidence Interval",trendType:"Type",trendDataKey:"Trend Data",trendData:{min:"Min",max:"Max",median:"Median",average:"Average"}}},arearange:{tooltip:{min:"Min",max:"Max"}},unsupportedFilterMessage:"Unsupported Filter (applied to the data query)",unsupportedFilter:"Unsupported filter {{filter}}",commonFilter:{clearSelectionButton:"Clear Selection",selectMenuItem:"Select",unselectMenuItem:"Un-Select"},customFilterTileMessage:"filtered with custom filter",filterRelations:{and:"AND",or:"OR",andOrFormulaApplied:"AND/OR Formula applied"},drilldown:{drillMenuItem:"Drill",breadcrumbsAllSuffix:"All",breadcrumbsPrev:"Prev",breadcrumbsNext:"Next",popover:{members:"Members",table:"Table",column:"Column"}},widgetHeader:{addTitle:"Add title",info:{details:"Widget Details",tooltip:"Click to view full details"},menu:{deleteWidget:"Delete Widget",renameWidget:"Rename Widget",distributeEqualWidth:"Distribute equally in this row",download:"Download",csvFile:"CSV File"}},customWidgets:{registerPrompt:"Unknown custom widget type: {{customWidgetType}}. Please register this custom widget."},ai:{analyticsChatbot:"Analytics Chatbot",dataTopics:"Data Topics",chatbotDescription:"Analytics Chatbot is designed to help you interact with your data using natural language.",topicSelectPrompt:"Pick a topic you would like to explore:",preview:"Preview",clearHistoryPrompt:"Do you want to clear this chat?",config:{inputPromptText:'Ask a question or type "/" for ideas',welcomeText:"Welcome to the Analytics Assistant! I can help you explore and gain insights from your data.",suggestionsWelcomeText:"Some questions you may have:"},buttons:{insights:"Insights",correctResponse:"Correct response",incorrectResponse:"Incorrect response",clearChat:"Clear chat",refresh:"Refresh",readMore:"Read more",collapse:"Collapse",yes:"Yes",no:"No",seeMore:"See more"},disclaimer:{poweredByAi:"Content is powered by AI, so surprises and mistakes are possible.",rateRequest:"Please rate responses so we can improve!"},errors:{chatUnavailable:"Chat unavailable. Please try again later.",fetchHistory:"Something went wrong and we were unable to retrieve the chat thread. Let's start over!",recommendationsNotAvailable:"Recommendations aren't available right now. Try again in a few minutes.",insightsNotAvailable:"No insights available.",VectorDBEmptyResponseError:"The AI configuration is not ready, please wait a few minutes and try again.",LlmBadConfigurationError:"The LLM configuration is wrong. Reach out to your Admin to update the LLM provider configuration.",ChartTypeUnsupportedError:"Requested chart type is not supported.",BlockedByLlmContentFiltering:"This question is blocked by our content management policy. Please try asking a different question.",LlmContextLengthExceedsLimitError:"Looks like you've reached the message length limit, please clear this conversation.",UserPromptExeedsLimitError:"The prompt exceeds the limit. Rephrase your question and use shorter prompt.",unexpectedChatResponse:"Oh snap, something went wrong. Please try again later or try asking a different question.",unexpected:"Oh snap, something went wrong. Please try again later.",unknownResponse:"Received unknown responseType, raw response=",invalidInput:"Invalid input",noAvailableDataTopics:"None of the provided data models or perspectives are available",failedToFetchCreditBalance:"Failed to fetch credit balance"},quota:{exceededErrorTitle:"AI responses are currently unavailable.",exceededErrorDescription:"You've reached your company monthly AI quota. The quota will automatically renew on your next monthly usage cycle.",warningDescription:"You've used {{usagePercentage}}% of your company monthly AI quota."}},attribute:{datetimeName:{years:"Years in {{columnName}}",quarters:"Quarters in {{columnName}}",months:"Months in {{columnName}}",weeks:"Weeks in {{columnName}}",days:"Days in {{columnName}}",hours:"Hours in {{columnName}}",minutes:"Minutes in {{columnName}}"}},filterEditor:{buttons:{apply:"Apply",cancel:"Cancel",selectAll:"Select All",clearAll:"Clear All"},labels:{includeAll:"Include all (no filter applied)",allowMultiSelection:"Allow multiselect for lists",from:"From",to:"To",includeCurrent:"Including current"},placeholders:{selectFromList:"Select from list",enterEntry:"Type your entry...",enterValue:"Enter value...",select:"Select"},conditions:{exclude:"Is not",contains:"Contains",notContain:"Does not contain",startsWith:"Starts with",notStartsWith:"Does not start with",endsWith:"Ends with",notEndsWith:"Does not end with",equals:"Equals",notEquals:"Does not equal",isEmpty:"Is empty",isNotEmpty:"Is not empty",lessThan:"Smaller than",lessThanOrEqual:"Equals or smaller than",greaterThan:"Greater than",greaterThanOrEqual:"Equals or greater than",isWithin:"Is within"},validationErrors:{invalidNumber:"Numbers only",invalidNumericRange:'"To" must be greater than "From"'},datetimeLevels:{year:"Year",quarter:"Quarter",month:"Month",week:"Week",day:"Day",aggrigatedHour:"Hour (aggregated)",aggrigatedMinutesRoundTo15:"15-min (aggregated)"},relativeTypes:{last:"Last",this:"This",next:"Next"},datetimePositions:{before:"Before",after:"After"}},dataBrowser:{addFilter:"Add Filter",selectField:"Select Field",configureFilter:"Configure Filter",noResults:"No results",searchPlaceholder:"Search",more:"More...",filter:"Filter",addMeasure:"Add Measure"},pivotTable:{grandTotal:"Grand Total",subTotal:"{{value}} Total",limits:{baseNote:"Totals may refer to the complete data if set by the dashboard owner. If available, you can use filters to display fewer rows and columns.",rowsLimit:"The Pivot table is limited to {{recordsCount}} records",columnsLimit:"The Pivot table is limited to {{columnsCount}} columns",columnsAndRowsLimit:"The Pivot table is limited to {{recordsCount}} records and {{columnsCount}} columns"}},dashboard:{toolbar:{undo:"Undo",redo:"Redo",cancel:"Cancel",apply:"Apply",editLayout:"Edit Layout",viewMode:"Switch to View mode",showFilters:"Show Filters",hideFilters:"Hide Filters",columns:"Columns",column:"Column"}},jumpToDashboard:{defaultCaption:"Jump to",jumpableTooltip:"This widget is jumpable"},calendarHeatmap:{navigation:{firstMonth:"First Month",lastMonth:"Last Month",previousMonth:"Previous Month",nextMonth:"Next Month",previousGroup:"Previous Group",nextGroup:"Next Group"}},filterTile:{menu:{lock:"Lock",unlock:"Unlock",lockGroup:"Lock Group",unlockGroup:"Unlock Group"},toggleSwitch:"Enable/disable filter"},chart:{indicator:{label:"Indicator chart"},visualization:{label:"Data visualization"},pivotTable:{label:"Pivot table"},table:{label:"Data table"}},loadingOverlay:{label:"Loading content"},measures:{countShort:"# of {{level}}",countDistinct:"Count Unique",count:"Count All",average:"Average",sum:"Sum",min:"Min",max:"Max",stdev:"Standard Deviation",median:"Median",variance:"Variance"}},t="sdkUi",o={en:e,"en-US":e};exports.e=e;exports.o=o;exports.t=t;