@keycloak/keycloak-ui-shared 26.1.2 → 26.1.4

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,15 +1,15 @@
1
1
  import { jsx as t, jsxs as v, Fragment as K } from "react/jsx-runtime";
2
- import { AlertGroup as en, Alert as tn, AlertVariant as Pe, AlertActionCloseButton as nn, Page as rn, Modal as Ct, ModalVariant as an, Button as N, TextContent as ln, Text as Me, Spinner as vt, FormHelperText as Ke, HelperText as He, HelperTextItem as We, Popover as sn, Icon as Le, FormGroup as kt, NumberInput as on, ValidatedOptions as G, InputGroup as ke, InputGroupItem as Ne, TextInput as Ie, Select as we, MenuToggle as ce, MenuToggleStatus as je, SelectList as xe, SelectOption as Ge, TextInputGroup as It, TextInputGroupMain as wt, ChipGroup as ze, Chip as Je, TextInputGroupUtilities as xt, Switch as cn, TextArea as St, Title as dn, Card as un, CardHeader as hn, CardTitle as pn, CardBody as fn, Grid as mn, GridItem as it, PageSection as gn, JumpLinks as yn, JumpLinksItem as bn, ButtonVariant as Ce, Checkbox as Cn, Radio as vn, MenuFooter as kn, Dropdown as In, DropdownList as wn, DropdownItem as st, Masthead as xn, MastheadToggle as Sn, PageToggleButton as Tn, MastheadBrand as An, MastheadContent as En, Toolbar as be, ToolbarContent as Be, ToolbarItem as U, Avatar as Rn, Bullseye as On, EmptyState as Dn, EmptyStateIcon as ot, EmptyStateHeader as Fn, EmptyStateBody as Pn, EmptyStateFooter as Mn, EmptyStateActions as Ln, SearchInput as Nn, Divider as Bn, Pagination as Vn, Badge as _n } from "@patternfly/react-core";
3
- import { createContext as Tt, useContext as At, useRef as z, useEffect as re, useCallback as oe, useState as S, useMemo as V, forwardRef as qn, useId as Et, Fragment as Rt, Children as Ot, Component as $n, isValidElement as Un } from "react";
2
+ import { AlertGroup as en, Alert as tn, AlertVariant as Pe, AlertActionCloseButton as nn, Page as rn, Modal as Ct, ModalVariant as an, Button as B, TextContent as ln, Text as Me, Spinner as vt, FormHelperText as Ke, HelperText as He, HelperTextItem as We, Popover as sn, Icon as Le, FormGroup as kt, NumberInput as on, ValidatedOptions as G, InputGroup as ke, InputGroupItem as Ne, TextInput as Ie, Select as we, MenuToggle as ce, MenuToggleStatus as je, SelectList as xe, SelectOption as Ge, TextInputGroup as It, TextInputGroupMain as wt, ChipGroup as ze, Chip as Je, TextInputGroupUtilities as xt, Switch as cn, TextArea as St, Title as dn, Card as un, CardHeader as hn, CardTitle as pn, CardBody as fn, Grid as mn, GridItem as it, PageSection as gn, JumpLinks as yn, JumpLinksItem as bn, ButtonVariant as Ce, Checkbox as Cn, Radio as vn, MenuFooter as kn, Dropdown as In, DropdownList as wn, DropdownItem as st, Masthead as xn, MastheadToggle as Sn, PageToggleButton as Tn, MastheadBrand as An, MastheadContent as En, Toolbar as be, ToolbarContent as Be, ToolbarItem as U, Avatar as Rn, Bullseye as On, EmptyState as Dn, EmptyStateIcon as ot, EmptyStateHeader as Fn, EmptyStateBody as Pn, EmptyStateFooter as Mn, EmptyStateActions as Ln, SearchInput as Nn, Divider as Bn, Pagination as Vn, Badge as _n } from "@patternfly/react-core";
3
+ import { createContext as Tt, useContext as At, useRef as z, useEffect as ne, useCallback as oe, useState as T, useMemo as V, forwardRef as qn, useId as Et, Fragment as Rt, Children as Ot, Component as $n, isValidElement as Un } from "react";
4
4
  import { useTranslation as _ } from "react-i18next";
5
5
  import { NetworkError as Dt } from "@keycloak/keycloak-admin-client";
6
6
  import Kn from "keycloak-js";
7
7
  import { ExclamationCircleIcon as Hn, HelpIcon as ct, EyeIcon as Wn, EyeSlashIcon as jn, TimesIcon as Ft, CubeIcon as Gn, PaypalIcon as zn, InstagramIcon as Jn, BitbucketIcon as Yn, MicrosoftIcon as Qn, TwitterIcon as Xn, StackOverflowIcon as Zn, OpenshiftIcon as er, LinkedinIcon as tr, GoogleIcon as nr, GitlabIcon as rr, FacebookSquareIcon as ar, GithubIcon as lr, MinusCircleIcon as ir, PlusCircleIcon as Pt, EllipsisVIcon as sr, BarsIcon as or, SearchIcon as cr, SyncAltIcon as dr } from "@patternfly/react-icons";
8
- import { useFormContext as Se, Controller as ae, useController as Ye, FormProvider as ur, useWatch as hr } from "react-hook-form";
9
- import { get as L, intersectionBy as pr, cloneDeep as fr } from "lodash-es";
8
+ import { useFormContext as Se, Controller as re, useController as Ye, FormProvider as ur, useWatch as hr } from "react-hook-form";
9
+ import { get as N, intersectionBy as pr, cloneDeep as fr } from "lodash-es";
10
10
  import me from "@patternfly/react-styles/css/components/Avatar/avatar";
11
11
  import { css as mr } from "@patternfly/react-styles";
