@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.
Files changed (113) hide show
  1. package/dist/adapters/api-adapter.d.ts +5 -5
  2. package/dist/adapters/api-adapter.d.ts.map +1 -1
  3. package/dist/adapters/index.d.ts +1 -1
  4. package/dist/adapters/index.d.ts.map +1 -1
  5. package/dist/adapters/real-adapter.d.ts +5 -5
  6. package/dist/adapters/real-adapter.d.ts.map +1 -1
  7. package/dist/adapters/traceId.d.ts +24 -0
  8. package/dist/adapters/traceId.d.ts.map +1 -0
  9. package/dist/adapters/types.d.ts +41 -0
  10. package/dist/adapters/types.d.ts.map +1 -1
  11. package/dist/api/apiClient.d.ts +22 -5
  12. package/dist/api/apiClient.d.ts.map +1 -1
  13. package/dist/api/queryKeys.d.ts +12 -0
  14. package/dist/api/queryKeys.d.ts.map +1 -1
  15. package/dist/api/searchRequest.d.ts +1 -1
  16. package/dist/components/CronBuilder.d.ts +28 -1
  17. package/dist/components/CronBuilder.d.ts.map +1 -1
  18. package/dist/components/MeterStatusBadge.d.ts.map +1 -1
  19. package/dist/components/OrderCreateSheet.d.ts +96 -1
  20. package/dist/components/OrderCreateSheet.d.ts.map +1 -1
  21. package/dist/components/OrderDetailSheet.d.ts +15 -1
  22. package/dist/components/OrderDetailSheet.d.ts.map +1 -1
  23. package/dist/components/detail-layout/ReadingHeatmap.d.ts +20 -2
  24. package/dist/components/detail-layout/ReadingHeatmap.d.ts.map +1 -1
  25. package/dist/components/detail-layout/TriColumnSymmetric.d.ts +16 -1
  26. package/dist/components/detail-layout/TriColumnSymmetric.d.ts.map +1 -1
  27. package/dist/components/detail-layout/adapters.d.ts.map +1 -1
  28. package/dist/components/detail-layout/types.d.ts +46 -18
  29. package/dist/components/detail-layout/types.d.ts.map +1 -1
  30. package/dist/components/export/ExportButton.d.ts +47 -0
  31. package/dist/components/export/ExportButton.d.ts.map +1 -0
  32. package/dist/components/export/ExportHistoryTable.d.ts +38 -0
  33. package/dist/components/export/ExportHistoryTable.d.ts.map +1 -0
  34. package/dist/components/export/ExportJobStatusBadge.d.ts +10 -0
  35. package/dist/components/export/ExportJobStatusBadge.d.ts.map +1 -0
  36. package/dist/components/export/exportJobApi.d.ts +54 -0
  37. package/dist/components/export/exportJobApi.d.ts.map +1 -0
  38. package/dist/components/export/exportJobFormat.d.ts +19 -0
  39. package/dist/components/export/exportJobFormat.d.ts.map +1 -0
  40. package/dist/components/export/exportJobText.d.ts +26 -0
  41. package/dist/components/export/exportJobText.d.ts.map +1 -0
  42. package/dist/components/export/index.d.ts +11 -0
  43. package/dist/components/export/index.d.ts.map +1 -0
  44. package/dist/components/export/useExportJob.d.ts +71 -0
  45. package/dist/components/export/useExportJob.d.ts.map +1 -0
  46. package/dist/components/form-sheet/FormSheet.d.ts +1 -1
  47. package/dist/components/form-sheet/ReadonlySheet.d.ts +1 -1
  48. package/dist/components/hourly-month-grid/HourStrip.d.ts.map +1 -1
  49. package/dist/components/hourly-month-grid/HourlyGridLegend.d.ts +4 -2
  50. package/dist/components/hourly-month-grid/HourlyGridLegend.d.ts.map +1 -1
  51. package/dist/components/hourly-month-grid/HourlyMonthGrid.d.ts +45 -0
  52. package/dist/components/hourly-month-grid/HourlyMonthGrid.d.ts.map +1 -1
  53. package/dist/components/hourly-month-grid/index.d.ts +1 -1
  54. package/dist/components/hourly-month-grid/index.d.ts.map +1 -1
  55. package/dist/components/index.d.ts +4 -4
  56. package/dist/components/index.d.ts.map +1 -1
  57. package/dist/components/order-forms/AstroConfigForm.d.ts.map +1 -1
  58. package/dist/components/order-forms/DirectiveForms.d.ts +15 -2
  59. package/dist/components/order-forms/DirectiveForms.d.ts.map +1 -1
  60. package/dist/components/order-forms/FirmwareUpdateForm.d.ts +10 -2
  61. package/dist/components/order-forms/FirmwareUpdateForm.d.ts.map +1 -1
  62. package/dist/components/order-forms/modemDetailQuery.d.ts +17 -0
  63. package/dist/components/order-forms/modemDetailQuery.d.ts.map +1 -0
  64. package/dist/hooks/index.d.ts +1 -1
  65. package/dist/hooks/index.d.ts.map +1 -1
  66. package/dist/hooks/useEnumValues.d.ts +66 -1
  67. package/dist/hooks/useEnumValues.d.ts.map +1 -1
  68. package/dist/index.css +1 -1
  69. package/dist/index.d.ts +14 -7
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +17563 -16427
  72. package/dist/mocks/periodic-jobs.json.d.ts +5 -5
  73. package/dist/types/audit.types.d.ts +27 -0
  74. package/dist/types/audit.types.d.ts.map +1 -0
  75. package/dist/types/auth.types.d.ts +98 -9
  76. package/dist/types/auth.types.d.ts.map +1 -1
  77. package/dist/types/brand-model.types.d.ts +25 -1
  78. package/dist/types/brand-model.types.d.ts.map +1 -1
  79. package/dist/types/calendar.types.d.ts +3 -0
  80. package/dist/types/calendar.types.d.ts.map +1 -1
  81. package/dist/types/directive.types.d.ts +3 -0
  82. package/dist/types/directive.types.d.ts.map +1 -1
  83. package/dist/types/exportJob.types.d.ts +115 -0
  84. package/dist/types/exportJob.types.d.ts.map +1 -0
  85. package/dist/types/firmware.types.d.ts +16 -1
  86. package/dist/types/firmware.types.d.ts.map +1 -1
  87. package/dist/types/index.d.ts +6 -4
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/dist/types/location.types.d.ts +21 -1
  90. package/dist/types/location.types.d.ts.map +1 -1
  91. package/dist/types/management.types.d.ts +165 -9
  92. package/dist/types/management.types.d.ts.map +1 -1
  93. package/dist/types/meter.types.d.ts +122 -1
  94. package/dist/types/meter.types.d.ts.map +1 -1
  95. package/dist/types/modem.types.d.ts +67 -3
  96. package/dist/types/modem.types.d.ts.map +1 -1
  97. package/dist/types/order.types.d.ts +15 -0
  98. package/dist/types/order.types.d.ts.map +1 -1
  99. package/dist/types/parser-template.types.d.ts +9 -2
  100. package/dist/types/parser-template.types.d.ts.map +1 -1
  101. package/dist/types/protocol.types.d.ts +3 -0
  102. package/dist/types/protocol.types.d.ts.map +1 -1
  103. package/dist/types/reading-setting.types.d.ts +3 -0
  104. package/dist/types/reading-setting.types.d.ts.map +1 -1
  105. package/dist/types/server-config.types.d.ts +7 -0
  106. package/dist/types/server-config.types.d.ts.map +1 -1
  107. package/dist/types/simcard.types.d.ts +3 -0
  108. package/dist/types/simcard.types.d.ts.map +1 -1
  109. package/dist/utils/activeLocale.d.ts +1 -2
  110. package/dist/utils/activeLocale.d.ts.map +1 -1
  111. package/dist/utils/orderReason.d.ts +50 -0
  112. package/dist/utils/orderReason.d.ts.map +1 -0
  113. package/package.json +3 -3
