@stapel/workspaces-react 0.17.0 → 0.19.1
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 +218 -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 +109 -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 +143 -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 +394 -0
- package/src/default/index.ts +28 -7
- package/src/default/parts.tsx +315 -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
package/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$generated": "by scripts/gen-manifest.mjs — do not edit; drift-gated (pnpm gen:manifest:check)",
|
|
3
3
|
"package": "@stapel/workspaces-react",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.1",
|
|
5
5
|
"backend": {
|
|
6
6
|
"module": "stapel-workspaces",
|
|
7
|
-
"contract": ">=0.
|
|
7
|
+
"contract": ">=0.30 <0.31"
|
|
8
8
|
},
|
|
9
9
|
"layers": [
|
|
10
10
|
"api",
|
|
@@ -817,6 +817,16 @@
|
|
|
817
817
|
"params": [],
|
|
818
818
|
"remediation": "reauthenticate"
|
|
819
819
|
},
|
|
820
|
+
"error.409.workspace_is_instance_default": {
|
|
821
|
+
"status": 409,
|
|
822
|
+
"params": [],
|
|
823
|
+
"remediation": "fix_input"
|
|
824
|
+
},
|
|
825
|
+
"error.409.workspace_is_personal": {
|
|
826
|
+
"status": 409,
|
|
827
|
+
"params": [],
|
|
828
|
+
"remediation": "fix_input"
|
|
829
|
+
},
|
|
820
830
|
"error.410.gone": {
|
|
821
831
|
"status": 410,
|
|
822
832
|
"params": [],
|
|
@@ -847,6 +857,13 @@
|
|
|
847
857
|
"params": [],
|
|
848
858
|
"remediation": "wait_and_retry"
|
|
849
859
|
},
|
|
860
|
+
"error.429.invitation_grant_pending": {
|
|
861
|
+
"status": 429,
|
|
862
|
+
"params": [
|
|
863
|
+
"retry_after"
|
|
864
|
+
],
|
|
865
|
+
"remediation": "wait_and_retry"
|
|
866
|
+
},
|
|
850
867
|
"error.429.invitation_resend_cooldown": {
|
|
851
868
|
"status": 429,
|
|
852
869
|
"params": [
|
|
@@ -876,6 +893,16 @@
|
|
|
876
893
|
"params": [],
|
|
877
894
|
"remediation": "wait_and_retry"
|
|
878
895
|
},
|
|
896
|
+
"error.503.billing_unavailable": {
|
|
897
|
+
"status": 503,
|
|
898
|
+
"params": [],
|
|
899
|
+
"remediation": "wait_and_retry"
|
|
900
|
+
},
|
|
901
|
+
"error.503.mandate_unavailable": {
|
|
902
|
+
"status": 503,
|
|
903
|
+
"params": [],
|
|
904
|
+
"remediation": "retry"
|
|
905
|
+
},
|
|
879
906
|
"error.503.profiles_not_configured": {
|
|
880
907
|
"status": 503,
|
|
881
908
|
"params": [],
|
|
@@ -893,101 +920,101 @@
|
|
|
893
920
|
},
|
|
894
921
|
"demos": [
|
|
895
922
|
{
|
|
896
|
-
"id": "workspaces.
|
|
897
|
-
"title": "
|
|
898
|
-
"description": "The
|
|
899
|
-
"component": "
|
|
900
|
-
"tokens": [
|
|
901
|
-
"card-bg",
|
|
902
|
-
"card-border"
|
|
903
|
-
],
|
|
923
|
+
"id": "workspaces.audit-trail",
|
|
924
|
+
"title": "Membership history (default skin)",
|
|
925
|
+
"description": "The shipped audit trail: who let this person in, who took them out and when, filtered by action from the closed backend vocabulary, walked by anchor. An action the client does not know is title-cased from its key — never a dotted i18n key on the glass.",
|
|
926
|
+
"component": "AuditTrailPane",
|
|
904
927
|
"variants": [
|
|
905
|
-
"default"
|
|
928
|
+
"default",
|
|
929
|
+
"empty"
|
|
906
930
|
],
|
|
907
|
-
"source": "demo/
|
|
931
|
+
"source": "demo/AuditTrailPaneSkin.demo.tsx"
|
|
908
932
|
},
|
|
909
933
|
{
|
|
910
|
-
"id": "workspaces.
|
|
911
|
-
"title": "
|
|
912
|
-
"description": "The
|
|
913
|
-
"component": "
|
|
914
|
-
"tokens": [
|
|
915
|
-
"card-bg",
|
|
916
|
-
"card-border"
|
|
917
|
-
],
|
|
934
|
+
"id": "workspaces.invitations-pane",
|
|
935
|
+
"title": "Invitations (default skin)",
|
|
936
|
+
"description": "The shipped invitation console: who has been invited and has not joined, filtered by what became of the invitation, searchable by address, with revoke / resend / rename each gated on the invitation's own state — and a confirm that says a resend rotates the token, so the earlier link stops working.",
|
|
937
|
+
"component": "InvitationsPane",
|
|
918
938
|
"variants": [
|
|
919
|
-
"default"
|
|
939
|
+
"default",
|
|
940
|
+
"terminal",
|
|
941
|
+
"empty"
|
|
920
942
|
],
|
|
921
|
-
"source": "demo/
|
|
943
|
+
"source": "demo/InvitationsPaneSkin.demo.tsx"
|
|
922
944
|
},
|
|
923
945
|
{
|
|
924
|
-
"id": "workspaces.invite-accept",
|
|
925
|
-
"title": "
|
|
926
|
-
"description": "The
|
|
927
|
-
"component": "
|
|
928
|
-
"
|
|
929
|
-
"
|
|
930
|
-
"
|
|
946
|
+
"id": "workspaces.invite-accept-page",
|
|
947
|
+
"title": "Invitation page (default skin)",
|
|
948
|
+
"description": "The shipped /invite/{token} screen: the workspace and the role being offered, one primary action per block (Join is the primary; Decline is a danger link behind a confirm that states what it costs), the wrong-account branch with a switch CTA, and the terminal states — expired, revoked, already used — as sentences rather than an error box.",
|
|
949
|
+
"component": "InviteAcceptPage",
|
|
950
|
+
"covers": [
|
|
951
|
+
"InviteAcceptFlow",
|
|
952
|
+
"AcceptInvitation"
|
|
931
953
|
],
|
|
932
954
|
"variants": [
|
|
933
|
-
"default"
|
|
955
|
+
"default",
|
|
956
|
+
"wrong-account",
|
|
957
|
+
"expired"
|
|
934
958
|
],
|
|
935
|
-
"source": "demo/
|
|
959
|
+
"source": "demo/InviteAcceptPageSkin.demo.tsx"
|
|
936
960
|
},
|
|
937
961
|
{
|
|
938
|
-
"id": "workspaces.
|
|
939
|
-
"title": "
|
|
940
|
-
"description": "The
|
|
941
|
-
"component": "
|
|
942
|
-
"
|
|
943
|
-
"
|
|
944
|
-
"
|
|
962
|
+
"id": "workspaces.members-manager",
|
|
963
|
+
"title": "Members (default skin)",
|
|
964
|
+
"description": "The shipped roster: who is here, the role each one holds (from the effective registry, not a hardcoded four), the three states of two-factor evidence, an invite, a rename, an administrative password reset and a removal — each switched off with the server's reason where the server would refuse it, including on the viewer's own row.",
|
|
965
|
+
"component": "MembersManager",
|
|
966
|
+
"covers": [
|
|
967
|
+
"Members",
|
|
968
|
+
"Can"
|
|
945
969
|
],
|
|
946
970
|
"variants": [
|
|
947
|
-
"default"
|
|
971
|
+
"default",
|
|
972
|
+
"read-only",
|
|
973
|
+
"empty",
|
|
974
|
+
"no-workspace"
|
|
948
975
|
],
|
|
949
|
-
"source": "demo/
|
|
976
|
+
"source": "demo/MembersManagerSkin.demo.tsx"
|
|
950
977
|
},
|
|
951
978
|
{
|
|
952
|
-
"id": "workspaces.
|
|
953
|
-
"title": "
|
|
954
|
-
"description": "The
|
|
955
|
-
"component": "
|
|
956
|
-
"
|
|
957
|
-
"
|
|
958
|
-
"card-border"
|
|
979
|
+
"id": "workspaces.role-select-field",
|
|
980
|
+
"title": "Role picker (default skin)",
|
|
981
|
+
"description": "The shipped role field: an accessible name of its own (a roster renders one per row, and 'combobox, combobox, combobox' is what a screen reader says otherwise), the effective registry as options with each role's rank as the caption, and a stated refusal instead of a picker when the registry cannot be read.",
|
|
982
|
+
"component": "RoleSelectField",
|
|
983
|
+
"covers": [
|
|
984
|
+
"RoleSelect"
|
|
959
985
|
],
|
|
960
986
|
"variants": [
|
|
961
|
-
"default"
|
|
987
|
+
"default",
|
|
988
|
+
"no-registry"
|
|
962
989
|
],
|
|
963
|
-
"source": "demo/
|
|
990
|
+
"source": "demo/RoleSelectFieldSkin.demo.tsx"
|
|
964
991
|
},
|
|
965
992
|
{
|
|
966
|
-
"id": "workspaces.
|
|
967
|
-
"title": "
|
|
968
|
-
"description": "The
|
|
969
|
-
"component": "
|
|
970
|
-
"tokens": [
|
|
971
|
-
"card-bg"
|
|
972
|
-
],
|
|
993
|
+
"id": "workspaces.workspace-settings",
|
|
994
|
+
"title": "Workspace settings (default skin)",
|
|
995
|
+
"description": "The shipped settings screen: the name and slug, the two-factor policy with the live enforcement counts (checked / missing / unverified — the last is the number to get to zero), the first-login demands for provisioned accounts, and a danger zone whose Delete is drawn from the server's own verdict.",
|
|
996
|
+
"component": "WorkspaceSettings",
|
|
973
997
|
"variants": [
|
|
974
|
-
"default"
|
|
998
|
+
"default",
|
|
999
|
+
"delete-refused"
|
|
975
1000
|
],
|
|
976
|
-
"source": "demo/
|
|
1001
|
+
"source": "demo/WorkspaceSettingsSkin.demo.tsx"
|
|
977
1002
|
},
|
|
978
1003
|
{
|
|
979
|
-
"id": "workspaces.
|
|
980
|
-
"title": "
|
|
981
|
-
"description": "The
|
|
982
|
-
"component": "
|
|
983
|
-
"
|
|
984
|
-
"
|
|
985
|
-
"
|
|
1004
|
+
"id": "workspaces.workspaces-page",
|
|
1005
|
+
"title": "Workspaces page (default skin)",
|
|
1006
|
+
"description": "The shipped roster: every workspace the caller belongs to with its owner and member count, the home workspace set and cleared in place, and a create control gated on the installation's policy — with the reason printed beside it rather than the button silently missing.",
|
|
1007
|
+
"component": "WorkspacesPage",
|
|
1008
|
+
"covers": [
|
|
1009
|
+
"WorkspaceList",
|
|
1010
|
+
"WorkspacesProvider"
|
|
986
1011
|
],
|
|
987
1012
|
"variants": [
|
|
988
|
-
"default"
|
|
1013
|
+
"default",
|
|
1014
|
+
"empty",
|
|
1015
|
+
"failed"
|
|
989
1016
|
],
|
|
990
|
-
"source": "demo/
|
|
1017
|
+
"source": "demo/WorkspacesPageSkin.demo.tsx"
|
|
991
1018
|
}
|
|
992
1019
|
],
|
|
993
1020
|
"i18nKeys": [
|
|
@@ -1047,34 +1074,100 @@
|
|
|
1047
1074
|
"error.408.request_timeout",
|
|
1048
1075
|
"error.409.conflict",
|
|
1049
1076
|
"error.409.email_already_registered",
|
|
1077
|
+
"error.409.workspace_is_instance_default",
|
|
1078
|
+
"error.409.workspace_is_personal",
|
|
1050
1079
|
"error.410.gone",
|
|
1051
1080
|
"error.413.payload_too_large",
|
|
1052
1081
|
"error.415.unsupported_media_type",
|
|
1053
1082
|
"error.422.unprocessable_entity",
|
|
1054
1083
|
"error.423.locked",
|
|
1055
1084
|
"error.423.verification_locked",
|
|
1085
|
+
"error.429.invitation_grant_pending",
|
|
1056
1086
|
"error.429.invitation_resend_cooldown",
|
|
1057
1087
|
"error.429.rate_limit",
|
|
1058
1088
|
"error.429.too_many_requests",
|
|
1059
1089
|
"error.500.internal",
|
|
1060
1090
|
"error.503.auth_unavailable",
|
|
1091
|
+
"error.503.billing_unavailable",
|
|
1092
|
+
"error.503.mandate_unavailable",
|
|
1061
1093
|
"error.503.profiles_not_configured",
|
|
1062
1094
|
"error.503.profiles_unavailable",
|
|
1063
1095
|
"workspaces.accept.accept",
|
|
1064
1096
|
"workspaces.accept.accepted",
|
|
1065
1097
|
"workspaces.accept.accepting",
|
|
1098
|
+
"workspaces.active.choose.hint",
|
|
1099
|
+
"workspaces.active.choose.title",
|
|
1100
|
+
"workspaces.active.none.hint",
|
|
1101
|
+
"workspaces.active.none.title",
|
|
1102
|
+
"workspaces.audit.action.account_created_by_invitation",
|
|
1103
|
+
"workspaces.audit.action.deleted",
|
|
1104
|
+
"workspaces.audit.action.invitation_accepted",
|
|
1105
|
+
"workspaces.audit.action.invitation_created",
|
|
1106
|
+
"workspaces.audit.action.invitation_declined",
|
|
1107
|
+
"workspaces.audit.action.invitation_revoked",
|
|
1108
|
+
"workspaces.audit.action.member_joined",
|
|
1109
|
+
"workspaces.audit.action.member_provisioned",
|
|
1110
|
+
"workspaces.audit.action.member_removed",
|
|
1111
|
+
"workspaces.audit.action.member_role_changed",
|
|
1112
|
+
"workspaces.audit.action.member_suspended",
|
|
1113
|
+
"workspaces.audit.action.member_unsuspended",
|
|
1114
|
+
"workspaces.audit.actor_unknown",
|
|
1115
|
+
"workspaces.audit.by",
|
|
1116
|
+
"workspaces.audit.empty",
|
|
1117
|
+
"workspaces.audit.filter.all",
|
|
1118
|
+
"workspaces.audit.filter_label",
|
|
1119
|
+
"workspaces.audit.role_line",
|
|
1120
|
+
"workspaces.audit.subtitle",
|
|
1121
|
+
"workspaces.audit.title",
|
|
1122
|
+
"workspaces.cancel",
|
|
1123
|
+
"workspaces.dialog.close",
|
|
1066
1124
|
"workspaces.error.unknown",
|
|
1125
|
+
"workspaces.invitations.blocked.resend_terminal",
|
|
1126
|
+
"workspaces.invitations.blocked.row_closed",
|
|
1127
|
+
"workspaces.invitations.blocked.row_resend_only",
|
|
1128
|
+
"workspaces.invitations.blocked.terminal",
|
|
1129
|
+
"workspaces.invitations.count",
|
|
1130
|
+
"workspaces.invitations.count.one",
|
|
1131
|
+
"workspaces.invitations.count.other",
|
|
1132
|
+
"workspaces.invitations.empty",
|
|
1133
|
+
"workspaces.invitations.expires_label",
|
|
1134
|
+
"workspaces.invitations.filter.all",
|
|
1135
|
+
"workspaces.invitations.filter.never_accepted",
|
|
1136
|
+
"workspaces.invitations.filter.pending",
|
|
1137
|
+
"workspaces.invitations.filter_label",
|
|
1138
|
+
"workspaces.invitations.rename",
|
|
1139
|
+
"workspaces.invitations.rename_dialog.title",
|
|
1140
|
+
"workspaces.invitations.resend",
|
|
1141
|
+
"workspaces.invitations.resend_confirm",
|
|
1142
|
+
"workspaces.invitations.resend_confirm_body",
|
|
1143
|
+
"workspaces.invitations.revoke",
|
|
1144
|
+
"workspaces.invitations.revoke_confirm",
|
|
1145
|
+
"workspaces.invitations.revoke_confirm_body",
|
|
1146
|
+
"workspaces.invitations.search_placeholder",
|
|
1147
|
+
"workspaces.invitations.sent_label",
|
|
1148
|
+
"workspaces.invitations.sent_never",
|
|
1149
|
+
"workspaces.invitations.status.accepted",
|
|
1150
|
+
"workspaces.invitations.status.declined",
|
|
1151
|
+
"workspaces.invitations.status.expired",
|
|
1152
|
+
"workspaces.invitations.status.pending",
|
|
1153
|
+
"workspaces.invitations.status.revoked",
|
|
1154
|
+
"workspaces.invitations.subtitle",
|
|
1155
|
+
"workspaces.invitations.title",
|
|
1067
1156
|
"workspaces.invite.acceptTitle",
|
|
1068
1157
|
"workspaces.invite.accepted",
|
|
1069
1158
|
"workspaces.invite.basicDataContinueCta",
|
|
1070
1159
|
"workspaces.invite.basicDataTitle",
|
|
1160
|
+
"workspaces.invite.blocked.busy",
|
|
1071
1161
|
"workspaces.invite.claiming",
|
|
1072
1162
|
"workspaces.invite.createAccountCta",
|
|
1163
|
+
"workspaces.invite.declineConfirm",
|
|
1164
|
+
"workspaces.invite.declineConfirmBody",
|
|
1073
1165
|
"workspaces.invite.declineCta",
|
|
1074
1166
|
"workspaces.invite.declined",
|
|
1075
1167
|
"workspaces.invite.emailLine",
|
|
1076
1168
|
"workspaces.invite.exchangeFailed",
|
|
1077
1169
|
"workspaces.invite.exchanging",
|
|
1170
|
+
"workspaces.invite.exitCta",
|
|
1078
1171
|
"workspaces.invite.joinCta",
|
|
1079
1172
|
"workspaces.invite.loading",
|
|
1080
1173
|
"workspaces.invite.loginTitle",
|
|
@@ -1085,50 +1178,168 @@
|
|
|
1085
1178
|
"workspaces.invite.unavailable.accepted",
|
|
1086
1179
|
"workspaces.invite.unavailable.declined",
|
|
1087
1180
|
"workspaces.invite.unavailable.expired",
|
|
1181
|
+
"workspaces.invite.unavailable.next_step",
|
|
1088
1182
|
"workspaces.invite.unavailable.revoked",
|
|
1089
1183
|
"workspaces.invite.wrongAccount",
|
|
1090
1184
|
"workspaces.invite.wrongAccountHint",
|
|
1185
|
+
"workspaces.list.blocked.create_policy",
|
|
1186
|
+
"workspaces.list.clear_preferred",
|
|
1187
|
+
"workspaces.list.count",
|
|
1188
|
+
"workspaces.list.count.one",
|
|
1189
|
+
"workspaces.list.count.other",
|
|
1091
1190
|
"workspaces.list.create",
|
|
1191
|
+
"workspaces.list.create_dialog.blocked.no_name",
|
|
1192
|
+
"workspaces.list.create_dialog.name_label",
|
|
1193
|
+
"workspaces.list.create_dialog.name_placeholder",
|
|
1194
|
+
"workspaces.list.create_dialog.submit",
|
|
1195
|
+
"workspaces.list.create_dialog.title",
|
|
1092
1196
|
"workspaces.list.creating",
|
|
1093
1197
|
"workspaces.list.empty",
|
|
1198
|
+
"workspaces.list.empty_hint",
|
|
1199
|
+
"workspaces.list.guest_notice",
|
|
1200
|
+
"workspaces.list.instance_closed",
|
|
1094
1201
|
"workspaces.list.load_failed",
|
|
1095
1202
|
"workspaces.list.loading",
|
|
1203
|
+
"workspaces.list.member_count",
|
|
1204
|
+
"workspaces.list.member_count.one",
|
|
1205
|
+
"workspaces.list.member_count.other",
|
|
1206
|
+
"workspaces.list.open",
|
|
1207
|
+
"workspaces.list.owner_line",
|
|
1208
|
+
"workspaces.list.preferred",
|
|
1209
|
+
"workspaces.list.set_preferred",
|
|
1210
|
+
"workspaces.list.your_role",
|
|
1211
|
+
"workspaces.members.blocked.read_only",
|
|
1212
|
+
"workspaces.members.count",
|
|
1213
|
+
"workspaces.members.count.one",
|
|
1214
|
+
"workspaces.members.count.other",
|
|
1096
1215
|
"workspaces.members.empty",
|
|
1097
1216
|
"workspaces.members.invite",
|
|
1217
|
+
"workspaces.members.invite_dialog.blocked.bad_email",
|
|
1218
|
+
"workspaces.members.invite_dialog.blocked.no_emails",
|
|
1098
1219
|
"workspaces.members.invite_dialog.emails_label",
|
|
1099
1220
|
"workspaces.members.invite_dialog.emails_placeholder",
|
|
1221
|
+
"workspaces.members.invite_dialog.name_label",
|
|
1222
|
+
"workspaces.members.invite_dialog.name_placeholder",
|
|
1100
1223
|
"workspaces.members.invite_dialog.role_label",
|
|
1224
|
+
"workspaces.members.invite_dialog.submit",
|
|
1101
1225
|
"workspaces.members.invite_dialog.title",
|
|
1102
1226
|
"workspaces.members.inviting",
|
|
1227
|
+
"workspaces.members.joined",
|
|
1228
|
+
"workspaces.members.last_seen",
|
|
1229
|
+
"workspaces.members.last_seen_never",
|
|
1103
1230
|
"workspaces.members.load_failed",
|
|
1104
1231
|
"workspaces.members.loading",
|
|
1232
|
+
"workspaces.members.mfa.compliant",
|
|
1233
|
+
"workspaces.members.mfa.noncompliant",
|
|
1234
|
+
"workspaces.members.mfa.unknown",
|
|
1235
|
+
"workspaces.members.mfa_label",
|
|
1236
|
+
"workspaces.members.provisioned",
|
|
1105
1237
|
"workspaces.members.remove",
|
|
1238
|
+
"workspaces.members.remove.blocked.last_owner",
|
|
1239
|
+
"workspaces.members.remove.blocked.self",
|
|
1106
1240
|
"workspaces.members.remove_confirm",
|
|
1241
|
+
"workspaces.members.remove_confirm_body",
|
|
1242
|
+
"workspaces.members.rename",
|
|
1243
|
+
"workspaces.members.rename_dialog.blocked.unchanged",
|
|
1244
|
+
"workspaces.members.rename_dialog.hint",
|
|
1245
|
+
"workspaces.members.rename_dialog.label",
|
|
1246
|
+
"workspaces.members.rename_dialog.placeholder",
|
|
1247
|
+
"workspaces.members.rename_dialog.submit",
|
|
1248
|
+
"workspaces.members.rename_dialog.title",
|
|
1249
|
+
"workspaces.members.reset_password",
|
|
1250
|
+
"workspaces.members.reset_password.blocked.self",
|
|
1251
|
+
"workspaces.members.reset_password_dialog.body",
|
|
1252
|
+
"workspaces.members.reset_password_dialog.done",
|
|
1253
|
+
"workspaces.members.reset_password_dialog.generated",
|
|
1254
|
+
"workspaces.members.reset_password_dialog.generated_hint",
|
|
1255
|
+
"workspaces.members.reset_password_dialog.not_notified",
|
|
1256
|
+
"workspaces.members.reset_password_dialog.step_up",
|
|
1257
|
+
"workspaces.members.reset_password_dialog.submit",
|
|
1258
|
+
"workspaces.members.reset_password_dialog.title",
|
|
1107
1259
|
"workspaces.members.role.admin",
|
|
1108
1260
|
"workspaces.members.role.member",
|
|
1109
1261
|
"workspaces.members.role.owner",
|
|
1110
1262
|
"workspaces.members.role.viewer",
|
|
1263
|
+
"workspaces.members.role_picker_label",
|
|
1264
|
+
"workspaces.members.search_placeholder",
|
|
1111
1265
|
"workspaces.members.subtitle",
|
|
1266
|
+
"workspaces.members.suspended",
|
|
1267
|
+
"workspaces.members.suspended.no_mfa",
|
|
1112
1268
|
"workspaces.members.title",
|
|
1113
1269
|
"workspaces.members.update_role",
|
|
1270
|
+
"workspaces.nav.audit",
|
|
1271
|
+
"workspaces.nav.invitations",
|
|
1272
|
+
"workspaces.nav.invite",
|
|
1273
|
+
"workspaces.nav.members",
|
|
1274
|
+
"workspaces.nav.settings",
|
|
1275
|
+
"workspaces.nav.workspaces",
|
|
1276
|
+
"workspaces.page.subtitle",
|
|
1277
|
+
"workspaces.page.title",
|
|
1278
|
+
"workspaces.pager.next",
|
|
1279
|
+
"workspaces.pager.position",
|
|
1280
|
+
"workspaces.pager.prev",
|
|
1114
1281
|
"workspaces.retry",
|
|
1115
1282
|
"workspaces.role.admin",
|
|
1116
1283
|
"workspaces.role.member",
|
|
1117
1284
|
"workspaces.role.owner",
|
|
1285
|
+
"workspaces.role.rank_caption",
|
|
1118
1286
|
"workspaces.role.viewer",
|
|
1287
|
+
"workspaces.roles.empty",
|
|
1119
1288
|
"workspaces.roles.load_failed",
|
|
1289
|
+
"workspaces.settings.blocked.cannot_manage",
|
|
1120
1290
|
"workspaces.settings.blocked.name_required",
|
|
1121
|
-
"workspaces.settings.blocked.
|
|
1291
|
+
"workspaces.settings.blocked.unchanged",
|
|
1292
|
+
"workspaces.settings.danger_zone.blocked",
|
|
1122
1293
|
"workspaces.settings.danger_zone.delete",
|
|
1123
1294
|
"workspaces.settings.danger_zone.delete_confirm",
|
|
1295
|
+
"workspaces.settings.danger_zone.delete_confirm_body",
|
|
1124
1296
|
"workspaces.settings.danger_zone.title",
|
|
1125
1297
|
"workspaces.settings.field.name",
|
|
1126
1298
|
"workspaces.settings.field.slug",
|
|
1127
1299
|
"workspaces.settings.field.type",
|
|
1128
1300
|
"workspaces.settings.save",
|
|
1129
1301
|
"workspaces.settings.saving",
|
|
1302
|
+
"workspaces.settings.security.blocked.capability",
|
|
1303
|
+
"workspaces.settings.security.mfa.attempts_count",
|
|
1304
|
+
"workspaces.settings.security.mfa.attempts_count.one",
|
|
1305
|
+
"workspaces.settings.security.mfa.attempts_count.other",
|
|
1306
|
+
"workspaces.settings.security.mfa.checked_count",
|
|
1307
|
+
"workspaces.settings.security.mfa.checked_count.one",
|
|
1308
|
+
"workspaces.settings.security.mfa.checked_count.other",
|
|
1309
|
+
"workspaces.settings.security.mfa.completed_at",
|
|
1310
|
+
"workspaces.settings.security.mfa.last_attempt",
|
|
1311
|
+
"workspaces.settings.security.mfa.last_error",
|
|
1312
|
+
"workspaces.settings.security.mfa.no_status_yet",
|
|
1313
|
+
"workspaces.settings.security.mfa.noncompliant_count",
|
|
1314
|
+
"workspaces.settings.security.mfa.noncompliant_count.one",
|
|
1315
|
+
"workspaces.settings.security.mfa.noncompliant_count.other",
|
|
1316
|
+
"workspaces.settings.security.mfa.off",
|
|
1317
|
+
"workspaces.settings.security.mfa.state.enforced",
|
|
1318
|
+
"workspaces.settings.security.mfa.state.enforcing",
|
|
1319
|
+
"workspaces.settings.security.mfa.state.failed",
|
|
1320
|
+
"workspaces.settings.security.mfa.state.other",
|
|
1321
|
+
"workspaces.settings.security.mfa.state.pending",
|
|
1322
|
+
"workspaces.settings.security.mfa.state_label",
|
|
1323
|
+
"workspaces.settings.security.mfa.status_title",
|
|
1324
|
+
"workspaces.settings.security.mfa.unverified_count",
|
|
1325
|
+
"workspaces.settings.security.mfa.unverified_count.one",
|
|
1326
|
+
"workspaces.settings.security.mfa.unverified_count.other",
|
|
1327
|
+
"workspaces.settings.security.mfa.unverified_hint",
|
|
1328
|
+
"workspaces.settings.security.policies_hint",
|
|
1329
|
+
"workspaces.settings.security.policies_label",
|
|
1330
|
+
"workspaces.settings.security.policy.mfa_enroll",
|
|
1331
|
+
"workspaces.settings.security.policy.password_change",
|
|
1332
|
+
"workspaces.settings.security.require_mfa",
|
|
1333
|
+
"workspaces.settings.security.require_mfa_hint",
|
|
1334
|
+
"workspaces.settings.security.save",
|
|
1335
|
+
"workspaces.settings.security.saving",
|
|
1336
|
+
"workspaces.settings.security.step_up_notice",
|
|
1337
|
+
"workspaces.settings.security.subtitle",
|
|
1338
|
+
"workspaces.settings.security.title",
|
|
1130
1339
|
"workspaces.settings.subtitle",
|
|
1131
|
-
"workspaces.settings.title"
|
|
1340
|
+
"workspaces.settings.title",
|
|
1341
|
+
"workspaces.settings.type.personal",
|
|
1342
|
+
"workspaces.settings.type.work"
|
|
1132
1343
|
],
|
|
1133
1344
|
"exports": {
|
|
1134
1345
|
"runtime": [
|
|
@@ -1181,6 +1392,7 @@
|
|
|
1181
1392
|
"useMandateSource",
|
|
1182
1393
|
"useMandateState",
|
|
1183
1394
|
"useMembers",
|
|
1395
|
+
"useOptionalWorkspaceSelection",
|
|
1184
1396
|
"useRemoveMember",
|
|
1185
1397
|
"useRenameInvitation",
|
|
1186
1398
|
"useRenameMember",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stapel/workspaces-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"description": "Headless React flow pair for stapel-workspaces: typed API client, TanStack Query hooks, flow machines, headless components, and i18n keys. Zero visual opinion.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -48,31 +48,35 @@
|
|
|
48
48
|
{
|
|
49
49
|
"name": "index — the ru/es locales must NOT be in the main bundle",
|
|
50
50
|
"path": "dist/index.js",
|
|
51
|
-
"limit": "12 KB"
|
|
51
|
+
"limit": "12.5 KB"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"name": "i18n/ru subpath (opt-in locale: en floor + generated ru + ru UI)",
|
|
54
|
+
"name": "i18n/ru subpath (opt-in locale: en floor + generated ru errors + COMPLETE ru UI copy)",
|
|
55
55
|
"path": "dist/i18n/ru.js",
|
|
56
|
-
"limit": "
|
|
56
|
+
"limit": "11 KB"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
|
-
"name": "i18n/es subpath (opt-in locale: en floor + generated es errors
|
|
59
|
+
"name": "i18n/es subpath (opt-in locale: en floor + generated es errors + COMPLETE es UI copy)",
|
|
60
60
|
"path": "dist/i18n/es.js",
|
|
61
|
-
"limit": "
|
|
61
|
+
"limit": "9.5 KB"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"name": "default —
|
|
64
|
+
"name": "default — seven antd screens; must stay out of the main bundle",
|
|
65
65
|
"path": "dist/default/index.js",
|
|
66
|
-
"limit": "
|
|
66
|
+
"limit": "22 KB"
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@stapel/core": ">=0.
|
|
70
|
+
"@stapel/core": ">=0.18.1 <1.0.0",
|
|
71
|
+
"@stapel/tokens-antd": ">=0.16.0",
|
|
71
72
|
"@tanstack/react-query": "^5.0.0",
|
|
72
73
|
"antd": ">=5.20.0 <7",
|
|
73
74
|
"react": ">=19"
|
|
74
75
|
},
|
|
75
76
|
"peerDependenciesMeta": {
|
|
77
|
+
"@stapel/tokens-antd": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
76
80
|
"antd": {
|
|
77
81
|
"optional": true
|
|
78
82
|
}
|
|
@@ -91,9 +95,10 @@
|
|
|
91
95
|
"size-limit": "^11.2.0",
|
|
92
96
|
"typescript": "^5.8.3",
|
|
93
97
|
"vitest": "^3.2.4",
|
|
94
|
-
"@stapel/
|
|
95
|
-
"@stapel/tokens": "^0.
|
|
96
|
-
"@stapel/
|
|
98
|
+
"@stapel/showcase": "^0.3.0",
|
|
99
|
+
"@stapel/tokens-antd": "^0.16.0",
|
|
100
|
+
"@stapel/tokens": "^0.7.0",
|
|
101
|
+
"@stapel/core": "^0.23.1"
|
|
97
102
|
},
|
|
98
103
|
"engines": {
|
|
99
104
|
"node": ">=22"
|
|
@@ -106,6 +111,7 @@
|
|
|
106
111
|
"test": "tsc -p tsconfig.demo.json && vitest run --exclude test/prodBundlePurity.test.ts",
|
|
107
112
|
"test:pack": "vitest run test/prodBundlePurity.test.ts",
|
|
108
113
|
"lint": "eslint .",
|
|
114
|
+
"gen:nav": "NAV_PACKAGES=$(cd ../.. && ls -d packages/*/src/nav/manifest.ts | sed 's|/src/nav/manifest.ts||' | paste -sd, -) NAV_PKG_DIR=packages/workspaces-react node --experimental-strip-types ../../scripts/gen-nav-manifest.mjs",
|
|
109
115
|
"size": "size-limit"
|
|
110
116
|
}
|
|
111
117
|
}
|