12
- import { Table as gr, TableVariant as yr, Thead as br, Tr as ge, Th as De, Tbody as dt, Td as ne, ExpandableRowContent as Cr, ActionsColumn as vr, TableText as kr } from "@patternfly/react-table";
12
+ import { Table as gr, TableVariant as yr, Thead as br, Tr as ge, Th as De, Tbody as dt, Td as te, ExpandableRowContent as Cr, ActionsColumn as vr, TableText as kr } from "@patternfly/react-table";
13
13
  import './main.css';function Qe(e, n) {
14
14
  const r = Tt(n);
15
15
  return r.displayName = e, r;
@@ -56,7 +56,7 @@ function Xe(e) {
56
56
  }
57
57
  function Er() {
58
58
  const e = z(!1), n = z(/* @__PURE__ */ new Set());
59
- re(() => (e.current = !1, () => {
59
+ ne(() => (e.current = !1, () => {
60
60
  e.current = !0, r();
61
61
  }), []);
62
62
  function r() {
@@ -109,7 +109,7 @@ const Or = 8e3, Lt = Qe(
109
109
  "AlertContext",
110
110
  void 0
111
111
  ), Ba = () => Xe(Lt), Dr = ({ children: e }) => {
112
- const { t: n } = _(), r = Er(), [a, l] = S([]), i = (c) => l((h) => h.filter((u) => u.id !== c)), s = oe(
112
+ const { t: n } = _(), r = Er(), [a, l] = T([]), i = (c) => l((h) => h.filter((u) => u.id !== c)), s = oe(
113
113
  (c, h = Pe.success, u) => {
114
114
  const m = {
115
115
  id: Tr(),
@@ -146,7 +146,7 @@ const Or = 8e3, Lt = Qe(
146
146
  showClose: !1,
147
147
  isOpen: !0,
148
148
  actions: [
149
- /* @__PURE__ */ t(N, { variant: "primary", onClick: l, children: n("tryAgain") }, "tryAgain")
149
+ /* @__PURE__ */ t(B, { variant: "primary", onClick: l, children: n("tryAgain") }, "tryAgain")
150
150
  ],
151
151
  children: /* @__PURE__ */ t(ln, { children: a ? /* @__PURE__ */ t(Me, { children: n(a) }) : /* @__PURE__ */ t(Me, { children: n("somethingWentWrongDescription") }) })
152
152
  }
@@ -156,12 +156,12 @@ function Pr(e) {
156
156
  return typeof e == "string" ? e : e instanceof Error ? e.message : null;
157
157
  }
158
158
  function Mr(e, n, r) {
159
- const [a, l] = S(
159
+ const [a, l] = T(
160
160
  () => e.getItem(n) ?? r
161
161
  ), i = oe((s) => {
162
162
  l(s), e.setItem(n, s);
163
163
  }, []);
164
- return re(() => {
164
+ return ne(() => {
165
165
  l(e.getItem(n) ?? r), window.addEventListener("storage", s);
166
166
  function s(o) {
167
167
  o.storageArea === e && (o.key === null || o.key === n) && l(o.newValue ?? r);
@@ -206,7 +206,7 @@ const Va = () => {
206
206
  children: n
207
207
  }) => {
208
208
  Ve = Br();
209
- const r = z(!1), [a, l] = S(!1), [i, s] = S(), o = V(() => {
209
+ const r = z(!1), [a, l] = T(!1), [i, s] = T(), o = V(() => {
210
210
  const c = new Kn({
211
211
  url: e.serverBaseUrl,
212
212
  realm: e.realm,
@@ -214,7 +214,7 @@ const Va = () => {
214
214
  });
215
215
  return c.onAuthLogout = () => c.login(), c;
216
216
  }, [e]);
217
- re(() => {
217
+ ne(() => {
218
218
  if (r.current)
219
219
  return;
220
220
  o.init({
@@ -251,11 +251,11 @@ const $a = ({
251
251
  buttonVariant: i,
252
252
  buttonTestRole: s,
253
253
  onContinue: o,
254
- component: d = N,
254
+ component: d = B,
255
255
  children: c,
256
256
  ...h
257
257
  }) => {
258
- const [u, m] = S(!1);
258
+ const [u, m] = T(!1);
259
259
  return /* @__PURE__ */ v(K, { children: [
260
260
  /* @__PURE__ */ t(
261
261
  d,
@@ -277,7 +277,7 @@ const $a = ({
277
277
  onClose: () => m(!1),
278
278
  actions: [
279
279
  /* @__PURE__ */ t(
280
- N,
280
+ B,
281
281
  {
282
282
  id: "modal-confirm",
283
283
  variant: "primary",
@@ -289,7 +289,7 @@ const $a = ({
289
289
  "confirm"
290
290
  ),
291
291
  /* @__PURE__ */ t(
292
- N,
292
+ B,
293
293
  {
294
294
  id: "modal-cancel",
295
295
  variant: "secondary",
@@ -367,7 +367,7 @@ const ee = ({
367
367
  error: s[e],
368
368
  labelIcon: a,
369
369
  children: /* @__PURE__ */ t(
370
- ae,
370
+ re,
371
371
  {
372
372
  ...r,
373
373
  name: e,
@@ -404,7 +404,7 @@ const ee = ({
404
404
  innerRef: n,
405
405
  ...r
406
406
  }) => {
407
- const { t: a } = _(), [l, i] = S(!0);
407
+ const { t: a } = _(), [l, i] = T(!0);
408
408
  return /* @__PURE__ */ v(ke, { children: [
409
409
  /* @__PURE__ */ t(Ne, { isFill: !0, children: /* @__PURE__ */ t(
410
410
  Ie,
@@ -415,7 +415,7 @@ const ee = ({
415
415
  }
416
416
  ) }),
417
417
  e && /* @__PURE__ */ t(
418
- N,
418
+ B,
419
419
  {
420
420
  variant: "control",
421
421
  "aria-label": a("showPassword"),
@@ -470,17 +470,17 @@ const Ka = (e) => {
470
470
  const {
471
471
  control: o,
472
472
  formState: { errors: d }
473
- } = Se(), [c, h] = S(!1), u = de(l.rules?.required) === !0;
473
+ } = Se(), [c, h] = T(!1), u = de(l.rules?.required) === !0;
474
474
  return /* @__PURE__ */ t(
475
475
  ee,
476
476
  {
477
477
  name: n,
478
478
  label: r,
479
479
  isRequired: u,
480
- error: L(d, n),
480
+ error: N(d, n),
481
481
  labelIcon: i,
482
482
  children: /* @__PURE__ */ t(
483
- ae,
483
+ re,
484
484
  {
485
485
  ...l,
486
486
  name: n,
@@ -502,7 +502,7 @@ const Ka = (e) => {
502
502
  onClick: () => h(!c),
503
503
  isExpanded: c,
504
504
  isFullWidth: !0,
505
- status: L(d, n) ? je.danger : void 0,
505
+ status: N(d, n) ? je.danger : void 0,
506
506
  "aria-label": "toggle",
507
507
  children: se(a) ? a.find(
508
508
  (A) => A.key === (Array.isArray(p) ? p[0] : p)
@@ -536,42 +536,42 @@ const Ka = (e) => {
536
536
  const {
537
537
  control: h,
538
538
  formState: { errors: u }
539
- } = Se(), [m, p] = S(!1), [g, A] = S(""), [y, b] = S(0), E = z(), R = de(l.rules?.required) === !0, k = a.filter(
539
+ } = Se(), [m, p] = T(!1), [g, A] = T(""), [y, b] = T(0), E = z(), R = de(l.rules?.required) === !0, k = d === ie.typeaheadMulti, C = a.filter(
540
540
  (f) => ye(f).toLowerCase().startsWith(g.toLowerCase())
541
- ), C = V(
542
- () => k.map((f, w) => /* @__PURE__ */ t(
541
+ ), x = V(
542
+ () => C.map((f, S) => /* @__PURE__ */ t(
543
543
  Ge,
544
544
  {
545
545
  value: X(f),
546
- isFocused: y === w,
546
+ isFocused: y === S,
547
547
  children: ye(f)
548
548
  },
549
549
  X(f)
550
550
  )),
551
- [y, k]
552
- ), x = (f, w) => {
553
- const T = k[y];
551
+ [y, C]
552
+ ), M = (f, S) => {
553
+ const O = C[y];
554
554
  switch (p(!0), f.key) {
555
555
  case "Enter": {
556
- f.preventDefault(), d !== te.typeaheadMulti ? A(ye(T)) : A(""), w.onChange(
557
- Array.isArray(w.value) ? [...w.value, X(T)] : X(T)
556
+ f.preventDefault(), A(k ? "" : ye(O)), S.onChange(
557
+ Array.isArray(S.value) ? [...S.value, X(O)] : X(O)
558
558
  ), p(!1), b(0);
559
559
  break;
560
560
  }
561
561
  case "Tab":
562
562
  case "Escape": {
563
- p(!1), w.onChange(void 0);
563
+ p(!1), S.onChange(void 0);
564
564
  break;
565
565
  }
566
566
  case "Backspace": {
567
- d === te.typeahead && w.onChange("");
567
+ d === ie.typeahead && S.onChange("");
568
568
  break;
569
569
  }
570
570
  case "ArrowUp":
571
571
  case "ArrowDown": {
572
572
  f.preventDefault();
573
- let O = 0;
574
- f.key === "ArrowUp" && (y === 0 ? O = a.length - 1 : O = y - 1), f.key === "ArrowDown" && (y === a.length - 1 ? O = 0 : O = y + 1), b(O);
573
+ let w = 0;
574
+ f.key === "ArrowUp" && (y === 0 ? w = a.length - 1 : w = y - 1), f.key === "ArrowDown" && (y === a.length - 1 ? w = 0 : w = y + 1), b(w);
575
575
  break;
576
576
  }
577
577
  }
@@ -582,10 +582,10 @@ const Ka = (e) => {
582
582
  name: n,
583
583
  label: r,
584
584
  isRequired: R,
585
- error: L(u, n),
585
+ error: N(u, n),
586
586
  labelIcon: i,
587
587
  children: /* @__PURE__ */ t(
588
- ae,
588
+ re,
589
589
  {
590
590
  ...l,
591
591
  name: n,
@@ -596,13 +596,13 @@ const Ka = (e) => {
596
596
  ...c,
597
597
  onOpenChange: () => p(!1),
598
598
  selected: se(a) ? a.filter(
599
- (w) => Array.isArray(f.value) ? f.value.includes(w.key) : f.value === w.key
600
- ).map((w) => w.value) : f.value,
599
+ (S) => Array.isArray(f.value) ? f.value.includes(S.key) : f.value === S.key
600
+ ).map((S) => S.value) : f.value,
601
601
  shouldFocusFirstItemOnOpen: !1,
602
- toggle: (w) => /* @__PURE__ */ t(
602
+ toggle: (S) => /* @__PURE__ */ t(
603
603
  ce,
604
604
  {
605
- ref: w,
605
+ ref: S,
606
606
  id: e || n.slice(n.lastIndexOf(".") + 1),
607
607
  variant: "typeahead",
608
608
  onClick: () => {
@@ -610,49 +610,49 @@ const Ka = (e) => {
610
610
  },
611
611
  isExpanded: m,
612
612
  isFullWidth: !0,
613
- status: L(u, n) ? je.danger : void 0,
613
+ status: N(u, n) ? je.danger : void 0,
614
614
  children: /* @__PURE__ */ v(It, { isPlain: !0, children: [
615
615
  /* @__PURE__ */ t(
616
616
  wt,
617
617
  {
618
618
  placeholder: s,
619
- value: d === te.typeahead && f.value ? se(a) ? a.find(
620
- (T) => T.key === (Array.isArray(f.value) ? f.value[0] : f.value)
619
+ value: d === ie.typeahead && f.value ? se(a) ? a.find(
620
+ (O) => O.key === (Array.isArray(f.value) ? f.value[0] : f.value)
621
621
  )?.value : f.value : g,
622
622
  onClick: () => p(!m),
623
- onChange: (T, O) => {
624
- A(O), o?.(O);
623
+ onChange: (O, w) => {
624
+ A(w), o?.(w);
625
625
  },
626
- onKeyDown: (T) => x(T, f),
626
+ onKeyDown: (O) => M(O, f),
627
627
  autoComplete: "off",
628
628
  innerRef: E,
629
629
  role: "combobox",
630
630
  isExpanded: m,
631
631
  "aria-controls": "select-typeahead-listbox",
632
- children: d === te.typeaheadMulti && Array.isArray(f.value) && /* @__PURE__ */ t(ze, { "aria-label": "Current selections", children: f.value.map(
633
- (T, O) => /* @__PURE__ */ t(
632
+ children: d === ie.typeaheadMulti && Array.isArray(f.value) && /* @__PURE__ */ t(ze, { "aria-label": "Current selections", children: f.value.map(
633
+ (O, w) => /* @__PURE__ */ t(
634
634
  Je,
635
635
  {
636
636
  onClick: (D) => {
637
637
  D.stopPropagation(), f.onChange(
638
638
  f.value.filter(
639
- (M) => M !== X(T)
639
+ (L) => L !== X(O)
640
640
  )
641
641
  );
642
642
  },
643
- children: se(a) ? a.find((D) => T === D.key)?.value : ye(T)
643
+ children: se(a) ? a.find((D) => O === D.key)?.value : ye(O)
644
644
  },
645
- O
645
+ w
646
646
  )
647
647
  ) })
648
648
  }
649
649
  ),
650
650
  /* @__PURE__ */ t(xt, { children: (!!g || f.value) && /* @__PURE__ */ t(
651
- N,
651
+ B,
652
652
  {
653
653
  variant: "plain",
654
654
  onClick: () => {
655
- A(""), f.onChange(""), E?.current?.focus();
655
+ A(""), f.onChange(k ? [] : ""), E?.current?.focus();
656
656
  },
657
657
  "aria-label": "Clear input value",
658
658
  children: /* @__PURE__ */ t(Ft, { "aria-hidden": !0 })
@@ -661,15 +661,15 @@ const Ka = (e) => {
661
661
  ] })
662
662
  }
663
663
  ),
664
- onSelect: (w, T) => {
665
- w?.stopPropagation();
666
- const O = T?.toString();
667
- d === te.typeaheadMulti && Array.isArray(f.value) ? f.value.includes(O) ? f.onChange(
668
- f.value.filter((D) => D !== O)
669
- ) : f.onChange([...f.value, O]) : (f.onChange(Array.isArray(f.value) ? [O] : O), p(!1));
664
+ onSelect: (S, O) => {
665
+ S?.stopPropagation();
666
+ const w = O?.toString();
667
+ k && Array.isArray(f.value) ? f.value.includes(w) ? f.onChange(
668
+ f.value.filter((D) => D !== w)
669
+ ) : f.onChange([...f.value, w]) : (f.onChange(Array.isArray(f.value) ? [w] : w), p(!1));
670
670
  },
671
671
  isOpen: m,
672
- children: /* @__PURE__ */ t(xe, { children: C })
672
+ children: /* @__PURE__ */ t(xe, { children: x })
673
673
  }
674
674
  )
675
675
  }
@@ -677,7 +677,7 @@ const Ka = (e) => {
677
677
  }
678
678
  );
679
679
  };
680
- var te = /* @__PURE__ */ ((e) => (e.single = "single", e.typeahead = "typeahead", e.typeaheadMulti = "typeaheadMulti", e))(te || {});
680
+ var ie = /* @__PURE__ */ ((e) => (e.single = "single", e.typeahead = "typeahead", e.typeaheadMulti = "typeaheadMulti", e))(ie || {});
681
681
  const se = (e) => typeof e[0] != "string", Ze = (e) => typeof e == "string", X = (e) => Ze(e) ? e : e.key, $r = ({
682
682
  variant: e = "single",
683
683
  ...n
@@ -698,7 +698,7 @@ const se = (e) => typeof e[0] != "string", Ze = (e) => typeof e == "string", X =
698
698
  label: l.label,
699
699
  labelIcon: a,
700
700
  children: /* @__PURE__ */ t(
701
- ae,
701
+ re,
702
702
  {
703
703
  control: o,
704
704
  name: l.name,
@@ -907,7 +907,7 @@ const Hr = "_title_180i0_2", Wr = {
907
907
  children: l,
908
908
  ...i
909
909
  }) => /* @__PURE__ */ t(
910
- N,
910
+ B,
911
911
  {
912
912
  variant: "primary",
913
913
  isDisabled: e && !Xr(e, a, r) || n,
@@ -996,7 +996,7 @@ const ue = ({
996
996
  r.annotations?.inputHelperTextBefore
997
997
  ), {
998
998
  formState: { errors: s }
999
- } = n, o = a?.(r), d = L(s, J(r.name));
999
+ } = n, o = a?.(r), d = N(s, J(r.name));
1000
1000
  return /* @__PURE__ */ v(
1001
1001
  kt,
1002
1002
  {
@@ -1065,7 +1065,7 @@ const ue = ({
1065
1065
  shouldDirty: !0
1066
1066
  });
1067
1067
  }, E = r.startsWith("html") ? r.substring(6) : "text";
1068
- return re(() => {
1068
+ return ne(() => {
1069
1069
  c(n);
1070
1070
  }, [c]), /* @__PURE__ */ t("div", { id: o, children: p.map((R, k) => /* @__PURE__ */ v(Rt, { children: [
1071
1071
  /* @__PURE__ */ v(ke, { children: [
@@ -1082,7 +1082,7 @@ const ue = ({
1082
1082
  }
1083
1083
  ) }),
1084
1084
  /* @__PURE__ */ t(Ne, { children: /* @__PURE__ */ t(
1085
- N,
1085
+ B,
1086
1086
  {
1087
1087
  "data-testid": "remove" + k,
1088
1088
  variant: Ce.link,
@@ -1095,7 +1095,7 @@ const ue = ({
1095
1095
  ) })
1096
1096
  ] }),
1097
1097
  k === p.length - 1 && /* @__PURE__ */ v(
1098
- N,
1098
+ B,
1099
1099
  {
1100
1100
  variant: Ce.link,
1101
1101
  onClick: A,
@@ -1114,7 +1114,7 @@ const ue = ({
1114
1114
  }, ft = (e) => {
1115
1115
  const { form: n, inputType: r, attribute: a } = e, l = Te(a), i = r.startsWith("multiselect"), s = i ? Cn : vn, o = a.validators?.options?.options || [], d = a.annotations?.inputOptionLabels || {}, c = a.annotations?.inputOptionLabelsI18nPrefix;
1116
1116
  return /* @__PURE__ */ t(ue, { ...e, children: /* @__PURE__ */ t(
1117
- ae,
1117
+ re,
1118
1118
  {
1119
1119
  name: J(a.name),
1120
1120
  control: n.control,
@@ -1155,7 +1155,7 @@ const ue = ({
1155
1155
  children: m,
1156
1156
  ...p
1157
1157
  }) => {
1158
- const [g, A] = S(!1), y = z(), b = () => {
1158
+ const [g, A] = T(!1), y = z(), b = () => {
1159
1159
  A(!g), n(!g);
1160
1160
  }, E = () => i === "parent" && y.current?.parentElement || "inline", R = Ot.toArray(
1161
1161
  m
@@ -1220,15 +1220,15 @@ const ue = ({
1220
1220
  children: b,
1221
1221
  ...E
1222
1222
  }) => {
1223
- const [R, k] = S(""), [C, x] = S(0), f = z(), w = Ot.toArray(
1223
+ const [R, k] = T(""), [C, x] = T(0), M = z(), f = Ot.toArray(
1224
1224
  b
1225
- ), T = () => {
1225
+ ), S = () => {
1226
1226
  r?.(!E.isOpen);
1227
- }, O = (D) => {
1228
- const M = w[C];
1229
- switch (r?.(!0), D.key) {
1227
+ }, O = (w) => {
1228
+ const D = f[C];
1229
+ switch (r?.(!0), w.key) {
1230
1230
  case "Enter": {
1231
- D.preventDefault(), l !== j.typeaheadMulti ? k(M.props.value) : k(""), n?.(M.props.value), r?.(!1), x(0);
1231
+ w.preventDefault(), l !== j.typeaheadMulti ? k(D.props.value) : k(""), n?.(D.props.value), r?.(!1), x(0);
1232
1232
  break;
1233
1233
  }
1234
1234
  case "Escape": {
@@ -1241,9 +1241,9 @@ const ue = ({
1241
1241
  }
1242
1242
  case "ArrowUp":
1243
1243
  case "ArrowDown": {
1244
- D.preventDefault();
1245
- let B = 0;
1246
- D.key === "ArrowUp" && (C === 0 ? B = w.length - 1 : B = C - 1), D.key === "ArrowDown" && (C === w.length - 1 ? B = 0 : B = C + 1), x(B);
1244
+ w.preventDefault();
1245
+ let L = 0;
1246
+ w.key === "ArrowUp" && (C === 0 ? L = f.length - 1 : L = C - 1), w.key === "ArrowDown" && (C === f.length - 1 ? L = 0 : L = C + 1), x(L);
1247
1247
  break;
1248
1248
  }
1249
1249
  }
@@ -1252,15 +1252,15 @@ const ue = ({
1252
1252
  we,
1253
1253
  {
1254
1254
  ...E,
1255
- onClick: T,
1256
- onOpenChange: (D) => r?.(D),
1257
- onSelect: (D, M) => n?.(M || ""),
1255
+ onClick: S,
1256
+ onOpenChange: (w) => r?.(w),
1257
+ onSelect: (w, D) => n?.(D || ""),
1258
1258
  maxMenuHeight: ve(o),
1259
1259
  popperProps: { direction: h, width: ve(d) },
1260
- toggle: (D) => /* @__PURE__ */ t(
1260
+ toggle: (w) => /* @__PURE__ */ t(
1261
1261
  ce,
1262
1262
  {
1263
- ref: D,
1263
+ ref: w,
1264
1264
  id: e,
1265
1265
  variant: "typeahead",
1266
1266
  onClick: () => r?.(!0),
@@ -1275,35 +1275,35 @@ const ue = ({
1275
1275
  {
1276
1276
  placeholder: s,
1277
1277
  value: l === j.typeahead && u ? u : R,
1278
- onClick: T,
1279
- onChange: (M, B) => {
1280
- k(B), a?.(B);
1278
+ onClick: S,
1279
+ onChange: (D, L) => {
1280
+ k(L), a?.(L);
1281
1281
  },
1282
- onKeyDown: (M) => O(M),
1282
+ onKeyDown: (D) => O(D),
1283
1283
  autoComplete: "off",
1284
- innerRef: f,
1284
+ innerRef: M,
1285
1285
  role: "combobox",
1286
1286
  isExpanded: E.isOpen,
1287
1287
  "aria-controls": "select-typeahead-listbox",
1288
1288
  "aria-label": m,
1289
- children: l === j.typeaheadMulti && Array.isArray(u) && (p || /* @__PURE__ */ t(ze, { ...g, children: u.map((M, B) => /* @__PURE__ */ t(
1289
+ children: l === j.typeaheadMulti && Array.isArray(u) && (p || /* @__PURE__ */ t(ze, { ...g, children: u.map((D, L) => /* @__PURE__ */ t(
1290
1290
  Je,
1291
1291
  {
1292
1292
  onClick: (Ae) => {
1293
- Ae.stopPropagation(), n?.(M);
1293
+ Ae.stopPropagation(), n?.(D);
1294
1294
  },
1295
- children: M
1295
+ children: D
1296
1296
  },
1297
- B
1297
+ L
1298
1298
  )) }))
1299
1299
  }
1300
1300
  ),
1301
1301
  /* @__PURE__ */ t(xt, { children: !!R && /* @__PURE__ */ t(
1302
- N,
1302
+ B,
1303
1303
  {
1304
1304
  variant: "plain",
1305
1305
  onClick: () => {
1306
- n?.(""), k(""), a?.(""), f?.current?.focus();
1306
+ n?.(""), k(""), a?.(""), M?.current?.focus();
1307
1307
  },
1308
1308
  "aria-label": "Clear input value",
1309
1309
  children: /* @__PURE__ */ t(Ft, { "aria-hidden": !0 })
@@ -1324,7 +1324,7 @@ const ve = (e) => typeof e == "number" ? e + "px" : e, ia = ({
1324
1324
  variant: e = "single",
1325
1325
  ...n
1326
1326
  }) => e === "single" ? /* @__PURE__ */ t(aa, { ...n }) : /* @__PURE__ */ t(la, { ...n, variant: e }), mt = (e) => {
1327
- const { t: n, form: r, inputType: a, attribute: l } = e, [i, s] = S(!1), [o, d] = S(""), c = a === "multiselect", h = (y, b) => {
1327
+ const { t: n, form: r, inputType: a, attribute: l } = e, [i, s] = T(!1), [o, d] = T(""), c = a === "multiselect", h = (y, b) => {
1328
1328
  c ? b.value.includes(y) ? b.onChange(b.value.filter((E) => E !== y)) : Array.isArray(b.value) ? b.onChange([...b.value, y]) : b.onChange([y]) : b.onChange(y === b.value ? "" : y);
1329
1329
  }, u = l.validators?.options?.options || [], m = l.annotations?.inputOptionLabels || {}, p = l.annotations?.inputOptionLabelsI18nPrefix, g = (y) => Z(e.t, m[y], y, p), A = (y) => u.filter(
1330
1330
  (b) => g(b).toLowerCase().includes(o.toLowerCase())
@@ -1338,7 +1338,7 @@ const ve = (e) => typeof e == "number" ? e + "px" : e, ia = ({
1338
1338
  b
1339
1339
  ));
1340
1340
  return /* @__PURE__ */ t(ue, { ...e, children: /* @__PURE__ */ t(
1341
- ae,
1341
+ re,
1342
1342
  {
1343
1343
  name: J(l.name),
1344
1344
  defaultValue: "",
@@ -1389,7 +1389,7 @@ const ve = (e) => typeof e == "number" ? e + "px" : e, ia = ({
1389
1389
  placeholder: a.readOnly ? "" : Z(
1390
1390
  e.t,
1391
1391
  a.annotations?.inputTypePlaceholder,
1392
- a.name,
1392
+ "",
1393
1393
  a.annotations?.inputOptionLabelsI18nPrefix
1394
1394
  ),
1395
1395
  readOnly: a.readOnly,
@@ -1629,7 +1629,7 @@ const ua = (e) => typeof e == "string" && e in Ue, ha = (e) => Array.isArray(e)
1629
1629
  dropDownItems: r,
1630
1630
  ...a
1631
1631
  }) => {
1632
- const [l, i] = S(!1);
1632
+ const [l, i] = T(!1);
1633
1633
  return /* @__PURE__ */ t(
1634
1634
  In,
1635
1635
  {
@@ -1764,7 +1764,7 @@ const nl = ({ children: e, fallback: n }) => {
1764
1764
  };
1765
1765
  function ma(e, n, r) {
1766
1766
  const { showBoundary: a } = Ht();
1767
- re(() => {
1767
+ ne(() => {
1768
1768
  const l = new AbortController(), { signal: i } = l;
1769
1769
  return e().then((s) => {
1770
1770
  i.aborted || n(s);
@@ -1792,7 +1792,7 @@ const ga = () => {
1792
1792
  /* @__PURE__ */ t(Pn, { children: n }),
1793
1793
  /* @__PURE__ */ v(Mn, { children: [
1794
1794
  i && /* @__PURE__ */ t(
1795
- N,
1795
+ B,
1796
1796
  {
1797
1797
  "data-testid": `${e.replace(/\W+/g, "-").toLowerCase()}-empty-action`,
1798
1798
  variant: "primary",
@@ -1802,7 +1802,7 @@ const ga = () => {
1802
1802
  }
1803
1803
  ),
1804
1804
  s && /* @__PURE__ */ t(Ln, { children: s.map((c) => /* @__PURE__ */ t(
1805
- N,
1805
+ B,
1806
1806
  {
1807
1807
  "data-testid": `${c.text.replace(/\W+/g, "-").toLowerCase()}-empty-action`,
1808
1808
  variant: c.type || Ce.secondary,
@@ -1823,7 +1823,7 @@ const ga = () => {
1823
1823
  inputGroupPlaceholder: s,
1824
1824
  inputGroupOnEnter: o
1825
1825
  }) => {
1826
- const { t: d } = _(), [c, h] = S(""), u = (p) => {
1826
+ const { t: d } = _(), [c, h] = T(""), u = (p) => {
1827
1827
  h(p.trim()), o?.(p.trim());
1828
1828
  }, m = (p) => {
1829
1829
  p.key === "Enter" && u(c);
@@ -1922,8 +1922,8 @@ const ga = () => {
1922
1922
  actions: r,
1923
1923
  actionResolver: a
1924
1924
  }) => /* @__PURE__ */ v(K, { children: [
1925
- e.cells.map((l, i) => /* @__PURE__ */ t(ne, { children: Wt(l) ? l.title : l }, `cell-${i}`)),
1926
- (r || a) && /* @__PURE__ */ t(ne, { isActionCell: !0, children: /* @__PURE__ */ t(
1925
+ e.cells.map((l, i) => /* @__PURE__ */ t(te, { children: Wt(l) ? l.title : l }, `cell-${i}`)),
1926
+ (r || a) && /* @__PURE__ */ t(te, { isActionCell: !0, children: /* @__PURE__ */ t(
1927
1927
  vr,
1928
1928
  {
1929
1929
  items: r || a?.(e, {}),
@@ -1946,7 +1946,7 @@ function ka({
1946
1946
  isRadio: u,
1947
1947
  ...m
1948
1948
  }) {
1949
- const { t: p } = _(), [g, A] = S(i || []), [y, b] = S([]), E = V(
1949
+ const { t: p } = _(), [g, A] = T(i || []), [y, b] = T([]), E = V(
1950
1950
  () => pr(
1951
1951
  g,
1952
1952
  n.map((C) => C.data),
@@ -1954,7 +1954,7 @@ function ka({
1954
1954
  ),
1955
1955
  [g, n]
1956
1956
  );
1957
- re(() => {
1957
+ ne(() => {
1958
1958
  if (d) {
1959
1959
  const C = document.getElementsByName("check-all").item(0);
1960
1960
  if (C) {
@@ -1967,15 +1967,15 @@ function ka({
1967
1967
  A(C), s?.(C);
1968
1968
  }, k = (C, x) => {
1969
1969
  if (C === -1) {
1970
- const f = E.map((w) => L(w, "id"));
1970
+ const M = E.map((f) => N(f, "id"));
1971
1971
  R(
1972
- x ? [...g, ...n.map((w) => w.data)] : g.filter(
1973
- (w) => !f.includes(L(w, "id"))
1972
+ x ? [...g, ...n.map((f) => f.data)] : g.filter(
1973
+ (f) => !M.includes(N(f, "id"))
1974
1974
  )
1975
1975
  );
1976
1976
  } else
1977
1977
  R(x ? [...g, n[C].data] : g.filter(
1978
- (f) => L(f, "id") !== n[C].data.id
1978
+ (M) => N(M, "id") !== n[C].data.id
1979
1979
  ));
1980
1980
  };
1981
1981
  return /* @__PURE__ */ v(
@@ -2011,16 +2011,16 @@ function ka({
2011
2011
  ] }) }),
2012
2012
  o ? n.map((C, x) => /* @__PURE__ */ t(dt, { children: x % 2 === 0 ? /* @__PURE__ */ v(ge, { children: [
2013
2013
  /* @__PURE__ */ t(
2014
- ne,
2014
+ te,
2015
2015
  {
2016
2016
  expand: {
2017
2017
  isExpanded: !!y[x],
2018
2018
  rowIndex: x,
2019
2019
  expandId: `${x}`,
2020
- onToggle: (f, w, T) => {
2021
- o(T, w);
2020
+ onToggle: (M, f, S) => {
2021
+ o(S, f);
2022
2022
  const O = [...y];
2023
- O[x] = T, b(O);
2023
+ O[x] = S, b(O);
2024
2024
  }
2025
2025
  }
2026
2026
  }
@@ -2035,19 +2035,19 @@ function ka({
2035
2035
  }
2036
2036
  )
2037
2037
  ] }) : /* @__PURE__ */ v(ge, { isExpanded: !!y[x - 1], children: [
2038
- /* @__PURE__ */ t(ne, {}),
2039
- /* @__PURE__ */ t(ne, { colSpan: e.length, children: /* @__PURE__ */ t(Cr, { children: /* @__PURE__ */ t(va, { row: C }) }) })
2038
+ /* @__PURE__ */ t(te, {}),
2039
+ /* @__PURE__ */ t(te, { colSpan: e.length, children: /* @__PURE__ */ t(Cr, { children: /* @__PURE__ */ t(va, { row: C }) }) })
2040
2040
  ] }) }, x)) : /* @__PURE__ */ t(dt, { children: n.map((C, x) => /* @__PURE__ */ v(ge, { isExpanded: y[x], children: [
2041
2041
  c && /* @__PURE__ */ t(
2042
- ne,
2042
+ te,
2043
2043
  {
2044
2044
  select: {
2045
2045
  rowIndex: x,
2046
- onSelect: (f, w, T) => {
2047
- k(T, w);
2046
+ onSelect: (M, f, S) => {
2047
+ k(S, f);
2048
2048
  },
2049
2049
  isSelected: !!g.find(
2050
- (f) => L(f, "id") === C.data.id
2050
+ (M) => N(M, "id") === C.data.id
2051
2051
  ),
2052
2052
  variant: u ? "radio" : "checkbox"
2053
2053
  }
@@ -2089,29 +2089,29 @@ function Ia({
2089
2089
  isSearching: E = !1,
2090
2090
  ...R
2091
2091
  }) {
2092
- const { t: k } = _(), [C, x] = S([]), [f, w] = S(), [T, O] = S(), [D, M] = S(!1), [B, Ae] = Nt(
2092
+ const { t: k } = _(), [C, x] = T([]), [M, f] = T(), [S, O] = T(), [w, D] = T(!1), [L, Ae] = Nt(
2093
2093
  localStorage,
2094
2094
  "pageSize",
2095
2095
  10
2096
- ), [H, jt] = S(B), [$, le] = S(0), [W, Ee] = S(""), et = z(), [he, Gt] = S(0), tt = z(), nt = () => Gt(he + 1), zt = Et(), rt = (I, F) => I.map((P) => {
2096
+ ), [H, jt] = T(L), [$, ae] = T(0), [W, Ee] = T(""), et = z(), [he, Gt] = T(0), tt = z(), nt = () => Gt(he + 1), zt = Et(), rt = (I, F) => I.map((P) => {
2097
2097
  if ("cellFormatters" in P) {
2098
- const Q = L(F, P.name);
2099
- return P.cellFormatters?.reduce((ie, fe) => fe(ie), Q);
2098
+ const Q = N(F, P.name);
2099
+ return P.cellFormatters?.reduce((le, fe) => fe(le), Q);
2100
2100
  }
2101
2101
  if (P.cellRenderer) {
2102
2102
  const Q = P.cellRenderer;
2103
2103
  return { title: /* @__PURE__ */ t(Q, { ...F }) };
2104
2104
  }
2105
- return L(F, P.name);
2105
+ return N(F, P.name);
2106
2106
  }), at = (I) => {
2107
2107
  const F = (P) => o?.[0]?.enabled?.(P);
2108
2108
  return I.map((P, Q) => {
2109
- const ie = d ? d(P) : !1, fe = [
2109
+ const le = d ? d(P) : !1, fe = [
2110
2110
  {
2111
2111
  data: P,
2112
- disableSelection: ie,
2113
- disableActions: ie,
2114
- selected: !!C.find((Zt) => L(Zt, "id") === L(P, "id")),
2112
+ disableSelection: le,
2113
+ disableActions: le,
2114
+ selected: !!C.find((Zt) => N(Zt, "id") === N(P, "id")),
2115
2115
  isOpen: F(P) ? !1 : void 0,
2116
2116
  cells: rt(h, P)
2117
2117
  }
@@ -2124,7 +2124,7 @@ function Ia({
2124
2124
  }, Re = (I) => ["string", "number"].includes(typeof I) ? I.toString() : I instanceof Array ? I.map(Re).join("") : typeof I == "object" ? Re(
2125
2125
  Un(I.title) ? I.title.props : Object.values(I)
2126
2126
  ) : "", lt = V(
2127
- () => W === "" || r ? void 0 : at(T || []).filter(
2127
+ () => W === "" || r ? void 0 : at(S || []).filter(
2128
2128
  (I) => I.cells.some(
2129
2129
  (F) => F && Re(F).toLowerCase().includes(W.toLowerCase())
2130
2130
  )
@@ -2133,14 +2133,14 @@ function Ia({
2133
2133
  );
2134
2134
  ma(
2135
2135
  async () => {
2136
- M(!0);
2136
+ D(!0);
2137
2137
  const I = et.current === "" && W !== "";
2138
- return I && le(0), et.current = W, typeof c == "function" ? he === tt.current && T ? T : await c(I ? 0 : $, H + 1, W) : c;
2138
+ return I && ae(0), et.current = W, typeof c == "function" ? he === tt.current && S ? S : await c(I ? 0 : $, H + 1, W) : c;
2139
2139
  },
2140
2140
  (I) => {
2141
- tt.current = he, r || (O(I), I.length > $ ? I = I.slice($, $ + H + 1) : le(0));
2141
+ tt.current = he, r || (O(I), I.length > $ ? I = I.slice($, $ + H + 1) : ae(0));
2142
2142
  const F = at(I);
2143
- w(F), M(!1);
2143
+ f(F), D(!1);
2144
2144
  },
2145
2145
  [
2146
2146
  he,
@@ -2152,23 +2152,23 @@ function Ia({
2152
2152
  );
2153
2153
  const Jt = () => u && fr(u).map((I, F) => (delete I.onRowClick, I.onClick = async (P, Q) => {
2154
2154
  await u[F].onRowClick(
2155
- (lt || f)[Q].data
2155
+ (lt || M)[Q].data
2156
2156
  ) && (r || Ee(""), nt());
2157
2157
  }, I)), Yt = (I, F) => {
2158
- Y[F].isOpen = I, w([...Y]);
2159
- }, Y = lt || f, pe = !Y || Y.length === 0, Oe = W !== "" || E, Qt = o ? H * 2 : H, Xt = o ? (Y?.length || 0) / 2 : Y?.length || 0;
2158
+ Y[F].isOpen = I, f([...Y]);
2159
+ }, Y = lt || M, pe = !Y || Y.length === 0, Oe = W !== "" || E, Qt = o ? H * 2 : H, Xt = o ? (Y?.length || 0) / 2 : Y?.length || 0;
2160
2160
  return /* @__PURE__ */ v(K, { children: [
2161
- (D || !pe || Oe) && /* @__PURE__ */ v(
2161
+ (w || !pe || Oe) && /* @__PURE__ */ v(
2162
2162
  Ca,
2163
2163
  {
2164
2164
  id: zt,
2165
2165
  count: Xt,
2166
2166
  first: $,
2167
2167
  max: H,
2168
- onNextClick: le,
2169
- onPreviousClick: le,
2168
+ onNextClick: ae,
2169
+ onPreviousClick: ae,
2170
2170
  onPerPageSelect: (I, F) => {
2171
- le(I), jt(F), Ae(F);
2171
+ ae(I), jt(F), Ae(F);
2172
2172
  },
2173
2173
  inputGroupName: n ? `${e}input` : void 0,
2174
2174
  inputGroupOnEnter: Ee,
@@ -2179,7 +2179,7 @@ function Ia({
2179
2179
  " ",
2180
2180
  /* @__PURE__ */ t(U, { variant: "separator" }),
2181
2181
  " ",
2182
- /* @__PURE__ */ t(U, { children: /* @__PURE__ */ v(N, { variant: "link", onClick: nt, children: [
2182
+ /* @__PURE__ */ t(U, { children: /* @__PURE__ */ v(B, { variant: "link", onClick: nt, children: [
2183
2183
  /* @__PURE__ */ t(dr, {}),
2184
2184
  " ",
2185
2185
  k("refresh")
@@ -2187,7 +2187,7 @@ function Ia({
2187
2187
  ] }),
2188
2188
  subToolbar: A,
2189
2189
  children: [
2190
- !D && !pe && /* @__PURE__ */ t(
2190
+ !w && !pe && /* @__PURE__ */ t(
2191
2191
  ka,
2192
2192
  {
2193
2193
  ...R,
@@ -2207,7 +2207,7 @@ function Ia({
2207
2207
  ariaLabelKey: e
2208
2208
  }
2209
2209
  ),
2210
- !D && pe && Oe && /* @__PURE__ */ t(
2210
+ !w && pe && Oe && /* @__PURE__ */ t(
2211
2211
  ya,
2212
2212
  {
2213
2213
  hasIcon: !0,
@@ -2224,11 +2224,11 @@ function Ia({
2224
2224
  ]
2225
2225
  }
2226
2226
  ),
2227
- D && /* @__PURE__ */ t(ga, {})
2227
+ w && /* @__PURE__ */ t(ga, {})
2228
2228
  ]
2229
2229
  }
2230
2230
  ),
2231
- !D && pe && !Oe && y
2231
+ !w && pe && !Oe && y
2232
2232
  ] });
2233
2233
  }
2234
2234
  const wa = ({ link: e, organization: n }) => {
@@ -2337,7 +2337,7 @@ export {
2337
2337
  qt as PasswordInput,
2338
2338
  Qr as ScrollForm,
2339
2339
  $r as SelectControl,
2340
- te as SelectVariant,
2340
+ ie as SelectVariant,
2341
2341
  Ha as SwitchControl,
2342
2342
  ba as TableToolbar,
2343
2343
  Wa as TextAreaControl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keycloak/keycloak-ui-shared",
3
- "version": "26.1.2",
3
+ "version": "26.1.4",
4
4
  "type": "module",
5
5
  "main": "./dist/keycloak-ui-shared.js",
6
6
  "types": "./dist/keycloak-ui-shared.d.ts",
@@ -49,8 +49,8 @@
49
49
  "react-dom": "^18.3.1",
50
50
  "react-hook-form": "7.54.2",
51
51
  "react-i18next": "^15.4.0",
52
- "@keycloak/keycloak-admin-client": "26.1.2",
53
- "keycloak-js": "26.1.2"
52
+ "@keycloak/keycloak-admin-client": "26.1.4",
53
+ "keycloak-js": "26.1.4"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/lodash-es": "^4.17.12",