@startinblox/components-ds4go 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -150,6 +150,31 @@ config.json, components:
150
150
  },
151
151
  ```
152
152
 
153
+ ### Fetch all catalogs
154
+
155
+ config.json, components:
156
+
157
+ ```json
158
+ {
159
+ "type": "dsif-explorer-poc",
160
+ "parameters": {
161
+ "menu": {
162
+ "name": "DSIF Explorer",
163
+ "category": "none",
164
+ "icon": "mage-globe-fill"
165
+ },
166
+ "dataSrc": "https://poc.root-authority.dsif.eu/sectors",
167
+ "sectorId": "*",
168
+ "catalogId": "*"
169
+ },
170
+ "route": "dsif-explorer",
171
+ "integration": [
172
+ "menu",
173
+ "routing"
174
+ ]
175
+ },
176
+ ```
177
+
153
178
  ## DSP Connector
154
179
 
155
180
  config.json, components:
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ const { is: me, defineProperty: ge, getOwnPropertyDescriptor: ye, getOwnProperty
64
64
  }
65
65
  }
66
66
  return r;
67
- } }, ht = (e, t) => !me(e, t), Lt = { attribute: !0, type: String, converter: ot, reflect: !1, useDefault: !1, hasChanged: ht };
67
+ } }, ht = (e, t) => !me(e, t), It = { attribute: !0, type: String, converter: ot, reflect: !1, useDefault: !1, hasChanged: ht };
68
68
  Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), dt.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
69
69
  let F = class extends HTMLElement {
70
70
  static addInitializer(t) {
@@ -73,7 +73,7 @@ let F = class extends HTMLElement {
73
73
  static get observedAttributes() {
74
74
  return this.finalize(), this._$Eh && [...this._$Eh.keys()];
75
75
  }
76
- static createProperty(t, r = Lt) {
76
+ static createProperty(t, r = It) {
77
77
  if (r.state && (r.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((r = Object.create(r)).wrapped = !0), this.elementProperties.set(t, r), !r.noAccessor) {
78
78
  const i = /* @__PURE__ */ Symbol(), s = this.getPropertyDescriptor(t, i, r);
79
79
  s !== void 0 && ge(this.prototype, t, s);
@@ -91,7 +91,7 @@ let F = class extends HTMLElement {
91
91
  }, configurable: !0, enumerable: !0 };
92
92
  }
93
93
  static getPropertyOptions(t) {
94
- return this.elementProperties.get(t) ?? Lt;
94
+ return this.elementProperties.get(t) ?? It;
95
95
  }
96
96
  static _$Ei() {
97
97
  if (this.hasOwnProperty(K("elementProperties"))) return;
@@ -248,9 +248,9 @@ let F = class extends HTMLElement {
248
248
  }
249
249
  };
250
250
  F.elementStyles = [], F.shadowRootOptions = { mode: "open" }, F[K("elementProperties")] = /* @__PURE__ */ new Map(), F[K("finalized")] = /* @__PURE__ */ new Map(), we?.({ ReactiveElement: F }), (dt.reactiveElementVersions ??= []).push("2.1.2");
251
- const Pt = globalThis, It = (e) => e, nt = Pt.trustedTypes, Tt = nt ? nt.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, Yt = "$lit$", x = `lit$${Math.random().toFixed(9).slice(2)}$`, te = "?" + x, Ae = `<${te}>`, I = document, G = () => I.createComment(""), J = (e) => e === null || typeof e != "object" && typeof e != "function", jt = Array.isArray, Ce = (e) => jt(e) || typeof e?.[Symbol.iterator] == "function", mt = `[
252
- \f\r]`, W = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Ft = /-->/g, Nt = />/g, O = RegExp(`>|${mt}(?:([^\\s"'>=/]+)(${mt}*=${mt}*(?:[^
253
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Mt = /'/g, Bt = /"/g, ee = /^(?:script|style|textarea|title)$/i, xe = (e) => (t, ...r) => ({ _$litType$: e, strings: t, values: r }), d = xe(1), H = /* @__PURE__ */ Symbol.for("lit-noChange"), c = /* @__PURE__ */ Symbol.for("lit-nothing"), qt = /* @__PURE__ */ new WeakMap(), D = I.createTreeWalker(I, 129);
251
+ const Pt = globalThis, Lt = (e) => e, nt = Pt.trustedTypes, Tt = nt ? nt.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, Yt = "$lit$", x = `lit$${Math.random().toFixed(9).slice(2)}$`, te = "?" + x, Ae = `<${te}>`, L = document, G = () => L.createComment(""), J = (e) => e === null || typeof e != "object" && typeof e != "function", jt = Array.isArray, Ce = (e) => jt(e) || typeof e?.[Symbol.iterator] == "function", mt = `[
252
+ \f\r]`, W = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Ft = /-->/g, Mt = />/g, O = RegExp(`>|${mt}(?:([^\\s"'>=/]+)(${mt}*=${mt}*(?:[^
253
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), Nt = /'/g, Bt = /"/g, ee = /^(?:script|style|textarea|title)$/i, xe = (e) => (t, ...r) => ({ _$litType$: e, strings: t, values: r }), d = xe(1), H = /* @__PURE__ */ Symbol.for("lit-noChange"), c = /* @__PURE__ */ Symbol.for("lit-nothing"), qt = /* @__PURE__ */ new WeakMap(), D = L.createTreeWalker(L, 129);
254
254
  function re(e, t) {
255
255
  if (!jt(e) || !e.hasOwnProperty("raw")) throw Error("invalid template strings array");
256
256
  return Tt !== void 0 ? Tt.createHTML(t) : t;
@@ -260,10 +260,10 @@ const Se = (e, t) => {
260
260
  let s, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = W;
261
261
  for (let a = 0; a < r; a++) {
262
262
  const l = e[a];
263
- let h, f, u = -1, b = 0;
264
- for (; b < l.length && (n.lastIndex = b, f = n.exec(l), f !== null); ) b = n.lastIndex, n === W ? f[1] === "!--" ? n = Ft : f[1] !== void 0 ? n = Nt : f[2] !== void 0 ? (ee.test(f[2]) && (s = RegExp("</" + f[2], "g")), n = O) : f[3] !== void 0 && (n = O) : n === O ? f[0] === ">" ? (n = s ?? W, u = -1) : f[1] === void 0 ? u = -2 : (u = n.lastIndex - f[2].length, h = f[1], n = f[3] === void 0 ? O : f[3] === '"' ? Bt : Mt) : n === Bt || n === Mt ? n = O : n === Ft || n === Nt ? n = W : (n = O, s = void 0);
263
+ let u, f, p = -1, b = 0;
264
+ for (; b < l.length && (n.lastIndex = b, f = n.exec(l), f !== null); ) b = n.lastIndex, n === W ? f[1] === "!--" ? n = Ft : f[1] !== void 0 ? n = Mt : f[2] !== void 0 ? (ee.test(f[2]) && (s = RegExp("</" + f[2], "g")), n = O) : f[3] !== void 0 && (n = O) : n === O ? f[0] === ">" ? (n = s ?? W, p = -1) : f[1] === void 0 ? p = -2 : (p = n.lastIndex - f[2].length, u = f[1], n = f[3] === void 0 ? O : f[3] === '"' ? Bt : Nt) : n === Bt || n === Nt ? n = O : n === Ft || n === Mt ? n = W : (n = O, s = void 0);
265
265
  const $ = n === O && e[a + 1].startsWith("/>") ? " " : "";
266
- o += n === W ? l + Ae : u >= 0 ? (i.push(h), l.slice(0, u) + Yt + l.slice(u) + x + $) : l + x + (u === -2 ? a : $);
266
+ o += n === W ? l + Ae : p >= 0 ? (i.push(u), l.slice(0, p) + Yt + l.slice(p) + x + $) : l + x + (p === -2 ? a : $);
267
267
  }
268
268
  return [re(e, o + (e[r] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), i];
269
269
  };
@@ -272,35 +272,35 @@ class Z {
272
272
  let s;
273
273
  this.parts = [];
274
274
  let o = 0, n = 0;
275
- const a = t.length - 1, l = this.parts, [h, f] = Se(t, r);
276
- if (this.el = Z.createElement(h, i), D.currentNode = this.el.content, r === 2 || r === 3) {
277
- const u = this.el.content.firstChild;
278
- u.replaceWith(...u.childNodes);
275
+ const a = t.length - 1, l = this.parts, [u, f] = Se(t, r);
276
+ if (this.el = Z.createElement(u, i), D.currentNode = this.el.content, r === 2 || r === 3) {
277
+ const p = this.el.content.firstChild;
278
+ p.replaceWith(...p.childNodes);
279
279
  }
280
280
  for (; (s = D.nextNode()) !== null && l.length < a; ) {
281
281
  if (s.nodeType === 1) {
282
- if (s.hasAttributes()) for (const u of s.getAttributeNames()) if (u.endsWith(Yt)) {
283
- const b = f[n++], $ = s.getAttribute(u).split(x), rt = /([.?@])?(.*)/.exec(b);
284
- l.push({ type: 1, index: o, name: rt[2], strings: $, ctor: rt[1] === "." ? je : rt[1] === "?" ? Ee : rt[1] === "@" ? Re : ut }), s.removeAttribute(u);
285
- } else u.startsWith(x) && (l.push({ type: 6, index: o }), s.removeAttribute(u));
282
+ if (s.hasAttributes()) for (const p of s.getAttributeNames()) if (p.endsWith(Yt)) {
283
+ const b = f[n++], $ = s.getAttribute(p).split(x), rt = /([.?@])?(.*)/.exec(b);
284
+ l.push({ type: 1, index: o, name: rt[2], strings: $, ctor: rt[1] === "." ? je : rt[1] === "?" ? Ee : rt[1] === "@" ? Re : ut }), s.removeAttribute(p);
285
+ } else p.startsWith(x) && (l.push({ type: 6, index: o }), s.removeAttribute(p));
286
286
  if (ee.test(s.tagName)) {
287
- const u = s.textContent.split(x), b = u.length - 1;
287
+ const p = s.textContent.split(x), b = p.length - 1;
288
288
  if (b > 0) {
289
289
  s.textContent = nt ? nt.emptyScript : "";
290
- for (let $ = 0; $ < b; $++) s.append(u[$], G()), D.nextNode(), l.push({ type: 2, index: ++o });
291
- s.append(u[b], G());
290
+ for (let $ = 0; $ < b; $++) s.append(p[$], G()), D.nextNode(), l.push({ type: 2, index: ++o });
291
+ s.append(p[b], G());
292
292
  }
293
293
  }
294
294
  } else if (s.nodeType === 8) if (s.data === te) l.push({ type: 2, index: o });
295
295
  else {
296
- let u = -1;
297
- for (; (u = s.data.indexOf(x, u + 1)) !== -1; ) l.push({ type: 7, index: o }), u += x.length - 1;
296
+ let p = -1;
297
+ for (; (p = s.data.indexOf(x, p + 1)) !== -1; ) l.push({ type: 7, index: o }), p += x.length - 1;
298
298
  }
299
299
  o++;
300
300
  }
301
301
  }
302
302
  static createElement(t, r) {
303
- const i = I.createElement("template");
303
+ const i = L.createElement("template");
304
304
  return i.innerHTML = t, i;
305
305
  }
306
306
  }
@@ -321,17 +321,17 @@ class Pe {
321
321
  return this._$AM._$AU;
322
322
  }
323
323
  u(t) {
324
- const { el: { content: r }, parts: i } = this._$AD, s = (t?.creationScope ?? I).importNode(r, !0);
324
+ const { el: { content: r }, parts: i } = this._$AD, s = (t?.creationScope ?? L).importNode(r, !0);
325
325
  D.currentNode = s;
326
326
  let o = D.nextNode(), n = 0, a = 0, l = i[0];
327
327
  for (; l !== void 0; ) {
328
328
  if (n === l.index) {
329
- let h;
330
- l.type === 2 ? h = new tt(o, o.nextSibling, this, t) : l.type === 1 ? h = new l.ctor(o, l.name, l.strings, this, t) : l.type === 6 && (h = new Ue(o, this, t)), this._$AV.push(h), l = i[++a];
329
+ let u;
330
+ l.type === 2 ? u = new tt(o, o.nextSibling, this, t) : l.type === 1 ? u = new l.ctor(o, l.name, l.strings, this, t) : l.type === 6 && (u = new Ue(o, this, t)), this._$AV.push(u), l = i[++a];
331
331
  }
332
332
  n !== l?.index && (o = D.nextNode(), n++);
333
333
  }
334
- return D.currentNode = I, s;
334
+ return D.currentNode = L, s;
335
335
  }
336
336
  p(t) {
337
337
  let r = 0;
@@ -366,7 +366,7 @@ class tt {
366
366
  this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
367
367
  }
368
368
  _(t) {
369
- this._$AH !== c && J(this._$AH) ? this._$AA.nextSibling.data = t : this.T(I.createTextNode(t)), this._$AH = t;
369
+ this._$AH !== c && J(this._$AH) ? this._$AA.nextSibling.data = t : this.T(L.createTextNode(t)), this._$AH = t;
370
370
  }
371
371
  $(t) {
372
372
  const { values: r, _$litType$: i } = t, s = typeof i == "number" ? this._$AC(t) : (i.el === void 0 && (i.el = Z.createElement(re(i.h, i.h[0]), this.options)), i);
@@ -389,8 +389,8 @@ class tt {
389
389
  }
390
390
  _$AR(t = this._$AA.nextSibling, r) {
391
391
  for (this._$AP?.(!1, !0, r); t !== this._$AB; ) {
392
- const i = It(t).nextSibling;
393
- It(t).remove(), t = i;
392
+ const i = Lt(t).nextSibling;
393
+ Lt(t).remove(), t = i;
394
394
  }
395
395
  }
396
396
  setConnected(t) {
@@ -413,8 +413,8 @@ class ut {
413
413
  if (o === void 0) t = z(this, t, r, 0), n = !J(t) || t !== this._$AH && t !== H, n && (this._$AH = t);
414
414
  else {
415
415
  const a = t;
416
- let l, h;
417
- for (t = o[0], l = 0; l < o.length - 1; l++) h = z(this, a[i + l], r, l), h === H && (h = this._$AH[l]), n ||= !J(h) || h !== this._$AH[l], h === c ? t = c : t !== c && (t += (h ?? "") + o[l + 1]), this._$AH[l] = h;
416
+ let l, u;
417
+ for (t = o[0], l = 0; l < o.length - 1; l++) u = z(this, a[i + l], r, l), u === H && (u = this._$AH[l]), n ||= !J(u) || u !== this._$AH[l], u === c ? t = c : t !== c && (t += (u ?? "") + o[l + 1]), this._$AH[l] = u;
418
418
  }
419
419
  n && !s && this.j(t);
420
420
  }
@@ -500,7 +500,7 @@ q._$litElement$ = !0, q.finalized = !0, Et.litElementHydrateSupport?.({ LitEleme
500
500
  const De = Et.litElementPolyfillSupport;
501
501
  De?.({ LitElement: q });
502
502
  (Et.litElementVersions ??= []).push("4.2.2");
503
- class Le extends q {
503
+ class Ie extends q {
504
504
  constructor() {
505
505
  super(...arguments), this.object = {
506
506
  "@id": ""
@@ -515,7 +515,7 @@ const V = (e) => (t, r) => {
515
515
  customElements.define(e, t);
516
516
  }) : customElements.define(e, t);
517
517
  };
518
- const Ie = { attribute: !0, type: String, converter: ot, reflect: !1, hasChanged: ht }, Te = (e = Ie, t, r) => {
518
+ const Le = { attribute: !0, type: String, converter: ot, reflect: !1, hasChanged: ht }, Te = (e = Le, t, r) => {
519
519
  const { kind: i, metadata: s } = r;
520
520
  let o = globalThis.litPropertyMetadata.get(s);
521
521
  if (o === void 0 && globalThis.litPropertyMetadata.set(s, o = /* @__PURE__ */ new Map()), i === "setter" && ((e = Object.create(e)).wrapped = !0), o.set(r.name, e), i === "accessor") {
@@ -545,7 +545,7 @@ function y(e) {
545
545
  function m(e) {
546
546
  return y({ ...e, state: !0, attribute: !1 });
547
547
  }
548
- var Fe = Object.defineProperty, Ne = (e, t, r, i) => {
548
+ var Fe = Object.defineProperty, Me = (e, t, r, i) => {
549
549
  for (var s = void 0, o = e.length - 1, n; o >= 0; o--)
550
550
  (n = e[o]) && (s = n(t, r, s) || s);
551
551
  return s && Fe(t, r, s), s;
@@ -555,13 +555,13 @@ class Rt extends q {
555
555
  super(...arguments), this.objects = [], this.hasType = (t, r = this.objects) => new Set(r.flatMap((s) => s["@type"])).has(t);
556
556
  }
557
557
  }
558
- Ne([
558
+ Me([
559
559
  y({ attribute: !1 })
560
560
  ], Rt.prototype, "objects");
561
- var Me = Object.defineProperty, j = (e, t, r, i) => {
561
+ var Ne = Object.defineProperty, j = (e, t, r, i) => {
562
562
  for (var s = void 0, o = e.length - 1, n; o >= 0; o--)
563
563
  (n = e[o]) && (s = n(t, r, s) || s);
564
- return s && Me(t, r, s), s;
564
+ return s && Ne(t, r, s), s;
565
565
  };
566
566
  class v extends Rt {
567
567
  constructor({
@@ -600,7 +600,7 @@ class v extends Rt {
600
600
  );
601
601
  a && (i = a[0]?.uniq);
602
602
  }
603
- i && M(
603
+ i && N(
604
604
  (window.orbit ? window.orbit.getRoute(i, !0) : i) + (s ? `-${s}` : ""),
605
605
  o
606
606
  ), t.preventDefault();
@@ -713,10 +713,10 @@ function Be(e, t, r) {
713
713
  if (!e) return null;
714
714
  const i = JSON.parse(JSON.stringify(e));
715
715
  i["@id"] && (i["@id"] = B(i["@id"]));
716
- const s = N(t, ["@id"]) || "";
716
+ const s = M(t, ["@id"]) || "";
717
717
  return i.target = B(s), i;
718
718
  }
719
- function N(e, t) {
719
+ function M(e, t) {
720
720
  if (t.length === 0)
721
721
  return;
722
722
  let r = e;
@@ -767,14 +767,14 @@ class qe {
767
767
  * Maps a single field
768
768
  */
769
769
  mapField(t, r, i) {
770
- let s = N(t, r.source);
771
- return r.transform && (s = r.transform(s, t, i)), (s == null || s === "") && r.fallback && (typeof r.fallback == "function" ? s = r.fallback(t, i) : s = N(t, [r.fallback])), (s == null || s === "") && (s = r.defaultValue), s;
770
+ let s = M(t, r.source);
771
+ return r.transform && (s = r.transform(s, t, i)), (s == null || s === "") && r.fallback && (typeof r.fallback == "function" ? s = r.fallback(t, i) : s = M(t, [r.fallback])), (s == null || s === "") && (s = r.defaultValue), s;
772
772
  }
773
773
  /**
774
774
  * Maps a container field (array wrapped in LDP container)
775
775
  */
776
776
  mapContainerField(t, r, i) {
777
- let s = N(t, r.source);
777
+ let s = M(t, r.source);
778
778
  if (!s)
779
779
  return null;
780
780
  r.transform && (s = r.transform(s, t, i)), Array.isArray(s) || (s = [s]), r.filter && (s = s.filter(
@@ -784,9 +784,9 @@ class qe {
784
784
  const l = {
785
785
  "@type": r.itemType
786
786
  };
787
- for (const [h, f] of Object.entries(r.itemFields)) {
788
- const u = f(n, a, i);
789
- u !== void 0 && (l[h] = u);
787
+ for (const [u, f] of Object.entries(r.itemFields)) {
788
+ const p = f(n, a, i);
789
+ p !== void 0 && (l[u] = p);
790
790
  }
791
791
  return l;
792
792
  });
@@ -799,14 +799,14 @@ class qe {
799
799
  * Maps a nested object
800
800
  */
801
801
  mapNestedObject(t, r, i) {
802
- const s = N(t, r.source);
802
+ const s = M(t, r.source);
803
803
  if (!s)
804
804
  return null;
805
805
  const o = {};
806
806
  r.type && (o["@type"] = r.type);
807
807
  for (const [n, a] of Object.entries(r.fields)) {
808
808
  let l;
809
- Array.isArray(a) ? l = N(s, a) : l = this.mapField(s, a, i), l !== void 0 && (o[n] = l);
809
+ Array.isArray(a) ? l = M(s, a) : l = this.mapField(s, a, i), l !== void 0 && (o[n] = l);
810
810
  }
811
811
  return Object.keys(o).length > (r.type ? 1 : 0) ? o : null;
812
812
  }
@@ -1184,8 +1184,8 @@ class C extends v {
1184
1184
  try {
1185
1185
  const a = await this.storeService.getCatalog(n.address);
1186
1186
  if (a?.["dcat:dataset"]) {
1187
- const l = a["dcat:dataset"], h = Array.isArray(l) ? l : [l], f = a.participantId || a["edc:participantId"] || a["https://w3id.org/edc/v0.0.1/ns/participantId"], u = n.participantId || f;
1188
- return h.map((b) => {
1187
+ const l = a["dcat:dataset"], u = Array.isArray(l) ? l : [l], f = a.participantId || a["edc:participantId"] || a["https://w3id.org/edc/v0.0.1/ns/participantId"], p = n.participantId || f;
1188
+ return u.map((b) => {
1189
1189
  const $ = {
1190
1190
  temsServiceBase: t,
1191
1191
  temsCategoryBase: t.replace(
@@ -1201,7 +1201,7 @@ class C extends v {
1201
1201
  providerName: n.name,
1202
1202
  providerAddress: n.address,
1203
1203
  providerColor: n.color,
1204
- providerParticipantId: u
1204
+ providerParticipantId: p
1205
1205
  };
1206
1206
  return r.map(b, $);
1207
1207
  });
@@ -1247,7 +1247,20 @@ E([
1247
1247
  E([
1248
1248
  y({ type: Array })
1249
1249
  ], C.prototype, "providers");
1250
- function We() {
1250
+ const We = (e, { keywords: t = [], attributes: r = ["dataSrc"] } = {}) => {
1251
+ const i = () => {
1252
+ t && r && (e.caching === void 0 && (e.caching = 0), e.hasCachedDatas === void 0 && (e.hasCachedDatas = !1), e.cacheListener = (s) => {
1253
+ const o = s.detail.id || s.detail.resource["@id"];
1254
+ if (t.some((n) => o?.includes(n))) {
1255
+ for (const n of r)
1256
+ e[n] && o !== e[n] && window.sibStore.clearCache(e[n]);
1257
+ e.caching++, e.hasCachedDatas = !1, e.requestUpdate();
1258
+ }
1259
+ }, e._subscriptions.add(["save", e.cacheListener]), e._subscribe());
1260
+ };
1261
+ document.readyState !== "complete" ? document.addEventListener("DOMContentLoaded", i) : i();
1262
+ };
1263
+ function Ke() {
1251
1264
  return Math.random().toString(16).slice(2);
1252
1265
  }
1253
1266
  const se = ({
@@ -1255,7 +1268,7 @@ const se = ({
1255
1268
  defaultRoute: t = !1,
1256
1269
  ignoreRouter: r = !1
1257
1270
  }) => {
1258
- if (e.uniq || (e.uniq = We(), t && !e.route && !r && (e.route = t)), e._subscriptions = /* @__PURE__ */ new Set(), !r) {
1271
+ if (e.uniq || (e.uniq = Ke(), t && !e.route && !r && (e.route = t)), e._subscriptions = /* @__PURE__ */ new Set(), !r) {
1259
1272
  e.route || (e.route = e.uniq, window.orbit && (e.route = window.orbit.getRoute(e.uniq))), e.noRouter = !0;
1260
1273
  let i = document.querySelector("solid-router");
1261
1274
  for (; i; )
@@ -1301,14 +1314,14 @@ const vt = (e, t, r) => {
1301
1314
  return Array.isArray(e) ? e.some(
1302
1315
  (o) => vt(o, t, r)
1303
1316
  ) : typeof e == "object" ? Object.entries(e).some(([o, n]) => o === t && zt(n) ? !1 : vt(n, t, r)) : !1;
1304
- }, Ke = (e, t, r) => {
1317
+ }, Ge = (e, t, r) => {
1305
1318
  if (!t || !r || typeof r != "string")
1306
1319
  return e;
1307
1320
  const i = new Date(r);
1308
1321
  return Number.isNaN(i.getTime()) ? (console.warn(`Invalid threshold date provided: ${r}`), e) : e.filter(
1309
1322
  (s) => vt(s, t, i)
1310
1323
  );
1311
- }, Ge = (e, t, r) => !t || !r ? e : e.filter((i) => {
1324
+ }, Je = (e, t, r) => !t || !r ? e : e.filter((i) => {
1312
1325
  let s = i;
1313
1326
  const o = t.split(".");
1314
1327
  for (const a of o)
@@ -1321,7 +1334,7 @@ const vt = (e, t, r) => {
1321
1334
  (a) => typeof a == "object" && a !== null && "@id" in a && a["@id"] === r
1322
1335
  ) : !1 : !1;
1323
1336
  });
1324
- function Je(e) {
1337
+ function Ze(e) {
1325
1338
  return typeof e != "string" && typeof e != "number" && !(e instanceof Date) ? !1 : !Number.isNaN(new Date(e).getTime());
1326
1339
  }
1327
1340
  const bt = (e, t, r, i) => {
@@ -1337,7 +1350,7 @@ const bt = (e, t, r, i) => {
1337
1350
  if (typeof o == "number") {
1338
1351
  if (typeof r == "number" && typeof i == "number" && r <= o && o <= i)
1339
1352
  return !0;
1340
- } else if (Je(o)) {
1353
+ } else if (Ze(o)) {
1341
1354
  const n = new Date(o);
1342
1355
  if (r instanceof Date && i instanceof Date && r <= n && n <= i)
1343
1356
  return !0;
@@ -1348,7 +1361,7 @@ const bt = (e, t, r, i) => {
1348
1361
  ) : typeof e == "object" ? Object.entries(e).some(
1349
1362
  ([n, a]) => bt(a, t, r, i)
1350
1363
  ) : !1;
1351
- }, Ze = (e, t, r) => {
1364
+ }, Xe = (e, t, r) => {
1352
1365
  if (!t || !r || typeof r != "string")
1353
1366
  return e;
1354
1367
  const [i, s] = r.split("/").map(Number);
@@ -1388,7 +1401,7 @@ const bt = (e, t, r, i) => {
1388
1401
  )
1389
1402
  ), i === 2) break;
1390
1403
  return i;
1391
- }, Xe = (e, t, r) => {
1404
+ }, Qe = (e, t, r) => {
1392
1405
  if (!t || !r || r.trim() === "")
1393
1406
  return e;
1394
1407
  const i = r.toLowerCase(), o = e.map((n) => {
@@ -1401,11 +1414,11 @@ const bt = (e, t, r, i) => {
1401
1414
  a = null;
1402
1415
  break;
1403
1416
  }
1404
- let h = 0;
1405
- return a && (h = $t(a, i)), { obj: n, score: h };
1417
+ let u = 0;
1418
+ return a && (u = $t(a, i)), { obj: n, score: u };
1406
1419
  }).filter((n) => n.score > 0);
1407
1420
  return o.sort((n, a) => a.score - n.score), o.map((n) => n.obj);
1408
- }, Qe = (e, t) => t ? e.filter((r) => {
1421
+ }, Ye = (e, t) => t ? e.filter((r) => {
1409
1422
  const i = r["@type"];
1410
1423
  return i ? typeof i == "string" ? i === t : Array.isArray(i) ? i.some((s) => s === t) : !1 : !1;
1411
1424
  }) : e, _t = (e, t, r) => {
@@ -1461,7 +1474,7 @@ const bt = (e, t, r, i) => {
1461
1474
  else
1462
1475
  throw new TypeError(`Unsupported data type for key "${t}"`);
1463
1476
  return r === "asc" ? a : -a;
1464
- }), L = (e, t = {
1477
+ }), I = (e, t = {
1465
1478
  day: "2-digit",
1466
1479
  month: "2-digit",
1467
1480
  year: "2-digit"
@@ -1469,7 +1482,7 @@ const bt = (e, t, r, i) => {
1469
1482
  if (!e) return "";
1470
1483
  const i = (typeof e == "string" ? new Date(e) : e).toLocaleString(void 0, t);
1471
1484
  return typeof e == "string" && i === "Invalid Date" ? e : i;
1472
- }, M = (e, t = !1) => {
1485
+ }, N = (e, t = !1) => {
1473
1486
  window.dispatchEvent(
1474
1487
  new CustomEvent("requestNavigation", {
1475
1488
  detail: {
@@ -1478,31 +1491,31 @@ const bt = (e, t, r, i) => {
1478
1491
  }
1479
1492
  })
1480
1493
  );
1481
- }, Ye = "https://cdn.startinblox.com/owl/ds4go.jsonld#", tr = { "@id": "ds4go:link", "@type": "@id" }, er = { "@id": "ds4go:enclosure", "@type": "@id" }, rr = { "@id": "ds4go:url", "@type": "@id" }, Wt = {
1482
- ds4go: Ye,
1483
- link: tr,
1484
- enclosure: er,
1485
- url: rr
1494
+ }, tr = "https://cdn.startinblox.com/owl/ds4go.jsonld#", er = { "@id": "ds4go:link", "@type": "@id" }, rr = { "@id": "ds4go:enclosure", "@type": "@id" }, sr = { "@id": "ds4go:url", "@type": "@id" }, Wt = {
1495
+ ds4go: tr,
1496
+ link: er,
1497
+ enclosure: rr,
1498
+ url: sr
1486
1499
  };
1487
1500
  const wt = "lit-localize-status";
1488
- const sr = (e, ...t) => ({
1501
+ const ir = (e, ...t) => ({
1489
1502
  strTag: !0,
1490
1503
  strings: e,
1491
1504
  values: t
1492
- }), S = sr, ir = (e) => typeof e != "string" && "strTag" in e, oe = (e, t, r) => {
1505
+ }), S = ir, or = (e) => typeof e != "string" && "strTag" in e, oe = (e, t, r) => {
1493
1506
  let i = e[0];
1494
1507
  for (let s = 1; s < e.length; s++)
1495
1508
  i += t[r ? r[s - 1] : s - 1], i += e[s];
1496
1509
  return i;
1497
1510
  };
1498
- const ne = ((e) => ir(e) ? oe(e.strings, e.values) : e);
1499
- let p = ne, Kt = !1;
1500
- function or(e) {
1511
+ const ne = ((e) => or(e) ? oe(e.strings, e.values) : e);
1512
+ let h = ne, Kt = !1;
1513
+ function nr(e) {
1501
1514
  if (Kt)
1502
1515
  throw new Error("lit-localize can only be configured once");
1503
- p = e, Kt = !0;
1516
+ h = e, Kt = !0;
1504
1517
  }
1505
- class nr {
1518
+ class ar {
1506
1519
  constructor(t) {
1507
1520
  this.__litLocalizeEventHandler = (r) => {
1508
1521
  r.detail.status === "ready" && this.host.requestUpdate();
@@ -1515,8 +1528,8 @@ class nr {
1515
1528
  window.removeEventListener(wt, this.__litLocalizeEventHandler);
1516
1529
  }
1517
1530
  }
1518
- const ar = (e) => e.addController(new nr(e)), cr = ar;
1519
- const lr = () => (e, t) => (e.addInitializer(cr), e);
1531
+ const cr = (e) => e.addController(new ar(e)), lr = cr;
1532
+ const dr = () => (e, t) => (e.addInitializer(lr), e);
1520
1533
  class ae {
1521
1534
  constructor() {
1522
1535
  this.settled = !1, this.promise = new Promise((t, r) => {
@@ -1533,20 +1546,20 @@ class ae {
1533
1546
  const A = [];
1534
1547
  for (let e = 0; e < 256; e++)
1535
1548
  A[e] = (e >> 4 & 15).toString(16) + (e & 15).toString(16);
1536
- function dr(e) {
1549
+ function hr(e) {
1537
1550
  let t = 0, r = 8997, i = 0, s = 33826, o = 0, n = 40164, a = 0, l = 52210;
1538
- for (let h = 0; h < e.length; h++)
1539
- r ^= e.charCodeAt(h), t = r * 435, i = s * 435, o = n * 435, a = l * 435, o += r << 8, a += s << 8, i += t >>> 16, r = t & 65535, o += i >>> 16, s = i & 65535, l = a + (o >>> 16) & 65535, n = o & 65535;
1551
+ for (let u = 0; u < e.length; u++)
1552
+ r ^= e.charCodeAt(u), t = r * 435, i = s * 435, o = n * 435, a = l * 435, o += r << 8, a += s << 8, i += t >>> 16, r = t & 65535, o += i >>> 16, s = i & 65535, l = a + (o >>> 16) & 65535, n = o & 65535;
1540
1553
  return A[l >> 8] + A[l & 255] + A[n >> 8] + A[n & 255] + A[s >> 8] + A[s & 255] + A[r >> 8] + A[r & 255];
1541
1554
  }
1542
- const hr = "", ur = "h", pr = "s";
1543
- function fr(e, t) {
1544
- return (t ? ur : pr) + dr(typeof e == "string" ? e : e.join(hr));
1555
+ const ur = "", pr = "h", fr = "s";
1556
+ function mr(e, t) {
1557
+ return (t ? pr : fr) + hr(typeof e == "string" ? e : e.join(ur));
1545
1558
  }
1546
1559
  const Gt = /* @__PURE__ */ new WeakMap(), Jt = /* @__PURE__ */ new Map();
1547
- function mr(e, t, r) {
1560
+ function gr(e, t, r) {
1548
1561
  if (e) {
1549
- const i = r?.id ?? gr(t), s = e[i];
1562
+ const i = r?.id ?? yr(t), s = e[i];
1550
1563
  if (s) {
1551
1564
  if (typeof s == "string")
1552
1565
  return s;
@@ -1569,10 +1582,10 @@ function mr(e, t, r) {
1569
1582
  }
1570
1583
  return ne(t);
1571
1584
  }
1572
- function gr(e) {
1585
+ function yr(e) {
1573
1586
  const t = typeof e == "string" ? e : e.strings;
1574
1587
  let r = Jt.get(t);
1575
- return r === void 0 && (r = fr(t, typeof e != "string" && !("strTag" in e)), Jt.set(t, r)), r;
1588
+ return r === void 0 && (r = mr(t, typeof e != "string" && !("strTag" in e)), Jt.set(t, r)), r;
1576
1589
  }
1577
1590
  function gt(e) {
1578
1591
  window.dispatchEvent(new CustomEvent(wt, { detail: e }));
@@ -1580,7 +1593,7 @@ function gt(e) {
1580
1593
  let at = "", yt, ce, ct, At, le, k = new ae();
1581
1594
  k.resolve();
1582
1595
  let st = 0;
1583
- const yr = (e) => (or(((t, r) => mr(le, t, r))), at = ce = e.sourceLocale, ct = new Set(e.targetLocales), ct.add(e.sourceLocale), At = e.loadLocale, { getLocale: vr, setLocale: br }), vr = () => at, br = (e) => {
1596
+ const vr = (e) => (nr(((t, r) => gr(le, t, r))), at = ce = e.sourceLocale, ct = new Set(e.targetLocales), ct.add(e.sourceLocale), At = e.loadLocale, { getLocale: br, setLocale: $r }), br = () => at, $r = (e) => {
1584
1597
  if (e === (yt ?? at))
1585
1598
  return k.promise;
1586
1599
  if (!ct || !At)
@@ -1604,10 +1617,10 @@ const yr = (e) => (or(((t, r) => mr(le, t, r))), at = ce = e.sourceLocale, ct =
1604
1617
  }), k.reject(i));
1605
1618
  }), k.promise;
1606
1619
  };
1607
- var $r = Object.defineProperty, _r = Object.getOwnPropertyDescriptor, Ut = (e, t, r, i) => {
1608
- for (var s = i > 1 ? void 0 : i ? _r(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1620
+ var _r = Object.defineProperty, wr = Object.getOwnPropertyDescriptor, Ut = (e, t, r, i) => {
1621
+ for (var s = i > 1 ? void 0 : i ? wr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1609
1622
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
1610
- return i && s && $r(t, r, s), s;
1623
+ return i && s && _r(t, r, s), s;
1611
1624
  };
1612
1625
  let X = class extends Rt {
1613
1626
  constructor() {
@@ -1630,7 +1643,7 @@ let X = class extends Rt {
1630
1643
  switch (n.type) {
1631
1644
  case "interval":
1632
1645
  o.push(
1633
- Ze(
1646
+ Xe(
1634
1647
  i,
1635
1648
  n.name,
1636
1649
  n.value
@@ -1639,7 +1652,7 @@ let X = class extends Rt {
1639
1652
  break;
1640
1653
  case "dateAfter":
1641
1654
  o.push(
1642
- Ke(
1655
+ Ge(
1643
1656
  i,
1644
1657
  n.name,
1645
1658
  n.value
@@ -1648,7 +1661,7 @@ let X = class extends Rt {
1648
1661
  break;
1649
1662
  case "matchId":
1650
1663
  o.push(
1651
- Ge(
1664
+ Je(
1652
1665
  i,
1653
1666
  n.name,
1654
1667
  n.value
@@ -1657,12 +1670,12 @@ let X = class extends Rt {
1657
1670
  break;
1658
1671
  case "matchType":
1659
1672
  o.push(
1660
- Qe(i, n.value)
1673
+ Ye(i, n.value)
1661
1674
  );
1662
1675
  break;
1663
1676
  case "exact":
1664
1677
  o.push(
1665
- Xe(
1678
+ Qe(
1666
1679
  i,
1667
1680
  n.name,
1668
1681
  n.value
@@ -1693,7 +1706,7 @@ let X = class extends Rt {
1693
1706
  ${this._displayObjects.map((e) => {
1694
1707
  const t = [
1695
1708
  {
1696
- name: `${e.facts.length} ${e.facts.length > 1 ? p("facts") : p("fact")}`,
1709
+ name: `${e.facts.length} ${e.facts.length > 1 ? h("facts") : h("fact")}`,
1697
1710
  type: "information"
1698
1711
  }
1699
1712
  ];
@@ -1737,13 +1750,13 @@ Ut([
1737
1750
  X = Ut([
1738
1751
  V("ds4go-fact-bundle-holder")
1739
1752
  ], X);
1740
- const wr = ".flex{display:flex}.flex.flex-row{flex-direction:row}.flex.flex-column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-1{flex:1}.flex .half,.flex.half{flex-basis:50%}.flex.justify-content-center{justify-content:center}.flex.justify-content-space-between{justify-content:space-between}.flex.align-items-center{align-items:center}.flex.align-items-flex-start{align-items:flex-start}.flex .align-items-flex-end{align-items:flex-end}.full-width{width:100%}.modal{background-color:var(--color-surface-primary);border:var(--border-width-sm) solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-body);display:flex;flex-direction:column;font-family:var(--font-family-body);font-size:var(--typography-size-body-md);font-style:normal;font-weight:var(--font-weight-regular);gap:var(--scale-600);height:90vh;letter-spacing:var(--font-letter-spacing-default);line-height:var(--line-height-body-md);padding:var(--scale-600) var(--scale-900);width:90vw}.modal .topbar{display:flex;flex-direction:row;gap:var(--scale-400);width:100%}.modal .topbar tems-button:nth-child(2){margin-left:auto}.modal .modal-content-wrapper{display:flex;flex:1;flex-direction:column;overflow:hidden}.modal .modal-content-wrapper .modal-box{display:flex;flex:1;overflow-x:hidden;overflow-y:scroll}.modal .modal-content-wrapper .modal-content{display:flex;flex-direction:column;gap:var(--scale-400);height:fit-content;width:100%}.modal .modal-content-wrapper tems-division{width:fit-content}.modal .modal-content-wrapper tems-division div{display:block;height:auto;overflow:hidden;text-overflow:ellipsis}.modal .modal-content-wrapper .card-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.modal .modal-content-wrapper .card-grid-vertical{justify-content:stretch}.modal .modal-content-wrapper .card-grid-vertical tems-card-catalog{height:auto;width:354px}@media screen and (min-width:1100px){div.modal{height:fit-content;max-height:80vw;max-width:80vw;width:fit-content}}";
1741
- var Ar = Object.defineProperty, Cr = Object.getOwnPropertyDescriptor, de = (e, t, r, i) => {
1742
- for (var s = i > 1 ? void 0 : i ? Cr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1753
+ const Ar = ".flex{display:flex}.flex.flex-row{flex-direction:row}.flex.flex-column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-1{flex:1}.flex .half,.flex.half{flex-basis:50%}.flex.justify-content-center{justify-content:center}.flex.justify-content-space-between{justify-content:space-between}.flex.align-items-center{align-items:center}.flex.align-items-flex-start{align-items:flex-start}.flex .align-items-flex-end{align-items:flex-end}.full-width{width:100%}.modal{background-color:var(--color-surface-primary);border:var(--border-width-sm) solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-body);display:flex;flex-direction:column;font-family:var(--font-family-body);font-size:var(--typography-size-body-md);font-style:normal;font-weight:var(--font-weight-regular);gap:var(--scale-600);height:90vh;letter-spacing:var(--font-letter-spacing-default);line-height:var(--line-height-body-md);padding:var(--scale-600) var(--scale-900);width:90vw}.modal .topbar{display:flex;flex-direction:row;gap:var(--scale-400);width:100%}.modal .topbar tems-button:nth-child(2){margin-left:auto}.modal .modal-content-wrapper{display:flex;flex:1;flex-direction:column;overflow:hidden}.modal .modal-content-wrapper .modal-box{display:flex;flex:1;overflow-x:hidden;overflow-y:scroll}.modal .modal-content-wrapper .modal-content{display:flex;flex-direction:column;gap:var(--scale-400);height:fit-content;width:100%}.modal .modal-content-wrapper tems-division{width:fit-content}.modal .modal-content-wrapper tems-division div{display:block;height:auto;overflow:hidden;text-overflow:ellipsis}.modal .modal-content-wrapper .card-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.modal .modal-content-wrapper .card-grid-vertical{justify-content:stretch}.modal .modal-content-wrapper .card-grid-vertical tems-card-catalog{height:auto;width:354px}@media screen and (min-width:1100px){div.modal{height:fit-content;max-height:80vw;max-width:80vw;width:fit-content}}";
1754
+ var Cr = Object.defineProperty, xr = Object.getOwnPropertyDescriptor, de = (e, t, r, i) => {
1755
+ for (var s = i > 1 ? void 0 : i ? xr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1743
1756
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
1744
- return i && s && Ar(t, r, s), s;
1757
+ return i && s && Cr(t, r, s), s;
1745
1758
  };
1746
- let lt = class extends Le {
1759
+ let lt = class extends Ie {
1747
1760
  constructor() {
1748
1761
  super(...arguments), this.object = { "@id": "" };
1749
1762
  }
@@ -1769,7 +1782,7 @@ let lt = class extends Le {
1769
1782
  ><div>${String(this.object.description)}</div></tems-division
1770
1783
  >
1771
1784
  <tems-division type="h4"
1772
- ><div>${p("All facts in this bundle")}</div></tems-division
1785
+ ><div>${h("All facts in this bundle")}</div></tems-division
1773
1786
  >
1774
1787
  <div class="card-grid card-grid-vertical">
1775
1788
  ${this.object.facts.map((e) => {
@@ -1780,7 +1793,7 @@ let lt = class extends Le {
1780
1793
  if (t.length > 3) {
1781
1794
  const r = t.length - 3;
1782
1795
  t.splice(3, r), t.push({
1783
- name: `+${r} ${p("more")}`,
1796
+ name: `+${r} ${h("more")}`,
1784
1797
  type: "information"
1785
1798
  });
1786
1799
  }
@@ -1796,10 +1809,10 @@ let lt = class extends Le {
1796
1809
  <tems-division type="body-sm"
1797
1810
  ><div>
1798
1811
  <div>
1799
- ${p("Bundle created on")} ${String(this.object.created_at)}
1812
+ ${h("Bundle created on")} ${String(this.object.created_at)}
1800
1813
  </div>
1801
1814
  <div>
1802
- ${p("Bundle updated on")} ${String(this.object.updated_at)}
1815
+ ${h("Bundle updated on")} ${String(this.object.updated_at)}
1803
1816
  </div>
1804
1817
  </div></tems-division
1805
1818
  >
@@ -1810,16 +1823,16 @@ let lt = class extends Le {
1810
1823
  }
1811
1824
  };
1812
1825
  lt.styles = Y`
1813
- ${St(wr)}
1826
+ ${St(Ar)}
1814
1827
  `;
1815
1828
  de([
1816
1829
  y({ attribute: !1, type: Object })
1817
1830
  ], lt.prototype, "object", 2);
1818
1831
  lt = de([
1819
1832
  V("ds4go-fact-bundle-modal"),
1820
- lr()
1833
+ dr()
1821
1834
  ], lt);
1822
- const xr = /* @__PURE__ */ Symbol();
1835
+ const Sr = /* @__PURE__ */ Symbol();
1823
1836
  class pt {
1824
1837
  get taskComplete() {
1825
1838
  return this.t || (this.i === 1 ? this.t = new Promise(((t, r) => {
@@ -1829,7 +1842,7 @@ class pt {
1829
1842
  constructor(t, r, i) {
1830
1843
  this.p = 0, this.i = 0, (this._ = t).addController(this);
1831
1844
  const s = typeof r == "object" ? r : { task: r, args: i };
1832
- this.v = s.task, this.j = s.args, this.m = s.argsEqual ?? Sr, this.k = s.onComplete, this.A = s.onError, this.autoRun = s.autoRun ?? !0, "initialValue" in s && (this.u = s.initialValue, this.i = 2, this.O = this.T?.());
1845
+ this.v = s.task, this.j = s.args, this.m = s.argsEqual ?? Pr, this.k = s.onComplete, this.A = s.onError, this.autoRun = s.autoRun ?? !0, "initialValue" in s && (this.u = s.initialValue, this.i = 2, this.O = this.T?.());
1833
1846
  }
1834
1847
  hostUpdate() {
1835
1848
  this.autoRun === !0 && this.S();
@@ -1859,7 +1872,7 @@ class pt {
1859
1872
  o = !0, i = n;
1860
1873
  }
1861
1874
  if (this.p === s) {
1862
- if (r === xr) this.i = 0;
1875
+ if (r === Sr) this.i = 0;
1863
1876
  else {
1864
1877
  if (o === !1) {
1865
1878
  try {
@@ -1906,11 +1919,11 @@ class pt {
1906
1919
  }
1907
1920
  }
1908
1921
  }
1909
- const Sr = (e, t) => e === t || e.length === t.length && e.every(((r, i) => !ht(r, t[i])));
1910
- var Pr = Object.defineProperty, jr = Object.getOwnPropertyDescriptor, R = (e, t, r, i) => {
1911
- for (var s = i > 1 ? void 0 : i ? jr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1922
+ const Pr = (e, t) => e === t || e.length === t.length && e.every(((r, i) => !ht(r, t[i])));
1923
+ var jr = Object.defineProperty, Er = Object.getOwnPropertyDescriptor, R = (e, t, r, i) => {
1924
+ for (var s = i > 1 ? void 0 : i ? Er(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1912
1925
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
1913
- return i && s && Pr(t, r, s), s;
1926
+ return i && s && jr(t, r, s), s;
1914
1927
  };
1915
1928
  let _ = class extends v {
1916
1929
  constructor() {
@@ -1935,9 +1948,7 @@ let _ = class extends v {
1935
1948
  }
1936
1949
  if (t) {
1937
1950
  this.catalogs = [];
1938
- const i = this.sectors.filter(
1939
- (s) => s.id === t
1940
- );
1951
+ const i = t === "*" ? this.sectors : this.sectors.filter((s) => s.id === t);
1941
1952
  if (i.length > 0 && (this.catalogs = (await Promise.all(
1942
1953
  i.map(async (s) => {
1943
1954
  try {
@@ -1952,6 +1963,24 @@ let _ = class extends v {
1952
1963
  }
1953
1964
  })
1954
1965
  )).flat()), r) {
1966
+ if (r === "*")
1967
+ return this.object = {
1968
+ "@id": "urn:uuid:all-catalogs",
1969
+ "dct:title": h("All Catalogs"),
1970
+ "dct:description": "",
1971
+ "dcat:dataset": (await Promise.all(
1972
+ this.catalogs.map(async (o) => {
1973
+ try {
1974
+ return (await (await fetch(o.endpoints.catalog)).json())["dcat:dataset"];
1975
+ } catch (n) {
1976
+ return console.warn(
1977
+ `Failed to fetch catalog from ${o.endpoints.catalog}`,
1978
+ n
1979
+ ), [];
1980
+ }
1981
+ })
1982
+ )).flat()
1983
+ }, this.object;
1955
1984
  const s = this.catalogs.find(
1956
1985
  (o) => o.catalogId === r
1957
1986
  );
@@ -2011,12 +2040,12 @@ let _ = class extends v {
2011
2040
  complete: (e) => d`<tems-viewport>
2012
2041
  <tems-header
2013
2042
  slot="header"
2014
- heading=${this.catalogId ? e ? `${p("Datasets from")}
2015
- ${e["dct:title"]} (From ${this.sectorId})` : `${p(S`Error while loading catalog ${this.catalogId}`)}` : this.sectorId ? `${p("Catalogs available in")} ${this.sectorId}` : `${p("Root Authority")}`}
2016
- >${this.sectorId || this.catalogId ? d` <div slot="cta">
2043
+ heading=${this.catalogId ? e ? this.catalogId === "*" ? `${h("All Datasets")}` : `${h("Datasets from")}
2044
+ ${e["dct:title"]} (From ${this.sectorId})` : `${h(S`Error while loading catalog ${this.catalogId}`)}` : this.sectorId ? this.sectorId === "*" ? `${h("All Sectors")}` : `${h("Catalogs available in")} ${this.sectorId}` : `${h("Root Authority")}`}
2045
+ >${(this.sectorId || this.catalogId) && !(this.catalogId === "*" && this.sectorId === "*") && !(this.sectorId === "*" && !this.catalogId) ? d`<div slot="cta">
2017
2046
  <tems-button
2018
2047
  type="primary"
2019
- label=${p(
2048
+ label=${h(
2020
2049
  S`Back to ${this.catalogId ? this.sectorId : "Root Authority"}`
2021
2050
  )}
2022
2051
  @click=${this._back}
@@ -2043,7 +2072,7 @@ let _ = class extends v {
2043
2072
  type=${"bill-image"}
2044
2073
  .header=${t.catalogId || c}
2045
2074
  .content=${t.description || c}
2046
- date=${L(t.lastUpdated) || c}
2075
+ date=${I(t.lastUpdated) || c}
2047
2076
  @click=${() => this._selectCatalog(t.catalogId)}
2048
2077
  ></tems-card-catalog>`
2049
2078
  )}` : d`${e.map(
@@ -2053,23 +2082,23 @@ let _ = class extends v {
2053
2082
  type=${"bill-image"}
2054
2083
  .header=${t.id || c}
2055
2084
  .content=${t.description || c}
2056
- date=${L(t.lastUpdated) || c}
2085
+ date=${I(t.lastUpdated) || c}
2057
2086
  @click=${() => this._selectSector(t.id)}
2058
2087
  ></tems-card-catalog>`
2059
2088
  )}`}
2060
2089
  </div>
2061
2090
  </div>` : d`<p>
2062
- ${p(
2091
+ ${h(
2063
2092
  "No data available, data source may be temporarily unavailable."
2064
2093
  )}
2065
2094
  </p>
2066
2095
  ${this.sectorId || this.catalogId ? d`<tems-button
2067
2096
  type="primary"
2068
- label=${p("Back")}
2097
+ label=${h("Back")}
2069
2098
  @click=${this._back}
2070
2099
  ></tems-button>` : d`<tems-button
2071
2100
  type="primary"
2072
- label=${p("Retry")}
2101
+ label=${h("Retry")}
2073
2102
  @click=${this.requestUpdate}
2074
2103
  ></tems-button>`}`}
2075
2104
  </div>
@@ -2123,10 +2152,10 @@ R([
2123
2152
  _ = R([
2124
2153
  V("solid-dsif-explorer-poc")
2125
2154
  ], _);
2126
- var Er = Object.defineProperty, Rr = Object.getOwnPropertyDescriptor, ft = (e, t, r, i) => {
2127
- for (var s = i > 1 ? void 0 : i ? Rr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
2155
+ var Rr = Object.defineProperty, Ur = Object.getOwnPropertyDescriptor, ft = (e, t, r, i) => {
2156
+ for (var s = i > 1 ? void 0 : i ? Ur(t, r) : t, o = e.length - 1, n; o >= 0; o--)
2128
2157
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
2129
- return i && s && Er(t, r, s), s;
2158
+ return i && s && Rr(t, r, s), s;
2130
2159
  };
2131
2160
  let Q = class extends C {
2132
2161
  constructor() {
@@ -2248,17 +2277,17 @@ ft([
2248
2277
  Q = ft([
2249
2278
  V("solid-dsp-connector")
2250
2279
  ], Q);
2251
- const Ur = ".flex{display:flex}.flex.flex-row{flex-direction:row}.flex.flex-column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-1{flex:1}.flex .half,.flex.half{flex-basis:50%}.flex.justify-content-center{justify-content:center}.flex.justify-content-space-between{justify-content:space-between}.flex.align-items-center{align-items:center}.flex.align-items-flex-start{align-items:flex-start}.flex .align-items-flex-end{align-items:flex-end}.full-width{width:100%}";
2252
- var Or = Object.defineProperty, kr = Object.getOwnPropertyDescriptor, U = (e, t, r, i) => {
2253
- for (var s = i > 1 ? void 0 : i ? kr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
2280
+ const Or = ".flex{display:flex}.flex.flex-row{flex-direction:row}.flex.flex-column{flex-direction:column}.flex.wrap{flex-wrap:wrap}.flex.flex-1{flex:1}.flex .half,.flex.half{flex-basis:50%}.flex.justify-content-center{justify-content:center}.flex.justify-content-space-between{justify-content:space-between}.flex.align-items-center{align-items:center}.flex.align-items-flex-start{align-items:flex-start}.flex .align-items-flex-end{align-items:flex-end}.full-width{width:100%}";
2281
+ var kr = Object.defineProperty, Dr = Object.getOwnPropertyDescriptor, U = (e, t, r, i) => {
2282
+ for (var s = i > 1 ? void 0 : i ? Dr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
2254
2283
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
2255
- return i && s && Or(t, r, s), s;
2284
+ return i && s && kr(t, r, s), s;
2256
2285
  };
2257
2286
  let w = class extends v {
2258
2287
  constructor() {
2259
2288
  super(...arguments), this.header = "DS4GO Fact Bundling Creation", this.selectedFacts = [], this.bundleName = "", this.bundleDescription = "", this.filterFactText = "", this.spliceLength = 0, this.cherryPickedProperties = [
2260
- { key: "created_at", value: "created_at", cast: L },
2261
- { key: "updated_at", value: "updated_at", cast: L },
2289
+ { key: "created_at", value: "created_at", cast: I },
2290
+ { key: "updated_at", value: "updated_at", cast: I },
2262
2291
  { key: "name", value: "name" },
2263
2292
  { key: "description", value: "description" },
2264
2293
  { key: "author", value: "author" },
@@ -2318,8 +2347,8 @@ let w = class extends v {
2318
2347
  ],
2319
2348
  "@type": ["ldp:Container", "ds4go:FactBundle"],
2320
2349
  name: this.bundleName,
2321
- description: this.bundleDescription,
2322
- facts: this.selectedFacts.map((i) => i.id)
2350
+ description: this.bundleDescription || "",
2351
+ "ldp:contains": this.selectedFacts.map((i) => ({ "@id": i["@id"] }))
2323
2352
  }, r = await window.sibStore.post(
2324
2353
  t,
2325
2354
  this.dataSrc
@@ -2361,7 +2390,7 @@ let w = class extends v {
2361
2390
  <tems-button
2362
2391
  type="primary"
2363
2392
  disabled=${!s || c}
2364
- label=${p("Create bundle")}
2393
+ label=${h("Create bundle")}
2365
2394
  @click=${this._createFactBundle}
2366
2395
  ></tems-button>
2367
2396
  </div>
@@ -2372,8 +2401,8 @@ let w = class extends v {
2372
2401
  <div>
2373
2402
  <tems-input
2374
2403
  type="text"
2375
- label=${p("Bundle name")}
2376
- placeholder=${p("Bundle name")}
2404
+ label=${h("Bundle name")}
2405
+ placeholder=${h("Bundle name")}
2377
2406
  required=""
2378
2407
  .value=${this.bundleName}
2379
2408
  @change=${this._updateBundleName}
@@ -2382,15 +2411,15 @@ let w = class extends v {
2382
2411
  <div>
2383
2412
  <tems-textarea
2384
2413
  rows="4"
2385
- label=${p("Bundle description")}
2386
- placeholder=${p("Bundle description")}
2414
+ label=${h("Bundle description")}
2415
+ placeholder=${h("Bundle description")}
2387
2416
  .value=${this.bundleDescription}
2388
2417
  @change=${this._updateBundleDescription}
2389
2418
  ></tems-textarea>
2390
2419
  </div>
2391
2420
  ${i > 0 ? d`<tems-division type="h4">
2392
2421
  <div>
2393
- ${p(
2422
+ ${h(
2394
2423
  S`${i} selected fact${i > 1 ? "s" : ""}`
2395
2424
  )}
2396
2425
  </div></tems-division
@@ -2404,7 +2433,7 @@ let w = class extends v {
2404
2433
  if (n.length > 3) {
2405
2434
  const a = n.length - 3;
2406
2435
  n.splice(3, a), n.push({
2407
- name: `+${a} ${p("more")}`,
2436
+ name: `+${a} ${h("more")}`,
2408
2437
  type: "information"
2409
2438
  });
2410
2439
  }
@@ -2447,7 +2476,7 @@ let w = class extends v {
2447
2476
  if (n.length > 3) {
2448
2477
  const a = n.length - 3;
2449
2478
  n.splice(3, a), n.push({
2450
- name: `+${a} ${p("more")}`,
2479
+ name: `+${a} ${h("more")}`,
2451
2480
  type: "information"
2452
2481
  });
2453
2482
  }
@@ -2468,7 +2497,7 @@ let w = class extends v {
2468
2497
  class="flex flex-row justify-content-space-between align-items-flex-end"
2469
2498
  >
2470
2499
  <div>
2471
- ${p(
2500
+ ${h(
2472
2501
  S`Displaying ${r.length} of ${t.length} result${t.length > 1 ? "s" : ""}`
2473
2502
  )}
2474
2503
  </div>
@@ -2477,16 +2506,16 @@ let w = class extends v {
2477
2506
  @click=${this._showMoreResults}
2478
2507
  type="primary"
2479
2508
  size="sm"
2480
- label=${p("Show more results")}
2509
+ label=${h("Show more results")}
2481
2510
  ></tems-button>
2482
2511
  <tems-button
2483
2512
  @click=${this._showAllResults}
2484
2513
  type="primary"
2485
2514
  size="sm"
2486
- label=${p("Show all results")}
2515
+ label=${h("Show all results")}
2487
2516
  ></tems-button>
2488
2517
  </div>
2489
- </div>` : c}` : d`${p("No results found")} ${this.filterFactText ? `for "${this.filterFactText}".` : ""}`}
2518
+ </div>` : c}` : d`${h("No results found")} ${this.filterFactText ? `for "${this.filterFactText}".` : ""}`}
2490
2519
  </div>` : c}
2491
2520
  </section>
2492
2521
  </div>
@@ -2496,7 +2525,7 @@ let w = class extends v {
2496
2525
  }
2497
2526
  };
2498
2527
  w.styles = [
2499
- St(Ur),
2528
+ St(Or),
2500
2529
  Y`
2501
2530
  [slot="content"] {
2502
2531
  height: 100%;
@@ -2570,16 +2599,16 @@ U([
2570
2599
  w = U([
2571
2600
  V("solid-fact-bundle-creation")
2572
2601
  ], w);
2573
- var Dr = Object.defineProperty, Lr = Object.getOwnPropertyDescriptor, et = (e, t, r, i) => {
2602
+ var Ir = Object.defineProperty, Lr = Object.getOwnPropertyDescriptor, et = (e, t, r, i) => {
2574
2603
  for (var s = i > 1 ? void 0 : i ? Lr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
2575
2604
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
2576
- return i && s && Dr(t, r, s), s;
2605
+ return i && s && Ir(t, r, s), s;
2577
2606
  };
2578
2607
  let T = class extends v {
2579
2608
  constructor() {
2580
- super(...arguments), this.header = "DS4GO Fact Bundling", this.search = [], this.resultCount = this.objects?.length || 0, this.cherryPickedProperties = [
2581
- { key: "created_at", value: "created_at", cast: L },
2582
- { key: "updated_at", value: "updated_at", cast: L },
2609
+ super(), this.header = "DS4GO Fact Bundling", this.search = [], this.resultCount = this.objects?.length || 0, this.cherryPickedProperties = [
2610
+ { key: "created_at", value: "created_at", cast: I },
2611
+ { key: "updated_at", value: "updated_at", cast: I },
2583
2612
  { key: "name", value: "name" },
2584
2613
  { key: "description", value: "description" }
2585
2614
  ], this._getResource = new pt(this, {
@@ -2602,13 +2631,15 @@ let T = class extends v {
2602
2631
  this.caching,
2603
2632
  this.currentRoute
2604
2633
  ]
2634
+ }), We(this, {
2635
+ keywords: ["factbundles"]
2605
2636
  });
2606
2637
  }
2607
2638
  async _responseAdaptator(e) {
2608
2639
  return e?._originalResource?.hasType("ds4go:FactBundle") && (e.facts = await Promise.all(
2609
2640
  (await e._originalResource["ldp:contains"]).map(
2610
2641
  (t) => this._getProxyValue(t["@id"], !1, [
2611
- { key: "updated_at", value: "updated_at", cast: L },
2642
+ { key: "updated_at", value: "updated_at", cast: I },
2612
2643
  { key: "name", value: "name" },
2613
2644
  { key: "description", value: "description" },
2614
2645
  {
@@ -2645,28 +2676,28 @@ let T = class extends v {
2645
2676
  _openModal(e) {
2646
2677
  if (e.preventDefault(), this.route)
2647
2678
  if ("use-id" in (this.component.routeAttributes || {}))
2648
- M(this.route, e.detail["@id"]);
2679
+ N(this.route, e.detail["@id"]);
2649
2680
  else {
2650
2681
  const t = e.detail["@type"]?.at(-1) ?? e.detail["@type"];
2651
2682
  if (t) {
2652
2683
  const r = window.orbit?.components?.filter(
2653
2684
  (i) => i?.routeAttributes?.["rdf-type"] === t
2654
2685
  );
2655
- r?.[0]?.route && M(r[0]?.route, e.detail["@id"]);
2686
+ r?.[0]?.route && N(r[0]?.route, e.detail["@id"]);
2656
2687
  }
2657
2688
  }
2658
2689
  }
2659
2690
  _closeModal(e) {
2660
- e.preventDefault(), this.route && M(this.route, this.defaultDataSrc);
2691
+ e.preventDefault(), this.route && N(this.route, this.defaultDataSrc);
2661
2692
  }
2662
2693
  _closeModalFromBackground(e) {
2663
- e.preventDefault(), this.route && e.target?.classList.contains("modal") && M(this.route, this.defaultDataSrc);
2694
+ e.preventDefault(), this.route && e.target?.classList.contains("modal") && N(this.route, this.defaultDataSrc);
2664
2695
  }
2665
2696
  _resultCountUpdate(e) {
2666
2697
  this.resultCount = e.detail ?? 0;
2667
2698
  }
2668
2699
  _goToBundleCreation(e) {
2669
- e.preventDefault(), this.bundleCreationComponent?.route && M(this.bundleCreationComponent.route);
2700
+ e.preventDefault(), this.bundleCreationComponent?.route && N(this.bundleCreationComponent.route);
2670
2701
  }
2671
2702
  render() {
2672
2703
  return this.gatekeeper() || this._getResource.render({
@@ -2678,7 +2709,7 @@ let T = class extends v {
2678
2709
  <tems-button
2679
2710
  type="primary"
2680
2711
  disabled=${!this.bundleCreationComponent?.route || c}
2681
- label=${p("Create a bundle")}
2712
+ label=${h("Create a bundle")}
2682
2713
  @click=${this._goToBundleCreation}
2683
2714
  ></tems-button>
2684
2715
  </div>
@@ -2741,9 +2772,12 @@ et([
2741
2772
  T = et([
2742
2773
  V("solid-fact-bundle")
2743
2774
  ], T);
2744
- const Ir = {
2775
+ const Tr = {
2776
+ s20acf344316637a0: "All Catalogs",
2745
2777
  s67269ab6dc51ec41: S`Error while loading catalog ${0}`,
2778
+ s0b88896b7338837d: "All Datasets",
2746
2779
  s541d9cd11a5bc840: "Datasets from",
2780
+ s01ceffa02fa6bd7f: "All Sectors",
2747
2781
  s4aaac20ff7887391: "Catalogs available in",
2748
2782
  sa89a60c3e1230cec: "Root Authority",
2749
2783
  se5784a16a6799dad: S`Back to ${0}`,
@@ -2765,20 +2799,20 @@ const Ir = {
2765
2799
  s4979bd417e7c8052: "All facts in this bundle",
2766
2800
  s57a40de45f324b96: "Bundle created on",
2767
2801
  sd3682395cf86f913: "Bundle updated on"
2768
- }, Tr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2802
+ }, Fr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2769
2803
  __proto__: null,
2770
- templates: Ir
2771
- }, Symbol.toStringTag, { value: "Module" })), Fr = "en", he = [
2804
+ templates: Tr
2805
+ }, Symbol.toStringTag, { value: "Module" })), Mr = "en", he = [
2772
2806
  "en"
2773
- ], Nr = /* @__PURE__ */ Object.assign({ "../../generated/locales/en.ts": Tr }), Mr = new Map(
2807
+ ], Nr = /* @__PURE__ */ Object.assign({ "../../generated/locales/en.ts": Fr }), Br = new Map(
2774
2808
  he.map((e) => [
2775
2809
  e,
2776
2810
  Nr[`../../generated/locales/${e}.ts`]
2777
2811
  ])
2778
- ), { getLocale: Zt, setLocale: Xt } = yr({
2779
- sourceLocale: Fr,
2812
+ ), { getLocale: Zt, setLocale: Xt } = vr({
2813
+ sourceLocale: Mr,
2780
2814
  targetLocales: he,
2781
- loadLocale: async (e) => Mr.get(e)
2815
+ loadLocale: async (e) => Br.get(e)
2782
2816
  });
2783
2817
  window.getLocale = window.getLocale ? window.getLocale.push(Zt) : [Zt];
2784
2818
  window.setLocale = window.setLocale ? window.setLocale.push(Xt) : [Xt];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@startinblox/components-ds4go",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "description": "Startin'blox DS4GO",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -131,9 +131,10 @@ export class SolidDsifExplorerPoc extends OrbitComponent {
131
131
  if (sectorId) {
132
132
  this.catalogs = [];
133
133
 
134
- const selectedSectors = this.sectors.filter(
135
- (sector) => sector.id === sectorId,
136
- );
134
+ const selectedSectors =
135
+ sectorId === "*"
136
+ ? this.sectors
137
+ : this.sectors.filter((sector) => sector.id === sectorId);
137
138
 
138
139
  if (selectedSectors.length > 0) {
139
140
  this.catalogs = (
@@ -157,6 +158,34 @@ export class SolidDsifExplorerPoc extends OrbitComponent {
157
158
  }
158
159
 
159
160
  if (catalogId) {
161
+ if (catalogId === "*") {
162
+ this.object = {
163
+ "@id": "urn:uuid:all-catalogs",
164
+ "dct:title": msg("All Catalogs"),
165
+ "dct:description": "",
166
+ "dcat:dataset": (
167
+ await Promise.all(
168
+ this.catalogs.map(async (catalog) => {
169
+ try {
170
+ return (
171
+ (await (
172
+ await fetch(catalog.endpoints.catalog)
173
+ ).json()) as CatalogEntry
174
+ )["dcat:dataset"];
175
+ } catch (error) {
176
+ console.warn(
177
+ `Failed to fetch catalog from ${catalog.endpoints.catalog}`,
178
+ error,
179
+ );
180
+ return [];
181
+ }
182
+ }),
183
+ )
184
+ ).flat() as Dataset[],
185
+ };
186
+
187
+ return this.object;
188
+ }
160
189
  // FIXME: What if both sbx and sa use the same catalogId?
161
190
  const selectedCatalog = this.catalogs.find(
162
191
  (catalog) => catalog.catalogId === catalogId,
@@ -247,13 +276,19 @@ export class SolidDsifExplorerPoc extends OrbitComponent {
247
276
  heading=${this.catalogId
248
277
  ? !datas
249
278
  ? `${msg(str`Error while loading catalog ${this.catalogId}`)}`
250
- : `${msg("Datasets from")}
279
+ : this.catalogId === "*"
280
+ ? `${msg("All Datasets")}`
281
+ : `${msg("Datasets from")}
251
282
  ${(datas as CatalogEntry)["dct:title"]} (From ${this.sectorId})`
252
283
  : this.sectorId
253
- ? `${msg("Catalogs available in")} ${this.sectorId}`
284
+ ? this.sectorId === "*"
285
+ ? `${msg("All Sectors")}`
286
+ : `${msg("Catalogs available in")} ${this.sectorId}`
254
287
  : `${msg("Root Authority")}`}
255
- >${this.sectorId || this.catalogId
256
- ? html` <div slot="cta">
288
+ >${(this.sectorId || this.catalogId) &&
289
+ !(this.catalogId === "*" && this.sectorId === "*") &&
290
+ !(this.sectorId === "*" && !this.catalogId)
291
+ ? html`<div slot="cta">
257
292
  <tems-button
258
293
  type="primary"
259
294
  label=${msg(
@@ -183,8 +183,8 @@ export class SolidFactBundle extends OrbitComponent {
183
183
  ],
184
184
  "@type": ["ldp:Container", "ds4go:FactBundle"],
185
185
  name: this.bundleName,
186
- description: this.bundleDescription,
187
- facts: this.selectedFacts.map((fact: Resource) => fact.id),
186
+ description: this.bundleDescription || "",
187
+ "ldp:contains": this.selectedFacts.map((fact: Resource) => ({"@id": fact["@id"]})),
188
188
  };
189
189
 
190
190
  const newFactBundleId = await window.sibStore.post(
@@ -1,4 +1,4 @@
1
- import { formatDate, OrbitComponent, requestNavigation, sort } from "@helpers";
1
+ import { formatDate, OrbitComponent, requestNavigation, setupCacheInvalidation, sort } from "@helpers";
2
2
  import { msg } from "@lit/localize";
3
3
  import { Task } from "@lit/task";
4
4
  import type {
@@ -12,6 +12,13 @@ import { customElement, property, state } from "lit/decorators.js";
12
12
 
13
13
  @customElement("solid-fact-bundle")
14
14
  export class SolidFactBundle extends OrbitComponent {
15
+ constructor() {
16
+ super();
17
+ setupCacheInvalidation(this, {
18
+ keywords: ["factbundles"],
19
+ });
20
+ }
21
+
15
22
  static styles = css`
16
23
  .modal {
17
24
  position: fixed;