@orthacms/workspaces-admin 0.0.0-reserve.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/LICENSE +21 -0
- package/README.md +7 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/lib/api/useAddWorkspaceContent/index.d.ts +15 -0
- package/dist/lib/api/useAddWorkspaceContent/index.d.ts.map +1 -0
- package/dist/lib/api/useAddWorkspaceMember/index.d.ts +14 -0
- package/dist/lib/api/useAddWorkspaceMember/index.d.ts.map +1 -0
- package/dist/lib/api/useContentTypes/index.d.ts +10 -0
- package/dist/lib/api/useContentTypes/index.d.ts.map +1 -0
- package/dist/lib/api/useCreateWorkspace/index.d.ts +20 -0
- package/dist/lib/api/useCreateWorkspace/index.d.ts.map +1 -0
- package/dist/lib/api/useDeleteWorkspace/index.d.ts +13 -0
- package/dist/lib/api/useDeleteWorkspace/index.d.ts.map +1 -0
- package/dist/lib/api/useRemoveWorkspaceContent/index.d.ts +15 -0
- package/dist/lib/api/useRemoveWorkspaceContent/index.d.ts.map +1 -0
- package/dist/lib/api/useRemoveWorkspaceMember/index.d.ts +13 -0
- package/dist/lib/api/useRemoveWorkspaceMember/index.d.ts.map +1 -0
- package/dist/lib/api/useSetWorkspaceStatus/index.d.ts +14 -0
- package/dist/lib/api/useSetWorkspaceStatus/index.d.ts.map +1 -0
- package/dist/lib/api/useSlugAvailability/index.d.ts +10 -0
- package/dist/lib/api/useSlugAvailability/index.d.ts.map +1 -0
- package/dist/lib/api/useUpdateWorkspace/index.d.ts +23 -0
- package/dist/lib/api/useUpdateWorkspace/index.d.ts.map +1 -0
- package/dist/lib/api/useUsersSearch/index.d.ts +17 -0
- package/dist/lib/api/useUsersSearch/index.d.ts.map +1 -0
- package/dist/lib/api/useWorkspaceContentCount/index.d.ts +8 -0
- package/dist/lib/api/useWorkspaceContentCount/index.d.ts.map +1 -0
- package/dist/lib/api/useWorkspaceEntryCount/index.d.ts +8 -0
- package/dist/lib/api/useWorkspaceEntryCount/index.d.ts.map +1 -0
- package/dist/lib/api/useWorkspaces/index.d.ts +30 -0
- package/dist/lib/api/useWorkspaces/index.d.ts.map +1 -0
- package/dist/lib/application/useAddWorkspaceContent/index.d.ts +9 -0
- package/dist/lib/application/useAddWorkspaceContent/index.d.ts.map +1 -0
- package/dist/lib/application/useAddWorkspaceContent/index.js +15 -0
- package/dist/lib/application/useAddWorkspaceMember/index.d.ts +8 -0
- package/dist/lib/application/useAddWorkspaceMember/index.d.ts.map +1 -0
- package/dist/lib/application/useAddWorkspaceMember/index.js +14 -0
- package/dist/lib/application/useContentTypes/index.d.ts +9 -0
- package/dist/lib/application/useContentTypes/index.d.ts.map +1 -0
- package/dist/lib/application/useContentTypes/index.js +16 -0
- package/dist/lib/application/useCreateWorkspace/index.d.ts +20 -0
- package/dist/lib/application/useCreateWorkspace/index.d.ts.map +1 -0
- package/dist/lib/application/useCreateWorkspace/index.js +44 -0
- package/dist/lib/application/useCreateWorkspaceFlow/index.d.ts +23 -0
- package/dist/lib/application/useCreateWorkspaceFlow/index.d.ts.map +1 -0
- package/dist/lib/application/useCreateWorkspaceFlow/index.js +81 -0
- package/dist/lib/application/useDeleteWorkspace/index.d.ts +13 -0
- package/dist/lib/application/useDeleteWorkspace/index.d.ts.map +1 -0
- package/dist/lib/application/useDeleteWorkspace/index.js +23 -0
- package/dist/lib/application/useRemoveWorkspaceContent/index.d.ts +9 -0
- package/dist/lib/application/useRemoveWorkspaceContent/index.d.ts.map +1 -0
- package/dist/lib/application/useRemoveWorkspaceContent/index.js +15 -0
- package/dist/lib/application/useRemoveWorkspaceMember/index.d.ts +8 -0
- package/dist/lib/application/useRemoveWorkspaceMember/index.d.ts.map +1 -0
- package/dist/lib/application/useRemoveWorkspaceMember/index.js +14 -0
- package/dist/lib/application/useSetWorkspaceStatus/index.d.ts +9 -0
- package/dist/lib/application/useSetWorkspaceStatus/index.d.ts.map +1 -0
- package/dist/lib/application/useSetWorkspaceStatus/index.js +15 -0
- package/dist/lib/application/useSlugAvailability/index.d.ts +18 -0
- package/dist/lib/application/useSlugAvailability/index.d.ts.map +1 -0
- package/dist/lib/application/useSlugAvailability/index.js +39 -0
- package/dist/lib/application/useUpdateWorkspace/index.d.ts +9 -0
- package/dist/lib/application/useUpdateWorkspace/index.d.ts.map +1 -0
- package/dist/lib/application/useUpdateWorkspace/index.js +15 -0
- package/dist/lib/application/useUsersSearch/index.d.ts +18 -0
- package/dist/lib/application/useUsersSearch/index.d.ts.map +1 -0
- package/dist/lib/application/useUsersSearch/index.js +24 -0
- package/dist/lib/application/useWorkspaceContentCount/index.d.ts +8 -0
- package/dist/lib/application/useWorkspaceContentCount/index.d.ts.map +1 -0
- package/dist/lib/application/useWorkspaceContentCount/index.js +17 -0
- package/dist/lib/application/useWorkspaceEntryCount/index.d.ts +8 -0
- package/dist/lib/application/useWorkspaceEntryCount/index.d.ts.map +1 -0
- package/dist/lib/application/useWorkspaceEntryCount/index.js +17 -0
- package/dist/lib/application/useWorkspaces/index.d.ts +5 -0
- package/dist/lib/application/useWorkspaces/index.d.ts.map +1 -0
- package/dist/lib/application/useWorkspaces/index.js +11 -0
- package/dist/lib/components/BlockingConfirmDialog/index.d.ts +41 -0
- package/dist/lib/components/BlockingConfirmDialog/index.d.ts.map +1 -0
- package/dist/lib/components/ColorSwatchRow/index.d.ts +15 -0
- package/dist/lib/components/ColorSwatchRow/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/ColorSwatchRow/index.d.ts +15 -0
- package/dist/lib/components/CreateWorkspaceWizard/ColorSwatchRow/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/ModeTiles/index.d.ts +11 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/ModeTiles/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/ResourceSection/index.d.ts +48 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/ResourceSection/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/index.d.ts +23 -0
- package/dist/lib/components/CreateWorkspaceWizard/ContentStep/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/IdentityFields/index.d.ts +17 -0
- package/dist/lib/components/CreateWorkspaceWizard/IdentityFields/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/MemberRow/index.d.ts +14 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/MemberRow/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/MemberTypeahead/index.d.ts +15 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/MemberTypeahead/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/index.d.ts +17 -0
- package/dist/lib/components/CreateWorkspaceWizard/MembersStep/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/Monogram/index.d.ts +17 -0
- package/dist/lib/components/CreateWorkspaceWizard/Monogram/index.d.ts.map +1 -0
- package/dist/lib/components/CreateWorkspaceWizard/SlugField/index.d.ts +23 -0
- package/dist/lib/components/CreateWorkspaceWizard/SlugField/index.d.ts.map +1 -0
- package/dist/lib/components/StatusChip/index.d.ts +9 -0
- package/dist/lib/components/StatusChip/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceAvatar/index.d.ts +20 -0
- package/dist/lib/components/WorkspaceAvatar/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceCard/MemberStack/MemberListPopover/index.d.ts +9 -0
- package/dist/lib/components/WorkspaceCard/MemberStack/MemberListPopover/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceCard/MemberStack/index.d.ts +11 -0
- package/dist/lib/components/WorkspaceCard/MemberStack/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceCard/StatusChip/index.d.ts +9 -0
- package/dist/lib/components/WorkspaceCard/StatusChip/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceCard/index.d.ts +15 -0
- package/dist/lib/components/WorkspaceCard/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceCommands/index.d.ts +8 -0
- package/dist/lib/components/WorkspaceCommands/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceContentSettings/AddContentDialog/index.d.ts +26 -0
- package/dist/lib/components/WorkspaceContentSettings/AddContentDialog/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceContentSettings/GrantedContentGroup/index.d.ts +21 -0
- package/dist/lib/components/WorkspaceContentSettings/GrantedContentGroup/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceContentSettings/GrantedContentRow/index.d.ts +26 -0
- package/dist/lib/components/WorkspaceContentSettings/GrantedContentRow/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceContentSettings/RemoveContentDialog/index.d.ts +25 -0
- package/dist/lib/components/WorkspaceContentSettings/RemoveContentDialog/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceContentSettings/index.d.ts +25 -0
- package/dist/lib/components/WorkspaceContentSettings/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceDangerSettings/DeleteWorkspaceDialog/index.d.ts +22 -0
- package/dist/lib/components/WorkspaceDangerSettings/DeleteWorkspaceDialog/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceDangerSettings/index.d.ts +18 -0
- package/dist/lib/components/WorkspaceDangerSettings/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceGeneralSettings/index.d.ts +18 -0
- package/dist/lib/components/WorkspaceGeneralSettings/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceMembersSettings/MemberDirectorySearch/index.d.ts +18 -0
- package/dist/lib/components/WorkspaceMembersSettings/MemberDirectorySearch/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceMembersSettings/MemberListRow/index.d.ts +17 -0
- package/dist/lib/components/WorkspaceMembersSettings/MemberListRow/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceMembersSettings/index.d.ts +16 -0
- package/dist/lib/components/WorkspaceMembersSettings/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceNav/WorkspaceNavButton/index.d.ts +14 -0
- package/dist/lib/components/WorkspaceNav/WorkspaceNavButton/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceNav/WorkspaceSwitcher/index.d.ts +16 -0
- package/dist/lib/components/WorkspaceNav/WorkspaceSwitcher/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceNav/index.d.ts +14 -0
- package/dist/lib/components/WorkspaceNav/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceSettingsRail/index.d.ts +14 -0
- package/dist/lib/components/WorkspaceSettingsRail/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceSettingsTabs/index.d.ts +14 -0
- package/dist/lib/components/WorkspaceSettingsTabs/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceSettingsTopBar/index.d.ts +8 -0
- package/dist/lib/components/WorkspaceSettingsTopBar/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/NewWorkspaceButton/index.d.ts +7 -0
- package/dist/lib/components/WorkspaceShell/NewWorkspaceButton/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/RailTooltip/index.d.ts +22 -0
- package/dist/lib/components/WorkspaceShell/RailTooltip/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceRail/index.d.ts +17 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceRail/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSidebarButton/index.d.ts +17 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSidebarButton/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSwitcher/WorkspaceSwitcherPopover/index.d.ts +26 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSwitcher/WorkspaceSwitcherPopover/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSwitcher/index.d.ts +17 -0
- package/dist/lib/components/WorkspaceShell/WorkspaceSwitcher/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceShell/index.d.ts +16 -0
- package/dist/lib/components/WorkspaceShell/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceStats/index.d.ts +9 -0
- package/dist/lib/components/WorkspaceStats/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspaceToolbar/index.d.ts +22 -0
- package/dist/lib/components/WorkspaceToolbar/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspacesEmpty/index.d.ts +18 -0
- package/dist/lib/components/WorkspacesEmpty/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspacesHomePanel/index.d.ts +7 -0
- package/dist/lib/components/WorkspacesHomePanel/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspacesNavSection/index.d.ts +9 -0
- package/dist/lib/components/WorkspacesNavSection/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspacesSkeleton/index.d.ts +36 -0
- package/dist/lib/components/WorkspacesSkeleton/index.d.ts.map +1 -0
- package/dist/lib/components/WorkspacesTable/index.d.ts +12 -0
- package/dist/lib/components/WorkspacesTable/index.d.ts.map +1 -0
- package/dist/lib/domain/isActiveWorkspace/index.d.ts +9 -0
- package/dist/lib/domain/isActiveWorkspace/index.d.ts.map +1 -0
- package/dist/lib/domain/isActiveWorkspace/index.js +9 -0
- package/dist/lib/domain/permissions/index.d.ts +7 -0
- package/dist/lib/domain/permissions/index.d.ts.map +1 -0
- package/dist/lib/domain/permissions/index.js +6 -0
- package/dist/lib/domain/resourceSelection/index.d.ts +18 -0
- package/dist/lib/domain/resourceSelection/index.d.ts.map +1 -0
- package/dist/lib/domain/resourceSelection/index.js +49 -0
- package/dist/lib/domain/slug/index.d.ts +25 -0
- package/dist/lib/domain/slug/index.d.ts.map +1 -0
- package/dist/lib/domain/slug/index.js +45 -0
- package/dist/lib/domain/types/wizard/index.d.ts +126 -0
- package/dist/lib/domain/types/wizard/index.d.ts.map +1 -0
- package/dist/lib/domain/types/wizard/index.js +21 -0
- package/dist/lib/domain/types/workspace/index.d.ts +42 -0
- package/dist/lib/domain/types/workspace/index.d.ts.map +1 -0
- package/dist/lib/domain/types/workspace/index.js +1 -0
- package/dist/lib/domain/workspaceLimits/index.d.ts +23 -0
- package/dist/lib/domain/workspaceLimits/index.d.ts.map +1 -0
- package/dist/lib/domain/workspaceLimits/index.js +22 -0
- package/dist/lib/hooks/useBasicsSchema/index.d.ts +14 -0
- package/dist/lib/hooks/useBasicsSchema/index.d.ts.map +1 -0
- package/dist/lib/hooks/useResourceSelection/index.d.ts +21 -0
- package/dist/lib/hooks/useResourceSelection/index.d.ts.map +1 -0
- package/dist/lib/hooks/useSlug/index.d.ts +28 -0
- package/dist/lib/hooks/useSlug/index.d.ts.map +1 -0
- package/dist/lib/hooks/useWizard/index.d.ts +57 -0
- package/dist/lib/hooks/useWizard/index.d.ts.map +1 -0
- package/dist/lib/hooks/useWorkspaceProfileSchema/index.d.ts +13 -0
- package/dist/lib/hooks/useWorkspaceProfileSchema/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/buildCreateWorkspaceBody/index.d.ts +12 -0
- package/dist/lib/infrastructure/buildCreateWorkspaceBody/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/buildCreateWorkspaceBody/index.js +27 -0
- package/dist/lib/infrastructure/httpWorkspaceGateway/index.d.ts +10 -0
- package/dist/lib/infrastructure/httpWorkspaceGateway/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/httpWorkspaceGateway/index.js +149 -0
- package/dist/lib/infrastructure/isConflict/index.d.ts +8 -0
- package/dist/lib/infrastructure/isConflict/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/isConflict/index.js +12 -0
- package/dist/lib/infrastructure/workspaceGateway/index.d.ts +90 -0
- package/dist/lib/infrastructure/workspaceGateway/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/workspaceGateway/index.js +1 -0
- package/dist/lib/infrastructure/workspaceMapper/index.d.ts +28 -0
- package/dist/lib/infrastructure/workspaceMapper/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/workspaceMapper/index.js +36 -0
- package/dist/lib/pages/CreateWorkspacePage/index.d.ts +7 -0
- package/dist/lib/pages/CreateWorkspacePage/index.d.ts.map +1 -0
- package/dist/lib/pages/WorkspaceSettingsPage/index.d.ts +12 -0
- package/dist/lib/pages/WorkspaceSettingsPage/index.d.ts.map +1 -0
- package/dist/lib/pages/WorkspacesPage/index.d.ts +7 -0
- package/dist/lib/pages/WorkspacesPage/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/BlockingConfirmDialog/index.d.ts +41 -0
- package/dist/lib/presentation/components/BlockingConfirmDialog/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/BlockingConfirmDialog/index.js +17 -0
- package/dist/lib/presentation/components/ColorSwatchRow/index.d.ts +22 -0
- package/dist/lib/presentation/components/ColorSwatchRow/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/ColorSwatchRow/index.js +70 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ModeTiles/index.d.ts +11 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ModeTiles/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ModeTiles/index.js +47 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ResourceSection/index.d.ts +48 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ResourceSection/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/ResourceSection/index.js +32 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/index.d.ts +23 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/ContentStep/index.js +128 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/IdentityFields/index.d.ts +17 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/IdentityFields/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/IdentityFields/index.js +70 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberRow/index.d.ts +14 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberRow/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberRow/index.js +25 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberTypeahead/index.d.ts +15 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberTypeahead/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/MemberTypeahead/index.js +112 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/index.d.ts +17 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/MembersStep/index.js +35 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/Monogram/index.d.ts +17 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/Monogram/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/Monogram/index.js +11 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/SlugField/index.d.ts +23 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/SlugField/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/CreateWorkspaceWizard/SlugField/index.js +68 -0
- package/dist/lib/presentation/components/StatusChip/index.d.ts +9 -0
- package/dist/lib/presentation/components/StatusChip/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/StatusChip/index.js +23 -0
- package/dist/lib/presentation/components/WorkspaceAvatar/index.d.ts +20 -0
- package/dist/lib/presentation/components/WorkspaceAvatar/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceAvatar/index.js +10 -0
- package/dist/lib/presentation/components/WorkspaceCommands/index.d.ts +8 -0
- package/dist/lib/presentation/components/WorkspaceCommands/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceCommands/index.js +34 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/AddContentDialog/index.d.ts +26 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/AddContentDialog/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/AddContentDialog/index.js +89 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentGroup/index.d.ts +21 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentGroup/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentGroup/index.js +11 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentRow/index.d.ts +26 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentRow/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/GrantedContentRow/index.js +31 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/RemoveContentDialog/index.d.ts +25 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/RemoveContentDialog/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/RemoveContentDialog/index.js +48 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/index.d.ts +25 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceContentSettings/index.js +173 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/DeleteWorkspaceDialog/index.d.ts +22 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/DeleteWorkspaceDialog/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/DeleteWorkspaceDialog/index.js +52 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/index.d.ts +18 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceDangerSettings/index.js +150 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/WorkspaceIdField/index.d.ts +19 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/WorkspaceIdField/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/WorkspaceIdField/index.js +72 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/index.d.ts +18 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceGeneralSettings/index.js +131 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberDirectorySearch/index.d.ts +18 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberDirectorySearch/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberDirectorySearch/index.js +65 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberListRow/index.d.ts +17 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberListRow/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/MemberListRow/index.js +22 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/index.d.ts +16 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceMembersSettings/index.js +127 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceNavButton/index.d.ts +14 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceNavButton/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceNavButton/index.js +30 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceSwitcher/index.d.ts +16 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceSwitcher/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceNav/WorkspaceSwitcher/index.js +81 -0
- package/dist/lib/presentation/components/WorkspaceNav/index.d.ts +14 -0
- package/dist/lib/presentation/components/WorkspaceNav/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceNav/index.js +51 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTabs/index.d.ts +14 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTabs/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTabs/index.js +66 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTopBar/index.d.ts +8 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTopBar/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceSettingsTopBar/index.js +57 -0
- package/dist/lib/presentation/components/WorkspaceShell/index.d.ts +16 -0
- package/dist/lib/presentation/components/WorkspaceShell/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceShell/index.js +100 -0
- package/dist/lib/presentation/components/WorkspaceStats/index.d.ts +9 -0
- package/dist/lib/presentation/components/WorkspaceStats/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceStats/index.js +48 -0
- package/dist/lib/presentation/components/WorkspaceToolbar/index.d.ts +22 -0
- package/dist/lib/presentation/components/WorkspaceToolbar/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspaceToolbar/index.js +73 -0
- package/dist/lib/presentation/components/WorkspacesEmpty/index.d.ts +18 -0
- package/dist/lib/presentation/components/WorkspacesEmpty/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspacesEmpty/index.js +42 -0
- package/dist/lib/presentation/components/WorkspacesHomePanel/index.d.ts +7 -0
- package/dist/lib/presentation/components/WorkspacesHomePanel/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspacesHomePanel/index.js +50 -0
- package/dist/lib/presentation/components/WorkspacesNavSection/index.d.ts +15 -0
- package/dist/lib/presentation/components/WorkspacesNavSection/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspacesNavSection/index.js +76 -0
- package/dist/lib/presentation/components/WorkspacesSkeleton/index.d.ts +49 -0
- package/dist/lib/presentation/components/WorkspacesSkeleton/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspacesSkeleton/index.js +94 -0
- package/dist/lib/presentation/components/WorkspacesTable/index.d.ts +12 -0
- package/dist/lib/presentation/components/WorkspacesTable/index.d.ts.map +1 -0
- package/dist/lib/presentation/components/WorkspacesTable/index.js +58 -0
- package/dist/lib/presentation/currentWorkspace/index.d.ts +17 -0
- package/dist/lib/presentation/currentWorkspace/index.d.ts.map +1 -0
- package/dist/lib/presentation/currentWorkspace/index.js +44 -0
- package/dist/lib/presentation/hooks/useBasicsSchema/index.d.ts +17 -0
- package/dist/lib/presentation/hooks/useBasicsSchema/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useBasicsSchema/index.js +71 -0
- package/dist/lib/presentation/hooks/useComboboxList/index.d.ts +44 -0
- package/dist/lib/presentation/hooks/useComboboxList/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useComboboxList/index.js +62 -0
- package/dist/lib/presentation/hooks/useRedirectNotice/index.d.ts +24 -0
- package/dist/lib/presentation/hooks/useRedirectNotice/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useRedirectNotice/index.js +37 -0
- package/dist/lib/presentation/hooks/useResourceSelection/index.d.ts +21 -0
- package/dist/lib/presentation/hooks/useResourceSelection/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useResourceSelection/index.js +16 -0
- package/dist/lib/presentation/hooks/useSlug/index.d.ts +28 -0
- package/dist/lib/presentation/hooks/useSlug/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useSlug/index.js +18 -0
- package/dist/lib/presentation/hooks/useWizard/index.d.ts +60 -0
- package/dist/lib/presentation/hooks/useWizard/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useWizard/index.js +93 -0
- package/dist/lib/presentation/hooks/useWorkspaceProfileSchema/index.d.ts +16 -0
- package/dist/lib/presentation/hooks/useWorkspaceProfileSchema/index.d.ts.map +1 -0
- package/dist/lib/presentation/hooks/useWorkspaceProfileSchema/index.js +53 -0
- package/dist/lib/presentation/pages/CreateWorkspacePage/index.d.ts +7 -0
- package/dist/lib/presentation/pages/CreateWorkspacePage/index.d.ts.map +1 -0
- package/dist/lib/presentation/pages/CreateWorkspacePage/index.js +248 -0
- package/dist/lib/presentation/pages/WorkspaceSettingsPage/index.d.ts +12 -0
- package/dist/lib/presentation/pages/WorkspaceSettingsPage/index.d.ts.map +1 -0
- package/dist/lib/presentation/pages/WorkspaceSettingsPage/index.js +69 -0
- package/dist/lib/presentation/pages/WorkspacesPage/index.d.ts +7 -0
- package/dist/lib/presentation/pages/WorkspacesPage/index.d.ts.map +1 -0
- package/dist/lib/presentation/pages/WorkspacesPage/index.js +112 -0
- package/dist/lib/presentation/slots/workspaceSlots/index.d.ts +101 -0
- package/dist/lib/presentation/slots/workspaceSlots/index.d.ts.map +1 -0
- package/dist/lib/presentation/slots/workspaceSlots/index.js +25 -0
- package/dist/lib/presentation/workspacesPlugin/index.d.ts +31 -0
- package/dist/lib/presentation/workspacesPlugin/index.d.ts.map +1 -0
- package/dist/lib/presentation/workspacesPlugin/index.js +151 -0
- package/dist/lib/slots/workspaceSlots/index.d.ts +101 -0
- package/dist/lib/slots/workspaceSlots/index.d.ts.map +1 -0
- package/dist/lib/types/wizard/index.d.ts +119 -0
- package/dist/lib/types/wizard/index.d.ts.map +1 -0
- package/dist/lib/types/workspace/index.d.ts +42 -0
- package/dist/lib/types/workspace/index.d.ts.map +1 -0
- package/dist/lib/utils/buildCreateWorkspaceBody/index.d.ts +12 -0
- package/dist/lib/utils/buildCreateWorkspaceBody/index.d.ts.map +1 -0
- package/dist/lib/utils/currentWorkspace/index.d.ts +17 -0
- package/dist/lib/utils/currentWorkspace/index.d.ts.map +1 -0
- package/dist/lib/utils/isActiveWorkspace/index.d.ts +9 -0
- package/dist/lib/utils/isActiveWorkspace/index.d.ts.map +1 -0
- package/dist/lib/utils/isConflict/index.d.ts +8 -0
- package/dist/lib/utils/isConflict/index.d.ts.map +1 -0
- package/dist/lib/utils/permissions/index.d.ts +7 -0
- package/dist/lib/utils/permissions/index.d.ts.map +1 -0
- package/dist/lib/utils/radioGroupKeydown/index.d.ts +15 -0
- package/dist/lib/utils/radioGroupKeydown/index.d.ts.map +1 -0
- package/dist/lib/utils/resourceSelection/index.d.ts +18 -0
- package/dist/lib/utils/resourceSelection/index.d.ts.map +1 -0
- package/dist/lib/utils/workspacesPlugin/index.d.ts +31 -0
- package/dist/lib/utils/workspacesPlugin/index.d.ts.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createSlot } from '@orthacms/utils-admin';
|
|
2
|
+
/**
|
|
3
|
+
* The "Workspace" section's nav slot — the workspace's utility sections (Media,
|
|
4
|
+
* Insights, Settings), rendered as labeled rows. Any plugin contributes entries
|
|
5
|
+
* via its `slots`; {@link WorkspaceNav} reads it sorted by `order`. (Formerly
|
|
6
|
+
* `WORKSPACE_SIDEBAR_SLOT`.)
|
|
7
|
+
*/
|
|
8
|
+
export const WORKSPACE_NAV_SLOT = createSlot('workspace.nav');
|
|
9
|
+
/**
|
|
10
|
+
* The workspace sidebar's custom-section slot — component-rendered regions
|
|
11
|
+
* above the "Workspace" section. A plugin contributes a
|
|
12
|
+
* {@link WorkspaceSectionItem} via its `slots`; {@link WorkspaceNav} renders
|
|
13
|
+
* them sorted by `order`. The Content Library contributes its content-type list
|
|
14
|
+
* here.
|
|
15
|
+
*/
|
|
16
|
+
export const WORKSPACE_SECTION_SLOT = createSlot('workspace.section');
|
|
17
|
+
/**
|
|
18
|
+
* Workspace route slot — the pages mounted inside the workspace shell. A plugin
|
|
19
|
+
* contributes a {@link WorkspaceRoute} via its `slots`; {@link WorkspaceShell}
|
|
20
|
+
* builds its nested `<Routes>` from them (plus an index redirect to the first
|
|
21
|
+
* route). This is how a feature plugin lives **strictly inside** a workspace: it
|
|
22
|
+
* contributes a route here plus a nav entry or section, and **no** top-level
|
|
23
|
+
* route or sidebar item.
|
|
24
|
+
*/
|
|
25
|
+
export const WORKSPACE_ROUTE_SLOT = createSlot('workspace.routes');
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AdminPlugin } from '@orthacms/bootstrap-admin';
|
|
2
|
+
/**
|
|
3
|
+
* Admin-side workspaces plugin shape. A thin alias of {@link AdminPlugin}, kept
|
|
4
|
+
* named so future config (sub-routes, slots) has a home.
|
|
5
|
+
*/
|
|
6
|
+
export type WorkspacesAdminPlugin = AdminPlugin;
|
|
7
|
+
/**
|
|
8
|
+
* Creates the admin-side workspaces plugin. It owns two things:
|
|
9
|
+
*
|
|
10
|
+
* 1. **The workspaces management area** — the private `/workspaces` list and
|
|
11
|
+
* `/workspaces/new` create wizard, plus the `Layers` toolbar nav entry
|
|
12
|
+
* contributed to the shell's {@link NAVBAR_START_SLOT} at `order: 20`.
|
|
13
|
+
* 2. **The workspace shell** — the `/workspaces/:id/*` layout (left rail +
|
|
14
|
+
* switcher) that opens when a workspace card is clicked. The plugin owns the
|
|
15
|
+
* rail slots; feature plugins (Content/Media/Insights) contribute their rail
|
|
16
|
+
* buttons + routes there. Workspaces itself contributes the last-section
|
|
17
|
+
* **Settings** entry + its `/workspaces/:id/settings` page.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* createAdmin({
|
|
22
|
+
* plugins: [
|
|
23
|
+
* IdentityPlugin(),
|
|
24
|
+
* ShellPlugin(),
|
|
25
|
+
* WorkspacesPlugin(),
|
|
26
|
+
* ],
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function WorkspacesPlugin(): WorkspacesAdminPlugin;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/presentation/workspacesPlugin/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAiD7D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAyHxD"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Suspense, lazy } from 'react';
|
|
3
|
+
import { COMMAND_SLOT, HOME_SECTION_SLOT, SIDEBAR_NAV_SLOT, SIDEBAR_SECTION_SLOT } from '@orthacms/shell-admin';
|
|
4
|
+
import { Layers, Settings } from 'lucide-react';
|
|
5
|
+
import { CreateWorkspacePageSkeleton, WorkspaceSettingsPageSkeleton, WorkspaceShellSkeleton, WorkspacesPageSkeleton } from '../components/WorkspacesSkeleton';
|
|
6
|
+
import { WorkspacesNavSection } from '../components/WorkspacesNavSection';
|
|
7
|
+
import { WorkspaceStats } from '../components/WorkspaceStats';
|
|
8
|
+
import { WorkspacesHomePanel } from '../components/WorkspacesHomePanel';
|
|
9
|
+
import { WorkspaceCommands } from '../components/WorkspaceCommands';
|
|
10
|
+
import { WORKSPACE_ROUTE_SLOT, WORKSPACE_NAV_SLOT } from '../slots/workspaceSlots';
|
|
11
|
+
// Lazy-loaded so each page is code-split into its own chunk, fetched only when
|
|
12
|
+
// a signed-in user first navigates to it.
|
|
13
|
+
const WorkspacesPage = lazy(() => import('../pages/WorkspacesPage').then((module) => ({
|
|
14
|
+
default: module.WorkspacesPage
|
|
15
|
+
})));
|
|
16
|
+
const CreateWorkspacePage = lazy(() => import('../pages/CreateWorkspacePage').then((module) => ({
|
|
17
|
+
default: module.CreateWorkspacePage
|
|
18
|
+
})));
|
|
19
|
+
const WorkspaceShell = lazy(() => import('../components/WorkspaceShell').then((module) => ({
|
|
20
|
+
default: module.WorkspaceShell
|
|
21
|
+
})));
|
|
22
|
+
const WorkspaceSettingsPage = lazy(() => import('../pages/WorkspaceSettingsPage').then((module) => ({
|
|
23
|
+
default: module.WorkspaceSettingsPage
|
|
24
|
+
})));
|
|
25
|
+
/**
|
|
26
|
+
* Creates the admin-side workspaces plugin. It owns two things:
|
|
27
|
+
*
|
|
28
|
+
* 1. **The workspaces management area** — the private `/workspaces` list and
|
|
29
|
+
* `/workspaces/new` create wizard, plus the `Layers` toolbar nav entry
|
|
30
|
+
* contributed to the shell's {@link NAVBAR_START_SLOT} at `order: 20`.
|
|
31
|
+
* 2. **The workspace shell** — the `/workspaces/:id/*` layout (left rail +
|
|
32
|
+
* switcher) that opens when a workspace card is clicked. The plugin owns the
|
|
33
|
+
* rail slots; feature plugins (Content/Media/Insights) contribute their rail
|
|
34
|
+
* buttons + routes there. Workspaces itself contributes the last-section
|
|
35
|
+
* **Settings** entry + its `/workspaces/:id/settings` page.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* createAdmin({
|
|
40
|
+
* plugins: [
|
|
41
|
+
* IdentityPlugin(),
|
|
42
|
+
* ShellPlugin(),
|
|
43
|
+
* WorkspacesPlugin(),
|
|
44
|
+
* ],
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export function WorkspacesPlugin() {
|
|
49
|
+
return {
|
|
50
|
+
name: 'workspaces',
|
|
51
|
+
routes: [
|
|
52
|
+
{
|
|
53
|
+
path: '/workspaces',
|
|
54
|
+
element: (_jsx(Suspense, { fallback: _jsx(WorkspacesPageSkeleton, {}), children: _jsx(WorkspacesPage, {}) }))
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
path: '/workspaces/new',
|
|
58
|
+
element: (_jsx(Suspense, { fallback: _jsx(CreateWorkspacePageSkeleton, {}), children: _jsx(CreateWorkspacePage, {}) }))
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
// The workspace shell. `/workspaces/new` is statically more
|
|
62
|
+
// specific, so React Router ranks it ahead of this dynamic
|
|
63
|
+
// segment regardless of declaration order.
|
|
64
|
+
path: '/workspaces/:id/*',
|
|
65
|
+
element: (_jsx(Suspense, { fallback: _jsx(WorkspaceShellSkeleton, {}), children: _jsx(WorkspaceShell, {}) }))
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
slots: [
|
|
69
|
+
{
|
|
70
|
+
slot: SIDEBAR_NAV_SLOT,
|
|
71
|
+
items: [
|
|
72
|
+
{
|
|
73
|
+
labelId: 'workspaces.nav.label',
|
|
74
|
+
defaultLabel: 'Workspaces',
|
|
75
|
+
to: '/workspaces',
|
|
76
|
+
group: 'directory',
|
|
77
|
+
order: 10,
|
|
78
|
+
icon: Layers,
|
|
79
|
+
iconColor: 'text-nav-violet'
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
// The Workspaces quick-list below the primary nav.
|
|
85
|
+
slot: SIDEBAR_SECTION_SLOT,
|
|
86
|
+
items: [
|
|
87
|
+
{
|
|
88
|
+
id: 'workspaces.quicklist',
|
|
89
|
+
order: 10,
|
|
90
|
+
Component: WorkspacesNavSection
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
// Command palette: jump into any active workspace.
|
|
96
|
+
slot: COMMAND_SLOT,
|
|
97
|
+
items: [
|
|
98
|
+
{
|
|
99
|
+
id: 'workspaces.command',
|
|
100
|
+
order: 10,
|
|
101
|
+
Component: WorkspaceCommands
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
// Home dashboard: the workspace stat tiles + a workspaces panel.
|
|
107
|
+
slot: HOME_SECTION_SLOT,
|
|
108
|
+
items: [
|
|
109
|
+
{
|
|
110
|
+
id: 'workspaces.home.stats',
|
|
111
|
+
region: 'stat',
|
|
112
|
+
order: 10,
|
|
113
|
+
Component: WorkspaceStats
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: 'workspaces.home.panel',
|
|
117
|
+
region: 'panel',
|
|
118
|
+
order: 10,
|
|
119
|
+
Component: WorkspacesHomePanel
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
// Settings is the last entry in the "Workspace" section.
|
|
125
|
+
slot: WORKSPACE_NAV_SLOT,
|
|
126
|
+
items: [
|
|
127
|
+
{
|
|
128
|
+
labelId: 'workspaces.settings.nav',
|
|
129
|
+
defaultLabel: 'Settings',
|
|
130
|
+
to: 'settings',
|
|
131
|
+
order: 100,
|
|
132
|
+
icon: Settings
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
slot: WORKSPACE_ROUTE_SLOT,
|
|
138
|
+
items: [
|
|
139
|
+
{
|
|
140
|
+
// A wildcard so the page owns its own nested section
|
|
141
|
+
// routes (`settings/general`, `/members`, …) behind the
|
|
142
|
+
// left rail — same shape as the content library's
|
|
143
|
+
// `content/*`.
|
|
144
|
+
path: 'settings/*',
|
|
145
|
+
element: (_jsx(Suspense, { fallback: _jsx(WorkspaceSettingsPageSkeleton, {}), children: _jsx(WorkspaceSettingsPage, {}) }))
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
};
|
|
151
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A navigation entry in the workspace sidebar's "Workspace" section, rendered
|
|
4
|
+
* as an icon + label row. Unlike the global {@link SidebarItem}, a workspace
|
|
5
|
+
* nav item's `to` is **relative to the current workspace** (e.g. `'media'`,
|
|
6
|
+
* resolved against `/workspaces/:id`) — a contributing plugin never spells out
|
|
7
|
+
* the workspace id. The owning {@link WorkspaceNav} resolves it.
|
|
8
|
+
*/
|
|
9
|
+
export type WorkspaceNavItem = {
|
|
10
|
+
/** react-intl message id for the label. */
|
|
11
|
+
labelId: string;
|
|
12
|
+
/** Fallback label when no translation is available. */
|
|
13
|
+
defaultLabel: string;
|
|
14
|
+
/**
|
|
15
|
+
* Path relative to the workspace base (`/workspaces/:id`), e.g. `'media'`.
|
|
16
|
+
* No leading slash; it is joined onto the active workspace's base path.
|
|
17
|
+
*/
|
|
18
|
+
to: string;
|
|
19
|
+
/** Sort order; lower appears first. */
|
|
20
|
+
order: number;
|
|
21
|
+
/** Leading icon (e.g. a lucide-react icon). */
|
|
22
|
+
icon: ComponentType<{
|
|
23
|
+
className?: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Optional accent class for the icon (e.g. `text-nav-teal`), applied only
|
|
27
|
+
* while the row is **active** — the rest of the time the icon stays
|
|
28
|
+
* neutral. The `text-nav-*` utilities are tuned for contrast on the dark
|
|
29
|
+
* sidebar. Omit for an always-neutral icon.
|
|
30
|
+
*/
|
|
31
|
+
iconColor?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional permission key required to see this entry. When set, the entry
|
|
34
|
+
* is hidden from users whose role doesn't grant it (the UI mirror of the
|
|
35
|
+
* linked route's server-side gate). Omit for an entry visible to every
|
|
36
|
+
* member (the default — the linked page still gates itself).
|
|
37
|
+
*/
|
|
38
|
+
permission?: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* A route mounted **inside** the workspace shell, rendered in the shell's
|
|
42
|
+
* content area alongside the workspace sidebar. Its `path` is relative to the
|
|
43
|
+
* workspace base (`/workspaces/:id`), e.g. `'content/*'`. Pair each route with
|
|
44
|
+
* either a {@link WorkspaceNavItem} (a "Workspace" section entry) or a
|
|
45
|
+
* {@link WorkspaceSectionItem} (a custom section, e.g. the content-type list).
|
|
46
|
+
*/
|
|
47
|
+
export type WorkspaceRoute = {
|
|
48
|
+
/**
|
|
49
|
+
* Path relative to the workspace base, e.g. `'content/*'`. Use a trailing
|
|
50
|
+
* `/*` when the page mounts its own nested routes.
|
|
51
|
+
*/
|
|
52
|
+
path: string;
|
|
53
|
+
/** Element rendered at that path (wrap lazy pages in `<Suspense>`). */
|
|
54
|
+
element: ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Sort order used to pick the **default** section — landing on the
|
|
57
|
+
* workspace base (`/workspaces/:id`) redirects to the lowest-order route.
|
|
58
|
+
* Lower wins; omit to sort last. (The Content Library uses the lowest so it
|
|
59
|
+
* is the default landing.)
|
|
60
|
+
*/
|
|
61
|
+
order?: number;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* A data-driven section in the workspace sidebar (e.g. the "Content" list of
|
|
65
|
+
* the workspace's content types). Unlike the declarative {@link WorkspaceNavItem},
|
|
66
|
+
* a section is an arbitrary component the contributing plugin renders itself —
|
|
67
|
+
* so it can be backed by a query. Rendered above the "Workspace" section.
|
|
68
|
+
*/
|
|
69
|
+
export type WorkspaceSectionItem = {
|
|
70
|
+
/** Stable id (also the React key). */
|
|
71
|
+
id: string;
|
|
72
|
+
/** Sort order; lower appears first. */
|
|
73
|
+
order: number;
|
|
74
|
+
/** The section to render. Receives no props — it reads what it needs. */
|
|
75
|
+
Component: ComponentType;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* The "Workspace" section's nav slot — the workspace's utility sections (Media,
|
|
79
|
+
* Insights, Settings), rendered as labeled rows. Any plugin contributes entries
|
|
80
|
+
* via its `slots`; {@link WorkspaceNav} reads it sorted by `order`. (Formerly
|
|
81
|
+
* `WORKSPACE_SIDEBAR_SLOT`.)
|
|
82
|
+
*/
|
|
83
|
+
export declare const WORKSPACE_NAV_SLOT: import("@ortha-cms/utils-admin").Slot<WorkspaceNavItem>;
|
|
84
|
+
/**
|
|
85
|
+
* The workspace sidebar's custom-section slot — component-rendered regions
|
|
86
|
+
* above the "Workspace" section. A plugin contributes a
|
|
87
|
+
* {@link WorkspaceSectionItem} via its `slots`; {@link WorkspaceNav} renders
|
|
88
|
+
* them sorted by `order`. The Content Library contributes its content-type list
|
|
89
|
+
* here.
|
|
90
|
+
*/
|
|
91
|
+
export declare const WORKSPACE_SECTION_SLOT: import("@ortha-cms/utils-admin").Slot<WorkspaceSectionItem>;
|
|
92
|
+
/**
|
|
93
|
+
* Workspace route slot — the pages mounted inside the workspace shell. A plugin
|
|
94
|
+
* contributes a {@link WorkspaceRoute} via its `slots`; {@link WorkspaceShell}
|
|
95
|
+
* builds its nested `<Routes>` from them (plus an index redirect to the first
|
|
96
|
+
* route). This is how a feature plugin lives **strictly inside** a workspace: it
|
|
97
|
+
* contributes a route here plus a nav entry or section, and **no** top-level
|
|
98
|
+
* route or sidebar item.
|
|
99
|
+
*/
|
|
100
|
+
export declare const WORKSPACE_ROUTE_SLOT: import("@ortha-cms/utils-admin").Slot<WorkspaceRoute>;
|
|
101
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/slots/workspaceSlots/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,EAAE,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,yDAAgD,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,6DAElC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,uDACiB,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { AvatarColor } from '@ortha-cms/design-system';
|
|
2
|
+
/** Live state of the slug availability check. */
|
|
3
|
+
export declare enum SlugStatus {
|
|
4
|
+
/** No slug entered yet. */
|
|
5
|
+
Empty = "empty",
|
|
6
|
+
/** Breaks the `^[a-z0-9-]+$` pattern. */
|
|
7
|
+
Invalid = "invalid",
|
|
8
|
+
/** Debouncing or an availability request is in flight. */
|
|
9
|
+
Checking = "checking",
|
|
10
|
+
/** Free to use. */
|
|
11
|
+
Available = "available",
|
|
12
|
+
/** Already taken by another workspace. */
|
|
13
|
+
Taken = "taken"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A person being granted access in the wizard. `invited` members were typed in
|
|
17
|
+
* as an email that isn't in the directory yet — they have no `id` until the
|
|
18
|
+
* invite is sent server-side. Membership is a pure link; a member's permissions
|
|
19
|
+
* come from their single global role, not from the workspace.
|
|
20
|
+
*/
|
|
21
|
+
export type MemberDraft = {
|
|
22
|
+
/** Directory id, or the email for an invited member without an account. */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Display name (the email for invited members). */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Contact email. */
|
|
27
|
+
email: string;
|
|
28
|
+
/** Whether this is an invite-by-email rather than an existing user. */
|
|
29
|
+
invited?: boolean;
|
|
30
|
+
};
|
|
31
|
+
/** A user returned by the directory search. */
|
|
32
|
+
export type DirectoryUser = {
|
|
33
|
+
/** Stable id. */
|
|
34
|
+
id: string;
|
|
35
|
+
/** Full display name. */
|
|
36
|
+
name: string;
|
|
37
|
+
/** Email address. */
|
|
38
|
+
email: string;
|
|
39
|
+
};
|
|
40
|
+
/** Kind of a content type — drives the collections/pages split. */
|
|
41
|
+
export type ContentTypeKind = 'collection' | 'single';
|
|
42
|
+
/** A content type the workspace can be granted access to. */
|
|
43
|
+
export type ContentType = {
|
|
44
|
+
/** Stable machine name. */
|
|
45
|
+
name: string;
|
|
46
|
+
/** Whether it is a multi-entry collection or a standalone page. */
|
|
47
|
+
kind: ContentTypeKind;
|
|
48
|
+
/** Human label; falls back to `name`. */
|
|
49
|
+
label?: string;
|
|
50
|
+
/** Short description shown under the label. */
|
|
51
|
+
description?: string;
|
|
52
|
+
/** Route path — pages only; searchable alongside the name. */
|
|
53
|
+
path?: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Generic selection model reused for collections and pages. `specific` lists
|
|
57
|
+
* explicit ids; `all` grants everything (including future items) and tracks a
|
|
58
|
+
* blacklist — constant payload regardless of how many items exist.
|
|
59
|
+
*/
|
|
60
|
+
export type ResourceSelection = {
|
|
61
|
+
mode: 'specific';
|
|
62
|
+
ids: string[];
|
|
63
|
+
} | {
|
|
64
|
+
mode: 'all';
|
|
65
|
+
excludedIds: string[];
|
|
66
|
+
};
|
|
67
|
+
/** Page-level content decision: full access vs. a specific selection. */
|
|
68
|
+
export type ContentMode = 'all' | 'specific';
|
|
69
|
+
/** The basics (step 1) form values. */
|
|
70
|
+
export type WizardData = {
|
|
71
|
+
/** Workspace display name. */
|
|
72
|
+
name: string;
|
|
73
|
+
/** URL slug — auto-derived from the name until the user edits it. */
|
|
74
|
+
slug: string;
|
|
75
|
+
/** Whether the user has manually edited the slug. */
|
|
76
|
+
slugEdited: boolean;
|
|
77
|
+
/** Optional long description. */
|
|
78
|
+
description: string;
|
|
79
|
+
/** Accent color for the workspace monogram. */
|
|
80
|
+
color: AvatarColor;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* A full snapshot of every wizard step — the input to
|
|
84
|
+
* {@link buildCreateWorkspaceBody}. The page can pass an overridden snapshot
|
|
85
|
+
* (e.g. empty content for "Skip & create") without mutating wizard state.
|
|
86
|
+
*/
|
|
87
|
+
export type WizardSnapshot = {
|
|
88
|
+
/** Step 1 basics. */
|
|
89
|
+
data: WizardData;
|
|
90
|
+
/** Added members (the owner is implied by the session, not listed here). */
|
|
91
|
+
members: MemberDraft[];
|
|
92
|
+
/** Page-level content decision. */
|
|
93
|
+
contentMode: ContentMode;
|
|
94
|
+
/** Collection selection (used only when `contentMode === 'specific'`). */
|
|
95
|
+
collections: ResourceSelection;
|
|
96
|
+
/** Page selection (used only when `contentMode === 'specific'`). */
|
|
97
|
+
pages: ResourceSelection;
|
|
98
|
+
};
|
|
99
|
+
/** The request body POSTed to `/api/workspaces`. */
|
|
100
|
+
export type CreateWorkspaceBody = {
|
|
101
|
+
name: string;
|
|
102
|
+
slug: string;
|
|
103
|
+
description: string;
|
|
104
|
+
color: AvatarColor;
|
|
105
|
+
members: {
|
|
106
|
+
id: string;
|
|
107
|
+
name: string;
|
|
108
|
+
email: string;
|
|
109
|
+
invited: boolean;
|
|
110
|
+
}[];
|
|
111
|
+
content: {
|
|
112
|
+
mode: 'all';
|
|
113
|
+
} | {
|
|
114
|
+
mode: 'specific';
|
|
115
|
+
collections: ResourceSelection;
|
|
116
|
+
pages: ResourceSelection;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/wizard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,iDAAiD;AACjD,oBAAY,UAAU;IAClB,2BAA2B;IAC3B,KAAK,UAAU;IACf,yCAAyC;IACzC,OAAO,YAAY;IACnB,0DAA0D;IAC1D,QAAQ,aAAa;IACrB,mBAAmB;IACnB,SAAS,cAAc;IACvB,0CAA0C;IAC1C,KAAK,UAAU;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG;IACxB,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtD,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG;IACtB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,eAAe,CAAC;IACtB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE7C,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAE7C,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG;IACrB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,KAAK,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,qBAAqB;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,0EAA0E;IAC1E,WAAW,EAAE,iBAAiB,CAAC;IAC/B,oEAAoE;IACpE,KAAK,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;IACJ,OAAO,EACD;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GACf;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;CACxF,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AvatarColor } from '@ortha-cms/design-system';
|
|
2
|
+
/** Lifecycle status of a workspace. */
|
|
3
|
+
export type WorkspaceStatus = 'Active' | 'Archived';
|
|
4
|
+
/** A person who belongs to a workspace. */
|
|
5
|
+
export type WorkspaceMember = {
|
|
6
|
+
/** Stable member id. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Display name. */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Two-letter initials shown in the avatar. */
|
|
11
|
+
initials: string;
|
|
12
|
+
/** Contact email. */
|
|
13
|
+
email: string;
|
|
14
|
+
/** Accent color tinting the member's avatar. */
|
|
15
|
+
color: AvatarColor;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A workspace: a self-contained grouping of content, members, and plugins.
|
|
19
|
+
* The member count is never stored — read it from `members.length`.
|
|
20
|
+
*/
|
|
21
|
+
export type Workspace = {
|
|
22
|
+
/** Stable workspace id. */
|
|
23
|
+
id: string;
|
|
24
|
+
/** URL-safe identifier, unique across the system. */
|
|
25
|
+
slug: string;
|
|
26
|
+
/** Display name. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Short summary of what the workspace holds. */
|
|
29
|
+
description: string;
|
|
30
|
+
/** Accent color tinting the workspace avatar. */
|
|
31
|
+
color: AvatarColor;
|
|
32
|
+
/** Lifecycle status. */
|
|
33
|
+
status: WorkspaceStatus;
|
|
34
|
+
/** Everyone who belongs to the workspace. */
|
|
35
|
+
members: WorkspaceMember[];
|
|
36
|
+
/**
|
|
37
|
+
* Slugs of the content types granted to this workspace at creation. Feature
|
|
38
|
+
* plugins (e.g. the Content Library) scope what they show to these.
|
|
39
|
+
*/
|
|
40
|
+
content: string[];
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,wBAAwB;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,6CAA6C;IAC7C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CreateWorkspaceBody, WizardSnapshot } from '../../types/wizard';
|
|
2
|
+
/**
|
|
3
|
+
* Maps a {@link WizardSnapshot} to the `/api/workspaces` request body. Content
|
|
4
|
+
* collapses to `{ mode: 'all' }` when the page-level decision is "All content";
|
|
5
|
+
* otherwise the two resource selections ride along under `mode: 'specific'`.
|
|
6
|
+
*
|
|
7
|
+
* The "Skip & create" path passes a snapshot with empty content rather than
|
|
8
|
+
* mutating wizard state, so a failed submit leaves the user's picks intact for
|
|
9
|
+
* retry.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildCreateWorkspaceBody(snapshot: WizardSnapshot): CreateWorkspaceBody;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/buildCreateWorkspaceBody/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,cAAc,GACzB,mBAAmB,CAmBrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { Workspace } from '../../types/workspace';
|
|
3
|
+
type CurrentWorkspaceProviderProps = {
|
|
4
|
+
/** The resolved workspace to expose to the subtree. */
|
|
5
|
+
workspace: Workspace;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
/** Provides the open workspace to everything rendered inside the shell. */
|
|
9
|
+
export declare function CurrentWorkspaceProvider({ workspace, children }: CurrentWorkspaceProviderProps): import("react").JSX.Element;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the workspace currently open in the shell. Throws when called outside
|
|
12
|
+
* a {@link WorkspaceShell} — a workspace page is always mounted inside one, so a
|
|
13
|
+
* missing provider is a wiring bug, not a runtime state to handle.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useCurrentWorkspace(): Workspace;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/currentWorkspace/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAWvD,KAAK,6BAA6B,GAAG;IACjC,uDAAuD;IACvD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,EACrC,SAAS,EACT,QAAQ,EACX,EAAE,6BAA6B,+BAyB/B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAQ/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Workspace } from '../../types/workspace';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a workspace is currently active (as opposed to archived). The single
|
|
4
|
+
* definition of the active-status check, so the home tiles, the home panel, and
|
|
5
|
+
* the table all agree on what "active" means instead of each re-testing the
|
|
6
|
+
* `'Active'` string literal.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isActiveWorkspace(workspace: Pick<Workspace, 'status'>): boolean;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/isActiveWorkspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,OAAO,CAE/E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether an error is the server's `409 Conflict` — the shared signal that a
|
|
3
|
+
* block-before-you-act guard (delete a non-empty workspace, revoke a non-empty
|
|
4
|
+
* content type) rejected the mutation. Centralized so the status literal and the
|
|
5
|
+
* `ApiError` narrowing live in one place across the settings dialogs.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isConflict(error: unknown): boolean;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/isConflict/index.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission that gates creating a workspace. Mirrors the server's RBAC matrix
|
|
3
|
+
* (`@RequirePermissions('workspaces:create')`) and the list-page create button;
|
|
4
|
+
* shared so the sidebar's create affordances can't drift from that string.
|
|
5
|
+
*/
|
|
6
|
+
export declare const WORKSPACES_CREATE = "workspaces:create";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/permissions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { KeyboardEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Keyboard handler implementing the ARIA radiogroup pattern for a row or column
|
|
4
|
+
* of `role="radio"` `<button>`s (the shared swatch/segmented-control shape used
|
|
5
|
+
* by the color picker and status filter). Arrow keys move the selection,
|
|
6
|
+
* wrapping at the ends; Home/End jump to the first/last option; selection
|
|
7
|
+
* follows focus. Pair it with a roving tabindex on the buttons (only the
|
|
8
|
+
* selected radio is `tabIndex={0}`) so Tab enters the group once and the arrows
|
|
9
|
+
* do the rest.
|
|
10
|
+
*
|
|
11
|
+
* The buttons must be rendered in `options` order so the rendered
|
|
12
|
+
* `[role="radio"]` nodes line up with the option indices.
|
|
13
|
+
*/
|
|
14
|
+
export declare function radioGroupKeydown<T extends string>(event: KeyboardEvent<HTMLElement>, options: readonly T[], current: T, onChange: (value: T) => void): void;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/radioGroupKeydown/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY3C;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAC9C,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EACjC,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAC7B,IAAI,CAwCN"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ResourceSelection } from '../../types/wizard';
|
|
2
|
+
/** An empty `specific` selection — the neutral starting point. */
|
|
3
|
+
export declare const EMPTY_SELECTION: ResourceSelection;
|
|
4
|
+
/** Whether `id` is currently selected, in either mode. */
|
|
5
|
+
export declare function isSelected(selection: ResourceSelection, id: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Toggles one id. In `specific` mode this adds/removes it from the include
|
|
8
|
+
* list; in `all` mode it adds/removes it from the exclude list (so unchecking
|
|
9
|
+
* a row under "all" carves out an exception without leaving the mode).
|
|
10
|
+
*/
|
|
11
|
+
export declare function toggle(selection: ResourceSelection, id: string): ResourceSelection;
|
|
12
|
+
/** Switches the whole resource between "all" and an empty "specific" list. */
|
|
13
|
+
export declare function setAll(all: boolean): ResourceSelection;
|
|
14
|
+
/** Count of selected items given the total number available. */
|
|
15
|
+
export declare function count(selection: ResourceSelection, total: number): number;
|
|
16
|
+
/** The concrete set of selected ids, resolved against the full id list. */
|
|
17
|
+
export declare function deriveSelectedIds(selection: ResourceSelection, allIds: readonly string[]): string[];
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/resourceSelection/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,kEAAkE;AAClE,eAAO,MAAM,eAAe,EAAE,iBAAiD,CAAC;AAEhF,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAI5E;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAClB,SAAS,EAAE,iBAAiB,EAC5B,EAAE,EAAE,MAAM,GACX,iBAAiB,CAiBnB;AAED,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAEtD;AAED,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,EAAE,CAIV"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AdminPlugin } from '@ortha-cms/bootstrap-admin';
|
|
2
|
+
/**
|
|
3
|
+
* Admin-side workspaces plugin shape. A thin alias of {@link AdminPlugin}, kept
|
|
4
|
+
* named so future config (sub-routes, slots) has a home.
|
|
5
|
+
*/
|
|
6
|
+
export type WorkspacesAdminPlugin = AdminPlugin;
|
|
7
|
+
/**
|
|
8
|
+
* Creates the admin-side workspaces plugin. It owns two things:
|
|
9
|
+
*
|
|
10
|
+
* 1. **The workspaces management area** — the private `/workspaces` list and
|
|
11
|
+
* `/workspaces/new` create wizard, plus the `Layers` toolbar nav entry
|
|
12
|
+
* contributed to the shell's {@link NAVBAR_START_SLOT} at `order: 20`.
|
|
13
|
+
* 2. **The workspace shell** — the `/workspaces/:id/*` layout (left rail +
|
|
14
|
+
* switcher) that opens when a workspace card is clicked. The plugin owns the
|
|
15
|
+
* rail slots; feature plugins (Content/Media/Insights) contribute their rail
|
|
16
|
+
* buttons + routes there. Workspaces itself contributes the last-section
|
|
17
|
+
* **Settings** entry + its `/workspaces/:id/settings` page.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* createAdmin({
|
|
22
|
+
* plugins: [
|
|
23
|
+
* IdentityPlugin(),
|
|
24
|
+
* ShellPlugin(),
|
|
25
|
+
* WorkspacesPlugin(),
|
|
26
|
+
* ],
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function WorkspacesPlugin(): WorkspacesAdminPlugin;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/workspacesPlugin/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAgD9D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAuHxD"}
|