@@ -1,9 +1,9 @@
1
- import { ApiResponse, SearchRequest } from './types';
1
+ import { ApiRequestOptions, ApiResponse, SearchRequest } from './types';
2
2
  export interface ApiAdapter {
3
- get<T>(url: string, params?: Record<string, string>): Promise<ApiResponse<T>>;
4
- post<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
5
- put<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
6
- delete<T>(url: string): Promise<ApiResponse<T>>;
3
+ get<T>(url: string, params?: Record<string, string>, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
4
+ post<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
5
+ put<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
6
+ delete<T>(url: string, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
7
7
  search<T>(url: string, request: SearchRequest): Promise<ApiResponse<T[]>>;
8
8
  }
9
9
  //# sourceMappingURL=api-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3E"}
1
+ {"version":3,"file":"api-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/api-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3E"}
@@ -1,6 +1,6 @@
1
1
  import { ApiAdapter } from './api-adapter';
2
2
  export type { ApiAdapter } from './api-adapter';
3
- export type { ApiResponse, ApiError, FieldError, PageMeta, PageRequest, SearchRequest, FilterItem, } from './types';
3
+ export type { ApiRequestOptions, ApiResponse, ApiError, FieldError, PageMeta, PageRequest, SearchRequest, FilterItem, } from './types';
4
4
  export { MockAdapter } from './mock-adapter';
5
5
  export { RealAdapter, setTokenProvider } from './real-adapter';
6
6
  export interface ApiConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIpD;AASD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,UAMhB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIpD;AASD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,UAMhB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { ApiAdapter } from './api-adapter';
2
- import { ApiResponse, SearchRequest } from './types';
2
+ import { ApiRequestOptions, ApiResponse, SearchRequest } from './types';
3
3
  export declare function setTokenProvider(provider: () => string | null): void;
4
4
  export declare class RealAdapter implements ApiAdapter {
5
5
  private http;
6
6
  constructor(baseUrl?: string);
7
- get<T>(url: string, params?: Record<string, string>): Promise<ApiResponse<T>>;
8
- post<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
9
- put<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
10
- delete<T>(url: string): Promise<ApiResponse<T>>;
7
+ get<T>(url: string, params?: Record<string, string>, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
8
+ post<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
9
+ put<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
10
+ delete<T>(url: string, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
11
11
  search<T>(url: string, request: SearchRequest): Promise<ApiResponse<T[]>>;
12
12
  }
13
13
  //# sourceMappingURL=real-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"real-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/real-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI1D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAEpE;AAyGD,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,IAAI,CAAgB;gBAEhB,OAAO,GAAE,MAAW;IAI1B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS7E,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAY5D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS3D,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS/C,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAQhF"}
1
+ {"version":3,"file":"real-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/real-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAEpE;AAqLD,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,IAAI,CAAgB;gBAEhB,OAAO,GAAE,MAAW;IAI1B,GAAG,CAAC,CAAC,EACT,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IASpB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAazF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IASxF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS5E,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAQhF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * NB-TRACE-W3C-01 — the `X-Trace-Id` value, in the shape the backend accepts.
3
+ *
4
+ * The backend's `TraceIdFilter` (lena-observability-sdk, plan T12) honours an
5
+ * inbound `X-Trace-Id` only when `W3CTrace.normaliseTraceId` can read it as a
6
+ * W3C trace-id: 32 lowercase hex, not all zeroes (a dashed UUID is accepted
7
+ * after its dashes are stripped). Anything else is dropped and a fresh id is
8
+ * minted server-side — which is what happened to the old
9
+ * `Date.now().toString(36) + "-" + random-base36` value: the id shown in the
10
+ * browser's network tab never matched the `traceId` in the logs, so a trace
11
+ * could not start in the browser (plan T13).
12
+ *
13
+ * The id is sent as-is, never derived: the backend deliberately does not hash
14
+ * an unreadable id into shape, because a derived value would again differ from
15
+ * the one the browser shows.
16
+ *
17
+ * No `traceparent` header is sent from the browser. The backend reads only
18
+ * `X-Trace-Id` at the edge and builds `traceparent` itself for the services
19
+ * behind it; a new request header would also need every gateway's CORS
20
+ * allow-list to grow, while `X-Trace-Id` is already allowed.
21
+ */
22
+ /** A W3C trace-id: 32 lowercase hex characters, never all zeroes. */
23
+ export declare function generateTraceId(): string;
24
+ //# sourceMappingURL=traceId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceId.d.ts","sourceRoot":"","sources":["../../src/adapters/traceId.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAsBH,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,MAAM,CAQxC"}
@@ -9,6 +9,47 @@ export interface ApiError {
9
9
  params?: Record<string, string>;
10
10
  details?: FieldError[];
11
11
  }
12
+ /**
13
+ * NB-APICLIENT-TIMEOUT-01 — per-request transport options for `apiGet` /
14
+ * `apiPost` / `apiPut` / `apiDelete` (and the matching `api.*` adapter calls).
15
+ *
16
+ * Every field is optional and omitting the object keeps the request exactly as
17
+ * before: the client-wide 30 s timeout, no cancellation, JSON envelope parsing.
18
+ * Authorization, `X-Trace-Id` and the `AUTH_010`/`AUTH_011` refresh hook apply
19
+ * to every request regardless of these options. The mock adapter ignores them.
20
+ */
21
+ export interface ApiRequestOptions {
22
+ /**
23
+ * Client timeout for this request in milliseconds, replacing the 30 s
24
+ * default (e.g. a long synchronous import the gateway allows 300 s for).
25
+ * `0` disables the client timeout; fractions are rounded up (so `0.4` is
26
+ * 1 ms, never "no timeout"). Negative or non-finite values are ignored
27
+ * (the default applies); values above 2147483647 are clamped to it, because
28
+ * timers overflow beyond that and would fire immediately.
29
+ * A request that times out still resolves with `NETWORK_ERROR`, as today.
30
+ */
31
+ timeoutMs?: number;
32
+ /**
33
+ * Cancels the request when aborted (also when already aborted). A cancelled
34
+ * request resolves — it never rejects — with
35
+ * `{ status: "error", error: { code: "REQUEST_CANCELED" } }`, so a caller can
36
+ * tell its own abort apart from a network failure.
37
+ */
38
+ signal?: AbortSignal;
39
+ /**
40
+ * How a successful body is returned:
41
+ * - `"json"` (default) — the server's envelope, unchanged behaviour;
42
+ * - `"blob"` — the raw bytes as `{ status: "success", data: Blob }` (CSV with
43
+ * its byte-order mark intact, XLSX, PDF…);
44
+ * - `"text"` — the raw body as `{ status: "success", data: string }`.
45
+ * The browser's UTF-8 decoder drops a leading byte-order mark; use `"blob"`
46
+ * when the exact bytes matter.
47
+ *
48
+ * Error responses are decoded to the server's JSON error envelope in every
49
+ * mode, so error codes (and the 401 refresh hook) work for downloads too.
50
+ */
51
+ responseType?: "json" | "blob" | "text";
52
+ }
12
53
  export interface FieldError {
13
54
  field: string;
14
55
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B"}
@@ -1,9 +1,26 @@
1
- import { ApiResponse, SearchRequest } from '../adapters/types';
1
+ import { ApiRequestOptions, ApiResponse, SearchRequest } from '../adapters/types';
2
+ /** `options` that ask for the raw bytes — `data` is a `Blob`. */
3
+ type BlobRequestOptions = ApiRequestOptions & {
4
+ responseType: "blob";
5
+ };
6
+ /** `options` that ask for the raw body — `data` is a `string`. */
7
+ type TextRequestOptions = ApiRequestOptions & {
8
+ responseType: "text";
9
+ };
2
10
  export declare function setOnUnauthorized(handler: () => Promise<void>): void;
3
11
  export declare function getErrorI18nKey(code: string): string;
4
- export declare function apiGet<T>(url: string, params?: Record<string, string>): Promise<ApiResponse<T>>;
5
- export declare function apiPost<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
6
- export declare function apiPut<T>(url: string, body: unknown): Promise<ApiResponse<T>>;
7
- export declare function apiDelete<T>(url: string): Promise<ApiResponse<T>>;
12
+ export declare function apiGet(url: string, params: Record<string, string> | undefined, options: BlobRequestOptions): Promise<ApiResponse<Blob>>;
13
+ export declare function apiGet(url: string, params: Record<string, string> | undefined, options: TextRequestOptions): Promise<ApiResponse<string>>;
14
+ export declare function apiGet<T>(url: string, params?: Record<string, string>, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
15
+ export declare function apiPost(url: string, body: unknown, options: BlobRequestOptions): Promise<ApiResponse<Blob>>;
16
+ export declare function apiPost(url: string, body: unknown, options: TextRequestOptions): Promise<ApiResponse<string>>;
17
+ export declare function apiPost<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
18
+ export declare function apiPut(url: string, body: unknown, options: BlobRequestOptions): Promise<ApiResponse<Blob>>;
19
+ export declare function apiPut(url: string, body: unknown, options: TextRequestOptions): Promise<ApiResponse<string>>;
20
+ export declare function apiPut<T>(url: string, body: unknown, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
21
+ export declare function apiDelete(url: string, options: BlobRequestOptions): Promise<ApiResponse<Blob>>;
22
+ export declare function apiDelete(url: string, options: TextRequestOptions): Promise<ApiResponse<string>>;
23
+ export declare function apiDelete<T>(url: string, options?: ApiRequestOptions): Promise<ApiResponse<T>>;
8
24
  export declare function apiSearch<T>(url: string, request: SearchRequest): Promise<ApiResponse<T[]>>;
25
+ export {};
9
26
  //# sourceMappingURL=apiClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../src/api/apiClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKpE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEpE;AAiBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAsB,MAAM,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAGzB;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAGzB;AAED,wBAAsB,MAAM,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAGzB;AAED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAGzB;AAED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAG3B"}
1
+ {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../src/api/apiClient.ts"],"names":[],"mappings":"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"}
@@ -152,6 +152,18 @@ export declare const queryKeys: {
152
152
  readonly details: () => readonly ["firmwares", "detail"];
153
153
  readonly detail: (id: number) => readonly ["firmwares", "detail", number];
154
154
  readonly kpi: () => readonly ["firmwares", "kpi"];
155
+ readonly options: (gatewayBrand: string, gatewayModel: string) => readonly ["firmwares", "options", {
156
+ readonly gatewayBrand: string;
157
+ readonly gatewayModel: string;
158
+ }];
159
+ };
160
+ readonly exportJobs: {
161
+ readonly all: readonly ["export-jobs"];
162
+ readonly list: (scope: string, page: number, size: number) => readonly ["export-jobs", "list", {
163
+ readonly scope: string;
164
+ readonly page: number;
165
+ readonly size: number;
166
+ }];
155
167
  };
156
168
  readonly directives: {
157
169
  readonly all: readonly ["directives"];
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../src/api/queryKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,SAAS;;;;iCAIF,aAAa;;8BAEhB,MAAM;;gCAEJ,MAAM;+BACP,MAAM,UAAU,MAAM;mCAClB,MAAM;8BACX,MAAM;8BACN,MAAM;8BACN,MAAM;+BACL,MAAM;oCACD,MAAM;8BACZ,MAAM;8BACN,MAAM;iCACH,MAAM;oCACH,MAAM;iCACT,MAAM;6BACV,MAAM;;;;;iCAKF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mCACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;iCAMzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mCACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BAC3B,MAAM;;;;;;iCAMJ,aAAa;;8BAEhB,MAAM;;+BAEL,MAAM,UAAU,MAAM;wCACb,MAAM;gCACd,MAAM;gCACN,MAAM;6BACT,MAAM;8BACL,MAAM;8BACN,MAAM;iCACH,MAAM;6BACV,MAAM;;;;;iCAKF,aAAa;;8BAEhB,MAAM;;;;;;iCAMH,aAAa;;;;;;;;;;;;mCAYX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;iCASzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;iCAMH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;8BAMN,MAAM;+BACL,MAAM,SAAS,MAAM;;;;;;8BAMtB,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;kCACF,MAAM;gCACR,MAAM;;;;;iCAKL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;iCACH,MAAM,gBAAgB,MAAM;kCAC3B,MAAM;;;;;iCAKP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;iCAMH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;iCAMH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;iCAMH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;iCAMH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;iCAKvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;iCAIH,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCAE3C,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,MAAM;;;;;iCAMxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;wCAII,MAAM;sCACR,MAAM;oCACR,MAAM;;;;;iCAKT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;QAQvC,8EAA8E;4CACnD,MAAM;QACjC,wFAAwF;;;;;;;mCAOtE,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iCAC1C,MAAM,UAAU,MAAM;;;;;;;0CAOb,MAAM;;;;;oCAKZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;iCAK1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;;yCAMK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sCAC1B,MAAM;;;;mCAIT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;iCAKzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;8BAE1B,MAAM;;;;;iCAKH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;CAMjC,CAAC"}
1
+ {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../src/api/queryKeys.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { SearchRequest } from '../adapters/types';
2
- import { DataTableState } from '../../../lena-ui-kit/src';
2
+ import { DataTableState } from '@nar-bus/ui-kit';
3
3
  export declare function buildSearchRequest(tableState: DataTableState): SearchRequest;
4
4
  //# sourceMappingURL=searchRequest.d.ts.map
@@ -1,7 +1,34 @@
1
+ /**
2
+ * How the day-of-month and day-of-week fields combine when BOTH are restricted
3
+ * (NB-CRONBUILDER-DAY-01). The builder always edits a 5-field Unix cron, but
4
+ * the same component serves engines that answer this question differently:
5
+ *
6
+ * - `"or"` — Unix/vixie cron, which is what cron-utils' UNIX definition
7
+ * evaluates (HES calendars): `0 0 15 * 1` runs on the 15th OR on any Monday.
8
+ * That is a legitimate schedule, so both fields stay selectable; the summary
9
+ * spells the OR out and a note explains it, so it cannot be read as an
10
+ * intersection.
11
+ * - `"exclusive"` — for engines that cannot express the combination at all
12
+ * (Quartz needs one of the two to be `?` — management periodic jobs). Picking
13
+ * a specific value in one field resets the other to "every day"; an
14
+ * expression that still restricts both (typed into the expression box, or
15
+ * arriving as `value`) is flagged invalid instead of being silently rewritten.
16
+ */
17
+ export type CronDayFieldSemantics = "or" | "exclusive";
1
18
  export interface CronBuilderProps {
2
19
  value: string;
3
20
  onChange: (cron: string) => void;
21
+ /** @default "or" — see {@link CronDayFieldSemantics}. */
22
+ dayFieldSemantics?: CronDayFieldSemantics;
4
23
  className?: string;
5
24
  }
6
- export declare function CronBuilder({ value, onChange, className }: CronBuilderProps): import("react").JSX.Element;
25
+ /**
26
+ * True when a 5-field cron restricts BOTH day-of-month and day-of-week — the
27
+ * case Unix cron evaluates as an OR and Quartz cannot express. It is the exact
28
+ * predicate behind the builder's OR note and its exclusive-mode error, exported
29
+ * so a consumer's own run preview or submit guard agrees with what the builder
30
+ * shows. Anything that is not five fields returns `false`.
31
+ */
32
+ export declare function hasCronDayOrSemantics(cron: string): boolean;
33
+ export declare function CronBuilder({ value, onChange, dayFieldSemantics, className, }: CronBuilderProps): import("react").JSX.Element;
7
34
  //# sourceMappingURL=CronBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CronBuilder.d.ts","sourceRoot":"","sources":["../../src/components/CronBuilder.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4JD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BA8F3E"}
1
+ {"version":3,"file":"CronBuilder.d.ts","sourceRoot":"","sources":["../../src/components/CronBuilder.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmCD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI3D;AA4JD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,iBAAwB,EACxB,SAAS,GACV,EAAE,gBAAgB,+BA4KlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeterStatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/MeterStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CACA;IACE,sEAAsE;IACtE,gBAAgB,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3D,mGAAmG;IACnG,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,CAChE,CAAC;AAqCF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAU5D"}
1
+ {"version":3,"file":"MeterStatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/MeterStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CACA;IACE,sEAAsE;IACtE,gBAAgB,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3D,mGAAmG;IACnG,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,CAChE,CAAC;AA8CF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAU5D"}
@@ -1,6 +1,24 @@
1
1
  import { Order, OrderType, OrderPriority } from '../types';
2
2
  export type OrderCreateMode = "single" | "bulk";
3
3
  export type OrderCreateTargetEntity = "MODEM" | "METER";
4
+ /**
5
+ * Why one target's `POST /api/orders` failed — the backend error envelope's
6
+ * `error.code` / `error.params`, handed on untouched. (NB-ORDER-CREATE-ERROR-01)
7
+ *
8
+ * `code` is absent only when there was no envelope to read: the request threw
9
+ * before the adapter could map it, or the backend answered "success" without an
10
+ * order. HTTP failures always carry one — the adapter maps them to
11
+ * `status: "error"` itself (`NETWORK_ERROR` when the server never answered).
12
+ */
13
+ export interface OrderCreateError {
14
+ code?: string;
15
+ params?: Record<string, unknown>;
16
+ }
17
+ /** The target a create request was sent for; `meterId` only on meter orders. */
18
+ export interface OrderCreateTarget {
19
+ modemId: number;
20
+ meterId?: number;
21
+ }
4
22
  export interface BulkOrderSubmitPayload {
5
23
  orderType: OrderType;
6
24
  /**
@@ -64,6 +82,42 @@ export interface OrderCreateSheetProps {
64
82
  value: string;
65
83
  label: string;
66
84
  }>;
85
+ /**
86
+ * Options for the firmware picker (`GATEWAY_FIRMWARE_UPDATE`). NB-ORDER-OPTIONS-01
87
+ * (LHA-871): the picker used to be permanently EMPTY because nothing filled it.
88
+ *
89
+ * - **single mode — omit it.** The form loads the packages that fit the modem's
90
+ * brand and model itself (modem detail → `/api/firmwares/options`).
91
+ * - **bulk mode — REQUIRED.** N target modems may differ in brand/model, so
92
+ * there is no single list to load; the consumer decides which packages apply.
93
+ *
94
+ * `value` becomes the order's `versionName` param — pass the firmware's
95
+ * `versionName`, not its id.
96
+ *
97
+ * Passing an array (even an empty one) is treated as a deliberate override and
98
+ * suppresses the fetch.
99
+ */
100
+ firmwareOptions?: Array<{
101
+ value: string;
102
+ label: string;
103
+ }>;
104
+ /**
105
+ * Options for the directive pickers (`GATEWAY_DIRECTIVE_QUERY` /
106
+ * `GATEWAY_DIRECTIVE_EXECUTE`). NB-ORDER-OPTIONS-01 (LHA-871): both pickers were
107
+ * EMPTY for the same reason as the firmware one.
108
+ *
109
+ * Omit it in both modes: the directive catalogue does not depend on the target
110
+ * modem, so the forms load it themselves (`/api/directives/search`). Supply it
111
+ * only to narrow or reorder the list.
112
+ *
113
+ * `value` MUST be the directive's `name` — the id the gateway knows it by. It
114
+ * becomes `directive` (execute) or `filter.id` (query) on the wire
115
+ * (NB-DIRECTIVE-WIRE-01). An array (even an empty one) suppresses the fetch.
116
+ */
117
+ directiveOptions?: Array<{
118
+ value: string;
119
+ label: string;
120
+ }>;
67
121
  /**
68
122
  * Single-mode only — fired once after a submit in which at least one order
69
123
  * was created (never on total failure). `order` is the first successful
@@ -107,12 +161,53 @@ export interface OrderCreateSheetProps {
107
161
  *
108
162
  * For the legacy single-meter case (N = 1) no toast is emitted — the consumer's
109
163
  * `onOrderCreated` callback is authoritative as before.
164
+ *
165
+ * `partial` and `failure` are followed by the reason(s) the backend gave
166
+ * (" — <reason>"; see {@link errorMessage}) — NB-ORDER-CREATE-ERROR-01.
110
167
  */
111
168
  singleSubmitCopy?: {
112
169
  success?: string;
113
170
  partial?: string;
114
171
  failure?: string;
115
172
  };
173
+ /**
174
+ * Single-mode only — fired once per target whose create request failed, after
175
+ * every target has been attempted and before `onOrderCreated` (partial
176
+ * success) or the failure toast.
177
+ *
178
+ * NB-ORDER-CREATE-ERROR-01: the error envelope used to be dropped on the floor,
179
+ * so the operator only ever read "Order creation failed" — never that the meter
180
+ * had no matching reading setting (`READING_SETTING_NOT_MATCHED`), or that the
181
+ * user lacked the permission. This is the per-target list: one call per failed
182
+ * meter, with the meter it was for.
183
+ *
184
+ * Informational. The sheet still shows its own failure / partial toast, now
185
+ * carrying the reason, so do NOT toast from here — that is the double toast
186
+ * NB-ORDER-TOAST-01 removed. Use it to mark the failed rows, log, or keep the
187
+ * list for a follow-up view.
188
+ */
189
+ onOrderCreateError?: (error: OrderCreateError, target: OrderCreateTarget) => void;
190
+ /**
191
+ * Single-mode only — words a failed target's reason for the sheet's toast.
192
+ *
193
+ * - a string → shown as-is;
194
+ * - `""` → no reason for that target (the toast keeps its bare copy);
195
+ * - `null` / `undefined` → the default below.
196
+ *
197
+ * Default: `errorCodes.<code>` (then `errors.<code>`, the
198
+ * {@link getErrorI18nKey} convention), looked up in
199
+ * {@link translationNamespace} first and the default namespace second, with
200
+ * `params` interpolated; a code nobody translates is shown raw — an operator
201
+ * reading "READING_SETTING_NOT_MATCHED" can still act on it, one reading
202
+ * nothing cannot. No code, no reason.
203
+ */
204
+ errorMessage?: (error: OrderCreateError, target: OrderCreateTarget) => string | null | undefined;
205
+ /**
206
+ * i18n namespace holding the app's error vocabulary (`errorCodes.*`), as in
207
+ * `OrderDetailSheet`. Only the default {@link errorMessage} reads it.
208
+ * @default "hes"
209
+ */
210
+ translationNamespace?: string;
116
211
  /**
117
212
  * Ask for confirmation before discarding a partially filled form when the sheet
118
213
  * is dismissed via backdrop click or Escape. Default `true`.
@@ -134,5 +229,5 @@ export interface OrderCreateSheetProps {
134
229
  cancel?: string;
135
230
  };
136
231
  }
137
- export declare function OrderCreateSheet({ open, onClose, mode, modemId, modemSlug, meterId, meterSlug, modemOptions, meterOptions, relayOptions, onOrderCreated, bulkTargetModemIds, bulkTargetEntity, onBulkSubmit, bulkCopy, singleSubmitCopy, confirmOnDiscard, discardConfirmCopy, }: OrderCreateSheetProps): import("react").JSX.Element;
232
+ export declare function OrderCreateSheet({ open, onClose, mode, modemId, modemSlug, meterId, meterSlug, modemOptions, meterOptions, relayOptions, firmwareOptions, directiveOptions, onOrderCreated, bulkTargetModemIds, bulkTargetEntity, onBulkSubmit, bulkCopy, singleSubmitCopy, onOrderCreateError, errorMessage, translationNamespace, confirmOnDiscard, discardConfirmCopy, }: OrderCreateSheetProps): import("react").JSX.Element;
138
233
  //# sourceMappingURL=OrderCreateSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderCreateSheet.d.ts","sourceRoot":"","sources":["../../src/components/OrderCreateSheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderCreateSheet.d.ts","sourceRoot":"","sources":["../../src/components/OrderCreateSheet.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,KAAK,EAAE,SAAS,EAAiB,aAAa,EAC/C,MAAM,UAAU,CAAC;AAiBlB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA6DD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;;;OASG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAmBD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gFAAgF;IAChF,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClF;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjG;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA+CD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,IAAe,EACf,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,YAAiB,EACjB,YAAiB,EAIjB,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAuB,EACvB,gBAA0B,EAC1B,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,oBAA0C,EAC1C,gBAAuB,EACvB,kBAAkB,GACnB,EAAE,qBAAqB,+BAgYvB"}
@@ -15,6 +15,20 @@ export interface OrderDetailSheetProps {
15
15
  * finally to the raw code. (NB-ORDER-RETRY-01)
16
16
  */
17
17
  statusLabel?: (status: OrderStatus) => string;
18
+ /**
19
+ * Words one status-log reason code (`READING_SETTING_NOT_MATCHED`,
20
+ * `RESPONSE_PATH_STALLED`, …) for the terminal row of the status flow — the
21
+ * codes in `reason` and in a CODED `message` alike (NB-ORDER-STATUSLOG-MSG-01).
22
+ * Multi-part reasons (`A;B`) are split first, so this sees one code at a time.
23
+ * A free-text `message` (see `isOrderReasonCodeFormat`) never reaches this — it
24
+ * is shown verbatim after the worded codes.
25
+ *
26
+ * - a string → shown as-is (`""` hides that code);
27
+ * - `null` / `undefined` → the default: `order.diagnostic.<code>`, then
28
+ * `errorCodes.<code>`, each in {@link translationNamespace} before ui-kit's
29
+ * bundle, then the raw code. (NB-ORDER-REASON-01)
30
+ */
31
+ reasonLabel?: (code: string) => string | null | undefined;
18
32
  /**
19
33
  * i18n namespace holding the app's own order vocabulary. Keys found there win
20
34
  * over the package's, so an app can also override any `order.*` label; keys it
@@ -23,5 +37,5 @@ export interface OrderDetailSheetProps {
23
37
  */
24
38
  translationNamespace?: string;
25
39
  }
26
- export declare function OrderDetailSheet({ open, onClose, order, orderId, onCancel, onRetry, statusLabel, translationNamespace, }: OrderDetailSheetProps): import("react").JSX.Element;
40
+ export declare function OrderDetailSheet({ open, onClose, order, orderId, onCancel, onRetry, statusLabel, reasonLabel, translationNamespace, }: OrderDetailSheetProps): import("react").JSX.Element;
27
41
  //# sourceMappingURL=OrderDetailSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderDetailSheet.d.ts","sourceRoot":"","sources":["../../src/components/OrderDetailSheet.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAUnD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;IAC9C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAsOD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAA0C,GAC3C,EAAE,qBAAqB,+BAgLvB"}
1
+ {"version":3,"file":"OrderDetailSheet.d.ts","sourceRoot":"","sources":["../../src/components/OrderDetailSheet.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAUnD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;IAC9C;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAyQD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAA0C,GAC3C,EAAE,qBAAqB,+BAoMvB"}
@@ -1,4 +1,20 @@
1
- import { ReadingDay } from './types';
1
+ import { ReadingDay, DayStatus } from './types';
2
+ /**
3
+ * LUG-HEATMAP-LABELS — per-instance calendar texts, already translated by the
4
+ * consumer. The `detail_hero.calendar.*` keys are global, so an app showing the
5
+ * same calendar with two meanings (MDM: installation = OSF fill, meter = reads)
6
+ * could not relabel one screen without relabelling the other. Every field is
7
+ * optional; a missing one falls back to its i18n key, so an instance without
8
+ * `labels` renders exactly as before.
9
+ */
10
+ export interface ReadingHeatmapLabels {
11
+ /** Caption above the month name (default `detail_hero.calendar.title`). */
12
+ title?: string;
13
+ /** Cell text — tooltip and cell `aria-label` (default `detail_hero.calendar.status.*`). */
14
+ status?: Partial<Record<DayStatus, string>>;
15
+ /** Legend under the grid (default `detail_hero.calendar.legend.*`). */
16
+ legend?: Partial<Record<DayStatus, string>>;
17
+ }
2
18
  interface ReadingHeatmapProps {
3
19
  readings: ReadingDay[];
4
20
  /** Visual size — "comfortable" (~32px cells), "compact" (~22px). */
@@ -7,7 +23,9 @@ interface ReadingHeatmapProps {
7
23
  showDayNumbers?: boolean;
8
24
  /** Show the month nav header. Set false when the parent supplies its own header. */
9
25
  showHeader?: boolean;
26
+ /** LUG-HEATMAP-LABELS — overrides for this instance only (see `ReadingHeatmapLabels`). */
27
+ labels?: ReadingHeatmapLabels;
10
28
  }
11
- export declare function ReadingHeatmap({ readings, size, showDayNumbers, showHeader, }: ReadingHeatmapProps): import("react").JSX.Element;
29
+ export declare function ReadingHeatmap({ readings, size, showDayNumbers, showHeader, labels, }: ReadingHeatmapProps): import("react").JSX.Element;
12
30
  export {};
13
31
  //# sourceMappingURL=ReadingHeatmap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadingHeatmap.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/ReadingHeatmap.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,SAAS,CAAC;AAErD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IAC1C,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuCD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,IAAoB,EACpB,cAAc,EACd,UAAiB,GAClB,EAAE,mBAAmB,+BAsNrB"}
1
+ {"version":3,"file":"ReadingHeatmap.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/ReadingHeatmap.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IAC1C,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAuCD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,IAAoB,EACpB,cAAc,EACd,UAAiB,EACjB,MAAM,GACP,EAAE,mBAAmB,+BAsNrB"}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ReadingHeatmapLabels } from './ReadingHeatmap';
2
3
  import { DetailEntity, DetailPalette } from './types';
3
4
  interface TriColumnSymmetricProps {
4
5
  data: DetailEntity;
@@ -8,8 +9,22 @@ interface TriColumnSymmetricProps {
8
9
  * Rendered top-right of the tag chip row inside the hero glass surface.
9
10
  */
10
11
  actionsSlot?: ReactNode;
12
+ /**
13
+ * NB-DETAIL-ORDERS-01 — replaces the "Active Orders" tile's tooltip content.
14
+ * Omitted → the package builds it from `orderSuitability` +
15
+ * `activeOrdersByPriority` (modem only; no tooltip when both are absent).
16
+ * `null` → no tooltip at all (the status dot stays). Non-interactive content
17
+ * only: it is also mirrored, visually hidden, as the tile's description.
18
+ */
19
+ activeOrdersTooltip?: ReactNode;
20
+ /**
21
+ * LUG-HEATMAP-LABELS — calendar texts for THIS hero only (title, cell status,
22
+ * legend), forwarded to `ReadingHeatmap`. Omitted fields keep the global
23
+ * `detail_hero.calendar.*` keys.
24
+ */
25
+ calendarLabels?: ReadingHeatmapLabels;
11
26
  }
12
- export declare function TriColumnSymmetric({ data, palette, actionsSlot }: TriColumnSymmetricProps): import("react").JSX.Element;
27
+ export declare function TriColumnSymmetric({ data, palette, actionsSlot, activeOrdersTooltip, calendarLabels, }: TriColumnSymmetricProps): import("react").JSX.Element;
13
28
  /**
14
29
  * FIX-407 — Hero pills collapsed from three (lifecycle + network + power)
15
30
  * to two business-critical dimensions: fleet lifecycle (inventory state)
@@ -1 +1 @@
1
- {"version":3,"file":"TriColumnSymmetric.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/TriColumnSymmetric.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAavC,OAAO,EAAkB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,UAAU,uBAAuB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,uBAAuB,+BA4KzF;AAED;;;;;;;;GAQG;AACH,mEAAmE;AACnE,KAAK,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAgEpE,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+BAqB5E"}
1
+ {"version":3,"file":"TriColumnSymmetric.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/TriColumnSymmetric.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAY9C,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAkB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,UAAU,uBAAuB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,cAAc,GACf,EAAE,uBAAuB,+BA6LzB;AAED;;;;;;;;GAQG;AACH,mEAAmE;AACnE,KAAK,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAmFpE,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+BAqB5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAGZ,UAAU,EAEX,MAAM,SAAS,CAAC;AAMjB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAwBtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAMnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CASvF;AAMD,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,UAAU,EAAE,CAAC;KAC5B,CAAC;IACF,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+HD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,YAAY,CAsCd;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,YAAY,CAmCd"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/components/detail-layout/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAGZ,UAAU,EAEX,MAAM,SAAS,CAAC;AAMjB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAwBtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAMnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CASvF;AAMD,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,UAAU,EAAE,CAAC;KAC5B,CAAC;IACF,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoJD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,YAAY,CAgDd;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,YAAY,CAmCd"}