@hortiview/shared-components 2.26.1 → 2.26.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,19 +1,16 @@
1
- ## [2.26.1](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.26.0...v2.26.1) (2026-05-22)
2
-
3
- ### Bug Fixes
4
-
5
- * add permission provider to broken stories ([6677f7f](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/6677f7fb9cfc4b5e256ea16fce429b95348f55d0))
6
- * add workaround for element bug on textKey = 'value' and multiSelect = true ([4926a72](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/4926a726b75b422f6f7bd8cacf71b86565d32b14))
7
- * fix search functionality on multi select component ([5a01163](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/5a011636eeef5c5296d2959a1307425256fed706))
1
+ ## [2.26.3](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.26.2...v2.26.3) (2026-05-26)
8
2
 
9
3
  ### Code Refactoring
10
4
 
11
- * improve title and label of FormSelect story ([29d6f78](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/29d6f780eefce628d459af1d7773b79a0af553dd))
5
+ * rename data-testid attributes in TopBarBanner ([7288027](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/728802796388639b5bd2c8bf3c36b0a914c04626))
6
+ * rename ErrorBanner to TopBarBanner + add icon property ([a1ea6cb](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/a1ea6cb98ce6f84172835eeb79c8829bd354d2f5))
7
+ * simplify border properties in standaloneBorder class ([b8fab48](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/b8fab48e5f02412c4769d13d68f5bab136e844d6))
12
8
 
13
- ### Styles
9
+ ## [2.26.2](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.26.1...v2.26.2) (2026-05-26)
14
10
 
