@hortiview/shared-components 0.0.11949 → 1.0.1

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +5 -1
  3. package/dist/{GenericCard-6J558OgP.js → GenericCard-CelFEWlW.js} +10 -10
  4. package/dist/components/AlertBanner/AlertBanner.test.js +1 -1
  5. package/dist/components/BaseView/BaseView.js +1 -1
  6. package/dist/components/BaseView/BaseView.test.js +1 -1
  7. package/dist/components/BasicHeading/BasicHeading.test.js +1 -1
  8. package/dist/components/BlockView/BlockView.test.js +1 -1
  9. package/dist/components/ChipCard/ChipCard.test.js +1 -1
  10. package/dist/components/ContextMenu/ContextMenu.test.js +2 -2
  11. package/dist/components/DeleteModal/DeleteModal.test.js +1 -1
  12. package/dist/components/Disclaimer/Disclaimer.test.js +1 -1
  13. package/dist/components/EmptyView/EmptyView.test.js +1 -1
  14. package/dist/components/Filter/Filter.test.js +19 -18
  15. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.test.js +1 -1
  16. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.test.js +1 -1
  17. package/dist/components/FormComponents/FormNumber/FormNumber.test.js +1 -1
  18. package/dist/components/FormComponents/FormRadio/FormRadio.test.js +1 -1
  19. package/dist/components/FormComponents/FormSelect/FormSelect.test.js +2 -2
  20. package/dist/components/FormComponents/FormSlider/FormSlider.test.js +1 -1
  21. package/dist/components/FormComponents/FormText/FormText.test.js +1 -1
  22. package/dist/components/FormComponents/FormToggle/FormToggle.test.js +1 -1
  23. package/dist/components/GenericTable/GenericTable.test.js +1 -1
  24. package/dist/components/GenericTable/Mobile/GenericCard.js +1 -1
  25. package/dist/components/GenericTable/Mobile/GenericCard.test.js +2 -2
  26. package/dist/components/GenericTable/Mobile/GenericCardList.js +1 -1
  27. package/dist/components/GenericTable/Mobile/GenericCardList.test.js +15 -15
  28. package/dist/components/HashTabView/HashTabView.test.js +1 -1
  29. package/dist/components/HeaderFilter/HeaderFilter.test.js +1 -1
  30. package/dist/components/HealthCheckFailed/HealthCheckFailed.test.js +1 -1
  31. package/dist/components/Iconify/Iconify.test.js +1 -1
  32. package/dist/components/InfoGroup/InfoGroup.test.js +1 -1
  33. package/dist/components/ListArea/ListArea.test.js +1 -1
  34. package/dist/components/LoadingSpinner/Big/BigLoadingSpinner.test.js +1 -1
  35. package/dist/components/LoadingSpinner/Default/LoadingSpinner.test.js +2 -1
  36. package/dist/components/Modal/Modal.js +1 -1
  37. package/dist/components/ModulePadding/ModulePadding.test.js +2 -2
  38. package/dist/components/OverflowTooltip/OverflowTooltip.test.js +2 -2
  39. package/dist/components/Scrollbar/scrollbar.test.js +1 -1
  40. package/dist/components/SearchBar/SearchBar.test.js +2 -1
  41. package/dist/components/Select/Select.test.js +1 -1
  42. package/dist/components/VerticalDivider/VerticalDivider.test.js +1 -1
  43. package/dist/hooks/useBreakpoints.test.js +1 -1
  44. package/dist/{index-CrcXCSzI.js → index-I7uTh4Tr.js} +1 -1
  45. package/dist/{react.esm-DNwojocF.js → react.esm-CX1WJ2Pp.js} +3 -5
  46. package/package.json +50 -2
