UNPKG

passbolt-styleguide

Version:

Passbolt styleguide contains common styling assets used by the different sites, plugin, etc.

137 lines (130 loc) 6.6 kB
/** * Passbolt ~ Open source password manager for teams * Copyright (c) Passbolt SA (https://www.passbolt.com) * * Licensed under GNU Affero General Public License version 3 of the or any later version. * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Passbolt SA (https://www.passbolt.com) * @license https://opensource.org/licenses/AGPL-3.0 AGPL License * @link https://www.passbolt.com Passbolt(tm) * @since 5.0.0 */ import React from "react"; import { MemoryRouter, Route } from "react-router-dom"; import AdministrationWorkspace from "./AdministrationWorkspace"; import RbacContextProvider from "../../../shared/context/Rbac/RbacContext"; import DialogContextProvider from "../../contexts/DialogContext"; import ContextualMenuContextProvider from "../../contexts/ContextualMenuContext"; import ManageDialogs from "../Common/Dialog/ManageDialogs/ManageDialogs"; import AdministrationWorkspaceContextProvider, { AdministrationWorkspaceMenuTypes, } from "../../contexts/AdministrationWorkspaceContext"; import MfaContextProvider from "../../contexts/MFAContext"; import DisplayActionFeedbacks from "../Common/ActionFeedback/DisplayActionFeedbacks"; import AnnouncementContextProvider from "../../contexts/AnnouncementContext"; import ActionFeedbackContextProvider from "../../contexts/ActionFeedbackContext"; import TranslationProvider from "../Common/Internationalisation/TranslationProvider"; import NavigationContextProvider from "../../contexts/NavigationContext"; import ManageAnnouncements from "../Announcement/ManageAnnouncements/ManageAnnouncements"; import ManageContextualMenu from "../Common/ContextualMenu/ManageContextualMenu"; import { defaultAdministrationWorkspaceContext } from "../../contexts/AdministrationWorkspaceContext.test.data"; import { defaultAppContext } from "../../contexts/ApiAppContext.test.data"; import MockApiAppContextProvider from "../../test/mock/MockApiAppContextProvider"; import MockFetch from "../../test/mock/MockFetch"; import { mockApiResponse } from "../../../../test/mocks/mockApiResponse"; import { mockResult as userDirectoryMockResult, mockUsers as userDirectoryMockUsers, } from "./DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data"; import AdminUserDirectoryContextProvider from "../../contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext"; import siteSettingsPro from "../../test/fixture/Settings/siteSettings"; const currentAdminUser = userDirectoryMockUsers.find((user) => user.username === "admin@passbolt.com"); const mockFetch = new MockFetch(); mockFetch.addGetFetchRequest(/directorysync\/settings/, async () => mockApiResponse(userDirectoryMockResult)); mockFetch.addGetFetchRequest(/account\/settings/, async () => mockApiResponse([])); mockFetch.addGetFetchRequest(/users\/me/, async () => mockApiResponse(currentAdminUser)); mockFetch.addGetFetchRequest(/users*/, async () => mockApiResponse(userDirectoryMockUsers)); mockFetch.addGetFetchRequest(/settings\.json/, async () => mockApiResponse(siteSettingsPro)); /** * Api served page for AdministrationWorkspace stories */ export default { title: "Workspaces/ApiAdministration", component: AdministrationWorkspace, parameters: { css: "api_main", }, decorators: [ (Story, { args }) => ( <MemoryRouter initialEntries={[args.routerInitialEntry]}> <TranslationProvider loadingPath="/webAccessibleResources/locales/{{lng}}/{{ns}}.json"> <MockApiAppContextProvider> <RbacContextProvider> <MfaContextProvider> <ActionFeedbackContextProvider> <DialogContextProvider> <AnnouncementContextProvider> <ContextualMenuContextProvider> {/* Action Feedback Management */} <DisplayActionFeedbacks /> <NavigationContextProvider> {/* The following routes are handled by the browser extension application. */} <Route path={[ "/app/administration/users-directory", "/app/administration/mfa-policy", "/app/administration/password-policies", "/app/administration/user-passphrase-policies", "/app/administration/healthcheck", ]} > <AdministrationWorkspaceContextProvider value={args.administrationWorkspaceContext}> <AdminUserDirectoryContextProvider> <ManageContextualMenu /> <ManageAnnouncements /> <ManageDialogs /> <div style={{ margin: "-1rem" }}> <Story {...args} /> </div> </AdminUserDirectoryContextProvider> </AdministrationWorkspaceContextProvider> </Route> </NavigationContextProvider> </ContextualMenuContextProvider> </AnnouncementContextProvider> </DialogContextProvider> </ActionFeedbackContextProvider> </MfaContextProvider> </RbacContextProvider> </MockApiAppContextProvider> </TranslationProvider> </MemoryRouter> ), ], }; export const UserDirectoryPage = { args: defaultAppContext({ administrationWorkspaceContext: defaultAdministrationWorkspaceContext({ selectedAdministration: AdministrationWorkspaceMenuTypes.USER_DIRECTORY, }), routerInitialEntry: "/app/administration/users-directory", }), }; export const MfaPolicyPage = { args: { administrationWorkspaceContext: defaultAdministrationWorkspaceContext({ selectedAdministration: AdministrationWorkspaceMenuTypes.MFA_POLICY, }), routerInitialEntry: "/app/administration/mfa-policy", }, }; export const HealthcheckPage = { args: { administrationWorkspaceContext: defaultAdministrationWorkspaceContext({ selectedAdministration: AdministrationWorkspaceMenuTypes.HEALTHCHECK, }), routerInitialEntry: "/app/administration/healthcheck", }, };