nirs4all-ui 0.1.1 → 0.1.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/README.md CHANGED
@@ -15,7 +15,7 @@ UI surfaces.
15
15
  | --- | --- | --- |
16
16
  | `score` | `nirs4all-ui/score` | Metric-key normalization, metric catalog helpers, direction-aware score parsing, comparison, and formatting. |
17
17
  | `runtime` | `nirs4all-ui/runtime` | Runtime/result status display tokens, busy-state predicates, progress projection, engine metadata summaries, diagnostics, and native-result affordances. |
18
- | `components` | `nirs4all-ui/components` | Stateless React components that render shared runtime and result UI affordances. |
18
+ | `components` | `nirs4all-ui/components` | Stateless React components that render shared runtime, diagnostic, and metric affordances. |
19
19
 
20
20
  The root export also exposes namespace barrels:
21
21
 
@@ -28,7 +28,7 @@ Prefer domain imports when a consumer only needs one area:
28
28
  ```ts
29
29
  import { canonicalMetricKey, formatMetricValue } from "nirs4all-ui/score";
30
30
  import { buildRuntimeResultStatusView } from "nirs4all-ui/runtime";
31
- import { RuntimeEngineBadge } from "nirs4all-ui/components";
31
+ import { MetricValueBadge, RuntimeEngineBadge } from "nirs4all-ui/components";
32
32
  ```
33
33
 
34
34
  ## Development