15
- * improve positioning of search cursor in multi select ([d71bff9](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/d71bff9f3abda3a3a3466bb16850b67f3aa11bfc))
16
- * improve stories by adding width ([de089f8](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/de089f84d720f6bd47b1b22900259f007d6b1a1e))
11
+ ### Code Refactoring
12
+
13
+ * adjust BlockView size props, minor styling achanges ([c2dca99](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/c2dca9979c41025c00a14330094aea081cc44c23)), closes [#20844](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/issues/20844)
17
14
 
18
15
  ## [2.26.1](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.26.0...v2.26.1) (2026-05-22)
19
16
 
@@ -1 +1 @@
1
- ._grid_gfk3g_1{display:flex;padding-bottom:0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;align-self:stretch}._blockLayout_gfk3g_11{padding:.5rem;gap:.5rem;display:flex;flex-direction:column;border-radius:.5rem;background:var(--lmnt-theme-secondary-100);width:15rem;height:15rem}._blockRow_gfk3g_22{display:flex;flex-direction:row;gap:.5rem;height:100%;align-self:stretch}._block_gfk3g_11{flex:auto;border-radius:.25rem;background:var(--lmnt-theme-secondary);align-items:center;display:flex;justify-content:center;position:relative}._block_gfk3g_11._active_gfk3g_41{background:var(--lmnt-theme-primary);margin:-2px}._block_gfk3g_11._error_gfk3g_46{border:2px solid var(--lmnt-theme-danger);background:var(--lmnt-theme-danger-50);margin:-2px}._block_gfk3g_11._empty_gfk3g_52{background:var(--lmnt-theme-secondary-200);cursor:default}._activeBlock_gfk3g_57{background:var(--lmnt-theme-primary)}._block_gfk3g_11._clickable_gfk3g_61{cursor:pointer}._blockText_gfk3g_65{display:flex;justify-content:center;position:absolute;width:1vw;height:1vh;align-items:center;color:var(--lmnt-theme-on-primary)}._emptyLayout_gfk3g_75{display:flex;justify-content:center;align-items:center;background:var(--lmnt-theme-surface-variant);border-radius:.5rem}
1
+ ._grid_otqrz_1{display:flex;padding-bottom:0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;align-self:stretch;height:100%}._blockLayout_otqrz_13{padding:.5rem;gap:.5rem;display:flex;flex-direction:column;border-radius:.5rem;background:var(--lmnt-theme-secondary-100)}._absoluteSize_otqrz_22{height:15rem;width:15rem}._relativeSize_otqrz_27{height:70%;width:50%;max-height:50vh;max-width:50vw;min-height:10rem;min-width:10rem}._relativeSize_otqrz_27._mobile_otqrz_38{height:70%;width:60%;max-height:50vh;max-width:75vw}._blockRow_otqrz_46{display:flex;flex-direction:row;gap:.5rem;height:100%;align-self:stretch}._block_otqrz_13{flex:auto;justify-content:center;border-radius:.25rem;background:var(--lmnt-theme-secondary);align-items:center;display:flex;position:relative;-webkit-tap-highlight-color:transparent;transition:background .2s ease-in-out,box-shadow .2s ease-in-out,transform .2s ease-in-out}._block_otqrz_13._clickable_otqrz_70{cursor:pointer}._block_otqrz_13._empty_otqrz_74{background:var(--lmnt-theme-secondary-200);cursor:default}._block_otqrz_13._active_otqrz_79{background:var(--lmnt-theme-primary)}._block_otqrz_13._error_otqrz_83{box-shadow:inset 0 0 0 3px var(--lmnt-theme-danger)}._block_otqrz_13._hoverEffects_otqrz_87._active_otqrz_79:hover{background:var(--lmnt-theme-primary-600)}._block_otqrz_13._hoverEffects_otqrz_87._clickable_otqrz_70:hover:not(._active_otqrz_79){background:var(--lmnt-theme-secondary-500)}._block_otqrz_13._hoverEffects_otqrz_87._clickable_otqrz_70:hover{transform:scale(1.02)}._blockText_otqrz_99{display:flex;justify-content:center;position:absolute;width:1vw;height:1vh;align-items:center;color:var(--lmnt-theme-on-primary)}._emptyLayout_otqrz_109{display:flex;justify-content:center;align-items:center;background:var(--lmnt-theme-surface-variant);border-radius:.5rem}
@@ -0,0 +1 @@
1
+ ._bannerPadding_1ijh0_1{width:100%;box-sizing:border-box;background-color:var(--lmnt-theme-secondary-50)}._bottomBorder_1ijh0_7{border-top:1px solid var(--lmnt-theme-secondary-100);border-bottom:1px solid var(--lmnt-theme-secondary-100)}._standaloneBorder_1ijh0_12{border:1px solid var(--lmnt-theme-secondary-100);border-radius:.5rem}
@@ -47,9 +47,15 @@ type BlockViewProps<T extends Block & {
47
47
  */
48
48
  clickable?: boolean;
49
49
  /**
50
- * the size of the block in rem (default is 15x15)
50
+ * Set the size for the block view
51
+ * @remarks
52
+ * - 'absolute' - For containers without fixed dimensions (size depending on content) </br>Uses: { height: '15rem', width: '15rem' }
53
+ * - 'relative' - For containers with fixed size constraints (like modals with fixed dimensions) </br>Uses: { height: '70%', width: '50%' }
54
+ * - IMPORTANT: For 'relative' the parent container of the BlockView needs to have a fixed height and width. Otherwise you'll run into css issues
55
+ *
56
+ * @default 'absolute'
51
57
  */
52
- size?: number;
58
+ size?: 'absolute' | 'relative';
53
59
  /**
54
60
  * the title of the block view, shown when `hideText` is false
55
61
  */
@@ -1,95 +1,98 @@
1
- import { jsxs as f, jsx as o, Fragment as v } from "react/jsx-runtime";
2
- import { c as D, b as S, a as F } from "../../index.es-EXzC8zuP.js";
3
- import { c as M } from "../../index-_-9ybP20.js";
4
- import { useState as V, useEffect as q, useMemo as G } from "react";
1
+ import { jsxs as z, jsx as o, Fragment as q } from "react/jsx-runtime";
2
+ import { c as A, b as F, a as M } from "../../index.es-EXzC8zuP.js";
3
+ import { c as h } from "../../index-_-9ybP20.js";
4
+ import { useState as V, useEffect as $, useMemo as G } from "react";
5
5
  import { getBlockNumberByDto as H } from "../../services/BlockService.js";
6
- import '../../assets/BlockView.css';const I = "_grid_gfk3g_1", J = "_blockLayout_gfk3g_11", K = "_blockRow_gfk3g_22", O = "_block_gfk3g_11", P = "_active_gfk3g_41", Q = "_error_gfk3g_46", U = "_empty_gfk3g_52", W = "_activeBlock_gfk3g_57", X = "_clickable_gfk3g_61", Y = "_blockText_gfk3g_65", Z = "_emptyLayout_gfk3g_75", t = {
7
- grid: I,
8
- blockLayout: J,
9
- blockRow: K,
10
- block: O,
11
- active: P,
12
- error: Q,
13
- empty: U,
14
- activeBlock: W,
6
+ import { useBreakpoints as I } from "../../hooks/useBreakpoints.js";
7
+ import '../../assets/BlockView.css';const J = "_grid_otqrz_1", K = "_blockLayout_otqrz_13", O = "_absoluteSize_otqrz_22", P = "_relativeSize_otqrz_27", Q = "_mobile_otqrz_38", U = "_blockRow_otqrz_46", W = "_block_otqrz_13", X = "_clickable_otqrz_70", Y = "_empty_otqrz_74", Z = "_active_otqrz_79", j = "_error_otqrz_83", tt = "_hoverEffects_otqrz_87", ot = "_blockText_otqrz_99", et = "_emptyLayout_otqrz_109", t = {
8
+ grid: J,
9
+ blockLayout: K,
10
+ absoluteSize: O,
11
+ relativeSize: P,
12
+ mobile: Q,
13
+ blockRow: U,
14
+ block: W,
15
15
  clickable: X,
16
- blockText: Y,
17
- emptyLayout: Z
18
- }, rt = ({
16
+ empty: Y,
17
+ active: Z,
18
+ error: j,
19
+ hoverEffects: tt,
20
+ blockText: ot,
21
+ emptyLayout: et
22
+ }, bt = ({
19
23
  rows: e,
20
- columns: c,
21
- hideText: h = !1,
22
- hideBlockCountText: w = !1,
23
- errorBlocks: N = [],
24
+ columns: r,
25
+ hideText: w = !1,
26
+ hideBlockCountText: N = !1,
27
+ errorBlocks: g = [],
24
28
  showNumbers: x = !0,
25
- clickable: b = !0,
26
- size: _ = 15,
27
- onClick: u = null,
28
- currentBlock: a,
29
- activeBlocks: g,
29
+ clickable: d = !1,
30
+ size: k = "absolute",
31
+ onClick: p = null,
32
+ currentBlock: s,
33
+ activeBlocks: v,
30
34
  blocks: m,
31
- blockViewTitle: L,
32
- blockLabel: T,
33
- emptyViewTitle: B
35
+ blockViewTitle: S,
36
+ blockLabel: E,
37
+ emptyViewTitle: L
34
38
  }) => {
35
- const [C, y] = V(0);
36
- q(() => {
37
- if (!a) return;
38
- const l = H(a, c);
39
- y(l);
40
- }, [a, c]);
41
- const E = G(() => e * c, [e, c]), R = (l) => {
42
- u && u(l, a ?? void 0);
43
- }, $ = ({ row: l, column: r }) => m.length === 0 ? !0 : m.some((d) => d.position?.row === l && d.position?.column === r), p = !e && !c;
44
- return /* @__PURE__ */ f("div", { "data-testid": "block-view-container", className: t.grid, children: [
45
- !h && /* @__PURE__ */ o(D, { level: 1, bold: !0, className: t.black, children: L }),
39
+ const [T, y] = V(0), { isDesktop: f } = I();
40
+ $(() => {
41
+ if (!s) return;
42
+ const c = H(s, r);
43
+ y(c);
44
+ }, [s, r]);
45
+ const C = G(() => e * r, [e, r]), R = (c) => {
46
+ p && p(c, s ?? void 0);
47
+ }, B = ({ row: c, column: i }) => m.length === 0 ? !0 : m.some((u) => u.position?.row === c && u.position?.column === i), _ = !e && !r;
48
+ return /* @__PURE__ */ z("div", { "data-testid": "block-view-container", className: t.grid, children: [
49
+ !w && /* @__PURE__ */ o(A, { level: 1, bold: !0, className: t.black, children: S }),
46
50
  /* @__PURE__ */ o(
47
51
  "div",
48
52
  {
49
53
  "data-testid": "block-view-layout",
50
- className: p ? t.emptyLayout : t.blockLayout,
51
- style: { width: `${_}rem`, height: `${_}rem` },
52
- children: p ? /* @__PURE__ */ o(j, { emptyViewTitle: B }) : /* @__PURE__ */ o(v, { children: Array.from({ length: e }).map((l, r) => /* @__PURE__ */ o("div", { "data-testid": "block-view-row", className: t.blockRow, children: Array.from({ length: c }).map((d, s) => {
53
- const i = c * r + s + 1, n = $({ row: r + 1, column: s + 1 }), A = M(
54
+ className: h(
55
+ _ && t.emptyLayout,
56
+ !_ && t.blockLayout,
57
+ k === "absolute" && t.absoluteSize,
58
+ k === "relative" && t.relativeSize,
59
+ !f && t.mobile
60
+ ),
61
+ children: _ ? /* @__PURE__ */ o(rt, { emptyViewTitle: L }) : /* @__PURE__ */ o(q, { children: Array.from({ length: e }).map((c, i) => /* @__PURE__ */ o("div", { "data-testid": "block-view-row", className: t.blockRow, children: Array.from({ length: r }).map((u, a) => {
62
+ const l = r * i + a + 1, n = B({ row: i + 1, column: a + 1 }), D = h(
54
63
  t.block,
55
- b && n && t.clickable,
56
- C === i && t.active,
64
+ f && t.hoverEffects,
65
+ d && n && t.clickable,
66
+ T === l && t.active,
57
67
  !n && t.empty,
58
- N.includes(i) && t.error,
59
- g && m.some(
60
- (k) => k.id && g.includes(k.id) && k.position?.row === r + 1 && k.position?.column === s + 1
61
- ) && t.activeBlock
68
+ g.includes(l) && t.error,
69
+ v && m.some(
70
+ (b) => b.id && v.includes(b.id) && b.position?.row === i + 1 && b.position?.column === a + 1
71
+ ) && t.active
62
72
  );
63
73
  return /* @__PURE__ */ o(
64
74
  "div",
65
75
  {
66
76
  "data-testid": "block-view-block",
67
- className: A,
68
- id: `block${i}`,
69
- onClick: b && n ? () => {
70
- y(i), R({ row: r + 1, column: s + 1 });
77
+ className: D,
78
+ id: `block${l}`,
79
+ onClick: d && n ? () => {
80
+ y(l), R({ row: i + 1, column: a + 1 });
71
81
  } : void 0,
72
- children: x && n && /* @__PURE__ */ o(
73
- "div",
74
- {
75
- "data-testid": "block-view-block-number",
76
- className: t.blockText,
77
- children: i
78
- }
79
- )
82
+ children: x && n && /* @__PURE__ */ o("div", { "data-testid": "block-view-block-number", className: t.blockText, children: l })
80
83
  },
81
- i
84
+ l
82
85
  );
83
- }) }, r)) })
86
+ }) }, i)) })
84
87
  }
85
88
  ),
86
- !w && /* @__PURE__ */ f(S, { themeColor: "primary", level: 6, children: [
87
- E,
89
+ !N && /* @__PURE__ */ z(F, { themeColor: "primary", level: 6, children: [
90
+ C,
88
91
  " ",
89
- T
92
+ E
90
93
  ] })
91
94
  ] });
92
- }, j = ({ emptyViewTitle: e }) => e ? /* @__PURE__ */ o(F, { bold: !0, children: e }) : /* @__PURE__ */ o(v, {});
95
+ }, rt = ({ emptyViewTitle: e }) => e ? /* @__PURE__ */ o(M, { bold: !0, children: e }) : /* @__PURE__ */ o(q, {});
93
96
  export {
94
- rt as BlockView
97
+ bt as BlockView
95
98
  };
@@ -1,7 +1,7 @@
1
1
  import { ModalProps as ElementModalProps } from '@element-public/react-modal';
2
2
  import { AvailableCustomIcons } from '../../enums/AvailableCustomIcons';
3
- import { ErrorBannerProps } from '../ErrorBanner/ErrorBanner';
4
3
  import { OfflineViewProps } from '../OfflineView/OfflineView';
4
+ import { TopBarBannerProps } from '../TopBarBanner/TopBarBanner';
5
5
 
6
6
  type ModalProps = Omit<ElementModalProps, 'primaryButton'> & React.HTMLProps<HTMLElement> & React.DOMAttributes<HTMLElement> & {
7
7
  closeIcon?: keyof typeof AvailableCustomIcons | string;
@@ -9,7 +9,7 @@ type ModalProps = Omit<ElementModalProps, 'primaryButton'> & React.HTMLProps<HTM
9
9
  isOnline?: boolean;
10
10
  offlineViewProps?: Partial<OfflineViewProps>;
11
11
  } & {
12
- errorBannerProps?: Pick<ErrorBannerProps, 'title' | 'description' | 'primaryActionLabel' | 'onPrimaryAction' | 'secondaryActionLabel' | 'onSecondaryAction'> & {
12
+ errorBannerProps?: Pick<TopBarBannerProps, 'title' | 'description' | 'primaryActionLabel' | 'onPrimaryAction' | 'secondaryActionLabel' | 'onSecondaryAction'> & {
13
13
  hasError: boolean;
14
14
  };
15
15
  };
@@ -11,9 +11,9 @@ import { M as ce, c as ue, m as de } from "../../component-DYpB_4EP.js";
11
11
  import { A as me } from "../../animationframe-CqXArbwZ.js";
12
12
  import { P as fe } from "../../index.es-C8AExypY.js";
13
13
  import { b as pe } from "../../index.es-EXzC8zuP.js";
14
- import { ErrorBanner as he } from "../ErrorBanner/ErrorBanner.js";
15
- import { Iconify as ge } from "../Iconify/Iconify.js";
16
- import { OfflineView as _e } from "../OfflineView/OfflineView.js";
14
+ import { Iconify as he } from "../Iconify/Iconify.js";
15
+ import { OfflineView as ge } from "../OfflineView/OfflineView.js";
16
+ import { TopBarBanner as _e } from "../TopBarBanner/TopBarBanner.js";
17
17
  import '../../assets/Modal.css';function Ce(o, e, t) {
18
18
  return e(o, { initialFocusEl: t });
19
19
  }
@@ -493,7 +493,7 @@ var f = Kt.strings, Ae = (
493
493
  return this.root.querySelector("[" + f.INITIAL_FOCUS_ATTRIBUTE + "]");
494
494
  }, e;
495
495
  })(se)
496
- ), be = {
496
+ ), Te = {
497
497
  /**
498
498
  * An action button that will not automatically trigger a dismiss or accept. It is meant to be used only in certain circumstances where more control of the modal is required such as validating forms. If primaryButton is sent with actionButton, actionButton will be ignored.
499
499
  *
@@ -662,7 +662,7 @@ var f = Kt.strings, Ae = (
662
662
  * Defaults to **null**.
663
663
  */
664
664
  title: l.string
665
- }, Te = {
665
+ }, be = {
666
666
  actionButton: null,
667
667
  backButton: null,
668
668
  badge: void 0,
@@ -691,17 +691,17 @@ var f = Kt.strings, Ae = (
691
691
  returnFocusSelector: null,
692
692
  scrollable: !1,
693
693
  title: null
694
- }, Ie = ["actionButton", "actionIcons", "badge", "backButton", "children", "className", "content", "defaultButton", "dismissiveButton", "footerSupplemental", "headerActions", "hideCloseIcon", "indicator", "initialFocus", "mobileStackedButtons", "modalSize", "nextButton", "noActions", "onClose", "onClosed", "onOpen", "onOpened", "open", "preventClose", "preventPrimaryAccept", "primaryButton", "returnFocusSelector", "scrollable", "title", "iconSource"], r = Te, ot = /* @__PURE__ */ ee(function(o, e) {
695
- var t = o.actionButton, n = t === void 0 ? r.actionButton : t, i = o.actionIcons, a = i === void 0 ? r.actionIcons : i, d = o.badge, h = d === void 0 ? r.badge : d, O = o.backButton, _ = O === void 0 ? r.backButton : O, S = o.children, F = S === void 0 ? r.children : S, b = o.className, W = b === void 0 ? r.className : b, E = o.content, L = E === void 0 ? r.content : E, it = o.defaultButton, T = it === void 0 ? r.defaultButton : it, at = o.dismissiveButton, R = at === void 0 ? r.dismissiveButton : at, rt = o.footerSupplemental, w = rt === void 0 ? r.footerSupplemental : rt, lt = o.headerActions, st = lt === void 0 ? r.headerActions : lt, ct = o.hideCloseIcon, V = ct === void 0 ? r.hideCloseIcon : ct, ut = o.indicator, Wt = ut === void 0 ? r.indicator : ut, dt = o.initialFocus, I = dt === void 0 ? r.initialFocus : dt, mt = o.mobileStackedButtons, z = mt === void 0 ? r.mobileStackedButtons : mt, ft = o.modalSize, C = ft === void 0 ? r.modalSize : ft, pt = o.nextButton, N = pt === void 0 ? r.nextButton : pt, ht = o.noActions, B = ht === void 0 ? r.noActions : ht, gt = o.onClose, j = gt === void 0 ? r.onClose : gt, _t = o.onClosed, q = _t === void 0 ? r.onClosed : _t, Ct = o.onOpen, k = Ct === void 0 ? r.onOpen : Ct, vt = o.onOpened, M = vt === void 0 ? r.onOpened : vt, Et = o.open, St = Et === void 0 ? r.open : Et, yt = o.preventClose, Y = yt === void 0 ? r.preventClose : yt, Ot = o.preventPrimaryAccept, At = Ot === void 0 ? r.preventPrimaryAccept : Ot, bt = o.primaryButton, u = bt === void 0 ? r.primaryButton : bt, Tt = o.returnFocusSelector, J = Tt === void 0 ? r.returnFocusSelector : Tt, It = o.scrollable, Nt = It === void 0 ? r.scrollable : It, Bt = o.title, Dt = Bt === void 0 ? r.title : Bt, Ft = o.iconSource, Vt = Ft === void 0 ? r.iconSource : Ft, zt = Zt(o, Ie), P = Pt(), c = Pt();
694
+ }, Ie = ["actionButton", "actionIcons", "badge", "backButton", "children", "className", "content", "defaultButton", "dismissiveButton", "footerSupplemental", "headerActions", "hideCloseIcon", "indicator", "initialFocus", "mobileStackedButtons", "modalSize", "nextButton", "noActions", "onClose", "onClosed", "onOpen", "onOpened", "open", "preventClose", "preventPrimaryAccept", "primaryButton", "returnFocusSelector", "scrollable", "title", "iconSource"], r = be, ot = /* @__PURE__ */ ee(function(o, e) {
695
+ var t = o.actionButton, n = t === void 0 ? r.actionButton : t, i = o.actionIcons, a = i === void 0 ? r.actionIcons : i, d = o.badge, h = d === void 0 ? r.badge : d, O = o.backButton, _ = O === void 0 ? r.backButton : O, S = o.children, F = S === void 0 ? r.children : S, T = o.className, W = T === void 0 ? r.className : T, E = o.content, L = E === void 0 ? r.content : E, it = o.defaultButton, b = it === void 0 ? r.defaultButton : it, at = o.dismissiveButton, R = at === void 0 ? r.dismissiveButton : at, rt = o.footerSupplemental, w = rt === void 0 ? r.footerSupplemental : rt, lt = o.headerActions, st = lt === void 0 ? r.headerActions : lt, ct = o.hideCloseIcon, V = ct === void 0 ? r.hideCloseIcon : ct, ut = o.indicator, Wt = ut === void 0 ? r.indicator : ut, dt = o.initialFocus, I = dt === void 0 ? r.initialFocus : dt, mt = o.mobileStackedButtons, z = mt === void 0 ? r.mobileStackedButtons : mt, ft = o.modalSize, C = ft === void 0 ? r.modalSize : ft, pt = o.nextButton, B = pt === void 0 ? r.nextButton : pt, ht = o.noActions, N = ht === void 0 ? r.noActions : ht, gt = o.onClose, j = gt === void 0 ? r.onClose : gt, _t = o.onClosed, q = _t === void 0 ? r.onClosed : _t, Ct = o.onOpen, k = Ct === void 0 ? r.onOpen : Ct, vt = o.onOpened, M = vt === void 0 ? r.onOpened : vt, Et = o.open, St = Et === void 0 ? r.open : Et, yt = o.preventClose, Y = yt === void 0 ? r.preventClose : yt, Ot = o.preventPrimaryAccept, At = Ot === void 0 ? r.preventPrimaryAccept : Ot, Tt = o.primaryButton, u = Tt === void 0 ? r.primaryButton : Tt, bt = o.returnFocusSelector, J = bt === void 0 ? r.returnFocusSelector : bt, It = o.scrollable, Bt = It === void 0 ? r.scrollable : It, Nt = o.title, Dt = Nt === void 0 ? r.title : Nt, Ft = o.iconSource, Vt = Ft === void 0 ? r.iconSource : Ft, zt = Zt(o, Ie), P = Pt(), c = Pt();
696
696
  ne(e, function() {
697
697
  return P.current;
698
698
  }, []);
699
699
  var jt = Ht(), Lt = Mt(jt, 2), Q = Lt[0], qt = Lt[1], Yt = Ht(function() {
700
- return N || _;
700
+ return B || _;
701
701
  }), Rt = Mt(Yt, 2), X = Rt[0], Jt = Rt[1];
702
702
  v(function() {
703
- Jt(N || _);
704
- }, [N, _]);
703
+ Jt(B || _);
704
+ }, [B, _]);
705
705
  var H = Z(function() {
706
706
  xt() && qt(window.innerWidth <= 600);
707
707
  }, []);
@@ -717,9 +717,9 @@ var f = Kt.strings, Ae = (
717
717
  }, [c, P]), v(function() {
718
718
  c.current.foundation.setAutoStackButtons(z);
719
719
  }, [z]), v(function() {
720
- B && (c.current.foundation.adapter.trapFocus = function() {
720
+ N && (c.current.foundation.adapter.trapFocus = function() {
721
721
  });
722
- }, [B]), v(function() {
722
+ }, [N]), v(function() {
723
723
  c.current.scrimClickAction = Y ? "" : "close", c.current.escapeKeyAction = Y ? "" : "close";
724
724
  }, [Y]);
725
725
  var x = Z(function(p) {
@@ -753,9 +753,9 @@ var f = Kt.strings, Ae = (
753
753
  elevation: n?.props.elevation !== "default" ? n?.props.elevation : "flat",
754
754
  variant: n?.props.variant || "filled"
755
755
  };
756
- return T === "action" && (p["data-mdc-dialog-button-default"] = !0), I === "action" && (p["data-mdc-dialog-initial-focus"] = !0), p;
756
+ return b === "action" && (p["data-mdc-dialog-button-default"] = !0), I === "action" && (p["data-mdc-dialog-initial-focus"] = !0), p;
757
757
  };
758
- }, [n?.props.elevation, n?.props.variant, T, I]), Xt = nt(function() {
758
+ }, [n?.props.elevation, n?.props.variant, b, I]), Xt = nt(function() {
759
759
  return function() {
760
760
  var p = {
761
761
  className: "lmnt-modal__button mdc-dialog__button",
@@ -763,20 +763,20 @@ var f = Kt.strings, Ae = (
763
763
  elevation: u?.props.elevation !== "default" ? u?.props.elevation : "flat",
764
764
  variant: u?.props.variant || "filled"
765
765
  };
766
- return T === "primary" && (p["data-mdc-dialog-button-default"] = !0), I === "primary" && (p["data-mdc-dialog-initial-focus"] = !0), p;
766
+ return b === "primary" && (p["data-mdc-dialog-button-default"] = !0), I === "primary" && (p["data-mdc-dialog-initial-focus"] = !0), p;
767
767
  };
768
- }, [At, T, I, u?.props.elevation, u?.props.variant]);
768
+ }, [At, b, I, u?.props.elevation, u?.props.variant]);
769
769
  return /* @__PURE__ */ m.createElement("aside", te({
770
770
  ref: P,
771
- className: G("lmnt", "lmnt-modal", "mdc-dialog", Nt && "lmnt-modal--scrollable mdc-dialog--scrollable", W),
771
+ className: G("lmnt", "lmnt-modal", "mdc-dialog", Bt && "lmnt-modal--scrollable mdc-dialog--scrollable", W),
772
772
  role: "alertdialog"
773
773
  }, zt), /* @__PURE__ */ m.createElement("div", {
774
- className: G("lmnt-modal__container", "mdc-dialog__container", C === "fullscreen" && "mdc-dialog--fullscreen", C === "max" && "lmnt-modal__max", C === "xlarge" && "lmnt-modal__xl", C === "large" && "lmnt-modal__lg", C === "medium" && "lmnt-modal__md", C === "small" && "lmnt-modal__sm", (C === "mobile" || Q) && "lmnt-modal__mobile", C === "dialog" && "lmnt-modal__dialog", B && "lmnt-modal-no-actions")
774
+ className: G("lmnt-modal__container", "mdc-dialog__container", C === "fullscreen" && "mdc-dialog--fullscreen", C === "max" && "lmnt-modal__max", C === "xlarge" && "lmnt-modal__xl", C === "large" && "lmnt-modal__lg", C === "medium" && "lmnt-modal__md", C === "small" && "lmnt-modal__sm", (C === "mobile" || Q) && "lmnt-modal__mobile", C === "dialog" && "lmnt-modal__dialog", N && "lmnt-modal-no-actions")
775
775
  }, /* @__PURE__ */ m.createElement("div", {
776
776
  className: "lmnt-modal__surface mdc-dialog__surface"
777
777
  }, /* @__PURE__ */ m.createElement("header", {
778
- className: G("lmnt-modal__title", "mdc-dialog__title", (C === "dialog" || V) && "lmnt-modal_title-hide-close-icon", a && "lmnt-modal_title-actionsIcons", Nt && "lmnt-modal__title-scrollable", (V || C === "dialog" || B) && "lmnt-modal--no-close-icon")
779
- }, !V && C !== "dialog" && !B && /* @__PURE__ */ m.createElement(Ut, {
778
+ className: G("lmnt-modal__title", "mdc-dialog__title", (C === "dialog" || V) && "lmnt-modal_title-hide-close-icon", a && "lmnt-modal_title-actionsIcons", Bt && "lmnt-modal__title-scrollable", (V || C === "dialog" || N) && "lmnt-modal--no-close-icon")
779
+ }, !V && C !== "dialog" && !N && /* @__PURE__ */ m.createElement(Ut, {
780
780
  className: "mdc-icon-button material-icons mdc-dialog__close",
781
781
  "data-mdc-dialog-action": "close",
782
782
  icon: "clear",
@@ -790,13 +790,13 @@ var f = Kt.strings, Ae = (
790
790
  }
791
791
  }, h)), (L || F) && /* @__PURE__ */ m.createElement("section", {
792
792
  className: "lmnt-modal__content mdc-dialog__content"
793
- }, L || F), Wt, (n || _ || R || N || u || w) && /* @__PURE__ */ m.createElement("footer", {
793
+ }, L || F), Wt, (n || _ || R || B || u || w) && /* @__PURE__ */ m.createElement("footer", {
794
794
  className: G("lmnt-modal__actions", "mdc-dialog__actions", Q && "lmnt-dialog__actions__mobile", w && "lmnt-modal__actions--supplemental-btn", Q && z && "lmnt-modal_actions-mobile-stacked")
795
795
  }, !X && w && /* @__PURE__ */ m.createElement("div", {
796
796
  className: "lmnt-dialog__actions__supplemental"
797
797
  }, D(w, function() {
798
798
  var p = {};
799
- return T === "footerSupplemental" && (p["data-mdc-dialog-button-default"] = !0), I === "footerSupplemental" && (p["data-mdc-dialog-initial-focus"] = !0), p;
799
+ return b === "footerSupplemental" && (p["data-mdc-dialog-button-default"] = !0), I === "footerSupplemental" && (p["data-mdc-dialog-initial-focus"] = !0), p;
800
800
  })), !X && (n || R || u) && /* @__PURE__ */ m.createElement("div", {
801
801
  className: "lmnt-dialog__actions__right-align lmnt-modal_actions_button"
802
802
  }, R && D(R, {
@@ -805,7 +805,7 @@ var f = Kt.strings, Ae = (
805
805
  "data-mdc-dialog-action": "close"
806
806
  }), n && !u && D(n, Qt), u && D(u, Xt)), X && /* @__PURE__ */ m.createElement("div", {
807
807
  className: "lmnt-modal_actions_button lmnt-dialog__actions__directional"
808
- }, /* @__PURE__ */ m.createElement("div", null, ae(_, "lmnt-modal__button")), /* @__PURE__ */ m.createElement("div", null, D(N, {
808
+ }, /* @__PURE__ */ m.createElement("div", null, ae(_, "lmnt-modal__button")), /* @__PURE__ */ m.createElement("div", null, D(B, {
809
809
  className: "lmnt-modal__button",
810
810
  "data-mdc-dialog-initial-focus": !0
811
811
  })))))), /* @__PURE__ */ m.createElement("div", {
@@ -813,10 +813,10 @@ var f = Kt.strings, Ae = (
813
813
  }));
814
814
  });
815
815
  ot.displayName = "Modal";
816
- ot.propTypes = be;
817
- const Ne = "_modal_1l955_1", Be = "_gap_1l955_18", De = "_title_1l955_23", Fe = "_titleWithoutCloseIcon_1l955_36", Le = "_closeButton_1l955_40", Re = "_errorBanner_1l955_52", y = {
818
- modal: Ne,
819
- gap: Be,
816
+ ot.propTypes = Te;
817
+ const Be = "_modal_1l955_1", Ne = "_gap_1l955_18", De = "_title_1l955_23", Fe = "_titleWithoutCloseIcon_1l955_36", Le = "_closeButton_1l955_40", Re = "_errorBanner_1l955_52", y = {
818
+ modal: Be,
819
+ gap: Ne,
820
820
  title: De,
821
821
  titleWithoutCloseIcon: Fe,
822
822
  closeButton: Le,
@@ -833,7 +833,7 @@ const Ne = "_modal_1l955_1", Be = "_gap_1l955_18", De = "_title_1l955_23", Fe =
833
833
  offlineViewProps: O,
834
834
  children: _,
835
835
  errorBannerProps: { hasError: S, ...F } = { hasError: !1 },
836
- ...b
836
+ ...T
837
837
  }) => {
838
838
  const W = nt(() => {
839
839
  const E = {
@@ -854,7 +854,7 @@ const Ne = "_modal_1l955_1", Be = "_gap_1l955_18", De = "_title_1l955_23", Fe =
854
854
  className: y.closeButton
855
855
  }
856
856
  ),
857
- d ? /* @__PURE__ */ g(fe, { customPadding: "0.25rem 0 0 0.75rem", children: /* @__PURE__ */ g(ge, { icon: d }) }) : /* @__PURE__ */ g(wt, {}),
857
+ d ? /* @__PURE__ */ g(fe, { customPadding: "0.25rem 0 0 0.75rem", children: /* @__PURE__ */ g(he, { icon: d }) }) : /* @__PURE__ */ g(wt, {}),
858
858
  /* @__PURE__ */ g(
859
859
  pe,
860
860
  {
@@ -879,17 +879,17 @@ const Ne = "_modal_1l955_1", Be = "_gap_1l955_18", De = "_title_1l955_23", Fe =
879
879
  return /* @__PURE__ */ g(
880
880
  ot,
881
881
  {
882
- ...b,
882
+ ...T,
883
883
  "data-testid": "modal",
884
- className: `${y.modal} ${y.title} ${b.className ?? ""}`,
884
+ className: `${y.modal} ${y.title} ${T.className ?? ""}`,
885
885
  hideCloseIcon: !0,
886
886
  actionButton: n,
887
887
  headerActions: /* @__PURE__ */ kt(U, { fullWidth: !0, gap: "none", direction: "vertical", children: [
888
888
  /* @__PURE__ */ g(U, { fullWidth: !0, primaryAlign: "space-between", secondaryAlign: "center", children: W.map((E) => /* @__PURE__ */ g(oe, { children: E.action }, E.id)) }),
889
- S && /* @__PURE__ */ g("div", { className: y.errorBanner, children: /* @__PURE__ */ g(he, { ...F, isOpen: S }) })
889
+ S && /* @__PURE__ */ g("div", { className: y.errorBanner, children: /* @__PURE__ */ g(_e, { ...F, isOpen: S }) })
890
890
  ] }, "header-group"),
891
891
  preventClose: !0,
892
- children: h ? /* @__PURE__ */ g(wt, { children: _ }) : /* @__PURE__ */ g(_e, { ...O })
892
+ children: h ? /* @__PURE__ */ g(wt, { children: _ }) : /* @__PURE__ */ g(ge, { ...O })
893
893
  }
894
894
  );
895
895
  };
@@ -1,4 +1,4 @@
1
- export type ErrorBannerProps = {
1
+ export type TopBarBannerProps = {
2
2
  title?: string;
3
3
  description?: string;
4
4
  isOpen?: boolean;
@@ -7,9 +7,10 @@ export type ErrorBannerProps = {
7
7
  secondaryActionLabel?: string;
8
8
  onSecondaryAction?: () => void;
9
9
  isStandalone?: boolean;
10
+ icon?: string;
10
11
  };
11
12
  /**
12
- * Error banner component to display error messages with optional actions.
13
+ * Top bar banner component to display error messages with optional actions.
13
14
  * Designed to be used below a header or as a standalone banner in a modal.
14
15
  *
15
16
  * @param {string} title - Title text displayed in the banner
@@ -20,6 +21,6 @@ export type ErrorBannerProps = {
20
21
  * @param {string} secondaryActionLabel - Label for the secondary action button. If not provided, button will not be rendered.
21
22
  * @param {() => void} onSecondaryAction - Handler for the secondary action button
22
23
  * @param {boolean} isStandalone - When true, renders the banner with a rounded border instead of a bottom border
23
- * @returns {JSX.Element|null} The rendered ErrorBanner component or null if not visible
24
+ * @returns {JSX.Element|null} The rendered TopBarBanner component or null if not visible
24
25
  */
25
- export declare const ErrorBanner: ({ title, description, isOpen, isStandalone, ...props }: ErrorBannerProps) => import("react/jsx-runtime").JSX.Element | null;
26
+ export declare const TopBarBanner: ({ title, description, isOpen, isStandalone, icon, ...props }: TopBarBannerProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,78 @@
1
+ import { jsx as r, jsxs as t } from "react/jsx-runtime";
2
+ import { B as c } from "../../index.es-B1cewJEy.js";
3
+ import { G as o } from "../../index.es-BE1XL1dD.js";
4
+ import { P as u } from "../../index.es-C8AExypY.js";
5
+ import { T as b, a as h } from "../../index.es-EXzC8zuP.js";
6
+ import { c as B } from "../../index-_-9ybP20.js";
7
+ import { useContainerWidth as g } from "../../hooks/useContainerWidth.js";
8
+ import { Iconify as y } from "../Iconify/Iconify.js";
9
+ import '../../assets/TopBarBanner.css';const _ = "_bannerPadding_1ijh0_1", P = "_bottomBorder_1ijh0_7", v = "_standaloneBorder_1ijh0_12", s = {
10
+ bannerPadding: _,
11
+ bottomBorder: P,
12
+ standaloneBorder: v
13
+ }, N = ({
14
+ title: n,
15
+ description: a,
16
+ isOpen: e,
17
+ isStandalone: i,
18
+ icon: d,
19
+ ...m
20
+ }) => {
21
+ const { ref: p, isWide: l } = g(), f = B(
22
+ s.bannerPadding,
23
+ i ? s.standaloneBorder : s.bottomBorder
24
+ );
25
+ return e ? /* @__PURE__ */ r(u, { customPadding: "0.5rem 1rem", className: f, "data-testid": "top-bar-banner", children: /* @__PURE__ */ t(
26
+ o,
27
+ {
28
+ ref: p,
29
+ fullWidth: !0,
30
+ direction: l ? "horizontal" : "vertical",
31
+ secondaryAlign: "center",
32
+ children: [
33
+ /* @__PURE__ */ t(o, { fullWidth: !0, primaryAlign: "space-between", secondaryAlign: l ? "center" : "start", children: [
34
+ /* @__PURE__ */ r(
35
+ y,
36
+ {
37
+ icon: d ?? "sentiment-very-dissatisfied",
38
+ iconSize: "large",
39
+ variant: "color-primary"
40
+ }
41
+ ),
42
+ /* @__PURE__ */ t(o, { direction: "vertical", fullWidth: !0, gap: "none", children: [
43
+ /* @__PURE__ */ r(b, { bold: !0, level: 2, themeColor: "primary", children: n }),
44
+ /* @__PURE__ */ r(h, { children: a })
45
+ ] })
46
+ ] }),
47
+ /* @__PURE__ */ r(C, { ...m, isWide: l })
48
+ ]
49
+ }
50
+ ) }) : null;
51
+ }, C = ({
52
+ primaryActionLabel: n,
53
+ onPrimaryAction: a,
54
+ secondaryActionLabel: e,
55
+ onSecondaryAction: i,
56
+ isWide: d
57
+ }) => /* @__PURE__ */ t(o, { fullWidth: !d, primaryAlign: "end", secondaryAlign: "center", children: [
58
+ n && /* @__PURE__ */ r(
59
+ c,
60
+ {
61
+ label: n,
62
+ onClick: a,
63
+ "data-testid": "top-bar-banner-primary-action"
64
+ }
65
+ ),
66
+ e && /* @__PURE__ */ r(
67
+ c,
68
+ {
69
+ label: e,
70
+ variant: "outlined",
71
+ onClick: i,
72
+ "data-testid": "top-bar-banner-secondary-action"
73
+ }
74
+ )
75
+ ] });
76
+ export {
77
+ N as TopBarBanner
78
+ };
package/dist/main.d.ts CHANGED
@@ -11,10 +11,9 @@ export { DeleteModal } from './components/DeleteModal/DeleteModal';
11
11
  export { DetailContentWrapper } from './components/DetailContentWrapper/DetailContentWrapper';
12
12
  export { Disclaimer } from './components/Disclaimer/Disclaimer';
13
13
  export { EmptyView } from './components/EmptyView/EmptyView';
14
- export { ErrorBanner } from './components/ErrorBanner/ErrorBanner';
15
14
  export { Filter } from './components/Filter/Filter';
16
- export { FormattedNumberDisplay } from './components/FormattedNumberDisplay/FormattedNumberDisplay';
17
15
  export { FloatingActionButton } from './components/FloatingActionButton/FloatingActionButton';
16
+ export { FormattedNumberDisplay } from './components/FormattedNumberDisplay/FormattedNumberDisplay';
18
17
  export { GenericTable } from './components/GenericTable/GenericTable';
19
18
  export { HashTabView } from './components/HashTabView/HashTabView';
20
19
  export { HeaderFilter } from './components/HeaderFilter/HeaderFilter';
@@ -33,6 +32,7 @@ export { SearchBar } from './components/SearchBar/SearchBar';
33
32
  export { Select } from './components/Select/Select';
34
33
  export { StepperHeader } from './components/Stepper/components/StepperHeader';
35
34
  export { Stepper } from './components/Stepper/Stepper';
35
+ export { TopBarBanner } from './components/TopBarBanner/TopBarBanner';
36
36
  export { VerticalDivider } from './components/VerticalDivider/VerticalDivider';
37
37
  export { FormCheckBox } from './components/FormComponents/FormCheckBox/FormCheckBox';
38
38
  export { FormDatePicker } from './components/FormComponents/FormDatePicker/FormDatePicker';
package/dist/main.js CHANGED
@@ -5,36 +5,36 @@ import { BasicHeading as i } from "./components/BasicHeading/BasicHeading.js";
5
5
  import { BlockView as n } from "./components/BlockView/BlockView.js";
6
6
  import { ButtonCard as A } from "./components/ButtonCard/ButtonCard.js";
7
7
  import { ChipCard as d } from "./components/ChipCard/ChipCard.js";
8
- import { ConfirmationModal as E } from "./components/ConfirmationModal/ConfirmationModal.js";
8
+ import { ConfirmationModal as c } from "./components/ConfirmationModal/ConfirmationModal.js";
9
9
  import { ContextMenu as F } from "./components/ContextMenu/ContextMenu.js";
10
- import { DeleteModal as _ } from "./components/DeleteModal/DeleteModal.js";
11
- import { DetailContentWrapper as T } from "./components/DetailContentWrapper/DetailContentWrapper.js";
10
+ import { DeleteModal as T } from "./components/DeleteModal/DeleteModal.js";
11
+ import { DetailContentWrapper as I } from "./components/DetailContentWrapper/DetailContentWrapper.js";
12
12
  import { Disclaimer as G } from "./components/Disclaimer/Disclaimer.js";
13
13
  import { EmptyView as C } from "./components/EmptyView/EmptyView.js";
14
- import { ErrorBanner as M } from "./components/ErrorBanner/ErrorBanner.js";
15
- import { Filter as g } from "./components/Filter/Filter.js";
14
+ import { Filter as M } from "./components/Filter/Filter.js";
15
+ import { FloatingActionButton as g } from "./components/FloatingActionButton/FloatingActionButton.js";
16
16
  import { FormattedNumberDisplay as w } from "./components/FormattedNumberDisplay/FormattedNumberDisplay.js";
17
- import { FloatingActionButton as O } from "./components/FloatingActionButton/FloatingActionButton.js";
18
- import { GenericTable as V } from "./components/GenericTable/GenericTable.js";
19
- import { HashTabView as H } from "./components/HashTabView/HashTabView.js";
20
- import { HeaderFilter as k } from "./components/HeaderFilter/HeaderFilter.js";
21
- import { Iconify as y } from "./components/Iconify/Iconify.js";
22
- import { InfoCard as Y } from "./components/InfoCard/InfoCard.js";
23
- import { InfoGroup as z } from "./components/InfoGroup/InfoGroup.js";
24
- import { ListArea as j } from "./components/ListArea/ListArea.js";
25
- import { LoadingSpinner as J } from "./components/LoadingSpinner/Default/LoadingSpinner.js";
26
- import { Modal as Z } from "./components/Modal/Modal.js";
27
- import { ModulePadding as rr } from "./components/ModulePadding/ModulePadding.js";
28
- import { OfflineView as er } from "./components/OfflineView/OfflineView.js";
29
- import { OnboardingBanner as mr } from "./components/OnboardingBanner/OnboardingBanner.js";
30
- import { OverflowTooltip as fr } from "./components/OverflowTooltip/OverflowTooltip.js";
31
- import { ScrollbarX as ir, ScrollbarY as ar } from "./components/Scrollbar/Scrollbar.js";
32
- import { SearchBar as lr } from "./components/SearchBar/SearchBar.js";
33
- import { Select as sr } from "./components/Select/Select.js";
34
- import { StepperHeader as Sr } from "./components/Stepper/components/StepperHeader.js";
35
- import { Stepper as cr } from "./components/Stepper/Stepper.js";
17
+ import { GenericTable as O } from "./components/GenericTable/GenericTable.js";
18
+ import { HashTabView as V } from "./components/HashTabView/HashTabView.js";
19
+ import { HeaderFilter as H } from "./components/HeaderFilter/HeaderFilter.js";
20
+ import { Iconify as k } from "./components/Iconify/Iconify.js";
21
+ import { InfoCard as y } from "./components/InfoCard/InfoCard.js";
22
+ import { InfoGroup as Y } from "./components/InfoGroup/InfoGroup.js";
23
+ import { ListArea as z } from "./components/ListArea/ListArea.js";
24
+ import { LoadingSpinner as j } from "./components/LoadingSpinner/Default/LoadingSpinner.js";
25
+ import { Modal as J } from "./components/Modal/Modal.js";
26
+ import { ModulePadding as Z } from "./components/ModulePadding/ModulePadding.js";
27
+ import { OfflineView as rr } from "./components/OfflineView/OfflineView.js";
28
+ import { OnboardingBanner as er } from "./components/OnboardingBanner/OnboardingBanner.js";
29
+ import { OverflowTooltip as mr } from "./components/OverflowTooltip/OverflowTooltip.js";
30
+ import { ScrollbarX as fr, ScrollbarY as xr } from "./components/Scrollbar/Scrollbar.js";
31
+ import { SearchBar as ar } from "./components/SearchBar/SearchBar.js";
32
+ import { Select as lr } from "./components/Select/Select.js";
33
+ import { StepperHeader as sr } from "./components/Stepper/components/StepperHeader.js";
34
+ import { Stepper as Sr } from "./components/Stepper/Stepper.js";
35
+ import { TopBarBanner as Er } from "./components/TopBarBanner/TopBarBanner.js";
36
36
  import { VerticalDivider as Lr } from "./components/VerticalDivider/VerticalDivider.js";
37
- import { FormCheckBox as Ir } from "./components/FormComponents/FormCheckBox/FormCheckBox.js";
37
+ import { FormCheckBox as _r } from "./components/FormComponents/FormCheckBox/FormCheckBox.js";
38
38
  import { FormDatePicker as Br } from "./components/FormComponents/FormDatePicker/FormDatePicker.js";
39
39
  import { FormNumber as ur } from "./components/FormComponents/FormNumber/FormNumber.js";
40
40
  import { FormRadio as Dr } from "./components/FormComponents/FormRadio/FormRadio.js";
@@ -52,9 +52,9 @@ import { StepperStyle as Zr } from "./components/Stepper/stepperStyles.js";
52
52
  import { DATE_FORMAT as ro, DATE_TIME_FORMAT as oo, TIME_FORMAT as eo } from "./types/Time.js";
53
53
  import { AVAILABLE_COUNTRY_KEYS as mo, AVAILABLE_LOCALES as po, ENGLISH_LANGUAGE_ID as fo, GERMAN_LANGUAGE_ID as xo, LANGUAGE_CODES_MAPPER as io, LANGUAGE_ID_MAPPER as ao, SPANISH_LANGUAGE_ID as no, TURKISH_LANGUAGE_ID as lo } from "./types/Languages.js";
54
54
  import { Allowed as so } from "./components/Allowed/Allowed.js";
55
- import { AllowedButton as Eo } from "./components/AllowedButton/AllowedButton.js";
55
+ import { AllowedButton as co } from "./components/AllowedButton/AllowedButton.js";
56
56
  import { AllowedIconButton as Fo } from "./components/AllowedIconButton/AllowedIconButton.js";
57
- import { getPermissionsFromModulePermissionToken as _o, useIsAllowed as Io } from "./components/PermissionChecks/PermissionService.js";
57
+ import { getPermissionsFromModulePermissionToken as To, useIsAllowed as _o } from "./components/PermissionChecks/PermissionService.js";
58
58
  import { SharedComponentsPermissionProvider as Bo } from "./components/SharedComponentsPermissionProvider/SharedComponentsPermissionProvider.js";
59
59
  import { createPermissionWrapper as uo, renderWithPermissions as Co } from "./test-utils.js";
60
60
  import { HVMainPermissions as Mo } from "./types/Permission.js";
@@ -63,7 +63,7 @@ export {
63
63
  po as AVAILABLE_LOCALES,
64
64
  e as AlertBanner,
65
65
  so as Allowed,
66
- Eo as AllowedButton,
66
+ co as AllowedButton,
67
67
  Fo as AllowedIconButton,
68
68
  Ur as AvailableCustomIcons,
69
69
  f as BaseView,
@@ -71,19 +71,18 @@ export {
71
71
  n as BlockView,
72
72
  A as ButtonCard,
73
73
  d as ChipCard,
74
- E as ConfirmationModal,
74
+ c as ConfirmationModal,
75
75
  F as ContextMenu,
76
76
  ro as DATE_FORMAT,
77
77
  oo as DATE_TIME_FORMAT,
78
- _ as DeleteModal,
79
- T as DetailContentWrapper,
78
+ T as DeleteModal,
79
+ I as DetailContentWrapper,
80
80
  G as Disclaimer,
81
81
  fo as ENGLISH_LANGUAGE_ID,
82
82
  C as EmptyView,
83
- M as ErrorBanner,
84
- g as Filter,
85
- O as FloatingActionButton,
86
- Ir as FormCheckBox,
83
+ M as Filter,
84
+ g as FloatingActionButton,
85
+ _r as FormCheckBox,
87
86
  Br as FormDatePicker,
88
87
  ur as FormNumber,
89
88
  Dr as FormRadio,
@@ -93,45 +92,46 @@ export {
93
92
  Rr as FormToggle,
94
93
  w as FormattedNumberDisplay,
95
94
  xo as GERMAN_LANGUAGE_ID,
96
- V as GenericTable,
95
+ O as GenericTable,
97
96
  Mo as HVMainPermissions,
98
- H as HashTabView,
99
- k as HeaderFilter,
100
- y as Iconify,
101
- Y as InfoCard,
102
- z as InfoGroup,
97
+ V as HashTabView,
98
+ H as HeaderFilter,
99
+ k as Iconify,
100
+ y as InfoCard,
101
+ Y as InfoGroup,
103
102
  io as LANGUAGE_CODES_MAPPER,
104
103
  ao as LANGUAGE_ID_MAPPER,
105
104
  m as LinkBanner,
106
- j as ListArea,
107
- J as LoadingSpinner,
108
- Z as Modal,
109
- rr as ModulePadding,
110
- er as OfflineView,
111
- mr as OnboardingBanner,
112
- fr as OverflowTooltip,
105
+ z as ListArea,
106
+ j as LoadingSpinner,
107
+ J as Modal,
108
+ Z as ModulePadding,
109
+ rr as OfflineView,
110
+ er as OnboardingBanner,
111
+ mr as OverflowTooltip,
113
112
  no as SPANISH_LANGUAGE_ID,
114
113
  hr as SafeForm,
115
- ir as ScrollbarX,
116
- ar as ScrollbarY,
117
- lr as SearchBar,
118
- sr as Select,
114
+ fr as ScrollbarX,
115
+ xr as ScrollbarY,
116
+ ar as SearchBar,
117
+ lr as Select,
119
118
  Bo as SharedComponentsPermissionProvider,
120
- cr as Stepper,
121
- Sr as StepperHeader,
119
+ Sr as Stepper,
120
+ sr as StepperHeader,
122
121
  Zr as StepperStyle,
123
122
  eo as TIME_FORMAT,
124
123
  lo as TURKISH_LANGUAGE_ID,
125
124
  vr as ThemeColor,
125
+ Er as TopBarBanner,
126
126
  Lr as VerticalDivider,
127
127
  Xr as capitalizeFirstLetters,
128
128
  uo as createPermissionWrapper,
129
129
  jr as getFormattedDateTime,
130
130
  qr as getNumberAsLocaleString,
131
- _o as getPermissionsFromModulePermissionToken,
131
+ To as getPermissionsFromModulePermissionToken,
132
132
  Co as renderWithPermissions,
133
133
  Jr as trimLeadingAndTrailingSpaces,
134
134
  Wr as useBreakpoints,
135
135
  Kr as useContainerWidth,
136
- Io as useIsAllowed
136
+ _o as useIsAllowed
137
137
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hortiview/shared-components",
3
3
  "description": "This is a shared component library. It should used in the HortiView platform and its modules.",
4
- "version": "2.26.1",
4
+ "version": "2.26.3",
5
5
  "type": "module",
6
6
  "repository": "https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared",
7
7
  "author": "Falk Menge <falk.menge.ext@bayer.com>",
@@ -1 +0,0 @@
1
- ._bannerPadding_1ka2b_1{width:100%;box-sizing:border-box;background-color:var(--lmnt-theme-secondary-50)}._bottomBorder_1ka2b_7{border-top:1px solid var(--lmnt-theme-secondary-100);border-bottom:1px solid var(--lmnt-theme-secondary-100)}._standaloneBorder_1ka2b_12{border-color:var(--lmnt-theme-secondary-100);border-width:1px;border-style:solid;border-radius:.5rem}
@@ -1,70 +0,0 @@
1
- import { jsx as r, jsxs as o } from "react/jsx-runtime";
2
- import { B as c } from "../../index.es-B1cewJEy.js";
3
- import { G as t } from "../../index.es-BE1XL1dD.js";
4
- import { P as f } from "../../index.es-C8AExypY.js";
5
- import { T as u, a as b } from "../../index.es-EXzC8zuP.js";
6
- import { c as h } from "../../index-_-9ybP20.js";
7
- import { useContainerWidth as B } from "../../hooks/useContainerWidth.js";
8
- import { Iconify as g } from "../Iconify/Iconify.js";
9
- import '../../assets/ErrorBanner.css';const y = "_bannerPadding_1ka2b_1", _ = "_bottomBorder_1ka2b_7", P = "_standaloneBorder_1ka2b_12", s = {
10
- bannerPadding: y,
11
- bottomBorder: _,
12
- standaloneBorder: P
13
- }, E = ({
14
- title: n,
15
- description: a,
16
- isOpen: e,
17
- isStandalone: i,
18
- ...d
19
- }) => {
20
- const { ref: m, isWide: l } = B(), p = h(
21
- s.bannerPadding,
22
- i ? s.standaloneBorder : s.bottomBorder
23
- );
24
- return e ? /* @__PURE__ */ r(f, { customPadding: "0.5rem 1rem", className: p, "data-testid": "error-banner", children: /* @__PURE__ */ o(
25
- t,
26
- {
27
- ref: m,
28
- fullWidth: !0,
29
- direction: l ? "horizontal" : "vertical",
30
- secondaryAlign: "center",
31
- children: [
32
- /* @__PURE__ */ o(t, { fullWidth: !0, primaryAlign: "space-between", secondaryAlign: l ? "center" : "start", children: [
33
- /* @__PURE__ */ r(g, { icon: "sentiment-very-dissatisfied", iconSize: "large", variant: "color-primary" }),
34
- /* @__PURE__ */ o(t, { direction: "vertical", fullWidth: !0, gap: "none", children: [
35
- /* @__PURE__ */ r(u, { bold: !0, level: 2, themeColor: "primary", children: n }),
36
- /* @__PURE__ */ r(b, { children: a })
37
- ] })
38
- ] }),
39
- /* @__PURE__ */ r(v, { ...d, isWide: l })
40
- ]
41
- }
42
- ) }) : null;
43
- }, v = ({
44
- primaryActionLabel: n,
45
- onPrimaryAction: a,
46
- secondaryActionLabel: e,
47
- onSecondaryAction: i,
48
- isWide: d
49
- }) => /* @__PURE__ */ o(t, { fullWidth: !d, primaryAlign: "end", secondaryAlign: "center", children: [
50
- n && /* @__PURE__ */ r(
51
- c,
52
- {
53
- label: n,
54
- onClick: a,
55
- "data-testid": "error-banner-primary-action"
56
- }
57
- ),
58
- e && /* @__PURE__ */ r(
59
- c,
60
- {
61
- label: e,
62
- variant: "outlined",
63
- onClick: i,
64
- "data-testid": "error-banner-secondary-action"
65
- }
66
- )
67
- ] });
68
- export {
69
- E as ErrorBanner
70
- };