@stapel/workspaces-react 0.17.0 → 0.19.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/CHANGELOG.md +183 -0
- package/README.md +39 -8
- package/dist/api/generated/schema.d.ts +187 -60
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/default/ActiveWorkspace.d.ts +43 -0
- package/dist/default/ActiveWorkspace.d.ts.map +1 -0
- package/dist/default/ActiveWorkspace.js +33 -0
- package/dist/default/ActiveWorkspace.js.map +1 -0
- package/dist/default/AuditTrailPane.d.ts +12 -0
- package/dist/default/AuditTrailPane.d.ts.map +1 -0
- package/dist/default/AuditTrailPane.js +154 -0
- package/dist/default/AuditTrailPane.js.map +1 -0
- package/dist/default/InvitationsPane.d.ts +19 -0
- package/dist/default/InvitationsPane.d.ts.map +1 -0
- package/dist/default/InvitationsPane.js +217 -0
- package/dist/default/InvitationsPane.js.map +1 -0
- package/dist/default/InviteAcceptPage.d.ts +7 -0
- package/dist/default/InviteAcceptPage.d.ts.map +1 -1
- package/dist/default/InviteAcceptPage.js +74 -38
- package/dist/default/InviteAcceptPage.js.map +1 -1
- package/dist/default/MembersManager.d.ts +12 -4
- package/dist/default/MembersManager.d.ts.map +1 -1
- package/dist/default/MembersManager.js +320 -84
- package/dist/default/MembersManager.js.map +1 -1
- package/dist/default/RoleSelectField.d.ts +64 -0
- package/dist/default/RoleSelectField.d.ts.map +1 -0
- package/dist/default/RoleSelectField.js +78 -0
- package/dist/default/RoleSelectField.js.map +1 -0
- package/dist/default/WorkspaceSettings.d.ts +7 -1
- package/dist/default/WorkspaceSettings.d.ts.map +1 -1
- package/dist/default/WorkspaceSettings.js +203 -45
- package/dist/default/WorkspaceSettings.js.map +1 -1
- package/dist/default/WorkspacesPage.d.ts +13 -0
- package/dist/default/WorkspacesPage.d.ts.map +1 -0
- package/dist/default/WorkspacesPage.js +108 -0
- package/dist/default/WorkspacesPage.js.map +1 -0
- package/dist/default/index.d.ts +28 -7
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +24 -7
- package/dist/default/index.js.map +1 -1
- package/dist/default/parts.d.ts +104 -0
- package/dist/default/parts.d.ts.map +1 -0
- package/dist/default/parts.js +140 -0
- package/dist/default/parts.js.map +1 -0
- package/dist/headless/Members.d.ts +59 -14
- package/dist/headless/Members.d.ts.map +1 -1
- package/dist/headless/Members.js +35 -10
- package/dist/headless/Members.js.map +1 -1
- package/dist/headless/RoleSelect.d.ts +9 -3
- package/dist/headless/RoleSelect.d.ts.map +1 -1
- package/dist/headless/RoleSelect.js +3 -2
- package/dist/headless/RoleSelect.js.map +1 -1
- package/dist/i18n/es.d.ts +11 -12
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +267 -14
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/generated/errors.es.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.es.gen.js +5 -0
- package/dist/i18n/generated/errors.es.gen.js.map +1 -1
- package/dist/i18n/generated/errors.gen.d.ts +30 -0
- package/dist/i18n/generated/errors.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.gen.js +15 -0
- package/dist/i18n/generated/errors.gen.js.map +1 -1
- package/dist/i18n/generated/errors.ru.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.ru.gen.js +5 -0
- package/dist/i18n/generated/errors.ru.gen.js.map +1 -1
- package/dist/i18n/keys.d.ts +209 -1
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +410 -4
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts +7 -2
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +209 -4
- package/dist/i18n/ru.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model/format.d.ts +56 -0
- package/dist/model/format.d.ts.map +1 -0
- package/dist/model/format.js +125 -0
- package/dist/model/format.js.map +1 -0
- package/dist/model/selection.d.ts +15 -0
- package/dist/model/selection.d.ts.map +1 -1
- package/dist/model/selection.js +18 -1
- package/dist/model/selection.js.map +1 -1
- package/dist/nav/manifest.d.ts +45 -0
- package/dist/nav/manifest.d.ts.map +1 -0
- package/dist/nav/manifest.js +77 -0
- package/dist/nav/manifest.js.map +1 -0
- package/llms.txt +11 -10
- package/manifest.json +281 -69
- package/package.json +18 -12
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +187 -60
- package/src/default/ActiveWorkspace.tsx +97 -0
- package/src/default/AuditTrailPane.tsx +309 -0
- package/src/default/InvitationsPane.tsx +501 -0
- package/src/default/InviteAcceptPage.tsx +187 -90
- package/src/default/MembersManager.tsx +832 -222
- package/src/default/RoleSelectField.tsx +187 -0
- package/src/default/WorkspaceSettings.tsx +540 -125
- package/src/default/WorkspacesPage.tsx +387 -0
- package/src/default/index.ts +28 -7
- package/src/default/parts.tsx +308 -0
- package/src/headless/Members.tsx +84 -16
- package/src/headless/RoleSelect.tsx +12 -5
- package/src/i18n/es.ts +326 -14
- package/src/i18n/generated/errors.es.gen.ts +5 -0
- package/src/i18n/generated/errors.gen.ts +15 -0
- package/src/i18n/generated/errors.json +37 -0
- package/src/i18n/generated/errors.ru.gen.ts +5 -0
- package/src/i18n/keys.ts +462 -5
- package/src/i18n/ru.ts +259 -5
- package/src/index.ts +1 -0
- package/src/model/format.ts +158 -0
- package/src/model/selection.tsx +19 -1
- package/src/nav/manifest.ts +120 -0
- package/dist/default/ErrorAlert.d.ts +0 -8
- package/dist/default/ErrorAlert.d.ts.map +0 -1
- package/dist/default/ErrorAlert.js +0 -30
- package/dist/default/ErrorAlert.js.map +0 -1
- package/src/default/ErrorAlert.tsx +0 -47
|
@@ -61,17 +61,22 @@ export const workspacesErrorBundleRu = {
|
|
|
61
61
|
"error.408.request_timeout": "Время ожидания запроса истекло",
|
|
62
62
|
"error.409.conflict": "Ресурс уже существует",
|
|
63
63
|
"error.409.email_already_registered": "Аккаунт с этим email уже существует — войдите в него",
|
|
64
|
+
"error.409.workspace_is_instance_default": "Это рабочее пространство по умолчанию для сервера, его нельзя удалить — сначала укажите другое",
|
|
65
|
+
"error.409.workspace_is_personal": "Личное рабочее пространство нельзя удалить на этом сервере — оно создаётся заново при следующем входе",
|
|
64
66
|
"error.410.gone": "Ресурс был безвозвратно удалён",
|
|
65
67
|
"error.413.payload_too_large": "Тело запроса слишком большое",
|
|
66
68
|
"error.415.unsupported_media_type": "Неподдерживаемый тип данных",
|
|
67
69
|
"error.422.unprocessable_entity": "Невозможно обработать данные запроса",
|
|
68
70
|
"error.423.locked": "Ресурс заблокирован",
|
|
69
71
|
"error.423.verification_locked": "Слишком много неудачных попыток — подтверждение заблокировано",
|
|
72
|
+
"error.429.invitation_grant_pending": "Ссылка для входа по этому приглашению ещё действует; запросить новую можно через {retry_after} с",
|
|
70
73
|
"error.429.invitation_resend_cooldown": "Это приглашение недавно отправлялось; отправить снова можно через {retry_after} с",
|
|
71
74
|
"error.429.rate_limit": "Слишком много попыток. Повторите попытку через {retry_after_minutes} мин.",
|
|
72
75
|
"error.429.too_many_requests": "Слишком много запросов. Пожалуйста, повторите попытку позже.",
|
|
73
76
|
"error.500.internal": "Что-то пошло не так",
|
|
74
77
|
"error.503.auth_unavailable": "Сервис аутентификации недоступен; повторите попытку позже",
|
|
78
|
+
"error.503.billing_unavailable": "Сервис биллинга недоступен; повторите попытку позже",
|
|
79
|
+
"error.503.mandate_unavailable": "Не удалось проверить доступ к рабочему пространству",
|
|
75
80
|
"error.503.profiles_not_configured": "В этой инсталляции не настроен сервис профилей — отображаемое имя здесь записать нельзя",
|
|
76
81
|
"error.503.profiles_unavailable": "Сервис профилей недоступен; повторите попытку позже",
|
|
77
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.ru.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,oCAAoC,EAAE,kEAAkE;IACxG,uBAAuB,EAAE,qBAAqB;IAC9C,2BAA2B,EAAE,6DAA6D;IAC1F,4BAA4B,EAAE,wBAAwB;IACtD,8BAA8B,EAAE,4CAA4C;IAC5E,wCAAwC,EAAE,+CAA+C;IACzF,wCAAwC,EAAE,6CAA6C;IACvF,kCAAkC,EAAE,uDAAuD;IAC3F,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,qCAAqC;IAC9D,gCAAgC,EAAE,yBAAyB;IAC3D,yBAAyB,EAAE,+CAA+C;IAC1E,gCAAgC,EAAE,yCAAyC;IAC3E,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,sBAAsB,EAAE,mCAAmC;IAC3D,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,gDAAgD;IAC1E,yBAAyB,EAAE,uCAAuC;IAClE,sCAAsC,EAAE,yDAAyD;IACjG,wBAAwB,EAAE,mBAAmB;IAC7C,mCAAmC,EAAE,mCAAmC;IACxE,+BAA+B,EAAE,4BAA4B;IAC7D,8BAA8B,EAAE,iCAAiC;IACjE,8BAA8B,EAAE,2BAA2B;IAC3D,4BAA4B,EAAE,kBAAkB;IAChD,+BAA+B,EAAE,sBAAsB;IACvD,uCAAuC,EAAE,sCAAsC;IAC/E,gCAAgC,EAAE,sCAAsC;IACxE,wBAAwB,EAAE,0BAA0B;IACpD,gCAAgC,EAAE,mEAAmE;IACrG,gCAAgC,EAAE,4DAA4D;IAC9F,4BAA4B,EAAE,kBAAkB;IAChD,qBAAqB,EAAE,8CAA8C;IACrE,+BAA+B,EAAE,iDAAiD;IAClF,wCAAwC,EAAE,uEAAuE;IACjH,gCAAgC,EAAE,qEAAqE;IACvG,8BAA8B,EAAE,sEAAsE;IACtG,2BAA2B,EAAE,oCAAoC;IACjE,qCAAqC,EAAE,uEAAuE;IAC9G,4CAA4C,EAAE,8CAA8C;IAC5F,iCAAiC,EAAE,mCAAmC;IACtE,qCAAqC,EAAE,6DAA6D;IACpG,wBAAwB,EAAE,uBAAuB;IACjD,gCAAgC,EAAE,wBAAwB;IAC1D,4BAA4B,EAAE,gDAAgD;IAC9E,qBAAqB,EAAE,8BAA8B;IACrD,4CAA4C,EAAE,6CAA6C;IAC3F,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,mBAAmB;IACnD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,gCAAgC;IAC7D,oBAAoB,EAAE,uBAAuB;IAC7C,oCAAoC,EAAE,sDAAsD;IAC5F,gBAAgB,EAAE,gCAAgC;IAClD,6BAA6B,EAAE,8BAA8B;IAC7D,kCAAkC,EAAE,6BAA6B;IACjE,gCAAgC,EAAE,sCAAsC;IACxE,kBAAkB,EAAE,qBAAqB;IACzC,+BAA+B,EAAE,+DAA+D;IAChG,sCAAsC,EAAE,mFAAmF;IAC3H,sBAAsB,EAAE,2EAA2E;IACnG,6BAA6B,EAAE,8DAA8D;IAC7F,oBAAoB,EAAE,qBAAqB;IAC3C,4BAA4B,EAAE,2DAA2D;IACzF,mCAAmC,EAAE,yFAAyF;IAC9H,gCAAgC,EAAE,qDAAqD;CACxF,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.ru.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,oCAAoC,EAAE,kEAAkE;IACxG,uBAAuB,EAAE,qBAAqB;IAC9C,2BAA2B,EAAE,6DAA6D;IAC1F,4BAA4B,EAAE,wBAAwB;IACtD,8BAA8B,EAAE,4CAA4C;IAC5E,wCAAwC,EAAE,+CAA+C;IACzF,wCAAwC,EAAE,6CAA6C;IACvF,kCAAkC,EAAE,uDAAuD;IAC3F,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,qCAAqC;IAC9D,gCAAgC,EAAE,yBAAyB;IAC3D,yBAAyB,EAAE,+CAA+C;IAC1E,gCAAgC,EAAE,yCAAyC;IAC3E,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,sBAAsB,EAAE,mCAAmC;IAC3D,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,gDAAgD;IAC1E,yBAAyB,EAAE,uCAAuC;IAClE,sCAAsC,EAAE,yDAAyD;IACjG,wBAAwB,EAAE,mBAAmB;IAC7C,mCAAmC,EAAE,mCAAmC;IACxE,+BAA+B,EAAE,4BAA4B;IAC7D,8BAA8B,EAAE,iCAAiC;IACjE,8BAA8B,EAAE,2BAA2B;IAC3D,4BAA4B,EAAE,kBAAkB;IAChD,+BAA+B,EAAE,sBAAsB;IACvD,uCAAuC,EAAE,sCAAsC;IAC/E,gCAAgC,EAAE,sCAAsC;IACxE,wBAAwB,EAAE,0BAA0B;IACpD,gCAAgC,EAAE,mEAAmE;IACrG,gCAAgC,EAAE,4DAA4D;IAC9F,4BAA4B,EAAE,kBAAkB;IAChD,qBAAqB,EAAE,8CAA8C;IACrE,+BAA+B,EAAE,iDAAiD;IAClF,wCAAwC,EAAE,uEAAuE;IACjH,gCAAgC,EAAE,qEAAqE;IACvG,8BAA8B,EAAE,sEAAsE;IACtG,2BAA2B,EAAE,oCAAoC;IACjE,qCAAqC,EAAE,uEAAuE;IAC9G,4CAA4C,EAAE,8CAA8C;IAC5F,iCAAiC,EAAE,mCAAmC;IACtE,qCAAqC,EAAE,6DAA6D;IACpG,wBAAwB,EAAE,uBAAuB;IACjD,gCAAgC,EAAE,wBAAwB;IAC1D,4BAA4B,EAAE,gDAAgD;IAC9E,qBAAqB,EAAE,8BAA8B;IACrD,4CAA4C,EAAE,6CAA6C;IAC3F,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,mBAAmB;IACnD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,gCAAgC;IAC7D,oBAAoB,EAAE,uBAAuB;IAC7C,oCAAoC,EAAE,sDAAsD;IAC5F,yCAAyC,EAAE,gGAAgG;IAC3I,iCAAiC,EAAE,uGAAuG;IAC1I,gBAAgB,EAAE,gCAAgC;IAClD,6BAA6B,EAAE,8BAA8B;IAC7D,kCAAkC,EAAE,6BAA6B;IACjE,gCAAgC,EAAE,sCAAsC;IACxE,kBAAkB,EAAE,qBAAqB;IACzC,+BAA+B,EAAE,+DAA+D;IAChG,oCAAoC,EAAE,kGAAkG;IACxI,sCAAsC,EAAE,mFAAmF;IAC3H,sBAAsB,EAAE,2EAA2E;IACnG,6BAA6B,EAAE,8DAA8D;IAC7F,oBAAoB,EAAE,qBAAqB;IAC3C,4BAA4B,EAAE,2DAA2D;IACzF,+BAA+B,EAAE,qDAAqD;IACtF,+BAA+B,EAAE,qDAAqD;IACtF,mCAAmC,EAAE,yFAAyF;IAC9H,gCAAgC,EAAE,qDAAqD;CACxF,CAAC"}
|
package/dist/i18n/keys.d.ts
CHANGED
|
@@ -7,10 +7,28 @@ import type { I18nDictionary, I18nEngine } from "@stapel/core";
|
|
|
7
7
|
* English fallbacks for both the backend error codes (generated) and the
|
|
8
8
|
* pair's own UI keys. Point core's `loadLocale` at stapel-translate to override
|
|
9
9
|
* per locale. Add UI keys under the `workspaces.` namespace as you build flows.
|
|
10
|
+
*
|
|
11
|
+
* COUNTS ARE PLURAL FAMILIES. A key named `*.count` is rendered with core's
|
|
12
|
+
* `useTPlural()`, which looks up `<key>.<CLDR category>` for the reader's
|
|
13
|
+
* language and falls back to the flat key. Every family therefore ships three
|
|
14
|
+
* spellings here — the flat fallback, `.one` and `.other` — and a language with
|
|
15
|
+
* more categories (Russian's `few`/`many`) adds them in its own bundle. This is
|
|
16
|
+
* what "1 workspace(s)" was standing in for.
|
|
10
17
|
*/
|
|
11
18
|
export declare const WORKSPACES_I18N_KEYS: {
|
|
12
19
|
readonly unknownError: "workspaces.error.unknown";
|
|
13
20
|
readonly retry: "workspaces.retry";
|
|
21
|
+
/**
|
|
22
|
+
* The accessible name of a dialog's dismissal — the modal's close button and
|
|
23
|
+
* the bottom sheet's grab handle (`SkinDialog`'s required `dismissLabel`).
|
|
24
|
+
* Surface-neutral on purpose: the same dialog is a sheet on a phone and a
|
|
25
|
+
* modal on a tablet, and the word for "get me out of here" is the same one.
|
|
26
|
+
*/
|
|
27
|
+
readonly dialogClose: "workspaces.dialog.close";
|
|
28
|
+
readonly cancel: "workspaces.cancel";
|
|
29
|
+
readonly pagerPrev: "workspaces.pager.prev";
|
|
30
|
+
readonly pagerNext: "workspaces.pager.next";
|
|
31
|
+
readonly pagerPosition: "workspaces.pager.position";
|
|
14
32
|
readonly listLoading: "workspaces.list.loading";
|
|
15
33
|
readonly listEmpty: "workspaces.list.empty";
|
|
16
34
|
/**
|
|
@@ -26,6 +44,7 @@ export declare const WORKSPACES_I18N_KEYS: {
|
|
|
26
44
|
readonly membersEmpty: "workspaces.members.empty";
|
|
27
45
|
readonly membersLoadFailed: "workspaces.members.load_failed";
|
|
28
46
|
readonly rolesLoadFailed: "workspaces.roles.load_failed";
|
|
47
|
+
readonly rolesEmpty: "workspaces.roles.empty";
|
|
29
48
|
readonly membersInvite: "workspaces.members.invite";
|
|
30
49
|
readonly membersInviting: "workspaces.members.inviting";
|
|
31
50
|
readonly membersUpdateRole: "workspaces.members.update_role";
|
|
@@ -38,20 +57,116 @@ export declare const WORKSPACES_I18N_KEYS: {
|
|
|
38
57
|
readonly fieldName: "workspaces.settings.field.name";
|
|
39
58
|
readonly fieldSlug: "workspaces.settings.field.slug";
|
|
40
59
|
readonly fieldType: "workspaces.settings.field.type";
|
|
60
|
+
readonly typePersonal: "workspaces.settings.type.personal";
|
|
61
|
+
readonly typeWork: "workspaces.settings.type.work";
|
|
41
62
|
readonly save: "workspaces.settings.save";
|
|
42
|
-
|
|
63
|
+
/** The caller's ROLE does not carry `workspace.update`. Not "you are not
|
|
64
|
+
* the owner": a deployment role can hold the capability without being one,
|
|
65
|
+
* and the server answers on the capability, so the screen says the same. */
|
|
66
|
+
readonly blockedCannotManage: "workspaces.settings.blocked.cannot_manage";
|
|
43
67
|
readonly blockedNameRequired: "workspaces.settings.blocked.name_required";
|
|
68
|
+
readonly blockedUnchanged: "workspaces.settings.blocked.unchanged";
|
|
44
69
|
readonly saving: "workspaces.settings.saving";
|
|
45
70
|
readonly dangerZoneTitle: "workspaces.settings.danger_zone.title";
|
|
46
71
|
readonly deleteWorkspace: "workspaces.settings.danger_zone.delete";
|
|
47
72
|
readonly deleteWorkspaceConfirm: "workspaces.settings.danger_zone.delete_confirm";
|
|
73
|
+
readonly deleteWorkspaceConfirmBody: "workspaces.settings.danger_zone.delete_confirm_body";
|
|
74
|
+
/** The refusal a workspace carries no CODE for — the belt under
|
|
75
|
+
* `delete_blocked_reason`, which is normally an `error.409.*` key the
|
|
76
|
+
* generated bundle already translates. */
|
|
77
|
+
readonly deleteBlockedFallback: "workspaces.settings.danger_zone.blocked";
|
|
78
|
+
readonly securityTitle: "workspaces.settings.security.title";
|
|
79
|
+
readonly securitySubtitle: "workspaces.settings.security.subtitle";
|
|
80
|
+
readonly securityRequireMfa: "workspaces.settings.security.require_mfa";
|
|
81
|
+
readonly securityRequireMfaHint: "workspaces.settings.security.require_mfa_hint";
|
|
82
|
+
readonly securityPoliciesLabel: "workspaces.settings.security.policies_label";
|
|
83
|
+
readonly securityPoliciesHint: "workspaces.settings.security.policies_hint";
|
|
84
|
+
readonly securityPolicyPasswordChange: "workspaces.settings.security.policy.password_change";
|
|
85
|
+
readonly securityPolicyMfaEnroll: "workspaces.settings.security.policy.mfa_enroll";
|
|
86
|
+
readonly securitySave: "workspaces.settings.security.save";
|
|
87
|
+
readonly securitySaving: "workspaces.settings.security.saving";
|
|
88
|
+
readonly securityBlockedCapability: "workspaces.settings.security.blocked.capability";
|
|
89
|
+
readonly securityStepUpNotice: "workspaces.settings.security.step_up_notice";
|
|
90
|
+
readonly mfaStatusTitle: "workspaces.settings.security.mfa.status_title";
|
|
91
|
+
readonly mfaStateLabel: "workspaces.settings.security.mfa.state_label";
|
|
92
|
+
readonly mfaStatePending: "workspaces.settings.security.mfa.state.pending";
|
|
93
|
+
readonly mfaStateEnforcing: "workspaces.settings.security.mfa.state.enforcing";
|
|
94
|
+
readonly mfaStateEnforced: "workspaces.settings.security.mfa.state.enforced";
|
|
95
|
+
readonly mfaStateFailed: "workspaces.settings.security.mfa.state.failed";
|
|
96
|
+
readonly mfaStateOther: "workspaces.settings.security.mfa.state.other";
|
|
97
|
+
readonly mfaCheckedCount: "workspaces.settings.security.mfa.checked_count";
|
|
98
|
+
readonly mfaNoncompliantCount: "workspaces.settings.security.mfa.noncompliant_count";
|
|
99
|
+
readonly mfaUnverifiedCount: "workspaces.settings.security.mfa.unverified_count";
|
|
100
|
+
readonly mfaAttemptsCount: "workspaces.settings.security.mfa.attempts_count";
|
|
101
|
+
readonly mfaLastAttempt: "workspaces.settings.security.mfa.last_attempt";
|
|
102
|
+
readonly mfaCompletedAt: "workspaces.settings.security.mfa.completed_at";
|
|
103
|
+
readonly mfaLastError: "workspaces.settings.security.mfa.last_error";
|
|
104
|
+
readonly mfaUnverifiedHint: "workspaces.settings.security.mfa.unverified_hint";
|
|
105
|
+
readonly mfaOffNotice: "workspaces.settings.security.mfa.off";
|
|
106
|
+
/** The policy IS on and the sweep has not reported yet — a different
|
|
107
|
+
* fact from "not required here", and the one the screen used to get
|
|
108
|
+
* wrong by deriving the sentence from the absence of a status. */
|
|
109
|
+
readonly mfaNoStatusYet: "workspaces.settings.security.mfa.no_status_yet";
|
|
48
110
|
readonly membersTitle: "workspaces.members.title";
|
|
49
111
|
readonly membersSubtitle: "workspaces.members.subtitle";
|
|
112
|
+
readonly membersCount: "workspaces.members.count";
|
|
113
|
+
readonly membersJoined: "workspaces.members.joined";
|
|
114
|
+
readonly membersLastSeen: "workspaces.members.last_seen";
|
|
115
|
+
readonly membersLastSeenNever: "workspaces.members.last_seen_never";
|
|
116
|
+
readonly membersSearchPlaceholder: "workspaces.members.search_placeholder";
|
|
117
|
+
readonly membersRolePickerLabel: "workspaces.members.role_picker_label";
|
|
118
|
+
readonly membersBlockedReadOnly: "workspaces.members.blocked.read_only";
|
|
119
|
+
readonly membersMfaLabel: "workspaces.members.mfa_label";
|
|
120
|
+
readonly membersMfaCompliant: "workspaces.members.mfa.compliant";
|
|
121
|
+
readonly membersMfaNoncompliant: "workspaces.members.mfa.noncompliant";
|
|
122
|
+
readonly membersMfaUnknown: "workspaces.members.mfa.unknown";
|
|
123
|
+
readonly membersSuspended: "workspaces.members.suspended";
|
|
124
|
+
readonly membersSuspendedNoMfa: "workspaces.members.suspended.no_mfa";
|
|
125
|
+
readonly membersProvisioned: "workspaces.members.provisioned";
|
|
50
126
|
readonly membersInviteDialogTitle: "workspaces.members.invite_dialog.title";
|
|
51
127
|
readonly membersInviteEmailsLabel: "workspaces.members.invite_dialog.emails_label";
|
|
52
128
|
readonly membersInviteEmailsPlaceholder: "workspaces.members.invite_dialog.emails_placeholder";
|
|
53
129
|
readonly membersInviteRoleLabel: "workspaces.members.invite_dialog.role_label";
|
|
130
|
+
readonly membersInviteNameLabel: "workspaces.members.invite_dialog.name_label";
|
|
131
|
+
readonly membersInviteNamePlaceholder: "workspaces.members.invite_dialog.name_placeholder";
|
|
132
|
+
readonly membersInviteSubmit: "workspaces.members.invite_dialog.submit";
|
|
133
|
+
readonly membersInviteBlockedNoEmails: "workspaces.members.invite_dialog.blocked.no_emails";
|
|
134
|
+
readonly membersInviteBlockedBadEmail: "workspaces.members.invite_dialog.blocked.bad_email";
|
|
54
135
|
readonly membersRemoveConfirm: "workspaces.members.remove_confirm";
|
|
136
|
+
readonly membersRemoveConfirmBody: "workspaces.members.remove_confirm_body";
|
|
137
|
+
/** Why a row's "Remove" is switched off: the backend's last-owner
|
|
138
|
+
* protection would refuse it, so the control never offers it. */
|
|
139
|
+
readonly membersRemoveBlockedLastOwner: "workspaces.members.remove.blocked.last_owner";
|
|
140
|
+
/** Why a row's "Remove" is switched off on the READER's own row. Answered
|
|
141
|
+
* by the server (`MemberResponse.is_self`), never by comparing a session id
|
|
142
|
+
* this pair does not have. */
|
|
143
|
+
readonly membersRemoveBlockedSelf: "workspaces.members.remove.blocked.self";
|
|
144
|
+
/**
|
|
145
|
+
* Reset a member's password on the organization's order. The endpoint is
|
|
146
|
+
* declared `high`, so the confirm says a step-up is coming BEFORE the
|
|
147
|
+
* click, and the one-shot credential is labelled as one — it is shown
|
|
148
|
+
* exactly once and can never be fetched again.
|
|
149
|
+
*/
|
|
150
|
+
readonly membersResetPassword: "workspaces.members.reset_password";
|
|
151
|
+
/** Why "Reset password" is switched off on the READER's own row: the server
|
|
152
|
+
* answers a self-target with the same 404 it gives for a stranger, so an
|
|
153
|
+
* ungated button here reads its own refusal as "this member is gone". */
|
|
154
|
+
readonly membersResetBlockedSelf: "workspaces.members.reset_password.blocked.self";
|
|
155
|
+
readonly membersResetDialogTitle: "workspaces.members.reset_password_dialog.title";
|
|
156
|
+
readonly membersResetDialogBody: "workspaces.members.reset_password_dialog.body";
|
|
157
|
+
readonly membersResetStepUp: "workspaces.members.reset_password_dialog.step_up";
|
|
158
|
+
readonly membersResetSubmit: "workspaces.members.reset_password_dialog.submit";
|
|
159
|
+
readonly membersResetDone: "workspaces.members.reset_password_dialog.done";
|
|
160
|
+
readonly membersResetGenerated: "workspaces.members.reset_password_dialog.generated";
|
|
161
|
+
readonly membersResetGeneratedHint: "workspaces.members.reset_password_dialog.generated_hint";
|
|
162
|
+
readonly membersResetNotNotified: "workspaces.members.reset_password_dialog.not_notified";
|
|
163
|
+
readonly membersRename: "workspaces.members.rename";
|
|
164
|
+
readonly membersRenameDialogTitle: "workspaces.members.rename_dialog.title";
|
|
165
|
+
readonly membersRenameLabel: "workspaces.members.rename_dialog.label";
|
|
166
|
+
readonly membersRenamePlaceholder: "workspaces.members.rename_dialog.placeholder";
|
|
167
|
+
readonly membersRenameHint: "workspaces.members.rename_dialog.hint";
|
|
168
|
+
readonly membersRenameSubmit: "workspaces.members.rename_dialog.submit";
|
|
169
|
+
readonly membersRenameBlockedUnchanged: "workspaces.members.rename_dialog.blocked.unchanged";
|
|
55
170
|
readonly roleOwner: "workspaces.members.role.owner";
|
|
56
171
|
readonly roleAdmin: "workspaces.members.role.admin";
|
|
57
172
|
readonly roleMember: "workspaces.members.role.member";
|
|
@@ -60,18 +175,92 @@ export declare const WORKSPACES_I18N_KEYS: {
|
|
|
60
175
|
readonly roleLabelAdmin: "workspaces.role.admin";
|
|
61
176
|
readonly roleLabelMember: "workspaces.role.member";
|
|
62
177
|
readonly roleLabelViewer: "workspaces.role.viewer";
|
|
178
|
+
readonly roleRankCaption: "workspaces.role.rank_caption";
|
|
179
|
+
readonly pageTitle: "workspaces.page.title";
|
|
180
|
+
readonly pageSubtitle: "workspaces.page.subtitle";
|
|
181
|
+
readonly listCount: "workspaces.list.count";
|
|
182
|
+
readonly listMemberCount: "workspaces.list.member_count";
|
|
183
|
+
readonly listOwnerLine: "workspaces.list.owner_line";
|
|
184
|
+
readonly listYourRole: "workspaces.list.your_role";
|
|
185
|
+
readonly listOpen: "workspaces.list.open";
|
|
186
|
+
readonly listPreferredTag: "workspaces.list.preferred";
|
|
187
|
+
readonly listSetPreferred: "workspaces.list.set_preferred";
|
|
188
|
+
readonly listClearPreferred: "workspaces.list.clear_preferred";
|
|
189
|
+
readonly listEmptyHint: "workspaces.list.empty_hint";
|
|
190
|
+
readonly listGuestNotice: "workspaces.list.guest_notice";
|
|
191
|
+
readonly listInstanceClosed: "workspaces.list.instance_closed";
|
|
192
|
+
readonly listCreateDialogTitle: "workspaces.list.create_dialog.title";
|
|
193
|
+
readonly listCreateNameLabel: "workspaces.list.create_dialog.name_label";
|
|
194
|
+
readonly listCreateNamePlaceholder: "workspaces.list.create_dialog.name_placeholder";
|
|
195
|
+
readonly listCreateSubmit: "workspaces.list.create_dialog.submit";
|
|
196
|
+
readonly listCreateBlockedNoName: "workspaces.list.create_dialog.blocked.no_name";
|
|
197
|
+
readonly listCreateBlockedPolicy: "workspaces.list.blocked.create_policy";
|
|
198
|
+
readonly invitationsTitle: "workspaces.invitations.title";
|
|
199
|
+
readonly invitationsSubtitle: "workspaces.invitations.subtitle";
|
|
200
|
+
readonly invitationsCount: "workspaces.invitations.count";
|
|
201
|
+
readonly invitationsEmpty: "workspaces.invitations.empty";
|
|
202
|
+
readonly invitationsExpiresLabel: "workspaces.invitations.expires_label";
|
|
203
|
+
readonly invitationsSentLabel: "workspaces.invitations.sent_label";
|
|
204
|
+
readonly invitationsSentNever: "workspaces.invitations.sent_never";
|
|
205
|
+
readonly invitationsSearchPlaceholder: "workspaces.invitations.search_placeholder";
|
|
206
|
+
readonly invitationsFilterLabel: "workspaces.invitations.filter_label";
|
|
207
|
+
readonly invitationsFilterPending: "workspaces.invitations.filter.pending";
|
|
208
|
+
readonly invitationsFilterNeverAccepted: "workspaces.invitations.filter.never_accepted";
|
|
209
|
+
readonly invitationsFilterAll: "workspaces.invitations.filter.all";
|
|
210
|
+
readonly invitationsStatusPending: "workspaces.invitations.status.pending";
|
|
211
|
+
readonly invitationsStatusAccepted: "workspaces.invitations.status.accepted";
|
|
212
|
+
readonly invitationsStatusDeclined: "workspaces.invitations.status.declined";
|
|
213
|
+
readonly invitationsStatusRevoked: "workspaces.invitations.status.revoked";
|
|
214
|
+
readonly invitationsStatusExpired: "workspaces.invitations.status.expired";
|
|
215
|
+
readonly invitationsResend: "workspaces.invitations.resend";
|
|
216
|
+
readonly invitationsResendConfirm: "workspaces.invitations.resend_confirm";
|
|
217
|
+
readonly invitationsResendConfirmBody: "workspaces.invitations.resend_confirm_body";
|
|
218
|
+
readonly invitationsRevoke: "workspaces.invitations.revoke";
|
|
219
|
+
readonly invitationsRevokeConfirm: "workspaces.invitations.revoke_confirm";
|
|
220
|
+
readonly invitationsRevokeConfirmBody: "workspaces.invitations.revoke_confirm_body";
|
|
221
|
+
readonly invitationsRename: "workspaces.invitations.rename";
|
|
222
|
+
readonly invitationsRenameDialogTitle: "workspaces.invitations.rename_dialog.title";
|
|
223
|
+
readonly invitationsBlockedTerminal: "workspaces.invitations.blocked.terminal";
|
|
224
|
+
readonly invitationsBlockedResendTerminal: "workspaces.invitations.blocked.resend_terminal";
|
|
225
|
+
/** One sentence for the whole ROW — see `rowReasonKey` in InvitationsPane. */
|
|
226
|
+
readonly invitationsBlockedRowClosed: "workspaces.invitations.blocked.row_closed";
|
|
227
|
+
readonly invitationsBlockedRowResendOnly: "workspaces.invitations.blocked.row_resend_only";
|
|
228
|
+
readonly auditTitle: "workspaces.audit.title";
|
|
229
|
+
readonly auditSubtitle: "workspaces.audit.subtitle";
|
|
230
|
+
readonly auditEmpty: "workspaces.audit.empty";
|
|
231
|
+
readonly auditFilterLabel: "workspaces.audit.filter_label";
|
|
232
|
+
readonly auditFilterAll: "workspaces.audit.filter.all";
|
|
233
|
+
readonly auditActorUnknown: "workspaces.audit.actor_unknown";
|
|
234
|
+
readonly auditBy: "workspaces.audit.by";
|
|
235
|
+
readonly auditRoleLine: "workspaces.audit.role_line";
|
|
236
|
+
readonly auditActionInvitationCreated: "workspaces.audit.action.invitation_created";
|
|
237
|
+
readonly auditActionInvitationAccepted: "workspaces.audit.action.invitation_accepted";
|
|
238
|
+
readonly auditActionInvitationRevoked: "workspaces.audit.action.invitation_revoked";
|
|
239
|
+
readonly auditActionInvitationDeclined: "workspaces.audit.action.invitation_declined";
|
|
240
|
+
readonly auditActionAccountCreatedByInvitation: "workspaces.audit.action.account_created_by_invitation";
|
|
241
|
+
readonly auditActionMemberJoined: "workspaces.audit.action.member_joined";
|
|
242
|
+
readonly auditActionMemberProvisioned: "workspaces.audit.action.member_provisioned";
|
|
243
|
+
readonly auditActionMemberRemoved: "workspaces.audit.action.member_removed";
|
|
244
|
+
readonly auditActionMemberRoleChanged: "workspaces.audit.action.member_role_changed";
|
|
245
|
+
readonly auditActionMemberSuspended: "workspaces.audit.action.member_suspended";
|
|
246
|
+
readonly auditActionMemberUnsuspended: "workspaces.audit.action.member_unsuspended";
|
|
247
|
+
readonly auditActionDeleted: "workspaces.audit.action.deleted";
|
|
63
248
|
readonly inviteLoading: "workspaces.invite.loading";
|
|
64
249
|
readonly inviteAcceptTitle: "workspaces.invite.acceptTitle";
|
|
65
250
|
readonly inviteRoleLine: "workspaces.invite.roleLine";
|
|
66
251
|
readonly inviteEmailLine: "workspaces.invite.emailLine";
|
|
67
252
|
readonly inviteJoinCta: "workspaces.invite.joinCta";
|
|
68
253
|
readonly inviteDeclineCta: "workspaces.invite.declineCta";
|
|
254
|
+
readonly inviteDeclineConfirm: "workspaces.invite.declineConfirm";
|
|
255
|
+
readonly inviteDeclineConfirmBody: "workspaces.invite.declineConfirmBody";
|
|
69
256
|
readonly inviteAccepted: "workspaces.invite.accepted";
|
|
70
257
|
readonly inviteDeclined: "workspaces.invite.declined";
|
|
71
258
|
readonly inviteUnavailableExpired: "workspaces.invite.unavailable.expired";
|
|
72
259
|
readonly inviteUnavailableRevoked: "workspaces.invite.unavailable.revoked";
|
|
73
260
|
readonly inviteUnavailableAccepted: "workspaces.invite.unavailable.accepted";
|
|
74
261
|
readonly inviteUnavailableDeclined: "workspaces.invite.unavailable.declined";
|
|
262
|
+
readonly inviteUnavailableNextStep: "workspaces.invite.unavailable.next_step";
|
|
263
|
+
readonly inviteExitCta: "workspaces.invite.exitCta";
|
|
75
264
|
readonly inviteWrongAccount: "workspaces.invite.wrongAccount";
|
|
76
265
|
readonly inviteWrongAccountHint: "workspaces.invite.wrongAccountHint";
|
|
77
266
|
readonly inviteSwitchAccountCta: "workspaces.invite.switchAccountCta";
|
|
@@ -84,6 +273,25 @@ export declare const WORKSPACES_I18N_KEYS: {
|
|
|
84
273
|
readonly inviteRetryCta: "workspaces.invite.retryCta";
|
|
85
274
|
readonly inviteBasicDataTitle: "workspaces.invite.basicDataTitle";
|
|
86
275
|
readonly inviteBasicDataContinueCta: "workspaces.invite.basicDataContinueCta";
|
|
276
|
+
readonly inviteBlockedBusy: "workspaces.invite.blocked.busy";
|
|
277
|
+
/**
|
|
278
|
+
* A workspace-scoped screen mounted from the nav manifest, with no active
|
|
279
|
+
* workspace to be about. The active workspace is runtime state (the
|
|
280
|
+
* selection the container writes), not a route param, so "there is none
|
|
281
|
+
* yet" is a state every such screen can reach — and it is drawn, never
|
|
282
|
+
* blank. Two different sentences, because they are two different
|
|
283
|
+
* situations: nothing is SELECTED vs the person belongs to nothing.
|
|
284
|
+
*/
|
|
285
|
+
readonly activeChooseTitle: "workspaces.active.choose.title";
|
|
286
|
+
readonly activeChooseHint: "workspaces.active.choose.hint";
|
|
287
|
+
readonly activeNoneTitle: "workspaces.active.none.title";
|
|
288
|
+
readonly activeNoneHint: "workspaces.active.none.hint";
|
|
289
|
+
readonly navWorkspaces: "workspaces.nav.workspaces";
|
|
290
|
+
readonly navSettings: "workspaces.nav.settings";
|
|
291
|
+
readonly navMembers: "workspaces.nav.members";
|
|
292
|
+
readonly navInvitations: "workspaces.nav.invitations";
|
|
293
|
+
readonly navAudit: "workspaces.nav.audit";
|
|
294
|
+
readonly navInvite: "workspaces.nav.invite";
|
|
87
295
|
};
|
|
88
296
|
export type WorkspacesI18nKey = (typeof WORKSPACES_I18N_KEYS)[keyof typeof WORKSPACES_I18N_KEYS];
|
|
89
297
|
/**
|
package/dist/i18n/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB;;;IAK/B;;;;;OAKG;;;;;;;;IAUH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IA4BH;;gFAE4E;;;;;;;;;IAS5E;;8CAE0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiC1C;;sEAEkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiClE;qEACiE;;IAEjE;;kCAE8B;;IAE9B;;;;;OAKG;;IAEH;;6EAEyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgFzE,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2D9E;;;;;;;OAOG;;;;;;;;;;;CAYK,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,cA2TpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAO,GAAG,IAAI,CAE9E"}
|