@startinblox/components-ds4go 3.0.0 → 3.0.2

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/biome.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "root": false,
3
- "$schema": "https://biomejs.dev/schemas/2.3.14/schema.json",
3
+ "$schema": "https://biomejs.dev/schemas/2.3.15/schema.json",
4
4
  "vcs": {
5
5
  "enabled": true,
6
6
  "clientKind": "git",
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ let te = class {
18
18
  return this.cssText;
19
19
  }
20
20
  };
21
- const Rt = (e) => new te(typeof e == "string" ? e : e + "", void 0, Pt), tt = (e, ...t) => {
21
+ const Et = (e) => new te(typeof e == "string" ? e : e + "", void 0, Pt), tt = (e, ...t) => {
22
22
  const r = e.length === 1 ? e[0] : t.reduce((i, s, o) => i + ((n) => {
23
23
  if (n._$cssResult$ === !0) return n.cssText;
24
24
  if (typeof n == "number") return n;
@@ -34,7 +34,7 @@ const Rt = (e) => new te(typeof e == "string" ? e : e + "", void 0, Pt), tt = (e
34
34
  }, Lt = xt ? (e) => e : (e) => e instanceof CSSStyleSheet ? ((t) => {
35
35
  let r = "";
36
36
  for (const i of t.cssRules) r += i.cssText;
37
- return Rt(r);
37
+ return Et(r);
38
38
  })(e) : e;
39
39
  const { is: ve, defineProperty: be, getOwnPropertyDescriptor: $e, getOwnPropertyNames: _e, getOwnPropertySymbols: we, getPrototypeOf: Ae } = Object, ht = globalThis, Tt = ht.trustedTypes, Ce = Tt ? Tt.emptyScript : "", Se = ht.reactiveElementPolyfillSupport, G = (e, t) => e, at = { toAttribute(e, t) {
40
40
  switch (t) {
@@ -248,14 +248,14 @@ let B = class extends HTMLElement {
248
248
  }
249
249
  };
250
250
  B.elementStyles = [], B.shadowRootOptions = { mode: "open" }, B[G("elementProperties")] = /* @__PURE__ */ new Map(), B[G("finalized")] = /* @__PURE__ */ new Map(), Se?.({ ReactiveElement: B }), (ht.reactiveElementVersions ??= []).push("2.1.2");
251
- const Et = globalThis, Ft = (e) => e, ct = Et.trustedTypes, Nt = ct ? ct.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, ee = "$lit$", R = `lit$${Math.random().toFixed(9).slice(2)}$`, re = "?" + R, xe = `<${re}>`, F = document, J = () => F.createComment(""), Z = (e) => e === null || typeof e != "object" && typeof e != "function", jt = Array.isArray, Pe = (e) => jt(e) || typeof e?.[Symbol.iterator] == "function", gt = `[
251
+ const Rt = globalThis, Ft = (e) => e, ct = Rt.trustedTypes, Nt = ct ? ct.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, ee = "$lit$", E = `lit$${Math.random().toFixed(9).slice(2)}$`, re = "?" + E, xe = `<${re}>`, F = document, J = () => F.createComment(""), Z = (e) => e === null || typeof e != "object" && typeof e != "function", jt = Array.isArray, Pe = (e) => jt(e) || typeof e?.[Symbol.iterator] == "function", gt = `[
252
252
  \f\r]`, K = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Mt = /-->/g, Bt = />/g, k = RegExp(`>|${gt}(?:([^\\s"'>=/]+)(${gt}*=${gt}*(?:[^
253
- \f\r"'\`<>=]|("|')|))|$)`, "g"), qt = /'/g, Ht = /"/g, se = /^(?:script|style|textarea|title)$/i, Re = (e) => (t, ...r) => ({ _$litType$: e, strings: t, values: r }), f = Re(1), V = /* @__PURE__ */ Symbol.for("lit-noChange"), l = /* @__PURE__ */ Symbol.for("lit-nothing"), zt = /* @__PURE__ */ new WeakMap(), T = F.createTreeWalker(F, 129);
253
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), qt = /'/g, Ht = /"/g, se = /^(?:script|style|textarea|title)$/i, Ee = (e) => (t, ...r) => ({ _$litType$: e, strings: t, values: r }), f = Ee(1), V = /* @__PURE__ */ Symbol.for("lit-noChange"), l = /* @__PURE__ */ Symbol.for("lit-nothing"), zt = /* @__PURE__ */ new WeakMap(), T = F.createTreeWalker(F, 129);
254
254
  function ie(e, t) {
255
255
  if (!jt(e) || !e.hasOwnProperty("raw")) throw Error("invalid template strings array");
256
256
  return Nt !== void 0 ? Nt.createHTML(t) : t;
257
257
  }
258
- const Ee = (e, t) => {
258
+ const Re = (e, t) => {
259
259
  const r = e.length - 1, i = [];
260
260
  let s, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = K;
261
261
  for (let a = 0; a < r; a++) {
@@ -263,7 +263,7 @@ const Ee = (e, t) => {
263
263
  let d, p, u = -1, g = 0;
264
264
  for (; g < c.length && (n.lastIndex = g, p = n.exec(c), p !== null); ) g = n.lastIndex, n === K ? p[1] === "!--" ? n = Mt : p[1] !== void 0 ? n = Bt : p[2] !== void 0 ? (se.test(p[2]) && (s = RegExp("</" + p[2], "g")), n = k) : p[3] !== void 0 && (n = k) : n === k ? p[0] === ">" ? (n = s ?? K, u = -1) : p[1] === void 0 ? u = -2 : (u = n.lastIndex - p[2].length, d = p[1], n = p[3] === void 0 ? k : p[3] === '"' ? Ht : qt) : n === Ht || n === qt ? n = k : n === Mt || n === Bt ? n = K : (n = k, s = void 0);
265
265
  const w = n === k && e[a + 1].startsWith("/>") ? " " : "";
266
- o += n === K ? c + xe : u >= 0 ? (i.push(d), c.slice(0, u) + ee + c.slice(u) + R + w) : c + R + (u === -2 ? a : w);
266
+ o += n === K ? c + xe : u >= 0 ? (i.push(d), c.slice(0, u) + ee + c.slice(u) + E + w) : c + E + (u === -2 ? a : w);
267
267
  }
268
268
  return [ie(e, o + (e[r] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), i];
269
269
  };
@@ -272,7 +272,7 @@ class X {
272
272
  let s;
273
273
  this.parts = [];
274
274
  let o = 0, n = 0;
275
- const a = t.length - 1, c = this.parts, [d, p] = Ee(t, r);
275
+ const a = t.length - 1, c = this.parts, [d, p] = Re(t, r);
276
276
  if (this.el = X.createElement(d, i), T.currentNode = this.el.content, r === 2 || r === 3) {
277
277
  const u = this.el.content.firstChild;
278
278
  u.replaceWith(...u.childNodes);
@@ -280,11 +280,11 @@ class X {
280
280
  for (; (s = T.nextNode()) !== null && c.length < a; ) {
281
281
  if (s.nodeType === 1) {
282
282
  if (s.hasAttributes()) for (const u of s.getAttributeNames()) if (u.endsWith(ee)) {
283
- const g = p[n++], w = s.getAttribute(u).split(R), it = /([.?@])?(.*)/.exec(g);
283
+ const g = p[n++], w = s.getAttribute(u).split(E), it = /([.?@])?(.*)/.exec(g);
284
284
  c.push({ type: 1, index: o, name: it[2], strings: w, ctor: it[1] === "." ? Ue : it[1] === "?" ? ke : it[1] === "@" ? De : ft }), s.removeAttribute(u);
285
- } else u.startsWith(R) && (c.push({ type: 6, index: o }), s.removeAttribute(u));
285
+ } else u.startsWith(E) && (c.push({ type: 6, index: o }), s.removeAttribute(u));
286
286
  if (se.test(s.tagName)) {
287
- const u = s.textContent.split(R), g = u.length - 1;
287
+ const u = s.textContent.split(E), g = u.length - 1;
288
288
  if (g > 0) {
289
289
  s.textContent = ct ? ct.emptyScript : "";
290
290
  for (let w = 0; w < g; w++) s.append(u[w], J()), T.nextNode(), c.push({ type: 2, index: ++o });
@@ -294,7 +294,7 @@ class X {
294
294
  } else if (s.nodeType === 8) if (s.data === re) c.push({ type: 2, index: o });
295
295
  else {
296
296
  let u = -1;
297
- for (; (u = s.data.indexOf(R, u + 1)) !== -1; ) c.push({ type: 7, index: o }), u += R.length - 1;
297
+ for (; (u = s.data.indexOf(E, u + 1)) !== -1; ) c.push({ type: 7, index: o }), u += E.length - 1;
298
298
  }
299
299
  o++;
300
300
  }
@@ -462,8 +462,8 @@ class Oe {
462
462
  W(this, t);
463
463
  }
464
464
  }
465
- const Le = Et.litHtmlPolyfillSupport;
466
- Le?.(X, et), (Et.litHtmlVersions ??= []).push("3.3.2");
465
+ const Le = Rt.litHtmlPolyfillSupport;
466
+ Le?.(X, et), (Rt.litHtmlVersions ??= []).push("3.3.2");
467
467
  const Te = (e, t, r) => {
468
468
  const i = r?.renderBefore ?? t;
469
469
  let s = i._$litPart$;
@@ -1138,7 +1138,10 @@ class P extends $ {
1138
1138
  component: this,
1139
1139
  defaultRoute: t,
1140
1140
  ignoreRouter: i
1141
- }), this.route && (this.component = this.orbit.getComponentFromRoute(this.route), this.component && this.orbit.components.map((o) => (o.uniq === this.component.uniq && (o.instance = this), o))), !this.participantConnectorUri) {
1141
+ }), this.route && (this.component = this.orbit.getComponentFromRoute(this.route), this.component))
1142
+ for (const o of this.orbit.components)
1143
+ o.uniq === this.component.uniq && (o.instance = this);
1144
+ if (!this.participantConnectorUri) {
1142
1145
  const o = this.component?.parameters;
1143
1146
  o?.["participant-connector-uri"] && (this.participantConnectorUri = o["participant-connector-uri"]), o?.["participant-api-key"] && (this.participantApiKey = o["participant-api-key"]), o?.providers && (this.providers = o.providers), o?.["participant-id"] && (this.participantId = o["participant-id"]);
1144
1147
  }
@@ -1174,7 +1177,13 @@ class P extends $ {
1174
1177
  } catch (o) {
1175
1178
  console.error("DSP Store initialization error:", o);
1176
1179
  }
1177
- return await this._afterAttach(), Promise.resolve(!0);
1180
+ return await this._afterAttach(), this.ready = !0, this.dispatchEvent(
1181
+ new CustomEvent("component-ready", {
1182
+ detail: {
1183
+ component: this.component
1184
+ }
1185
+ })
1186
+ ), Promise.resolve(!0);
1178
1187
  }
1179
1188
  return Promise.resolve(!1);
1180
1189
  }
@@ -1550,7 +1559,7 @@ const ar = (e, ...t) => ({
1550
1559
  strTag: !0,
1551
1560
  strings: e,
1552
1561
  values: t
1553
- }), E = ar, cr = (e) => typeof e != "string" && "strTag" in e, ce = (e, t, r) => {
1562
+ }), R = ar, cr = (e) => typeof e != "string" && "strTag" in e, ce = (e, t, r) => {
1554
1563
  let i = e[0];
1555
1564
  for (let s = 1; s < e.length; s++)
1556
1565
  i += t[r ? r[s - 1] : s - 1], i += e[s];
@@ -1799,8 +1808,8 @@ Q = Dt([
1799
1808
  M("ds4go-fact-bundle-holder")
1800
1809
  ], Q);
1801
1810
  const xr = ".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}}";
1802
- var Pr = Object.defineProperty, Rr = Object.getOwnPropertyDescriptor, pe = (e, t, r, i) => {
1803
- for (var s = i > 1 ? void 0 : i ? Rr(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1811
+ var Pr = Object.defineProperty, Er = Object.getOwnPropertyDescriptor, pe = (e, t, r, i) => {
1812
+ for (var s = i > 1 ? void 0 : i ? Er(t, r) : t, o = e.length - 1, n; o >= 0; o--)
1804
1813
  (n = e[o]) && (s = (i ? n(t, r, s) : n(s)) || s);
1805
1814
  return i && s && Pr(t, r, s), s;
1806
1815
  };
@@ -1871,7 +1880,7 @@ let ut = class extends Fe {
1871
1880
  }
1872
1881
  };
1873
1882
  ut.styles = tt`
1874
- ${Rt(xr)}
1883
+ ${Et(xr)}
1875
1884
  `;
1876
1885
  pe([
1877
1886
  v({ attribute: !1, type: Object })
@@ -1880,7 +1889,7 @@ ut = pe([
1880
1889
  M("ds4go-fact-bundle-modal"),
1881
1890
  pr()
1882
1891
  ], ut);
1883
- const Er = /* @__PURE__ */ Symbol();
1892
+ const Rr = /* @__PURE__ */ Symbol();
1884
1893
  class rt {
1885
1894
  get taskComplete() {
1886
1895
  return this.t || (this.i === 1 ? this.t = new Promise(((t, r) => {
@@ -1920,7 +1929,7 @@ class rt {
1920
1929
  o = !0, i = n;
1921
1930
  }
1922
1931
  if (this.p === s) {
1923
- if (r === Er) this.i = 0;
1932
+ if (r === Rr) this.i = 0;
1924
1933
  else {
1925
1934
  if (o === !1) {
1926
1935
  try {
@@ -2141,12 +2150,12 @@ let A = class extends $ {
2141
2150
  <tems-header
2142
2151
  slot="header"
2143
2152
  heading=${this.catalogId ? e ? this.catalogId === "*" ? `${h("All Datasets")}` : `${h("Datasets from")}
2144
- ${e["dct:title"]} (From ${this.sectorId})` : `${h(E`Error while loading catalog ${this.catalogId}`)}` : this.sectorId ? this.sectorId === "*" ? `${h("All Sectors")}` : `${h("Catalogs available in")} ${this.sectorId}` : `${h("Root Authority")}`}
2153
+ ${e["dct:title"]} (From ${this.sectorId})` : `${h(R`Error while loading catalog ${this.catalogId}`)}` : this.sectorId ? this.sectorId === "*" ? `${h("All Sectors")}` : `${h("Catalogs available in")} ${this.sectorId}` : `${h("Root Authority")}`}
2145
2154
  >${(this.sectorId || this.catalogId) && !(this.catalogId === "*" && this.sectorId === "*") && !(this.sectorId === "*" && !this.catalogId) ? f`<div slot="cta">
2146
2155
  <tems-button
2147
2156
  type="primary"
2148
2157
  label=${h(
2149
- E`Back to ${this.catalogId ? this.sectorId : "Root Authority"}`
2158
+ R`Back to ${this.catalogId ? this.sectorId : "Root Authority"}`
2150
2159
  )}
2151
2160
  @click=${this._back}
2152
2161
  ></tems-button>
@@ -2447,7 +2456,7 @@ let b = class extends $ {
2447
2456
  });
2448
2457
  }
2449
2458
  async _afterAttach() {
2450
- return this.dspConnector = this.orbit?.getComponent("dsp-connector"), Promise.resolve();
2459
+ return this.dspConnector = this.orbit?.components.find((t) => t.type === "dsp-connector"), Promise.resolve();
2451
2460
  }
2452
2461
  _showMoreResults() {
2453
2462
  this.spliceLength += Math.floor((window.innerWidth - 800) / 354);
@@ -2548,7 +2557,7 @@ let b = class extends $ {
2548
2557
  a && a.loadData();
2549
2558
  }
2550
2559
  this.bundleName = "", this.bundleDescription = "", this.selectedFacts = [];
2551
- const i = this.orbit?.getComponent("fact-bundle");
2560
+ const i = this.orbit?.components.find((s) => s.type === "fact-bundle");
2552
2561
  document.dispatchEvent(
2553
2562
  new CustomEvent("save", {
2554
2563
  detail: { resource: { "@id": i?.defaultDataSrc } },
@@ -2656,7 +2665,7 @@ let b = class extends $ {
2656
2665
  ${i > 0 ? f`<tems-division type="h4">
2657
2666
  <div>
2658
2667
  ${h(
2659
- E`${i} selected fact${i > 1 ? "s" : ""}`
2668
+ R`${i} selected fact${i > 1 ? "s" : ""}`
2660
2669
  )}
2661
2670
  </div></tems-division
2662
2671
  >
@@ -2734,7 +2743,7 @@ let b = class extends $ {
2734
2743
  >
2735
2744
  <div>
2736
2745
  ${h(
2737
- E`Displaying ${r.length} of ${t.length} result${t.length > 1 ? "s" : ""}`
2746
+ R`Displaying ${r.length} of ${t.length} result${t.length > 1 ? "s" : ""}`
2738
2747
  )}
2739
2748
  </div>
2740
2749
  <div class="flex flex-row gap-400">
@@ -2761,7 +2770,7 @@ let b = class extends $ {
2761
2770
  });
2762
2771
  }
2763
2772
  };
2764
- b.styles = [Rt(Ir)];
2773
+ b.styles = [Et(Ir)];
2765
2774
  _([
2766
2775
  v({ attribute: "header", type: String })
2767
2776
  ], b.prototype, "header", 2);
@@ -2867,9 +2876,7 @@ let N = class extends $ {
2867
2876
  keywords: ["factbundles"]
2868
2877
  }), this.menuComponent = document.querySelector(
2869
2878
  `[uniq="${this.orbit?.getComponent("menu")?.uniq}"]`
2870
- ), this.bundleCreationComponent = this.orbit?.getComponent(
2871
- "fact-bundle-creation"
2872
- ), Promise.resolve();
2879
+ ), this.bundleCreationComponent = this.orbit?.components.find((e) => e.type === "fact-bundle-creation"), Promise.resolve();
2873
2880
  }
2874
2881
  _search(e) {
2875
2882
  e.preventDefault(), this.search = e.detail, this.filterCount = this.search.filter((t) => t.name !== "search").length;
@@ -2975,13 +2982,13 @@ N = st([
2975
2982
  ], N);
2976
2983
  const qr = {
2977
2984
  s20acf344316637a0: "All Catalogs",
2978
- s67269ab6dc51ec41: E`Error while loading catalog ${0}`,
2985
+ s67269ab6dc51ec41: R`Error while loading catalog ${0}`,
2979
2986
  s0b88896b7338837d: "All Datasets",
2980
2987
  s541d9cd11a5bc840: "Datasets from",
2981
2988
  s01ceffa02fa6bd7f: "All Sectors",
2982
2989
  s4aaac20ff7887391: "Catalogs available in",
2983
2990
  sa89a60c3e1230cec: "Root Authority",
2984
- se5784a16a6799dad: E`Back to ${0}`,
2991
+ se5784a16a6799dad: R`Back to ${0}`,
2985
2992
  s6665daa6d6147db0: "No data available, data source may be temporarily unavailable.",
2986
2993
  sc16e00a7a8b2fde2: "Back",
2987
2994
  s2c8189544e3ea679: "Retry",
@@ -2994,9 +3001,9 @@ const qr = {
2994
3001
  s21fb127cabcd5617: "Comma-separated, eg.: en,de,es,fr)",
2995
3002
  sa6ef22f7e7e95e2b: "Access policy",
2996
3003
  s6de61424bb681993: "Contract policy",
2997
- sac1b0231875ff056: E`${0} selected fact${1}`,
3004
+ sac1b0231875ff056: R`${0} selected fact${1}`,
2998
3005
  s0d1be7a2c400c080: "more",
2999
- s8272d3578b7c78d5: E`Displaying ${0} of ${1} result${2}`,
3006
+ s8272d3578b7c78d5: R`Displaying ${0} of ${1} result${2}`,
3000
3007
  sa40e7f4f2a43e2f7: "Show more results",
3001
3008
  sacf246e0fa11730d: "Show all results",
3002
3009
  s9094c0cde8fb5058: "No results found",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@startinblox/components-ds4go",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "Startin'blox DS4GO",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -73,7 +73,7 @@ export class SolidFactBundle extends OrbitComponent {
73
73
 
74
74
  async _afterAttach() {
75
75
  // use this.dspConnector.instance to reach the connector
76
- this.dspConnector = this.orbit?.getComponent("dsp-connector");
76
+ this.dspConnector = this.orbit?.components.find((c) => c.type === "dsp-connector");
77
77
 
78
78
  return Promise.resolve();
79
79
  }
@@ -288,7 +288,7 @@ export class SolidFactBundle extends OrbitComponent {
288
288
  this.bundleDescription = "";
289
289
  this.selectedFacts = [];
290
290
 
291
- const factbundleComponent: any = this.orbit?.getComponent("fact-bundle");
291
+ const factbundleComponent: any = this.orbit?.components.find((c) => c.type === "fact-bundle");
292
292
 
293
293
  document.dispatchEvent(
294
294
  new CustomEvent("save", {
@@ -95,9 +95,7 @@ export class SolidFactBundle extends OrbitComponent {
95
95
  `[uniq="${this.orbit?.getComponent("menu")?.uniq}"]`,
96
96
  );
97
97
 
98
- this.bundleCreationComponent = this.orbit?.getComponent(
99
- "fact-bundle-creation",
100
- );
98
+ this.bundleCreationComponent = this.orbit?.components.find((c) => c.type === "fact-bundle-creation");
101
99
 
102
100
  return Promise.resolve();
103
101
  }
@@ -51,7 +51,7 @@ export default class extends OrbitComponent {
51
51
  }
52
52
 
53
53
  protected async _attach(
54
- defaultRoute: boolean,
54
+ defaultRoute: boolean | string,
55
55
  setupSubscriptions: boolean,
56
56
  ignoreRouter: boolean,
57
57
  ) {
@@ -64,15 +64,15 @@ export default class extends OrbitComponent {
64
64
  defaultRoute: defaultRoute,
65
65
  ignoreRouter: ignoreRouter,
66
66
  });
67
+
67
68
  if (this.route) {
68
69
  this.component = this.orbit.getComponentFromRoute(this.route);
69
70
  if (this.component) {
70
- this.orbit.components.map((c) => {
71
+ for (const c of this.orbit.components) {
71
72
  if (c.uniq === this.component.uniq) {
72
73
  c.instance = this;
73
74
  }
74
- return c;
75
- });
75
+ }
76
76
  }
77
77
  }
78
78
 
@@ -145,6 +145,16 @@ export default class extends OrbitComponent {
145
145
  }
146
146
  }
147
147
  await this._afterAttach();
148
+
149
+ this.ready = true;
150
+ this.dispatchEvent(
151
+ new CustomEvent("component-ready", {
152
+ detail: {
153
+ component: this.component,
154
+ },
155
+ }),
156
+ );
157
+
148
158
  return Promise.resolve(true);
149
159
  }
150
160
  }