@stapel/workspaces-react 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/dist/api/generated/schema.d.ts +32 -32
  4. package/dist/api/generated/schema.d.ts.map +1 -1
  5. package/dist/default/MembersManager.d.ts +14 -0
  6. package/dist/default/MembersManager.d.ts.map +1 -0
  7. package/dist/default/MembersManager.js +77 -0
  8. package/dist/default/MembersManager.js.map +1 -0
  9. package/dist/default/WorkspaceSettings.d.ts +9 -0
  10. package/dist/default/WorkspaceSettings.d.ts.map +1 -0
  11. package/dist/default/WorkspaceSettings.js +44 -0
  12. package/dist/default/WorkspaceSettings.js.map +1 -0
  13. package/dist/default/index.d.ts +18 -0
  14. package/dist/default/index.d.ts.map +1 -0
  15. package/dist/default/index.js +16 -0
  16. package/dist/default/index.js.map +1 -0
  17. package/dist/headless/WorkspacesProvider.d.ts +1 -1
  18. package/dist/headless/WorkspacesProvider.js +1 -1
  19. package/dist/i18n/keys.d.ts +21 -0
  20. package/dist/i18n/keys.d.ts.map +1 -1
  21. package/dist/i18n/keys.js +44 -0
  22. package/dist/i18n/keys.js.map +1 -1
  23. package/dist/i18n/ru.d.ts.map +1 -1
  24. package/dist/i18n/ru.js +21 -0
  25. package/dist/i18n/ru.js.map +1 -1
  26. package/llms.txt +13 -13
  27. package/manifest.json +47 -26
  28. package/package.json +18 -2
  29. package/src/analytics/generated/events.json +1 -1
  30. package/src/api/generated/schema.ts +32 -32
  31. package/src/default/MembersManager.tsx +185 -0
  32. package/src/default/WorkspaceSettings.tsx +128 -0
  33. package/src/default/index.ts +17 -0
  34. package/src/headless/WorkspacesProvider.tsx +1 -1
  35. package/src/i18n/keys.ts +44 -0
  36. package/src/i18n/ru.ts +21 -0
@@ -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;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;CAiBvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAkBpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAO,GAAG,IAAI,CAE9E"}
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;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAuCpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAO,GAAG,IAAI,CAE9E"}
package/dist/i18n/keys.js CHANGED
@@ -25,6 +25,29 @@ export const WORKSPACES_I18N_KEYS = {
25
25
  acceptAccept: "workspaces.accept.accept",
26
26
  acceptAccepting: "workspaces.accept.accepting",
27
27
  acceptAccepted: "workspaces.accept.accepted",
28
+ // Workspace settings (default skin — WorkspaceSettings)
29
+ settingsTitle: "workspaces.settings.title",
30
+ settingsSubtitle: "workspaces.settings.subtitle",
31
+ fieldName: "workspaces.settings.field.name",
32
+ fieldSlug: "workspaces.settings.field.slug",
33
+ fieldType: "workspaces.settings.field.type",
34
+ save: "workspaces.settings.save",
35
+ saving: "workspaces.settings.saving",
36
+ dangerZoneTitle: "workspaces.settings.danger_zone.title",
37
+ deleteWorkspace: "workspaces.settings.danger_zone.delete",
38
+ deleteWorkspaceConfirm: "workspaces.settings.danger_zone.delete_confirm",
39
+ // Members manager (default skin — MembersManager)
40
+ membersTitle: "workspaces.members.title",
41
+ membersSubtitle: "workspaces.members.subtitle",
42
+ membersInviteDialogTitle: "workspaces.members.invite_dialog.title",
43
+ membersInviteEmailsLabel: "workspaces.members.invite_dialog.emails_label",
44
+ membersInviteEmailsPlaceholder: "workspaces.members.invite_dialog.emails_placeholder",
45
+ membersInviteRoleLabel: "workspaces.members.invite_dialog.role_label",
46
+ membersRemoveConfirm: "workspaces.members.remove_confirm",
47
+ roleOwner: "workspaces.members.role.owner",
48
+ roleAdmin: "workspaces.members.role.admin",
49
+ roleMember: "workspaces.members.role.member",
50
+ roleViewer: "workspaces.members.role.viewer",
28
51
  };
