@apicurio/common-ui-components 2.0.6 → 2.0.7

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.
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  export type FromNowProps = {
4
3
  date: Date | string | undefined | null;
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { default as React, FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,6 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { DropdownPopperProps } from '@patternfly/react-core';
3
-
4
3
  /**
5
4
  * Properties
6
5
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { ChipFilterType } from './ChipFilterType';
2
-
3
2
  export type ChipFilterCriteria = {
4
3
  filterBy: ChipFilterType;
5
4
  filterValue: string;
@@ -1,7 +1,6 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { ChipFilterType } from './ChipFilterType';
3
3
  import { ChipFilterCriteria } from './ChipFilterCriteria';
4
-
5
4
  export type ChipFilterInputProps = {
6
5
  filterTypes: ChipFilterType[];
7
6
  onAddCriteria: (criteria: ChipFilterCriteria) => void;
@@ -1,6 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { ChipFilterCriteria } from './ChipFilterCriteria';
3
-
4
3
  export type FilterChipsProps = {
5
4
  categoryName?: string;
6
5
  criteria: ChipFilterCriteria[];
package/dist/main.js CHANGED
@@ -1,23 +1,23 @@
1
- import $, { createContext as gt, useContext as ut, useState as k, useEffect as Ce, memo as Pe, forwardRef as re, useCallback as Ne, useMemo as qe } from "react";
1
+ import $, { createContext as gt, useContext as ut, useState as T, useEffect as Ce, memo as Pe, forwardRef as re, useCallback as Ne, useMemo as qe } from "react";
2
2
  import { jsx as a, jsxs as v, Fragment as Re } from "react/jsx-runtime";
3
- import { Tooltip as _t, EmptyState as ne, EmptyStateVariant as pt, EmptyStateHeader as oe, EmptyStateBody as me, Spinner as ee, Alert as ft, Dropdown as mt, MenuToggle as Je, DropdownList as wt, Divider as Ke, DropdownItem as vt, Select as St, SelectOption as yt, TextInput as ae, Button as ce, TextArea as bt, AboutModal as kt, TextContent as Tt, Text as De, TextVariants as Le, TextList as je, TextListItem as b, Modal as Ue, Form as Be, FormGroup as He, Progress as It, EmptyStateIcon as ze, ChipGroup as Et, Chip as Ct, InputGroup as Pt, ButtonVariant as Rt, Pagination as Ut, PaginationVariant as xt, Skeleton as At } from "@patternfly/react-core";
4
- import { EllipsisVIcon as Ot, ChevronDownIcon as Nt, ChevronRightIcon as qt, ErrorCircleOIcon as Dt, SearchIcon as Lt } from "@patternfly/react-icons";
3
+ import { useInterval as _t, Tooltip as pt, EmptyState as ne, EmptyStateVariant as ft, EmptyStateHeader as oe, EmptyStateBody as me, Spinner as ee, Alert as mt, Dropdown as wt, MenuToggle as Je, DropdownList as vt, Divider as Ke, DropdownItem as St, Select as yt, SelectOption as bt, TextInput as ae, Button as ce, TextArea as kt, AboutModal as Tt, TextContent as It, Text as De, TextVariants as Le, TextList as je, TextListItem as b, Modal as Ue, Form as Be, FormGroup as He, Progress as Et, EmptyStateIcon as ze, ChipGroup as Ct, Chip as Pt, InputGroup as Rt, ButtonVariant as Ut, Pagination as xt, PaginationVariant as At, Skeleton as Ot } from "@patternfly/react-core";
4
+ import { EllipsisVIcon as Nt, ChevronDownIcon as qt, ChevronRightIcon as Dt, ErrorCircleOIcon as Lt, SearchIcon as jt } from "@patternfly/react-icons";
5
5
  import { DateTime as se } from "luxon";
6
- import { Tr as le, Td as xe, Th as jt, Table as Ht, Thead as $t, Tbody as Mt, ActionsColumn as Ft } from "@patternfly/react-table";
7
- import Wt from "use-resize-observer";
8
- const Jt = gt({
6
+ import { Tr as le, Td as xe, Th as Ht, Table as $t, Thead as Mt, Tbody as Ft, ActionsColumn as Wt } from "@patternfly/react-table";
7
+ import Jt from "use-resize-observer";
8
+ const Kt = gt({
9
9
  type: "none"
10
10
  });
11
11
  class Y extends Error {
12
12
  }
13
13
  Y.prototype.name = "InvalidTokenError";
14
- function Kt(e) {
14
+ function Bt(e) {
15
15
  return decodeURIComponent(atob(e).replace(/(.)/g, (t, s) => {
16
16
  let i = s.charCodeAt(0).toString(16).toUpperCase();
17
17
  return i.length < 2 && (i = "0" + i), "%" + i;
18
18
  }));
19
19
  }
20
- function Bt(e) {
20
+ function zt(e) {
21
21
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
22
22
  switch (t.length % 4) {
23
23
  case 0:
@@ -32,12 +32,12 @@ function Bt(e) {
32
32
  throw new Error("base64 string is not of the correct length");
33
33
  }
34
34
  try {
35
- return Kt(t);
35
+ return Bt(t);
36
36
  } catch {
37
37
  return atob(t);
38
38
  }
39
39
  }
40
- function zt(e, t) {
40
+ function Vt(e, t) {
41
41
  if (typeof e != "string")
42
42
  throw new Y("Invalid token specified: must be a string");
43
43
  t || (t = {});
@@ -46,7 +46,7 @@ function zt(e, t) {
46
46
  throw new Y(`Invalid token specified: missing part #${s + 1}`);
47
47
  let r;
48
48
  try {
49
- r = Bt(i);
49
+ r = zt(i);
50
50
  } catch (n) {
51
51
  throw new Y(`Invalid token specified: invalid base64 for part #${s + 1} (${n.message})`);
52
52
  }
@@ -56,7 +56,7 @@ function zt(e, t) {
56
56
  throw new Y(`Invalid token specified: invalid json for part #${s + 1} (${n.message})`);
57
57
  }
58
58
  }
59
- var Vt = {
59
+ var Gt = {
60
60
  debug: () => {
61
61
  },
62
62
  info: () => {
@@ -68,7 +68,7 @@ var Vt = {
68
68
  }, j, H, de = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.ERROR = 1] = "ERROR", e[e.WARN = 2] = "WARN", e[e.INFO = 3] = "INFO", e[e.DEBUG = 4] = "DEBUG", e))(de || {});
69
69
  ((e) => {
70
70
  function t() {
71
- j = 3, H = Vt;
71
+ j = 3, H = Gt;
72
72
  }
73
73
  e.reset = t;
74
74
  function s(r) {
@@ -136,7 +136,7 @@ var he = class {
136
136
  // IMPORTANT: doesn't validate the token
137
137
  static decode(e) {
138
138
  try {
139
- return zt(e);
139
+ return Vt(e);
140
140
  } catch (t) {
141
141
  throw u.error("JwtUtils.decode", t), t;
142
142
  }
@@ -152,7 +152,7 @@ var he = class {
152
152
  ), c = C.encodeBase64Url(new Uint8Array(o));
153
153
  return `${n}.${c}`;
154
154
  }
155
- }, Gt = "10000000-1000-4000-8000-100000000000", we = (e) => btoa([...new Uint8Array(e)].map((t) => String.fromCharCode(t)).join("")), Ve = class L {
155
+ }, Qt = "10000000-1000-4000-8000-100000000000", we = (e) => btoa([...new Uint8Array(e)].map((t) => String.fromCharCode(t)).join("")), Ve = class L {
156
156
  static _randomWord() {
157
157
  const t = new Uint32Array(1);
158
158
  return crypto.getRandomValues(t), t[0];
@@ -161,7 +161,7 @@ var he = class {
161
161
  * Generates RFC4122 version 4 guid
162
162
  */
163
163
  static generateUUIDv4() {
164
- return Gt.replace(
164
+ return Qt.replace(
165
165
  /[018]/g,
166
166
  (s) => (+s ^ L._randomWord() & 15 >> +s / 4).toString(16)
167
167
  ).replace(/-/g, "");
@@ -368,7 +368,7 @@ var C = Ve, W = class {
368
368
  constructor(e) {
369
369
  super(e), this.name = "ErrorTimeout";
370
370
  }
371
- }, Qt = class {
371
+ }, Xt = class {
372
372
  constructor(e) {
373
373
  this._logger = new u("AccessTokenEvents"), this._expiringTimer = new F("Access token expiring"), this._expiredTimer = new F("Access token expired"), this._expiringNotificationTimeInSeconds = e.expiringNotificationTimeInSeconds;
374
374
  }
@@ -413,7 +413,7 @@ var C = Ve, W = class {
413
413
  removeAccessTokenExpired(e) {
414
414
  this._expiredTimer.removeHandler(e);
415
415
  }
416
- }, Xt = class {
416
+ }, Yt = class {
417
417
  constructor(e, t, s, i, r) {
418
418
  this._callback = e, this._client_id = t, this._intervalInSeconds = i, this._stopOnError = r, this._logger = new u("CheckSessionIFrame"), this._timer = null, this._session_state = null, this._message = (o) => {
419
419
  o.origin === this._frame_origin && o.source === this._frame.contentWindow && (o.data === "error" ? (this._logger.error("error message from check session op iframe"), this._stopOnError && this.stop()) : o.data === "changed" ? (this._logger.debug("changed message from check session op iframe"), this.stop(), this._callback()) : this._logger.debug(o.data + " message from check session op iframe"));
@@ -570,7 +570,7 @@ var C = Ve, W = class {
570
570
  n && n !== "" && (e[r] = n);
571
571
  });
572
572
  }
573
- }, Yt = class {
573
+ }, Zt = class {
574
574
  constructor(e) {
575
575
  this._settings = e, this._logger = new u("MetadataService"), this._signingKeys = null, this._metadata = null, this._metadataUrl = this._settings.metadataUrl, this._jsonService = new Oe(
576
576
  ["application/jwk-set+json"],
@@ -664,7 +664,7 @@ var C = Ve, W = class {
664
664
  }
665
665
  return t;
666
666
  }
667
- }, Zt = "code", es = "openid", ts = "client_secret_post", ss = 60 * 15, be = class {
667
+ }, es = "code", ts = "openid", ss = "client_secret_post", is = 60 * 15, be = class {
668
668
  constructor({
669
669
  // metadata related
670
670
  authority: e,
@@ -675,16 +675,16 @@ var C = Ve, W = class {
675
675
  // client related
676
676
  client_id: n,
677
677
  client_secret: o,
678
- response_type: c = Zt,
679
- scope: l = es,
678
+ response_type: c = es,
679
+ scope: l = ts,
680
680
  redirect_uri: d,
681
681
  post_logout_redirect_uri: h,
682
- client_authentication: g = ts,
682
+ client_authentication: g = ss,
683
683
  // optional protocol
684
684
  prompt: _,
685
685
  display: S,
686
686
  max_age: x,
687
- ui_locales: T,
687
+ ui_locales: k,
688
688
  acr_values: A,
689
689
  resource: I,
690
690
  response_mode: N,
@@ -692,7 +692,7 @@ var C = Ve, W = class {
692
692
  filterProtocolClaims: P = !0,
693
693
  loadUserInfo: M = !1,
694
694
  requestTimeoutInSeconds: R,
695
- staleStateAgeInSeconds: m = ss,
695
+ staleStateAgeInSeconds: m = is,
696
696
  mergeClaimsStrategy: E = { array: "replace" },
697
697
  disablePKCE: U = !1,
698
698
  // other behavior
@@ -708,7 +708,7 @@ var C = Ve, W = class {
708
708
  omitScopeWhenRequesting: _e = !1
709
709
  }) {
710
710
  var X;
711
- if (this.authority = e, t ? this.metadataUrl = t : (this.metadataUrl = e, e && (this.metadataUrl.endsWith("/") || (this.metadataUrl += "/"), this.metadataUrl += ".well-known/openid-configuration")), this.metadata = s, this.metadataSeed = r, this.signingKeys = i, this.client_id = n, this.client_secret = o, this.response_type = c, this.scope = l, this.redirect_uri = d, this.post_logout_redirect_uri = h, this.client_authentication = g, this.prompt = _, this.display = S, this.max_age = x, this.ui_locales = T, this.acr_values = A, this.resource = I, this.response_mode = N, this.filterProtocolClaims = P ?? !0, this.loadUserInfo = !!M, this.staleStateAgeInSeconds = m, this.mergeClaimsStrategy = E, this.omitScopeWhenRequesting = _e, this.disablePKCE = !!U, this.revokeTokenAdditionalContentTypes = z, this.fetchRequestCredentials = f || "same-origin", this.requestTimeoutInSeconds = R, y)
711
+ if (this.authority = e, t ? this.metadataUrl = t : (this.metadataUrl = e, e && (this.metadataUrl.endsWith("/") || (this.metadataUrl += "/"), this.metadataUrl += ".well-known/openid-configuration")), this.metadata = s, this.metadataSeed = r, this.signingKeys = i, this.client_id = n, this.client_secret = o, this.response_type = c, this.scope = l, this.redirect_uri = d, this.post_logout_redirect_uri = h, this.client_authentication = g, this.prompt = _, this.display = S, this.max_age = x, this.ui_locales = k, this.acr_values = A, this.resource = I, this.response_mode = N, this.filterProtocolClaims = P ?? !0, this.loadUserInfo = !!M, this.staleStateAgeInSeconds = m, this.mergeClaimsStrategy = E, this.omitScopeWhenRequesting = _e, this.disablePKCE = !!U, this.revokeTokenAdditionalContentTypes = z, this.fetchRequestCredentials = f || "same-origin", this.requestTimeoutInSeconds = R, y)
712
712
  this.stateStore = y;
713
713
  else {
714
714
  const te = typeof window < "u" ? window.localStorage : new Ge();
@@ -717,7 +717,7 @@ var C = Ve, W = class {
717
717
  if (this.refreshTokenAllowedScope = w, this.extraQueryParams = q, this.extraTokenParams = J, this.extraHeaders = K, this.dpop = Q, this.dpop && !((X = this.dpop) != null && X.store))
718
718
  throw new Error("A DPoPStore is required when dpop is enabled");
719
719
  }
720
- }, is = class {
720
+ }, rs = class {
721
721
  constructor(e, t) {
722
722
  this._settings = e, this._metadataService = t, this._logger = new u("UserInfoService"), this._getClaimsFromJwt = async (s) => {
723
723
  const i = this._logger.create("_getClaimsFromJwt");
@@ -877,9 +877,9 @@ var C = Ve, W = class {
877
877
  o != null && r.set(n, o);
878
878
  r.set("client_id", this._settings.client_id), this._settings.client_secret && r.set("client_secret", this._settings.client_secret), await this._jsonService.postForm(i, { body: r, timeoutInSeconds: this._settings.requestTimeoutInSeconds }), s.debug("got response");
879
879
  }
880
- }, rs = class {
880
+ }, ns = class {
881
881
  constructor(e, t, s) {
882
- this._settings = e, this._metadataService = t, this._claimsService = s, this._logger = new u("ResponseValidator"), this._userInfoService = new is(this._settings, this._metadataService), this._tokenClient = new Xe(this._settings, this._metadataService);
882
+ this._settings = e, this._metadataService = t, this._claimsService = s, this._logger = new u("ResponseValidator"), this._userInfoService = new rs(this._settings, this._metadataService), this._tokenClient = new Xe(this._settings, this._metadataService);
883
883
  }
884
884
  async validateSigninResponse(e, t, s) {
885
885
  const i = this._logger.create("validateSigninResponse");
@@ -1036,7 +1036,7 @@ var C = Ve, W = class {
1036
1036
  url_state: _,
1037
1037
  resource: S,
1038
1038
  skipUserInfo: x,
1039
- extraQueryParams: T,
1039
+ extraQueryParams: k,
1040
1040
  extraTokenParams: A,
1041
1041
  disablePKCE: I,
1042
1042
  dpopJkt: N,
@@ -1072,7 +1072,7 @@ var C = Ve, W = class {
1072
1072
  m.searchParams.append("client_id", i), m.searchParams.append("redirect_uri", r), m.searchParams.append("response_type", n), P || m.searchParams.append("scope", o), g && m.searchParams.append("nonce", g), N && m.searchParams.append("dpop_jkt", N);
1073
1073
  let E = R.id;
1074
1074
  _ && (E = `${E}${Se}${_}`), m.searchParams.append("state", E), R.code_challenge && (m.searchParams.append("code_challenge", R.code_challenge), m.searchParams.append("code_challenge_method", "S256")), S && (Array.isArray(S) ? S : [S]).forEach((y) => m.searchParams.append("resource", y));
1075
- for (const [U, y] of Object.entries({ response_mode: l, ...M, ...T }))
1075
+ for (const [U, y] of Object.entries({ response_mode: l, ...M, ...k }))
1076
1076
  y != null && m.searchParams.append(U, y.toString());
1077
1077
  return new et({
1078
1078
  url: m.href,
@@ -1081,7 +1081,7 @@ var C = Ve, W = class {
1081
1081
  }
1082
1082
  };
1083
1083
  Ze._logger = new u("SigninRequest");
1084
- var ns = Ze, os = "openid", pe = class {
1084
+ var os = Ze, as = "openid", pe = class {
1085
1085
  constructor(e) {
1086
1086
  if (this.access_token = "", this.token_type = "", this.profile = {}, this.state = e.get("state"), this.session_state = e.get("session_state"), this.state) {
1087
1087
  const t = decodeURIComponent(this.state).split(Se);
@@ -1098,9 +1098,9 @@ var ns = Ze, os = "openid", pe = class {
1098
1098
  }
1099
1099
  get isOpenId() {
1100
1100
  var e;
1101
- return ((e = this.scope) == null ? void 0 : e.split(" ").includes(os)) || !!this.id_token;
1101
+ return ((e = this.scope) == null ? void 0 : e.split(" ").includes(as)) || !!this.id_token;
1102
1102
  }
1103
- }, as = class {
1103
+ }, cs = class {
1104
1104
  constructor({
1105
1105
  url: e,
1106
1106
  state_data: t,
@@ -1118,11 +1118,11 @@ var ns = Ze, os = "openid", pe = class {
1118
1118
  d != null && c.searchParams.append(l, d.toString());
1119
1119
  this.url = c.href;
1120
1120
  }
1121
- }, cs = class {
1121
+ }, ls = class {
1122
1122
  constructor(e) {
1123
1123
  this.state = e.get("state"), this.error = e.get("error"), this.error_description = e.get("error_description"), this.error_uri = e.get("error_uri");
1124
1124
  }
1125
- }, ls = [
1125
+ }, ds = [
1126
1126
  "nbf",
1127
1127
  "jti",
1128
1128
  "auth_time",
@@ -1132,7 +1132,7 @@ var ns = Ze, os = "openid", pe = class {
1132
1132
  "azp",
1133
1133
  "at_hash"
1134
1134
  // https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken
1135
- ], ds = ["sub", "iss", "aud", "exp", "iat"], hs = class {
1135
+ ], hs = ["sub", "iss", "aud", "exp", "iat"], gs = class {
1136
1136
  constructor(e) {
1137
1137
  this._settings = e, this._logger = new u("ClaimsService");
1138
1138
  }
@@ -1140,9 +1140,9 @@ var ns = Ze, os = "openid", pe = class {
1140
1140
  const t = { ...e };
1141
1141
  if (this._settings.filterProtocolClaims) {
1142
1142
  let s;
1143
- Array.isArray(this._settings.filterProtocolClaims) ? s = this._settings.filterProtocolClaims : s = ls;
1143
+ Array.isArray(this._settings.filterProtocolClaims) ? s = this._settings.filterProtocolClaims : s = ds;
1144
1144
  for (const i of s)
1145
- ds.includes(i) || delete t[i];
1145
+ hs.includes(i) || delete t[i];
1146
1146
  }
1147
1147
  return t;
1148
1148
  }
@@ -1166,9 +1166,9 @@ var ns = Ze, os = "openid", pe = class {
1166
1166
  constructor(e, t) {
1167
1167
  this.keys = e, this.nonce = t;
1168
1168
  }
1169
- }, gs = class {
1169
+ }, us = class {
1170
1170
  constructor(e, t) {
1171
- this._logger = new u("OidcClient"), this.settings = e instanceof be ? e : new be(e), this.metadataService = t ?? new Yt(this.settings), this._claimsService = new hs(this.settings), this._validator = new rs(this.settings, this.metadataService, this._claimsService), this._tokenClient = new Xe(this.settings, this.metadataService);
1171
+ this._logger = new u("OidcClient"), this.settings = e instanceof be ? e : new be(e), this.metadataService = t ?? new Zt(this.settings), this._claimsService = new gs(this.settings), this._validator = new ns(this.settings, this.metadataService, this._claimsService), this._tokenClient = new Xe(this.settings, this.metadataService);
1172
1172
  }
1173
1173
  async createSigninRequest({
1174
1174
  state: e,
@@ -1186,7 +1186,7 @@ var ns = Ze, os = "openid", pe = class {
1186
1186
  prompt: _ = this.settings.prompt,
1187
1187
  display: S = this.settings.display,
1188
1188
  max_age: x = this.settings.max_age,
1189
- ui_locales: T = this.settings.ui_locales,
1189
+ ui_locales: k = this.settings.ui_locales,
1190
1190
  acr_values: A = this.settings.acr_values,
1191
1191
  resource: I = this.settings.resource,
1192
1192
  response_mode: N = this.settings.response_mode,
@@ -1200,7 +1200,7 @@ var ns = Ze, os = "openid", pe = class {
1200
1200
  throw new Error("Only the Authorization Code flow (with PKCE) is supported");
1201
1201
  const U = await this.metadataService.getAuthorizationEndpoint();
1202
1202
  E.debug("Received authorization endpoint", U);
1203
- const y = await ns.create({
1203
+ const y = await os.create({
1204
1204
  url: U,
1205
1205
  authority: this.settings.authority,
1206
1206
  client_id: this.settings.client_id,
@@ -1212,7 +1212,7 @@ var ns = Ze, os = "openid", pe = class {
1212
1212
  prompt: _,
1213
1213
  display: S,
1214
1214
  max_age: x,
1215
- ui_locales: T,
1215
+ ui_locales: k,
1216
1216
  id_token_hint: r,
1217
1217
  login_hint: n,
1218
1218
  acr_values: A,
@@ -1346,7 +1346,7 @@ var ns = Ze, os = "openid", pe = class {
1346
1346
  if (!c)
1347
1347
  throw o.throw(new Error("No end session endpoint")), null;
1348
1348
  o.debug("Received end session endpoint", c), !s && r && !t && (s = this.settings.client_id);
1349
- const l = new as({
1349
+ const l = new cs({
1350
1350
  url: c,
1351
1351
  id_token_hint: t,
1352
1352
  client_id: s,
@@ -1360,7 +1360,7 @@ var ns = Ze, os = "openid", pe = class {
1360
1360
  return d && (o.debug("Signout request has state to persist"), await this.settings.stateStore.set(d.id, d.toStorageString())), l;
1361
1361
  }
1362
1362
  async readSignoutResponseState(e, t = !1) {
1363
- const s = this._logger.create("readSignoutResponseState"), i = new cs(ve.readParams(e, this.settings.response_mode));
1363
+ const s = this._logger.create("readSignoutResponseState"), i = new ls(ve.readParams(e, this.settings.response_mode));
1364
1364
  if (!i.state) {
1365
1365
  if (s.debug("No state in response"), i.error)
1366
1366
  throw s.warn("Response was error:", i.error), new B(i);
@@ -1384,7 +1384,7 @@ var ns = Ze, os = "openid", pe = class {
1384
1384
  token_type_hint: t
1385
1385
  });
1386
1386
  }
1387
- }, us = class {
1387
+ }, _s = class {
1388
1388
  constructor(e) {
1389
1389
  this._userManager = e, this._logger = new u("SessionMonitor"), this._start = async (t) => {
1390
1390
  const s = t.session_state;
@@ -1399,7 +1399,7 @@ var ns = Ze, os = "openid", pe = class {
1399
1399
  const r = await this._userManager.metadataService.getCheckSessionIframe();
1400
1400
  if (r) {
1401
1401
  i.debug("initializing check session iframe");
1402
- const n = this._userManager.settings.client_id, o = this._userManager.settings.checkSessionIntervalInSeconds, c = this._userManager.settings.stopCheckSessionOnError, l = new Xt(this._callback, n, r, o, c);
1402
+ const n = this._userManager.settings.client_id, o = this._userManager.settings.checkSessionIntervalInSeconds, c = this._userManager.settings.stopCheckSessionOnError, l = new Yt(this._callback, n, r, o, c);
1403
1403
  await l.load(), this._checkSessionIFrame = l, l.start(s);
1404
1404
  } else
1405
1405
  i.warn("no check session iframe found in the metadata");
@@ -1545,7 +1545,7 @@ var ns = Ze, os = "openid", pe = class {
1545
1545
  toolbar: !1,
1546
1546
  height: 640,
1547
1547
  closePopupWindowAfterInSeconds: -1
1548
- }, nt = "_blank", _s = 60, ps = 2, ot = 10, fs = class extends be {
1548
+ }, nt = "_blank", ps = 60, fs = 2, ot = 10, ms = class extends be {
1549
1549
  constructor(e) {
1550
1550
  const {
1551
1551
  popup_redirect_uri: t = e.redirect_uri,
@@ -1562,18 +1562,18 @@ var ns = Ze, os = "openid", pe = class {
1562
1562
  automaticSilentRenew: _ = !0,
1563
1563
  validateSubOnSilentRenew: S = !0,
1564
1564
  includeIdTokenInSilentRenew: x = !1,
1565
- monitorSession: T = !1,
1565
+ monitorSession: k = !1,
1566
1566
  monitorAnonymousSession: A = !1,
1567
- checkSessionIntervalInSeconds: I = ps,
1567
+ checkSessionIntervalInSeconds: I = fs,
1568
1568
  query_status_response_type: N = "code",
1569
1569
  stopCheckSessionOnError: P = !0,
1570
1570
  revokeTokenTypes: M = ["access_token", "refresh_token"],
1571
1571
  revokeTokensOnSignout: R = !1,
1572
1572
  includeIdTokenInSilentSignout: m = !1,
1573
- accessTokenExpiringNotificationTimeInSeconds: E = _s,
1573
+ accessTokenExpiringNotificationTimeInSeconds: E = ps,
1574
1574
  userStore: U
1575
1575
  } = e;
1576
- if (super(e), this.popup_redirect_uri = t, this.popup_post_logout_redirect_uri = s, this.popupWindowFeatures = i, this.popupWindowTarget = r, this.redirectMethod = n, this.redirectTarget = o, this.iframeNotifyParentOrigin = c, this.iframeScriptOrigin = l, this.silent_redirect_uri = h, this.silentRequestTimeoutInSeconds = g || d || ot, this.automaticSilentRenew = _, this.validateSubOnSilentRenew = S, this.includeIdTokenInSilentRenew = x, this.monitorSession = T, this.monitorAnonymousSession = A, this.checkSessionIntervalInSeconds = I, this.stopCheckSessionOnError = P, this.query_status_response_type = N, this.revokeTokenTypes = M, this.revokeTokensOnSignout = R, this.includeIdTokenInSilentSignout = m, this.accessTokenExpiringNotificationTimeInSeconds = E, U)
1576
+ if (super(e), this.popup_redirect_uri = t, this.popup_post_logout_redirect_uri = s, this.popupWindowFeatures = i, this.popupWindowTarget = r, this.redirectMethod = n, this.redirectTarget = o, this.iframeNotifyParentOrigin = c, this.iframeScriptOrigin = l, this.silent_redirect_uri = h, this.silentRequestTimeoutInSeconds = g || d || ot, this.automaticSilentRenew = _, this.validateSubOnSilentRenew = S, this.includeIdTokenInSilentRenew = x, this.monitorSession = k, this.monitorAnonymousSession = A, this.checkSessionIntervalInSeconds = I, this.stopCheckSessionOnError = P, this.query_status_response_type = N, this.revokeTokenTypes = M, this.revokeTokensOnSignout = R, this.includeIdTokenInSilentSignout = m, this.accessTokenExpiringNotificationTimeInSeconds = E, U)
1577
1577
  this.userStore = U;
1578
1578
  else {
1579
1579
  const y = typeof window < "u" ? window.sessionStorage : new Ge();
@@ -1606,7 +1606,7 @@ var ns = Ze, os = "openid", pe = class {
1606
1606
  static notifyParent(t, s) {
1607
1607
  return super._notifyParent(window.parent, t, !1, s);
1608
1608
  }
1609
- }, ms = class {
1609
+ }, ws = class {
1610
1610
  constructor(e) {
1611
1611
  this._settings = e, this._logger = new u("IFrameNavigator");
1612
1612
  }
@@ -1618,7 +1618,7 @@ var ns = Ze, os = "openid", pe = class {
1618
1618
  async callback(e) {
1619
1619
  this._logger.create("callback"), Fe.notifyParent(e, this._settings.iframeNotifyParentOrigin);
1620
1620
  }
1621
- }, ws = 500, vs = 1e3, We = class extends it {
1621
+ }, vs = 500, Ss = 1e3, We = class extends it {
1622
1622
  constructor({
1623
1623
  popupWindowTarget: e = nt,
1624
1624
  popupWindowFeatures: t = {},
@@ -1635,14 +1635,14 @@ var ns = Ze, os = "openid", pe = class {
1635
1635
  return;
1636
1636
  }
1637
1637
  this.close();
1638
- }, t.closePopupWindowAfterInSeconds * vs);
1638
+ }, t.closePopupWindowAfterInSeconds * Ss);
1639
1639
  }
1640
1640
  async navigate(e) {
1641
1641
  var t;
1642
1642
  (t = this._window) == null || t.focus();
1643
1643
  const s = setInterval(() => {
1644
1644
  (!this._window || this._window.closed) && this._abort.raise(new Error("Popup closed by user"));
1645
- }, ws);
1645
+ }, vs);
1646
1646
  return this._disposeHandlers.add(() => clearInterval(s)), await super.navigate(e);
1647
1647
  }
1648
1648
  close() {
@@ -1653,7 +1653,7 @@ var ns = Ze, os = "openid", pe = class {
1653
1653
  throw new Error("No window.opener. Can't complete notification.");
1654
1654
  return super._notifyParent(window.opener, e, t);
1655
1655
  }
1656
- }, Ss = class {
1656
+ }, ys = class {
1657
1657
  constructor(e) {
1658
1658
  this._settings = e, this._logger = new u("PopupNavigator");
1659
1659
  }
@@ -1667,7 +1667,7 @@ var ns = Ze, os = "openid", pe = class {
1667
1667
  async callback(e, { keepOpen: t = !1 }) {
1668
1668
  this._logger.create("callback"), We.notifyOpener(e, t);
1669
1669
  }
1670
- }, ys = class {
1670
+ }, bs = class {
1671
1671
  constructor(e) {
1672
1672
  this._settings = e, this._logger = new u("RedirectNavigator");
1673
1673
  }
@@ -1696,7 +1696,7 @@ var ns = Ze, os = "openid", pe = class {
1696
1696
  }
1697
1697
  async callback() {
1698
1698
  }
1699
- }, bs = class extends Qt {
1699
+ }, ks = class extends Xt {
1700
1700
  constructor(e) {
1701
1701
  super({ expiringNotificationTimeInSeconds: e.accessTokenExpiringNotificationTimeInSeconds }), this._logger = new u("UserManagerEvents"), this._userLoaded = new W("User loaded"), this._userUnloaded = new W("User unloaded"), this._silentRenewError = new W("Silent renew error"), this._userSignedIn = new W("User signed in"), this._userSignedOut = new W("User signed out"), this._userSessionChanged = new W("User session changed");
1702
1702
  }
@@ -1805,7 +1805,7 @@ var ns = Ze, os = "openid", pe = class {
1805
1805
  async _raiseUserSessionChanged() {
1806
1806
  await this._userSessionChanged.raise();
1807
1807
  }
1808
- }, ks = class {
1808
+ }, Ts = class {
1809
1809
  constructor(e) {
1810
1810
  this._userManager = e, this._logger = new u("SilentRenewService"), this._isStarted = !1, this._retryTimer = new F("Retry Silent Renew"), this._tokenExpiring = async () => {
1811
1811
  const t = this._logger.create("_tokenExpiring");
@@ -1834,13 +1834,13 @@ var ns = Ze, os = "openid", pe = class {
1834
1834
  stop() {
1835
1835
  this._isStarted && (this._retryTimer.cancel(), this._retryTimer.removeHandler(this._tokenExpiring), this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring), this._isStarted = !1);
1836
1836
  }
1837
- }, Ts = class {
1837
+ }, Is = class {
1838
1838
  constructor(e) {
1839
1839
  this.refresh_token = e.refresh_token, this.id_token = e.id_token, this.session_state = e.session_state, this.scope = e.scope, this.profile = e.profile, this.data = e.state;
1840
1840
  }
1841
- }, Is = class {
1841
+ }, Es = class {
1842
1842
  constructor(e, t, s, i) {
1843
- this._logger = new u("UserManager"), this.settings = new fs(e), this._client = new gs(e), this._redirectNavigator = t ?? new ys(this.settings), this._popupNavigator = s ?? new Ss(this.settings), this._iframeNavigator = i ?? new ms(this.settings), this._events = new bs(this.settings), this._silentRenewService = new ks(this), this.settings.automaticSilentRenew && this.startSilentRenew(), this._sessionMonitor = null, this.settings.monitorSession && (this._sessionMonitor = new us(this));
1843
+ this._logger = new u("UserManager"), this.settings = new ms(e), this._client = new us(e), this._redirectNavigator = t ?? new bs(this.settings), this._popupNavigator = s ?? new ys(this.settings), this._iframeNavigator = i ?? new ws(this.settings), this._events = new ks(this.settings), this._silentRenewService = new Ts(this), this.settings.automaticSilentRenew && this.startSilentRenew(), this._sessionMonitor = null, this.settings.monitorSession && (this._sessionMonitor = new _s(this));
1844
1844
  }
1845
1845
  /**
1846
1846
  * Get object used to register for events raised by the `UserManager`.
@@ -1981,7 +1981,7 @@ var ns = Ze, os = "openid", pe = class {
1981
1981
  let o = await this._loadUser();
1982
1982
  if (o != null && o.refresh_token) {
1983
1983
  i.debug("using refresh token");
1984
- const g = new Ts(o);
1984
+ const g = new Is(o);
1985
1985
  return await this._useRefreshToken({
1986
1986
  state: g,
1987
1987
  redirect_uri: n.redirect_uri,
@@ -2355,25 +2355,25 @@ var ns = Ze, os = "openid", pe = class {
2355
2355
  return await C.generateDPoPJkt(t.keys);
2356
2356
  }
2357
2357
  };
2358
- const Es = ["url", "clientId", "redirectUri", "scope", "logoutUrl"], Cs = "openid profile email";
2359
- function Ps(e, t) {
2358
+ const Cs = ["url", "clientId", "redirectUri", "scope", "logoutUrl"], Ps = "openid profile email";
2359
+ function Rs(e, t) {
2360
2360
  const s = {};
2361
2361
  return e.forEach((i) => {
2362
2362
  t[i] !== void 0 && (s[i] = t[i]);
2363
2363
  }), s;
2364
2364
  }
2365
2365
  let p, V;
2366
- const Rs = (e) => (V = Ps(Es, e), new Is({
2366
+ const Us = (e) => (V = Rs(Cs, e), new Es({
2367
2367
  authority: V.url,
2368
2368
  client_id: V.clientId,
2369
2369
  redirect_uri: V.redirectUri,
2370
2370
  response_type: "code",
2371
- scope: V.scope || Cs,
2371
+ scope: V.scope || Ps,
2372
2372
  filterProtocolClaims: !0,
2373
2373
  includeIdTokenInSilentRenew: !0,
2374
2374
  includeIdTokenInSilentSignout: !0,
2375
2375
  loadUserInfo: !0
2376
- })), Us = async () => {
2376
+ })), xs = async () => {
2377
2377
  try {
2378
2378
  console.debug("[Auth] Logging in using OIDC");
2379
2379
  const e = new URL(window.location.href), t = await (p == null ? void 0 : p.getUser());
@@ -2385,51 +2385,51 @@ const Rs = (e) => (V = Ps(Es, e), new Is({
2385
2385
  } catch (e) {
2386
2386
  console.error("[Auth] Error logging in using OIDC: ", e);
2387
2387
  }
2388
- }, xs = async () => p == null ? void 0 : p.removeUser().then(() => p == null ? void 0 : p.signoutRedirect({
2388
+ }, As = async () => p == null ? void 0 : p.removeUser().then(() => p == null ? void 0 : p.signoutRedirect({
2389
2389
  post_logout_redirect_uri: V.logoutUrl || window.location.href
2390
- })), As = async () => await (p == null ? void 0 : p.getUser()) != null, Os = async () => {
2390
+ })), Os = async () => await (p == null ? void 0 : p.getUser()) != null, Ns = async () => {
2391
2391
  const e = await (p == null ? void 0 : p.getUser());
2392
2392
  return Promise.resolve(e == null ? void 0 : e.id_token);
2393
- }, Ns = async () => {
2393
+ }, qs = async () => {
2394
2394
  const e = await (p == null ? void 0 : p.getUser());
2395
2395
  return Promise.resolve(e == null ? void 0 : e.profile.preferred_username);
2396
2396
  };
2397
2397
  let G, Z;
2398
- const qs = async (e, t) => {
2398
+ const Ds = async (e, t) => {
2399
2399
  try {
2400
2400
  console.debug("[Auth] Setting Username and Password for BasicAuth"), G = e, Z = t;
2401
2401
  } catch (s) {
2402
2402
  console.error("[Auth] Error logging in using BasicAuth: ", s);
2403
2403
  }
2404
- }, Ds = async () => {
2404
+ }, Ls = async () => {
2405
2405
  console.debug("[Auth] Logout for BasicAuth"), G = void 0, Z = void 0, window.location.reload();
2406
- }, Ls = async () => G !== void 0 && Z !== void 0, js = async () => Promise.resolve(G), Hs = () => {
2406
+ }, js = async () => G !== void 0 && Z !== void 0, Hs = async () => Promise.resolve(G), $s = () => {
2407
2407
  if (G !== void 0 && Z != null)
2408
2408
  return {
2409
2409
  username: G,
2410
2410
  password: Z
2411
2411
  };
2412
2412
  }, ct = () => {
2413
- const e = ut(Jt);
2414
- return e.type === "oidc" ? (p === void 0 && (console.debug("[Auth] Creating OIDC UserManager with options: ", e.options), p = Rs(e.options)), {
2413
+ const e = ut(Kt);
2414
+ return e.type === "oidc" ? (p === void 0 && (console.debug("[Auth] Creating OIDC UserManager with options: ", e.options), p = Us(e.options)), {
2415
2415
  isOidcAuthEnabled: () => !0,
2416
2416
  isBasicAuthEnabled: () => !1,
2417
- isAuthenticated: As,
2418
- getToken: Os,
2417
+ isAuthenticated: Os,
2418
+ getToken: Ns,
2419
2419
  getUsernameAndPassword: () => {
2420
2420
  },
2421
- getUsername: Ns,
2422
- login: Us,
2423
- logout: xs
2421
+ getUsername: qs,
2422
+ login: xs,
2423
+ logout: As
2424
2424
  }) : e.type === "basic" ? {
2425
2425
  isOidcAuthEnabled: () => !1,
2426
2426
  isBasicAuthEnabled: () => !0,
2427
- isAuthenticated: Ls,
2427
+ isAuthenticated: js,
2428
2428
  getToken: () => Promise.resolve(void 0),
2429
- getUsernameAndPassword: Hs,
2430
- getUsername: js,
2431
- login: qs,
2432
- logout: Ds
2429
+ getUsernameAndPassword: $s,
2430
+ getUsername: Hs,
2431
+ login: Ds,
2432
+ logout: Ls
2433
2433
  } : {
2434
2434
  isOidcAuthEnabled: () => !1,
2435
2435
  isBasicAuthEnabled: () => !1,
@@ -2442,23 +2442,24 @@ const qs = async (e, t) => {
2442
2442
  logout: () => Promise.resolve()
2443
2443
  };
2444
2444
  }, Ie = (e) => {
2445
- const [t, s] = k(""), [i, r] = k(""), [n, o] = k(), c = e.format || "locale";
2446
- return Ce(() => {
2447
- let l;
2448
- if (e.date && typeof e.date == "string" ? l = se.fromISO(e.date) : e.date && typeof e.date == "object" && (l = se.fromJSDate(e.date)), l) {
2449
- const d = {
2445
+ const [t, s] = T(""), [i, r] = T(""), n = e.format || "locale";
2446
+ _t(() => {
2447
+ n === "fromNow" && o();
2448
+ }, 5e3);
2449
+ const o = () => {
2450
+ let c;
2451
+ if (e.date && typeof e.date == "string" ? c = se.fromISO(e.date) : e.date && typeof e.date == "object" && (c = se.fromJSDate(e.date)), c) {
2452
+ const l = {
2450
2453
  locale: e.locale
2451
2454
  };
2452
- c === "fromNow" ? (s(l.toRelative() || ""), o(setInterval(() => {
2453
- s(l.toRelative() || "");
2454
- }, 5e3))) : s(c === "locale" ? l.toLocaleString(se.DATETIME_FULL, d) : l.toFormat(c, d)), r(l.toLocaleString(se.DATETIME_FULL, d));
2455
+ s(n === "fromNow" ? c.toRelative() || "" : n === "locale" ? c.toLocaleString(se.DATETIME_FULL, l) : c.toFormat(n, l)), r(c.toLocaleString(se.DATETIME_FULL, l));
2455
2456
  }
2456
- return () => {
2457
- n !== void 0 && clearInterval(n);
2458
- };
2459
- }, [e.date]), c === "fromNow" ? /* @__PURE__ */ a(_t, { content: /* @__PURE__ */ a("span", { children: i }), children: /* @__PURE__ */ a("span", { children: t }) }) : /* @__PURE__ */ a("span", { children: t });
2460
- }, Xs = (e) => /* @__PURE__ */ a(Ie, { date: e.date, format: "fromNow" }), O = ({ condition: e, children: t }) => (typeof e == "boolean" ? e : e()) ? /* @__PURE__ */ a($.Fragment, { children: t }) : /* @__PURE__ */ a($.Fragment, {}), Ys = ({ collection: e, emptyState: t, emptyStateTitle: s, emptyStateMessage: i, children: r }) => {
2461
- const n = () => !e || e.length === 0, o = t || /* @__PURE__ */ v(ne, { variant: pt.xs, children: [
2457
+ };
2458
+ return Ce(() => {
2459
+ o();
2460
+ }, [e.date]), n === "fromNow" ? /* @__PURE__ */ a(pt, { content: /* @__PURE__ */ a("span", { children: i }), children: /* @__PURE__ */ a("span", { children: t }) }) : /* @__PURE__ */ a("span", { children: t });
2461
+ }, Ys = (e) => /* @__PURE__ */ a(Ie, { date: e.date, format: "fromNow" }), O = ({ condition: e, children: t }) => (typeof e == "boolean" ? e : e()) ? /* @__PURE__ */ a($.Fragment, { children: t }) : /* @__PURE__ */ a($.Fragment, {}), Zs = ({ collection: e, emptyState: t, emptyStateTitle: s, emptyStateMessage: i, children: r }) => {
2462
+ const n = () => !e || e.length === 0, o = t || /* @__PURE__ */ v(ne, { variant: ft.xs, children: [
2462
2463
  /* @__PURE__ */ a(oe, { titleText: s || "None found", headingLevel: "h4" }),
2463
2464
  /* @__PURE__ */ a(me, { children: i || "No items found." })
2464
2465
  ] });
@@ -2466,9 +2467,9 @@ const qs = async (e, t) => {
2466
2467
  }, ue = ({ isLoading: e, loadingComponent: t, children: s }) => {
2467
2468
  const i = () => typeof e == "boolean" ? e : e(), r = t || /* @__PURE__ */ a(ee, {});
2468
2469
  return i() ? /* @__PURE__ */ a($.Fragment, { children: r }) : /* @__PURE__ */ a($.Fragment, { children: s });
2469
- }, Zs = ({ toolbar: e, alwaysShowToolbar: t, emptyState: s, filteredEmptyState: i, isLoading: r, isError: n, loadingComponent: o, errorComponent: c, isEmpty: l, isFiltered: d, children: h }) => {
2470
+ }, ei = ({ toolbar: e, alwaysShowToolbar: t, emptyState: s, filteredEmptyState: i, isLoading: r, isError: n, loadingComponent: o, errorComponent: c, isEmpty: l, isFiltered: d, children: h }) => {
2470
2471
  const g = t || !l || d || n;
2471
- return c || (c = /* @__PURE__ */ a("div", { style: { padding: "15px", backgroundColor: "white" }, children: /* @__PURE__ */ a(ft, { isInline: !0, variant: "danger", title: "Error: Something went wrong!", children: /* @__PURE__ */ a("p", { children: "Something went wrong with the action you attempted, but we're not sure what it was. Try reloading the page and hopef for a better result, or contact your admin to report the error." }) }) })), /* @__PURE__ */ v($.Fragment, { children: [
2472
+ return c || (c = /* @__PURE__ */ a("div", { style: { padding: "15px", backgroundColor: "white" }, children: /* @__PURE__ */ a(mt, { isInline: !0, variant: "danger", title: "Error: Something went wrong!", children: /* @__PURE__ */ a("p", { children: "Something went wrong with the action you attempted, but we're not sure what it was. Try reloading the page and hopef for a better result, or contact your admin to report the error." }) }) })), /* @__PURE__ */ v($.Fragment, { children: [
2472
2473
  /* @__PURE__ */ a(O, { condition: g, children: e }),
2473
2474
  /* @__PURE__ */ v(ue, { isLoading: r, loadingComponent: o, children: [
2474
2475
  /* @__PURE__ */ a(O, { condition: !l && !n, children: h }),
@@ -2477,8 +2478,8 @@ const qs = async (e, t) => {
2477
2478
  /* @__PURE__ */ a(O, { condition: n, children: c })
2478
2479
  ] })
2479
2480
  ] });
2480
- }, ei = (e) => {
2481
- const [t, s] = k(!1), i = (l, d) => {
2481
+ }, ti = (e) => {
2482
+ const [t, s] = T(!1), i = (l, d) => {
2482
2483
  s(!1);
2483
2484
  const h = d;
2484
2485
  h !== void 0 && h >= 0 ? e.onSelect(e.items[h]) : e.onSelect(void 0);
@@ -2490,9 +2491,9 @@ const qs = async (e, t) => {
2490
2491
  }, o = e.popperProps || {
2491
2492
  appendTo: e.menuAppendTo
2492
2493
  };
2493
- let c = /* @__PURE__ */ a(Ot, { title: e.label });
2494
+ let c = /* @__PURE__ */ a(Nt, { title: e.label });
2494
2495
  return e.isKebab || (c = /* @__PURE__ */ a($.Fragment, { children: e.label })), /* @__PURE__ */ a(
2495
- mt,
2496
+ wt,
2496
2497
  {
2497
2498
  isOpen: t,
2498
2499
  onSelect: i,
@@ -2511,8 +2512,8 @@ const qs = async (e, t) => {
2511
2512
  ouiaId: "ObjectDropdown",
2512
2513
  popperProps: o,
2513
2514
  shouldFocusToggleOnSelect: !0,
2514
- children: /* @__PURE__ */ a(wt, { children: e.items.map((l, d) => e.itemIsVisible !== void 0 && !e.itemIsVisible(l) ? /* @__PURE__ */ a(Re, {}) : e.itemIsDivider && e.itemIsDivider(l) ? /* @__PURE__ */ a(Ke, { component: "li" }, `divider-${d}`) : /* @__PURE__ */ a(
2515
- vt,
2515
+ children: /* @__PURE__ */ a(vt, { children: e.items.map((l, d) => e.itemIsVisible !== void 0 && !e.itemIsVisible(l) ? /* @__PURE__ */ a(Re, {}) : e.itemIsDivider && e.itemIsDivider(l) ? /* @__PURE__ */ a(Ke, { component: "li" }, `divider-${d}`) : /* @__PURE__ */ a(
2516
+ St,
2516
2517
  {
2517
2518
  value: d,
2518
2519
  isDisabled: e.itemIsDisabled === void 0 ? !1 : e.itemIsDisabled(l),
@@ -2523,9 +2524,9 @@ const qs = async (e, t) => {
2523
2524
  )) })
2524
2525
  }
2525
2526
  );
2526
- }, $s = (e) => {
2527
+ }, Ms = (e) => {
2527
2528
  var l;
2528
- const [t, s] = k(!1), i = (d, h) => {
2529
+ const [t, s] = T(!1), i = (d, h) => {
2529
2530
  s(!1), e.onSelect(e.items[h]);
2530
2531
  }, r = () => {
2531
2532
  s(!t);
@@ -2546,7 +2547,7 @@ const qs = async (e, t) => {
2546
2547
  appendTo: e.appendTo === "document" ? () => document.body : "inline"
2547
2548
  };
2548
2549
  return /* @__PURE__ */ a(
2549
- St,
2550
+ yt,
2550
2551
  {
2551
2552
  toggle: o,
2552
2553
  id: e.toggleId,
@@ -2555,7 +2556,7 @@ const qs = async (e, t) => {
2555
2556
  isOpen: t,
2556
2557
  popperProps: c,
2557
2558
  children: (l = e.items) == null ? void 0 : l.map((d, h) => e.itemIsDivider && e.itemIsDivider(d) ? /* @__PURE__ */ a(Ke, {}, h) : /* @__PURE__ */ a(
2558
- yt,
2559
+ bt,
2559
2560
  {
2560
2561
  isSelected: d === e.value,
2561
2562
  component: (g) => /* @__PURE__ */ a("button", { ...g, "data-testid": n(d) }),
@@ -2566,25 +2567,25 @@ const qs = async (e, t) => {
2566
2567
  ))
2567
2568
  }
2568
2569
  );
2569
- }, ti = ({ expanded: e, onClick: t }) => e ? /* @__PURE__ */ a(Nt, { onClick: t, style: { cursor: "pointer" } }) : /* @__PURE__ */ a(qt, { onClick: t, style: { cursor: "pointer" } }), lt = {
2570
+ }, si = ({ expanded: e, onClick: t }) => e ? /* @__PURE__ */ a(qt, { onClick: t, style: { cursor: "pointer" } }) : /* @__PURE__ */ a(Dt, { onClick: t, style: { cursor: "pointer" } }), lt = {
2570
2571
  padding: "5px",
2571
2572
  minHeight: "128px",
2572
2573
  borderRight: 0,
2573
2574
  borderLeft: 0,
2574
2575
  borderBottom: "1px solid #666",
2575
2576
  backgroundColor: "rgb(240, 240, 240)"
2576
- }, Ms = {
2577
+ }, Fs = {
2577
2578
  ...lt,
2578
2579
  color: "red",
2579
2580
  overflow: "auto"
2580
- }, si = (e) => {
2581
- const [t, s] = k(""), [i, r] = k(""), [n, o] = k(!1), [c, l] = k(), d = (T, A) => {
2581
+ }, ii = (e) => {
2582
+ const [t, s] = T(""), [i, r] = T(""), [n, o] = T(!1), [c, l] = T(), d = (k, A) => {
2582
2583
  s(A);
2583
2584
  }, h = () => t != null && t.trim().length > 0, g = () => c != null && c.trim().length > 0, _ = () => {
2584
- o(!0), e.onUrlFetch(t).then((T) => {
2585
- l(void 0), r(T), o(!1), e.onChange(T, t);
2586
- }).catch((T) => {
2587
- l(T.message), o(!1);
2585
+ o(!0), e.onUrlFetch(t).then((k) => {
2586
+ l(void 0), r(k), o(!1), e.onChange(k, t);
2587
+ }).catch((k) => {
2588
+ l(k.message), o(!1);
2588
2589
  });
2589
2590
  }, S = () => {
2590
2591
  s(""), r(""), e.onChange(void 0, void 0);
@@ -2610,12 +2611,12 @@ const qs = async (e, t) => {
2610
2611
  /* @__PURE__ */ a("div", { className: "url-clear-button", children: /* @__PURE__ */ a(ce, { "data-testid": `${e.testId}-clear`, variant: "control", isDisabled: !h(), onClick: S, children: "Clear" }) })
2611
2612
  ] }),
2612
2613
  /* @__PURE__ */ a("div", { className: "url-upload-preview", children: /* @__PURE__ */ v(ue, { isLoading: n, loadingComponent: x, children: [
2613
- /* @__PURE__ */ a(O, { condition: g, children: /* @__PURE__ */ v("div", { className: "url-upload-error", style: Ms, children: [
2614
+ /* @__PURE__ */ a(O, { condition: g, children: /* @__PURE__ */ v("div", { className: "url-upload-error", style: Fs, children: [
2614
2615
  /* @__PURE__ */ a("div", { children: "Error getting content from URL." }),
2615
2616
  /* @__PURE__ */ a("div", { children: c })
2616
2617
  ] }) }),
2617
2618
  /* @__PURE__ */ a(O, { condition: !g(), children: /* @__PURE__ */ a(
2618
- bt,
2619
+ kt,
2619
2620
  {
2620
2621
  "data-testid": `${e.testId}-preview`,
2621
2622
  "aria-label": "url-content",
@@ -2626,12 +2627,12 @@ const qs = async (e, t) => {
2626
2627
  ) })
2627
2628
  ] }) })
2628
2629
  ] });
2629
- }, ii = (e) => {
2630
- const [t, s] = k(), [i, r] = k();
2630
+ }, ri = (e) => {
2631
+ const [t, s] = T(), [i, r] = T();
2631
2632
  return Ce(() => {
2632
2633
  e.isOpen && (typeof e.frontendInfo == "function" ? e.frontendInfo().then(s) : s(e.frontendInfo), typeof e.backendInfo == "function" ? e.backendInfo().then(r) : r(e.backendInfo));
2633
2634
  }, [e.isOpen]), /* @__PURE__ */ a(
2634
- kt,
2635
+ Tt,
2635
2636
  {
2636
2637
  className: "app-about-modal",
2637
2638
  isOpen: e.isOpen,
@@ -2640,7 +2641,7 @@ const qs = async (e, t) => {
2640
2641
  brandImageSrc: e.brandImageSrc,
2641
2642
  brandImageAlt: e.brandImageAlt,
2642
2643
  "aria-label": e.brandImageAlt,
2643
- children: /* @__PURE__ */ v(Tt, { className: "app-about-modal-content", style: { marginTop: "-25px" }, children: [
2644
+ children: /* @__PURE__ */ v(It, { className: "app-about-modal-content", style: { marginTop: "-25px" }, children: [
2644
2645
  /* @__PURE__ */ a(De, { component: Le.h2, children: "Web console info" }),
2645
2646
  /* @__PURE__ */ a(ue, { isLoading: t === void 0, children: /* @__PURE__ */ v(je, { component: "dl", children: [
2646
2647
  /* @__PURE__ */ a(b, { component: "dt", children: "Project" }),
@@ -2666,8 +2667,8 @@ const qs = async (e, t) => {
2666
2667
  ] })
2667
2668
  }
2668
2669
  );
2669
- }, Fs = (e) => {
2670
- const [t, s] = k({
2670
+ }, Ws = (e) => {
2671
+ const [t, s] = T({
2671
2672
  username: "",
2672
2673
  password: ""
2673
2674
  }), i = () => {
@@ -2741,7 +2742,7 @@ const qs = async (e, t) => {
2741
2742
  ] })
2742
2743
  }
2743
2744
  );
2744
- }, ri = (e) => /* @__PURE__ */ v(
2745
+ }, ni = (e) => /* @__PURE__ */ v(
2745
2746
  Ue,
2746
2747
  {
2747
2748
  title: "Please Wait",
@@ -2757,7 +2758,7 @@ const qs = async (e, t) => {
2757
2758
  /* @__PURE__ */ a("span", { className: "message", style: { fontSize: "15px", color: "#333", marginLeft: "10px" }, children: e.message })
2758
2759
  ]
2759
2760
  }
2760
- ), ni = (e) => /* @__PURE__ */ a(
2761
+ ), oi = (e) => /* @__PURE__ */ a(
2761
2762
  Ue,
2762
2763
  {
2763
2764
  title: e.title,
@@ -2767,10 +2768,10 @@ const qs = async (e, t) => {
2767
2768
  onClose: e.onClose,
2768
2769
  className: "progress pf-m-redhat-font",
2769
2770
  "aria-label": "progress-modal",
2770
- children: /* @__PURE__ */ a(It, { title: e.message, value: e.progress })
2771
+ children: /* @__PURE__ */ a(Et, { title: e.message, value: e.progress })
2771
2772
  }
2772
- ), oi = (e) => {
2773
- const [t, s] = k(
2773
+ ), ai = (e) => {
2774
+ const [t, s] = T(
2774
2775
  0
2775
2776
  /* AUTHENTICATING */
2776
2777
  ), i = ct(), r = (n) => {
@@ -2799,33 +2800,33 @@ const qs = async (e, t) => {
2799
2800
  /* @__PURE__ */ a(oe, { titleText: "Loading", headingLevel: "h4" }),
2800
2801
  /* @__PURE__ */ a(me, { children: /* @__PURE__ */ a(ee, { size: "xl", "aria-label": "Loading spinner" }) })
2801
2802
  ] }) }),
2802
- /* @__PURE__ */ a(O, { condition: t === 0 && i.isBasicAuthEnabled(), children: /* @__PURE__ */ a(Fs, { onLogin: r }) }),
2803
+ /* @__PURE__ */ a(O, { condition: t === 0 && i.isBasicAuthEnabled(), children: /* @__PURE__ */ a(Ws, { onLogin: r }) }),
2803
2804
  /* @__PURE__ */ a(O, { condition: t === 2, children: /* @__PURE__ */ v(ne, { children: [
2804
- /* @__PURE__ */ a(oe, { titleText: "Empty state", headingLevel: "h4", icon: /* @__PURE__ */ a(ze, { icon: Dt }) }),
2805
+ /* @__PURE__ */ a(oe, { titleText: "Empty state", headingLevel: "h4", icon: /* @__PURE__ */ a(ze, { icon: Lt }) }),
2805
2806
  /* @__PURE__ */ a(me, { children: "Authentication failed." })
2806
2807
  ] }) }),
2807
2808
  /* @__PURE__ */ a(O, { condition: t === 1, children: e.children })
2808
2809
  ] });
2809
- }, ai = (e) => {
2810
+ }, ci = (e) => {
2810
2811
  const t = ct();
2811
2812
  return (() => {
2812
2813
  let i = !0;
2813
2814
  return e.enabled !== void 0 && (i = i && (t.isOidcAuthEnabled() === e.enabled || t.isBasicAuthEnabled() === e.enabled)), i;
2814
2815
  })() ? /* @__PURE__ */ a($.Fragment, { children: e.children }) : /* @__PURE__ */ a($.Fragment, {});
2815
- }, ci = (e) => /* @__PURE__ */ a(Et, { categoryName: e.categoryName || "Filters", isClosable: !0, onClick: e.onClearAllCriteria, children: e.criteria.map((t, s) => /* @__PURE__ */ v(Ct, { onClick: () => e.onRemoveCriteria(t), children: [
2816
+ }, li = (e) => /* @__PURE__ */ a(Ct, { categoryName: e.categoryName || "Filters", isClosable: !0, onClick: e.onClearAllCriteria, children: e.criteria.map((t, s) => /* @__PURE__ */ v(Pt, { onClick: () => e.onRemoveCriteria(t), children: [
2816
2817
  /* @__PURE__ */ a("b", { children: t.filterBy.label }),
2817
2818
  /* @__PURE__ */ a("span", { children: ": " }),
2818
2819
  /* @__PURE__ */ a("span", { children: t.filterValue })
2819
- ] }, s)) }), li = (e) => {
2820
- const [t, s] = k(e.filterTypes[0]), [i, r] = k(""), n = (o) => {
2820
+ ] }, s)) }), di = (e) => {
2821
+ const [t, s] = T(e.filterTypes[0]), [i, r] = T(""), n = (o) => {
2821
2822
  o && o.preventDefault(), e.onAddCriteria({
2822
2823
  filterBy: t,
2823
2824
  filterValue: i
2824
2825
  }), r("");
2825
2826
  };
2826
- return /* @__PURE__ */ a(Be, { onSubmit: n, children: /* @__PURE__ */ v(Pt, { children: [
2827
+ return /* @__PURE__ */ a(Be, { onSubmit: n, children: /* @__PURE__ */ v(Rt, { children: [
2827
2828
  /* @__PURE__ */ a(
2828
- $s,
2829
+ Ms,
2829
2830
  {
2830
2831
  value: t,
2831
2832
  items: e.filterTypes,
@@ -2851,16 +2852,16 @@ const qs = async (e, t) => {
2851
2852
  /* @__PURE__ */ a(
2852
2853
  ce,
2853
2854
  {
2854
- variant: Rt.control,
2855
+ variant: Ut.control,
2855
2856
  onClick: n,
2856
2857
  "data-testid": "chip-filter-search",
2857
2858
  "aria-label": "search button for search input",
2858
- children: /* @__PURE__ */ a(Lt, {})
2859
+ children: /* @__PURE__ */ a(jt, {})
2859
2860
  }
2860
2861
  )
2861
2862
  ] }) });
2862
2863
  };
2863
- function di() {
2864
+ function hi() {
2864
2865
  return /* @__PURE__ */ a(ne, { children: /* @__PURE__ */ a(
2865
2866
  oe,
2866
2867
  {
@@ -2870,16 +2871,16 @@ function di() {
2870
2871
  }
2871
2872
  ) });
2872
2873
  }
2873
- function hi({
2874
+ function gi({
2874
2875
  itemCount: e,
2875
2876
  page: t,
2876
2877
  perPage: s,
2877
2878
  isCompact: i = !1,
2878
2879
  onChange: r,
2879
- variant: n = xt.top
2880
+ variant: n = At.top
2880
2881
  }) {
2881
2882
  return /* @__PURE__ */ a(
2882
- Ut,
2883
+ xt,
2883
2884
  {
2884
2885
  itemCount: e,
2885
2886
  page: t,
@@ -2891,11 +2892,11 @@ function hi({
2891
2892
  }
2892
2893
  );
2893
2894
  }
2894
- function Ws({ columns: e, rows: t, getTd: s = () => xe }) {
2895
+ function Js({ columns: e, rows: t, getTd: s = () => xe }) {
2895
2896
  const i = new Array(e).fill(0).map((n, o) => {
2896
2897
  const c = s(o);
2897
2898
  return /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a(
2898
- At,
2899
+ Ot,
2899
2900
  {
2900
2901
  screenreaderText: o === 0 ? "Loading data" : void 0
2901
2902
  }
@@ -2903,7 +2904,7 @@ function Ws({ columns: e, rows: t, getTd: s = () => xe }) {
2903
2904
  }), r = new Array(t).fill(0).map((n, o) => /* @__PURE__ */ a(le, { children: i }, `row_${o}`));
2904
2905
  return /* @__PURE__ */ a(Re, { children: r });
2905
2906
  }
2906
- const gi = ({
2907
+ const ui = ({
2907
2908
  ariaLabel: e,
2908
2909
  minimumColumnWidth: t = 250,
2909
2910
  columns: s,
@@ -2919,16 +2920,16 @@ const gi = ({
2919
2920
  setActionCellOuiaId: _,
2920
2921
  setRowOuiaId: S,
2921
2922
  tableOuiaId: x,
2922
- children: T,
2923
+ children: k,
2923
2924
  variant: A
2924
2925
  }) => {
2925
- const [I, N] = k(1e3);
2926
+ const [I, N] = T(1e3);
2926
2927
  let P;
2927
2928
  const M = ({ width: f }) => {
2928
2929
  P && cancelAnimationFrame(P), f && (P = requestAnimationFrame(() => {
2929
2930
  N(f);
2930
2931
  }));
2931
- }, { ref: R } = Wt({ onResize: M }), m = I >= 576, E = Ne(
2932
+ }, { ref: R } = Jt({ onResize: M }), m = I >= 576, E = Ne(
2932
2933
  (f) => m && f !== 0 && f !== s.length - 1,
2933
2934
  [s, m]
2934
2935
  ), U = qe(() => s.map((f, w) => {
@@ -2984,7 +2985,7 @@ const gi = ({
2984
2985
  [s, y]
2985
2986
  );
2986
2987
  return /* @__PURE__ */ v(
2987
- Ht,
2988
+ $t,
2988
2989
  {
2989
2990
  "aria-label": e,
2990
2991
  gridBreakPoint: "",
@@ -2993,10 +2994,10 @@ const gi = ({
2993
2994
  ouiaId: x,
2994
2995
  variant: A,
2995
2996
  children: [
2996
- /* @__PURE__ */ a($t, { children: /* @__PURE__ */ a(le, { children: U }) }),
2997
- /* @__PURE__ */ v(Mt, { children: [
2997
+ /* @__PURE__ */ a(Mt, { children: /* @__PURE__ */ a(le, { children: U }) }),
2998
+ /* @__PURE__ */ v(Ft, { children: [
2998
2999
  i === void 0 && /* @__PURE__ */ a(
2999
- Ws,
3000
+ Js,
3000
3001
  {
3001
3002
  columns: s.length,
3002
3003
  rows: h,
@@ -3020,7 +3021,7 @@ const gi = ({
3020
3021
  canHide: !1,
3021
3022
  isActionCell: !0,
3022
3023
  "data-testid": _ ? _({ row: f, rowIndex: w }) : `actions-for-row-${w}`,
3023
- children: o({ rowIndex: w, row: f, ActionsColumn: Ft })
3024
+ children: o({ rowIndex: w, row: f, ActionsColumn: Wt })
3024
3025
  }
3025
3026
  );
3026
3027
  return /* @__PURE__ */ v(
@@ -3038,7 +3039,7 @@ const gi = ({
3038
3039
  `row_${w}`
3039
3040
  );
3040
3041
  }),
3041
- (i == null ? void 0 : i.length) === 0 && /* @__PURE__ */ a(le, { children: /* @__PURE__ */ a(xe, { colSpan: s.length, children: T }) })
3042
+ (i == null ? void 0 : i.length) === 0 && /* @__PURE__ */ a(le, { children: /* @__PURE__ */ a(xe, { colSpan: s.length, children: k }) })
3042
3043
  ] })
3043
3044
  ]
3044
3045
  }
@@ -3055,7 +3056,7 @@ const gi = ({
3055
3056
  ...l
3056
3057
  } = e, d = n && s < i * (r + 1) ? "pf-m-hidden" : "pf-m-visible";
3057
3058
  return /* @__PURE__ */ a(
3058
- jt,
3059
+ Ht,
3059
3060
  {
3060
3061
  ref: t,
3061
3062
  className: `${d} ${o}`,
@@ -3107,31 +3108,31 @@ const ht = Pe(
3107
3108
  );
3108
3109
  ht.displayName = "DeletableRow";
3109
3110
  export {
3110
- ii as AppAboutModal,
3111
- oi as ApplicationAuth,
3112
- Jt as AuthConfigContext,
3113
- Fs as BasicAuthModal,
3114
- li as ChipFilterInput,
3111
+ ri as AppAboutModal,
3112
+ ai as ApplicationAuth,
3113
+ Kt as AuthConfigContext,
3114
+ Ws as BasicAuthModal,
3115
+ di as ChipFilterInput,
3115
3116
  Ie as DateTime,
3116
3117
  ht as DeletableRow,
3117
- ci as FilterChips,
3118
- Xs as FromNow,
3118
+ li as FilterChips,
3119
+ Ys as FromNow,
3119
3120
  O as If,
3120
- ai as IfAuth,
3121
- Ys as IfNotEmpty,
3121
+ ci as IfAuth,
3122
+ Zs as IfNotEmpty,
3122
3123
  ue as IfNotLoading,
3123
- Zs as ListWithToolbar,
3124
- di as Loading,
3125
- ei as ObjectDropdown,
3126
- $s as ObjectSelect,
3127
- hi as Pagination,
3128
- ri as PleaseWaitModal,
3129
- ni as ProgressModal,
3130
- gi as ResponsiveTable,
3124
+ ei as ListWithToolbar,
3125
+ hi as Loading,
3126
+ ti as ObjectDropdown,
3127
+ Ms as ObjectSelect,
3128
+ gi as Pagination,
3129
+ ni as PleaseWaitModal,
3130
+ oi as ProgressModal,
3131
+ ui as ResponsiveTable,
3131
3132
  Ee as ResponsiveTd,
3132
3133
  dt as ResponsiveTh,
3133
- Ws as TableSkeleton,
3134
- ti as ToggleIcon,
3135
- si as UrlUpload,
3134
+ Js as TableSkeleton,
3135
+ si as ToggleIcon,
3136
+ ii as UrlUpload,
3136
3137
  ct as useAuth
3137
3138
  };
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  export type FrontendInfo = {
4
3
  name: string;
5
4
  url: string;
@@ -1,6 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { UsernameAndPassword } from '../auth';
3
-
4
3
  /**
5
4
  * Properties
6
5
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
-
3
2
  /**
4
3
  * Properties
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { PaginationProps as PFPaginationProps } from '@patternfly/react-core';
2
-
3
2
  export type PaginationProps = {
4
3
  itemCount: number;
5
4
  page: number;
@@ -1,6 +1,5 @@
1
1
  import { ActionsColumnProps, TableVariant, TdProps, ThProps, ActionsColumn, Td, Th } from '@patternfly/react-table';
2
2
  import { PropsWithChildren, ReactElement } from 'react';
3
-
4
3
  export type RenderHeaderCb<TCol> = (props: {
5
4
  Th: typeof Th;
6
5
  key: string;
@@ -1,5 +1,4 @@
1
1
  import { Td } from '@patternfly/react-table';
2
-
3
2
  type Props = {
4
3
  columns: number;
5
4
  rows: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@apicurio/common-ui-components",
3
3
  "private": false,
4
- "version": "2.0.6",
4
+ "version": "2.0.7",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
7
7
  "types": "dist/main.d.ts",
@@ -36,18 +36,18 @@
36
36
  "@types/node": "20.17.6",
37
37
  "@types/react": "18.3.12",
38
38
  "@types/react-dom": "18.3.1",
39
- "@typescript-eslint/eslint-plugin": "8.13.0",
40
- "@typescript-eslint/parser": "8.13.0",
39
+ "@typescript-eslint/eslint-plugin": "8.14.0",
40
+ "@typescript-eslint/parser": "8.14.0",
41
41
  "@vitejs/plugin-react": "4.3.3",
42
42
  "eslint": "8.57.1",
43
- "eslint-plugin-react-hooks": "4.6.2",
43
+ "eslint-plugin-react-hooks": "5.0.0",
44
44
  "eslint-plugin-react-refresh": "0.4.14",
45
45
  "luxon": "3.5.0",
46
46
  "oidc-client-ts": "3.1.0",
47
- "rimraf": "5.0.10",
47
+ "rimraf": "6.0.1",
48
48
  "typescript": "5.6.3",
49
- "vite": "5.4.10",
50
- "vite-plugin-dts": "3.9.1",
49
+ "vite": "5.4.11",
50
+ "vite-plugin-dts": "4.3.0",
51
51
  "react": "18.3.1",
52
52
  "react-dom": "18.3.1",
53
53
  "react-router-dom": "6.28.0",