diff --git a/packages/plugins/users-permissions/admin/src/components/BoundRoute/index.js b/packages/plugins/users-permissions/admin/src/components/BoundRoute/index.js index deb551637b..ad1ff62152 100644 --- a/packages/plugins/users-permissions/admin/src/components/BoundRoute/index.js +++ b/packages/plugins/users-permissions/admin/src/components/BoundRoute/index.js @@ -1,13 +1,19 @@ import React from 'react'; +import styled from 'styled-components'; import { Stack } from '@strapi/design-system/Stack'; import { Box } from '@strapi/design-system/Box'; -import { H3, Text } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import map from 'lodash/map'; import tail from 'lodash/tail'; import { useIntl } from 'react-intl'; import PropTypes from 'prop-types'; import getMethodColor from './getMethodColor'; +const MethodBox = styled(Box)` + margin: -1px; + border-radius: ${({ theme }) => theme.spaces[1]} 0 0 ${({ theme }) => theme.spaces[1]}; +`; + function BoundRoute({ route }) { const { formatMessage } = useIntl(); @@ -18,41 +24,31 @@ function BoundRoute({ route }) { return ( -

+ {formatMessage({ id: 'users-permissions.BoundRoute.title', defaultMessage: 'Bound route to', })}   {controller} - + .{action} - -

- - - {method} - - + + + + + + {method} + + + {map(formattedRoute, value => ( - + /{value} - + ))} - +
); } diff --git a/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js b/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js index c9bf9fa49e..115ae5887a 100644 --- a/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js +++ b/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import { Box } from '@strapi/design-system/Box'; import { Checkbox } from '@strapi/design-system/Checkbox'; import { Flex } from '@strapi/design-system/Flex'; -import { TableLabel } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import { Grid, GridItem } from '@strapi/design-system/Grid'; import CogIcon from '@strapi/icons/Cog'; import { useIntl } from 'react-intl'; @@ -61,7 +61,9 @@ const SubCategory = ({ subCategory }) => { - {subCategory.label} + + {subCategory.label} + diff --git a/packages/plugins/users-permissions/admin/src/components/Policies/index.js b/packages/plugins/users-permissions/admin/src/components/Policies/index.js index 8b733aad5f..11b3ad6e05 100644 --- a/packages/plugins/users-permissions/admin/src/components/Policies/index.js +++ b/packages/plugins/users-permissions/admin/src/components/Policies/index.js @@ -1,6 +1,6 @@ import React from 'react'; import { useIntl } from 'react-intl'; -import { H3, Text } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import { Stack } from '@strapi/design-system/Stack'; import { GridItem } from '@strapi/design-system/Grid'; import { get, isEmpty, takeRight, toLower, without } from 'lodash'; @@ -35,19 +35,19 @@ const Policies = () => { ) : ( -

+ {formatMessage({ id: 'users-permissions.Policies.header.title', defaultMessage: 'Advanced settings', })} -

- + + {formatMessage({ id: 'users-permissions.Policies.header.hint', defaultMessage: "Select the application's actions or the plugin's actions and click on the cog icon to display the bound route", })} - +
)} diff --git a/packages/plugins/users-permissions/admin/src/components/UsersPermissions/index.js b/packages/plugins/users-permissions/admin/src/components/UsersPermissions/index.js index 720bb3686d..0ddd38c928 100644 --- a/packages/plugins/users-permissions/admin/src/components/UsersPermissions/index.js +++ b/packages/plugins/users-permissions/admin/src/components/UsersPermissions/index.js @@ -1,6 +1,6 @@ import React, { memo, useReducer, useCallback, forwardRef, useImperativeHandle } from 'react'; import PropTypes from 'prop-types'; -import { H3, Text } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import { Stack } from '@strapi/design-system/Stack'; import { Grid, GridItem } from '@strapi/design-system/Grid'; import { useIntl } from 'react-intl'; @@ -67,18 +67,18 @@ const UsersPermissions = forwardRef(({ permissions, routes }, ref) => { -

+ {formatMessage({ id: getTrad('Plugins.header.title'), defaultMessage: 'Permissions', })} -

- + + {formatMessage({ id: getTrad('Plugins.header.description'), defaultMessage: 'Only actions bound by a route are listed below.', })} - +
diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/CreatePage/index.js b/packages/plugins/users-permissions/admin/src/pages/Roles/CreatePage/index.js index 4e4dd41928..e3e50511e4 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Roles/CreatePage/index.js +++ b/packages/plugins/users-permissions/admin/src/pages/Roles/CreatePage/index.js @@ -7,7 +7,7 @@ import { Stack } from '@strapi/design-system/Stack'; import { Box } from '@strapi/design-system/Box'; import { TextInput } from '@strapi/design-system/TextInput'; import { Textarea } from '@strapi/design-system/Textarea'; -import { H3 } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import Check from '@strapi/icons/Check'; import { GridItem, Grid } from '@strapi/design-system/Grid'; import { Formik } from 'formik'; @@ -113,12 +113,12 @@ const EditPage = () => { paddingRight={7} > -

+ {formatMessage({ id: getTrad('EditPage.form.roles'), defaultMessage: 'Role details', })} -

+ { } .c17 { + color: #32324d; font-weight: 500; font-size: 1rem; line-height: 1.25; - color: #32324d; } .c37 { - font-weight: 400; + color: #666687; font-size: 0.875rem; line-height: 1.43; - color: #666687; } .c32 { @@ -745,7 +744,7 @@ describe('Admin | containers | RoleCreatePage', () => { border: 1px solid #4945ff; } - .c39:hover:not([aria-disabled='true']) .sc-joeujd { + .c39:hover:not([aria-disabled='true']) .sc-eiWPNw { color: #271fe0; } diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js index 47afcb674b..f7d9aaafe7 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js +++ b/packages/plugins/users-permissions/admin/src/pages/Roles/EditPage/index.js @@ -6,7 +6,7 @@ import { Stack } from '@strapi/design-system/Stack'; import { Box } from '@strapi/design-system/Box'; import { TextInput } from '@strapi/design-system/TextInput'; import { Textarea } from '@strapi/design-system/Textarea'; -import { H3 } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import ArrowLeft from '@strapi/icons/ArrowLeft'; import Check from '@strapi/icons/Check'; import { Link } from '@strapi/design-system/Link'; @@ -126,12 +126,12 @@ const EditPage = () => { paddingRight={7} > -

+ {formatMessage({ id: getTrad('EditPage.form.roles'), defaultMessage: 'Role details', })} -

+ { } .c22 { + color: #32324d; font-weight: 500; font-size: 1rem; line-height: 1.25; - color: #32324d; } .c42 { - font-weight: 400; + color: #666687; font-size: 0.875rem; line-height: 1.43; - color: #666687; } .c6 { @@ -817,7 +816,7 @@ describe('Admin | containers | RoleEditPage', () => { border: 1px solid #4945ff; } - .c44:hover:not([aria-disabled='true']) .sc-iAjLmB { + .c44:hover:not([aria-disabled='true']) .sc-heejUR { color: #271fe0; } diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/components/TableBody.js b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/components/TableBody.js index c4df9a6904..f4a4861b7f 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/components/TableBody.js +++ b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/components/TableBody.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { IconButton } from '@strapi/design-system/IconButton'; -import { Text } from '@strapi/design-system/Text'; +import { Typography } from '@strapi/design-system/Typography'; import { Flex } from '@strapi/design-system/Flex'; import { Tbody, Tr, Td } from '@strapi/design-system/Table'; import Pencil from '@strapi/icons/Pencil'; @@ -34,18 +34,18 @@ const TableBody = ({ sortedRoles, canDelete, permissions, setRoleToDelete, onDel {sortedRoles?.map(role => ( handleClickEdit(role.id) })}> - {role.name} + {role.name} - {role.description} + {role.description} - + {`${role.nb_users} ${formatMessage({ id: getTrad('Roles.users'), defaultMessage: 'users', }).toLowerCase()}`} - + diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/index.js b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/index.js index 09158d59e7..b3ae68c5e8 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/index.js +++ b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/index.js @@ -1,19 +1,11 @@ import React, { useMemo, useState } from 'react'; -import { - Button, - HeaderLayout, - Layout, - Main, - Table, - Tr, - Thead, - Th, - TableLabel, - useNotifyAT, - ContentLayout, - ActionLayout, - VisuallyHidden, -} from '@strapi/design-system'; +import { Button } from '@strapi/design-system/Button'; +import { HeaderLayout, Layout, ContentLayout, ActionLayout } from '@strapi/design-system/Layout'; +import { Main } from '@strapi/design-system/Main'; +import { Table, Tr, Thead, Th } from '@strapi/design-system/Table'; +import { VisuallyHidden } from '@strapi/design-system/VisuallyHidden'; +import { Typography } from '@strapi/design-system/Typography'; +import { useNotifyAT } from '@strapi/design-system/LiveRegions'; import Plus from '@strapi/icons/Plus'; import { useTracking, @@ -166,25 +158,25 @@ const RoleListPage = () => { - + {formatMessage({ id: getTrad('Roles.name'), defaultMessage: 'Name' })} - + - + {formatMessage({ id: getTrad('Roles.description'), defaultMessage: 'Description', })} - + - + {formatMessage({ id: getTrad('Roles.users'), defaultMessage: 'Users', })} - + diff --git a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/tests/index.test.js b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/tests/index.test.js index 10fa7cc295..94a6c4ae90 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/tests/index.test.js +++ b/packages/plugins/users-permissions/admin/src/pages/Roles/ListPage/tests/index.test.js @@ -58,13 +58,6 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { } = render(App); expect(firstChild).toMatchInlineSnapshot(` - .c9 { - color: #32324d; - font-weight: 600; - font-size: 2rem; - line-height: 1.25; - } - .c14 { font-weight: 600; color: #32324d; @@ -72,105 +65,11 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { line-height: 1.43; } - .c15 { - color: #666687; - font-size: 1rem; - line-height: 1.5; - } - - .c2 { - padding-bottom: 56px; - } - - .c5 { - background: #f6f6f9; - padding-top: 56px; - padding-right: 56px; - padding-bottom: 56px; - padding-left: 56px; - } - - .c12 { + .c11 { padding-right: 8px; } - .c16 { - padding-right: 56px; - padding-left: 56px; - } - - .c17 { - padding-bottom: 16px; - } - - .c6 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - .c7 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - .c18 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-align-items: flex-start; - -webkit-box-align: flex-start; - -ms-flex-align: flex-start; - align-items: flex-start; - } - - .c19 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - } - - .c10 { + .c8 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -184,21 +83,21 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { outline: none; } - .c10 svg { + .c8 svg { height: 12px; width: 12px; } - .c10 svg > g, - .c10 svg path { + .c8 svg > g, + .c8 svg path { fill: #ffffff; } - .c10[aria-disabled='true'] { + .c8[aria-disabled='true'] { pointer-events: none; } - .c10:after { + .c8:after { -webkit-transition-property: all; transition-property: all; -webkit-transition-duration: 0.2s; @@ -213,11 +112,11 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { border: 2px solid transparent; } - .c10:focus-visible { + .c8:focus-visible { outline: none; } - .c10:focus-visible:after { + .c8:focus-visible:after { border-radius: 8px; content: ''; position: absolute; @@ -228,11 +127,11 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { border: 2px solid #4945ff; } - .c13 { + .c12 { height: 100%; } - .c11 { + .c9 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -244,7 +143,7 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { background: #4945ff; } - .c11 .c0 { + .c9 .c10 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -255,65 +154,48 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { align-items: center; } - .c11 .c8 { + .c9 .c13 { color: #ffffff; } - .c11[aria-disabled='true'] { + .c9[aria-disabled='true'] { border: 1px solid #dcdce4; background: #eaeaef; } - .c11[aria-disabled='true'] .c8 { + .c9[aria-disabled='true'] .c13 { color: #666687; } - .c11[aria-disabled='true'] svg > g, - .c11[aria-disabled='true'] svg path { + .c9[aria-disabled='true'] svg > g, + .c9[aria-disabled='true'] svg path { fill: #666687; } - .c11[aria-disabled='true']:active { + .c9[aria-disabled='true']:active { border: 1px solid #dcdce4; background: #eaeaef; } - .c11[aria-disabled='true']:active .c8 { + .c9[aria-disabled='true']:active .c13 { color: #666687; } - .c11[aria-disabled='true']:active svg > g, - .c11[aria-disabled='true']:active svg path { + .c9[aria-disabled='true']:active svg > g, + .c9[aria-disabled='true']:active svg path { fill: #666687; } - .c11:hover { + .c9:hover { border: 1px solid #7b79ff; background: #7b79ff; } - .c11:active { + .c9:active { border: 1px solid #4945ff; background: #4945ff; } - .c1 { - display: grid; - grid-template-columns: 1fr; - } - - .c3 { - overflow-x: hidden; - } - - .c20 > * + * { - margin-left: 8px; - } - - .c4 { - outline: none; - } - .c32 { color: #666687; font-weight: 500; @@ -492,16 +374,134 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { height: 100vh; } + .c1 { + padding-bottom: 56px; + } + + .c4 { + background: #f6f6f9; + padding-top: 56px; + padding-right: 56px; + padding-bottom: 56px; + padding-left: 56px; + } + + .c16 { + padding-right: 56px; + padding-left: 56px; + } + + .c17 { + padding-bottom: 16px; + } + + .c0 { + display: grid; + grid-template-columns: 1fr; + } + + .c2 { + overflow-x: hidden; + } + + .c5 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .c6 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .c18 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-align-items: flex-start; + -webkit-box-align: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + } + + .c19 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } + + .c20 > * + * { + margin-left: 8px; + } + + .c7 { + color: #32324d; + font-weight: 600; + font-size: 2rem; + line-height: 1.25; + } + + .c15 { + color: #666687; + font-size: 1rem; + line-height: 1.5; + } + + .c3 { + outline: none; + } +
@@ -509,29 +509,29 @@ describe('Plugin | Users and Permissions | RoleListPage', () => { style="height: 0px;" >

Roles

List of roles

@@ -602,7 +602,7 @@ describe('Plugin | Users and Permissions | RoleListPage', () => {