@@ -40,3 +40,21 @@ npm test
40
40
  ```
41
41
 
42
42
  `npm run build` emits ESM JavaScript and declaration files under `dist/`.
43
+
44
+ ## GitHub Pages showcase
45
+
46
+ The single-page component and helper catalogue lives under `site/`.
47
+
48
+ ```bash
49
+ npm run site:dev
50
+ npm run site:build
51
+ ```
52
+
53
+ `site/src/App.tsx` renders reusable React components separately from the
54
+ runtime and score helper inventories. `site/public/` intentionally carries the
55
+ Pages publication files (`logo.svg`, `favicon.svg`, `robots.txt`,
56
+ `sitemap.xml`, `CNAME`, and `site.webmanifest`), while the package brand kit
57
+ remains available through `assets/brand` and the `nirs4all-ui/assets/*` export.
58
+ The default Pages base is `/` for `ui.nirs4all.org`; set
59
+ `NIRS4ALL_UI_BASE=/nirs4all-ui/` when intentionally building for the GitHub
60
+ project-page path.
@@ -0,0 +1,17 @@
1
+ export interface MetricValueBadgeProps {
2
+ metric?: string | null;
3
+ value?: number | string | null;
4
+ compareTo?: number | string | null;
5
+ label?: string | null;
6
+ className?: string;
7
+ metricClassName?: string;
8
+ valueClassName?: string;
9
+ directionClassName?: string;
10
+ betterClassName?: string;
11
+ worseClassName?: string;
12
+ equalClassName?: string;
13
+ title?: string;
14
+ showDirection?: boolean;
15
+ }
16
+ export declare function MetricValueBadge({ metric, value, compareTo, label, className, metricClassName, valueClassName, directionClassName, betterClassName, worseClassName, equalClassName, title, showDirection, }: MetricValueBadgeProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=MetricValueBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricValueBadge.d.ts","sourceRoot":"","sources":["../../src/components/MetricValueBadge.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAqBD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAoB,GACrB,EAAE,qBAAqB,+BAyBvB"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { formatMetricDisplayName, formatMetricValue, getMetricDefinition, isBetterScore, parseScoreNumber, } from "../score/index.js";
3
+ function resolveComparison(value, compareTo, metric) {
4
+ const parsedValue = parseScoreNumber(value);
5
+ const parsedComparison = parseScoreNumber(compareTo);
6
+ if (parsedValue == null || parsedComparison == null)
7
+ return null;
8
+ if (parsedValue === parsedComparison)
9
+ return "equal";
10
+ return isBetterScore(parsedValue, parsedComparison, metric) ? "better" : "worse";
11
+ }
12
+ function joinClassNames(...classNames) {
13
+ const resolved = classNames.filter(Boolean);
14
+ return resolved.length > 0 ? resolved.join(" ") : undefined;
15
+ }
16
+ export function MetricValueBadge({ metric, value, compareTo, label, className, metricClassName, valueClassName, directionClassName, betterClassName, worseClassName, equalClassName, title, showDirection = true, }) {
17
+ const definition = getMetricDefinition(metric);
18
+ const displayLabel = label ?? definition?.abbreviation ?? formatMetricDisplayName(metric);
19
+ const comparison = resolveComparison(value, compareTo, metric);
20
+ const comparisonClassName = comparison === "better"
21
+ ? betterClassName
22
+ : comparison === "worse"
23
+ ? worseClassName
24
+ : comparison === "equal"
25
+ ? equalClassName
26
+ : undefined;
27
+ return (_jsxs("span", { className: joinClassNames(className, comparisonClassName), "data-metric": definition?.key ?? metric ?? undefined, title: title, children: [_jsx("span", { className: metricClassName, children: displayLabel }), _jsx("strong", { className: valueClassName, children: formatMetricValue(value, metric ?? undefined) }), showDirection && comparison ? (_jsx("span", { className: directionClassName, children: comparison })) : null] }));
28
+ }
29
+ //# sourceMappingURL=MetricValueBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricValueBadge.js","sourceRoot":"","sources":["../../src/components/MetricValueBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAoB3B,SAAS,iBAAiB,CACxB,KAAyC,EACzC,SAA6C,EAC7C,MAAiC;IAEjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,WAAW,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,WAAW,KAAK,gBAAgB;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,UAAqC;IAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,GAAG,IAAI,GACE;IACtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,IAAI,UAAU,EAAE,YAAY,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,UAAU,KAAK,QAAQ;QACjD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,UAAU,KAAK,OAAO;YACtB,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,UAAU,KAAK,OAAO;gBACtB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO,CACL,gBACE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,mBAAmB,CAAC,iBAC5C,UAAU,EAAE,GAAG,IAAI,MAAM,IAAI,SAAS,EACnD,KAAK,EAAE,KAAK,aAEZ,eAAM,SAAS,EAAE,eAAe,YAAG,YAAY,GAAQ,EACvD,iBAAQ,SAAS,EAAE,cAAc,YAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,GAAU,EAC1F,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,CAC7B,eAAM,SAAS,EAAE,kBAAkB,YAAG,UAAU,GAAQ,CACzD,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from "react";
2
+ import { type RuntimeDiagnosticItem } from "../runtime/index.js";
3
+ export interface RuntimeDiagnosticListProps {
4
+ source?: unknown;
5
+ diagnostics?: readonly RuntimeDiagnosticItem[] | null;
6
+ className?: string;
7
+ itemClassName?: string | ((item: RuntimeDiagnosticItem) => string | undefined);
8
+ messageClassName?: string;
9
+ metadataClassName?: string;
10
+ empty?: ReactNode;
11
+ renderItem?: (item: RuntimeDiagnosticItem) => ReactNode;
12
+ }
13
+ export declare function RuntimeDiagnosticList({ source, diagnostics, className, itemClassName, messageClassName, metadataClassName, empty, renderItem, }: RuntimeDiagnosticListProps): import("react").JSX.Element | null;
14
+ //# sourceMappingURL=RuntimeDiagnosticList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeDiagnosticList.d.ts","sourceRoot":"","sources":["../../src/components/RuntimeDiagnosticList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,qBAAqB,EAAE,GAAG,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,qBAAqB,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,SAAS,CAAC;CACzD;AAiBD,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,UAAU,GACX,EAAE,0BAA0B,sCA0B5B"}
@@ -0,0 +1,19 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { formatRuntimeTokenLabel, normalizeRuntimeDiagnostics, } from "../runtime/index.js";
3
+ function resolveDiagnosticTitle(item) {
4
+ const parts = [
5
+ formatRuntimeTokenLabel(item.verb),
6
+ formatRuntimeTokenLabel(item.cause),
7
+ ].filter(Boolean);
8
+ return parts.length > 0 ? parts.join(" / ") : "Runtime diagnostic";
9
+ }
10
+ function resolveItemClassName(itemClassName, item) {
11
+ return typeof itemClassName === "function" ? itemClassName(item) : itemClassName;
12
+ }
13
+ export function RuntimeDiagnosticList({ source, diagnostics, className, itemClassName, messageClassName, metadataClassName, empty, renderItem, }) {
14
+ const items = diagnostics ?? normalizeRuntimeDiagnostics(source);
15
+ if (items.length === 0)
16
+ return empty == null ? null : _jsx(_Fragment, { children: empty });
17
+ return (_jsx("ul", { className: className, children: items.map((item) => (_jsx("li", { className: resolveItemClassName(itemClassName, item), children: renderItem ? renderItem(item) : (_jsxs(_Fragment, { children: [_jsx("strong", { children: resolveDiagnosticTitle(item) }), _jsx("span", { className: messageClassName, children: item.message }), item.mitigation ? (_jsxs("span", { className: metadataClassName, children: ["Mitigation: ", item.mitigation] })) : null, item.unsupportedCapability ? (_jsxs("span", { className: metadataClassName, children: ["Missing capability: ", formatRuntimeTokenLabel(item.unsupportedCapability)] })) : null] })) }, item.id))) }));
18
+ }
19
+ //# sourceMappingURL=RuntimeDiagnosticList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeDiagnosticList.js","sourceRoot":"","sources":["../../src/components/RuntimeDiagnosticList.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAa7B,SAAS,sBAAsB,CAAC,IAA2B;IACzD,MAAM,KAAK,GAAG;QACZ,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;KACpC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAA0D,EAC1D,IAA2B;IAE3B,OAAO,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,UAAU,GACiB;IAC3B,MAAM,KAAK,GAAG,WAAW,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4BAAG,KAAK,GAAI,CAAC;IAEnE,OAAO,CACL,aAAI,SAAS,EAAE,SAAS,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,aAAI,SAAS,EAAE,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,YACrD,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/B,8BACE,2BAAS,sBAAsB,CAAC,IAAI,CAAC,GAAU,EAC/C,eAAM,SAAS,EAAE,gBAAgB,YAAG,IAAI,CAAC,OAAO,GAAQ,EACvD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,gBAAM,SAAS,EAAE,iBAAiB,6BAAe,IAAI,CAAC,UAAU,IAAQ,CACzE,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAC5B,gBAAM,SAAS,EAAE,iBAAiB,qCACX,uBAAuB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IACnE,CACR,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,IAd4D,IAAI,CAAC,EAAE,CAejE,CACN,CAAC,GACC,CACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+ import { type RuntimeResultStatusIcon, type RuntimeResultStatusView } from "../runtime/index.js";
3
+ export interface RuntimeResultStatusBadgeProps {
4
+ status?: string | null;
5
+ progress?: number | null;
6
+ view?: RuntimeResultStatusView | null;
7
+ label?: string | null;
8
+ icon?: ReactNode;
9
+ icons?: Partial<Record<RuntimeResultStatusIcon, ReactNode>>;
10
+ className?: string;
11
+ iconClassName?: string;
12
+ labelClassName?: string;
13
+ progressClassName?: string;
14
+ title?: string;
15
+ showProgress?: boolean;
16
+ formatProgress?: (progress: number) => ReactNode;
17
+ }
18
+ export declare function RuntimeResultStatusBadge({ status, progress, view, label, icon, icons, className, iconClassName, labelClassName, progressClassName, title, showProgress, formatProgress, }: RuntimeResultStatusBadgeProps): import("react").JSX.Element;
19
+ //# sourceMappingURL=RuntimeResultStatusBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeResultStatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/RuntimeResultStatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;CAClD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,YAAmB,EACnB,cAAc,GACf,EAAE,6BAA6B,+BAc/B"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { buildRuntimeResultStatusView, } from "../runtime/index.js";
3
+ export function RuntimeResultStatusBadge({ status, progress, view, label, icon, icons, className, iconClassName, labelClassName, progressClassName, title, showProgress = true, formatProgress, }) {
4
+ const statusView = view ?? buildRuntimeResultStatusView(status, progress);
5
+ const resolvedIcon = icon ?? icons?.[statusView.icon] ?? null;
6
+ const progressNode = showProgress && statusView.progress != null
7
+ ? formatProgress?.(statusView.progress) ?? `${statusView.progress}%`
8
+ : null;
9
+ return (_jsxs("span", { className: className, title: title, children: [resolvedIcon ? _jsx("span", { className: iconClassName, children: resolvedIcon }) : null, _jsx("span", { className: labelClassName, children: label ?? statusView.label }), progressNode ? _jsx("span", { className: progressClassName, children: progressNode }) : null] }));
10
+ }
11
+ //# sourceMappingURL=RuntimeResultStatusBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeResultStatusBadge.js","sourceRoot":"","sources":["../../src/components/RuntimeResultStatusBadge.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,4BAA4B,GAG7B,MAAM,qBAAqB,CAAC;AAkB7B,MAAM,UAAU,wBAAwB,CAAC,EACvC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,YAAY,GAAG,IAAI,EACnB,cAAc,GACgB;IAC9B,MAAM,UAAU,GAAG,IAAI,IAAI,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI;QAC9D,CAAC,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,GAAG;QACpE,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,gBAAM,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,aACrC,YAAY,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,aAAa,YAAG,YAAY,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC5E,eAAM,SAAS,EAAE,cAAc,YAAG,KAAK,IAAI,UAAU,CAAC,KAAK,GAAQ,EAClE,YAAY,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,iBAAiB,YAAG,YAAY,GAAQ,CAAC,CAAC,CAAC,IAAI,IAC3E,CACR,CAAC;AACJ,CAAC"}
@@ -1,2 +1,5 @@
1
+ export * from "./MetricValueBadge.js";
2
+ export * from "./RuntimeDiagnosticList.js";
1
3
  export * from "./RuntimeEngineBadge.js";
4
+ export * from "./RuntimeResultStatusBadge.js";
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
@@ -1,2 +1,5 @@
1
+ export * from "./MetricValueBadge.js";
2
+ export * from "./RuntimeDiagnosticList.js";
1
3
  export * from "./RuntimeEngineBadge.js";
4
+ export * from "./RuntimeResultStatusBadge.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nirs4all-ui",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Shared React UI components and pure view-model helpers for nirs4all apps.",
5
5
  "type": "module",
6
6
  "license": "(CECILL-2.1 OR AGPL-3.0-or-later)",