@nar-bus/ui-shared 1.22.0 → 2.1.0
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/dist/adapters/api-adapter.d.ts +5 -5
- package/dist/adapters/api-adapter.d.ts.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/real-adapter.d.ts +5 -5
- package/dist/adapters/real-adapter.d.ts.map +1 -1
- package/dist/adapters/traceId.d.ts +24 -0
- package/dist/adapters/traceId.d.ts.map +1 -0
- package/dist/adapters/types.d.ts +41 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/api/apiClient.d.ts +22 -5
- package/dist/api/apiClient.d.ts.map +1 -1
- package/dist/api/queryKeys.d.ts +12 -0
- package/dist/api/queryKeys.d.ts.map +1 -1
- package/dist/api/searchRequest.d.ts +1 -1
- package/dist/components/CronBuilder.d.ts +28 -1
- package/dist/components/CronBuilder.d.ts.map +1 -1
- package/dist/components/MeterStatusBadge.d.ts.map +1 -1
- package/dist/components/OrderCreateSheet.d.ts +96 -1
- package/dist/components/OrderCreateSheet.d.ts.map +1 -1
- package/dist/components/OrderDetailSheet.d.ts +15 -1
- package/dist/components/OrderDetailSheet.d.ts.map +1 -1
- package/dist/components/detail-layout/ReadingHeatmap.d.ts +20 -2
- package/dist/components/detail-layout/ReadingHeatmap.d.ts.map +1 -1
- package/dist/components/detail-layout/TriColumnSymmetric.d.ts +16 -1
- package/dist/components/detail-layout/TriColumnSymmetric.d.ts.map +1 -1
- package/dist/components/detail-layout/adapters.d.ts.map +1 -1
- package/dist/components/detail-layout/types.d.ts +46 -18
- package/dist/components/detail-layout/types.d.ts.map +1 -1
- package/dist/components/export/ExportButton.d.ts +47 -0
- package/dist/components/export/ExportButton.d.ts.map +1 -0
- package/dist/components/export/ExportHistoryTable.d.ts +38 -0
- package/dist/components/export/ExportHistoryTable.d.ts.map +1 -0
- package/dist/components/export/ExportJobStatusBadge.d.ts +10 -0
- package/dist/components/export/ExportJobStatusBadge.d.ts.map +1 -0
- package/dist/components/export/exportJobApi.d.ts +54 -0
- package/dist/components/export/exportJobApi.d.ts.map +1 -0
- package/dist/components/export/exportJobFormat.d.ts +19 -0
- package/dist/components/export/exportJobFormat.d.ts.map +1 -0
- package/dist/components/export/exportJobText.d.ts +26 -0
- package/dist/components/export/exportJobText.d.ts.map +1 -0
- package/dist/components/export/index.d.ts +11 -0
- package/dist/components/export/index.d.ts.map +1 -0
- package/dist/components/export/useExportJob.d.ts +71 -0
- package/dist/components/export/useExportJob.d.ts.map +1 -0
- package/dist/components/form-sheet/FormSheet.d.ts +1 -1
- package/dist/components/form-sheet/ReadonlySheet.d.ts +1 -1
- package/dist/components/hourly-month-grid/HourStrip.d.ts.map +1 -1
- package/dist/components/hourly-month-grid/HourlyGridLegend.d.ts +4 -2
- package/dist/components/hourly-month-grid/HourlyGridLegend.d.ts.map +1 -1
- package/dist/components/hourly-month-grid/HourlyMonthGrid.d.ts +45 -0
- package/dist/components/hourly-month-grid/HourlyMonthGrid.d.ts.map +1 -1
- package/dist/components/hourly-month-grid/index.d.ts +1 -1
- package/dist/components/hourly-month-grid/index.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -4
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/order-forms/AstroConfigForm.d.ts.map +1 -1
- package/dist/components/order-forms/DirectiveForms.d.ts +15 -2
- package/dist/components/order-forms/DirectiveForms.d.ts.map +1 -1
- package/dist/components/order-forms/FirmwareUpdateForm.d.ts +10 -2
- package/dist/components/order-forms/FirmwareUpdateForm.d.ts.map +1 -1
- package/dist/components/order-forms/modemDetailQuery.d.ts +17 -0
- package/dist/components/order-forms/modemDetailQuery.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useEnumValues.d.ts +66 -1
- package/dist/hooks/useEnumValues.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17563 -16427
- package/dist/mocks/periodic-jobs.json.d.ts +5 -5
- package/dist/types/audit.types.d.ts +27 -0
- package/dist/types/audit.types.d.ts.map +1 -0
- package/dist/types/auth.types.d.ts +98 -9
- package/dist/types/auth.types.d.ts.map +1 -1
- package/dist/types/brand-model.types.d.ts +25 -1
- package/dist/types/brand-model.types.d.ts.map +1 -1
- package/dist/types/calendar.types.d.ts +3 -0
- package/dist/types/calendar.types.d.ts.map +1 -1
- package/dist/types/directive.types.d.ts +3 -0
- package/dist/types/directive.types.d.ts.map +1 -1
- package/dist/types/exportJob.types.d.ts +115 -0
- package/dist/types/exportJob.types.d.ts.map +1 -0
- package/dist/types/firmware.types.d.ts +16 -1
- package/dist/types/firmware.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/location.types.d.ts +21 -1
- package/dist/types/location.types.d.ts.map +1 -1
- package/dist/types/management.types.d.ts +165 -9
- package/dist/types/management.types.d.ts.map +1 -1
- package/dist/types/meter.types.d.ts +122 -1
- package/dist/types/meter.types.d.ts.map +1 -1
- package/dist/types/modem.types.d.ts +67 -3
- package/dist/types/modem.types.d.ts.map +1 -1
- package/dist/types/order.types.d.ts +15 -0
- package/dist/types/order.types.d.ts.map +1 -1
- package/dist/types/parser-template.types.d.ts +9 -2
- package/dist/types/parser-template.types.d.ts.map +1 -1
- package/dist/types/protocol.types.d.ts +3 -0
- package/dist/types/protocol.types.d.ts.map +1 -1
- package/dist/types/reading-setting.types.d.ts +3 -0
- package/dist/types/reading-setting.types.d.ts.map +1 -1
- package/dist/types/server-config.types.d.ts +7 -0
- package/dist/types/server-config.types.d.ts.map +1 -1
- package/dist/types/simcard.types.d.ts +3 -0
- package/dist/types/simcard.types.d.ts.map +1 -1
- package/dist/utils/activeLocale.d.ts +1 -2
- package/dist/utils/activeLocale.d.ts.map +1 -1
- package/dist/utils/orderReason.d.ts +50 -0
- package/dist/utils/orderReason.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* STORY-222 / D-230 / AD-DETAIL-5
|
|
3
|
-
*
|
|
4
|
-
* Type contract underpinning the shared detail-layout component family.
|
|
5
|
-
*
|
|
6
|
-
* `DetailEntity` is a **discriminated union** on `kind` ("modem" | "meter").
|
|
7
|
-
* The compiler narrows to the per-kind variant inside `if (entity.kind === ...)`
|
|
8
|
-
* branches, so consumers can access modem-only fields (`firmware`, `protocol`,
|
|
9
|
-
* `signalStrength`, `meterCount`) or meter-only fields (`meterType`, `modemSlug`)
|
|
10
|
-
* without optional chaining and without accidentally reaching across kinds.
|
|
11
|
-
*
|
|
12
|
-
* Mock builders + entity literals + the deterministic PRNG live under
|
|
13
|
-
* `ui/lena-ui-kit/src/_preview/DetailLayout/mockData.ts` (preview-only Storybook
|
|
14
|
-
* fixtures). The production adapter contract lives in `./adapters.ts` and is
|
|
15
|
-
* wired against real `ModemDetail` / `MeterDetail` hook output by STORY-223.
|
|
16
|
-
*/
|
|
1
|
+
import { ActiveOrdersByPriority, ModemOrderSuitability } from '../../types';
|
|
17
2
|
export type DayStatus = "ok" | "warn" | "crit" | "noData";
|
|
18
3
|
export interface ReadingDay {
|
|
19
4
|
/** ISO yyyy-mm-dd. */
|
|
@@ -32,6 +17,17 @@ export interface AlarmEntry {
|
|
|
32
17
|
/** ISO datetime. */
|
|
33
18
|
at: string;
|
|
34
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* NB-DETAIL-LIFECYCLE-01 — header lifecycle value. The four canonical values
|
|
22
|
+
* keep their coarse fold (and tone); any other backend code (`SCRAPPED`, a
|
|
23
|
+
* status added later, …) travels VERBATIM instead of being folded into
|
|
24
|
+
* `INACTIVE` ("Pasif"). The badge reads `detail_status.lifecycle.<code>` and
|
|
25
|
+
* falls back to the raw code with a neutral tone. `(string & {})` keeps the
|
|
26
|
+
* four literals visible to autocomplete.
|
|
27
|
+
*/
|
|
28
|
+
export type DetailLifecycle = "ACTIVE" | "INACTIVE" | "MAINTENANCE" | "FAULTY" | (string & {});
|
|
29
|
+
/** NB-DETAIL-LIFECYCLE-01 — consumer-chosen tone for the lifecycle badge. */
|
|
30
|
+
export type DetailLifecycleTone = "ok" | "warn" | "crit" | "muted";
|
|
35
31
|
interface DetailEntityBase {
|
|
36
32
|
slug: string;
|
|
37
33
|
serial: string;
|
|
@@ -42,8 +38,16 @@ interface DetailEntityBase {
|
|
|
42
38
|
district: string;
|
|
43
39
|
};
|
|
44
40
|
tags: string[];
|
|
41
|
+
/**
|
|
42
|
+
* NB-DETAIL-LIFECYCLE-01 — overrides the lifecycle badge text (already
|
|
43
|
+
* translated). Omitted → `detail_status.lifecycle.<status.lifecycle>`, then
|
|
44
|
+
* the raw code.
|
|
45
|
+
*/
|
|
46
|
+
lifecycleLabel?: string;
|
|
47
|
+
/** NB-DETAIL-LIFECYCLE-01 — overrides the lifecycle badge tone. */
|
|
48
|
+
lifecycleTone?: DetailLifecycleTone;
|
|
45
49
|
status: {
|
|
46
|
-
lifecycle:
|
|
50
|
+
lifecycle: DetailLifecycle;
|
|
47
51
|
network: "CONNECTED" | "DISCONNECTED" | "UNKNOWN";
|
|
48
52
|
power?: "ON" | "OFF" | "UNKNOWN";
|
|
49
53
|
/**
|
|
@@ -71,12 +75,36 @@ export interface ModemDetailEntity extends DetailEntityBase {
|
|
|
71
75
|
kind: "modem";
|
|
72
76
|
firmware?: string;
|
|
73
77
|
protocol?: string;
|
|
74
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Transport-layer port (TCP/MQTT). Optional — only rendered when present,
|
|
80
|
+
* labelled "Port". Superseded in the identity card by `reportedPort` when
|
|
81
|
+
* that field is set (the two-row layout below).
|
|
82
|
+
*/
|
|
75
83
|
port?: number;
|
|
84
|
+
/**
|
|
85
|
+
* NB-DETAIL-TCPPORT-01 (LHA-604 K10) — the protocol's default port, shown
|
|
86
|
+
* as its own row right under "Protocol". `undefined` → no row; `null` → "—".
|
|
87
|
+
*/
|
|
88
|
+
protocolDefaultPort?: number | null;
|
|
89
|
+
/**
|
|
90
|
+
* NB-DETAIL-TCPPORT-01 — the port the device reported, labelled as such so it
|
|
91
|
+
* cannot be confused with the default. When set (`null` → "—") it replaces the
|
|
92
|
+
* plain "Port" row; `undefined` keeps the legacy `port` row.
|
|
93
|
+
*/
|
|
94
|
+
reportedPort?: number | null;
|
|
76
95
|
/** RSSI 0..100. */
|
|
77
96
|
signalStrength?: number;
|
|
78
97
|
/** Number of meters bound to this modem. */
|
|
79
98
|
meterCount?: number;
|
|
99
|
+
/**
|
|
100
|
+
* NB-DETAIL-ORDERS-01 — order-processing suitability. When present the
|
|
101
|
+
* "Active Orders" quick-stat gains a status dot (SUITABLE green · NO_ORDERS
|
|
102
|
+
* grey · NOT_SUITABLE red · UNKNOWN amber) and a hover/focus tooltip.
|
|
103
|
+
* Absent / null → the tile renders exactly as before.
|
|
104
|
+
*/
|
|
105
|
+
orderSuitability?: ModemOrderSuitability | null;
|
|
106
|
+
/** NB-DETAIL-ORDERS-01 — per-priority split, listed in the same tooltip. */
|
|
107
|
+
activeOrdersByPriority?: ActiveOrdersByPriority | null;
|
|
80
108
|
}
|
|
81
109
|
export interface MeterDetailEntity extends DetailEntityBase {
|
|
82
110
|
kind: "meter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ExportFormat, ExportJob, ExportJobCreateRequest } from '../../types/exportJob.types';
|
|
2
|
+
import { ExportJobState } from './useExportJob';
|
|
3
|
+
export interface ExportButtonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Builds the job for the chosen format AT CLICK TIME, so the export carries the
|
|
6
|
+
* list's current search, filters and sort. `source` is the screen's own list
|
|
7
|
+
* request (the one its table query sends).
|
|
8
|
+
*/
|
|
9
|
+
getRequest: (format: ExportFormat) => ExportJobCreateRequest;
|
|
10
|
+
/** Offered formats, in menu order. One format skips the menu. @default ["XLSX", "CSV", "PDF"] */
|
|
11
|
+
formats?: ExportFormat[];
|
|
12
|
+
/**
|
|
13
|
+
* The list's current total. PDF is rendered in memory server-side and fails
|
|
14
|
+
* (EXPORT_014) above `pdfMaxRows`, so the option is disabled up front.
|
|
15
|
+
*/
|
|
16
|
+
totalRows?: number;
|
|
17
|
+
/** Server's `export.pdf.max_rows`. @default 10000 */
|
|
18
|
+
pdfMaxRows?: number;
|
|
19
|
+
/** Button text. @default "Dışa Aktar" / "Export" */
|
|
20
|
+
label?: string;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Poll period. @default 2000 */
|
|
23
|
+
pollIntervalMs?: number;
|
|
24
|
+
/** How long to wait for the file before leaving it to the download history. @default 30000 */
|
|
25
|
+
waitMs?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Still running after `waitMs`. The button has already told the user to take
|
|
28
|
+
* the file from Download History; use this to link or navigate there.
|
|
29
|
+
*/
|
|
30
|
+
onBackground?: (job: ExportJob | undefined) => void;
|
|
31
|
+
/** The download has started. */
|
|
32
|
+
onComplete?: (job: ExportJob) => void;
|
|
33
|
+
/** Refused or failed; `message` is the sentence already shown in the toast. */
|
|
34
|
+
onError?: (message: string, state: ExportJobState) => void;
|
|
35
|
+
className?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* "Dışa Aktar" for a list screen, on the export platform (LHA-817). Seat it in
|
|
39
|
+
* `ListPageLayout.beforeFilterActions`.
|
|
40
|
+
*
|
|
41
|
+
* Click → format → the job starts with the screen's own request → the button
|
|
42
|
+
* shows progress while it polls → the file downloads by itself if it is ready
|
|
43
|
+
* within `waitMs`; otherwise a toast points to Download History. Refusals
|
|
44
|
+
* (duplicate, limits, invalid source) and failures are worded from their code.
|
|
45
|
+
*/
|
|
46
|
+
export declare function ExportButton({ getRequest, formats, totalRows, pdfMaxRows, label, disabled, pollIntervalMs, waitMs, onBackground, onComplete, onError, className, }: ExportButtonProps): import("react").JSX.Element;
|
|
47
|
+
//# sourceMappingURL=ExportButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/export/ExportButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,sBAAsB,CAAC;IAC7D,iGAAiG;IACjG,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,gCAAgC;IAChC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,OAAyB,EACzB,SAAS,EACT,UAAkB,EAClB,KAAK,EACL,QAAQ,EACR,cAAc,EACd,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,+BA6LnB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ExportJobScope } from '../../types/exportJob.types';
|
|
3
|
+
export interface ExportHistoryTableProps {
|
|
4
|
+
/**
|
|
5
|
+
* `own` — the user's exports (Kullanıcı Profili → İndirme Geçmişi).
|
|
6
|
+
* `all` — everyone's (yönetim görünümü); needs the `export.jobs.read.ALL`
|
|
7
|
+
* operation (`usePermissions().hasOperation("export.jobs.read.ALL")`), the API
|
|
8
|
+
* answers AUTH_030 otherwise. @default "own"
|
|
9
|
+
*/
|
|
10
|
+
scope?: ExportJobScope;
|
|
11
|
+
/**
|
|
12
|
+
* Rows per page, snapped to the page-size picker's options (25 / 50 / 100):
|
|
13
|
+
* the API caps a page at 100, and a size the picker does not offer would show
|
|
14
|
+
* an empty picker. @default 25
|
|
15
|
+
*/
|
|
16
|
+
pageSize?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Shows a "Oluşturan" column. The API only returns `ownerUserId`, so the app
|
|
19
|
+
* resolves the name (typically for `scope="all"`).
|
|
20
|
+
*/
|
|
21
|
+
renderOwner?: (ownerUserId: number) => ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Refresh period while a listed job is QUEUED/RUNNING; idle lists are not
|
|
24
|
+
* polled. The platform's guidance is ~5 s. @default 5000
|
|
25
|
+
*/
|
|
26
|
+
activePollIntervalMs?: number;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Download History on the export platform (LHA-817): the user's own jobs, or
|
|
31
|
+
* everyone's for an admin. Columns follow the business analysis: report name ·
|
|
32
|
+
* (owner) · requested · finished · status · progress (%37,5) · rows · size
|
|
33
|
+
* (2,3 MB) · download / cancel · error ("Kod: …, Hata: …").
|
|
34
|
+
*
|
|
35
|
+
* Paging and sort are the server's (newest first, 1-based pages).
|
|
36
|
+
*/
|
|
37
|
+
export declare function ExportHistoryTable({ scope, pageSize: initialPageSize, renderOwner, activePollIntervalMs, className, }: ExportHistoryTableProps): import("react").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=ExportHistoryTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportHistoryTable.d.ts","sourceRoot":"","sources":["../../../src/components/export/ExportHistoryTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOlE,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7E,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,CAAC;IACjD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAa,EACb,QAAQ,EAAE,eAAoB,EAC9B,WAAW,EACX,oBAA2B,EAC3B,SAAS,GACV,EAAE,uBAAuB,+BAsNzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExportJobStatus } from '../../types/exportJob.types';
|
|
2
|
+
export interface ExportJobStatusBadgeProps {
|
|
3
|
+
status: ExportJobStatus;
|
|
4
|
+
/** Overrides the package's label (e.g. the app's own wording). */
|
|
5
|
+
label?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Export job status with the package's TR/EN label and tone (running pulses). */
|
|
9
|
+
export declare function ExportJobStatusBadge({ status, label, className }: ExportJobStatusBadgeProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=ExportJobStatusBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportJobStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/export/ExportJobStatusBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAInE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,yBAAyB,+BAO3F"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ApiError, ApiResponse } from '../../adapters/types';
|
|
2
|
+
import { ExportJob, ExportJobCreateRequest, ExportJobCreated, ExportJobScope } from '../../types/exportJob.types';
|
|
3
|
+
/**
|
|
4
|
+
* Thin calls for the export platform (`/api/exports/jobs`, lena-management,
|
|
5
|
+
* LHA-817). Each one RESOLVES to the API envelope — an `error` envelope is a
|
|
6
|
+
* value, not an exception, like every apiGet/apiPost caller in this package.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EXPORT_JOBS_PATH = "/api/exports/jobs";
|
|
9
|
+
export declare function createExportJob(request: ExportJobCreateRequest): Promise<ApiResponse<ExportJobCreated>>;
|
|
10
|
+
/** `signal` aborts the request (it then resolves to `REQUEST_CANCELED`). */
|
|
11
|
+
export declare function getExportJob(id: number, signal?: AbortSignal): Promise<ApiResponse<ExportJob>>;
|
|
12
|
+
export declare function listExportJobs(scope: ExportJobScope, page: number, size: number): Promise<ApiResponse<ExportJob[]>>;
|
|
13
|
+
export declare function cancelExportJob(id: number): Promise<ApiResponse<ExportJob>>;
|
|
14
|
+
/** Outcome of a download attempt: started, or the API's refusal. */
|
|
15
|
+
export type ExportDownloadResult = {
|
|
16
|
+
ok: true;
|
|
17
|
+
} | {
|
|
18
|
+
ok: false;
|
|
19
|
+
error: ApiError;
|
|
20
|
+
};
|
|
21
|
+
/** A fetched download, not yet handed to the browser. */
|
|
22
|
+
export type ExportDownload = {
|
|
23
|
+
kind: "link";
|
|
24
|
+
url: string;
|
|
25
|
+
fileName?: string;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "file";
|
|
28
|
+
blob: Blob;
|
|
29
|
+
fileName: string;
|
|
30
|
+
};
|
|
31
|
+
export type ExportDownloadFetchResult = {
|
|
32
|
+
ok: true;
|
|
33
|
+
download: ExportDownload;
|
|
34
|
+
} | {
|
|
35
|
+
ok: false;
|
|
36
|
+
error: ApiError;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Fetches a COMPLETED job's download WITHOUT starting it — the caller decides,
|
|
40
|
+
* after the await, whether the result still matters (L-F05: a reset or unmount
|
|
41
|
+
* while this was in flight must not make the browser download anything).
|
|
42
|
+
*
|
|
43
|
+
* The endpoint answers in one of two shapes, decided by the server's config,
|
|
44
|
+
* not by the request: `{url, expiresAt}` (a signed object-storage URL, the
|
|
45
|
+
* normal case) or the file itself, streamed. Asked as a Blob, both arrive here;
|
|
46
|
+
* a JSON body is the link envelope, anything else is the file. `signal` aborts
|
|
47
|
+
* the request (it then resolves to `REQUEST_CANCELED`).
|
|
48
|
+
*/
|
|
49
|
+
export declare function fetchExportDownload(job: Pick<ExportJob, "id" | "fileName">, signal?: AbortSignal): Promise<ExportDownloadFetchResult>;
|
|
50
|
+
/** Hands a fetched download to the browser (the only browser side effect). */
|
|
51
|
+
export declare function saveExportDownload(download: ExportDownload): void;
|
|
52
|
+
/** Fetches and starts a COMPLETED job's download in one step (history rows). */
|
|
53
|
+
export declare function downloadExportJob(job: Pick<ExportJob, "id" | "fileName">, signal?: AbortSignal): Promise<ExportDownloadResult>;
|
|
54
|
+
//# sourceMappingURL=exportJobApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportJobApi.d.ts","sourceRoot":"","sources":["../../../src/components/export/exportJobApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAEV,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACf,MAAM,6BAA6B,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAEvG;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAE9F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAEnH;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAE3E;AAED,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEjF,yDAAyD;AACzD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhH;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,CAAC,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAmBpC;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAYjE;AAED,gFAAgF;AAChF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,CAAC,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAK/B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExportJob, ExportJobStatus } from '../../types/exportJob.types';
|
|
2
|
+
import { LanguageSource } from '../../utils/activeLocale';
|
|
3
|
+
/** Jobs the worker still owns — the history keeps polling while any is listed. */
|
|
4
|
+
export declare const ACTIVE_EXPORT_STATUSES: readonly ExportJobStatus[];
|
|
5
|
+
export declare const isActiveExportJob: (job: Pick<ExportJob, "status">) => boolean;
|
|
6
|
+
/** Badge tone per status (ui-kit Badge variants). */
|
|
7
|
+
export declare const EXPORT_STATUS_VARIANT: Record<ExportJobStatus, "info" | "success" | "error" | "warning" | "default">;
|
|
8
|
+
/**
|
|
9
|
+
* Progress as the business analysis writes it — one decimal, locale sign
|
|
10
|
+
* position ("%37,5" / "37.5%"). `null` while the total is unknown (before the
|
|
11
|
+
* first page, or a cursor API that reports no total): a guessed percentage
|
|
12
|
+
* would be a lie.
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatExportProgress(i18n: LanguageSource, job: Pick<ExportJob, "status" | "processedRows" | "totalRows">): string | null;
|
|
15
|
+
/** File size in the active locale, 1 decimal above bytes ("2,3 MB"). */
|
|
16
|
+
export declare function formatExportSize(i18n: LanguageSource, bytes: number | null | undefined): string | null;
|
|
17
|
+
/** Row counts: "1.234 / 5.000", or just the processed count while the total is unknown. */
|
|
18
|
+
export declare function formatExportRows(i18n: LanguageSource, job: Pick<ExportJob, "processedRows" | "totalRows">): string;
|
|
19
|
+
//# sourceMappingURL=exportJobFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportJobFormat.d.ts","sourceRoot":"","sources":["../../../src/components/export/exportJobFormat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAA4C,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEzG,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,EAAE,SAAS,eAAe,EAA0B,CAAC;AAExF,eAAO,MAAM,iBAAiB,GAAI,KAAK,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAgD,CAAC;AAEjH,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAO/G,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAC,GAAG,MAAM,GAAG,IAAI,CAKxI;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAYtG;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,WAAW,CAAC,GAAG,MAAM,CAIlH"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { TFunction } from 'i18next';
|
|
2
|
+
import { ApiError } from '../../adapters/types';
|
|
3
|
+
import { ExportJob, ExportJobStatus } from '../../types/exportJob.types';
|
|
4
|
+
/**
|
|
5
|
+
* Every export_job string, through STATIC `t("key", { defaultValue })` calls.
|
|
6
|
+
* Template-built keys would escape ui-kit's bundle-contract scan, so the
|
|
7
|
+
* status and error families are spelled out one by one on purpose.
|
|
8
|
+
*/
|
|
9
|
+
export declare function exportStatusLabel(t: TFunction, status: ExportJobStatus): string;
|
|
10
|
+
/**
|
|
11
|
+
* The user-facing sentence for an export error code. The API sends no message
|
|
12
|
+
* text (only `code` + `params`), and a FAILED job's `errorMessage` is technical
|
|
13
|
+
* English — so the wording lives here. Unknown codes get the generic sentence.
|
|
14
|
+
*/
|
|
15
|
+
export declare function exportErrorText(t: TFunction, code: string | null | undefined, params?: Record<string, string>): string;
|
|
16
|
+
export declare function apiErrorText(t: TFunction, error: ApiError | undefined): string;
|
|
17
|
+
/**
|
|
18
|
+
* A FAILED job carries its params only inside the technical `errorMessage`
|
|
19
|
+
* (a Java map's toString: `{limit=10000, total=25000}`). Best effort: read the
|
|
20
|
+
* simple `key=value` pairs back so "{{limit}}" can be filled; anything else
|
|
21
|
+
* yields no params.
|
|
22
|
+
*/
|
|
23
|
+
export declare function jobErrorParams(errorMessage: string | null): Record<string, string>;
|
|
24
|
+
/** "Kod: EXPORT_007, Hata: …" — only for a FAILED job (a retried job keeps its last code). */
|
|
25
|
+
export declare function jobErrorLine(t: TFunction, job: Pick<ExportJob, "status" | "errorCode" | "errorMessage">): string | null;
|
|
26
|
+
//# sourceMappingURL=exportJobText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportJobText.d.ts","sourceRoot":"","sources":["../../../src/components/export/exportJobText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9E;;;;GAIG;AAEH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAU/E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAqB1H;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlF;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI,CAIvH"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { ExportButton } from './ExportButton';
|
|
2
|
+
export type { ExportButtonProps } from './ExportButton';
|
|
3
|
+
export { ExportHistoryTable } from './ExportHistoryTable';
|
|
4
|
+
export type { ExportHistoryTableProps } from './ExportHistoryTable';
|
|
5
|
+
export { ExportJobStatusBadge } from './ExportJobStatusBadge';
|
|
6
|
+
export type { ExportJobStatusBadgeProps } from './ExportJobStatusBadge';
|
|
7
|
+
export { useExportJob } from './useExportJob';
|
|
8
|
+
export type { ExportJobPhase, ExportJobState, UseExportJobOptions, UseExportJobReturn } from './useExportJob';
|
|
9
|
+
export { EXPORT_JOBS_PATH, createExportJob, getExportJob, listExportJobs, cancelExportJob, downloadExportJob, fetchExportDownload, saveExportDownload, } from './exportJobApi';
|
|
10
|
+
export type { ExportDownload, ExportDownloadFetchResult, ExportDownloadResult } from './exportJobApi';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/export/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ApiError } from '../../adapters/types';
|
|
2
|
+
import { ExportJob, ExportJobCreateRequest } from '../../types/exportJob.types';
|
|
3
|
+
/**
|
|
4
|
+
* Where a started export stands.
|
|
5
|
+
*
|
|
6
|
+
* - `starting` — POST sent, no job yet.
|
|
7
|
+
* - `running` — job accepted, polled every `pollIntervalMs`.
|
|
8
|
+
* - `downloading` — COMPLETED, the file is being handed to the browser.
|
|
9
|
+
* - `done` — download started.
|
|
10
|
+
* - `background` — not finished by `waitMs`: the user takes it from the
|
|
11
|
+
* download history (and, later, the e-mail).
|
|
12
|
+
* - `failed` — refused at creation (`error`), or the job FAILED / EXPIRED
|
|
13
|
+
* (`job.errorCode` / `job.errorMessage`).
|
|
14
|
+
* - `cancelled` — cancelled by the user or by someone with `export.jobs.read.all`.
|
|
15
|
+
*/
|
|
16
|
+
export type ExportJobPhase = "idle" | "starting" | "running" | "downloading" | "done" | "background" | "failed" | "cancelled";
|
|
17
|
+
export interface ExportJobState {
|
|
18
|
+
phase: ExportJobPhase;
|
|
19
|
+
job?: ExportJob;
|
|
20
|
+
/** API refusal (creation, polling or download), when the job itself carries no reason. */
|
|
21
|
+
error?: ApiError;
|
|
22
|
+
}
|
|
23
|
+
export interface UseExportJobOptions {
|
|
24
|
+
/** Poll period. The platform's guidance is ~2 s; progress is not pushed. @default 2000 */
|
|
25
|
+
pollIntervalMs?: number;
|
|
26
|
+
/**
|
|
27
|
+
* How long the screen waits for the file before handing it to the download
|
|
28
|
+
* history. The platform's guidance is ~30 s. A HARD deadline: a poll answer
|
|
29
|
+
* that arrives later never starts a download — checked against the clock too,
|
|
30
|
+
* so a throttled (background-tab) timer cannot stretch it. @default 30000
|
|
31
|
+
*/
|
|
32
|
+
waitMs?: number;
|
|
33
|
+
/** Called on every phase change, after the state is set. */
|
|
34
|
+
onPhaseChange?: (state: ExportJobState) => void;
|
|
35
|
+
}
|
|
36
|
+
export interface UseExportJobReturn {
|
|
37
|
+
state: ExportJobState;
|
|
38
|
+
/** Starts an export. Ignored while one is in flight (`starting` / `running` / `downloading`). */
|
|
39
|
+
start: (request: ExportJobCreateRequest) => Promise<void>;
|
|
40
|
+
/** Asks the server to cancel the running job; the next poll reports the outcome. */
|
|
41
|
+
cancel: () => Promise<ApiError | undefined>;
|
|
42
|
+
/** Back to `idle` (stops polling and any pending download; the server-side job is NOT cancelled). */
|
|
43
|
+
reset: () => void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One export from a list screen: create the job, poll it, download the file
|
|
47
|
+
* when it completes within `waitMs`, otherwise leave it to the download history.
|
|
48
|
+
*
|
|
49
|
+
* The flow is imperative on purpose (one job per click, a deadline, a single
|
|
50
|
+
* download side effect), so it lives in refs + timers rather than React Query —
|
|
51
|
+
* a query would refetch, retry and re-run the download on remount.
|
|
52
|
+
*
|
|
53
|
+
* Every async step re-checks its run before touching state or the browser, and
|
|
54
|
+
* the browser download is the very last step after that check (L-F05). The
|
|
55
|
+
* deadline is its own timer (L-F04); any unexpected throw ends the run as
|
|
56
|
+
* `failed` (L-F06). Unmount stops everything; the job keeps running on the
|
|
57
|
+
* server and shows up in the history.
|
|
58
|
+
*
|
|
59
|
+
* StrictMode's effect replay (cleanup + setup again in the same task) keeps
|
|
60
|
+
* the run instead of killing it: the replayed effect's `start()` is ignored
|
|
61
|
+
* while busy, so a killed run would leave the hook in `starting` for good
|
|
62
|
+
* (L-F15), and restarting would POST a second job.
|
|
63
|
+
*
|
|
64
|
+
* Anything slower counts as an unmount — including an `<Activity>` hidden for
|
|
65
|
+
* longer than a tick: the run ends (requests aborted, no download), the hook is
|
|
66
|
+
* back in `idle` and the job carries on in the history. Shown again it does not
|
|
67
|
+
* resume; a consumer that starts the export from an effect starts a NEW job
|
|
68
|
+
* then, exactly as on a real remount (L-F18).
|
|
69
|
+
*/
|
|
70
|
+
export declare function useExportJob({ pollIntervalMs, waitMs, onPhaseChange, }?: UseExportJobOptions): UseExportJobReturn;
|
|
71
|
+
//# sourceMappingURL=useExportJob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExportJob.d.ts","sourceRoot":"","sources":["../../../src/components/export/useExportJob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9H,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,cAAc,CAAC;IACtB,iGAAiG;IACjG,KAAK,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,oFAAoF;IACpF,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC5C,qGAAqG;IACrG,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,cAAqB,EACrB,MAAc,EACd,aAAa,GACd,GAAE,mBAAwB,GAAG,kBAAkB,CAuK/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MouseEvent as ReactMouseEvent, ReactNode } from 'react';
|
|
2
|
-
import { SheetCloseReason } from '
|
|
2
|
+
import { SheetCloseReason } from '@nar-bus/ui-kit';
|
|
3
3
|
import { FormSheetGradient } from './gradientHeader';
|
|
4
4
|
export type { FormSheetGradient };
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MouseEvent as ReactMouseEvent, ReactNode } from 'react';
|
|
2
|
-
import { SheetCloseReason } from '
|
|
2
|
+
import { SheetCloseReason } from '@nar-bus/ui-kit';
|
|
3
3
|
import { FormSheetGradient } from './gradientHeader';
|
|
4
4
|
/**
|
|
5
5
|
* ReadonlySheet — a footer-less view drawer (same header chrome as `FormSheet`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HourStrip.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourStrip.tsx"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"HourStrip.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourStrip.tsx"],"names":[],"mappings":"AAUA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,KAAK,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE,cAAc,+BAqChB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HourlyGridStatusColor } from './HourlyMonthGrid';
|
|
1
|
+
import { HourlyGridMarker, HourlyGridStatusColor } from './HourlyMonthGrid';
|
|
2
2
|
export interface HourlyGridLegendItem {
|
|
3
3
|
status: string;
|
|
4
4
|
label: string;
|
|
@@ -6,7 +6,9 @@ export interface HourlyGridLegendItem {
|
|
|
6
6
|
export interface HourlyGridLegendProps {
|
|
7
7
|
items: HourlyGridLegendItem[];
|
|
8
8
|
statusColors?: Record<string, HourlyGridStatusColor>;
|
|
9
|
+
/** Corner markers to explain, drawn after the status items. Pass the same objects the cells carry. */
|
|
10
|
+
markers?: HourlyGridMarker[];
|
|
9
11
|
className?: string;
|
|
10
12
|
}
|
|
11
|
-
export declare function HourlyGridLegend({ items, statusColors, className }: HourlyGridLegendProps): import("react").JSX.Element;
|
|
13
|
+
export declare function HourlyGridLegend({ items, statusColors, markers, className }: HourlyGridLegendProps): import("react").JSX.Element;
|
|
12
14
|
//# sourceMappingURL=HourlyGridLegend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HourlyGridLegend.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourlyGridLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HourlyGridLegend.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourlyGridLegend.tsx"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,sGAAsG;IACtG,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,qBAAqB,+BAsBlG"}
|
|
@@ -1,9 +1,38 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Named marker tones resolve to the theme's status tokens. Any other string is
|
|
4
|
+
* used verbatim as a CSS colour (a token reference such as `var(--my-accent)`
|
|
5
|
+
* or a literal), so a consumer is never forced to mirror package token names.
|
|
6
|
+
*/
|
|
7
|
+
export type HourlyGridMarkerTone = "info" | "success" | "warning" | "danger" | "neutral";
|
|
8
|
+
/**
|
|
9
|
+
* Corner marker on an hourly cell — a layer ORTHOGONAL to `status`
|
|
10
|
+
* (NB-HOURLYGRID-BADGE-01). `status` stays what it is: the cell's production
|
|
11
|
+
* method and its colour key. The marker flags something that happened TO the
|
|
12
|
+
* hour on top of that (MDM OSF: a meter-fault window applied vs. declared but
|
|
13
|
+
* not applied, LMA-519 C12.2) without inventing compound status values.
|
|
14
|
+
*
|
|
15
|
+
* `label` is human text: it is appended to the cell's accessible name (and to
|
|
16
|
+
* the HourStrip button's title), and `HourlyGridLegend` can explain it via its
|
|
17
|
+
* `markers` prop. The cell `tooltip` is consumer-owned and left untouched.
|
|
18
|
+
*/
|
|
19
|
+
export interface HourlyGridMarker {
|
|
20
|
+
tone: HourlyGridMarkerTone | (string & {});
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* `"solid"` fills the dot, `"outline"` draws a ring — a second, non-colour
|
|
24
|
+
* cue so two markers can be told apart without relying on hue alone
|
|
25
|
+
* (WCAG 1.4.1). @default "solid"
|
|
26
|
+
*/
|
|
27
|
+
variant?: "solid" | "outline";
|
|
28
|
+
}
|
|
2
29
|
export interface HourlyGridCell {
|
|
3
30
|
value: number | null;
|
|
4
31
|
status: string;
|
|
5
32
|
tooltip?: string;
|
|
6
33
|
locked?: boolean;
|
|
34
|
+
/** Optional corner marker, independent of `status`. Absent → the cell renders exactly as before. */
|
|
35
|
+
marker?: HourlyGridMarker;
|
|
7
36
|
}
|
|
8
37
|
export interface HourlyGridRow {
|
|
9
38
|
day: number;
|
|
@@ -49,5 +78,21 @@ export interface HourlyMonthGridProps {
|
|
|
49
78
|
}
|
|
50
79
|
/** Prop override → default token map → `missing` for unknown/absent status. */
|
|
51
80
|
export declare function resolveStatusColor(status: string | undefined, statusColors?: Record<string, HourlyGridStatusColor>): HourlyGridStatusColor;
|
|
81
|
+
/** Named tone → status token; any other non-blank string passes through as a CSS colour. */
|
|
82
|
+
export declare function resolveMarkerColor(tone: string): string;
|
|
83
|
+
/** Trimmed marker label, "" when absent — tolerant of untyped (JS) callers. */
|
|
84
|
+
export declare function markerLabel(marker: HourlyGridMarker | undefined): string;
|
|
85
|
+
/** `", <label>"` for an accessible name, or "" — so an unmarked cell's name is byte-identical. */
|
|
86
|
+
export declare function markerAriaSuffix(marker: HourlyGridMarker | undefined): string;
|
|
87
|
+
/**
|
|
88
|
+
* The corner dot itself, shared by grid cells, HourStrip and the legend.
|
|
89
|
+
* Decorative (`aria-hidden`): the label already rides in the owning control's
|
|
90
|
+
* accessible name, so announcing the dot would read it twice. The colour is
|
|
91
|
+
* handed over as a custom property and painted with it in CSS, so one rule
|
|
92
|
+
* serves both variants.
|
|
93
|
+
*/
|
|
94
|
+
export declare function HourlyGridMarkerDot({ marker }: {
|
|
95
|
+
marker: HourlyGridMarker;
|
|
96
|
+
}): import("react").JSX.Element;
|
|
52
97
|
export declare function HourlyMonthGrid({ rows, daysInMonth, statusColors, onCellClick, selectedCell, renderCellDetail, showTotals, formatValue, formatTotal, lockBoundaryDay, maxHeight, dayLabel, totalLabel, className, }: HourlyMonthGridProps): import("react").JSX.Element;
|
|
53
98
|
//# sourceMappingURL=HourlyMonthGrid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HourlyMonthGrid.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourlyMonthGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7E,OAAO,uBAAuB,CAAC;AAK/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HourlyMonthGrid.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/HourlyMonthGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { HourlyMonthGrid } from './HourlyMonthGrid';
|
|
2
|
-
export type { HourlyMonthGridProps, HourlyGridCell, HourlyGridRow, HourlyGridStatusColor, } from './HourlyMonthGrid';
|
|
2
|
+
export type { HourlyMonthGridProps, HourlyGridCell, HourlyGridRow, HourlyGridStatusColor, HourlyGridMarker, HourlyGridMarkerTone, } from './HourlyMonthGrid';
|
|
3
3
|
export { HourStrip } from './HourStrip';
|
|
4
4
|
export type { HourStripProps } from './HourStrip';
|
|
5
5
|
export { HourlyGridLegend } from './HourlyGridLegend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hourly-month-grid/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -19,13 +19,13 @@ export type { TimelineProps, TimelineEntry, TimelineStatus } from './Timeline';
|
|
|
19
19
|
export { LiveMonitorPanel } from './LiveMonitorPanel';
|
|
20
20
|
export type { LiveMonitorPanelProps } from './LiveMonitorPanel';
|
|
21
21
|
export { OrderCreateSheet } from './OrderCreateSheet';
|
|
22
|
-
export type { OrderCreateSheetProps, OrderCreateMode, OrderCreateTargetEntity, BulkOrderSubmitPayload, } from './OrderCreateSheet';
|
|
22
|
+
export type { OrderCreateSheetProps, OrderCreateMode, OrderCreateTargetEntity, BulkOrderSubmitPayload, OrderCreateError, OrderCreateTarget, } from './OrderCreateSheet';
|
|
23
23
|
export { OrderDetailSheet } from './OrderDetailSheet';
|
|
24
24
|
export type { OrderDetailSheetProps } from './OrderDetailSheet';
|
|
25
25
|
export { MapView } from './MapView';
|
|
26
26
|
export type { MapViewProps } from './MapView';
|
|
27
|
-
export { CronBuilder } from './CronBuilder';
|
|
28
|
-
export type { CronBuilderProps } from './CronBuilder';
|
|
27
|
+
export { CronBuilder, hasCronDayOrSemantics } from './CronBuilder';
|
|
28
|
+
export type { CronBuilderProps, CronDayFieldSemantics } from './CronBuilder';
|
|
29
29
|
export { NotificationBell } from './NotificationBell';
|
|
30
30
|
export type { NotificationBellProps } from './NotificationBell';
|
|
31
31
|
export { RealTimeStatusBar } from './RealTimeStatusBar';
|
|
@@ -51,7 +51,7 @@ export type { TopErrorCodesMiniProps, TopErrorCodesMiniState, ErrorCodeEntry, }
|
|
|
51
51
|
export { DetailSection, DetailFieldRow, DetailFieldGrid, DetailPill, DetailContentBlock, DetailTile, } from './detail-glass';
|
|
52
52
|
export type { DetailSectionProps, DetailFieldRowProps, DetailFieldGridProps, DetailPillProps, DetailPillTone, DetailContentBlockProps, DetailTileProps, DetailTileTone, } from './detail-glass';
|
|
53
53
|
export { HourlyMonthGrid, HourStrip, HourlyGridLegend } from './hourly-month-grid';
|
|
54
|
-
export type { HourlyMonthGridProps, HourlyGridCell, HourlyGridRow, HourlyGridStatusColor, HourStripProps, HourlyGridLegendProps, HourlyGridLegendItem, } from './hourly-month-grid';
|
|
54
|
+
export type { HourlyMonthGridProps, HourlyGridCell, HourlyGridRow, HourlyGridStatusColor, HourlyGridMarker, HourlyGridMarkerTone, HourStripProps, HourlyGridLegendProps, HourlyGridLegendItem, } from './hourly-month-grid';
|
|
55
55
|
export { FormSection, FormFieldStack, FormFieldRow, FormSectionGroup, } from './form-glass';
|
|
56
56
|
export type { FormSectionProps, FormFieldStackProps, FormFieldRowProps, FormSectionGroupProps, } from './form-glass';
|
|
57
57
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|