@hortiview/shared-components 2.8.1 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [2.8.2](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.8.1...v2.8.2) (2025-11-07)
2
+
3
+ ### Code Refactoring
4
+
5
+ * add new icon to healthCheck component + the possibility to render it fullHeight ([a129906](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/a129906860901343ced5af2260ad76ee437c0c35))
6
+ * rename HealthCheckFailed to InfoCard ([656283b](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/656283b3ad71fd0214f41d038e7daa342a0d3181))
7
+ * rename story file ([9809bcb](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/commit/9809bcbc58f26ea19aed1baa909b8d284d010ac3))
8
+
1
9
  ## [2.8.1](https://dev.azure.com/sdundc/HV%20Platform/_git/HortiView-Frontend-Shared/compare/v2.8.0...v2.8.1) (2025-10-28)
2
10
 
3
11
  ### Code Refactoring
package/README.md CHANGED
@@ -44,7 +44,7 @@ Additionally the library provides form components using [react-hook-form](https:
44
44
  1. [GenericTable](#generictable)
45
45
  1. [HashTabView](#hashtabview)
46
46
  1. [HeaderFilter](#headerfilter)
47
- 1. [HealthCheckFailed](#healthcheckfailed)
47
+ 1. [InfoCard](#infocard)
48
48
  1. [InfoGroup](#infogroup)
49
49
  1. [Iconify](#iconify)
50
50
  1. [ListArea](#listarea)
@@ -647,16 +647,18 @@ const [filterValue, setFilterValue] = useState<string>();
647
647
  />
648
648
  ```
649
649
 
650
- ### HealthCheckFailed
650
+ ### InfoCard
651
651
 
652
- A screen that shows a health check failed message. It can be used if the check for database health, iot health or HV platform health fails. Please use the following `title` and `subtitle` for each type to ensure a consistent user experience:
652
+ A screen that can be used to inform the user about the status of a process. It can be used if the check for database health, iot health or HV platform health fails. Please use the following `title` and `subtitle` for each type to ensure a consistent user experience.
653
+
654
+ Note: These specific titles have been included in the default components.
653
655
 
654
656
  ```jsx
655
- import { HealthCheckFailed } from '@hortiview/shared-components';
657
+ import { InfoCard } from '@hortiview/shared-components';
656
658
 
657
659
  if (isPlatformHealthy === false) {
658
660
  return (
659
- <HealthCheckFailed
661
+ <InfoCard
660
662
  title='The platform data used by this module cannot be retrieved currently.'
661
663
  subtitle='Please wait or come back later.'
662
664
  type='platform'
@@ -666,7 +668,7 @@ if (isPlatformHealthy === false) {
666
668
 
667
669
  if (isDbHealthy === false) {
668
670
  return (
669
- <HealthCheckFailed
671
+ <InfoCard
670
672
  title='The data for this module is loading!'
671
673
  subtitle='Please wait or come back later.'
672
674
  type='database'
@@ -676,7 +678,7 @@ if (isDbHealthy === false) {
676
678
 
677
679
  if (isIotServiceHealthy === false) {
678
680
  return (
679
- <HealthCheckFailed
681
+ <InfoCard
680
682
  title='The data of your devices cannot be retrieved currently.'
681
683
  subtitle='The problem is being addressed by our technical team. Please come back later.'
682
684
  type='iot'
@@ -689,7 +691,7 @@ Set the type to `other` to catch generic errors. Again, please use the `title` a
689
691
 
690
692
  ```jsx
691
693
  <ParentWithVisibleBorders>
692
- <HealthCheckFailed
694
+ <InfoCard
693
695
  title='Sorry, something went wrong!'
694
696
  subtitle='The problem is being addressed by our technical team. Please come back later.'
695
697
  type='other'
@@ -701,7 +703,7 @@ You can also control if the card is outlined or not, depending on the position i
701
703
 
702
704
  ```jsx
703
705
  <ParentWithVisibleBorders>
704
- <HealthCheckFailed
706
+ <InfoCard
705
707
  title='Sorry, something went wrong!'
706
708
  subtitle='The problem is being addressed by our technical team. Please come back later.'
707
709
  type='other'
@@ -712,7 +714,7 @@ You can also control if the card is outlined or not, depending on the position i
712
714
 
713
715
  ### InfoGroup
714
716
 
715
- Renders a section with several informations rendered next to each other (or below for mobile view)
717
+ Renders a section with several information rendered next to each other (or below for mobile view)
716
718
 
717
719
  ```jsx
718
720
  import { InfoGroup } from '@hortiview/shared-components';
@@ -0,0 +1 @@
1
+ ._database_1lcgt_1{color:var(--lmnt-theme-secondary);animation:_spin_1lcgt_1 4s linear infinite}@keyframes _spin_1lcgt_1{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}._done_1lcgt_16{color:var(--lmnt-theme-success)}._iot_1lcgt_20,._platform_1lcgt_21,._other_1lcgt_22{color:var(--lmnt-theme-danger)}._crossedOut_1lcgt_26{position:relative;display:inline-block}._crossedOut_1lcgt_26:after{content:"";position:absolute;width:3rem;height:.25rem;left:50%;top:50%;background:var(--lmnt-theme-danger-on-surface);box-shadow:0 0 0 .125rem var(--lmnt-theme-background);transform:translate(-50%,calc(-50% - .25rem)) rotate(45deg);transform-origin:center;z-index:2}._fullHeight_1lcgt_45{height:100%}
@@ -1,4 +1,4 @@
1
- export type HealthCheckFailedProps = {
1
+ export type InfoCardProps = {
2
2
  /**
3
3
  * Please check the shared components README for the correct title for each type.
4
4
  * Font size: 16px, font weight: 700
@@ -12,10 +12,14 @@ export type HealthCheckFailedProps = {
12
12
  /**
13
13
  * Type of the failed health check. Depending on the type, a different icon of 3rem size will be displayed.
14
14
  */
15
- type: 'database' | 'iot' | 'platform' | 'other';
15
+ type: 'database' | 'iot' | 'platform' | 'done' | 'other';
16
16
  /**
17
17
  * The card has a default outline. For design consistency, this prop should only be set to 'false' if the card is embedded, e.g. in a table.
18
18
  */
19
19
  isOutlined?: boolean;
20
+ /**
21
+ * If true, the card will take the full height of its container.
22
+ */
23
+ isFullHeight?: boolean;
20
24
  };
21
- export declare const HealthCheckFailed: ({ title, subtitle, type, isOutlined, }: HealthCheckFailedProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const InfoCard: ({ title, subtitle, type, isOutlined, isFullHeight, }: InfoCardProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,57 @@
1
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
+ import { C as d, a as h, b as _ } from "../../index.es-CDMu_yu0.js";
3
+ import { G as m } from "../../index.es-Dw1eih7R.js";
4
+ import { P as g } from "../../index.es-DFFyENnI.js";
5
+ import { T as s } from "../../index.es-1zrFd4Te.js";
6
+ import { Iconify as f } from "../Iconify/Iconify.js";
7
+ import '../../assets/InfoCard.css';const u = "_database_1lcgt_1", p = "_spin_1lcgt_1", C = "_done_1lcgt_16", y = "_iot_1lcgt_20", b = "_platform_1lcgt_21", H = "_other_1lcgt_22", N = "_crossedOut_1lcgt_26", k = "_fullHeight_1lcgt_45", n = {
8
+ database: u,
9
+ spin: p,
10
+ done: C,
11
+ iot: y,
12
+ platform: b,
13
+ other: H,
14
+ crossedOut: N,
15
+ fullHeight: k
16
+ }, G = ({
17
+ title: e,
18
+ subtitle: c,
19
+ type: a,
20
+ isOutlined: l = !0,
21
+ isFullHeight: r = !1
22
+ }) => {
23
+ const o = r ? n.fullHeight : "";
24
+ return /* @__PURE__ */ t(
25
+ d,
26
+ {
27
+ variant: l ? "outlined" : "flat",
28
+ "data-testid": `${a}-health-check-failed-card`,
29
+ bodyAlignment: "centered",
30
+ height: r ? "100%" : "auto",
31
+ children: /* @__PURE__ */ t(h, { className: o, children: /* @__PURE__ */ t(g, { variant: "airy", className: o, children: /* @__PURE__ */ t(_, { className: o, children: /* @__PURE__ */ i(
32
+ m,
33
+ {
34
+ gap: "none",
35
+ primaryAlign: "center",
36
+ secondaryAlign: "center",
37
+ direction: "vertical",
38
+ fullWidth: !0,
39
+ children: [
40
+ /* @__PURE__ */ t(x, { type: a }),
41
+ /* @__PURE__ */ t(s, { level: 1, bold: !0, children: e }),
42
+ /* @__PURE__ */ t(s, { level: 2, themeColor: "text-secondary-on-background", children: c })
43
+ ]
44
+ }
45
+ ) }) }) })
46
+ }
47
+ );
48
+ }, v = {
49
+ database: "sync",
50
+ iot: "settings_input_antenna",
51
+ platform: "engineering",
52
+ done: "sunny-check",
53
+ other: "error"
54
+ }, x = ({ type: e }) => /* @__PURE__ */ t("span", { className: e === "iot" ? n.crossedOut : "", children: /* @__PURE__ */ t(f, { icon: v[e], className: n[e], iconSize: "xlarge" }) });
55
+ export {
56
+ G as InfoCard
57
+ };
@@ -1,25 +1,25 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { a as s, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
- import { HealthCheckFailed as r } from "./HealthCheckFailed.js";
2
+ import { a as r, s as e } from "../../react.esm-CX1WJ2Pp.js";
3
+ import { InfoCard as s } from "./InfoCard.js";
4
4
  import { d as h, t as i, g as t } from "../../vi.CjhMlMwf-CKxPQtd6.js";
5
5
  h("HealthCheckFailed Component", () => {
6
- const c = "Test Title", n = "Test Subtitle";
6
+ const n = "Test Title", c = "Test Subtitle";
7
7
  i("displays the correct title and subtitle", () => {
8
- s(/* @__PURE__ */ a(r, { title: c, subtitle: n, type: "database" })), t(e.getByText(c)).toBeInTheDocument(), t(e.getByText(n)).toBeInTheDocument();
8
+ r(/* @__PURE__ */ a(s, { title: n, subtitle: c, type: "database" })), t(e.getByText(n)).toBeInTheDocument(), t(e.getByText(c)).toBeInTheDocument();
9
9
  }), i('displays the correct icon for type "database"', () => {
10
- s(/* @__PURE__ */ a(r, { title: c, subtitle: n, type: "database" }));
10
+ r(/* @__PURE__ */ a(s, { title: n, subtitle: c, type: "database" }));
11
11
  const o = e.getByText("sync");
12
12
  t(o).toBeInTheDocument(), t(e.getByTestId("database-health-check-failed-card")).toBeInTheDocument();
13
13
  }), i('displays the correct icon for type "iot"', () => {
14
- s(/* @__PURE__ */ a(r, { title: c, subtitle: n, type: "iot" }));
14
+ r(/* @__PURE__ */ a(s, { title: n, subtitle: c, type: "iot" }));
15
15
  const o = e.getByText("settings_input_antenna");
16
16
  t(o).toBeInTheDocument(), t(e.getByTestId("iot-health-check-failed-card")).toBeInTheDocument();
17
17
  }), i('displays the correct icon for type "platform"', () => {
18
- s(/* @__PURE__ */ a(r, { title: c, subtitle: n, type: "platform" }));
18
+ r(/* @__PURE__ */ a(s, { title: n, subtitle: c, type: "platform" }));
19
19
  const o = e.getByText("engineering");
20
20
  t(o).toBeInTheDocument(), t(e.getByTestId("platform-health-check-failed-card")).toBeInTheDocument();
21
21
  }), i('displays the correct icon for type "other"', () => {
22
- s(/* @__PURE__ */ a(r, { title: c, subtitle: n, type: "other" }));
22
+ r(/* @__PURE__ */ a(s, { title: n, subtitle: c, type: "other" }));
23
23
  const o = e.getByText("error");
24
24
  t(o).toBeInTheDocument(), t(e.getByTestId("other-health-check-failed-card")).toBeInTheDocument();
25
25
  });
package/dist/main.d.ts CHANGED
@@ -14,8 +14,8 @@ export { FormattedNumberDisplay } from './components/FormattedNumberDisplay/Form
14
14
  export { GenericTable } from './components/GenericTable/GenericTable';
15
15
  export { HashTabView } from './components/HashTabView/HashTabView';
16
16
  export { HeaderFilter } from './components/HeaderFilter/HeaderFilter';
17
- export { HealthCheckFailed } from './components/HealthCheckFailed/HealthCheckFailed';
18
17
  export { Iconify } from './components/Iconify/Iconify';
18
+ export { InfoCard } from './components/InfoCard/InfoCard';
19
19
  export { InfoGroup } from './components/InfoGroup/InfoGroup';
20
20
  export { ListArea } from './components/ListArea/ListArea';
21
21
  export { LoadingSpinner } from './components/LoadingSpinner/Default/LoadingSpinner';
@@ -47,7 +47,7 @@ export { capitalizeFirstLetters, getFormattedDateTime, getNumberAsLocaleString,
47
47
  export type { ActionProps } from './components/ContextMenu/ContextMenu';
48
48
  export type { FormSelectOption, FormSelectProps, } from './components/FormComponents/FormSelect/FormSelect';
49
49
  export type { FormTextProps } from './components/FormComponents/FormText/FormText';
50
- export type { HealthCheckFailedProps } from './components/HealthCheckFailed/HealthCheckFailed';
50
+ export type { InfoCardProps } from './components/InfoCard/InfoCard';
51
51
  export type { FieldItem } from './components/InfoGroup/InfoGroup';
52
52
  export type { LoadingSpinnerProps } from './components/LoadingSpinner/Default/LoadingSpinner';
53
53
  export type { Step, StepperBaseProps, StepperButtonProps, StepperProps, } from './components/Stepper/stepperTypes';
package/dist/main.js CHANGED
@@ -5,19 +5,19 @@ import { BasicHeading as a } from "./components/BasicHeading/BasicHeading.js";
5
5
  import { BlockView as A } from "./components/BlockView/BlockView.js";
6
6
  import { ChipCard as n } from "./components/ChipCard/ChipCard.js";
7
7
  import { ContextMenu as E } from "./components/ContextMenu/ContextMenu.js";
8
- import { DeleteModal as c } from "./components/DeleteModal/DeleteModal.js";
9
- import { DetailContentWrapper as _ } from "./components/DetailContentWrapper/DetailContentWrapper.js";
10
- import { Disclaimer as s } from "./components/Disclaimer/Disclaimer.js";
11
- import { EmptyView as G } from "./components/EmptyView/EmptyView.js";
8
+ import { DeleteModal as L } from "./components/DeleteModal/DeleteModal.js";
9
+ import { DetailContentWrapper as c } from "./components/DetailContentWrapper/DetailContentWrapper.js";
10
+ import { Disclaimer as F } from "./components/Disclaimer/Disclaimer.js";
11
+ import { EmptyView as T } from "./components/EmptyView/EmptyView.js";
12
12
  import { Filter as D } from "./components/Filter/Filter.js";
13
13
  import { FormattedNumberDisplay as M } from "./components/FormattedNumberDisplay/FormattedNumberDisplay.js";
14
14
  import { GenericTable as B } from "./components/GenericTable/GenericTable.js";
15
15
  import { HashTabView as O } from "./components/HashTabView/HashTabView.js";
16
16
  import { HeaderFilter as u } from "./components/HeaderFilter/HeaderFilter.js";
17
- import { HealthCheckFailed as H } from "./components/HealthCheckFailed/HealthCheckFailed.js";
18
- import { Iconify as V } from "./components/Iconify/Iconify.js";
19
- import { InfoGroup as P } from "./components/InfoGroup/InfoGroup.js";
20
- import { ListArea as w } from "./components/ListArea/ListArea.js";
17
+ import { Iconify as U } from "./components/Iconify/Iconify.js";
18
+ import { InfoCard as H } from "./components/InfoCard/InfoCard.js";
19
+ import { InfoGroup as w } from "./components/InfoGroup/InfoGroup.js";
20
+ import { ListArea as k } from "./components/ListArea/ListArea.js";
21
21
  import { LoadingSpinner as y } from "./components/LoadingSpinner/Default/LoadingSpinner.js";
22
22
  import { Modal as K } from "./components/Modal/Modal.js";
23
23
  import { ModulePadding as W } from "./components/ModulePadding/ModulePadding.js";
@@ -32,18 +32,18 @@ import { StepperIndicator as ir } from "./components/Stepper/components/StepperI
32
32
  import { Stepper as lr } from "./components/Stepper/Stepper.js";
33
33
  import { VerticalDivider as dr } from "./components/VerticalDivider/VerticalDivider.js";
34
34
  import { FormCheckBox as Sr } from "./components/FormComponents/FormCheckBox/FormCheckBox.js";
35
- import { FormDatePicker as Lr } from "./components/FormComponents/FormDatePicker/FormDatePicker.js";
36
- import { FormNumber as Fr } from "./components/FormComponents/FormNumber/FormNumber.js";
37
- import { FormRadio as Tr } from "./components/FormComponents/FormRadio/FormRadio.js";
38
- import { FormSelect as Ir } from "./components/FormComponents/FormSelect/FormSelect.js";
35
+ import { FormDatePicker as _r } from "./components/FormComponents/FormDatePicker/FormDatePicker.js";
36
+ import { FormNumber as sr } from "./components/FormComponents/FormNumber/FormNumber.js";
37
+ import { FormRadio as Ir } from "./components/FormComponents/FormRadio/FormRadio.js";
38
+ import { FormSelect as Gr } from "./components/FormComponents/FormSelect/FormSelect.js";
39
39
  import { FormSlider as Nr } from "./components/FormComponents/FormSlider/FormSlider.js";
40
40
  import { FormText as gr } from "./components/FormComponents/FormText/FormText.js";
41
41
  import { FormToggle as Cr } from "./components/FormComponents/FormToggle/FormToggle.js";
42
42
  import { SafeForm as br } from "./components/SafeForm/SafeForm.js";
43
43
  import { AvailableCustomIcons as Rr } from "./enums/AvailableCustomIcons.js";
44
- import { ThemeColor as Ur } from "./enums/ThemeColor.js";
45
- import { u as hr } from "./useBreakpoints-MzTZ0tCT.js";
46
- import { capitalizeFirstLetters as kr, getFormattedDateTime as wr, getNumberAsLocaleString as vr, trimLeadingAndTrailingSpaces as yr } from "./services/UtilService.js";
44
+ import { ThemeColor as Vr } from "./enums/ThemeColor.js";
45
+ import { u as Pr } from "./useBreakpoints-MzTZ0tCT.js";
46
+ import { capitalizeFirstLetters as hr, getFormattedDateTime as kr, getNumberAsLocaleString as vr, trimLeadingAndTrailingSpaces as yr } from "./services/UtilService.js";
47
47
  import { DATE_FORMAT as Kr, DATE_TIME_FORMAT as zr, TIME_FORMAT as Wr } from "./types/Time.js";
48
48
  import { AVAILABLE_COUNTRY_KEYS as jr, AVAILABLE_LOCALES as qr, ENGLISH_LANGUAGE_ID as Jr, GERMAN_LANGUAGE_ID as Qr, LANGUAGE_CODES_MAPPER as Zr, LANGUAGE_ID_MAPPER as $r, SPANISH_LANGUAGE_ID as ro, TURKISH_LANGUAGE_ID as oo } from "./types/Languages.js";
49
49
  export {
@@ -58,17 +58,17 @@ export {
58
58
  E as ContextMenu,
59
59
  Kr as DATE_FORMAT,
60
60
  zr as DATE_TIME_FORMAT,
61
- c as DeleteModal,
62
- _ as DetailContentWrapper,
63
- s as Disclaimer,
61
+ L as DeleteModal,
62
+ c as DetailContentWrapper,
63
+ F as Disclaimer,
64
64
  Jr as ENGLISH_LANGUAGE_ID,
65
- G as EmptyView,
65
+ T as EmptyView,
66
66
  D as Filter,
67
67
  Sr as FormCheckBox,
68
- Lr as FormDatePicker,
69
- Fr as FormNumber,
70
- Tr as FormRadio,
71
- Ir as FormSelect,
68
+ _r as FormDatePicker,
69
+ sr as FormNumber,
70
+ Ir as FormRadio,
71
+ Gr as FormSelect,
72
72
  Nr as FormSlider,
73
73
  gr as FormText,
74
74
  Cr as FormToggle,
@@ -77,13 +77,13 @@ export {
77
77
  B as GenericTable,
78
78
  O as HashTabView,
79
79
  u as HeaderFilter,
80
- H as HealthCheckFailed,
81
- V as Iconify,
82
- P as InfoGroup,
80
+ U as Iconify,
81
+ H as InfoCard,
82
+ w as InfoGroup,
83
83
  Zr as LANGUAGE_CODES_MAPPER,
84
84
  $r as LANGUAGE_ID_MAPPER,
85
85
  m as LinkBanner,
86
- w as ListArea,
86
+ k as ListArea,
87
87
  y as LoadingSpinner,
88
88
  K as Modal,
89
89
  W as ModulePadding,
@@ -101,11 +101,11 @@ export {
101
101
  ir as StepperIndicator,
102
102
  Wr as TIME_FORMAT,
103
103
  oo as TURKISH_LANGUAGE_ID,
104
- Ur as ThemeColor,
104
+ Vr as ThemeColor,
105
105
  dr as VerticalDivider,
106
- kr as capitalizeFirstLetters,
107
- wr as getFormattedDateTime,
106
+ hr as capitalizeFirstLetters,
107
+ kr as getFormattedDateTime,
108
108
  vr as getNumberAsLocaleString,
109
109
  yr as trimLeadingAndTrailingSpaces,
110
- hr as useBreakpoints
110
+ Pr as useBreakpoints
111
111
  };
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.8.1",
4
+ "version": "2.8.2",
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
- ._database_11ki8_1{color:var(--lmnt-theme-secondary);animation:_spin_11ki8_1 4s linear infinite}@keyframes _spin_11ki8_1{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}._iot_11ki8_16,._platform_11ki8_17,._other_11ki8_18{color:var(--lmnt-theme-danger)}._crossedOut_11ki8_22{position:relative;display:inline-block}._crossedOut_11ki8_22:after{content:"";position:absolute;width:3rem;height:.25rem;left:50%;top:50%;background:var(--lmnt-theme-danger-on-surface);box-shadow:0 0 0 .125rem var(--lmnt-theme-background);transform:translate(-50%,calc(-50% - .25rem)) rotate(45deg);transform-origin:center;z-index:2}
@@ -1,48 +0,0 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { C as c, a as d, b as l } from "../../index.es-CDMu_yu0.js";
3
- import { G as h } from "../../index.es-Dw1eih7R.js";
4
- import { P as m } from "../../index.es-DFFyENnI.js";
5
- import { T as o } from "../../index.es-1zrFd4Te.js";
6
- import { Iconify as _ } from "../Iconify/Iconify.js";
7
- import '../../assets/HealthCheckFailed.css';const p = "_database_11ki8_1", f = "_spin_11ki8_1", u = "_iot_11ki8_16", k = "_platform_11ki8_17", g = "_other_11ki8_18", C = "_crossedOut_11ki8_22", a = {
8
- database: p,
9
- spin: f,
10
- iot: u,
11
- platform: k,
12
- other: g,
13
- crossedOut: C
14
- }, N = ({
15
- title: t,
16
- subtitle: n,
17
- type: r,
18
- isOutlined: i = !0
19
- }) => /* @__PURE__ */ e(
20
- c,
21
- {
22
- variant: i ? "outlined" : "flat",
23
- "data-testid": `${r}-health-check-failed-card`,
24
- children: /* @__PURE__ */ e(d, { children: /* @__PURE__ */ e(m, { variant: "airy", children: /* @__PURE__ */ e(l, { children: /* @__PURE__ */ s(
25
- h,
26
- {
27
- gap: "none",
28
- primaryAlign: "center",
29
- secondaryAlign: "center",
30
- direction: "vertical",
31
- fullWidth: !0,
32
- children: [
33
- /* @__PURE__ */ e(y, { type: r }),
34
- /* @__PURE__ */ e(o, { level: 1, bold: !0, children: t }),
35
- /* @__PURE__ */ e(o, { level: 2, themeColor: "text-secondary-on-background", children: n })
36
- ]
37
- }
38
- ) }) }) })
39
- }
40
- ), b = {
41
- database: "sync",
42
- iot: "settings_input_antenna",
43
- platform: "engineering",
44
- other: "error"
45
- }, y = ({ type: t }) => /* @__PURE__ */ e("span", { className: t === "iot" ? a.crossedOut : "", children: /* @__PURE__ */ e(_, { icon: b[t], className: a[t], iconSize: "xlarge" }) });
46
- export {
47
- N as HealthCheckFailed
48
- };