@overvis/hmi-workspace-ui 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/{alarm-list-DKFio0hg.js → alarm-list-TDg7nwkn.js} +4 -4
- package/dist/{alarm-rule-dialog-mb4_nHRW.js → alarm-rule-dialog-DwbRtPZD.js} +10 -10
- package/dist/{alarm-rule-lists-CfZXTWkK.js → alarm-rule-lists-Ax7PzbQy.js} +4 -4
- package/dist/{alarm-rules-page-DBLSkrrG.js → alarm-rules-page-DisATKLV.js} +11 -11
- package/dist/{alert-dialog-D_iDv2lQ.js → alert-dialog-CskdoiGZ.js} +1 -1
- package/dist/{base-revision-DLF9EnGV.js → base-revision-C-tNhqGq.js} +3 -3
- package/dist/{breadcrumbs-D5R6Fz74.js → breadcrumbs-B5O9let7.js} +3 -3
- package/dist/{catalog-list-BkWosvh1.js → catalog-list-3yaB4bJD.js} +1 -1
- package/dist/{code-editor-DCM0KdMJ.js → code-editor-B6myrPQm.js} +2 -2
- package/dist/{dashboards-page-DLc11Vzu.js → dashboards-page-CoKevu-T.js} +9 -9
- package/dist/{de-Z2er-E5v.js → de-CPxvTPak.js} +8 -0
- package/dist/{diagnostic-text-CYZFPiND.js → diagnostic-text-BS4rdZcE.js} +2 -2
- package/dist/{dialogs-DEOg9lxy.js → dialogs-BUyPGimM.js} +6 -6
- package/dist/{dialogs-BX023zml.js → dialogs-CF7Baagf.js} +512 -510
- package/dist/{display-VYGzneE0.js → display-DmldtHdd.js} +2 -2
- package/dist/{editor-language-CGENZxbI.js → editor-language-8UJkvBgX.js} +1 -1
- package/dist/{editor-page-CaN52OQh.js → editor-page-_6TxO_iT.js} +14 -14
- package/dist/{en-CKPPL6bQ.js → en-DoFtc9Sn.js} +8 -0
- package/dist/{entity-controls-DJT47yeV.js → entity-controls-rdv-ttvP.js} +3 -3
- package/dist/{errors-BAWoH_5w.js → errors-BFeJfnyz.js} +2 -2
- package/dist/{footer-CbPMP8aq.js → footer-DZUQHVnt.js} +4 -4
- package/dist/host.js +28 -27
- package/dist/{i18n-ChjEbYEg.js → i18n-D54xfDUE.js} +5 -5
- package/dist/i18n.js +1 -1
- package/dist/index.js +45 -34
- package/dist/{list-page-Fa29SkaJ.js → list-page-Cz5bdD8r.js} +11 -11
- package/dist/{location-map-renderer-DvXIYc1Z.js → location-map-renderer-Hb5N0AYH.js} +1 -1
- package/dist/{notice-card-V_0K0lO0.js → notice-card-BMNjc7qi.js} +3 -3
- package/dist/{page-BorlLnMX.js → page-BKnwJyv5.js} +8 -8
- package/dist/{page-DxF7FOve.js → page-CBWLmbIE.js} +11 -11
- package/dist/{page-B5te_1Lc.js → page-UoQRnsm3.js} +11 -11
- package/dist/{panel-DuZD-cBP.js → panel-Cr3OXiRs.js} +3 -3
- package/dist/{pl-DVABrn5G.js → pl-DEPfFtMO.js} +8 -0
- package/dist/{presence-code-DsabLTZs.js → presence-code-DIKs9fBe.js} +2 -2
- package/dist/{query-gate-BbIo1Xrj.js → query-gate-2sU8OvEb.js} +3 -3
- package/dist/{quick-report-BcZsfkCZ.js → quick-report-ZvrI5Jkh.js} +3130 -3102
- package/dist/{retention-note-CmMeHV_u.js → retention-note-BrkxE2Wo.js} +9 -6
- package/dist/{retention-C7EZsq8u.js → retention-wDvnFMbN.js} +2 -2
- package/dist/{ru-CBRLC_xM.js → ru-Ct2zNOs8.js} +8 -0
- package/dist/{run-text-CDdfbKbg.js → run-text-Bmkf_u0N.js} +2 -2
- package/dist/{search-C6xQ_Hvo.js → search-ADhiRT_S.js} +3 -3
- package/dist/{sections-D_SBfVzV.js → sections-BDtBUhxn.js} +1 -1
- package/dist/{select-nNLG-AMz.js → select-Cpeslz01.js} +2 -2
- package/dist/{spinner-B-KLtBjp.js → spinner-LbVGWBQq.js} +2 -2
- package/dist/src/i18n/catalogs/de/api-error.d.ts +3 -0
- package/dist/src/i18n/catalogs/de/audit.d.ts +1 -0
- package/dist/src/i18n/catalogs/de/edge-program.d.ts +1 -0
- package/dist/src/i18n/catalogs/de/parameter.d.ts +1 -0
- package/dist/src/i18n/catalogs/de/starter.d.ts +2 -0
- package/dist/src/i18n/catalogs/de.d.ts +8 -0
- package/dist/src/i18n/catalogs/en/api-error.d.ts +3 -0
- package/dist/src/i18n/catalogs/en/audit.d.ts +1 -0
- package/dist/src/i18n/catalogs/en/edge-program.d.ts +1 -0
- package/dist/src/i18n/catalogs/en/parameter.d.ts +1 -0
- package/dist/src/i18n/catalogs/en/starter.d.ts +2 -0
- package/dist/src/i18n/catalogs/en.d.ts +8 -0
- package/dist/src/i18n/catalogs/pl/api-error.d.ts +3 -0
- package/dist/src/i18n/catalogs/pl/audit.d.ts +1 -0
- package/dist/src/i18n/catalogs/pl/edge-program.d.ts +1 -0
- package/dist/src/i18n/catalogs/pl/parameter.d.ts +1 -0
- package/dist/src/i18n/catalogs/pl/starter.d.ts +2 -0
- package/dist/src/i18n/catalogs/pl.d.ts +8 -0
- package/dist/src/i18n/catalogs/ru/api-error.d.ts +3 -0
- package/dist/src/i18n/catalogs/ru/audit.d.ts +1 -0
- package/dist/src/i18n/catalogs/ru/edge-program.d.ts +1 -0
- package/dist/src/i18n/catalogs/ru/parameter.d.ts +1 -0
- package/dist/src/i18n/catalogs/ru/starter.d.ts +2 -0
- package/dist/src/i18n/catalogs/ru.d.ts +8 -0
- package/dist/src/i18n/catalogs/uk/api-error.d.ts +3 -0
- package/dist/src/i18n/catalogs/uk/audit.d.ts +1 -0
- package/dist/src/i18n/catalogs/uk/edge-program.d.ts +1 -0
- package/dist/src/i18n/catalogs/uk/parameter.d.ts +1 -0
- package/dist/src/i18n/catalogs/uk/starter.d.ts +2 -0
- package/dist/src/i18n/catalogs/uk.d.ts +8 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/workspace/device-presets/layout.d.ts +2 -0
- package/dist/src/workspace/graphics/inspector/item.d.ts +6 -6
- package/dist/src/workspace/local-setup-link.d.ts +3 -0
- package/dist/src/workspace/parameters/errors.d.ts +5 -0
- package/dist/src/workspace/setup/starters/starter-form.d.ts +24 -6
- package/dist/starter-fields-BHNS6IQe.js +678 -0
- package/dist/styles.css +1 -1
- package/dist/ui.js +6 -6
- package/dist/{uk-17pbVYZa.js → uk-Dbm1i2uh.js} +8 -0
- package/dist/{wireguard-docs-Clb-7xRY.js → wireguard-docs-DIBtCviv.js} +3 -3
- package/package.json +2 -2
- package/dist/starter-fields-7S3LmtGa.js +0 -583
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
readonly audit_target_type_workspace: "Робочий простір";
|
|
42
42
|
readonly audit_target_type_workspace_permission: "Доступ до робочого простору";
|
|
43
43
|
readonly audit_target_type_workspace_invitation: "Запрошення";
|
|
44
|
+
readonly audit_target_type_workspace_public_link: "Публічна адреса";
|
|
44
45
|
readonly audit_target_type_workspace_file: "Файл робочого простору";
|
|
45
46
|
readonly audit_target_type_dashboard: "Панель";
|
|
46
47
|
readonly audit_target_type_endpoint: "Підключення";
|
|
@@ -201,6 +201,7 @@ declare const _default: {
|
|
|
201
201
|
readonly taskfile_warning_filename_invalid: "{filename} не є ім’ям файлу 8.3, тому пристрій його пропускає.";
|
|
202
202
|
readonly taskfile_warning_implicit_indirect_index: "Визначте індексну змінну до її використання; з невизначеною пристрій може поводитися непередбачувано.";
|
|
203
203
|
readonly taskfile_warning_memory_log_target: "Журналювання параметра в пам’яті пристрою завершується помилкою й зупиняє все журналювання програм. Натомість відобразіть його на регістр Modbus пристрою.";
|
|
204
|
+
readonly taskfile_warning_missing_return: "{name} викликається через CALL або TRYCALL, але її дії можуть без RETURN перейти в іншу функцію або за кінець файлу. RETURN одразу після IF виконується, лише коли умова істинна.";
|
|
204
205
|
readonly taskfile_warning_nonstandard_holding_name: "Пристрій приймає тут це ім’я, але воно не відповідає звичайним правилам іменування.";
|
|
205
206
|
readonly taskfile_warning_string_output_limit: "Цей рядок може стати довшим за {limit} байтів, і пристрій обріже решту.";
|
|
206
207
|
readonly taskfile_warning_unknown: "Можлива проблема: {code}.";
|
|
@@ -220,6 +220,7 @@ declare const _default: {
|
|
|
220
220
|
readonly parameter_field_addresses_placeholder: "0, 1, 2";
|
|
221
221
|
readonly parameter_field_addresses_invalid: "Введіть 1–64 адреси (0–65535), через кому.";
|
|
222
222
|
readonly parameter_field_addresses_too_short: "Адреси дають {available} Б, а цьому типу значення потрібно {required} Б. Кожен регістр дає 2 байти, кожен дискретний вихід або вхід — 1. Додайте адреси або змініть тип значення.";
|
|
223
|
+
readonly parameter_field_write_limit_exceeds_storage: "Ця межа запису не вміщується у сховище типу значення. Змініть межу або змініть тип значення й потім запишіть значення знову.";
|
|
223
224
|
readonly parameter_field_write_function: "Функція запису";
|
|
224
225
|
readonly parameter_field_source_invalid: "Конфігурація джерела некоректна.";
|
|
225
226
|
readonly parameter_field_value_type_invalid: "Конфігурація типу значення некоректна.";
|
|
@@ -8,6 +8,8 @@ declare const _default: {
|
|
|
8
8
|
readonly starter_add_row: "Додати";
|
|
9
9
|
readonly starter_remove_row: "Видалити: {row}";
|
|
10
10
|
readonly starter_recipients_none: "Нікого";
|
|
11
|
+
readonly starter_unit: "Одиниця виміру";
|
|
12
|
+
readonly starter_unit_ms: "мс";
|
|
11
13
|
readonly starter_unit_s: "с";
|
|
12
14
|
readonly starter_unit_min: "хв";
|
|
13
15
|
readonly starter_unit_h: "год";
|
|
@@ -102,6 +102,7 @@ declare const _default: {
|
|
|
102
102
|
readonly error_device_api_device_error_status: "Пристрій відповів помилкою {status}.";
|
|
103
103
|
readonly error_input_invalid: "Надіслані дані містять помилки.";
|
|
104
104
|
readonly error_workspace_no_access: "У вас немає доступу до цього робочого простору.";
|
|
105
|
+
readonly error_workspace_public_link_not_found: "Ця публічна адреса недоступна.";
|
|
105
106
|
readonly error_workspace_suspended: "Цей робочий простір призупинено. Відкрийте його, щоб дізнатися причину.";
|
|
106
107
|
readonly error_workspace_not_owner: "Лише власник робочого простору може це зробити.";
|
|
107
108
|
readonly error_workspace_not_admin: "Лише адміністратор або власник робочого простору може це зробити.";
|
|
@@ -329,6 +330,8 @@ declare const _default: {
|
|
|
329
330
|
readonly error_authentication_required: "Увійдіть, щоб продовжити.";
|
|
330
331
|
readonly error_admission_required: "Ваш обліковий запис ще не має доступу. Скористайтеся запрошенням або кодом доступу, щоб продовжити.";
|
|
331
332
|
readonly error_onboarding_required: "Заповніть свій профіль у вебзастосунку, щоб продовжити.";
|
|
333
|
+
readonly error_guest_not_allowed: "Увійдіть, щоб зробити це. Гості можуть лише переглядати цей робочий простір.";
|
|
334
|
+
readonly error_guest_rate_limited: "Забагато запитів із вашої мережі. Зачекайте хвилину або увійдіть.";
|
|
332
335
|
readonly error_audit_invalid_cursor: "Ця сторінка історії вже недійсна. Оновіть історію.";
|
|
333
336
|
readonly error_audit_archived_workspace_required: "Виберіть видалений робочий простір, щоб переглянути його історію.";
|
|
334
337
|
readonly error_checkpoint_not_found: "Цієї контрольної точки більше немає. Оновіть історію.";
|
|
@@ -1240,6 +1243,7 @@ declare const _default: {
|
|
|
1240
1243
|
readonly parameter_field_addresses_placeholder: "0, 1, 2";
|
|
1241
1244
|
readonly parameter_field_addresses_invalid: "Введіть 1–64 адреси (0–65535), через кому.";
|
|
1242
1245
|
readonly parameter_field_addresses_too_short: "Адреси дають {available} Б, а цьому типу значення потрібно {required} Б. Кожен регістр дає 2 байти, кожен дискретний вихід або вхід — 1. Додайте адреси або змініть тип значення.";
|
|
1246
|
+
readonly parameter_field_write_limit_exceeds_storage: "Ця межа запису не вміщується у сховище типу значення. Змініть межу або змініть тип значення й потім запишіть значення знову.";
|
|
1243
1247
|
readonly parameter_field_write_function: "Функція запису";
|
|
1244
1248
|
readonly parameter_field_source_invalid: "Конфігурація джерела некоректна.";
|
|
1245
1249
|
readonly parameter_field_value_type_invalid: "Конфігурація типу значення некоректна.";
|
|
@@ -1431,6 +1435,7 @@ declare const _default: {
|
|
|
1431
1435
|
readonly audit_target_type_workspace: "Робочий простір";
|
|
1432
1436
|
readonly audit_target_type_workspace_permission: "Доступ до робочого простору";
|
|
1433
1437
|
readonly audit_target_type_workspace_invitation: "Запрошення";
|
|
1438
|
+
readonly audit_target_type_workspace_public_link: "Публічна адреса";
|
|
1434
1439
|
readonly audit_target_type_workspace_file: "Файл робочого простору";
|
|
1435
1440
|
readonly audit_target_type_dashboard: "Панель";
|
|
1436
1441
|
readonly audit_target_type_endpoint: "Підключення";
|
|
@@ -2582,6 +2587,8 @@ declare const _default: {
|
|
|
2582
2587
|
readonly starter_add_row: "Додати";
|
|
2583
2588
|
readonly starter_remove_row: "Видалити: {row}";
|
|
2584
2589
|
readonly starter_recipients_none: "Нікого";
|
|
2590
|
+
readonly starter_unit: "Одиниця виміру";
|
|
2591
|
+
readonly starter_unit_ms: "мс";
|
|
2585
2592
|
readonly starter_unit_s: "с";
|
|
2586
2593
|
readonly starter_unit_min: "хв";
|
|
2587
2594
|
readonly starter_unit_h: "год";
|
|
@@ -3253,6 +3260,7 @@ declare const _default: {
|
|
|
3253
3260
|
readonly taskfile_warning_filename_invalid: "{filename} не є ім’ям файлу 8.3, тому пристрій його пропускає.";
|
|
3254
3261
|
readonly taskfile_warning_implicit_indirect_index: "Визначте індексну змінну до її використання; з невизначеною пристрій може поводитися непередбачувано.";
|
|
3255
3262
|
readonly taskfile_warning_memory_log_target: "Журналювання параметра в пам’яті пристрою завершується помилкою й зупиняє все журналювання програм. Натомість відобразіть його на регістр Modbus пристрою.";
|
|
3263
|
+
readonly taskfile_warning_missing_return: "{name} викликається через CALL або TRYCALL, але її дії можуть без RETURN перейти в іншу функцію або за кінець файлу. RETURN одразу після IF виконується, лише коли умова істинна.";
|
|
3256
3264
|
readonly taskfile_warning_nonstandard_holding_name: "Пристрій приймає тут це ім’я, але воно не відповідає звичайним правилам іменування.";
|
|
3257
3265
|
readonly taskfile_warning_string_output_limit: "Цей рядок може стати довшим за {limit} байтів, і пристрій обріже решту.";
|
|
3258
3266
|
readonly taskfile_warning_unknown: "Можлива проблема: {code}.";
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** This package's version, sent to the API as `workspace-ui/<version>` by local workspace hosts. */
|
|
2
|
-
export declare const WORKSPACE_UI_VERSION = "0.1.
|
|
2
|
+
export declare const WORKSPACE_UI_VERSION = "0.1.3";
|
|
@@ -17,6 +17,8 @@ export interface DevicePresetPageContext<Page extends string> {
|
|
|
17
17
|
connected: boolean;
|
|
18
18
|
/** Reads the page's values from the device again. */
|
|
19
19
|
readAgain: () => void;
|
|
20
|
+
/** The operator has not paused the dashboard; a page's own polling should stop while false. */
|
|
21
|
+
live: boolean;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* A device dashboard: the device header with live controls, tabs for its pages, the banner of a
|
|
@@ -678,18 +678,18 @@ export declare function changeGraphicsItem(document: GraphicsDocument, next: Gra
|
|
|
678
678
|
parentId?: string | null;
|
|
679
679
|
locked?: boolean;
|
|
680
680
|
from: {
|
|
681
|
-
elementId: string;
|
|
682
|
-
port: string;
|
|
683
|
-
} | {
|
|
684
681
|
x: number;
|
|
685
682
|
y: number;
|
|
686
|
-
}
|
|
687
|
-
to: {
|
|
683
|
+
} | {
|
|
688
684
|
elementId: string;
|
|
689
685
|
port: string;
|
|
690
|
-
}
|
|
686
|
+
};
|
|
687
|
+
to: {
|
|
691
688
|
x: number;
|
|
692
689
|
y: number;
|
|
690
|
+
} | {
|
|
691
|
+
elementId: string;
|
|
692
|
+
port: string;
|
|
693
693
|
};
|
|
694
694
|
route: "curve" | "orthogonal" | "straight";
|
|
695
695
|
bends: {
|
|
@@ -12,5 +12,8 @@ export declare const loadLocalDashboardSetup: LoadLocalDashboardSetup;
|
|
|
12
12
|
* Shows a dashboard's unpushed local configuration from `setup.db` in place of the saved one, for
|
|
13
13
|
* `dashboard.get` and `graphics.get`. A local drawing reports the revision the API will give it
|
|
14
14
|
* after a push, so saving over unpushed local changes is refused as a conflict.
|
|
15
|
+
* A dashboard created locally and never pushed has no API row: it resolves from local setup once
|
|
16
|
+
* `workspace.get` confirms access to its workspace, and its Maps queries use the workspace scope.
|
|
17
|
+
* Every other dashboard still needs its API read.
|
|
15
18
|
*/
|
|
16
19
|
export declare function localSetupLink(load?: LoadLocalDashboardSetup): TRPCLink<PublicAppRouter>;
|
|
@@ -13,3 +13,8 @@ export declare const parameterCodeFields: {
|
|
|
13
13
|
* value type needs (`modbus_source_too_short`), or null for any other failure.
|
|
14
14
|
*/
|
|
15
15
|
export declare function modbusSourceTooShortError(error: unknown): (() => string) | null;
|
|
16
|
+
/**
|
|
17
|
+
* Value type field text for a save rejected because a write limit does not fit the storage
|
|
18
|
+
* (`const_write_limit_exceeds_storage`), or null for any other failure.
|
|
19
|
+
*/
|
|
20
|
+
export declare function constWriteLimitError(error: unknown): (() => string) | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AutomationRecipients } from "@overvis/hmi-shared/automation";
|
|
2
|
-
import { type StarterPlaceholder, type StarterProblem, type StarterScalarPlaceholder, type StarterValues } from "@overvis/hmi-shared/starter";
|
|
2
|
+
import { type StarterDurationUnit, type StarterPlaceholder, type StarterProblem, type StarterScalarPlaceholder, type StarterValues } from "@overvis/hmi-shared/starter";
|
|
3
3
|
export type StarterRole = Extract<AutomationRecipients, {
|
|
4
4
|
kind: "roles";
|
|
5
5
|
}>["roles"][number];
|
|
@@ -9,11 +9,17 @@ export interface StarterRecipientsValue {
|
|
|
9
9
|
roles: StarterRole[];
|
|
10
10
|
memberIds: string[];
|
|
11
11
|
}
|
|
12
|
+
/** A duration as typed in, with the unit it is typed in. */
|
|
13
|
+
export interface StarterDurationValue {
|
|
14
|
+
kind: "duration";
|
|
15
|
+
amount: string;
|
|
16
|
+
unit: StarterDurationUnit;
|
|
17
|
+
}
|
|
12
18
|
/**
|
|
13
19
|
* What the form holds for one scalar placeholder: text for typed-in and chosen values (empty
|
|
14
|
-
* when nothing is given), a switch, weekdays, or recipients.
|
|
20
|
+
* when nothing is given), a duration, a switch, weekdays, or recipients.
|
|
15
21
|
*/
|
|
16
|
-
export type StarterFieldValue = string | boolean | number[] | StarterRecipientsValue;
|
|
22
|
+
export type StarterFieldValue = string | boolean | number[] | StarterDurationValue | StarterRecipientsValue;
|
|
17
23
|
export interface StarterFormRow {
|
|
18
24
|
/** Stable across edits, for React keys. */
|
|
19
25
|
key: string;
|
|
@@ -21,15 +27,26 @@ export interface StarterFormRow {
|
|
|
21
27
|
}
|
|
22
28
|
export type StarterFormValue = StarterFieldValue | StarterFormRow[];
|
|
23
29
|
export type StarterFormValues = Record<string, StarterFormValue>;
|
|
24
|
-
|
|
25
|
-
export declare function durationInUnit(placeholder: StarterScalarPlaceholder & {
|
|
30
|
+
type DurationPlaceholder = StarterScalarPlaceholder & {
|
|
26
31
|
kind: "duration";
|
|
27
|
-
}
|
|
32
|
+
};
|
|
33
|
+
/** The units a duration field offers, largest first. */
|
|
34
|
+
export declare function durationUnits(placeholder: DurationPlaceholder): StarterDurationUnit[];
|
|
35
|
+
/**
|
|
36
|
+
* A duration as the form shows it: in the placeholder's own unit when it offers no other, else in
|
|
37
|
+
* the largest offered unit that holds it whole.
|
|
38
|
+
*/
|
|
39
|
+
export declare function durationInUnits(placeholder: DurationPlaceholder, ms: number): {
|
|
40
|
+
amount: string;
|
|
41
|
+
unit: StarterDurationUnit;
|
|
42
|
+
};
|
|
28
43
|
/** The form value of a scalar placeholder before anything is filled in: its default, or empty. */
|
|
29
44
|
export declare function initialStarterField(placeholder: StarterScalarPlaceholder): StarterFieldValue;
|
|
30
45
|
export declare function newStarterRow(fields: readonly StarterScalarPlaceholder[], key: string): StarterFormRow;
|
|
31
46
|
/** Form values of a starter before anything is filled in; lists start with their fewest rows. */
|
|
32
47
|
export declare function newStarterFormValues(placeholders: readonly StarterPlaceholder[]): StarterFormValues;
|
|
48
|
+
/** Whole milliseconds of a typed-in duration; null while it is not a number. */
|
|
49
|
+
export declare function durationMs(value: StarterDurationValue): number | null;
|
|
33
50
|
export type StarterFormConversion = {
|
|
34
51
|
ok: true;
|
|
35
52
|
values: StarterValues;
|
|
@@ -48,3 +65,4 @@ export declare function asField(value: StarterFormValue | undefined): StarterFie
|
|
|
48
65
|
export declare function asRows(value: StarterFormValue | undefined): StarterFormRow[];
|
|
49
66
|
/** Problems by the path of the field they belong to; a list's own problems sit on the list. */
|
|
50
67
|
export declare function starterProblemsByPath(problems: readonly StarterProblem[]): Map<string, StarterProblem[]>;
|
|
68
|
+
export {};
|