29
52
  /**
30
53
  * English fallback bundle for workspaces-react UI keys + backend error codes.
@@ -50,6 +73,27 @@ export const workspacesI18nBundleEn = {
50
73
  "workspaces.accept.accept": "Accept invitation",
51
74
  "workspaces.accept.accepting": "Accepting…",
52
75
  "workspaces.accept.accepted": "You've joined the workspace.",
76
+ "workspaces.settings.title": "Workspace",
77
+ "workspaces.settings.subtitle": "Name and general settings.",
78
+ "workspaces.settings.field.name": "Workspace name",
79
+ "workspaces.settings.field.slug": "URL slug",
80
+ "workspaces.settings.field.type": "Type",
81
+ "workspaces.settings.save": "Save changes",
82
+ "workspaces.settings.saving": "Saving…",
83
+ "workspaces.settings.danger_zone.title": "Danger zone",
84
+ "workspaces.settings.danger_zone.delete": "Delete workspace",
85
+ "workspaces.settings.danger_zone.delete_confirm": "Delete this workspace? This can't be undone.",
86
+ "workspaces.members.title": "Members",
87
+ "workspaces.members.subtitle": "Manage who has access to this workspace.",
88
+ "workspaces.members.invite_dialog.title": "Invite members",
89
+ "workspaces.members.invite_dialog.emails_label": "Emails",
90
+ "workspaces.members.invite_dialog.emails_placeholder": "Type an email and press Enter",
91
+ "workspaces.members.invite_dialog.role_label": "Role",
92
+ "workspaces.members.remove_confirm": "Remove this member?",
93
+ "workspaces.members.role.owner": "Owner",
94
+ "workspaces.members.role.admin": "Admin",
95
+ "workspaces.members.role.member": "Member",
96
+ "workspaces.members.role.viewer": "Viewer",
53
97
  };
54
98
  /**
55
99
  * Register workspaces-react's key bundle into a core i18n engine (call once at
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,0BAA0B;IACxC,0CAA0C;IAC1C,WAAW,EAAE,yBAAyB;IACtC,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,wBAAwB;IACpC,YAAY,EAAE,0BAA0B;IACxC,6BAA6B;IAC7B,cAAc,EAAE,4BAA4B;IAC5C,aAAa,EAAE,2BAA2B;IAC1C,eAAe,EAAE,6BAA6B;IAC9C,iBAAiB,EAAE,gCAAgC;IACnD,aAAa,EAAE,2BAA2B;IAC1C,gDAAgD;IAChD,YAAY,EAAE,0BAA0B;IACxC,eAAe,EAAE,6BAA6B;IAC9C,cAAc,EAAE,4BAA4B;CACpC,CAAC;AAKX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,2EAA2E;IAC3E,GAAG,uBAAuB;IAE1B,sBAAsB;IACtB,0BAA0B,EAAE,yCAAyC;IACrE,yBAAyB,EAAE,qBAAqB;IAChD,uBAAuB,EAAE,oBAAoB;IAC7C,wBAAwB,EAAE,kBAAkB;IAC5C,0BAA0B,EAAE,WAAW;IACvC,4BAA4B,EAAE,kBAAkB;IAChD,2BAA2B,EAAE,QAAQ;IACrC,6BAA6B,EAAE,WAAW;IAC1C,gCAAgC,EAAE,aAAa;IAC/C,2BAA2B,EAAE,QAAQ;IACrC,0BAA0B,EAAE,mBAAmB;IAC/C,6BAA6B,EAAE,YAAY;IAC3C,4BAA4B,EAAE,8BAA8B;CAC7D,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAkB,EAAE,MAAM,GAAG,IAAI;IACtE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAkBpC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGjE"}
1
+ {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAuCpC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGjE"}
package/dist/i18n/ru.js CHANGED
@@ -33,6 +33,27 @@ export const workspacesI18nBundleRu = {
33
33
  "workspaces.accept.accept": "Принять приглашение",
34
34
  "workspaces.accept.accepting": "Принятие…",
35
35
  "workspaces.accept.accepted": "Вы присоединились к рабочему пространству.",
36
+ "workspaces.settings.title": "Рабочее пространство",
37
+ "workspaces.settings.subtitle": "Название и общие настройки.",
38
+ "workspaces.settings.field.name": "Название рабочего пространства",
39
+ "workspaces.settings.field.slug": "URL-идентификатор",
40
+ "workspaces.settings.field.type": "Тип",
41
+ "workspaces.settings.save": "Сохранить изменения",
42
+ "workspaces.settings.saving": "Сохранение…",
43
+ "workspaces.settings.danger_zone.title": "Опасная зона",
44
+ "workspaces.settings.danger_zone.delete": "Удалить рабочее пространство",
45
+ "workspaces.settings.danger_zone.delete_confirm": "Удалить это рабочее пространство? Действие необратимо.",
46
+ "workspaces.members.title": "Участники",
47
+ "workspaces.members.subtitle": "Управляйте доступом к рабочему пространству.",
48
+ "workspaces.members.invite_dialog.title": "Пригласить участников",
49
+ "workspaces.members.invite_dialog.emails_label": "Email-адреса",
50
+ "workspaces.members.invite_dialog.emails_placeholder": "Введите email и нажмите Enter",
51
+ "workspaces.members.invite_dialog.role_label": "Роль",
52
+ "workspaces.members.remove_confirm": "Удалить этого участника?",
53
+ "workspaces.members.role.owner": "Владелец",
54
+ "workspaces.members.role.admin": "Администратор",
55
+ "workspaces.members.role.member": "Участник",
56
+ "workspaces.members.role.viewer": "Наблюдатель",
36
57
  };
37
58
  /**
38
59
  * Register the pair's `ru` locale into a core i18n engine (call once at
@@ -1 +1 @@
1
- {"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,uEAAuE;IACvE,GAAG,uBAAuB;IAE1B,yEAAyE;IACzE,0BAA0B,EAAE,0CAA0C;IACtE,yBAAyB,EAAE,+BAA+B;IAC1D,uBAAuB,EAAE,+BAA+B;IACxD,wBAAwB,EAAE,8BAA8B;IACxD,0BAA0B,EAAE,WAAW;IACvC,4BAA4B,EAAE,sBAAsB;IACpD,2BAA2B,EAAE,YAAY;IACzC,6BAA6B,EAAE,cAAc;IAC7C,gCAAgC,EAAE,eAAe;IACjD,2BAA2B,EAAE,SAAS;IACtC,0BAA0B,EAAE,qBAAqB;IACjD,6BAA6B,EAAE,WAAW;IAC1C,4BAA4B,EAAE,4CAA4C;CAC3E,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAkB;IACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,uEAAuE;IACvE,GAAG,uBAAuB;IAE1B,yEAAyE;IACzE,0BAA0B,EAAE,0CAA0C;IACtE,yBAAyB,EAAE,+BAA+B;IAC1D,uBAAuB,EAAE,+BAA+B;IACxD,wBAAwB,EAAE,8BAA8B;IACxD,0BAA0B,EAAE,WAAW;IACvC,4BAA4B,EAAE,sBAAsB;IACpD,2BAA2B,EAAE,YAAY;IACzC,6BAA6B,EAAE,cAAc;IAC7C,gCAAgC,EAAE,eAAe;IACjD,2BAA2B,EAAE,SAAS;IACtC,0BAA0B,EAAE,qBAAqB;IACjD,6BAA6B,EAAE,WAAW;IAC1C,4BAA4B,EAAE,4CAA4C;IAC1E,2BAA2B,EAAE,sBAAsB;IACnD,8BAA8B,EAAE,6BAA6B;IAC7D,gCAAgC,EAAE,gCAAgC;IAClE,gCAAgC,EAAE,mBAAmB;IACrD,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,qBAAqB;IACjD,4BAA4B,EAAE,aAAa;IAC3C,uCAAuC,EAAE,cAAc;IACvD,wCAAwC,EAAE,8BAA8B;IACxE,gDAAgD,EAAE,wDAAwD;IAC1G,0BAA0B,EAAE,WAAW;IACvC,6BAA6B,EAAE,8CAA8C;IAC7E,wCAAwC,EAAE,uBAAuB;IACjE,+CAA+C,EAAE,cAAc;IAC/D,qDAAqD,EAAE,+BAA+B;IACtF,6CAA6C,EAAE,MAAM;IACrD,mCAAmC,EAAE,0BAA0B;IAC/D,+BAA+B,EAAE,UAAU;IAC3C,+BAA+B,EAAE,eAAe;IAChD,gCAAgC,EAAE,UAAU;IAC5C,gCAAgC,EAAE,aAAa;CAChD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAkB;IACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AACtD,CAAC"}
package/llms.txt CHANGED
@@ -1,4 +1,4 @@
1
- # @stapel/workspaces-react 0.4.0
1
+ # @stapel/workspaces-react 0.5.0
2
2
 
3
3
  Headless React flow pair for stapel-workspaces (contract >=0.4 <0.5) — business + state, zero visual opinion.
4
4
  Built on @stapel/core: typed client + StapelApiError envelope, auth token refresh,
@@ -20,18 +20,18 @@ api (typed client) · model (hooks, session) · flows (machines) · headless ·
20
20
 
21
21
  ## Operations (typed; use the named op, never a path string)
22
22
  Request/response schema names are in manifest.json + the generated types.
23
- - workspaces_api_create: POST /workspaces/api/
24
- - workspaces_api_destroy: DELETE /workspaces/api/{workspace_id}
25
- - workspaces_api_internal_members_retrieve: GET /workspaces/api/internal/{workspace_id}/members/{user_id}
26
- - workspaces_api_internal_users_personal_create: POST /workspaces/api/internal/users/{user_id}/personal
27
- - workspaces_api_invitations_accept_create: POST /workspaces/api/invitations/accept
28
- - workspaces_api_members_destroy: DELETE /workspaces/api/{workspace_id}/members/{user_id}
29
- - workspaces_api_members_invite_create: POST /workspaces/api/{workspace_id}/members/invite
30
- - workspaces_api_members_list: GET /workspaces/api/{workspace_id}/members
31
- - workspaces_api_members_partial_update: PATCH /workspaces/api/{workspace_id}/members/{user_id}
32
- - workspaces_api_partial_update: PATCH /workspaces/api/{workspace_id}
33
- - workspaces_api_retrieve: GET /workspaces/api/
34
- - workspaces_api_retrieve_2: GET /workspaces/api/{workspace_id}
23
+ - workspaces_api_v1_create: POST /workspaces/api/v1/
24
+ - workspaces_api_v1_destroy: DELETE /workspaces/api/v1/{workspace_id}
25
+ - workspaces_api_v1_internal_members_retrieve: GET /workspaces/api/v1/internal/{workspace_id}/members/{user_id}
26
+ - workspaces_api_v1_internal_users_personal_create: POST /workspaces/api/v1/internal/users/{user_id}/personal
27
+ - workspaces_api_v1_invitations_accept_create: POST /workspaces/api/v1/invitations/accept
28
+ - workspaces_api_v1_members_destroy: DELETE /workspaces/api/v1/{workspace_id}/members/{user_id}
29
+ - workspaces_api_v1_members_invite_create: POST /workspaces/api/v1/{workspace_id}/members/invite
30
+ - workspaces_api_v1_members_list: GET /workspaces/api/v1/{workspace_id}/members
31
+ - workspaces_api_v1_members_partial_update: PATCH /workspaces/api/v1/{workspace_id}/members/{user_id}
32
+ - workspaces_api_v1_partial_update: PATCH /workspaces/api/v1/{workspace_id}
33
+ - workspaces_api_v1_retrieve: GET /workspaces/api/v1/
34
+ - workspaces_api_v1_retrieve_2: GET /workspaces/api/v1/{workspace_id}
35
35
 
36
36
  ## Query hooks (server state; keys come only from the key factory)
37
37
  - useAcceptInvitation (mutation) → acceptInvitation
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
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.0",
4
+ "version": "0.5.0",
5
5
  "backend": {
6
6
  "module": "stapel-workspaces",
7
7
  "contract": ">=0.4 <0.5"
@@ -16,86 +16,86 @@
16
16
  "flows": {},
17
17
  "machines": [],
18
18
  "operations": {
19
- "workspaces_api_create": {
19
+ "workspaces_api_v1_create": {
20
20
  "method": "POST",
21
- "path": "/workspaces/api/",
21
+ "path": "/workspaces/api/v1/",
22
22
  "tag": "Workspaces",
23
23
  "request": "WorkspaceCreateRequest",
24
24
  "response": "WorkspaceResponse"
25
25
  },
26
- "workspaces_api_destroy": {
26
+ "workspaces_api_v1_destroy": {
27
27
  "method": "DELETE",
28
- "path": "/workspaces/api/{workspace_id}",
28
+ "path": "/workspaces/api/v1/{workspace_id}",
29
29
  "tag": "Workspaces",
30
30
  "request": null,
31
31
  "response": null
32
32
  },
33
- "workspaces_api_internal_members_retrieve": {
33
+ "workspaces_api_v1_internal_members_retrieve": {
34
34
  "method": "GET",
35
- "path": "/workspaces/api/internal/{workspace_id}/members/{user_id}",
35
+ "path": "/workspaces/api/v1/internal/{workspace_id}/members/{user_id}",
36
36
  "tag": "Internal",
37
37
  "request": null,
38
38
  "response": "MemberResponse"
39
39
  },
40
- "workspaces_api_internal_users_personal_create": {
40
+ "workspaces_api_v1_internal_users_personal_create": {
41
41
  "method": "POST",
42
- "path": "/workspaces/api/internal/users/{user_id}/personal",
42
+ "path": "/workspaces/api/v1/internal/users/{user_id}/personal",
43
43
  "tag": "Internal",
44
44
  "request": null,
45
45
  "response": "InternalPersonalWorkspaceResponse"
46
46
  },
47
- "workspaces_api_invitations_accept_create": {
47
+ "workspaces_api_v1_invitations_accept_create": {
48
48
  "method": "POST",
49
- "path": "/workspaces/api/invitations/accept",
49
+ "path": "/workspaces/api/v1/invitations/accept",
50
50
  "tag": "Members",
51
51
  "request": "InvitationAcceptRequest",
52
52
  "response": "MemberResponse"
53
53
  },
54
- "workspaces_api_members_destroy": {
54
+ "workspaces_api_v1_members_destroy": {
55
55
  "method": "DELETE",
56
- "path": "/workspaces/api/{workspace_id}/members/{user_id}",
56
+ "path": "/workspaces/api/v1/{workspace_id}/members/{user_id}",
57
57
  "tag": "Members",
58
58
  "request": null,
59
59
  "response": null
60
60
  },
61
- "workspaces_api_members_invite_create": {
61
+ "workspaces_api_v1_members_invite_create": {
62
62
  "method": "POST",
63
- "path": "/workspaces/api/{workspace_id}/members/invite",
63
+ "path": "/workspaces/api/v1/{workspace_id}/members/invite",
64
64
  "tag": "Members",
65
65
  "request": "MemberInviteRequest",
66
66
  "response": "MemberInviteResponse"
67
67
  },
68
- "workspaces_api_members_list": {
68
+ "workspaces_api_v1_members_list": {
69
69
  "method": "GET",
70
- "path": "/workspaces/api/{workspace_id}/members",
70
+ "path": "/workspaces/api/v1/{workspace_id}/members",
71
71
  "tag": "Members",
72
72
  "request": null,
73
73
  "response": "PaginatedMemberResponseList"
74
74
  },
75
- "workspaces_api_members_partial_update": {
75
+ "workspaces_api_v1_members_partial_update": {
76
76
  "method": "PATCH",
77
- "path": "/workspaces/api/{workspace_id}/members/{user_id}",
77
+ "path": "/workspaces/api/v1/{workspace_id}/members/{user_id}",
78
78
  "tag": "Members",
79
79
  "request": "PatchedMemberUpdateRequest",
80
80
  "response": "MemberResponse"
81
81
  },
82
- "workspaces_api_partial_update": {
82
+ "workspaces_api_v1_partial_update": {
83
83
  "method": "PATCH",
84
- "path": "/workspaces/api/{workspace_id}",
84
+ "path": "/workspaces/api/v1/{workspace_id}",
85
85
  "tag": "Workspaces",
86
86
  "request": "PatchedWorkspaceUpdateRequest",
87
87
  "response": "WorkspaceResponse"
88
88
  },
89
- "workspaces_api_retrieve": {
89
+ "workspaces_api_v1_retrieve": {
90
90
  "method": "GET",
91
- "path": "/workspaces/api/",
91
+ "path": "/workspaces/api/v1/",
92
92
  "tag": "Workspaces",
93
93
  "request": null,
94
94
  "response": "WorkspaceListResponse"
95
95
  },
96
- "workspaces_api_retrieve_2": {
96
+ "workspaces_api_v1_retrieve_2": {
97
97
  "method": "GET",
98
- "path": "/workspaces/api/{workspace_id}",
98
+ "path": "/workspaces/api/v1/{workspace_id}",
99
99
  "tag": "Workspaces",
100
100
  "request": null,
101
101
  "response": "WorkspaceResponse"
@@ -626,10 +626,31 @@
626
626
  "workspaces.list.empty",
627
627
  "workspaces.list.loading",
628
628
  "workspaces.members.invite",
629
+ "workspaces.members.invite_dialog.emails_label",
630
+ "workspaces.members.invite_dialog.emails_placeholder",
631
+ "workspaces.members.invite_dialog.role_label",
632
+ "workspaces.members.invite_dialog.title",
629
633
  "workspaces.members.inviting",
630
634
  "workspaces.members.loading",
631
635
  "workspaces.members.remove",
632
- "workspaces.members.update_role"
636
+ "workspaces.members.remove_confirm",
637
+ "workspaces.members.role.admin",
638
+ "workspaces.members.role.member",
639
+ "workspaces.members.role.owner",
640
+ "workspaces.members.role.viewer",
641
+ "workspaces.members.subtitle",
642
+ "workspaces.members.title",
643
+ "workspaces.members.update_role",
644
+ "workspaces.settings.danger_zone.delete",
645
+ "workspaces.settings.danger_zone.delete_confirm",
646
+ "workspaces.settings.danger_zone.title",
647
+ "workspaces.settings.field.name",
648
+ "workspaces.settings.field.slug",
649
+ "workspaces.settings.field.type",
650
+ "workspaces.settings.save",
651
+ "workspaces.settings.saving",
652
+ "workspaces.settings.subtitle",
653
+ "workspaces.settings.title"
633
654
  ],
634
655
  "exports": {
635
656
  "runtime": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stapel/workspaces-react",
3
- "version": "0.4.0",
3
+ "version": "0.5.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": {
@@ -17,6 +17,10 @@
17
17
  "types": "./dist/index.d.ts",
18
18
  "default": "./dist/index.js"
19
19
  },
20
+ "./default": {
21
+ "types": "./dist/default/index.d.ts",
22
+ "default": "./dist/default/index.js"
23
+ },
20
24
  "./i18n/ru": {
21
25
  "types": "./dist/i18n/ru.d.ts",
22
26
  "default": "./dist/i18n/ru.js"
@@ -46,19 +50,31 @@
46
50
  "name": "i18n/ru subpath (opt-in locale: en floor + generated ru + ru UI)",
47
51
  "path": "dist/i18n/ru.js",
48
52
  "limit": "3.5 KB"
53
+ },
54
+ {
55
+ "name": "default — the settings skin (antd) must stay out of the main bundle",
56
+ "path": "dist/default/index.js",
57
+ "limit": "12 KB"
49
58
  }
50
59
  ],
51
60
  "peerDependencies": {
52
61
  "@stapel/core": ">=0.3.0 <1.0.0",
53
62
  "@tanstack/react-query": "^5.0.0",
63
+ "antd": ">=5.20.0 <7",
54
64
  "react": ">=19"
55
65
  },
66
+ "peerDependenciesMeta": {
67
+ "antd": {
68
+ "optional": true
69
+ }
70
+ },
56
71
  "devDependencies": {
57
72
  "@size-limit/preset-small-lib": "^11.2.0",
58
73
  "@tanstack/react-query": "^5.81.0",
59
74
  "@testing-library/react": "^16.3.0",
60
75
  "@types/react": "^19.1.0",
61
76
  "@types/react-dom": "^19.1.0",
77
+ "antd": "^6.5.0",
62
78
  "jsdom": "^26.1.0",
63
79
  "msw": "^2.10.2",
64
80
  "react": "^19.1.0",
@@ -66,7 +82,7 @@
66
82
  "size-limit": "^11.2.0",
67
83
  "typescript": "^5.8.3",
68
84
  "vitest": "^3.2.4",
69
- "@stapel/core": "^0.4.0",
85
+ "@stapel/core": "^0.5.0",
70
86
  "@stapel/showcase": "^0.2.0",
71
87
  "@stapel/tokens": "^0.4.0"
72
88
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$generated": "by scripts/gen-events.mjs — do not edit; drift-gated (pnpm gen:events:check)",
3
3
  "package": "@stapel/workspaces-react",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "defined": [],
6
6
  "flows": []
7
7
  }
@@ -2,7 +2,7 @@
2
2
  // Source: the backend module's own docs/schema.json (§17-native per-module contract).
3
3
  // Regenerate: pnpm gen:api · Drift gate: pnpm gen:api:check
4
4
  export interface paths {
5
- "/workspaces/api/": {
5
+ "/workspaces/api/v1/": {
6
6
  parameters: {
7
7
  query?: never;
8
8
  header?: never;
@@ -20,7 +20,7 @@ export interface paths {
20
20
  *
21
21
  * **Permissions:** `IsAuthenticated`
22
22
  */
