@strapi/plugin-users-permissions 5.0.0-beta.9 → 5.0.0-rc.1
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 +18 -3
- package/admin/src/components/FormModal/index.jsx +50 -66
- package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +3 -2
- package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +11 -20
- package/admin/src/components/Permissions/index.jsx +1 -0
- package/admin/src/components/Policies/index.jsx +3 -3
- package/admin/src/components/UsersPermissions/index.jsx +5 -5
- package/admin/src/pages/AdvancedSettings/index.jsx +5 -5
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +113 -112
- package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +17 -12
- package/admin/src/pages/EmailTemplates/index.jsx +6 -7
- package/admin/src/pages/Providers/index.jsx +1 -1
- package/admin/src/pages/Roles/pages/CreatePage.jsx +6 -7
- package/admin/src/pages/Roles/pages/EditPage.jsx +6 -7
- package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +6 -5
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +5 -6
- package/dist/_chunks/{index-DU64Xec_.js → index-B-NW87wS.js} +4 -4
- package/dist/_chunks/index-B-NW87wS.js.map +1 -0
- package/dist/_chunks/{index-8gj-Xbnv.mjs → index-BM3Y3D1I.mjs} +29 -34
- package/dist/_chunks/index-BM3Y3D1I.mjs.map +1 -0
- package/dist/_chunks/{index-BBs5I2vg.mjs → index-CKip12uF.mjs} +10 -10
- package/dist/_chunks/{index-BBs5I2vg.mjs.map → index-CKip12uF.mjs.map} +1 -1
- package/dist/_chunks/{index-CTQmcKdx.js → index-CepSm1g8.js} +20 -26
- package/dist/_chunks/index-CepSm1g8.js.map +1 -0
- package/dist/_chunks/{index-CDbrfh8w.mjs → index-Cz7MvAfK.mjs} +95 -97
- package/dist/_chunks/index-Cz7MvAfK.mjs.map +1 -0
- package/dist/_chunks/{index-sXlt_q08.mjs → index-D96sR0jc.mjs} +5 -5
- package/dist/_chunks/index-D96sR0jc.mjs.map +1 -0
- package/dist/_chunks/{index-Dv_hLBLL.js → index-DWXD_v0p.js} +94 -96
- package/dist/_chunks/index-DWXD_v0p.js.map +1 -0
- package/dist/_chunks/{index-Cm0m3fu1.mjs → index-DzkSvFbj.mjs} +17 -23
- package/dist/_chunks/index-DzkSvFbj.mjs.map +1 -0
- package/dist/_chunks/{index-DbtKSwQT.js → index-bWmIxmrB.js} +10 -10
- package/dist/_chunks/{index-DbtKSwQT.js.map → index-bWmIxmrB.js.map} +1 -1
- package/dist/_chunks/{index-EQL2s09p-DzUzGVgd.mjs → index-f6STHGSC-BHUgmsKx.mjs} +1231 -320
- package/dist/_chunks/index-f6STHGSC-BHUgmsKx.mjs.map +1 -0
- package/dist/_chunks/{index-EQL2s09p-621Sl9hj.js → index-f6STHGSC-qR3QHvSP.js} +1228 -317
- package/dist/_chunks/index-f6STHGSC-qR3QHvSP.js.map +1 -0
- package/dist/_chunks/{index-eXarQ1KK.js → index-koxBwffB.js} +28 -33
- package/dist/_chunks/index-koxBwffB.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +6 -6
- package/server/bootstrap/index.js +13 -9
- package/server/services/providers-registry.js +465 -275
- package/server/utils/index.d.ts +2 -1
- package/dist/_chunks/index-8gj-Xbnv.mjs.map +0 -1
- package/dist/_chunks/index-CDbrfh8w.mjs.map +0 -1
- package/dist/_chunks/index-CTQmcKdx.js.map +0 -1
- package/dist/_chunks/index-Cm0m3fu1.mjs.map +0 -1
- package/dist/_chunks/index-DU64Xec_.js.map +0 -1
- package/dist/_chunks/index-Dv_hLBLL.js.map +0 -1
- package/dist/_chunks/index-EQL2s09p-621Sl9hj.js.map +0 -1
- package/dist/_chunks/index-EQL2s09p-DzUzGVgd.mjs.map +0 -1
- package/dist/_chunks/index-eXarQ1KK.js.map +0 -1
- package/dist/_chunks/index-sXlt_q08.mjs.map +0 -1
- package/server/bootstrap/grant-config.js +0 -140
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
Tr,
|
|
11
11
|
Typography,
|
|
12
12
|
VisuallyHidden,
|
|
13
|
+
Box,
|
|
13
14
|
} from '@strapi/design-system';
|
|
14
15
|
import { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';
|
|
15
16
|
import PropTypes from 'prop-types';
|
|
@@ -53,12 +54,14 @@ const EmailTable = ({ canUpdate, onEditClick }) => {
|
|
|
53
54
|
<Tbody>
|
|
54
55
|
<Tr onClick={() => onEditClick('reset_password')}>
|
|
55
56
|
<Td>
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
<Box width="3.2rem" height="3.2rem" padding="0.8rem">
|
|
58
|
+
<Refresh
|
|
59
|
+
aria-label={formatMessage({
|
|
60
|
+
id: 'global.reset-password',
|
|
61
|
+
defaultMessage: 'Reset password',
|
|
62
|
+
})}
|
|
63
|
+
/>
|
|
64
|
+
</Box>
|
|
62
65
|
</Td>
|
|
63
66
|
<Td>
|
|
64
67
|
<Typography>
|
|
@@ -84,12 +87,14 @@ const EmailTable = ({ canUpdate, onEditClick }) => {
|
|
|
84
87
|
</Tr>
|
|
85
88
|
<Tr onClick={() => onEditClick('email_confirmation')}>
|
|
86
89
|
<Td>
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
<Box width="3.2rem" height="3.2rem" padding="0.8rem">
|
|
91
|
+
<Check
|
|
92
|
+
aria-label={formatMessage({
|
|
93
|
+
id: getTrad('Email.template.email_confirmation'),
|
|
94
|
+
defaultMessage: 'Email address confirmation',
|
|
95
|
+
})}
|
|
96
|
+
/>
|
|
97
|
+
</Box>
|
|
93
98
|
</Td>
|
|
94
99
|
<Td>
|
|
95
100
|
<Typography>
|
|
@@ -134,13 +134,12 @@ const EmailTemplatesPage = () => {
|
|
|
134
134
|
/>
|
|
135
135
|
<Layouts.Content>
|
|
136
136
|
<EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
)}
|
|
137
|
+
<EmailForm
|
|
138
|
+
template={data[templateToEdit]}
|
|
139
|
+
onToggle={handleToggle}
|
|
140
|
+
open={isModalOpen}
|
|
141
|
+
onSubmit={handleSubmit}
|
|
142
|
+
/>
|
|
144
143
|
</Layouts.Content>
|
|
145
144
|
</Page.Main>
|
|
146
145
|
);
|
|
@@ -63,7 +63,7 @@ export const ProvidersPage = () => {
|
|
|
63
63
|
|
|
64
64
|
const submitMutation = useMutation((body) => put('/users-permissions/providers', body), {
|
|
65
65
|
async onSuccess() {
|
|
66
|
-
await queryClient.invalidateQueries(['users-permissions', 'providers']);
|
|
66
|
+
await queryClient.invalidateQueries(['users-permissions', 'get-providers']);
|
|
67
67
|
|
|
68
68
|
toggleNotification({
|
|
69
69
|
type: 'success',
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
Button,
|
|
5
5
|
Flex,
|
|
6
6
|
Grid,
|
|
7
|
-
GridItem,
|
|
8
7
|
Main,
|
|
9
8
|
Textarea,
|
|
10
9
|
TextInput,
|
|
@@ -125,8 +124,8 @@ export const CreatePage = () => {
|
|
|
125
124
|
})}
|
|
126
125
|
</Typography>
|
|
127
126
|
|
|
128
|
-
<Grid gap={4}>
|
|
129
|
-
<
|
|
127
|
+
<Grid.Root gap={4}>
|
|
128
|
+
<Grid.Item col={6}>
|
|
130
129
|
<Field.Root
|
|
131
130
|
name="name"
|
|
132
131
|
error={
|
|
@@ -145,8 +144,8 @@ export const CreatePage = () => {
|
|
|
145
144
|
<TextInput value={values.name || ''} onChange={handleChange} />
|
|
146
145
|
<Field.Error />
|
|
147
146
|
</Field.Root>
|
|
148
|
-
</
|
|
149
|
-
<
|
|
147
|
+
</Grid.Item>
|
|
148
|
+
<Grid.Item col={6}>
|
|
150
149
|
<Field.Root
|
|
151
150
|
name="description"
|
|
152
151
|
error={
|
|
@@ -168,8 +167,8 @@ export const CreatePage = () => {
|
|
|
168
167
|
<Textarea value={values.description || ''} onChange={handleChange} />
|
|
169
168
|
<Field.Error />
|
|
170
169
|
</Field.Root>
|
|
171
|
-
</
|
|
172
|
-
</Grid>
|
|
170
|
+
</Grid.Item>
|
|
171
|
+
</Grid.Root>
|
|
173
172
|
</Flex>
|
|
174
173
|
|
|
175
174
|
{!isLoadingPlugins && (
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
TextInput,
|
|
8
8
|
Textarea,
|
|
9
9
|
Typography,
|
|
10
|
-
GridItem,
|
|
11
10
|
Grid,
|
|
12
11
|
Field,
|
|
13
12
|
} from '@strapi/design-system';
|
|
@@ -143,8 +142,8 @@ export const EditPage = () => {
|
|
|
143
142
|
})}
|
|
144
143
|
</Typography>
|
|
145
144
|
|
|
146
|
-
<Grid gap={4}>
|
|
147
|
-
<
|
|
145
|
+
<Grid.Root gap={4}>
|
|
146
|
+
<Grid.Item col={6}>
|
|
148
147
|
<Field.Root
|
|
149
148
|
name="name"
|
|
150
149
|
error={
|
|
@@ -166,8 +165,8 @@ export const EditPage = () => {
|
|
|
166
165
|
<TextInput value={values.name || ''} onChange={handleChange} />
|
|
167
166
|
<Field.Error />
|
|
168
167
|
</Field.Root>
|
|
169
|
-
</
|
|
170
|
-
<
|
|
168
|
+
</Grid.Item>
|
|
169
|
+
<Grid.Item col={6}>
|
|
171
170
|
<Field.Root
|
|
172
171
|
name="description"
|
|
173
172
|
error={
|
|
@@ -189,8 +188,8 @@ export const EditPage = () => {
|
|
|
189
188
|
<Textarea value={values.description || ''} onChange={handleChange} />
|
|
190
189
|
<Field.Error />
|
|
191
190
|
</Field.Root>
|
|
192
|
-
</
|
|
193
|
-
</Grid>
|
|
191
|
+
</Grid.Item>
|
|
192
|
+
</Grid.Root>
|
|
194
193
|
</Flex>
|
|
195
194
|
|
|
196
195
|
{!isLoadingPlugins && (
|
|
@@ -4,20 +4,20 @@ import { Flex, IconButton, Link, Tbody, Td, Tr, Typography } from '@strapi/desig
|
|
|
4
4
|
import { Pencil, Trash } from '@strapi/icons';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
|
-
import { useNavigate } from 'react-router-dom';
|
|
7
|
+
import { useNavigate, NavLink } from 'react-router-dom';
|
|
8
8
|
import { styled } from 'styled-components';
|
|
9
9
|
|
|
10
10
|
const EditLink = styled(Link)`
|
|
11
11
|
align-items: center;
|
|
12
12
|
height: 3.2rem;
|
|
13
|
+
width: 3.2rem;
|
|
13
14
|
display: flex;
|
|
14
15
|
justify-content: center;
|
|
15
|
-
padding: ${({ theme }) => `${theme.spaces[2]}
|
|
16
|
-
width: 3.2rem;
|
|
16
|
+
padding: ${({ theme }) => `${theme.spaces[2]}`};
|
|
17
17
|
|
|
18
18
|
svg {
|
|
19
|
-
height: 1.
|
|
20
|
-
width: 1.
|
|
19
|
+
height: 1.6rem;
|
|
20
|
+
width: 1.6rem;
|
|
21
21
|
|
|
22
22
|
path {
|
|
23
23
|
fill: ${({ theme }) => theme.colors.neutral500};
|
|
@@ -72,6 +72,7 @@ const TableBody = ({ sortedRoles, canDelete, canUpdate, setRoleToDelete, onDelet
|
|
|
72
72
|
<Flex justifyContent="end" onClick={(e) => e.stopPropagation()}>
|
|
73
73
|
{canUpdate ? (
|
|
74
74
|
<EditLink
|
|
75
|
+
tag={NavLink}
|
|
75
76
|
to={role.id.toString()}
|
|
76
77
|
aria-label={formatMessage(
|
|
77
78
|
{ id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },
|
|
@@ -11,8 +11,9 @@ import {
|
|
|
11
11
|
EmptyStateLayout,
|
|
12
12
|
useCollator,
|
|
13
13
|
useFilter,
|
|
14
|
+
LinkButton,
|
|
15
|
+
Dialog,
|
|
14
16
|
} from '@strapi/design-system';
|
|
15
|
-
import { LinkButton } from '@strapi/design-system';
|
|
16
17
|
import { Plus } from '@strapi/icons';
|
|
17
18
|
import {
|
|
18
19
|
ConfirmDialog,
|
|
@@ -250,11 +251,9 @@ export const RolesListPage = () => {
|
|
|
250
251
|
<EmptyStateLayout content={formatMessage(emptyLayout[emptyContent])} />
|
|
251
252
|
)}
|
|
252
253
|
</Layouts.Content>
|
|
253
|
-
<
|
|
254
|
-
onConfirm={handleConfirmDelete}
|
|
255
|
-
|
|
256
|
-
isOpen={showConfirmDelete}
|
|
257
|
-
/>
|
|
254
|
+
<Dialog.Root open={showConfirmDelete} onOpenChange={handleShowConfirmDelete}>
|
|
255
|
+
<ConfirmDialog onConfirm={handleConfirmDelete} />
|
|
256
|
+
</Dialog.Root>
|
|
258
257
|
</Page.Main>
|
|
259
258
|
</Layouts.Root>
|
|
260
259
|
);
|
|
@@ -7,7 +7,7 @@ const icons = require("@strapi/icons");
|
|
|
7
7
|
const admin = require("@strapi/strapi/admin");
|
|
8
8
|
const reactIntl = require("react-intl");
|
|
9
9
|
const reactQuery = require("react-query");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-bWmIxmrB.js");
|
|
11
11
|
require("lodash/isEmpty");
|
|
12
12
|
const yup = require("yup");
|
|
13
13
|
function _interopNamespace(e) {
|
|
@@ -231,7 +231,7 @@ const AdvancedSettingsPage = () => {
|
|
|
231
231
|
id: "global.settings",
|
|
232
232
|
defaultMessage: "Settings"
|
|
233
233
|
}) }),
|
|
234
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 6, children: [
|
|
234
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 6, children: [
|
|
235
235
|
{
|
|
236
236
|
label: {
|
|
237
237
|
id: index.getTrad("EditForm.inputSelect.label.role"),
|
|
@@ -250,7 +250,7 @@ const AdvancedSettingsPage = () => {
|
|
|
250
250
|
type: "enumeration"
|
|
251
251
|
},
|
|
252
252
|
...layout
|
|
253
|
-
].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
253
|
+
].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
254
254
|
admin.InputRenderer,
|
|
255
255
|
{
|
|
256
256
|
...field,
|
|
@@ -269,4 +269,4 @@ const AdvancedSettingsPage = () => {
|
|
|
269
269
|
};
|
|
270
270
|
exports.AdvancedSettingsPage = AdvancedSettingsPage;
|
|
271
271
|
exports.ProtectedAdvancedSettingsPage = ProtectedAdvancedSettingsPage;
|
|
272
|
-
//# sourceMappingURL=index-
|
|
272
|
+
//# sourceMappingURL=index-B-NW87wS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B-NW87wS.js","sources":["../../admin/src/pages/AdvancedSettings/utils/layout.js","../../admin/src/pages/AdvancedSettings/utils/schema.js","../../admin/src/pages/AdvancedSettings/index.jsx"],"sourcesContent":["import { getTrad } from '../../../utils';\n\nconst layout = [\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email'),\n defaultMessage:\n 'Disallow the user to create multiple accounts using the same email address with different authentication providers.',\n },\n name: 'unique_email',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.sign-up'),\n defaultMessage:\n 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.',\n },\n name: 'allow_register',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-reset-password'),\n defaultMessage: \"URL of your application's reset password page.\",\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-reset-password'),\n defaultMessage: 'ex: https://youtfrontend.com/reset-password',\n },\n name: 'email_reset_password',\n type: 'string',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation'),\n defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.',\n },\n name: 'email_confirmation',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),\n defaultMessage: 'After you confirmed your email, choose where you will be redirected.',\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),\n defaultMessage: 'ex: https://youtfrontend.com/email-confirmation',\n },\n name: 'email_confirmation_redirection',\n type: 'string',\n size: 12,\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, useNotifyAT } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n useAPIErrorHandler,\n Page,\n Form,\n InputRenderer,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport layout from './utils/layout';\nimport schema from './utils/schema';\n\nconst ProtectedAdvancedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </Page.Protect>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateAdvancedSettings });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'advanced'],\n async () => {\n const { data } = await get('/users-permissions/advanced');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Form.advancedSettings.data.loaded'),\n defaultMessage: 'Advanced settings data has been loaded',\n })\n );\n },\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.error'),\n defaultMessage: 'An error occured',\n }),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const submitMutation = useMutation((body) => put('/users-permissions/advanced', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'advanced']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.success.saved'),\n defaultMessage: 'Saved',\n }),\n });\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n submitMutation.mutate({\n ...body,\n email_confirmation_redirection: body.email_confirmation\n ? body.email_confirmation_redirection\n : '',\n });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n }),\n }\n )}\n </Page.Title>\n <Form onSubmit={handleSubmit} initialValues={data.settings} validationSchema={schema}>\n {({ values, isSubmitting, modified }) => {\n return (\n <>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n primaryAction={\n <Button\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified || !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={6}>\n {[\n {\n label: {\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n },\n hint: {\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n },\n options: data.roles.map((role) => ({\n label: role.name,\n value: role.type,\n })),\n name: 'default_role',\n size: 6,\n type: 'enumeration',\n },\n ...layout,\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={\n field.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n label={formatMessage(field.label)}\n hint={field.hint ? formatMessage(field.hint) : undefined}\n placeholder={\n field.placeholder ? formatMessage(field.placeholder) : undefined\n }\n />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\nexport { ProtectedAdvancedSettingsPage, AdvancedSettingsPage };\n"],"names":["getTrad","yup","translatedErrors","jsx","Page","PERMISSIONS","useIntl","useNotification","useNotifyAT","useQueryClient","useFetchClient","useAPIErrorHandler","useRBAC","useQuery","data","useMutation","jsxs","Form","Fragment","Layouts","Button","Check","Box","Flex","Typography","Grid","InputRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,SAAS;AAAA,EACb;AAAA,IACE,OAAO;AAAA,MACL,IAAIA,MAAO,QAAC,kCAAkC;AAAA,MAC9C,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,MACJ,IAAIA,MAAO,QAAC,wCAAwC;AAAA,MACpD,gBACE;AAAA,IACH;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACD;AAAA,IACE,OAAO;AAAA,MACL,IAAIA,MAAO,QAAC,oCAAoC;AAAA,MAChD,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,MACJ,IAAIA,MAAO,QAAC,0CAA0C;AAAA,MACtD,gBACE;AAAA,IACH;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACD;AAAA,IACE,OAAO;AAAA,MACL,IAAIA,MAAO,QAAC,iDAAiD;AAAA,MAC7D,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,MACJ,IAAIA,MAAO,QAAC,uDAAuD;AAAA,MACnE,gBAAgB;AAAA,IACjB;AAAA,IACD,aAAa;AAAA,MACX,IAAIA,MAAO,QAAC,uDAAuD;AAAA,MACnE,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACD;AAAA,IACE,OAAO;AAAA,MACL,IAAIA,MAAO,QAAC,+CAA+C;AAAA,MAC3D,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,MACJ,IAAIA,MAAO,QAAC,qDAAqD;AAAA,MACjE,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACD;AAAA,IACE,OAAO;AAAA,MACL,IAAIA,MAAO,QAAC,2DAA2D;AAAA,MACvE,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,MACJ,IAAIA,MAAO,QAAC,iEAAiE;AAAA,MAC7E,gBAAgB;AAAA,IACjB;AAAA,IACD,aAAa;AAAA,MACX,IAAIA,MAAO,QAAC,iEAAiE;AAAA,MAC7E,gBAAgB;AAAA,IACjB;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AACH;AC1EA,MAAM,YAAY,IAAI,OAAO,kCAAkC;AAE/D,MAAM,SAASC,eAAI,OAAQ,EAAC,MAAM;AAAA,EAChC,gCAAgCA,eAAI,QAAQ,KAAK,sBAAsB;AAAA,IACrE,IAAI;AAAA,IACJ,MAAMA,eAAI,OAAM,EAAG,QAAQ,SAAS,EAAE,SAAU;AAAA,IAChD,WAAWA,eAAI,OAAQ,EAAC,SAAU;AAAA,EACtC,CAAG;AAAA,EACD,sBAAsBA,eACnB,OAAOC,MAAgB,iBAAC,MAAM,EAC9B,QAAQ,WAAW;AAAA,IAClB,IAAIA,MAAAA,iBAAiB,MAAM;AAAA,IAC3B,gBAAgB;AAAA,EACtB,CAAK,EACA,SAAU;AACf,CAAC;ACIK,MAAA,gCAAgC,MACpCC,2BAAA,IAACC,WAAK,SAAL,EAAa,aAAaC,kBAAY,sBACrC,UAACF,2BAAAA,IAAA,sBAAA,CAAA,CAAqB,EACxB,CAAA;AAGF,MAAM,uBAAuB,MAAM;AAC3B,QAAA,EAAE,kBAAkBG,UAAAA;AACpB,QAAA,EAAE,uBAAuBC,MAAAA;AACzB,QAAA,EAAE,iBAAiBC,aAAAA;AACzB,QAAM,cAAcC,WAAAA;AACpB,QAAM,EAAE,KAAK,IAAI,IAAIC,MAAe,eAAA;AAC9B,QAAA,EAAE,mBAAmBC,MAAAA;AAErB,QAAA;AAAA,IACJ,WAAW;AAAA,IACX,gBAAgB,EAAE,UAAU;AAAA,MAC1BC,MAAQ,QAAA,EAAE,QAAQP,MAAAA,YAAY,uBAAwB,CAAA;AAE1D,QAAM,EAAE,WAAW,eAAe,KAAS,IAAAQ,WAAA;AAAA,IACzC,CAAC,qBAAqB,UAAU;AAAA,IAChC,YAAY;AACV,YAAM,EAAE,MAAAC,MAAAA,IAAS,MAAM,IAAI,6BAA6B;AAEjDA,aAAAA;AAAAA,IACT;AAAA,IACA;AAAA,MACE,YAAY;AACV;AAAA,UACE,cAAc;AAAA,YACZ,IAAId,cAAQ,mCAAmC;AAAA,YAC/C,gBAAgB;AAAA,UAAA,CACjB;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,UAAU;AACW,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,cAAc;AAAA,YACrB,IAAIA,cAAQ,oBAAoB;AAAA,YAChC,gBAAgB;AAAA,UAAA,CACjB;AAAA,QAAA,CACF;AAAA,MACH;AAAA,IACF;AAAA,EAAA;AAGF,QAAM,YAAY,2BAA2B;AAE7C,QAAM,iBAAiBe,WAAAA,YAAY,CAAC,SAAS,IAAI,+BAA+B,IAAI,GAAG;AAAA,IACrF,MAAM,YAAY;AAChB,YAAM,YAAY,kBAAkB,CAAC,qBAAqB,UAAU,CAAC;AAElD,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,cAAc;AAAA,UACrB,IAAIf,cAAQ,4BAA4B;AAAA,UACxC,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAAA,IACH;AAAA,IACA,QAAQ,OAAO;AACM,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,eAAe,KAAK;AAAA,MAAA,CAC9B;AAAA,IACH;AAAA,IACA,eAAe;AAAA,EAAA,CAChB;AAEK,QAAA,EAAE,WAAW,iBAAqB,IAAA;AAElC,QAAA,eAAe,OAAO,SAAS;AACnC,mBAAe,OAAO;AAAA,MACpB,GAAG;AAAA,MACH,gCAAgC,KAAK,qBACjC,KAAK,iCACL;AAAA,IAAA,CACL;AAAA,EAAA;AAGH,MAAI,WAAW;AACN,WAAAG,+BAACC,MAAAA,KAAK,SAAL,CAAa,CAAA;AAAA,EACvB;AAEA,SACGY,2BAAAA,KAAAZ,MAAAA,KAAK,MAAL,EAAU,aAAW,kBACpB,UAAA;AAAA,IAACD,2BAAAA,IAAAC,MAAA,KAAK,OAAL,EACE,UAAA;AAAA,MACC,EAAE,IAAI,sBAAsB,gBAAgB,oBAAoB;AAAA,MAChE;AAAA,QACE,MAAM,cAAc;AAAA,UAClB,IAAIJ,cAAQ,iCAAiC;AAAA,UAC7C,gBAAgB;AAAA,QAAA,CACjB;AAAA,MACH;AAAA,IAAA,GAEJ;AAAA,IACCG,2BAAA,IAAAc,MAAA,MAAA,EAAK,UAAU,cAAc,eAAe,KAAK,UAAU,kBAAkB,QAC3E,UAAC,CAAA,EAAE,QAAQ,cAAc,eAAe;AACvC,aAEID,2BAAA,KAAAE,qBAAA,EAAA,UAAA;AAAA,QAAAf,2BAAA;AAAA,UAACgB,MAAAA,QAAQ;AAAA,UAAR;AAAA,YACC,OAAO,cAAc;AAAA,cACnB,IAAInB,cAAQ,iCAAiC;AAAA,cAC7C,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,eACEG,2BAAA;AAAA,cAACiB,aAAA;AAAA,cAAA;AAAA,gBACC,SAAS;AAAA,gBACT,MAAK;AAAA,gBACL,UAAU,CAAC,YAAY,CAAC;AAAA,gBACxB,0CAAYC,MAAM,OAAA,EAAA;AAAA,gBAClB,MAAK;AAAA,gBAEJ,wBAAc,EAAE,IAAI,eAAe,gBAAgB,QAAQ;AAAA,cAAA;AAAA,YAC9D;AAAA,UAAA;AAAA,QAEJ;AAAA,QACAlB,2BAAAA,IAACgB,MAAQ,QAAA,SAAR,EACC,UAAAhB,2BAAA;AAAA,UAACmB,aAAA;AAAA,UAAA;AAAA,YACC,YAAW;AAAA,YACX,WAAS;AAAA,YACT,QAAO;AAAA,YACP,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,aAAa;AAAA,YACb,cAAc;AAAA,YAEd,0CAACC,mBAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GACjD,UAAA;AAAA,cAAApB,+BAACqB,aAAAA,YAAW,EAAA,SAAQ,SAAQ,KAAI,MAC7B,UAAc,cAAA;AAAA,gBACb,IAAI;AAAA,gBACJ,gBAAgB;AAAA,cACjB,CAAA,GACH;AAAA,cACCrB,2BAAA,IAAAsB,aAAA,KAAK,MAAL,EAAU,KAAK,GACb,UAAA;AAAA,gBACC;AAAA,kBACE,OAAO;AAAA,oBACL,IAAIzB,cAAQ,iCAAiC;AAAA,oBAC7C,gBAAgB;AAAA,kBAClB;AAAA,kBACA,MAAM;AAAA,oBACJ,IAAIA,cAAQ,uCAAuC;AAAA,oBACnD,gBACE;AAAA,kBACJ;AAAA,kBACA,SAAS,KAAK,MAAM,IAAI,CAAC,UAAU;AAAA,oBACjC,OAAO,KAAK;AAAA,oBACZ,OAAO,KAAK;AAAA,kBAAA,EACZ;AAAA,kBACF,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,MAAM;AAAA,gBACR;AAAA,gBACA,GAAG;AAAA,cACH,EAAA,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,MACrBG,2BAAAA,IAAAsB,aAAA,KAAK,MAAL,EAA2B,KAAK,MAC/B,UAAAtB,2BAAA;AAAA,gBAACuB,MAAA;AAAA,gBAAA;AAAA,kBACE,GAAG;AAAA,kBACJ,UACE,MAAM,SAAS,oCACf,OAAO,uBAAuB;AAAA,kBAEhC,OAAO,cAAc,MAAM,KAAK;AAAA,kBAChC,MAAM,MAAM,OAAO,cAAc,MAAM,IAAI,IAAI;AAAA,kBAC/C,aACE,MAAM,cAAc,cAAc,MAAM,WAAW,IAAI;AAAA,gBAAA;AAAA,cAV7C,EAAA,GAAA,MAAM,IAatB,CACD,GACH;AAAA,YAAA,GACF;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,MACF,EAAA,CAAA;AAAA,IAAA,GAGN;AAAA,EACF,EAAA,CAAA;AAEJ;;;"}
|
|
@@ -3,8 +3,8 @@ import * as React from "react";
|
|
|
3
3
|
import { createContext, useContext, useMemo, useCallback, useReducer, forwardRef, useImperativeHandle, memo, useEffect, useState } from "react";
|
|
4
4
|
import { translatedErrors, useNotification, useFetchClient, useAPIErrorHandler, Page, useTracking, Layouts, BackButton, useQueryParams, useRBAC, SearchInput, ConfirmDialog } from "@strapi/strapi/admin";
|
|
5
5
|
import { useNavigate, useMatch, NavLink, Routes, Route } from "react-router-dom";
|
|
6
|
-
import { g as getTrad, P as PERMISSIONS } from "./index-
|
|
7
|
-
import { Box, Flex, Typography, Checkbox, Grid,
|
|
6
|
+
import { g as getTrad, P as PERMISSIONS } from "./index-CKip12uF.mjs";
|
|
7
|
+
import { Box, Flex, Typography, Checkbox, Grid, VisuallyHidden, Accordion, Main, Button, Field, TextInput, Textarea, Link, Tbody, Tr, Td, IconButton, useNotifyAT, useFilter, useCollator, LinkButton, Table, Thead, Th, EmptyStateLayout, Dialog } from "@strapi/design-system";
|
|
8
8
|
import { Cog, Check, Pencil, Trash, Plus } from "@strapi/icons";
|
|
9
9
|
import { Formik, Form } from "formik";
|
|
10
10
|
import { useIntl } from "react-intl";
|
|
@@ -59,7 +59,8 @@ const init$1 = (initialState2, permissions) => {
|
|
|
59
59
|
};
|
|
60
60
|
const activeCheckboxWrapperStyles = css`
|
|
61
61
|
background: ${(props) => props.theme.colors.primary100};
|
|
62
|
-
|
|
62
|
+
|
|
63
|
+
#cog {
|
|
63
64
|
opacity: 1;
|
|
64
65
|
}
|
|
65
66
|
`;
|
|
@@ -68,7 +69,7 @@ const CheckboxWrapper = styled(Box)`
|
|
|
68
69
|
justify-content: space-between;
|
|
69
70
|
align-items: center;
|
|
70
71
|
|
|
71
|
-
|
|
72
|
+
#cog {
|
|
72
73
|
opacity: 0;
|
|
73
74
|
path {
|
|
74
75
|
fill: ${(props) => props.theme.colors.primary600};
|
|
@@ -118,22 +119,21 @@ const SubCategory = ({ subCategory }) => {
|
|
|
118
119
|
Checkbox,
|
|
119
120
|
{
|
|
120
121
|
name: subCategory.name,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
indeterminate: hasSomeActionsSelected,
|
|
122
|
+
checked: hasSomeActionsSelected ? "indeterminate" : hasAllActionsSelected,
|
|
123
|
+
onCheckedChange: (value) => handleChangeSelectAll({ target: { name: subCategory.name, value } }),
|
|
124
124
|
children: formatMessage({ id: "app.utils.select-all", defaultMessage: "Select all" })
|
|
125
125
|
}
|
|
126
126
|
) })
|
|
127
127
|
] }),
|
|
128
|
-
/* @__PURE__ */ jsx(Flex, { paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(Grid, { gap: 2, style: { flex: 1 }, children: subCategory.actions.map((action) => {
|
|
128
|
+
/* @__PURE__ */ jsx(Flex, { paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(Grid.Root, { gap: 2, style: { flex: 1 }, children: subCategory.actions.map((action) => {
|
|
129
129
|
const name = `${action.name}.enabled`;
|
|
130
|
-
return /* @__PURE__ */ jsx(
|
|
130
|
+
return /* @__PURE__ */ jsx(Grid.Item, { col: 6, children: /* @__PURE__ */ jsxs(CheckboxWrapper, { isActive: isActionSelected(action.name), padding: 2, hasRadius: true, children: [
|
|
131
131
|
/* @__PURE__ */ jsx(
|
|
132
132
|
Checkbox,
|
|
133
133
|
{
|
|
134
|
-
|
|
134
|
+
checked: get(modifiedData, name, false),
|
|
135
135
|
name,
|
|
136
|
-
|
|
136
|
+
onCheckedChange: (value) => onChange({ target: { name, value } }),
|
|
137
137
|
children: action.label
|
|
138
138
|
}
|
|
139
139
|
),
|
|
@@ -153,7 +153,7 @@ const SubCategory = ({ subCategory }) => {
|
|
|
153
153
|
route: action.name
|
|
154
154
|
}
|
|
155
155
|
) }),
|
|
156
|
-
/* @__PURE__ */ jsx(Cog, {})
|
|
156
|
+
/* @__PURE__ */ jsx(Cog, { id: "cog" })
|
|
157
157
|
]
|
|
158
158
|
}
|
|
159
159
|
)
|
|
@@ -229,6 +229,7 @@ const Permissions = () => {
|
|
|
229
229
|
/* @__PURE__ */ jsx(Accordion.Header, { variant: index % 2 === 0 ? "secondary" : void 0, children: /* @__PURE__ */ jsx(
|
|
230
230
|
Accordion.Trigger,
|
|
231
231
|
{
|
|
232
|
+
caretPosition: "right",
|
|
232
233
|
description: formatMessage(
|
|
233
234
|
{
|
|
234
235
|
id: "users-permissions.Plugin.permissions.plugins.description",
|
|
@@ -335,7 +336,7 @@ const Policies = () => {
|
|
|
335
336
|
const pathResolved = path.slice(1).join(".");
|
|
336
337
|
const displayedRoutes = isEmpty(controllerRoutes) ? [] : controllerRoutes.filter((o) => o.handler.endsWith(pathResolved));
|
|
337
338
|
return /* @__PURE__ */ jsx(
|
|
338
|
-
|
|
339
|
+
Grid.Item,
|
|
339
340
|
{
|
|
340
341
|
col: 5,
|
|
341
342
|
background: "neutral150",
|
|
@@ -454,8 +455,8 @@ const UsersPermissions = forwardRef(({ permissions, routes }, ref) => {
|
|
|
454
455
|
onChangeSelectAll: handleChangeSelectAll,
|
|
455
456
|
onSelectedAction: handleSelectedAction
|
|
456
457
|
};
|
|
457
|
-
return /* @__PURE__ */ jsx(UsersPermissionsProvider, { value: providerValue, children: /* @__PURE__ */ jsxs(Grid, { gap: 0, shadow: "filterShadow", hasRadius: true, background: "neutral0", children: [
|
|
458
|
-
/* @__PURE__ */ jsx(
|
|
458
|
+
return /* @__PURE__ */ jsx(UsersPermissionsProvider, { value: providerValue, children: /* @__PURE__ */ jsxs(Grid.Root, { gap: 0, shadow: "filterShadow", hasRadius: true, background: "neutral0", children: [
|
|
459
|
+
/* @__PURE__ */ jsx(Grid.Item, { col: 7, paddingTop: 6, paddingBottom: 6, paddingLeft: 7, paddingRight: 7, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
|
|
459
460
|
/* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
|
|
460
461
|
/* @__PURE__ */ jsx(Typography, { variant: "delta", tag: "h2", children: formatMessage({
|
|
461
462
|
id: getTrad("Plugins.header.title"),
|
|
@@ -640,8 +641,8 @@ const CreatePage = () => {
|
|
|
640
641
|
id: getTrad("EditPage.form.roles"),
|
|
641
642
|
defaultMessage: "Role details"
|
|
642
643
|
}) }),
|
|
643
|
-
/* @__PURE__ */ jsxs(Grid, { gap: 4, children: [
|
|
644
|
-
/* @__PURE__ */ jsx(
|
|
644
|
+
/* @__PURE__ */ jsxs(Grid.Root, { gap: 4, children: [
|
|
645
|
+
/* @__PURE__ */ jsx(Grid.Item, { col: 6, children: /* @__PURE__ */ jsxs(
|
|
645
646
|
Field.Root,
|
|
646
647
|
{
|
|
647
648
|
name: "name",
|
|
@@ -657,7 +658,7 @@ const CreatePage = () => {
|
|
|
657
658
|
]
|
|
658
659
|
}
|
|
659
660
|
) }),
|
|
660
|
-
/* @__PURE__ */ jsx(
|
|
661
|
+
/* @__PURE__ */ jsx(Grid.Item, { col: 6, children: /* @__PURE__ */ jsxs(
|
|
661
662
|
Field.Root,
|
|
662
663
|
{
|
|
663
664
|
name: "description",
|
|
@@ -794,8 +795,8 @@ const EditPage = () => {
|
|
|
794
795
|
id: getTrad("EditPage.form.roles"),
|
|
795
796
|
defaultMessage: "Role details"
|
|
796
797
|
}) }),
|
|
797
|
-
/* @__PURE__ */ jsxs(Grid, { gap: 4, children: [
|
|
798
|
-
/* @__PURE__ */ jsx(
|
|
798
|
+
/* @__PURE__ */ jsxs(Grid.Root, { gap: 4, children: [
|
|
799
|
+
/* @__PURE__ */ jsx(Grid.Item, { col: 6, children: /* @__PURE__ */ jsxs(
|
|
799
800
|
Field.Root,
|
|
800
801
|
{
|
|
801
802
|
name: "name",
|
|
@@ -814,7 +815,7 @@ const EditPage = () => {
|
|
|
814
815
|
]
|
|
815
816
|
}
|
|
816
817
|
) }),
|
|
817
|
-
/* @__PURE__ */ jsx(
|
|
818
|
+
/* @__PURE__ */ jsx(Grid.Item, { col: 6, children: /* @__PURE__ */ jsxs(
|
|
818
819
|
Field.Root,
|
|
819
820
|
{
|
|
820
821
|
name: "description",
|
|
@@ -855,14 +856,14 @@ const ProtectedRolesEditPage = () => /* @__PURE__ */ jsx(Page.Protect, { permiss
|
|
|
855
856
|
const EditLink = styled(Link)`
|
|
856
857
|
align-items: center;
|
|
857
858
|
height: 3.2rem;
|
|
859
|
+
width: 3.2rem;
|
|
858
860
|
display: flex;
|
|
859
861
|
justify-content: center;
|
|
860
|
-
padding: ${({ theme }) => `${theme.spaces[2]}
|
|
861
|
-
width: 3.2rem;
|
|
862
|
+
padding: ${({ theme }) => `${theme.spaces[2]}`};
|
|
862
863
|
|
|
863
864
|
svg {
|
|
864
|
-
height: 1.
|
|
865
|
-
width: 1.
|
|
865
|
+
height: 1.6rem;
|
|
866
|
+
width: 1.6rem;
|
|
866
867
|
|
|
867
868
|
path {
|
|
868
869
|
fill: ${({ theme }) => theme.colors.neutral500};
|
|
@@ -901,6 +902,7 @@ const TableBody = ({ sortedRoles, canDelete, canUpdate, setRoleToDelete, onDelet
|
|
|
901
902
|
canUpdate ? /* @__PURE__ */ jsx(
|
|
902
903
|
EditLink,
|
|
903
904
|
{
|
|
905
|
+
tag: NavLink,
|
|
904
906
|
to: role.id.toString(),
|
|
905
907
|
"aria-label": formatMessage(
|
|
906
908
|
{ id: "app.component.table.edit", defaultMessage: "Edit {target}" },
|
|
@@ -1107,14 +1109,7 @@ const RolesListPage = () => {
|
|
|
1107
1109
|
)
|
|
1108
1110
|
] }) : /* @__PURE__ */ jsx(EmptyStateLayout, { content: formatMessage(emptyLayout[emptyContent]) })
|
|
1109
1111
|
] }),
|
|
1110
|
-
/* @__PURE__ */ jsx(
|
|
1111
|
-
ConfirmDialog,
|
|
1112
|
-
{
|
|
1113
|
-
onConfirm: handleConfirmDelete,
|
|
1114
|
-
onClose: handleShowConfirmDelete,
|
|
1115
|
-
isOpen: showConfirmDelete
|
|
1116
|
-
}
|
|
1117
|
-
)
|
|
1112
|
+
/* @__PURE__ */ jsx(Dialog.Root, { open: showConfirmDelete, onOpenChange: handleShowConfirmDelete, children: /* @__PURE__ */ jsx(ConfirmDialog, { onConfirm: handleConfirmDelete }) })
|
|
1118
1113
|
] })
|
|
1119
1114
|
] });
|
|
1120
1115
|
};
|
|
@@ -1131,4 +1126,4 @@ const Roles = () => {
|
|
|
1131
1126
|
export {
|
|
1132
1127
|
Roles as default
|
|
1133
1128
|
};
|
|
1134
|
-
//# sourceMappingURL=index-
|
|
1129
|
+
//# sourceMappingURL=index-BM3Y3D1I.mjs.map
|