@trackunit/criticality-indicator 0.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.
- package/README.md +22 -0
- package/index.cjs.d.ts +1 -0
- package/index.cjs.js +131 -0
- package/index.esm.js +125 -0
- package/package.json +12 -0
- package/src/CriticalityIndicator.d.ts +13 -0
- package/src/index.d.ts +3 -0
- package/src/translation.d.ts +34 -0
- package/src/types.d.ts +7 -0
- package/src/useCriticality.d.ts +18 -0
- package/translation.cjs.js +9 -0
- package/translation.cjs10.js +9 -0
- package/translation.cjs11.js +9 -0
- package/translation.cjs12.js +9 -0
- package/translation.cjs13.js +9 -0
- package/translation.cjs14.js +9 -0
- package/translation.cjs15.js +9 -0
- package/translation.cjs16.js +9 -0
- package/translation.cjs17.js +9 -0
- package/translation.cjs2.js +9 -0
- package/translation.cjs3.js +9 -0
- package/translation.cjs4.js +9 -0
- package/translation.cjs5.js +9 -0
- package/translation.cjs6.js +9 -0
- package/translation.cjs7.js +9 -0
- package/translation.cjs8.js +9 -0
- package/translation.cjs9.js +9 -0
- package/translation.esm.js +7 -0
- package/translation.esm10.js +7 -0
- package/translation.esm11.js +7 -0
- package/translation.esm12.js +7 -0
- package/translation.esm13.js +7 -0
- package/translation.esm14.js +7 -0
- package/translation.esm15.js +7 -0
- package/translation.esm16.js +7 -0
- package/translation.esm17.js +7 -0
- package/translation.esm2.js +7 -0
- package/translation.esm3.js +7 -0
- package/translation.esm4.js +7 -0
- package/translation.esm5.js +7 -0
- package/translation.esm6.js +7 -0
- package/translation.esm7.js +7 -0
- package/translation.esm8.js +7 -0
- package/translation.esm9.js +7 -0
package/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
> **⚠️ Beta**
|
2
|
+
>
|
3
|
+
> This is a beta version and subject to change without notice.
|
4
|
+
|
5
|
+
# Trackunit Criticality indicator
|
6
|
+
The `@trackunit/criticality-indicator` package is the home of criticality ui components.
|
7
|
+
|
8
|
+
This library is exposed publicly for use in the the Trackunit [Iris App SDK](https://www.npmjs.com/package/@trackunit/iris-app).
|
9
|
+
|
10
|
+
To browse all available components visit our [Public Storybook](https://developers.trackunit.com/page/ui-components).
|
11
|
+
|
12
|
+
For more info and a full guide on Iris App SDK Development, please visit our [Developer Hub](https://developers.trackunit.com/).
|
13
|
+
|
14
|
+
## Development
|
15
|
+
At this point this library is only developed by Trackunit Employees.
|
16
|
+
For development related information see the [development readme](https://github.com/Trackunit/manager/blob/master/libs/react/components/DEVELOPMENT.md).
|
17
|
+
|
18
|
+
## Trackunit
|
19
|
+
This package was developed by Trackunit ApS.
|
20
|
+
Trackunit is the leading SaaS-based IoT solution for the construction industry, offering an ecosystem of hardware, fleet management software & telematics.
|
21
|
+
|
22
|
+

|
package/index.cjs.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./src/index";
|
package/index.cjs.js
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
6
|
+
var i18nLibraryTranslation = require('@trackunit/i18n-library-translation');
|
7
|
+
var reactComponents = require('@trackunit/react-components');
|
8
|
+
|
9
|
+
var defaultTranslations = {
|
10
|
+
"indicator.critical": "Critical",
|
11
|
+
"indicator.low": "Low",
|
12
|
+
"indicator.none": "Good"
|
13
|
+
};
|
14
|
+
|
15
|
+
/** The translation namespace for this library */
|
16
|
+
const namespace = "criticality.indicator";
|
17
|
+
/**
|
18
|
+
* The TranslationResource for this Library.
|
19
|
+
* Holds lazy loaded imports for all languages supported by the library.
|
20
|
+
*
|
21
|
+
* This is used to register the translations for this library before initializing i18next.
|
22
|
+
*/
|
23
|
+
const translations = {
|
24
|
+
ns: namespace,
|
25
|
+
default: defaultTranslations,
|
26
|
+
languages: {
|
27
|
+
de: () => Promise.resolve().then(function () { return require('./translation.cjs.js'); }),
|
28
|
+
da: () => Promise.resolve().then(function () { return require('./translation.cjs2.js'); }),
|
29
|
+
cs: () => Promise.resolve().then(function () { return require('./translation.cjs3.js'); }),
|
30
|
+
nl: () => Promise.resolve().then(function () { return require('./translation.cjs4.js'); }),
|
31
|
+
fr: () => Promise.resolve().then(function () { return require('./translation.cjs5.js'); }),
|
32
|
+
fi: () => Promise.resolve().then(function () { return require('./translation.cjs6.js'); }),
|
33
|
+
hu: () => Promise.resolve().then(function () { return require('./translation.cjs7.js'); }),
|
34
|
+
it: () => Promise.resolve().then(function () { return require('./translation.cjs8.js'); }),
|
35
|
+
nb: () => Promise.resolve().then(function () { return require('./translation.cjs9.js'); }),
|
36
|
+
pl: () => Promise.resolve().then(function () { return require('./translation.cjs10.js'); }),
|
37
|
+
pt: () => Promise.resolve().then(function () { return require('./translation.cjs11.js'); }),
|
38
|
+
ru: () => Promise.resolve().then(function () { return require('./translation.cjs12.js'); }),
|
39
|
+
ro: () => Promise.resolve().then(function () { return require('./translation.cjs13.js'); }),
|
40
|
+
es: () => Promise.resolve().then(function () { return require('./translation.cjs14.js'); }),
|
41
|
+
sv: () => Promise.resolve().then(function () { return require('./translation.cjs15.js'); }),
|
42
|
+
ja: () => Promise.resolve().then(function () { return require('./translation.cjs16.js'); }),
|
43
|
+
th: () => Promise.resolve().then(function () { return require('./translation.cjs17.js'); }),
|
44
|
+
},
|
45
|
+
};
|
46
|
+
/**
|
47
|
+
* Local useTranslation for this specific library
|
48
|
+
*/
|
49
|
+
const useTranslation = () => i18nLibraryTranslation.useNamespaceTranslation(namespace);
|
50
|
+
/**
|
51
|
+
* Registers the translations for this library
|
52
|
+
*/
|
53
|
+
const setupLibraryTranslations = () => {
|
54
|
+
i18nLibraryTranslation.registerTranslations(translations);
|
55
|
+
};
|
56
|
+
|
57
|
+
/** The severity of the Asset. */
|
58
|
+
const assetCriticalityState = {
|
59
|
+
Critical: "CRITICAL",
|
60
|
+
Low: "LOW",
|
61
|
+
None: "NONE",
|
62
|
+
};
|
63
|
+
|
64
|
+
/**
|
65
|
+
* Returns the criticality indicator props.
|
66
|
+
*
|
67
|
+
* @param state - The criticality state.
|
68
|
+
* @returns {UseCriticality} - The criticality indicator props.
|
69
|
+
*/
|
70
|
+
const useCriticality = state => {
|
71
|
+
const [t] = useTranslation();
|
72
|
+
if (!state) {
|
73
|
+
return {
|
74
|
+
criticalityIndicator: undefined,
|
75
|
+
};
|
76
|
+
}
|
77
|
+
switch (state) {
|
78
|
+
case assetCriticalityState.Critical:
|
79
|
+
return {
|
80
|
+
criticalityIndicator: {
|
81
|
+
icon: jsxRuntime.jsx(reactComponents.Icon, { name: "ExclamationCircle", dataTestId: "indicator-icon-critical", size: "medium" }),
|
82
|
+
label: t("indicator.critical"),
|
83
|
+
color: "critical",
|
84
|
+
},
|
85
|
+
};
|
86
|
+
case assetCriticalityState.Low:
|
87
|
+
return {
|
88
|
+
criticalityIndicator: {
|
89
|
+
icon: jsxRuntime.jsx(reactComponents.Icon, { name: "ExclamationTriangle", dataTestId: "indicator-icon-low", size: "medium" }),
|
90
|
+
label: t("indicator.low"),
|
91
|
+
color: "low",
|
92
|
+
},
|
93
|
+
};
|
94
|
+
case assetCriticalityState.None:
|
95
|
+
return {
|
96
|
+
criticalityIndicator: {
|
97
|
+
icon: jsxRuntime.jsx(reactComponents.Icon, { name: "CheckCircle", dataTestId: "indicator-icon-good", size: "medium" }),
|
98
|
+
label: t("indicator.none"),
|
99
|
+
color: "good",
|
100
|
+
},
|
101
|
+
};
|
102
|
+
default:
|
103
|
+
return {
|
104
|
+
criticalityIndicator: undefined,
|
105
|
+
};
|
106
|
+
}
|
107
|
+
};
|
108
|
+
|
109
|
+
/**
|
110
|
+
* Criticality indicator.
|
111
|
+
*
|
112
|
+
* @param props - Criticality indicator props.
|
113
|
+
* @returns {JSX.Element | null} Criticality indicator.
|
114
|
+
*/
|
115
|
+
const CriticalityIndicator = (props) => {
|
116
|
+
const { criticalityIndicator } = useCriticality(props.state);
|
117
|
+
return criticalityIndicator ? jsxRuntime.jsx(reactComponents.Indicator, Object.assign({}, criticalityIndicator, props)) : null;
|
118
|
+
};
|
119
|
+
|
120
|
+
/*
|
121
|
+
* ----------------------------
|
122
|
+
* | SETUP TRANSLATIONS START |
|
123
|
+
* ----------------------------
|
124
|
+
* This import and function call is needed to register translations for this library.
|
125
|
+
* Do not remove this if this library has translations.
|
126
|
+
*/
|
127
|
+
setupLibraryTranslations();
|
128
|
+
|
129
|
+
exports.CriticalityIndicator = CriticalityIndicator;
|
130
|
+
exports.assetCriticalityState = assetCriticalityState;
|
131
|
+
exports.useCriticality = useCriticality;
|
package/index.esm.js
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
2
|
+
import { registerTranslations, useNamespaceTranslation } from '@trackunit/i18n-library-translation';
|
3
|
+
import { Icon, Indicator } from '@trackunit/react-components';
|
4
|
+
|
5
|
+
var defaultTranslations = {
|
6
|
+
"indicator.critical": "Critical",
|
7
|
+
"indicator.low": "Low",
|
8
|
+
"indicator.none": "Good"
|
9
|
+
};
|
10
|
+
|
11
|
+
/** The translation namespace for this library */
|
12
|
+
const namespace = "criticality.indicator";
|
13
|
+
/**
|
14
|
+
* The TranslationResource for this Library.
|
15
|
+
* Holds lazy loaded imports for all languages supported by the library.
|
16
|
+
*
|
17
|
+
* This is used to register the translations for this library before initializing i18next.
|
18
|
+
*/
|
19
|
+
const translations = {
|
20
|
+
ns: namespace,
|
21
|
+
default: defaultTranslations,
|
22
|
+
languages: {
|
23
|
+
de: () => import('./translation.esm.js'),
|
24
|
+
da: () => import('./translation.esm2.js'),
|
25
|
+
cs: () => import('./translation.esm3.js'),
|
26
|
+
nl: () => import('./translation.esm4.js'),
|
27
|
+
fr: () => import('./translation.esm5.js'),
|
28
|
+
fi: () => import('./translation.esm6.js'),
|
29
|
+
hu: () => import('./translation.esm7.js'),
|
30
|
+
it: () => import('./translation.esm8.js'),
|
31
|
+
nb: () => import('./translation.esm9.js'),
|
32
|
+
pl: () => import('./translation.esm10.js'),
|
33
|
+
pt: () => import('./translation.esm11.js'),
|
34
|
+
ru: () => import('./translation.esm12.js'),
|
35
|
+
ro: () => import('./translation.esm13.js'),
|
36
|
+
es: () => import('./translation.esm14.js'),
|
37
|
+
sv: () => import('./translation.esm15.js'),
|
38
|
+
ja: () => import('./translation.esm16.js'),
|
39
|
+
th: () => import('./translation.esm17.js'),
|
40
|
+
},
|
41
|
+
};
|
42
|
+
/**
|
43
|
+
* Local useTranslation for this specific library
|
44
|
+
*/
|
45
|
+
const useTranslation = () => useNamespaceTranslation(namespace);
|
46
|
+
/**
|
47
|
+
* Registers the translations for this library
|
48
|
+
*/
|
49
|
+
const setupLibraryTranslations = () => {
|
50
|
+
registerTranslations(translations);
|
51
|
+
};
|
52
|
+
|
53
|
+
/** The severity of the Asset. */
|
54
|
+
const assetCriticalityState = {
|
55
|
+
Critical: "CRITICAL",
|
56
|
+
Low: "LOW",
|
57
|
+
None: "NONE",
|
58
|
+
};
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Returns the criticality indicator props.
|
62
|
+
*
|
63
|
+
* @param state - The criticality state.
|
64
|
+
* @returns {UseCriticality} - The criticality indicator props.
|
65
|
+
*/
|
66
|
+
const useCriticality = state => {
|
67
|
+
const [t] = useTranslation();
|
68
|
+
if (!state) {
|
69
|
+
return {
|
70
|
+
criticalityIndicator: undefined,
|
71
|
+
};
|
72
|
+
}
|
73
|
+
switch (state) {
|
74
|
+
case assetCriticalityState.Critical:
|
75
|
+
return {
|
76
|
+
criticalityIndicator: {
|
77
|
+
icon: jsx(Icon, { name: "ExclamationCircle", dataTestId: "indicator-icon-critical", size: "medium" }),
|
78
|
+
label: t("indicator.critical"),
|
79
|
+
color: "critical",
|
80
|
+
},
|
81
|
+
};
|
82
|
+
case assetCriticalityState.Low:
|
83
|
+
return {
|
84
|
+
criticalityIndicator: {
|
85
|
+
icon: jsx(Icon, { name: "ExclamationTriangle", dataTestId: "indicator-icon-low", size: "medium" }),
|
86
|
+
label: t("indicator.low"),
|
87
|
+
color: "low",
|
88
|
+
},
|
89
|
+
};
|
90
|
+
case assetCriticalityState.None:
|
91
|
+
return {
|
92
|
+
criticalityIndicator: {
|
93
|
+
icon: jsx(Icon, { name: "CheckCircle", dataTestId: "indicator-icon-good", size: "medium" }),
|
94
|
+
label: t("indicator.none"),
|
95
|
+
color: "good",
|
96
|
+
},
|
97
|
+
};
|
98
|
+
default:
|
99
|
+
return {
|
100
|
+
criticalityIndicator: undefined,
|
101
|
+
};
|
102
|
+
}
|
103
|
+
};
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Criticality indicator.
|
107
|
+
*
|
108
|
+
* @param props - Criticality indicator props.
|
109
|
+
* @returns {JSX.Element | null} Criticality indicator.
|
110
|
+
*/
|
111
|
+
const CriticalityIndicator = (props) => {
|
112
|
+
const { criticalityIndicator } = useCriticality(props.state);
|
113
|
+
return criticalityIndicator ? jsx(Indicator, Object.assign({}, criticalityIndicator, props)) : null;
|
114
|
+
};
|
115
|
+
|
116
|
+
/*
|
117
|
+
* ----------------------------
|
118
|
+
* | SETUP TRANSLATIONS START |
|
119
|
+
* ----------------------------
|
120
|
+
* This import and function call is needed to register translations for this library.
|
121
|
+
* Do not remove this if this library has translations.
|
122
|
+
*/
|
123
|
+
setupLibraryTranslations();
|
124
|
+
|
125
|
+
export { CriticalityIndicator, assetCriticalityState, useCriticality };
|
package/package.json
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"name": "@trackunit/criticality-indicator",
|
3
|
+
"version": "0.0.1",
|
4
|
+
"repository": "https://github.com/Trackunit/manager",
|
5
|
+
"license": "SEE LICENSE IN LICENSE.txt",
|
6
|
+
"engines": {
|
7
|
+
"node": ">=18.x"
|
8
|
+
},
|
9
|
+
"dependencies": {},
|
10
|
+
"module": "./index.esm.js",
|
11
|
+
"main": "./index.cjs.js"
|
12
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { CommonProps, IndicatorProps } from "@trackunit/react-components";
|
3
|
+
import { AssetCriticalityState } from "./types";
|
4
|
+
export interface CriticalityIndicatorProps extends Pick<IndicatorProps, "withBackground" | "withLabel" | "ping">, CommonProps {
|
5
|
+
state: AssetCriticalityState;
|
6
|
+
}
|
7
|
+
/**
|
8
|
+
* Criticality indicator.
|
9
|
+
*
|
10
|
+
* @param props - Criticality indicator props.
|
11
|
+
* @returns {JSX.Element | null} Criticality indicator.
|
12
|
+
*/
|
13
|
+
export declare const CriticalityIndicator: (props: CriticalityIndicatorProps) => JSX.Element | null;
|
package/src/index.d.ts
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { NamespaceTransProps, TransForLibs, TranslationResource } from "@trackunit/i18n-library-translation";
|
3
|
+
import defaultTranslations from "./locales/en/translation.json";
|
4
|
+
/** A type for all available translation keys in this library */
|
5
|
+
export type TranslationKeys = keyof typeof defaultTranslations;
|
6
|
+
/** The translation namespace for this library */
|
7
|
+
export declare const namespace = "criticality.indicator";
|
8
|
+
/**
|
9
|
+
* The TranslationResource for this Library.
|
10
|
+
* Holds lazy loaded imports for all languages supported by the library.
|
11
|
+
*
|
12
|
+
* This is used to register the translations for this library before initializing i18next.
|
13
|
+
*/
|
14
|
+
export declare const translations: TranslationResource<TranslationKeys>;
|
15
|
+
/**
|
16
|
+
* Local useTranslation for this specific library
|
17
|
+
*/
|
18
|
+
export declare const useTranslation: () => [TransForLibs<"indicator.critical" | "indicator.low" | "indicator.none">, import("i18next").i18n, boolean] & {
|
19
|
+
t: TransForLibs<"indicator.critical" | "indicator.low" | "indicator.none">;
|
20
|
+
i18n: import("i18next").i18n;
|
21
|
+
ready: boolean;
|
22
|
+
};
|
23
|
+
/**
|
24
|
+
* Type of the t function for the local useTranslation for this specific library
|
25
|
+
*/
|
26
|
+
export type TranslationFunction = TransForLibs<TranslationKeys>;
|
27
|
+
/**
|
28
|
+
* Trans for this specific library.
|
29
|
+
*/
|
30
|
+
export declare const Trans: (props: NamespaceTransProps<TranslationKeys>) => JSX.Element;
|
31
|
+
/**
|
32
|
+
* Registers the translations for this library
|
33
|
+
*/
|
34
|
+
export declare const setupLibraryTranslations: () => void;
|
package/src/types.d.ts
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
/** The severity of the Asset. */
|
2
|
+
export declare const assetCriticalityState: {
|
3
|
+
readonly Critical: "CRITICAL";
|
4
|
+
readonly Low: "LOW";
|
5
|
+
readonly None: "NONE";
|
6
|
+
};
|
7
|
+
export type AssetCriticalityState = (typeof assetCriticalityState)[keyof typeof assetCriticalityState];
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { CriticalityColors } from "@trackunit/ui-design-tokens";
|
3
|
+
import { AssetCriticalityState } from "./types";
|
4
|
+
type UseCriticality = (state?: AssetCriticalityState) => {
|
5
|
+
criticalityIndicator?: {
|
6
|
+
icon: JSX.Element;
|
7
|
+
label: string;
|
8
|
+
color: CriticalityColors;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
/**
|
12
|
+
* Returns the criticality indicator props.
|
13
|
+
*
|
14
|
+
* @param state - The criticality state.
|
15
|
+
* @returns {UseCriticality} - The criticality indicator props.
|
16
|
+
*/
|
17
|
+
export declare const useCriticality: UseCriticality;
|
18
|
+
export {};
|