@strapi/admin 5.18.1 → 5.20.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/dist/admin/admin/src/components/Filters.js +10 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +10 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.js +22 -17
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.mjs +21 -16
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.js +41 -15
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.mjs +42 -16
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.js +33 -17
- package/dist/admin/admin/src/components/GuidedTour/Step.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.mjs +34 -18
- package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.js +41 -40
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.mjs +36 -35
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -0
- package/dist/admin/admin/src/components/LeftMenu.js +52 -29
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +52 -29
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +4 -42
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs +4 -23
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/Providers.js +9 -10
- package/dist/admin/admin/src/components/Providers.js.map +1 -1
- package/dist/admin/admin/src/components/Providers.mjs +9 -10
- package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +18 -12
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +19 -13
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +2 -2
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +34 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +34 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.js +10 -0
- package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs +10 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +2 -2
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +3 -3
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +2 -2
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +297 -254
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +297 -254
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +12 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +12 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +1 -7
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +2 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +11 -3
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +11 -3
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/tests/utils.js +25 -28
- package/dist/admin/admin/tests/utils.js.map +1 -1
- package/dist/admin/admin/tests/utils.mjs +25 -28
- package/dist/admin/admin/tests/utils.mjs.map +1 -1
- package/dist/admin/ee/admin/src/constants.js +4 -2
- package/dist/admin/ee/admin/src/constants.js.map +1 -1
- package/dist/admin/ee/admin/src/constants.mjs +4 -2
- package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -2
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/Filters.d.ts +3 -1
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.d.ts +5 -3
- package/dist/admin/src/components/GuidedTour/Overview.d.ts +1 -0
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.d.ts +1 -1
- package/dist/admin/src/components/SubNav.d.ts +2 -1
- package/dist/admin/src/core/apis/Widgets.d.ts +8 -5
- package/dist/admin/src/features/Tracking.d.ts +22 -3
- package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
- package/dist/admin/src/index.d.ts +2 -3
- package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/server/src/domain/user.js +3 -1
- package/dist/server/server/src/domain/user.js.map +1 -1
- package/dist/server/server/src/domain/user.mjs +3 -1
- package/dist/server/server/src/domain/user.mjs.map +1 -1
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/package.json +8 -9
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js +0 -132
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs +0 -130
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.js +0 -278
- package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs +0 -276
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js +0 -54
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs +0 -51
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.js +0 -206
- package/dist/admin/admin/src/components/GuidedTour/Provider.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs +0 -184
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.js +0 -167
- package/dist/admin/admin/src/components/GuidedTour/constants.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs +0 -164
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js +0 -19
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs +0 -17
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs.map +0 -1
- package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
- package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -39
- package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
- package/dist/admin/src/components/UnstableGuidedTour/Overview.d.ts +0 -1
- package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +0 -1
- /package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseCasePage.js","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UseCasePage.js","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch(`${process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'}/register`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","process","env","STRAPI_ANALYTICS_URL","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
|
|
@@ -69,7 +69,7 @@ const UseCasePage = ()=>{
|
|
|
69
69
|
const handleSubmit = async (event, skipPersona)=>{
|
|
70
70
|
event.preventDefault();
|
|
71
71
|
try {
|
|
72
|
-
await fetch('https://analytics.strapi.io/register
|
|
72
|
+
await fetch(`${process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'}/register`, {
|
|
73
73
|
method: 'POST',
|
|
74
74
|
headers: {
|
|
75
75
|
'Content-Type': 'application/json'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseCasePage.mjs","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UseCasePage.mjs","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch(`${process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'}/register`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","process","env","STRAPI_ANALYTICS_URL","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
|
|
@@ -832,6 +832,8 @@ var en = {
|
|
|
832
832
|
"tours.contentTypeBuilder.SingleTypes.content": "A content structure that can manage only one entry, such as a homepage or a contact page.",
|
|
833
833
|
"tours.contentTypeBuilder.Components.title": "Components",
|
|
834
834
|
"tours.contentTypeBuilder.Components.content": "A content structure that can be used in multiple collection types or single types.",
|
|
835
|
+
"tours.contentTypeBuilder.Finish.title": "It's time to create content!",
|
|
836
|
+
"tours.contentTypeBuilder.Finish.content": "Now that you created content types, you'll be able to create content in the content manager.",
|
|
835
837
|
"tours.contentManager.Introduction.title": "Content manager",
|
|
836
838
|
"tours.contentManager.Introduction.content": "Create and manage content from your collection types and single types.",
|
|
837
839
|
"tours.apiTokens.Introduction.title": "API tokens",
|
|
@@ -839,13 +841,15 @@ var en = {
|
|
|
839
841
|
"tours.apiTokens.CreateAnAPIToken.title": "Create an API token",
|
|
840
842
|
"tours.apiTokens.CreateAnAPIToken.content": "Create a new API token. Choose a name, duration and type.",
|
|
841
843
|
"tours.apiTokens.CopyAPIToken.title": "Copy your new API token",
|
|
842
|
-
"tours.apiTokens.CopyAPIToken.content": "Make sure to do it now, you won
|
|
844
|
+
"tours.apiTokens.CopyAPIToken.content": "Make sure to do it now, you won't be able to see it again. You'll need to generate a new one if you lose it.",
|
|
845
|
+
"tours.apiTokens.FinalStep.title": "It's time to deploy your application!",
|
|
846
|
+
"tours.apiTokens.FinalStep.content": "Your application is ready to be deployed and its content to be shared with the world!",
|
|
843
847
|
"tours.contentManager.Fields.title": "Fields",
|
|
844
848
|
"tours.contentManager.Fields.content": "Add content to the fields created in the Content-Type Builder.",
|
|
845
849
|
"tours.contentManager.Publish.title": "Publish",
|
|
846
850
|
"tours.contentManager.Publish.content": "Publish entries to make their content available through the content API.",
|
|
847
|
-
"tours.contentManager.FinalStep.title": "It
|
|
848
|
-
"tours.contentManager.FinalStep.content": "Now that you
|
|
851
|
+
"tours.contentManager.FinalStep.title": "It's time to create API Tokens!",
|
|
852
|
+
"tours.contentManager.FinalStep.content": "Now that you've created and published content, time to create API tokens and set up permissions.",
|
|
849
853
|
"tours.stepCount": "Step {currentStep} of {tourLength}",
|
|
850
854
|
"tours.skip": "Skip",
|
|
851
855
|
"tours.next": "Next",
|
|
@@ -862,6 +866,10 @@ var en = {
|
|
|
862
866
|
"tours.overview.tour.link": "Start",
|
|
863
867
|
"tours.overview.tour.done": "Done",
|
|
864
868
|
"tours.overview.close.description": "Are you sure you want to close the guided tour?",
|
|
869
|
+
"tours.profile.title": "Guided tour",
|
|
870
|
+
"tours.profile.description": "You can reset the guided tour at any time.",
|
|
871
|
+
"tours.profile.reset": "Reset guided tour",
|
|
872
|
+
"tours.profile.notification.success.reset": "Guided tour reset",
|
|
865
873
|
"widget.profile.title": "Profile"
|
|
866
874
|
};
|
|
867
875
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -828,6 +828,8 @@ var en = {
|
|
|
828
828
|
"tours.contentTypeBuilder.SingleTypes.content": "A content structure that can manage only one entry, such as a homepage or a contact page.",
|
|
829
829
|
"tours.contentTypeBuilder.Components.title": "Components",
|
|
830
830
|
"tours.contentTypeBuilder.Components.content": "A content structure that can be used in multiple collection types or single types.",
|
|
831
|
+
"tours.contentTypeBuilder.Finish.title": "It's time to create content!",
|
|
832
|
+
"tours.contentTypeBuilder.Finish.content": "Now that you created content types, you'll be able to create content in the content manager.",
|
|
831
833
|
"tours.contentManager.Introduction.title": "Content manager",
|
|
832
834
|
"tours.contentManager.Introduction.content": "Create and manage content from your collection types and single types.",
|
|
833
835
|
"tours.apiTokens.Introduction.title": "API tokens",
|
|
@@ -835,13 +837,15 @@ var en = {
|
|
|
835
837
|
"tours.apiTokens.CreateAnAPIToken.title": "Create an API token",
|
|
836
838
|
"tours.apiTokens.CreateAnAPIToken.content": "Create a new API token. Choose a name, duration and type.",
|
|
837
839
|
"tours.apiTokens.CopyAPIToken.title": "Copy your new API token",
|
|
838
|
-
"tours.apiTokens.CopyAPIToken.content": "Make sure to do it now, you won
|
|
840
|
+
"tours.apiTokens.CopyAPIToken.content": "Make sure to do it now, you won't be able to see it again. You'll need to generate a new one if you lose it.",
|
|
841
|
+
"tours.apiTokens.FinalStep.title": "It's time to deploy your application!",
|
|
842
|
+
"tours.apiTokens.FinalStep.content": "Your application is ready to be deployed and its content to be shared with the world!",
|
|
839
843
|
"tours.contentManager.Fields.title": "Fields",
|
|
840
844
|
"tours.contentManager.Fields.content": "Add content to the fields created in the Content-Type Builder.",
|
|
841
845
|
"tours.contentManager.Publish.title": "Publish",
|
|
842
846
|
"tours.contentManager.Publish.content": "Publish entries to make their content available through the content API.",
|
|
843
|
-
"tours.contentManager.FinalStep.title": "It
|
|
844
|
-
"tours.contentManager.FinalStep.content": "Now that you
|
|
847
|
+
"tours.contentManager.FinalStep.title": "It's time to create API Tokens!",
|
|
848
|
+
"tours.contentManager.FinalStep.content": "Now that you've created and published content, time to create API tokens and set up permissions.",
|
|
845
849
|
"tours.stepCount": "Step {currentStep} of {tourLength}",
|
|
846
850
|
"tours.skip": "Skip",
|
|
847
851
|
"tours.next": "Next",
|
|
@@ -858,6 +862,10 @@ var en = {
|
|
|
858
862
|
"tours.overview.tour.link": "Start",
|
|
859
863
|
"tours.overview.tour.done": "Done",
|
|
860
864
|
"tours.overview.close.description": "Are you sure you want to close the guided tour?",
|
|
865
|
+
"tours.profile.title": "Guided tour",
|
|
866
|
+
"tours.profile.description": "You can reset the guided tour at any time.",
|
|
867
|
+
"tours.profile.reset": "Reset guided tour",
|
|
868
|
+
"tours.profile.notification.success.reset": "Guided tour reset",
|
|
861
869
|
"widget.profile.title": "Profile"
|
|
862
870
|
};
|
|
863
871
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -12,10 +12,9 @@ var reactDndHtml5Backend = require('react-dnd-html5-backend');
|
|
|
12
12
|
var reactQuery = require('react-query');
|
|
13
13
|
var reactRedux = require('react-redux');
|
|
14
14
|
var reactRouterDom = require('react-router-dom');
|
|
15
|
-
var
|
|
15
|
+
var Context = require('../src/components/GuidedTour/Context.js');
|
|
16
16
|
var LanguageProvider = require('../src/components/LanguageProvider.js');
|
|
17
17
|
var Theme = require('../src/components/Theme.js');
|
|
18
|
-
var Context = require('../src/components/UnstableGuidedTour/Context.js');
|
|
19
18
|
var rbac = require('../src/core/apis/rbac.js');
|
|
20
19
|
var AppInfo = require('../src/features/AppInfo.js');
|
|
21
20
|
var Auth = require('../src/features/Auth.js');
|
|
@@ -82,7 +81,7 @@ const Providers = ({ children, initialEntries, storeConfig, permissions = [] })=
|
|
|
82
81
|
components: {},
|
|
83
82
|
rbac: new rbac.RBAC(),
|
|
84
83
|
widgets: {
|
|
85
|
-
widgets:
|
|
84
|
+
widgets: [],
|
|
86
85
|
getAll: jest.fn(),
|
|
87
86
|
register: jest.fn()
|
|
88
87
|
},
|
|
@@ -136,32 +135,30 @@ const Providers = ({ children, initialEntries, storeConfig, permissions = [] })=
|
|
|
136
135
|
light: designSystem.lightTheme
|
|
137
136
|
},
|
|
138
137
|
children: /*#__PURE__*/ jsxRuntime.jsx(Notifications.NotificationsProvider, {
|
|
139
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
default: 'default'
|
|
147
|
-
},
|
|
148
|
-
menu: {
|
|
149
|
-
default: 'default'
|
|
150
|
-
}
|
|
138
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(Context.GuidedTourContext, {
|
|
139
|
+
enabled: false,
|
|
140
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(Configuration._internalConfigurationContextProvider, {
|
|
141
|
+
showReleaseNotification: false,
|
|
142
|
+
logos: {
|
|
143
|
+
auth: {
|
|
144
|
+
default: 'default'
|
|
151
145
|
},
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
146
|
+
menu: {
|
|
147
|
+
default: 'default'
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
updateProjectSettings: jest.fn(),
|
|
151
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(AppInfo.AppInfoProvider, {
|
|
152
|
+
autoReload: true,
|
|
153
|
+
useYarn: true,
|
|
154
|
+
dependencies: {
|
|
155
|
+
'@strapi/plugin-documentation': '4.2.0',
|
|
156
|
+
'@strapi/provider-upload-cloudinary': '4.2.0'
|
|
157
|
+
},
|
|
158
|
+
strapiVersion: "4.1.0",
|
|
159
|
+
communityEdition: true,
|
|
160
|
+
shouldUpdateStrapi: false,
|
|
161
|
+
children: children
|
|
165
162
|
})
|
|
166
163
|
})
|
|
167
164
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../admin/tests/utils.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { ConfigureStoreOptions, configureStore } from '@reduxjs/toolkit';\nimport { fixtures } from '@strapi/admin-test-utils';\nimport { darkTheme, lightTheme } from '@strapi/design-system';\nimport {\n fireEvent,\n renderHook as renderHookRTL,\n render as renderRTL,\n waitFor,\n RenderOptions as RTLRenderOptions,\n RenderResult,\n act,\n screen,\n RenderHookOptions,\n RenderHookResult,\n Queries,\n} from '@testing-library/react';\nimport { userEvent } from '@testing-library/user-event';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { QueryClient, QueryClientProvider, setLogger } from 'react-query';\nimport { Provider } from 'react-redux';\nimport { MemoryRouterProps, RouterProvider, createMemoryRouter } from 'react-router-dom';\n\nimport { GuidedTourProvider } from '../src/components/GuidedTour/Provider';\nimport { LanguageProvider } from '../src/components/LanguageProvider';\nimport { Theme } from '../src/components/Theme';\nimport { UnstableGuidedTourContext } from '../src/components/UnstableGuidedTour/Context';\nimport { RBAC } from '../src/core/apis/rbac';\nimport { AppInfoProvider } from '../src/features/AppInfo';\nimport { AuthProvider, type Permission } from '../src/features/Auth';\nimport { _internalConfigurationContextProvider as ConfigurationContextProvider } from '../src/features/Configuration';\nimport { NotificationsProvider } from '../src/features/Notifications';\nimport { StrapiAppProvider } from '../src/features/StrapiApp';\nimport { reducer as appReducer } from '../src/reducer';\nimport { adminApi } from '../src/services/api';\n\nimport { server } from './server';\nimport { initialState } from './store';\n\nsetLogger({\n log: () => {},\n warn: () => {},\n error: () => {},\n});\n\ninterface ProvidersProps {\n children: React.ReactNode;\n initialEntries?: MemoryRouterProps['initialEntries'];\n storeConfig?: Partial<ConfigureStoreOptions>;\n permissions?: Permission[] | ((defaultPermissions: Permission[]) => Permission[] | undefined);\n}\n\nconst defaultTestStoreConfig = () => ({\n preloadedState: initialState(),\n reducer: {\n [adminApi.reducerPath]: adminApi.reducer,\n admin_app: appReducer,\n },\n // @ts-expect-error – this fails.\n middleware: (getDefaultMiddleware) => [\n ...getDefaultMiddleware({\n // Disable timing checks for test env\n immutableCheck: false,\n serializableCheck: false,\n }),\n adminApi.middleware,\n ],\n});\n\nconst DEFAULT_PERMISSIONS = [\n ...fixtures.permissions.allPermissions,\n {\n id: 314,\n action: 'admin::users.read',\n subject: null,\n properties: {},\n conditions: [],\n actionParameters: {},\n },\n];\n\nconst Providers = ({ children, initialEntries, storeConfig, permissions = [] }: ProvidersProps) => {\n const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n },\n },\n });\n\n const store = configureStore({\n ...defaultTestStoreConfig(),\n ...storeConfig,\n });\n\n const allPermissions =\n typeof permissions === 'function'\n ? permissions(DEFAULT_PERMISSIONS)\n : [...DEFAULT_PERMISSIONS, ...permissions];\n\n const router = createMemoryRouter(\n [\n {\n path: '/*',\n element: (\n <StrapiAppProvider\n components={{}}\n rbac={new RBAC()}\n widgets={{\n widgets: {},\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n customFields={{\n customFields: {},\n get: jest.fn().mockReturnValue({\n name: 'color',\n pluginId: 'mycustomfields',\n type: 'text',\n icon: jest.fn(),\n intlLabel: {\n id: 'mycustomfields.color.label',\n defaultMessage: 'Color',\n },\n intlDescription: {\n id: 'mycustomfields.color.description',\n defaultMessage: 'Select any color',\n },\n components: {\n Input: jest.fn().mockResolvedValue({ default: jest.fn() }),\n },\n }),\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n fields={{}}\n menu={[]}\n getAdminInjectedComponents={jest.fn()}\n getPlugin={jest.fn()}\n plugins={{}}\n runHookParallel={jest.fn()}\n runHookWaterfall={jest.fn().mockImplementation((_name, initialValue) => initialValue)}\n runHookSeries={jest.fn()}\n settings={{}}\n >\n <Provider store={store}>\n <AuthProvider _defaultPermissions={allPermissions} _disableRenewToken={true}>\n <QueryClientProvider client={queryClient}>\n <DndProvider backend={HTML5Backend}>\n <LanguageProvider messages={{}}>\n <Theme\n themes={{\n dark: darkTheme,\n light: lightTheme,\n }}\n >\n <NotificationsProvider>\n <GuidedTourProvider>\n <UnstableGuidedTourContext enabled={false}>\n <ConfigurationContextProvider\n showReleaseNotification={false}\n logos={{\n auth: { default: 'default' },\n menu: { default: 'default' },\n }}\n updateProjectSettings={jest.fn()}\n >\n <AppInfoProvider\n autoReload\n useYarn\n dependencies={{\n '@strapi/plugin-documentation': '4.2.0',\n '@strapi/provider-upload-cloudinary': '4.2.0',\n }}\n strapiVersion=\"4.1.0\"\n communityEdition\n shouldUpdateStrapi={false}\n >\n {children}\n </AppInfoProvider>\n </ConfigurationContextProvider>\n </UnstableGuidedTourContext>\n </GuidedTourProvider>\n </NotificationsProvider>\n </Theme>\n </LanguageProvider>\n </DndProvider>\n </QueryClientProvider>\n </AuthProvider>\n </Provider>\n </StrapiAppProvider>\n ),\n },\n ],\n {\n initialEntries,\n }\n );\n\n // en is the default locale of the admin app.\n return <RouterProvider router={router} />;\n};\n\n// eslint-disable-next-line react/jsx-no-useless-fragment\nconst fallbackWrapper = ({ children }: { children: React.ReactNode }) => <>{children}</>;\n\nexport interface RenderOptions {\n renderOptions?: RTLRenderOptions;\n userEventOptions?: Parameters<typeof userEvent.setup>[0];\n initialEntries?: MemoryRouterProps['initialEntries'];\n providerOptions?: Pick<ProvidersProps, 'storeConfig' | 'permissions'>;\n}\n\n/**\n * @alpha\n * @description A custom render function that wraps the component with the necessary providers,\n * for use of testing components within the Strapi Admin.\n */\nconst render = (\n ui: React.ReactElement,\n { renderOptions, userEventOptions, initialEntries, providerOptions }: RenderOptions = {}\n): RenderResult & { user: ReturnType<typeof userEvent.setup> } => {\n const { wrapper: Wrapper = fallbackWrapper, ...restOptions } = renderOptions ?? {};\n\n return {\n ...renderRTL(ui, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n }),\n user: userEvent.setup({\n skipHover: true,\n ...userEventOptions,\n }),\n };\n};\n\n/**\n * @alpha\n * @description A custom render-hook function that wraps the component with the necessary providers,\n * for use of testing hooks within the Strapi Admin.\n */\nconst renderHook = <\n Result,\n Props,\n Q extends Queries,\n Container extends Element | DocumentFragment = HTMLElement,\n BaseElement extends Element | DocumentFragment = Container,\n>(\n hook: (initialProps: Props) => Result,\n options?: RenderHookOptions<Props, Q, Container, BaseElement> &\n Pick<RenderOptions, 'initialEntries' | 'providerOptions'>\n): RenderHookResult<Result, Props> => {\n const {\n wrapper: Wrapper = fallbackWrapper,\n initialEntries,\n providerOptions,\n ...restOptions\n } = options ?? {};\n\n return renderHookRTL(hook, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n });\n};\n\nexport { render, renderHook, waitFor, server, act, screen, fireEvent, defaultTestStoreConfig };\n"],"names":["setLogger","log","warn","error","defaultTestStoreConfig","preloadedState","initialState","reducer","adminApi","reducerPath","admin_app","appReducer","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","DEFAULT_PERMISSIONS","fixtures","permissions","allPermissions","id","action","subject","properties","conditions","actionParameters","Providers","children","initialEntries","storeConfig","queryClient","QueryClient","defaultOptions","queries","retry","store","configureStore","router","createMemoryRouter","path","element","_jsx","StrapiAppProvider","components","rbac","RBAC","widgets","getAll","jest","fn","register","customFields","get","mockReturnValue","name","pluginId","type","icon","intlLabel","defaultMessage","intlDescription","Input","mockResolvedValue","default","fields","menu","getAdminInjectedComponents","getPlugin","plugins","runHookParallel","runHookWaterfall","mockImplementation","_name","initialValue","runHookSeries","settings","Provider","AuthProvider","_defaultPermissions","_disableRenewToken","QueryClientProvider","client","DndProvider","backend","HTML5Backend","LanguageProvider","messages","Theme","themes","dark","darkTheme","light","lightTheme","NotificationsProvider","GuidedTourProvider","UnstableGuidedTourContext","enabled","ConfigurationContextProvider","showReleaseNotification","logos","auth","updateProjectSettings","AppInfoProvider","autoReload","useYarn","dependencies","strapiVersion","communityEdition","shouldUpdateStrapi","RouterProvider","fallbackWrapper","_Fragment","render","ui","renderOptions","userEventOptions","providerOptions","wrapper","Wrapper","restOptions","renderRTL","user","userEvent","setup","skipHover","renderHook","hook","options","renderHookRTL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../admin/tests/utils.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { ConfigureStoreOptions, configureStore } from '@reduxjs/toolkit';\nimport { fixtures } from '@strapi/admin-test-utils';\nimport { darkTheme, lightTheme } from '@strapi/design-system';\nimport {\n fireEvent,\n renderHook as renderHookRTL,\n render as renderRTL,\n waitFor,\n RenderOptions as RTLRenderOptions,\n RenderResult,\n act,\n screen,\n RenderHookOptions,\n RenderHookResult,\n Queries,\n} from '@testing-library/react';\nimport { userEvent } from '@testing-library/user-event';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { QueryClient, QueryClientProvider, setLogger } from 'react-query';\nimport { Provider } from 'react-redux';\nimport { MemoryRouterProps, RouterProvider, createMemoryRouter } from 'react-router-dom';\n\nimport { GuidedTourContext } from '../src/components/GuidedTour/Context';\nimport { LanguageProvider } from '../src/components/LanguageProvider';\nimport { Theme } from '../src/components/Theme';\nimport { RBAC } from '../src/core/apis/rbac';\nimport { AppInfoProvider } from '../src/features/AppInfo';\nimport { AuthProvider, type Permission } from '../src/features/Auth';\nimport { _internalConfigurationContextProvider as ConfigurationContextProvider } from '../src/features/Configuration';\nimport { NotificationsProvider } from '../src/features/Notifications';\nimport { StrapiAppProvider } from '../src/features/StrapiApp';\nimport { reducer as appReducer } from '../src/reducer';\nimport { adminApi } from '../src/services/api';\n\nimport { server } from './server';\nimport { initialState } from './store';\n\nsetLogger({\n log: () => {},\n warn: () => {},\n error: () => {},\n});\n\ninterface ProvidersProps {\n children: React.ReactNode;\n initialEntries?: MemoryRouterProps['initialEntries'];\n storeConfig?: Partial<ConfigureStoreOptions>;\n permissions?: Permission[] | ((defaultPermissions: Permission[]) => Permission[] | undefined);\n}\n\nconst defaultTestStoreConfig = () => ({\n preloadedState: initialState(),\n reducer: {\n [adminApi.reducerPath]: adminApi.reducer,\n admin_app: appReducer,\n },\n // @ts-expect-error – this fails.\n middleware: (getDefaultMiddleware) => [\n ...getDefaultMiddleware({\n // Disable timing checks for test env\n immutableCheck: false,\n serializableCheck: false,\n }),\n adminApi.middleware,\n ],\n});\n\nconst DEFAULT_PERMISSIONS = [\n ...fixtures.permissions.allPermissions,\n {\n id: 314,\n action: 'admin::users.read',\n subject: null,\n properties: {},\n conditions: [],\n actionParameters: {},\n },\n];\n\nconst Providers = ({ children, initialEntries, storeConfig, permissions = [] }: ProvidersProps) => {\n const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n },\n },\n });\n\n const store = configureStore({\n ...defaultTestStoreConfig(),\n ...storeConfig,\n });\n\n const allPermissions =\n typeof permissions === 'function'\n ? permissions(DEFAULT_PERMISSIONS)\n : [...DEFAULT_PERMISSIONS, ...permissions];\n\n const router = createMemoryRouter(\n [\n {\n path: '/*',\n element: (\n <StrapiAppProvider\n components={{}}\n rbac={new RBAC()}\n widgets={\n {\n widgets: [],\n getAll: jest.fn(),\n register: jest.fn(),\n } as any\n }\n customFields={{\n customFields: {},\n get: jest.fn().mockReturnValue({\n name: 'color',\n pluginId: 'mycustomfields',\n type: 'text',\n icon: jest.fn(),\n intlLabel: {\n id: 'mycustomfields.color.label',\n defaultMessage: 'Color',\n },\n intlDescription: {\n id: 'mycustomfields.color.description',\n defaultMessage: 'Select any color',\n },\n components: {\n Input: jest.fn().mockResolvedValue({ default: jest.fn() }),\n },\n }),\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n fields={{}}\n menu={[]}\n getAdminInjectedComponents={jest.fn()}\n getPlugin={jest.fn()}\n plugins={{}}\n runHookParallel={jest.fn()}\n runHookWaterfall={jest.fn().mockImplementation((_name, initialValue) => initialValue)}\n runHookSeries={jest.fn()}\n settings={{}}\n >\n <Provider store={store}>\n <AuthProvider _defaultPermissions={allPermissions} _disableRenewToken={true}>\n <QueryClientProvider client={queryClient}>\n <DndProvider backend={HTML5Backend}>\n <LanguageProvider messages={{}}>\n <Theme\n themes={{\n dark: darkTheme,\n light: lightTheme,\n }}\n >\n <NotificationsProvider>\n <GuidedTourContext enabled={false}>\n <ConfigurationContextProvider\n showReleaseNotification={false}\n logos={{\n auth: { default: 'default' },\n menu: { default: 'default' },\n }}\n updateProjectSettings={jest.fn()}\n >\n <AppInfoProvider\n autoReload\n useYarn\n dependencies={{\n '@strapi/plugin-documentation': '4.2.0',\n '@strapi/provider-upload-cloudinary': '4.2.0',\n }}\n strapiVersion=\"4.1.0\"\n communityEdition\n shouldUpdateStrapi={false}\n >\n {children}\n </AppInfoProvider>\n </ConfigurationContextProvider>\n </GuidedTourContext>\n </NotificationsProvider>\n </Theme>\n </LanguageProvider>\n </DndProvider>\n </QueryClientProvider>\n </AuthProvider>\n </Provider>\n </StrapiAppProvider>\n ),\n },\n ],\n {\n initialEntries,\n }\n );\n\n // en is the default locale of the admin app.\n return <RouterProvider router={router} />;\n};\n\n// eslint-disable-next-line react/jsx-no-useless-fragment\nconst fallbackWrapper = ({ children }: { children: React.ReactNode }) => <>{children}</>;\n\nexport interface RenderOptions {\n renderOptions?: RTLRenderOptions;\n userEventOptions?: Parameters<typeof userEvent.setup>[0];\n initialEntries?: MemoryRouterProps['initialEntries'];\n providerOptions?: Pick<ProvidersProps, 'storeConfig' | 'permissions'>;\n}\n\n/**\n * @alpha\n * @description A custom render function that wraps the component with the necessary providers,\n * for use of testing components within the Strapi Admin.\n */\nconst render = (\n ui: React.ReactElement,\n { renderOptions, userEventOptions, initialEntries, providerOptions }: RenderOptions = {}\n): RenderResult & { user: ReturnType<typeof userEvent.setup> } => {\n const { wrapper: Wrapper = fallbackWrapper, ...restOptions } = renderOptions ?? {};\n\n return {\n ...renderRTL(ui, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n }),\n user: userEvent.setup({\n skipHover: true,\n ...userEventOptions,\n }),\n };\n};\n\n/**\n * @alpha\n * @description A custom render-hook function that wraps the component with the necessary providers,\n * for use of testing hooks within the Strapi Admin.\n */\nconst renderHook = <\n Result,\n Props,\n Q extends Queries,\n Container extends Element | DocumentFragment = HTMLElement,\n BaseElement extends Element | DocumentFragment = Container,\n>(\n hook: (initialProps: Props) => Result,\n options?: RenderHookOptions<Props, Q, Container, BaseElement> &\n Pick<RenderOptions, 'initialEntries' | 'providerOptions'>\n): RenderHookResult<Result, Props> => {\n const {\n wrapper: Wrapper = fallbackWrapper,\n initialEntries,\n providerOptions,\n ...restOptions\n } = options ?? {};\n\n return renderHookRTL(hook, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n });\n};\n\nexport { render, renderHook, waitFor, server, act, screen, fireEvent, defaultTestStoreConfig };\n"],"names":["setLogger","log","warn","error","defaultTestStoreConfig","preloadedState","initialState","reducer","adminApi","reducerPath","admin_app","appReducer","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","DEFAULT_PERMISSIONS","fixtures","permissions","allPermissions","id","action","subject","properties","conditions","actionParameters","Providers","children","initialEntries","storeConfig","queryClient","QueryClient","defaultOptions","queries","retry","store","configureStore","router","createMemoryRouter","path","element","_jsx","StrapiAppProvider","components","rbac","RBAC","widgets","getAll","jest","fn","register","customFields","get","mockReturnValue","name","pluginId","type","icon","intlLabel","defaultMessage","intlDescription","Input","mockResolvedValue","default","fields","menu","getAdminInjectedComponents","getPlugin","plugins","runHookParallel","runHookWaterfall","mockImplementation","_name","initialValue","runHookSeries","settings","Provider","AuthProvider","_defaultPermissions","_disableRenewToken","QueryClientProvider","client","DndProvider","backend","HTML5Backend","LanguageProvider","messages","Theme","themes","dark","darkTheme","light","lightTheme","NotificationsProvider","GuidedTourContext","enabled","ConfigurationContextProvider","showReleaseNotification","logos","auth","updateProjectSettings","AppInfoProvider","autoReload","useYarn","dependencies","strapiVersion","communityEdition","shouldUpdateStrapi","RouterProvider","fallbackWrapper","_Fragment","render","ui","renderOptions","userEventOptions","providerOptions","wrapper","Wrapper","restOptions","renderRTL","user","userEvent","setup","skipHover","renderHook","hook","options","renderHookRTL"],"mappings":"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"}
|
|
@@ -11,10 +11,9 @@ import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
|
11
11
|
import { setLogger, QueryClient, QueryClientProvider } from 'react-query';
|
|
12
12
|
import { Provider } from 'react-redux';
|
|
13
13
|
import { createMemoryRouter, RouterProvider } from 'react-router-dom';
|
|
14
|
-
import {
|
|
14
|
+
import { GuidedTourContext } from '../src/components/GuidedTour/Context.mjs';
|
|
15
15
|
import { LanguageProvider } from '../src/components/LanguageProvider.mjs';
|
|
16
16
|
import { Theme } from '../src/components/Theme.mjs';
|
|
17
|
-
import { UnstableGuidedTourContext } from '../src/components/UnstableGuidedTour/Context.mjs';
|
|
18
17
|
import { RBAC } from '../src/core/apis/rbac.mjs';
|
|
19
18
|
import { AppInfoProvider } from '../src/features/AppInfo.mjs';
|
|
20
19
|
import { AuthProvider } from '../src/features/Auth.mjs';
|
|
@@ -81,7 +80,7 @@ const Providers = ({ children, initialEntries, storeConfig, permissions = [] })=
|
|
|
81
80
|
components: {},
|
|
82
81
|
rbac: new RBAC(),
|
|
83
82
|
widgets: {
|
|
84
|
-
widgets:
|
|
83
|
+
widgets: [],
|
|
85
84
|
getAll: jest.fn(),
|
|
86
85
|
register: jest.fn()
|
|
87
86
|
},
|
|
@@ -135,32 +134,30 @@ const Providers = ({ children, initialEntries, storeConfig, permissions = [] })=
|
|
|
135
134
|
light: lightTheme
|
|
136
135
|
},
|
|
137
136
|
children: /*#__PURE__*/ jsx(NotificationsProvider, {
|
|
138
|
-
children: /*#__PURE__*/ jsx(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
default: 'default'
|
|
146
|
-
},
|
|
147
|
-
menu: {
|
|
148
|
-
default: 'default'
|
|
149
|
-
}
|
|
137
|
+
children: /*#__PURE__*/ jsx(GuidedTourContext, {
|
|
138
|
+
enabled: false,
|
|
139
|
+
children: /*#__PURE__*/ jsx(ConfigurationContextProvider, {
|
|
140
|
+
showReleaseNotification: false,
|
|
141
|
+
logos: {
|
|
142
|
+
auth: {
|
|
143
|
+
default: 'default'
|
|
150
144
|
},
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
145
|
+
menu: {
|
|
146
|
+
default: 'default'
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
updateProjectSettings: jest.fn(),
|
|
150
|
+
children: /*#__PURE__*/ jsx(AppInfoProvider, {
|
|
151
|
+
autoReload: true,
|
|
152
|
+
useYarn: true,
|
|
153
|
+
dependencies: {
|
|
154
|
+
'@strapi/plugin-documentation': '4.2.0',
|
|
155
|
+
'@strapi/provider-upload-cloudinary': '4.2.0'
|
|
156
|
+
},
|
|
157
|
+
strapiVersion: "4.1.0",
|
|
158
|
+
communityEdition: true,
|
|
159
|
+
shouldUpdateStrapi: false,
|
|
160
|
+
children: children
|
|
164
161
|
})
|
|
165
162
|
})
|
|
166
163
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../admin/tests/utils.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { ConfigureStoreOptions, configureStore } from '@reduxjs/toolkit';\nimport { fixtures } from '@strapi/admin-test-utils';\nimport { darkTheme, lightTheme } from '@strapi/design-system';\nimport {\n fireEvent,\n renderHook as renderHookRTL,\n render as renderRTL,\n waitFor,\n RenderOptions as RTLRenderOptions,\n RenderResult,\n act,\n screen,\n RenderHookOptions,\n RenderHookResult,\n Queries,\n} from '@testing-library/react';\nimport { userEvent } from '@testing-library/user-event';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { QueryClient, QueryClientProvider, setLogger } from 'react-query';\nimport { Provider } from 'react-redux';\nimport { MemoryRouterProps, RouterProvider, createMemoryRouter } from 'react-router-dom';\n\nimport { GuidedTourProvider } from '../src/components/GuidedTour/Provider';\nimport { LanguageProvider } from '../src/components/LanguageProvider';\nimport { Theme } from '../src/components/Theme';\nimport { UnstableGuidedTourContext } from '../src/components/UnstableGuidedTour/Context';\nimport { RBAC } from '../src/core/apis/rbac';\nimport { AppInfoProvider } from '../src/features/AppInfo';\nimport { AuthProvider, type Permission } from '../src/features/Auth';\nimport { _internalConfigurationContextProvider as ConfigurationContextProvider } from '../src/features/Configuration';\nimport { NotificationsProvider } from '../src/features/Notifications';\nimport { StrapiAppProvider } from '../src/features/StrapiApp';\nimport { reducer as appReducer } from '../src/reducer';\nimport { adminApi } from '../src/services/api';\n\nimport { server } from './server';\nimport { initialState } from './store';\n\nsetLogger({\n log: () => {},\n warn: () => {},\n error: () => {},\n});\n\ninterface ProvidersProps {\n children: React.ReactNode;\n initialEntries?: MemoryRouterProps['initialEntries'];\n storeConfig?: Partial<ConfigureStoreOptions>;\n permissions?: Permission[] | ((defaultPermissions: Permission[]) => Permission[] | undefined);\n}\n\nconst defaultTestStoreConfig = () => ({\n preloadedState: initialState(),\n reducer: {\n [adminApi.reducerPath]: adminApi.reducer,\n admin_app: appReducer,\n },\n // @ts-expect-error – this fails.\n middleware: (getDefaultMiddleware) => [\n ...getDefaultMiddleware({\n // Disable timing checks for test env\n immutableCheck: false,\n serializableCheck: false,\n }),\n adminApi.middleware,\n ],\n});\n\nconst DEFAULT_PERMISSIONS = [\n ...fixtures.permissions.allPermissions,\n {\n id: 314,\n action: 'admin::users.read',\n subject: null,\n properties: {},\n conditions: [],\n actionParameters: {},\n },\n];\n\nconst Providers = ({ children, initialEntries, storeConfig, permissions = [] }: ProvidersProps) => {\n const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n },\n },\n });\n\n const store = configureStore({\n ...defaultTestStoreConfig(),\n ...storeConfig,\n });\n\n const allPermissions =\n typeof permissions === 'function'\n ? permissions(DEFAULT_PERMISSIONS)\n : [...DEFAULT_PERMISSIONS, ...permissions];\n\n const router = createMemoryRouter(\n [\n {\n path: '/*',\n element: (\n <StrapiAppProvider\n components={{}}\n rbac={new RBAC()}\n widgets={{\n widgets: {},\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n customFields={{\n customFields: {},\n get: jest.fn().mockReturnValue({\n name: 'color',\n pluginId: 'mycustomfields',\n type: 'text',\n icon: jest.fn(),\n intlLabel: {\n id: 'mycustomfields.color.label',\n defaultMessage: 'Color',\n },\n intlDescription: {\n id: 'mycustomfields.color.description',\n defaultMessage: 'Select any color',\n },\n components: {\n Input: jest.fn().mockResolvedValue({ default: jest.fn() }),\n },\n }),\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n fields={{}}\n menu={[]}\n getAdminInjectedComponents={jest.fn()}\n getPlugin={jest.fn()}\n plugins={{}}\n runHookParallel={jest.fn()}\n runHookWaterfall={jest.fn().mockImplementation((_name, initialValue) => initialValue)}\n runHookSeries={jest.fn()}\n settings={{}}\n >\n <Provider store={store}>\n <AuthProvider _defaultPermissions={allPermissions} _disableRenewToken={true}>\n <QueryClientProvider client={queryClient}>\n <DndProvider backend={HTML5Backend}>\n <LanguageProvider messages={{}}>\n <Theme\n themes={{\n dark: darkTheme,\n light: lightTheme,\n }}\n >\n <NotificationsProvider>\n <GuidedTourProvider>\n <UnstableGuidedTourContext enabled={false}>\n <ConfigurationContextProvider\n showReleaseNotification={false}\n logos={{\n auth: { default: 'default' },\n menu: { default: 'default' },\n }}\n updateProjectSettings={jest.fn()}\n >\n <AppInfoProvider\n autoReload\n useYarn\n dependencies={{\n '@strapi/plugin-documentation': '4.2.0',\n '@strapi/provider-upload-cloudinary': '4.2.0',\n }}\n strapiVersion=\"4.1.0\"\n communityEdition\n shouldUpdateStrapi={false}\n >\n {children}\n </AppInfoProvider>\n </ConfigurationContextProvider>\n </UnstableGuidedTourContext>\n </GuidedTourProvider>\n </NotificationsProvider>\n </Theme>\n </LanguageProvider>\n </DndProvider>\n </QueryClientProvider>\n </AuthProvider>\n </Provider>\n </StrapiAppProvider>\n ),\n },\n ],\n {\n initialEntries,\n }\n );\n\n // en is the default locale of the admin app.\n return <RouterProvider router={router} />;\n};\n\n// eslint-disable-next-line react/jsx-no-useless-fragment\nconst fallbackWrapper = ({ children }: { children: React.ReactNode }) => <>{children}</>;\n\nexport interface RenderOptions {\n renderOptions?: RTLRenderOptions;\n userEventOptions?: Parameters<typeof userEvent.setup>[0];\n initialEntries?: MemoryRouterProps['initialEntries'];\n providerOptions?: Pick<ProvidersProps, 'storeConfig' | 'permissions'>;\n}\n\n/**\n * @alpha\n * @description A custom render function that wraps the component with the necessary providers,\n * for use of testing components within the Strapi Admin.\n */\nconst render = (\n ui: React.ReactElement,\n { renderOptions, userEventOptions, initialEntries, providerOptions }: RenderOptions = {}\n): RenderResult & { user: ReturnType<typeof userEvent.setup> } => {\n const { wrapper: Wrapper = fallbackWrapper, ...restOptions } = renderOptions ?? {};\n\n return {\n ...renderRTL(ui, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n }),\n user: userEvent.setup({\n skipHover: true,\n ...userEventOptions,\n }),\n };\n};\n\n/**\n * @alpha\n * @description A custom render-hook function that wraps the component with the necessary providers,\n * for use of testing hooks within the Strapi Admin.\n */\nconst renderHook = <\n Result,\n Props,\n Q extends Queries,\n Container extends Element | DocumentFragment = HTMLElement,\n BaseElement extends Element | DocumentFragment = Container,\n>(\n hook: (initialProps: Props) => Result,\n options?: RenderHookOptions<Props, Q, Container, BaseElement> &\n Pick<RenderOptions, 'initialEntries' | 'providerOptions'>\n): RenderHookResult<Result, Props> => {\n const {\n wrapper: Wrapper = fallbackWrapper,\n initialEntries,\n providerOptions,\n ...restOptions\n } = options ?? {};\n\n return renderHookRTL(hook, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n });\n};\n\nexport { render, renderHook, waitFor, server, act, screen, fireEvent, defaultTestStoreConfig };\n"],"names":["setLogger","log","warn","error","defaultTestStoreConfig","preloadedState","initialState","reducer","adminApi","reducerPath","admin_app","appReducer","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","DEFAULT_PERMISSIONS","fixtures","permissions","allPermissions","id","action","subject","properties","conditions","actionParameters","Providers","children","initialEntries","storeConfig","queryClient","QueryClient","defaultOptions","queries","retry","store","configureStore","router","createMemoryRouter","path","element","_jsx","StrapiAppProvider","components","rbac","RBAC","widgets","getAll","jest","fn","register","customFields","get","mockReturnValue","name","pluginId","type","icon","intlLabel","defaultMessage","intlDescription","Input","mockResolvedValue","default","fields","menu","getAdminInjectedComponents","getPlugin","plugins","runHookParallel","runHookWaterfall","mockImplementation","_name","initialValue","runHookSeries","settings","Provider","AuthProvider","_defaultPermissions","_disableRenewToken","QueryClientProvider","client","DndProvider","backend","HTML5Backend","LanguageProvider","messages","Theme","themes","dark","darkTheme","light","lightTheme","NotificationsProvider","GuidedTourProvider","UnstableGuidedTourContext","enabled","ConfigurationContextProvider","showReleaseNotification","logos","auth","updateProjectSettings","AppInfoProvider","autoReload","useYarn","dependencies","strapiVersion","communityEdition","shouldUpdateStrapi","RouterProvider","fallbackWrapper","_Fragment","render","ui","renderOptions","userEventOptions","providerOptions","wrapper","Wrapper","restOptions","renderRTL","user","userEvent","setup","skipHover","renderHook","hook","options","renderHookRTL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../admin/tests/utils.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport * as React from 'react';\n\nimport { ConfigureStoreOptions, configureStore } from '@reduxjs/toolkit';\nimport { fixtures } from '@strapi/admin-test-utils';\nimport { darkTheme, lightTheme } from '@strapi/design-system';\nimport {\n fireEvent,\n renderHook as renderHookRTL,\n render as renderRTL,\n waitFor,\n RenderOptions as RTLRenderOptions,\n RenderResult,\n act,\n screen,\n RenderHookOptions,\n RenderHookResult,\n Queries,\n} from '@testing-library/react';\nimport { userEvent } from '@testing-library/user-event';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { QueryClient, QueryClientProvider, setLogger } from 'react-query';\nimport { Provider } from 'react-redux';\nimport { MemoryRouterProps, RouterProvider, createMemoryRouter } from 'react-router-dom';\n\nimport { GuidedTourContext } from '../src/components/GuidedTour/Context';\nimport { LanguageProvider } from '../src/components/LanguageProvider';\nimport { Theme } from '../src/components/Theme';\nimport { RBAC } from '../src/core/apis/rbac';\nimport { AppInfoProvider } from '../src/features/AppInfo';\nimport { AuthProvider, type Permission } from '../src/features/Auth';\nimport { _internalConfigurationContextProvider as ConfigurationContextProvider } from '../src/features/Configuration';\nimport { NotificationsProvider } from '../src/features/Notifications';\nimport { StrapiAppProvider } from '../src/features/StrapiApp';\nimport { reducer as appReducer } from '../src/reducer';\nimport { adminApi } from '../src/services/api';\n\nimport { server } from './server';\nimport { initialState } from './store';\n\nsetLogger({\n log: () => {},\n warn: () => {},\n error: () => {},\n});\n\ninterface ProvidersProps {\n children: React.ReactNode;\n initialEntries?: MemoryRouterProps['initialEntries'];\n storeConfig?: Partial<ConfigureStoreOptions>;\n permissions?: Permission[] | ((defaultPermissions: Permission[]) => Permission[] | undefined);\n}\n\nconst defaultTestStoreConfig = () => ({\n preloadedState: initialState(),\n reducer: {\n [adminApi.reducerPath]: adminApi.reducer,\n admin_app: appReducer,\n },\n // @ts-expect-error – this fails.\n middleware: (getDefaultMiddleware) => [\n ...getDefaultMiddleware({\n // Disable timing checks for test env\n immutableCheck: false,\n serializableCheck: false,\n }),\n adminApi.middleware,\n ],\n});\n\nconst DEFAULT_PERMISSIONS = [\n ...fixtures.permissions.allPermissions,\n {\n id: 314,\n action: 'admin::users.read',\n subject: null,\n properties: {},\n conditions: [],\n actionParameters: {},\n },\n];\n\nconst Providers = ({ children, initialEntries, storeConfig, permissions = [] }: ProvidersProps) => {\n const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n },\n },\n });\n\n const store = configureStore({\n ...defaultTestStoreConfig(),\n ...storeConfig,\n });\n\n const allPermissions =\n typeof permissions === 'function'\n ? permissions(DEFAULT_PERMISSIONS)\n : [...DEFAULT_PERMISSIONS, ...permissions];\n\n const router = createMemoryRouter(\n [\n {\n path: '/*',\n element: (\n <StrapiAppProvider\n components={{}}\n rbac={new RBAC()}\n widgets={\n {\n widgets: [],\n getAll: jest.fn(),\n register: jest.fn(),\n } as any\n }\n customFields={{\n customFields: {},\n get: jest.fn().mockReturnValue({\n name: 'color',\n pluginId: 'mycustomfields',\n type: 'text',\n icon: jest.fn(),\n intlLabel: {\n id: 'mycustomfields.color.label',\n defaultMessage: 'Color',\n },\n intlDescription: {\n id: 'mycustomfields.color.description',\n defaultMessage: 'Select any color',\n },\n components: {\n Input: jest.fn().mockResolvedValue({ default: jest.fn() }),\n },\n }),\n getAll: jest.fn(),\n register: jest.fn(),\n }}\n fields={{}}\n menu={[]}\n getAdminInjectedComponents={jest.fn()}\n getPlugin={jest.fn()}\n plugins={{}}\n runHookParallel={jest.fn()}\n runHookWaterfall={jest.fn().mockImplementation((_name, initialValue) => initialValue)}\n runHookSeries={jest.fn()}\n settings={{}}\n >\n <Provider store={store}>\n <AuthProvider _defaultPermissions={allPermissions} _disableRenewToken={true}>\n <QueryClientProvider client={queryClient}>\n <DndProvider backend={HTML5Backend}>\n <LanguageProvider messages={{}}>\n <Theme\n themes={{\n dark: darkTheme,\n light: lightTheme,\n }}\n >\n <NotificationsProvider>\n <GuidedTourContext enabled={false}>\n <ConfigurationContextProvider\n showReleaseNotification={false}\n logos={{\n auth: { default: 'default' },\n menu: { default: 'default' },\n }}\n updateProjectSettings={jest.fn()}\n >\n <AppInfoProvider\n autoReload\n useYarn\n dependencies={{\n '@strapi/plugin-documentation': '4.2.0',\n '@strapi/provider-upload-cloudinary': '4.2.0',\n }}\n strapiVersion=\"4.1.0\"\n communityEdition\n shouldUpdateStrapi={false}\n >\n {children}\n </AppInfoProvider>\n </ConfigurationContextProvider>\n </GuidedTourContext>\n </NotificationsProvider>\n </Theme>\n </LanguageProvider>\n </DndProvider>\n </QueryClientProvider>\n </AuthProvider>\n </Provider>\n </StrapiAppProvider>\n ),\n },\n ],\n {\n initialEntries,\n }\n );\n\n // en is the default locale of the admin app.\n return <RouterProvider router={router} />;\n};\n\n// eslint-disable-next-line react/jsx-no-useless-fragment\nconst fallbackWrapper = ({ children }: { children: React.ReactNode }) => <>{children}</>;\n\nexport interface RenderOptions {\n renderOptions?: RTLRenderOptions;\n userEventOptions?: Parameters<typeof userEvent.setup>[0];\n initialEntries?: MemoryRouterProps['initialEntries'];\n providerOptions?: Pick<ProvidersProps, 'storeConfig' | 'permissions'>;\n}\n\n/**\n * @alpha\n * @description A custom render function that wraps the component with the necessary providers,\n * for use of testing components within the Strapi Admin.\n */\nconst render = (\n ui: React.ReactElement,\n { renderOptions, userEventOptions, initialEntries, providerOptions }: RenderOptions = {}\n): RenderResult & { user: ReturnType<typeof userEvent.setup> } => {\n const { wrapper: Wrapper = fallbackWrapper, ...restOptions } = renderOptions ?? {};\n\n return {\n ...renderRTL(ui, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n }),\n user: userEvent.setup({\n skipHover: true,\n ...userEventOptions,\n }),\n };\n};\n\n/**\n * @alpha\n * @description A custom render-hook function that wraps the component with the necessary providers,\n * for use of testing hooks within the Strapi Admin.\n */\nconst renderHook = <\n Result,\n Props,\n Q extends Queries,\n Container extends Element | DocumentFragment = HTMLElement,\n BaseElement extends Element | DocumentFragment = Container,\n>(\n hook: (initialProps: Props) => Result,\n options?: RenderHookOptions<Props, Q, Container, BaseElement> &\n Pick<RenderOptions, 'initialEntries' | 'providerOptions'>\n): RenderHookResult<Result, Props> => {\n const {\n wrapper: Wrapper = fallbackWrapper,\n initialEntries,\n providerOptions,\n ...restOptions\n } = options ?? {};\n\n return renderHookRTL(hook, {\n wrapper: ({ children }) => (\n <Providers initialEntries={initialEntries} {...providerOptions}>\n <Wrapper>{children}</Wrapper>\n </Providers>\n ),\n ...restOptions,\n });\n};\n\nexport { render, renderHook, waitFor, server, act, screen, fireEvent, defaultTestStoreConfig };\n"],"names":["setLogger","log","warn","error","defaultTestStoreConfig","preloadedState","initialState","reducer","adminApi","reducerPath","admin_app","appReducer","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","DEFAULT_PERMISSIONS","fixtures","permissions","allPermissions","id","action","subject","properties","conditions","actionParameters","Providers","children","initialEntries","storeConfig","queryClient","QueryClient","defaultOptions","queries","retry","store","configureStore","router","createMemoryRouter","path","element","_jsx","StrapiAppProvider","components","rbac","RBAC","widgets","getAll","jest","fn","register","customFields","get","mockReturnValue","name","pluginId","type","icon","intlLabel","defaultMessage","intlDescription","Input","mockResolvedValue","default","fields","menu","getAdminInjectedComponents","getPlugin","plugins","runHookParallel","runHookWaterfall","mockImplementation","_name","initialValue","runHookSeries","settings","Provider","AuthProvider","_defaultPermissions","_disableRenewToken","QueryClientProvider","client","DndProvider","backend","HTML5Backend","LanguageProvider","messages","Theme","themes","dark","darkTheme","light","lightTheme","NotificationsProvider","GuidedTourContext","enabled","ConfigurationContextProvider","showReleaseNotification","logos","auth","updateProjectSettings","AppInfoProvider","autoReload","useYarn","dependencies","strapiVersion","communityEdition","shouldUpdateStrapi","RouterProvider","fallbackWrapper","_Fragment","render","ui","renderOptions","userEventOptions","providerOptions","wrapper","Wrapper","restOptions","renderRTL","user","userEvent","setup","skipHover","renderHook","hook","options","renderHookRTL"],"mappings":"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"}
|
|
@@ -117,7 +117,8 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
117
117
|
defaultMessage: 'Single Sign-On'
|
|
118
118
|
},
|
|
119
119
|
to: '/settings/single-sign-on',
|
|
120
|
-
id: 'sso'
|
|
120
|
+
id: 'sso',
|
|
121
|
+
licenseOnly: true
|
|
121
122
|
}
|
|
122
123
|
] : []
|
|
123
124
|
],
|
|
@@ -129,7 +130,8 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
129
130
|
defaultMessage: 'Audit Logs'
|
|
130
131
|
},
|
|
131
132
|
to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
|
|
132
|
-
id: 'auditLogs'
|
|
133
|
+
id: 'auditLogs',
|
|
134
|
+
licenseOnly: true
|
|
133
135
|
}
|
|
134
136
|
] : []
|
|
135
137
|
]
|