@stapel/workspaces-react 0.6.0 → 0.8.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 +56 -0
- package/dist/api/generated/schema.d.ts +774 -7
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/api/types.d.ts +104 -7
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/workspacesApi.d.ts +55 -1
- package/dist/api/workspacesApi.d.ts.map +1 -1
- package/dist/api/workspacesApi.js +23 -0
- package/dist/api/workspacesApi.js.map +1 -1
- package/dist/default/InviteAcceptPage.d.ts +28 -0
- package/dist/default/InviteAcceptPage.d.ts.map +1 -0
- package/dist/default/InviteAcceptPage.js +141 -0
- package/dist/default/InviteAcceptPage.js.map +1 -0
- package/dist/default/MembersManager.d.ts +4 -4
- package/dist/default/MembersManager.d.ts.map +1 -1
- package/dist/default/MembersManager.js +61 -56
- package/dist/default/MembersManager.js.map +1 -1
- package/dist/default/index.d.ts +2 -0
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +1 -0
- package/dist/default/index.js.map +1 -1
- package/dist/flows/inviteAcceptFlow.d.ts +155 -0
- package/dist/flows/inviteAcceptFlow.d.ts.map +1 -0
- package/dist/flows/inviteAcceptFlow.js +126 -0
- package/dist/flows/inviteAcceptFlow.js.map +1 -0
- package/dist/headless/Can.d.ts +40 -0
- package/dist/headless/Can.d.ts.map +1 -0
- package/dist/headless/Can.js +30 -0
- package/dist/headless/Can.js.map +1 -0
- package/dist/headless/InviteAcceptFlow.d.ts +44 -0
- package/dist/headless/InviteAcceptFlow.d.ts.map +1 -0
- package/dist/headless/InviteAcceptFlow.js +67 -0
- package/dist/headless/InviteAcceptFlow.js.map +1 -0
- package/dist/headless/RoleSelect.d.ts +41 -0
- package/dist/headless/RoleSelect.d.ts.map +1 -0
- package/dist/headless/RoleSelect.js +34 -0
- package/dist/headless/RoleSelect.js.map +1 -0
- package/dist/i18n/generated/errors.gen.d.ts +48 -0
- package/dist/i18n/generated/errors.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.gen.js +24 -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 +8 -0
- package/dist/i18n/generated/errors.ru.gen.js.map +1 -1
- package/dist/i18n/keys.d.ts +28 -0
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +64 -0
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +30 -0
- package/dist/i18n/ru.js.map +1 -1
- package/dist/index.d.ts +17 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/model/capabilities.d.ts +21 -0
- package/dist/model/capabilities.d.ts.map +1 -0
- package/dist/model/capabilities.js +32 -0
- package/dist/model/capabilities.js.map +1 -0
- package/dist/model/emailMask.d.ts +22 -0
- package/dist/model/emailMask.d.ts.map +1 -0
- package/dist/model/emailMask.js +36 -0
- package/dist/model/emailMask.js.map +1 -0
- package/dist/model/mutations.d.ts +107 -3
- package/dist/model/mutations.d.ts.map +1 -1
- package/dist/model/mutations.js +190 -1
- package/dist/model/mutations.js.map +1 -1
- package/dist/model/queries.d.ts +108 -2
- package/dist/model/queries.d.ts.map +1 -1
- package/dist/model/queries.js +139 -1
- package/dist/model/queries.js.map +1 -1
- package/dist/model/queryKeys.d.ts +12 -1
- package/dist/model/queryKeys.d.ts.map +1 -1
- package/dist/model/queryKeys.js +25 -0
- package/dist/model/queryKeys.js.map +1 -1
- package/dist/model/stepUp.d.ts +25 -0
- package/dist/model/stepUp.d.ts.map +1 -0
- package/dist/model/stepUp.js +79 -0
- package/dist/model/stepUp.js.map +1 -0
- package/llms.txt +49 -15
- package/manifest.json +346 -3
- package/package.json +5 -5
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +774 -7
- package/src/api/types.ts +113 -7
- package/src/api/workspacesApi.ts +137 -0
- package/src/default/InviteAcceptPage.tsx +373 -0
- package/src/default/MembersManager.tsx +155 -145
- package/src/default/index.ts +2 -0
- package/src/flows/inviteAcceptFlow.ts +289 -0
- package/src/headless/Can.tsx +49 -0
- package/src/headless/InviteAcceptFlow.tsx +105 -0
- package/src/headless/RoleSelect.tsx +58 -0
- package/src/i18n/generated/errors.gen.ts +24 -0
- package/src/i18n/generated/errors.json +62 -0
- package/src/i18n/generated/errors.ru.gen.ts +8 -0
- package/src/i18n/keys.ts +68 -0
- package/src/i18n/ru.ts +34 -0
- package/src/index.ts +54 -1
- package/src/model/capabilities.ts +37 -0
- package/src/model/emailMask.ts +37 -0
- package/src/model/mutations.ts +248 -4
- package/src/model/queries.ts +205 -2
- package/src/model/queryKeys.ts +45 -1
- package/src/model/stepUp.ts +96 -0
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.8.0",
|
|
5
5
|
"backend": {
|
|
6
6
|
"module": "stapel-workspaces",
|
|
7
|
-
"contract": ">=0.
|
|
7
|
+
"contract": ">=0.14 <0.15"
|
|
8
8
|
},
|
|
9
9
|
"layers": [
|
|
10
10
|
"api",
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
"i18n"
|
|
15
15
|
],
|
|
16
16
|
"flows": {},
|
|
17
|
-
"machines": [
|
|
17
|
+
"machines": [
|
|
18
|
+
"createInviteAcceptFlow"
|
|
19
|
+
],
|
|
18
20
|
"operations": {
|
|
19
21
|
"workspaces_api_v1_create": {
|
|
20
22
|
"method": "POST",
|
|
@@ -51,6 +53,48 @@
|
|
|
51
53
|
"request": "InvitationAcceptRequest",
|
|
52
54
|
"response": "MemberResponse"
|
|
53
55
|
},
|
|
56
|
+
"workspaces_api_v1_invitations_claim_create": {
|
|
57
|
+
"method": "POST",
|
|
58
|
+
"path": "/workspaces/api/v1/invitations/{token}/claim",
|
|
59
|
+
"tag": "Members",
|
|
60
|
+
"request": null,
|
|
61
|
+
"response": "InvitationClaimResponse"
|
|
62
|
+
},
|
|
63
|
+
"workspaces_api_v1_invitations_decline_create": {
|
|
64
|
+
"method": "POST",
|
|
65
|
+
"path": "/workspaces/api/v1/invitations/{token}/decline",
|
|
66
|
+
"tag": "Members",
|
|
67
|
+
"request": null,
|
|
68
|
+
"response": null
|
|
69
|
+
},
|
|
70
|
+
"workspaces_api_v1_invitations_list": {
|
|
71
|
+
"method": "GET",
|
|
72
|
+
"path": "/workspaces/api/v1/{workspace_id}/invitations",
|
|
73
|
+
"tag": "Members",
|
|
74
|
+
"request": null,
|
|
75
|
+
"response": "PaginatedInvitationResponseList"
|
|
76
|
+
},
|
|
77
|
+
"workspaces_api_v1_invitations_resend_create": {
|
|
78
|
+
"method": "POST",
|
|
79
|
+
"path": "/workspaces/api/v1/{workspace_id}/invitations/{invitation_id}/resend",
|
|
80
|
+
"tag": "Members",
|
|
81
|
+
"request": null,
|
|
82
|
+
"response": "InvitationResponse"
|
|
83
|
+
},
|
|
84
|
+
"workspaces_api_v1_invitations_retrieve": {
|
|
85
|
+
"method": "GET",
|
|
86
|
+
"path": "/workspaces/api/v1/invitations/{token}",
|
|
87
|
+
"tag": "Members",
|
|
88
|
+
"request": null,
|
|
89
|
+
"response": "InvitationPreviewResponse"
|
|
90
|
+
},
|
|
91
|
+
"workspaces_api_v1_invitations_revoke_create": {
|
|
92
|
+
"method": "POST",
|
|
93
|
+
"path": "/workspaces/api/v1/{workspace_id}/invitations/{invitation_id}/revoke",
|
|
94
|
+
"tag": "Members",
|
|
95
|
+
"request": null,
|
|
96
|
+
"response": "InvitationResponse"
|
|
97
|
+
},
|
|
54
98
|
"workspaces_api_v1_members_destroy": {
|
|
55
99
|
"method": "DELETE",
|
|
56
100
|
"path": "/workspaces/api/v1/{workspace_id}/members/{user_id}",
|
|
@@ -79,6 +123,20 @@
|
|
|
79
123
|
"request": "PatchedMemberUpdateRequest",
|
|
80
124
|
"response": "MemberResponse"
|
|
81
125
|
},
|
|
126
|
+
"workspaces_api_v1_members_password_reset_create": {
|
|
127
|
+
"method": "POST",
|
|
128
|
+
"path": "/workspaces/api/v1/{workspace_id}/members/{user_id}/password/reset",
|
|
129
|
+
"tag": "Members",
|
|
130
|
+
"request": "MemberPasswordResetRequest",
|
|
131
|
+
"response": "MemberPasswordResetResponse"
|
|
132
|
+
},
|
|
133
|
+
"workspaces_api_v1_members_provision_create": {
|
|
134
|
+
"method": "POST",
|
|
135
|
+
"path": "/workspaces/api/v1/{workspace_id}/members/provision",
|
|
136
|
+
"tag": "Members",
|
|
137
|
+
"request": "ProvisionMemberRequest",
|
|
138
|
+
"response": "ProvisionMemberResponse"
|
|
139
|
+
},
|
|
82
140
|
"workspaces_api_v1_partial_update": {
|
|
83
141
|
"method": "PATCH",
|
|
84
142
|
"path": "/workspaces/api/v1/{workspace_id}",
|
|
@@ -99,6 +157,13 @@
|
|
|
99
157
|
"tag": "Workspaces",
|
|
100
158
|
"request": null,
|
|
101
159
|
"response": "WorkspaceResponse"
|
|
160
|
+
},
|
|
161
|
+
"workspaces_api_v1_roles_retrieve": {
|
|
162
|
+
"method": "GET",
|
|
163
|
+
"path": "/workspaces/api/v1/roles",
|
|
164
|
+
"tag": "Workspaces",
|
|
165
|
+
"request": null,
|
|
166
|
+
"response": "RoleListResponse"
|
|
102
167
|
}
|
|
103
168
|
},
|
|
104
169
|
"hooks": {
|
|
@@ -106,12 +171,21 @@
|
|
|
106
171
|
"kind": "mutation",
|
|
107
172
|
"operation": "acceptInvitation",
|
|
108
173
|
"invalidates": [
|
|
174
|
+
[
|
|
175
|
+
"workspaces",
|
|
176
|
+
"invitation-preview",
|
|
177
|
+
"{token}"
|
|
178
|
+
],
|
|
109
179
|
[
|
|
110
180
|
"workspaces",
|
|
111
181
|
"list"
|
|
112
182
|
]
|
|
113
183
|
]
|
|
114
184
|
},
|
|
185
|
+
"useClaimInvitation": {
|
|
186
|
+
"kind": "mutation",
|
|
187
|
+
"operation": "claimInvitation"
|
|
188
|
+
},
|
|
115
189
|
"useCreateWorkspace": {
|
|
116
190
|
"kind": "mutation",
|
|
117
191
|
"operation": "createWorkspace",
|
|
@@ -122,6 +196,17 @@
|
|
|
122
196
|
]
|
|
123
197
|
]
|
|
124
198
|
},
|
|
199
|
+
"useDeclineInvitation": {
|
|
200
|
+
"kind": "mutation",
|
|
201
|
+
"operation": "declineInvitation",
|
|
202
|
+
"invalidates": [
|
|
203
|
+
[
|
|
204
|
+
"workspaces",
|
|
205
|
+
"invitation-preview",
|
|
206
|
+
"{token}"
|
|
207
|
+
]
|
|
208
|
+
]
|
|
209
|
+
},
|
|
125
210
|
"useDeleteWorkspace": {
|
|
126
211
|
"kind": "mutation",
|
|
127
212
|
"operation": "deleteWorkspace",
|
|
@@ -137,6 +222,25 @@
|
|
|
137
222
|
]
|
|
138
223
|
]
|
|
139
224
|
},
|
|
225
|
+
"useInvitationPreview": {
|
|
226
|
+
"kind": "query",
|
|
227
|
+
"operation": "getInvitationPreview",
|
|
228
|
+
"queryKey": [
|
|
229
|
+
"workspaces",
|
|
230
|
+
"invitation-preview",
|
|
231
|
+
"{token}"
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"useInvitations": {
|
|
235
|
+
"kind": "query",
|
|
236
|
+
"operation": "listInvitations",
|
|
237
|
+
"queryKey": [
|
|
238
|
+
"workspaces",
|
|
239
|
+
"invitations",
|
|
240
|
+
"{workspaceId}",
|
|
241
|
+
"{params}"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
140
244
|
"useInviteMembers": {
|
|
141
245
|
"kind": "mutation",
|
|
142
246
|
"operation": "inviteMembers",
|
|
@@ -169,6 +273,52 @@
|
|
|
169
273
|
]
|
|
170
274
|
]
|
|
171
275
|
},
|
|
276
|
+
"useResendInvitation": {
|
|
277
|
+
"kind": "mutation",
|
|
278
|
+
"operation": "resendInvitation",
|
|
279
|
+
"invalidates": [
|
|
280
|
+
[
|
|
281
|
+
"workspaces",
|
|
282
|
+
"invitations",
|
|
283
|
+
"{workspaceId}"
|
|
284
|
+
]
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
"useResetMemberPassword": {
|
|
288
|
+
"kind": "mutation",
|
|
289
|
+
"operation": "resetMemberPassword",
|
|
290
|
+
"invalidates": [
|
|
291
|
+
[
|
|
292
|
+
"workspaces",
|
|
293
|
+
"members",
|
|
294
|
+
"{workspaceId}"
|
|
295
|
+
]
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"useRevokeInvitation": {
|
|
299
|
+
"kind": "mutation",
|
|
300
|
+
"operation": "revokeInvitation",
|
|
301
|
+
"invalidates": [
|
|
302
|
+
[
|
|
303
|
+
"workspaces",
|
|
304
|
+
"invitations",
|
|
305
|
+
"{workspaceId}"
|
|
306
|
+
],
|
|
307
|
+
[
|
|
308
|
+
"workspaces",
|
|
309
|
+
"members",
|
|
310
|
+
"{workspaceId}"
|
|
311
|
+
]
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
"useRoles": {
|
|
315
|
+
"kind": "query",
|
|
316
|
+
"operation": "listRoles",
|
|
317
|
+
"queryKey": [
|
|
318
|
+
"workspaces",
|
|
319
|
+
"roles"
|
|
320
|
+
]
|
|
321
|
+
},
|
|
172
322
|
"useUpdateMemberRole": {
|
|
173
323
|
"kind": "mutation",
|
|
174
324
|
"operation": "updateMemberRole",
|
|
@@ -180,6 +330,29 @@
|
|
|
180
330
|
]
|
|
181
331
|
]
|
|
182
332
|
},
|
|
333
|
+
"useUpdateSecuritySettings": {
|
|
334
|
+
"kind": "mutation",
|
|
335
|
+
"operations": [
|
|
336
|
+
"getWorkspace",
|
|
337
|
+
"updateWorkspace"
|
|
338
|
+
],
|
|
339
|
+
"invalidates": [
|
|
340
|
+
[
|
|
341
|
+
"workspaces",
|
|
342
|
+
"detail",
|
|
343
|
+
"{workspaceId}"
|
|
344
|
+
],
|
|
345
|
+
[
|
|
346
|
+
"workspaces",
|
|
347
|
+
"list"
|
|
348
|
+
],
|
|
349
|
+
[
|
|
350
|
+
"workspaces",
|
|
351
|
+
"members",
|
|
352
|
+
"{workspaceId}"
|
|
353
|
+
]
|
|
354
|
+
]
|
|
355
|
+
},
|
|
183
356
|
"useUpdateWorkspace": {
|
|
184
357
|
"kind": "mutation",
|
|
185
358
|
"operation": "updateWorkspace",
|
|
@@ -325,6 +498,11 @@
|
|
|
325
498
|
"params": [],
|
|
326
499
|
"remediation": "fix_input"
|
|
327
500
|
},
|
|
501
|
+
"error.400.invalid_provision_username": {
|
|
502
|
+
"status": 400,
|
|
503
|
+
"params": [],
|
|
504
|
+
"remediation": "fix_input"
|
|
505
|
+
},
|
|
328
506
|
"error.400.invalid_role": {
|
|
329
507
|
"status": 400,
|
|
330
508
|
"params": [],
|
|
@@ -335,6 +513,11 @@
|
|
|
335
513
|
"params": [],
|
|
336
514
|
"remediation": "fix_input"
|
|
337
515
|
},
|
|
516
|
+
"error.400.invitation_declined": {
|
|
517
|
+
"status": 400,
|
|
518
|
+
"params": [],
|
|
519
|
+
"remediation": "contact_support"
|
|
520
|
+
},
|
|
338
521
|
"error.400.invitation_expired": {
|
|
339
522
|
"status": 400,
|
|
340
523
|
"params": [],
|
|
@@ -370,6 +553,18 @@
|
|
|
370
553
|
"params": [],
|
|
371
554
|
"remediation": "reauthenticate"
|
|
372
555
|
},
|
|
556
|
+
"error.402.entitlement_required": {
|
|
557
|
+
"status": 402,
|
|
558
|
+
"params": [],
|
|
559
|
+
"remediation": "fix_input"
|
|
560
|
+
},
|
|
561
|
+
"error.402.member_limit_reached": {
|
|
562
|
+
"status": 402,
|
|
563
|
+
"params": [
|
|
564
|
+
"limit"
|
|
565
|
+
],
|
|
566
|
+
"remediation": "fix_input"
|
|
567
|
+
},
|
|
373
568
|
"error.402.payment_required": {
|
|
374
569
|
"status": 402,
|
|
375
570
|
"params": [],
|
|
@@ -390,6 +585,20 @@
|
|
|
390
585
|
"params": [],
|
|
391
586
|
"remediation": "fix_input"
|
|
392
587
|
},
|
|
588
|
+
"error.403.membership_suspended": {
|
|
589
|
+
"status": 403,
|
|
590
|
+
"params": [
|
|
591
|
+
"reason"
|
|
592
|
+
],
|
|
593
|
+
"remediation": "fix_input"
|
|
594
|
+
},
|
|
595
|
+
"error.403.missing_capability": {
|
|
596
|
+
"status": 403,
|
|
597
|
+
"params": [
|
|
598
|
+
"capability"
|
|
599
|
+
],
|
|
600
|
+
"remediation": "contact_support"
|
|
601
|
+
},
|
|
393
602
|
"error.403.network_blocked": {
|
|
394
603
|
"status": 403,
|
|
395
604
|
"params": [],
|
|
@@ -455,6 +664,11 @@
|
|
|
455
664
|
"params": [],
|
|
456
665
|
"remediation": "fix_input"
|
|
457
666
|
},
|
|
667
|
+
"error.409.email_already_registered": {
|
|
668
|
+
"status": 409,
|
|
669
|
+
"params": [],
|
|
670
|
+
"remediation": "reauthenticate"
|
|
671
|
+
},
|
|
458
672
|
"error.410.gone": {
|
|
459
673
|
"status": 410,
|
|
460
674
|
"params": [],
|
|
@@ -501,6 +715,11 @@
|
|
|
501
715
|
"status": 500,
|
|
502
716
|
"params": [],
|
|
503
717
|
"remediation": "contact_support"
|
|
718
|
+
},
|
|
719
|
+
"error.503.auth_unavailable": {
|
|
720
|
+
"status": 503,
|
|
721
|
+
"params": [],
|
|
722
|
+
"remediation": "wait_and_retry"
|
|
504
723
|
}
|
|
505
724
|
},
|
|
506
725
|
"events": {
|
|
@@ -522,6 +741,34 @@
|
|
|
522
741
|
],
|
|
523
742
|
"source": "demo/AcceptInvitation.demo.tsx"
|
|
524
743
|
},
|
|
744
|
+
{
|
|
745
|
+
"id": "workspaces.can",
|
|
746
|
+
"title": "Capability gate",
|
|
747
|
+
"description": "The headless Can gates UI on the caller's my_capabilities in a workspace, with the backend's wildcard matcher (* and prefix.*) ported client-side. Static children render only when allowed; the render-prop variant hands the verdict out for disabled-state UI. UI convenience only — the backend re-checks every operation.",
|
|
748
|
+
"component": "Can",
|
|
749
|
+
"tokens": [
|
|
750
|
+
"card-bg",
|
|
751
|
+
"card-border"
|
|
752
|
+
],
|
|
753
|
+
"variants": [
|
|
754
|
+
"default"
|
|
755
|
+
],
|
|
756
|
+
"source": "demo/Can.demo.tsx"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"id": "workspaces.invite-accept",
|
|
760
|
+
"title": "Invite accept flow",
|
|
761
|
+
"description": "The headless InviteAcceptFlow drives the /invite/{token} journey: public preview routing (accept prompt / wrong account / login / claim), the grant_token hand-off seam to auth (onLoginGrant), the basic-data slot, and accept/decline. Every screen is the host's; InviteAcceptPage is the reference skin.",
|
|
762
|
+
"component": "InviteAcceptFlow",
|
|
763
|
+
"tokens": [
|
|
764
|
+
"card-bg",
|
|
765
|
+
"button-primary-bg"
|
|
766
|
+
],
|
|
767
|
+
"variants": [
|
|
768
|
+
"default"
|
|
769
|
+
],
|
|
770
|
+
"source": "demo/InviteAcceptFlow.demo.tsx"
|
|
771
|
+
},
|
|
525
772
|
{
|
|
526
773
|
"id": "workspaces.list",
|
|
527
774
|
"title": "Workspace list",
|
|
@@ -562,6 +809,20 @@
|
|
|
562
809
|
"default"
|
|
563
810
|
],
|
|
564
811
|
"source": "demo/Workspaces.demo.tsx"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"id": "workspaces.role-select",
|
|
815
|
+
"title": "Role select (registry)",
|
|
816
|
+
"description": "The headless RoleSelect reads the effective role registry (builtin four + the deployment's STAPEL_WORKSPACES[\"ROLES\"] overlay) from GET /roles and resolves labels via workspaces.role.<key> with a raw-name fallback — role UI stops hardcoding the builtin four.",
|
|
817
|
+
"component": "RoleSelect",
|
|
818
|
+
"tokens": [
|
|
819
|
+
"card-bg",
|
|
820
|
+
"card-border"
|
|
821
|
+
],
|
|
822
|
+
"variants": [
|
|
823
|
+
"default"
|
|
824
|
+
],
|
|
825
|
+
"source": "demo/RoleSelect.demo.tsx"
|
|
565
826
|
}
|
|
566
827
|
],
|
|
567
828
|
"i18nKeys": [
|
|
@@ -582,8 +843,10 @@
|
|
|
582
843
|
"error.400.field.required",
|
|
583
844
|
"error.400.field.unique",
|
|
584
845
|
"error.400.invalid_ad_id",
|
|
846
|
+
"error.400.invalid_provision_username",
|
|
585
847
|
"error.400.invalid_role",
|
|
586
848
|
"error.400.invitation_already_used",
|
|
849
|
+
"error.400.invitation_declined",
|
|
587
850
|
"error.400.invitation_expired",
|
|
588
851
|
"error.400.invitation_revoked",
|
|
589
852
|
"error.400.validation_error",
|
|
@@ -591,10 +854,14 @@
|
|
|
591
854
|
"error.400.verification_invalid_factor",
|
|
592
855
|
"error.400.workspace_slug_taken",
|
|
593
856
|
"error.401.unauthorized",
|
|
857
|
+
"error.402.entitlement_required",
|
|
858
|
+
"error.402.member_limit_reached",
|
|
594
859
|
"error.402.payment_required",
|
|
595
860
|
"error.403.forbidden",
|
|
596
861
|
"error.403.forbidden_workspace",
|
|
597
862
|
"error.403.last_owner_cannot_be_removed",
|
|
863
|
+
"error.403.membership_suspended",
|
|
864
|
+
"error.403.missing_capability",
|
|
598
865
|
"error.403.network_blocked",
|
|
599
866
|
"error.403.verification_enrollment_required",
|
|
600
867
|
"error.403.verification_required",
|
|
@@ -608,6 +875,7 @@
|
|
|
608
875
|
"error.406.not_acceptable",
|
|
609
876
|
"error.408.request_timeout",
|
|
610
877
|
"error.409.conflict",
|
|
878
|
+
"error.409.email_already_registered",
|
|
611
879
|
"error.410.gone",
|
|
612
880
|
"error.413.payload_too_large",
|
|
613
881
|
"error.415.unsupported_media_type",
|
|
@@ -617,10 +885,35 @@
|
|
|
617
885
|
"error.429.rate_limit",
|
|
618
886
|
"error.429.too_many_requests",
|
|
619
887
|
"error.500.internal",
|
|
888
|
+
"error.503.auth_unavailable",
|
|
620
889
|
"workspaces.accept.accept",
|
|
621
890
|
"workspaces.accept.accepted",
|
|
622
891
|
"workspaces.accept.accepting",
|
|
623
892
|
"workspaces.error.unknown",
|
|
893
|
+
"workspaces.invite.acceptTitle",
|
|
894
|
+
"workspaces.invite.accepted",
|
|
895
|
+
"workspaces.invite.basicDataContinueCta",
|
|
896
|
+
"workspaces.invite.basicDataTitle",
|
|
897
|
+
"workspaces.invite.claiming",
|
|
898
|
+
"workspaces.invite.createAccountCta",
|
|
899
|
+
"workspaces.invite.declineCta",
|
|
900
|
+
"workspaces.invite.declined",
|
|
901
|
+
"workspaces.invite.emailLine",
|
|
902
|
+
"workspaces.invite.exchangeFailed",
|
|
903
|
+
"workspaces.invite.exchanging",
|
|
904
|
+
"workspaces.invite.joinCta",
|
|
905
|
+
"workspaces.invite.loading",
|
|
906
|
+
"workspaces.invite.loginTitle",
|
|
907
|
+
"workspaces.invite.newUserHint",
|
|
908
|
+
"workspaces.invite.retryCta",
|
|
909
|
+
"workspaces.invite.roleLine",
|
|
910
|
+
"workspaces.invite.switchAccountCta",
|
|
911
|
+
"workspaces.invite.unavailable.accepted",
|
|
912
|
+
"workspaces.invite.unavailable.declined",
|
|
913
|
+
"workspaces.invite.unavailable.expired",
|
|
914
|
+
"workspaces.invite.unavailable.revoked",
|
|
915
|
+
"workspaces.invite.wrongAccount",
|
|
916
|
+
"workspaces.invite.wrongAccountHint",
|
|
624
917
|
"workspaces.list.create",
|
|
625
918
|
"workspaces.list.creating",
|
|
626
919
|
"workspaces.list.empty",
|
|
@@ -641,6 +934,10 @@
|
|
|
641
934
|
"workspaces.members.subtitle",
|
|
642
935
|
"workspaces.members.title",
|
|
643
936
|
"workspaces.members.update_role",
|
|
937
|
+
"workspaces.role.admin",
|
|
938
|
+
"workspaces.role.member",
|
|
939
|
+
"workspaces.role.owner",
|
|
940
|
+
"workspaces.role.viewer",
|
|
644
941
|
"workspaces.settings.danger_zone.delete",
|
|
645
942
|
"workspaces.settings.danger_zone.delete_confirm",
|
|
646
943
|
"workspaces.settings.danger_zone.title",
|
|
@@ -655,7 +952,12 @@
|
|
|
655
952
|
"exports": {
|
|
656
953
|
"runtime": [
|
|
657
954
|
"AcceptInvitation",
|
|
955
|
+
"BUILTIN_CAPABILITY_LEVELS",
|
|
956
|
+
"Can",
|
|
957
|
+
"InviteAcceptFlow",
|
|
658
958
|
"Members",
|
|
959
|
+
"RoleSelect",
|
|
960
|
+
"SENSITIVE_SCOPE",
|
|
659
961
|
"WORKSPACES_ERRORS",
|
|
660
962
|
"WORKSPACES_ERROR_CODES",
|
|
661
963
|
"WORKSPACES_FLOWS",
|
|
@@ -663,22 +965,41 @@
|
|
|
663
965
|
"WorkspaceList",
|
|
664
966
|
"WorkspacesProvider",
|
|
665
967
|
"WorkspacesRuntimeContext",
|
|
968
|
+
"capabilityLevel",
|
|
969
|
+
"capabilityMatches",
|
|
666
970
|
"createFlowMachine",
|
|
971
|
+
"createInviteAcceptFlow",
|
|
667
972
|
"createWorkspacesApi",
|
|
668
973
|
"createWorkspacesRuntime",
|
|
974
|
+
"emailMatchesMask",
|
|
669
975
|
"explainWorkspacesError",
|
|
670
976
|
"flowEndpoints",
|
|
977
|
+
"hasCapability",
|
|
671
978
|
"isErrorCode",
|
|
979
|
+
"maskEmail",
|
|
980
|
+
"readVerificationEnrollment",
|
|
672
981
|
"registerWorkspacesI18n",
|
|
673
982
|
"toFlowError",
|
|
674
983
|
"useAcceptInvitation",
|
|
984
|
+
"useCapabilities",
|
|
985
|
+
"useCapabilityGate",
|
|
986
|
+
"useClaimInvitation",
|
|
675
987
|
"useCreateWorkspace",
|
|
988
|
+
"useDeclineInvitation",
|
|
676
989
|
"useDeleteWorkspace",
|
|
677
990
|
"useFlow",
|
|
991
|
+
"useInfiniteInvitations",
|
|
992
|
+
"useInvitationPreview",
|
|
993
|
+
"useInvitations",
|
|
678
994
|
"useInviteMembers",
|
|
679
995
|
"useMembers",
|
|
680
996
|
"useRemoveMember",
|
|
997
|
+
"useResendInvitation",
|
|
998
|
+
"useResetMemberPassword",
|
|
999
|
+
"useRevokeInvitation",
|
|
1000
|
+
"useRoles",
|
|
681
1001
|
"useUpdateMemberRole",
|
|
1002
|
+
"useUpdateSecuritySettings",
|
|
682
1003
|
"useUpdateWorkspace",
|
|
683
1004
|
"useWorkspace",
|
|
684
1005
|
"useWorkspaces",
|
|
@@ -691,6 +1012,10 @@
|
|
|
691
1012
|
],
|
|
692
1013
|
"types": [
|
|
693
1014
|
"AcceptInvitationBag",
|
|
1015
|
+
"CanBag",
|
|
1016
|
+
"CapabilitiesResult",
|
|
1017
|
+
"CapabilityGate",
|
|
1018
|
+
"CapabilityLevel",
|
|
694
1019
|
"CreateWorkspacesRuntimeOptions",
|
|
695
1020
|
"FlowEndpoint",
|
|
696
1021
|
"FlowError",
|
|
@@ -699,22 +1024,40 @@
|
|
|
699
1024
|
"FlowStateBase",
|
|
700
1025
|
"Invitation",
|
|
701
1026
|
"InvitationAccept",
|
|
1027
|
+
"InvitationClaim",
|
|
1028
|
+
"InvitationListData",
|
|
1029
|
+
"InvitationPreview",
|
|
1030
|
+
"InvitationStatusFilter",
|
|
1031
|
+
"InvitationsParams",
|
|
1032
|
+
"InviteAcceptFlowBag",
|
|
1033
|
+
"InviteAcceptFlowController",
|
|
1034
|
+
"InviteAcceptFlowDeps",
|
|
1035
|
+
"InviteAcceptState",
|
|
702
1036
|
"MemberData",
|
|
703
1037
|
"MemberInvite",
|
|
704
1038
|
"MemberInviteResult",
|
|
705
1039
|
"MemberListData",
|
|
1040
|
+
"MemberPasswordReset",
|
|
1041
|
+
"MemberPasswordResetResult",
|
|
1042
|
+
"MemberPasswordResetVars",
|
|
706
1043
|
"MemberRoleChange",
|
|
707
1044
|
"MemberRoleUpdate",
|
|
708
1045
|
"MembersBag",
|
|
709
1046
|
"MembersParams",
|
|
1047
|
+
"ProvisionedUserPolicy",
|
|
710
1048
|
"Remediation",
|
|
1049
|
+
"RoleInfo",
|
|
1050
|
+
"RoleList",
|
|
1051
|
+
"RoleSelectBag",
|
|
711
1052
|
"Schemas",
|
|
1053
|
+
"VerificationEnrollment",
|
|
712
1054
|
"WorkspaceCreate",
|
|
713
1055
|
"WorkspaceData",
|
|
714
1056
|
"WorkspaceKind",
|
|
715
1057
|
"WorkspaceListBag",
|
|
716
1058
|
"WorkspaceListData",
|
|
717
1059
|
"WorkspaceRole",
|
|
1060
|
+
"WorkspaceSecuritySettings",
|
|
718
1061
|
"WorkspaceUpdate",
|
|
719
1062
|
"WorkspacesApi",
|
|
720
1063
|
"WorkspacesErrorCode",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stapel/workspaces-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
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": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
{
|
|
50
50
|
"name": "i18n/ru subpath (opt-in locale: en floor + generated ru + ru UI)",
|
|
51
51
|
"path": "dist/i18n/ru.js",
|
|
52
|
-
"limit": "
|
|
52
|
+
"limit": "5 KB"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"name": "default — the settings skin (antd) must stay out of the main bundle",
|
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
"size-limit": "^11.2.0",
|
|
83
83
|
"typescript": "^5.8.3",
|
|
84
84
|
"vitest": "^3.2.4",
|
|
85
|
-
"@stapel/
|
|
86
|
-
"@stapel/
|
|
87
|
-
"@stapel/
|
|
85
|
+
"@stapel/showcase": "^0.2.0",
|
|
86
|
+
"@stapel/core": "^0.9.0",
|
|
87
|
+
"@stapel/tokens": "^0.5.0"
|
|
88
88
|
},
|
|
89
89
|
"engines": {
|
|
90
90
|
"node": ">=22"
|