23
- get: operations["workspaces_api_retrieve"];
23
+ get: operations["workspaces_api_v1_retrieve"];
24
24
  put?: never;
25
25
  /**
26
26
  * @description Overridable serializer seams for API views.
@@ -33,14 +33,14 @@ export interface paths {
33
33
  *
34
34
  * **Permissions:** `IsAuthenticated`
35
35
  */
36
- post: operations["workspaces_api_create"];
36
+ post: operations["workspaces_api_v1_create"];
37
37
  delete?: never;
38
38
  options?: never;
39
39
  head?: never;
40
40
  patch?: never;
41
41
  trace?: never;
42
42
  };
43
- "/workspaces/api/{workspace_id}": {
43
+ "/workspaces/api/v1/{workspace_id}": {
44
44
  parameters: {
45
45
  query?: never;
46
46
  header?: never;
@@ -58,7 +58,7 @@ export interface paths {
58
58
  *
59
59
  * **Permissions:** `IsAuthenticated`
60
60
  */
61
- get: operations["workspaces_api_retrieve_2"];
61
+ get: operations["workspaces_api_v1_retrieve_2"];
62
62
  put?: never;
63
63
  post?: never;
64
64
  /**
@@ -72,7 +72,7 @@ export interface paths {
72
72
  *
73
73
  * **Permissions:** `IsAuthenticated`
74
74
  */
75
- delete: operations["workspaces_api_destroy"];
75
+ delete: operations["workspaces_api_v1_destroy"];
76
76
  options?: never;
77
77
  head?: never;
78
78
  /**
@@ -86,10 +86,10 @@ export interface paths {
86
86
  *
87
87
  * **Permissions:** `IsAuthenticated`
88
88
  */
89
- patch: operations["workspaces_api_partial_update"];
89
+ patch: operations["workspaces_api_v1_partial_update"];
90
90
  trace?: never;
91
91
  };
92
- "/workspaces/api/{workspace_id}/members": {
92
+ "/workspaces/api/v1/{workspace_id}/members": {
93
93
  parameters: {
94
94
  query?: never;
95
95
  header?: never;
@@ -107,7 +107,7 @@ export interface paths {
107
107
  *
108
108
  * **Permissions:** `IsAuthenticated`
109
109
  */
110
- get: operations["workspaces_api_members_list"];
110
+ get: operations["workspaces_api_v1_members_list"];
111
111
  put?: never;
112
112
  post?: never;
113
113
  delete?: never;
@@ -116,7 +116,7 @@ export interface paths {
116
116
  patch?: never;
117
117
  trace?: never;
118
118
  };
119
- "/workspaces/api/{workspace_id}/members/{user_id}": {
119
+ "/workspaces/api/v1/{workspace_id}/members/{user_id}": {
120
120
  parameters: {
121
121
  query?: never;
122
122
  header?: never;
@@ -137,7 +137,7 @@ export interface paths {
137
137
  *
138
138
  * **Permissions:** `IsAuthenticated`
139
139
  */
140
- delete: operations["workspaces_api_members_destroy"];
140
+ delete: operations["workspaces_api_v1_members_destroy"];
141
141
  options?: never;
142
142
  head?: never;
143
143
  /**
@@ -151,10 +151,10 @@ export interface paths {
151
151
  *
152
152
  * **Permissions:** `IsAuthenticated`
153
153
  */
154
- patch: operations["workspaces_api_members_partial_update"];
154
+ patch: operations["workspaces_api_v1_members_partial_update"];
155
155
  trace?: never;
156
156
  };
157
- "/workspaces/api/{workspace_id}/members/invite": {
157
+ "/workspaces/api/v1/{workspace_id}/members/invite": {
158
158
  parameters: {
159
159
  query?: never;
160
160
  header?: never;
@@ -174,14 +174,14 @@ export interface paths {
174
174
  *
175
175
  * **Permissions:** `IsAuthenticated`
176
176
  */
177
- post: operations["workspaces_api_members_invite_create"];
177
+ post: operations["workspaces_api_v1_members_invite_create"];
178
178
  delete?: never;
179
179
  options?: never;
180
180
  head?: never;
181
181
  patch?: never;
182
182
  trace?: never;
183
183
  };
184
- "/workspaces/api/internal/{workspace_id}/members/{user_id}": {
184
+ "/workspaces/api/v1/internal/{workspace_id}/members/{user_id}": {
185
185
  parameters: {
186
186
  query?: never;
187
187
  header?: never;
@@ -193,7 +193,7 @@ export interface paths {
193
193
  *
194
194
  * **Permissions:** `OperandHolder`
195
195
  */
196
- get: operations["workspaces_api_internal_members_retrieve"];
196
+ get: operations["workspaces_api_v1_internal_members_retrieve"];
197
197
  put?: never;
198
198
  post?: never;
199
199
  delete?: never;
@@ -202,7 +202,7 @@ export interface paths {
202
202
  patch?: never;
203
203
  trace?: never;
204
204
  };
205
- "/workspaces/api/internal/users/{user_id}/personal": {
205
+ "/workspaces/api/v1/internal/users/{user_id}/personal": {
206
206
  parameters: {
207
207
  query?: never;
208
208
  header?: never;
@@ -216,14 +216,14 @@ export interface paths {
216
216
  *
217
217
  * **Permissions:** `OperandHolder`
218
218
  */
219
- post: operations["workspaces_api_internal_users_personal_create"];
219
+ post: operations["workspaces_api_v1_internal_users_personal_create"];
220
220
  delete?: never;
221
221
  options?: never;
222
222
  head?: never;
223
223
  patch?: never;
224
224
  trace?: never;
225
225
  };
226
- "/workspaces/api/invitations/accept": {
226
+ "/workspaces/api/v1/invitations/accept": {
227
227
  parameters: {
228
228
  query?: never;
229
229
  header?: never;
@@ -243,7 +243,7 @@ export interface paths {
243
243
  *
244
244
  * **Permissions:** `IsAuthenticated`
245
245
  */
246
- post: operations["workspaces_api_invitations_accept_create"];
246
+ post: operations["workspaces_api_v1_invitations_accept_create"];
247
247
  delete?: never;
248
248
  options?: never;
249
249
  head?: never;
@@ -464,7 +464,7 @@ export interface components {
464
464
  }
465
465
  export type $defs = Record<string, never>;
466
466
  export interface operations {
467
- workspaces_api_retrieve: {
467
+ workspaces_api_v1_retrieve: {
468
468
  parameters: {
469
469
  query?: never;
470
470
  header?: never;
@@ -483,7 +483,7 @@ export interface operations {
483
483
  };
484
484
  };
485
485
  };
486
- workspaces_api_create: {
486
+ workspaces_api_v1_create: {
487
487
  parameters: {
488
488
  query?: never;
489
489
  header?: never;
@@ -508,7 +508,7 @@ export interface operations {
508
508
  };
509
509
  };
510
510
  };
511
- workspaces_api_retrieve_2: {
511
+ workspaces_api_v1_retrieve_2: {
512
512
  parameters: {
513
513
  query?: never;
514
514
  header?: never;
@@ -529,7 +529,7 @@ export interface operations {
529
529
  };
530
530
  };
531
531
  };
532
- workspaces_api_destroy: {
532
+ workspaces_api_v1_destroy: {
533
533
  parameters: {
534
534
  query?: never;
535
535
  header?: never;
@@ -549,7 +549,7 @@ export interface operations {
549
549
  };
550
550
  };
551
551
  };
552
- workspaces_api_partial_update: {
552
+ workspaces_api_v1_partial_update: {
553
553
  parameters: {
554
554
  query?: never;
555
555
  header?: never;
@@ -576,7 +576,7 @@ export interface operations {
576
576
  };
577
577
  };
578
578
  };
579
- workspaces_api_members_list: {
579
+ workspaces_api_v1_members_list: {
580
580
  parameters: {
581
581
  query?: {
582
582
  /** @description Anchor value to paginate from (exclusive) */
@@ -606,7 +606,7 @@ export interface operations {
606
606
  };
607
607
  };
608
608
  };
609
- workspaces_api_members_destroy: {
609
+ workspaces_api_v1_members_destroy: {
610
610
  parameters: {
611
611
  query?: never;
612
612
  header?: never;
@@ -627,7 +627,7 @@ export interface operations {
627
627
  };
628
628
  };
629
629
  };
630
- workspaces_api_members_partial_update: {
630
+ workspaces_api_v1_members_partial_update: {
631
631
  parameters: {
632
632
  query?: never;
633
633
  header?: never;
@@ -655,7 +655,7 @@ export interface operations {
655
655
  };
656
656
  };
657
657
  };
658
- workspaces_api_members_invite_create: {
658
+ workspaces_api_v1_members_invite_create: {
659
659
  parameters: {
660
660
  query?: never;
661
661
  header?: never;
@@ -682,7 +682,7 @@ export interface operations {
682
682
  };
683
683
  };
684
684
  };
685
- workspaces_api_internal_members_retrieve: {
685
+ workspaces_api_v1_internal_members_retrieve: {
686
686
  parameters: {
687
687
  query?: never;
688
688
  header?: never;
@@ -704,7 +704,7 @@ export interface operations {
704
704
  };
705
705
  };
706
706
  };
707
- workspaces_api_internal_users_personal_create: {
707
+ workspaces_api_v1_internal_users_personal_create: {
708
708
  parameters: {
709
709
  query?: never;
710
710
  header?: never;
@@ -733,7 +733,7 @@ export interface operations {
733
733
  };
734
734
  };
735
735
  };
736
- workspaces_api_invitations_accept_create: {
736
+ workspaces_api_v1_invitations_accept_create: {
737
737
  parameters: {
738
738
  query?: never;
739
739
  header?: never;