package/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ ## [1.0.1](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v1.0.0...v1.0.1) (2025-03-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * change styles to fix window resize ([e399faf](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/e399faff0d8c59bf13aa951b948bcc1014ec0565))
7
+
8
+ # 1.0.0 (2025-03-16)
9
+
10
+ ### Features
11
+
12
+ * Introduce HortiView Shared Components
package/README.md CHANGED
@@ -68,6 +68,10 @@ Additionally the library provides form components using [react-hook-form](https:
68
68
 
69
69
  1. [Languages and countries](#languages-and-countries)
70
70
 
71
+ ## Changelog
72
+
73
+ [Changelog](./Changelog.md)
74
+
71
75
  ## Available Components:
72
76
 
73
77
  ### AlertBanner
@@ -1054,4 +1058,4 @@ The supported countries are:
1054
1058
  const languageCode = 'en' as AVAILABLE_LANGUAGE_CODES;
1055
1059
  const languageCountryCode = LANGUAGE_CODES_MAPPER[languageCode];
1056
1060
  console.log(languageCountryCode); // 'en-US'
1057
- ```
1061
+ ```
@@ -174,7 +174,7 @@ import './assets/GenericCard.css';const R = /* @__PURE__ */ F({}), V = {
174
174
  }, X = {
175
175
  children: null,
176
176
  className: void 0
177
- }, T = /* @__PURE__ */ $((l, t) => {
177
+ }, v = /* @__PURE__ */ $((l, t) => {
178
178
  const {
179
179
  airy: a,
180
180
  children: o,
@@ -202,9 +202,9 @@ import './assets/GenericCard.css';const R = /* @__PURE__ */ F({}), V = {
202
202
  className: S
203
203
  }, w), o));
204
204
  });
205
- T.displayName = "Grid";
206
- T.propTypes = V;
207
- T.defaultProps = J;
205
+ v.displayName = "Grid";
206
+ v.propTypes = V;
207
+ v.defaultProps = J;
208
208
  const _ = /* @__PURE__ */ $((l, t) => {
209
209
  const {
210
210
  align: a,
@@ -233,7 +233,7 @@ const _ = /* @__PURE__ */ $((l, t) => {
233
233
  _.displayName = "GridCol";
234
234
  _.propTypes = K;
235
235
  _.defaultProps = L;
236
- const v = /* @__PURE__ */ $((l, t) => {
236
+ const T = /* @__PURE__ */ $((l, t) => {
237
237
  const {
238
238
  children: a,
239
239
  className: o,
@@ -262,9 +262,9 @@ const v = /* @__PURE__ */ $((l, t) => {
262
262
  style: m
263
263
  }, i), a);
264
264
  });
265
- v.displayName = "GridRow";
266
- v.propTypes = Q;
267
- v.defaultProps = X;
265
+ T.displayName = "GridRow";
266
+ T.propTypes = Q;
267
+ T.defaultProps = X;
268
268
  const Y = "_cardTitle_ny9m0_1", Z = "_cardBody_ny9m0_5", ee = "_cardContent_ny9m0_10", te = "_row_ny9m0_14", re = "_font_ny9m0_18", le = "_fontHeader_ny9m0_23", ae = "_title_ny9m0_27", ne = "_emptyContainer_ny9m0_33", oe = "_empty_ny9m0_33", p = {
269
269
  cardTitle: Y,
270
270
  cardBody: Z,
@@ -294,7 +294,7 @@ const Y = "_cardTitle_ny9m0_1", Z = "_cardBody_ny9m0_5", ee = "_cardContent_ny9m
294
294
  "data-testid": `card${o ? "-" + l[o.accessor] : ""}`,
295
295
  children: /* @__PURE__ */ C(z, { className: p.cardContent, "data-testid": "card-content", children: [
296
296
  /* @__PURE__ */ n(ie, { item: l, titleColumn: o, subTitleColumn: d }),
297
- /* @__PURE__ */ n(D, { className: p.cardBody, "data-testid": "card-body", children: /* @__PURE__ */ n(T, { fullHeight: !0, fullWidth: !0, variant: "none", children: i.map((r) => a?.includes(r.id) ? null : /* @__PURE__ */ C(v, { className: p.row, "data-testid": "row", children: [
297
+ /* @__PURE__ */ n(D, { className: p.cardBody, "data-testid": "card-body", children: /* @__PURE__ */ n(v, { fullHeight: !0, fullWidth: !0, variant: "none", children: i.map((r) => a?.includes(r.id) ? null : /* @__PURE__ */ C(T, { className: p.row, "data-testid": "row", children: [
298
298
  /* @__PURE__ */ n(_, { horizontalAlign: "right", ...H, children: /* @__PURE__ */ C(
299
299
  O,
300
300
  {
@@ -324,7 +324,7 @@ const Y = "_cardTitle_ny9m0_1", Z = "_cardBody_ny9m0_5", ee = "_cardContent_ny9m
324
324
  primaryText: t !== void 0 && /* @__PURE__ */ n(N, { column: t, item: l, isTitle: !0 }),
325
325
  secondaryText: a !== void 0 && /* @__PURE__ */ n(N, { column: a, item: l, isTitle: !0 }),
326
326
  trailingBlock: o,
327
- trailingBlockType: "title-actions"
327
+ trailingBlockType: o ? "title-actions" : void 0
328
328
  }
329
329
  ),
330
330
  /* @__PURE__ */ n(M, {})
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, Fragment as m } from "react/jsx-runtime";
2
- import { a as t, s } from "../../react.esm-DNwojocF.js";
2
+ import { a as t, s } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { a } from "../../useBreakpoints-MzTZ0tCT.js";
4
4
  import { AlertBanner as n } from "./AlertBanner.js";
5
5
  import { d as p, b as c, v as l, t as r, g as o } from "../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -28,7 +28,7 @@ import '../../assets/BaseView.css';const V = "_divider_dw2rc_1", j = "_maxWidth_
28
28
  searchPlaceholder: b
29
29
  }) => {
30
30
  const { isDesktopNavbar: i } = A(), t = d(() => a.find((L) => L.route === n), [n, a]), D = d(() => t?.component ?? (i ? /* @__PURE__ */ e(W, { subtitle: m }) : /* @__PURE__ */ e(x, {})), [t, i, m]), g = d(() => i ? !0 : !t, [t, i]), k = d(() => i ? !0 : t, [t, i]);
31
- return /* @__PURE__ */ s(r, { "data-testid": "base-view-container", className: _ ?? "", gap: "", fullWidth: !0, children: [
31
+ return /* @__PURE__ */ s(r, { "data-testid": "base-view-container", className: _ ?? "", gap: "none", fullWidth: !0, children: [
32
32
  g && /* @__PURE__ */ e(r, { gap: "none", className: i ? o.desktopList : o.mobileList, children: /* @__PURE__ */ s(r, { direction: "vertical", fullWidth: !0, gap: i ? "standard" : "dense", children: [
33
33
  c && /* @__PURE__ */ e(u, { "data-testid": "heading", heading: c, level: 4, marginBottom: 0, children: l }),
34
34
  /* @__PURE__ */ e(
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, Fragment as s } from "react/jsx-runtime";
2
- import { a as r, s as e, f as p } from "../../react.esm-DNwojocF.js";
2
+ import { a as r, s as e, f as p } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { a as l } from "../../useBreakpoints-MzTZ0tCT.js";
4
4
  import { BaseView as i } from "./BaseView.js";
5
5
  import { d as u, b as m, v as c, t as n, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as o, Fragment as c } from "react/jsx-runtime";
2
2
  import { B as g } from "../../index.es-CiqbARoC.js";
3
- import { a, s as n } from "../../react.esm-DNwojocF.js";
3
+ import { a, s as n } from "../../react.esm-CX1WJ2Pp.js";
4
4
  import { BasicHeading as i } from "./BasicHeading.js";
5
5
  import { d as h, t as s, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
6
6
  h("BasicHeading-Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
- import { a as s, s as o, f as n } from "../../react.esm-DNwojocF.js";
2
+ import { a as s, s as o, f as n } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { BlockView as i } from "./BlockView.js";
4
4
  import { d as a, v as B, t as r, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  a("BlockView Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { a, s as i } from "../../react.esm-DNwojocF.js";
2
+ import { a, s as i } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { ChipCard as n } from "./ChipCard.js";
4
4
  import { d as s, t as c, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  s("ChipCard Component", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { a as B, s as t, f as o, w as s } from "../../react.esm-DNwojocF.js";
2
+ import { a as B, s as t, f as o, w as s } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { ContextMenu as p } from "./ContextMenu.js";
4
4
  import { v as l, d as k, t as T, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const C = l.fn(), a = l.fn(), i = l.fn(), g = [
@@ -15,7 +15,7 @@ k("ContextMenu Test", () => {
15
15
  }), T("render ContextMenu and open it", async () => {
16
16
  B(/* @__PURE__ */ r(p, { actions: g, triggerOpen: !0 }));
17
17
  const c = t.getByTestId("open-button"), n = t.getByTestId("selection-menu");
18
- e(n).toBeInTheDocument(), e(n).not.toHaveClass("mdc-menu-surface--open"), o.click(c), s(() => e(n).toHaveClass("mdc-menu-surface--open")), e(t.getByText("Open")).toBeInTheDocument(), e(t.getByText("Delete")).toBeInTheDocument(), e(t.getByText("Edit")).toBeInTheDocument();
18
+ e(n).toBeInTheDocument(), e(n).not.toHaveClass("mdc-menu-surface--open"), o.click(c), await s(() => e(n).toHaveClass("mdc-menu-surface--animating-open")), e(t.getByText("Open")).toBeInTheDocument(), e(t.getByText("Delete")).toBeInTheDocument(), e(t.getByText("Edit")).toBeInTheDocument();
19
19
  const m = t.getByTestId("list-item-button-Open"), u = t.getByTestId("list-item-button-Delete"), d = t.getByTestId("list-item-button-Edit");
20
20
  e(m).toBeInTheDocument(), e(u).toBeInTheDocument(), e(d).toBeInTheDocument(), o.click(m), e(C).toHaveBeenCalled(), e(i).not.toHaveBeenCalled(), e(a).not.toHaveBeenCalled(), o.click(u), e(i).toHaveBeenCalled(), o.click(d), e(a).toHaveBeenCalled();
21
21
  });
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as c, s as e } from "../../react.esm-DNwojocF.js";
2
+ import { a as c, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { DeleteModal as b } from "./DeleteModal.js";
4
4
  import { d as B, t as a, v as o, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  B("DeleteModal Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { a as r, s as t } from "../../react.esm-DNwojocF.js";
2
+ import { a as r, s as t } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { Disclaimer as s } from "./Disclaimer.js";
4
4
  import { d as i, t as m, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  i("Disclaimer test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as s, s as o, w as r, f as l } from "../../react.esm-DNwojocF.js";
2
+ import { a as s, s as o, w as r, f as l } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { EmptyView as c } from "./EmptyView.js";
4
4
  import { d as h, t as T, g as e, v as d } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  h("EmptyView", () => {
@@ -1,11 +1,12 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { a, s as t, f as c, t as u, w as d } from "../../react.esm-DNwojocF.js";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { a, s as t, f as u, w as d } from "../../react.esm-CX1WJ2Pp.js";
3
+ import { act as c } from "react";
3
4
  import { a as s } from "../../useBreakpoints-MzTZ0tCT.js";
4
5
  import { Filter as T } from "./Filter.js";
5
- import { v as x, b as f, d as y, t as B, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
6
- const o = x.fn();
6
+ import { v as m, b as f, d as y, t as B, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
7
+ const o = m.fn();
7
8
  f(() => {
8
- x.spyOn(s, "useBreakpoints").mockReturnValue({
9
+ m.spyOn(s, "useBreakpoints").mockReturnValue({
9
10
  isDesktop: !0,
10
11
  isMobile: !1,
11
12
  isTablet: !1,
@@ -49,7 +50,7 @@ y("Filter", () => {
49
50
  ];
50
51
  B("should render filter", () => {
51
52
  a(
52
- /* @__PURE__ */ r(
53
+ /* @__PURE__ */ i(
53
54
  T,
54
55
  {
55
56
  filters: l,
@@ -63,15 +64,15 @@ y("Filter", () => {
63
64
  }
64
65
  )
65
66
  ), e(t.getByText("filterButtonText")).toBeInTheDocument(), e(t.getByText("filterModalTitle")).toBeInTheDocument(), e(t.getByText("modalCancelButtonText")).toBeInTheDocument(), e(t.getByText("modalConfirmButtonText")).toBeInTheDocument(), e(t.getByText("clearFilterText")).toBeInTheDocument(), e(t.getByText("Filter 1")).toBeInTheDocument(), e(t.getByText("Filter 2")).toBeInTheDocument(), e(t.getByText("Option 1")).toBeInTheDocument(), e(t.getByText("Option 3")).toBeInTheDocument(), e(t.getByTestId("farm")).toBeInTheDocument(), e(t.getByText("Filter Toggle")).toBeInTheDocument();
66
- const i = t.getByRole("textbox");
67
- e(i.getAttribute("placeholder")).toBe("Filter Search");
68
- const m = t.getByRole("button", { name: "modalConfirmButtonText" });
69
- c.click(m), u.act(() => {
67
+ const r = t.getByRole("textbox");
68
+ e(r.getAttribute("placeholder")).toBe("Filter Search");
69
+ const x = t.getByRole("button", { name: "modalConfirmButtonText" });
70
+ u.click(x), c(() => {
70
71
  e(o).toHaveBeenCalledTimes(1), e(t.getByText("2")).toBeInTheDocument();
71
72
  });
72
73
  }), B("should clear filter", () => {
73
74
  a(
74
- /* @__PURE__ */ r(
75
+ /* @__PURE__ */ i(
75
76
  T,
76
77
  {
77
78
  filters: l,
@@ -85,13 +86,13 @@ y("Filter", () => {
85
86
  }
86
87
  )
87
88
  );
88
- const i = t.getByText("clearFilterText");
89
- c.click(i), u.act(() => {
89
+ const r = t.getByText("clearFilterText");
90
+ u.click(r), c(() => {
90
91
  e(o).toHaveBeenCalledTimes(1), e(t.queryByTestId("filter-badge")).not.toBeInTheDocument();
91
92
  });
92
93
  }), B("should close filter", () => {
93
94
  a(
94
- /* @__PURE__ */ r(
95
+ /* @__PURE__ */ i(
95
96
  T,
96
97
  {
97
98
  filters: l,
@@ -105,15 +106,15 @@ y("Filter", () => {
105
106
  }
106
107
  )
107
108
  );
108
- const i = t.getByRole("button", { name: "modalCancelButtonText" });
109
- c.click(i), u.act(() => {
109
+ const r = t.getByRole("button", { name: "modalCancelButtonText" });
110
+ u.click(r), c(() => {
110
111
  e(o).toHaveBeenCalledTimes(1), e(t.queryByTestId("filter-badge")).not.toBeInTheDocument();
111
112
  }), d(() => {
112
113
  e(t.queryByText("filterModalTitle")).not.toBeInTheDocument(), e(t.queryByText("modalCancelButtonText")).not.toBeInTheDocument(), e(t.queryByText("modalConfirmButtonText")).not.toBeInTheDocument(), e(t.queryByText("clearFilterText")).not.toBeInTheDocument();
113
114
  });
114
115
  }), B("should render as icon button ", () => {
115
116
  a(
116
- /* @__PURE__ */ r(
117
+ /* @__PURE__ */ i(
117
118
  T,
118
119
  {
119
120
  filters: l,
@@ -130,7 +131,7 @@ y("Filter", () => {
130
131
  ), e(t.queryByText("filterButtonText")).not.toBeInTheDocument(), e(t.getByText("filter_list_alt")).toBeInTheDocument(), e(t.getByText("filter_list_alt").tagName).toBe("I");
131
132
  }), B("should render filter without modal", () => {
132
133
  a(
133
- /* @__PURE__ */ r(
134
+ /* @__PURE__ */ i(
134
135
  T,
135
136
  {
136
137
  filters: l,
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a as n, s as t, f as m } from "../../../react.esm-DNwojocF.js";
2
+ import { a as n, s as t, f as m } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormCheckBox as c } from "./FormCheckBox.js";
4
4
  import { v as e, d as h, t as l, g as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const a = e.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as s, s as a, f as m } from "../../../react.esm-DNwojocF.js";
2
+ import { a as s, s as a, f as m } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormDatePicker as c } from "./FormDatePicker.js";
4
4
  import { v as e, d as f, t as l, g as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const i = e.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { a, s as n } from "../../../react.esm-DNwojocF.js";
2
+ import { a, s as n } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormNumber as s } from "./FormNumber.js";
4
4
  import { v as e, d as m, t as f, g as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const l = e.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as s, s as t, f as m } from "../../../react.esm-DNwojocF.js";
2
+ import { a as s, s as t, f as m } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormRadio as l } from "./FormRadio.js";
4
4
  import { v as e, d as c, t as i, g as o } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const r = e.fn();
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { a, s as t, f as T, w as p } from "../../../react.esm-DNwojocF.js";
3
- import { u as B } from "../../../index-CrcXCSzI.js";
2
+ import { a, s as t, f as T, w as p } from "../../../react.esm-CX1WJ2Pp.js";
3
+ import { u as B } from "../../../index-I7uTh4Tr.js";
4
4
  import { FormSelect as i } from "./FormSelect.js";
5
5
  import { SelectTooltipText as d } from "./SelectTooltipText.js";
6
6
  import { v as n, d as f, t as u, g as e } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a, s as n } from "../../../react.esm-DNwojocF.js";
2
+ import { a, s as n } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormSlider as l } from "./FormSlider.js";
4
4
  import { v as e, d as m, t as i, g as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const o = e.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as s, s as r, f as i } from "../../../react.esm-DNwojocF.js";
2
+ import { a as s, s as r, f as i } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormText as o } from "./FormText.js";
4
4
  import { v as a, d as u, t as l, g as e } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const d = a.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a as n, s as t, f as m } from "../../../react.esm-DNwojocF.js";
2
+ import { a as n, s as t, f as m } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { FormToggle as l } from "./FormToggle.js";
4
4
  import { v as e, d as f, t as c, g as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const a = e.fn();
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, jsxs as B } from "react/jsx-runtime";
2
- import { a as o, s as e } from "../../react.esm-DNwojocF.js";
2
+ import { a as o, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { a as m } from "../../useBreakpoints-MzTZ0tCT.js";
4
4
  import { GenericTable as s } from "./GenericTable.js";
5
5
  import { d as h, v as r, t as i, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../../index.es-6TJ1S8Jr.js";
3
- import { G as a } from "../../../GenericCard-6J558OgP.js";
3
+ import { G as a } from "../../../GenericCard-CelFEWlW.js";
4
4
  import "../../../index.es-CF_xy2ns.js";
5
5
  import "react";
6
6
  import "../../OverflowTooltip/OverflowTooltip.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as c, s as o } from "../../../react.esm-DNwojocF.js";
3
- import { G as i } from "../../../GenericCard-6J558OgP.js";
2
+ import { a as c, s as o } from "../../../react.esm-CX1WJ2Pp.js";
3
+ import { G as i } from "../../../GenericCard-CelFEWlW.js";
4
4
  import { d as m, t as s, g as e } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  m("GenericCard", () => {
6
6
  const d = {
@@ -2,7 +2,7 @@ import { jsx as r } from "react/jsx-runtime";
2
2
  import { G as d } from "../../../index.es-DntoATwO.js";
3
3
  import { P as l } from "../../../index.es-D-CKRzIB.js";
4
4
  import { a as c } from "../../../index.es-CF_xy2ns.js";
5
- import { s as t, G as m } from "../../../GenericCard-6J558OgP.js";
5
+ import { s as t, G as m } from "../../../GenericCard-CelFEWlW.js";
6
6
  const g = ({
7
7
  columns: n,
8
8
  data: e,
@@ -1,8 +1,8 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { a as r, s as n, w as l } from "../../../react.esm-DNwojocF.js";
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { a as r, s as o, w as l } from "../../../react.esm-CX1WJ2Pp.js";
3
3
  import { GenericCardList as s } from "./GenericCardList.js";
4
- import { d as g, t as i, g as e } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
- g("GenericCardList", () => {
4
+ import { d as m, t as i, g as e } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
+ m("GenericCardList", () => {
6
6
  const d = [
7
7
  { id: "name", header: "Name", accessor: "name", asCardTitle: !0 },
8
8
  { id: "age", header: "Age", accessor: "age" },
@@ -14,19 +14,19 @@ g("GenericCardList", () => {
14
14
  name: "John Doe",
15
15
  age: 30,
16
16
  gender: "male",
17
- actions: /* @__PURE__ */ o("button", { children: "View" })
17
+ actions: /* @__PURE__ */ n("button", { children: "View" })
18
18
  },
19
19
  {
20
20
  id: 2,
21
21
  name: "Jane Smith",
22
22
  age: 25,
23
23
  gender: "female",
24
- actions: /* @__PURE__ */ o("button", { children: "Edit" })
24
+ actions: /* @__PURE__ */ n("button", { children: "Edit" })
25
25
  }
26
26
  ];
27
27
  i("renders noContentText when data is empty", () => {
28
28
  r(
29
- /* @__PURE__ */ o(
29
+ /* @__PURE__ */ n(
30
30
  s,
31
31
  {
32
32
  columns: d,
@@ -36,11 +36,11 @@ g("GenericCardList", () => {
36
36
  }
37
37
  )
38
38
  );
39
- const a = n.getByText("No data available");
39
+ const a = o.getByText("No data available");
40
40
  e(a).toBeInTheDocument();
41
41
  }), i("renders cards with correct data", () => {
42
42
  r(
43
- /* @__PURE__ */ o(
43
+ /* @__PURE__ */ n(
44
44
  s,
45
45
  {
46
46
  columns: d,
@@ -50,13 +50,13 @@ g("GenericCardList", () => {
50
50
  }
51
51
  )
52
52
  );
53
- const a = n.getAllByTestId("card-title");
53
+ const a = o.getAllByTestId("card-title");
54
54
  e(a).toHaveLength(2), e(a[0]).toHaveTextContent("John Doe"), e(a[1]).toHaveTextContent("Jane Smith");
55
- const t = n.getAllByTestId("card-body");
55
+ const t = o.getAllByTestId("card-body");
56
56
  e(t).toHaveLength(2), e(t[0]).toHaveTextContent("Age:"), e(t[0]).toHaveTextContent("30"), e(t[1]).toHaveTextContent("Age:"), e(t[1]).toHaveTextContent("25");
57
57
  }), i("renders columns in correct order", () => {
58
58
  r(
59
- /* @__PURE__ */ o(
59
+ /* @__PURE__ */ n(
60
60
  s,
61
61
  {
62
62
  columns: d,
@@ -66,10 +66,10 @@ g("GenericCardList", () => {
66
66
  }
67
67
  )
68
68
  ), l(() => {
69
- const a = n.getAllByTestId("card-body");
69
+ const a = o.getAllByTestId("card-body");
70
70
  e(a).toHaveLength(1);
71
- const t = n.getAllByTestId("row");
72
- e(t).toHaveLength(3), n.debug(), e(t[0]).toHaveTextContent("Gender:"), e(t[1]).toHaveTextContent("Age:"), e(t[1]).toHaveTextContent("Id:");
71
+ const t = o.getAllByTestId("row");
72
+ e(t).toHaveLength(3), e(t[0]).toHaveTextContent("Gender:"), e(t[1]).toHaveTextContent("Age:"), e(t[1]).toHaveTextContent("Id:");
73
73
  });
74
74
  });
75
75
  });
@@ -1,5 +1,5 @@
1
1
  import { jsx as n, Fragment as o } from "react/jsx-runtime";
2
- import { a, s as e, f as r } from "../../react.esm-DNwojocF.js";
2
+ import { a, s as e, f as r } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { HashTabView as c } from "./HashTabView.js";
4
4
  import { d as h, t as l, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  const m = [
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a as i, s as t, f as T } from "../../react.esm-DNwojocF.js";
2
+ import { a as i, s as t, f as T } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { HeaderFilter as s } from "./HeaderFilter.js";
4
4
  import { d as c, t as o, v as l, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  c("HeaderFilter-Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { a as s, s as e } from "../../react.esm-DNwojocF.js";
2
+ import { a as s, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { HealthCheckFailed as r } from "./HealthCheckFailed.js";
4
4
  import { d as h, t as i, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  h("HealthCheckFailed Component", () => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { Iconify as c } from "./Iconify.js";
3
3
  import { AvailableCustomIcons as l } from "../../enums/AvailableCustomIcons.js";
4
- import { a as r, w as s, s as i } from "../../react.esm-DNwojocF.js";
4
+ import { a as r, w as s, s as i } from "../../react.esm-CX1WJ2Pp.js";
5
5
  import { d as f, t as a, g as o } from "../../vi.CjhMlMwf-BCJNwXvu.js";
6
6
  f("Iconify Test", async () => {
7
7
  const m = Object.keys(l).filter((e) => isNaN(Number(e)));
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { a as l, s as t } from "../../react.esm-DNwojocF.js";
2
+ import { a as l, s as t } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { InfoGroup as r } from "./InfoGroup.js";
4
4
  import { d as s, t as i, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  s("InfoGroup Test", () => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as r, Fragment as i } from "react/jsx-runtime";
2
2
  import { c as p } from "../../index.es-CF_xy2ns.js";
3
- import { a as s, s as a, f as u } from "../../react.esm-DNwojocF.js";
3
+ import { a as s, s as a, f as u } from "../../react.esm-CX1WJ2Pp.js";
4
4
  import { ListArea as c } from "./ListArea.js";
5
5
  import { g as h } from "../../ListAreaService-DOwtdRa4.js";
6
6
  import { d as m, t as n, g as t } from "../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { s as r, B as n } from "../../../BigLoadingSpinner-iegTbDcD.js";
3
- import { a as i, s as e } from "../../../react.esm-DNwojocF.js";
3
+ import { a as i, s as e } from "../../../react.esm-CX1WJ2Pp.js";
4
4
  import { d as g, t as a, g as t } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  g("BigLoadingSpinner Test", () => {
6
6
  a("render BigLoadingSpinner with custom loading text", () => {
@@ -1,5 +1,6 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { a, s as e, b as s } from "../../../react.esm-DNwojocF.js";
2
+ import { a, s as e } from "../../../react.esm-CX1WJ2Pp.js";
3
+ import { act as s } from "react";
3
4
  import { LoadingSpinner as i } from "./LoadingSpinner.js";
4
5
  import { d as m, b as d, t as o, g as t, a as r } from "../../../vi.CjhMlMwf-BCJNwXvu.js";
5
6
  m("LoadingSpinner Test", () => {
@@ -924,7 +924,7 @@ const Rt = "_modal_a4n3a_1", Bt = {
924
924
  {
925
925
  ...i,
926
926
  "data-testid": "modal",
927
- className: `${i.className ?? ""} ${i.modalSize === "fullscreen" ? Bt.modal : ""}`
927
+ className: `${Bt.modal} ${i.className ?? ""}`
928
928
  }
929
929
  );
930
930
  export {
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { a as o, s as e } from "../../react.esm-DNwojocF.js";
2
+ import { a as o, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { a } from "../../useBreakpoints-MzTZ0tCT.js";
4
4
  import { ModulePadding as d } from "./ModulePadding.js";
5
5
  import { d as r, t as i, v as n, g as s } from "../../vi.CjhMlMwf-BCJNwXvu.js";
@@ -10,7 +10,7 @@ r("ModulePadding Test", () => {
10
10
  isTablet: !1,
11
11
  isDesktop: !0,
12
12
  isDesktopNavbar: !0
13
- }), o(/* @__PURE__ */ t(d, { children: "Content" })), e.debug(), s(e.getByText("Content")).toBeInTheDocument(), s(e.getByTestId("module-padding")).toHaveClass("lmnt-padding--standard");
13
+ }), o(/* @__PURE__ */ t(d, { children: "Content" })), s(e.getByText("Content")).toBeInTheDocument(), s(e.getByTestId("module-padding")).toHaveClass("lmnt-padding--standard");
14
14
  }), i("should render with padding of 8px for mobile", () => {
15
15
  n.spyOn(a, "useBreakpoints").mockReturnValue({
16
16
  isMobile: !0,
@@ -1,7 +1,7 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { T as n } from "../../index.es-CF_xy2ns.js";
3
- import { a as i, s as e, w as s } from "../../react.esm-DNwojocF.js";
4
- import { u as a } from "../../index-CrcXCSzI.js";
3
+ import { a as i, s as e, w as s } from "../../react.esm-CX1WJ2Pp.js";
4
+ import { u as a } from "../../index-I7uTh4Tr.js";
5
5
  import { OverflowTooltip as c } from "./OverflowTooltip.js";
6
6
  import { d as u, t as p, g as r } from "../../vi.CjhMlMwf-BCJNwXvu.js";
7
7
  u("OverflowTooltip Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a, s as e } from "../../react.esm-DNwojocF.js";
2
+ import { a, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { ScrollbarY as d, ScrollbarX as l } from "./Scrollbar.js";
4
4
  import { d as c, t, g as o } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  c("Scrollbar", () => {
@@ -1,5 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { a as r, s as t, f as h, b as l } from "../../react.esm-DNwojocF.js";
2
+ import { a as r, s as t, f as h } from "../../react.esm-CX1WJ2Pp.js";
3
+ import { act as l } from "react";
3
4
  import { SearchBar as s } from "./SearchBar.js";
4
5
  import { d as m, t as o, v as n, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
6
  m("SearchBar Test", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a, s as c } from "../../react.esm-DNwojocF.js";
2
+ import { a, s as c } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { Select as n } from "./Select.js";
4
4
  import { d as l, t as m, g as e } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  l("Select", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { a as r } from "../../react.esm-DNwojocF.js";
2
+ import { a as r } from "../../react.esm-CX1WJ2Pp.js";
3
3
  import { VerticalDivider as s } from "./VerticalDivider.js";
4
4
  import { d as o, t as l, g as i } from "../../vi.CjhMlMwf-BCJNwXvu.js";
5
5
  o("VerticalDivider Test", () => {
@@ -1,4 +1,4 @@
1
- import { r as t, w as s } from "../react.esm-DNwojocF.js";
1
+ import { r as t, w as s } from "../react.esm-CX1WJ2Pp.js";
2
2
  import { u as o } from "../useBreakpoints-MzTZ0tCT.js";
3
3
  import { d as a, t as i, g as r } from "../vi.CjhMlMwf-BCJNwXvu.js";
4
4
  a("useBreakpoint Test", () => {
@@ -1,4 +1,4 @@
1
- import { c as Ql, d as go, e as Yl, l as js } from "./react.esm-DNwojocF.js";
1
+ import { b as Ql, c as go, d as Yl, l as js } from "./react.esm-CX1WJ2Pp.js";
2
2
  function M(e, t, r) {
3
3
  return e.namespaceURI && e.namespaceURI !== "http://www.w3.org/1999/xhtml" || (t = Array.isArray(t) ? t : [
4
4
  t
@@ -13757,14 +13757,12 @@ if ((typeof process > "u" || !process.env?.RTL_SKIP_AUTO_CLEANUP) && (typeof aft
13757
13757
  }
13758
13758
  export {
13759
13759
  rv as a,
13760
- jr as b,
13761
- rp as c,
13762
- Rl as d,
13763
- sp as e,
13760
+ rp as b,
13761
+ Rl as c,
13762
+ sp as d,
13764
13763
  Re as f,
13765
13764
  lg as l,
13766
13765
  Aq as r,
13767
13766
  Bq as s,
13768
- mv as t,
13769
13767
  Kg as w
13770
13768
  };
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": "0.0.11949",
4
+ "version": "1.0.1",
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>",
@@ -9,7 +9,8 @@
9
9
  "main": "dist/main.js",
10
10
  "types": "dist/main.d.ts",
11
11
  "files": [
12
- "dist"
12
+ "dist",
13
+ "CHANGELOG.md"
13
14
  ],
14
15
  "sideEffects": [
15
16
  "**/*.css"
@@ -17,9 +18,49 @@
17
18
  "publishConfig": {
18
19
  "registry": "https://registry.npmjs.org/"
19
20
  },
21
+ "commitlint": {
22
+ "extends": [
23
+ "./node_modules/@commitlint/config-conventional"
24
+ ]
25
+ },
26
+ "husky": {
27
+ "hooks": {
28
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
29
+ }
30
+ },
31
+ "release": {
32
+ "plugins": [
33
+ "@semantic-release/commit-analyzer",
34
+ "@semantic-release/release-notes-generator",
35
+ "semantic-release-ado",
36
+ [
37
+ "@semantic-release/npm",
38
+ {
39
+ "npmPublish": false
40
+ }
41
+ ],
42
+ [
43
+ "@semantic-release/changelog",
44
+ {
45
+ "changelogFile": "CHANGELOG.md"
46
+ }
47
+ ],
48
+ [
49
+ "@semantic-release/git",
50
+ {
51
+ "assets": [
52
+ "package.json",
53
+ "CHANGELOG.md"
54
+ ],
55
+ "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
56
+ }
57
+ ]
58
+ ]
59
+ },
20
60
  "scripts": {
21
61
  "start": "vite",
22
62
  "build": "tsc --p ./tsconfig-build.json && vite build",
63
+ "release": "npx -p semantic-release -p semantic-release-ado semantic-release",
23
64
  "test": "vitest",
24
65
  "test:ui": "vitest --ui --api 9527",
25
66
  "test:ci": "vitest run --coverage --coverage.include=lib",
@@ -37,8 +78,13 @@
37
78
  },
38
79
  "devDependencies": {
39
80
  "@chromatic-com/storybook": "^3.2.4",
81
+ "@commitlint/cli": "^19.8.0",
82
+ "@commitlint/config-conventional": "^19.8.0",
40
83
  "@element-public/react-components": "^2.0.0-alpha.1",
41
84
  "@element-public/themes": "^2.0.0",
85
+ "@semantic-release/changelog": "^6.0.3",
86
+ "@semantic-release/exec": "^7.0.3",
87
+ "@semantic-release/git": "^10.0.1",
42
88
  "@storybook/addon-essentials": "^8.5.3",
43
89
  "@storybook/addon-interactions": "^8.5.3",
44
90
  "@storybook/addon-links": "^8.5.3",
@@ -65,6 +111,7 @@
65
111
  "eslint-plugin-react-refresh": "^0.4.5",
66
112
  "eslint-plugin-storybook": "^0.11.2",
67
113
  "glob": "^10.3.10",
114
+ "husky": "^9.1.7",
68
115
  "jsdom": "^24.0.0",
69
116
  "lodash": "^4.17.21",
70
117
  "react": "^18.3.1",
@@ -72,6 +119,7 @@
72
119
  "react-hook-form": "^7.51.2",
73
120
  "react-number-format": "^5.4.3",
74
121
  "react-tooltip": "^5.26.4",
122
+ "semantic-release-ado": "^1.4.0",
75
123
  "storybook": "^8.5.3",
76
124
  "typescript": "^5.2.2",
77
125
  "vite": "^6.1.0",