@strapi/admin 5.18.1 → 5.19.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/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/SubNav.js +17 -11
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +18 -12
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js +30 -0
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs +30 -0
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js +32 -10
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs +32 -10
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js +28 -12
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs +28 -12
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js +31 -24
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs +25 -18
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.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/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/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/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 +4 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +4 -0
- package/dist/admin/admin/src/translations/en.json.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/src/components/SubNav.d.ts +2 -1
- package/dist/admin/src/components/UnstableGuidedTour/Context.d.ts +2 -0
- package/dist/admin/src/features/Tracking.d.ts +22 -3
- package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
- package/package.json +7 -7
|
@@ -6,6 +6,7 @@ var designSystem = require('@strapi/design-system');
|
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
7
|
var reactRouterDom = require('react-router-dom');
|
|
8
8
|
var styled = require('styled-components');
|
|
9
|
+
var Tracking = require('../../features/Tracking.js');
|
|
9
10
|
var Context = require('./Context.js');
|
|
10
11
|
|
|
11
12
|
function _interopNamespaceDefault(e) {
|
|
@@ -123,7 +124,31 @@ const createStepComponents = (tourName)=>({
|
|
|
123
124
|
})
|
|
124
125
|
}),
|
|
125
126
|
Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps })=>{
|
|
127
|
+
const { trackUsage } = Tracking.useTracking();
|
|
126
128
|
const dispatch = Context.unstableUseGuidedTour('GuidedTourPopover', (s)=>s.dispatch);
|
|
129
|
+
const state = Context.unstableUseGuidedTour('GuidedTourPopover', (s)=>s.state);
|
|
130
|
+
const currentStep = state.tours[tourName].currentStep + 1;
|
|
131
|
+
const actualTourLength = state.tours[tourName].length;
|
|
132
|
+
const handleSkipAction = ()=>{
|
|
133
|
+
trackUsage('didSkipGuidedTour', {
|
|
134
|
+
name: tourName
|
|
135
|
+
});
|
|
136
|
+
dispatch({
|
|
137
|
+
type: 'skip_tour',
|
|
138
|
+
payload: tourName
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
const handleNextStep = ()=>{
|
|
142
|
+
if (currentStep === actualTourLength) {
|
|
143
|
+
trackUsage('didCompleteGuidedTour', {
|
|
144
|
+
name: tourName
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
dispatch({
|
|
148
|
+
type: 'next_step',
|
|
149
|
+
payload: tourName
|
|
150
|
+
});
|
|
151
|
+
};
|
|
127
152
|
return /*#__PURE__*/ jsxRuntime.jsx(ActionsContainer, {
|
|
128
153
|
width: "100%",
|
|
129
154
|
padding: 3,
|
|
@@ -140,10 +165,7 @@ const createStepComponents = (tourName)=>({
|
|
|
140
165
|
children: [
|
|
141
166
|
showSkip && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
142
167
|
variant: "tertiary",
|
|
143
|
-
onClick:
|
|
144
|
-
type: 'skip_tour',
|
|
145
|
-
payload: tourName
|
|
146
|
-
}),
|
|
168
|
+
onClick: handleSkipAction,
|
|
147
169
|
children: /*#__PURE__*/ jsxRuntime.jsx(reactIntl.FormattedMessage, {
|
|
148
170
|
id: "tours.skip",
|
|
149
171
|
defaultMessage: "Skip"
|
|
@@ -152,19 +174,13 @@ const createStepComponents = (tourName)=>({
|
|
|
152
174
|
to ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
153
175
|
tag: reactRouterDom.NavLink,
|
|
154
176
|
to: to,
|
|
155
|
-
onClick:
|
|
156
|
-
type: 'next_step',
|
|
157
|
-
payload: tourName
|
|
158
|
-
}),
|
|
177
|
+
onClick: handleNextStep,
|
|
159
178
|
children: /*#__PURE__*/ jsxRuntime.jsx(reactIntl.FormattedMessage, {
|
|
160
179
|
id: "tours.next",
|
|
161
180
|
defaultMessage: "Next"
|
|
162
181
|
})
|
|
163
182
|
}) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
164
|
-
onClick:
|
|
165
|
-
type: 'next_step',
|
|
166
|
-
payload: tourName
|
|
167
|
-
}),
|
|
183
|
+
onClick: handleNextStep,
|
|
168
184
|
children: /*#__PURE__*/ jsxRuntime.jsx(reactIntl.FormattedMessage, {
|
|
169
185
|
id: "tours.next",
|
|
170
186
|
defaultMessage: "Next"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, type MessageDescriptor } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { unstableUseGuidedTour, ValidTourName } from './Context';\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (props: StepProps) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nexport const StepCount = ({ tourName }: { tourName: ValidTourName }) => {\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n // TODO: Currently all tours do not count their last step, but we should find a way to make this more smart\n const displayedLength = state.tours[tourName].length - 1;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedLength }}\n />\n </Typography>\n );\n};\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content ref={ref} side=\"top\" align=\"center\" style={{ border: 'none' }} {...props}>\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage tagName=\"h1\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\">\n <FormattedMessage tagName=\"p\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n ),\n\n Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps }) => {\n const dispatch = unstableUseGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <Flex gap={2}>\n {showSkip && (\n <Button\n variant=\"tertiary\"\n onClick={() => dispatch({ type: 'skip_tour', payload: tourName })}\n >\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {to ? (\n <LinkButton\n tag={NavLink}\n to={to}\n onClick={() => dispatch({ type: 'next_step', payload: tourName })}\n >\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={() => dispatch({ type: 'next_step', payload: tourName })}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents };\n"],"names":["ActionsContainer","styled","Flex","theme","colors","neutral150","PopoverArrow","Popover","Arrow","neutral0","StepCount","tourName","state","unstableUseGuidedTour","s","currentStep","tours","displayedLength","length","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","createStepComponents","Root","React","forwardRef","withArrow","props","ref","_jsxs","Content","side","align","style","border","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","Box","paddingTop","paddingLeft","paddingRight","paddingBottom","tag","fontWeight","tagName","Actions","showStepCount","showSkip","to","flexProps","dispatch","padding","justifyContent","_Fragment","gap","Button","onClick","type","payload","LinkButton","NavLink"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Step.js","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, type MessageDescriptor } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { type EventWithoutProperties, useTracking } from '../../features/Tracking';\n\nimport { unstableUseGuidedTour, ValidTourName } from './Context';\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (props: StepProps) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nexport const StepCount = ({ tourName }: { tourName: ValidTourName }) => {\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n // TODO: Currently all tours do not count their last step, but we should find a way to make this more smart\n const displayedLength = state.tours[tourName].length - 1;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedLength }}\n />\n </Typography>\n );\n};\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content ref={ref} side=\"top\" align=\"center\" style={{ border: 'none' }} {...props}>\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage tagName=\"h1\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\">\n <FormattedMessage tagName=\"p\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n ),\n\n Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps }) => {\n const { trackUsage } = useTracking();\n const dispatch = unstableUseGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = state.tours[tourName].length;\n\n const handleSkipAction = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n dispatch({ type: 'next_step', payload: tourName });\n };\n\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkipAction}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents };\n"],"names":["ActionsContainer","styled","Flex","theme","colors","neutral150","PopoverArrow","Popover","Arrow","neutral0","StepCount","tourName","state","unstableUseGuidedTour","s","currentStep","tours","displayedLength","length","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","createStepComponents","Root","React","forwardRef","withArrow","props","ref","_jsxs","Content","side","align","style","border","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","Box","paddingTop","paddingLeft","paddingRight","paddingBottom","tag","fontWeight","tagName","Actions","showStepCount","showSkip","to","flexProps","trackUsage","useTracking","dispatch","actualTourLength","handleSkipAction","name","type","payload","handleNextStep","padding","justifyContent","_Fragment","gap","Button","onClick","LinkButton","NavLink"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { Flex, Popover, Typography, Box, Button, LinkButton } from '@strapi/desi
|
|
|
4
4
|
import { FormattedMessage } from 'react-intl';
|
|
5
5
|
import { NavLink } from 'react-router-dom';
|
|
6
6
|
import { styled } from 'styled-components';
|
|
7
|
+
import { useTracking } from '../../features/Tracking.mjs';
|
|
7
8
|
import { unstableUseGuidedTour } from './Context.mjs';
|
|
8
9
|
|
|
9
10
|
const ActionsContainer = styled(Flex)`
|
|
@@ -102,7 +103,31 @@ const createStepComponents = (tourName)=>({
|
|
|
102
103
|
})
|
|
103
104
|
}),
|
|
104
105
|
Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps })=>{
|
|
106
|
+
const { trackUsage } = useTracking();
|
|
105
107
|
const dispatch = unstableUseGuidedTour('GuidedTourPopover', (s)=>s.dispatch);
|
|
108
|
+
const state = unstableUseGuidedTour('GuidedTourPopover', (s)=>s.state);
|
|
109
|
+
const currentStep = state.tours[tourName].currentStep + 1;
|
|
110
|
+
const actualTourLength = state.tours[tourName].length;
|
|
111
|
+
const handleSkipAction = ()=>{
|
|
112
|
+
trackUsage('didSkipGuidedTour', {
|
|
113
|
+
name: tourName
|
|
114
|
+
});
|
|
115
|
+
dispatch({
|
|
116
|
+
type: 'skip_tour',
|
|
117
|
+
payload: tourName
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
const handleNextStep = ()=>{
|
|
121
|
+
if (currentStep === actualTourLength) {
|
|
122
|
+
trackUsage('didCompleteGuidedTour', {
|
|
123
|
+
name: tourName
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
dispatch({
|
|
127
|
+
type: 'next_step',
|
|
128
|
+
payload: tourName
|
|
129
|
+
});
|
|
130
|
+
};
|
|
106
131
|
return /*#__PURE__*/ jsx(ActionsContainer, {
|
|
107
132
|
width: "100%",
|
|
108
133
|
padding: 3,
|
|
@@ -119,10 +144,7 @@ const createStepComponents = (tourName)=>({
|
|
|
119
144
|
children: [
|
|
120
145
|
showSkip && /*#__PURE__*/ jsx(Button, {
|
|
121
146
|
variant: "tertiary",
|
|
122
|
-
onClick:
|
|
123
|
-
type: 'skip_tour',
|
|
124
|
-
payload: tourName
|
|
125
|
-
}),
|
|
147
|
+
onClick: handleSkipAction,
|
|
126
148
|
children: /*#__PURE__*/ jsx(FormattedMessage, {
|
|
127
149
|
id: "tours.skip",
|
|
128
150
|
defaultMessage: "Skip"
|
|
@@ -131,19 +153,13 @@ const createStepComponents = (tourName)=>({
|
|
|
131
153
|
to ? /*#__PURE__*/ jsx(LinkButton, {
|
|
132
154
|
tag: NavLink,
|
|
133
155
|
to: to,
|
|
134
|
-
onClick:
|
|
135
|
-
type: 'next_step',
|
|
136
|
-
payload: tourName
|
|
137
|
-
}),
|
|
156
|
+
onClick: handleNextStep,
|
|
138
157
|
children: /*#__PURE__*/ jsx(FormattedMessage, {
|
|
139
158
|
id: "tours.next",
|
|
140
159
|
defaultMessage: "Next"
|
|
141
160
|
})
|
|
142
161
|
}) : /*#__PURE__*/ jsx(Button, {
|
|
143
|
-
onClick:
|
|
144
|
-
type: 'next_step',
|
|
145
|
-
payload: tourName
|
|
146
|
-
}),
|
|
162
|
+
onClick: handleNextStep,
|
|
147
163
|
children: /*#__PURE__*/ jsx(FormattedMessage, {
|
|
148
164
|
id: "tours.next",
|
|
149
165
|
defaultMessage: "Next"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.mjs","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, type MessageDescriptor } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { unstableUseGuidedTour, ValidTourName } from './Context';\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (props: StepProps) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nexport const StepCount = ({ tourName }: { tourName: ValidTourName }) => {\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n // TODO: Currently all tours do not count their last step, but we should find a way to make this more smart\n const displayedLength = state.tours[tourName].length - 1;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedLength }}\n />\n </Typography>\n );\n};\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content ref={ref} side=\"top\" align=\"center\" style={{ border: 'none' }} {...props}>\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage tagName=\"h1\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\">\n <FormattedMessage tagName=\"p\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n ),\n\n Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps }) => {\n const dispatch = unstableUseGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <Flex gap={2}>\n {showSkip && (\n <Button\n variant=\"tertiary\"\n onClick={() => dispatch({ type: 'skip_tour', payload: tourName })}\n >\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {to ? (\n <LinkButton\n tag={NavLink}\n to={to}\n onClick={() => dispatch({ type: 'next_step', payload: tourName })}\n >\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={() => dispatch({ type: 'next_step', payload: tourName })}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents };\n"],"names":["ActionsContainer","styled","Flex","theme","colors","neutral150","PopoverArrow","Popover","Arrow","neutral0","StepCount","tourName","state","unstableUseGuidedTour","s","currentStep","tours","displayedLength","length","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","createStepComponents","Root","React","forwardRef","withArrow","props","ref","_jsxs","Content","side","align","style","border","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","Box","paddingTop","paddingLeft","paddingRight","paddingBottom","tag","fontWeight","tagName","Actions","showStepCount","showSkip","to","flexProps","dispatch","padding","justifyContent","_Fragment","gap","Button","onClick","type","payload","LinkButton","NavLink"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Step.mjs","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, type MessageDescriptor } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { type EventWithoutProperties, useTracking } from '../../features/Tracking';\n\nimport { unstableUseGuidedTour, ValidTourName } from './Context';\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (props: StepProps) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nexport const StepCount = ({ tourName }: { tourName: ValidTourName }) => {\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n // TODO: Currently all tours do not count their last step, but we should find a way to make this more smart\n const displayedLength = state.tours[tourName].length - 1;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedLength }}\n />\n </Typography>\n );\n};\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content ref={ref} side=\"top\" align=\"center\" style={{ border: 'none' }} {...props}>\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage tagName=\"h1\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\">\n <FormattedMessage tagName=\"p\" id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n ),\n\n Actions: ({ showStepCount = true, showSkip = false, to, children, ...flexProps }) => {\n const { trackUsage } = useTracking();\n const dispatch = unstableUseGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = unstableUseGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = state.tours[tourName].length;\n\n const handleSkipAction = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n dispatch({ type: 'next_step', payload: tourName });\n };\n\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkipAction}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents };\n"],"names":["ActionsContainer","styled","Flex","theme","colors","neutral150","PopoverArrow","Popover","Arrow","neutral0","StepCount","tourName","state","unstableUseGuidedTour","s","currentStep","tours","displayedLength","length","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","createStepComponents","Root","React","forwardRef","withArrow","props","ref","_jsxs","Content","side","align","style","border","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","Box","paddingTop","paddingLeft","paddingRight","paddingBottom","tag","fontWeight","tagName","Actions","showStepCount","showSkip","to","flexProps","trackUsage","useTracking","dispatch","actualTourLength","handleSkipAction","name","type","payload","handleNextStep","padding","justifyContent","_Fragment","gap","Button","onClick","LinkButton","NavLink"],"mappings":"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"}
|
|
@@ -99,26 +99,30 @@ const tours = {
|
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
name: 'Components',
|
|
102
|
-
content: (Step, { dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
102
|
+
content: (Step$1, { dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
|
|
103
103
|
side: "right",
|
|
104
104
|
sideOffset: 16,
|
|
105
105
|
children: [
|
|
106
|
-
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
106
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
|
|
107
107
|
id: "tours.contentTypeBuilder.Components.title",
|
|
108
108
|
defaultMessage: "Components"
|
|
109
109
|
}),
|
|
110
|
-
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
110
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
|
|
111
111
|
id: "tours.contentTypeBuilder.Components.content",
|
|
112
112
|
defaultMessage: "A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards."
|
|
113
113
|
}),
|
|
114
|
-
/*#__PURE__*/ jsxRuntime.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
114
|
+
/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
|
|
115
|
+
children: [
|
|
116
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
117
|
+
tourName: "contentTypeBuilder"
|
|
118
|
+
}),
|
|
119
|
+
/*#__PURE__*/ jsxRuntime.jsx(GotItAction, {
|
|
120
|
+
onClick: ()=>dispatch({
|
|
121
|
+
type: 'next_step',
|
|
122
|
+
payload: 'contentTypeBuilder'
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
]
|
|
122
126
|
})
|
|
123
127
|
]
|
|
124
128
|
})
|
|
@@ -148,7 +152,7 @@ const tours = {
|
|
|
148
152
|
contentManager: createTour('contentManager', [
|
|
149
153
|
{
|
|
150
154
|
name: 'Introduction',
|
|
151
|
-
when: (completedActions)=>completedActions.includes('didCreateContentTypeSchema')
|
|
155
|
+
when: (completedActions)=>completedActions.includes('didCreateContentTypeSchema'),
|
|
152
156
|
content: (Step)=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
153
157
|
side: "top",
|
|
154
158
|
withArrow: false,
|
|
@@ -186,26 +190,30 @@ const tours = {
|
|
|
186
190
|
},
|
|
187
191
|
{
|
|
188
192
|
name: 'Publish',
|
|
189
|
-
content: (Step, { dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
193
|
+
content: (Step$1, { dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
|
|
190
194
|
side: "left",
|
|
191
195
|
align: "center",
|
|
192
196
|
children: [
|
|
193
|
-
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
197
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
|
|
194
198
|
id: "tours.contentManager.Publish.title",
|
|
195
199
|
defaultMessage: "Publish"
|
|
196
200
|
}),
|
|
197
|
-
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
201
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
|
|
198
202
|
id: "tours.contentManager.Publish.content",
|
|
199
203
|
defaultMessage: "Publish entries to make their content available through the Document Service API."
|
|
200
204
|
}),
|
|
201
|
-
/*#__PURE__*/ jsxRuntime.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
205
|
+
/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
|
|
206
|
+
children: [
|
|
207
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
208
|
+
tourName: "contentManager"
|
|
209
|
+
}),
|
|
210
|
+
/*#__PURE__*/ jsxRuntime.jsx(GotItAction, {
|
|
211
|
+
onClick: ()=>dispatch({
|
|
212
|
+
type: 'next_step',
|
|
213
|
+
payload: 'contentManager'
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
]
|
|
209
217
|
})
|
|
210
218
|
]
|
|
211
219
|
})
|
|
@@ -235,7 +243,6 @@ const tours = {
|
|
|
235
243
|
apiTokens: createTour('apiTokens', [
|
|
236
244
|
{
|
|
237
245
|
name: 'Introduction',
|
|
238
|
-
when: (completedActions)=>!completedActions.includes('didCreateApiToken'),
|
|
239
246
|
content: (Step)=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
240
247
|
sideOffset: -36,
|
|
241
248
|
withArrow: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tours.js","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Tours.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Popover, Portal, Flex, Button, FlexProps } from '@strapi/design-system';\nimport { FormattedMessage } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useGetGuidedTourMetaQuery } from '../../services/admin';\n\nimport {\n type State,\n type Action,\n unstableUseGuidedTour,\n ValidTourName,\n ExtendedCompletedActions,\n} from './Context';\nimport { Step, StepCount, createStepComponents } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Tours\n * -----------------------------------------------------------------------------------------------*/\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nconst tours = {\n contentTypeBuilder: createTour('contentTypeBuilder', [\n {\n name: 'Introduction',\n content: (Step) => (\n <Step.Root side=\"bottom\" withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'CollectionTypes',\n content: (Step) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'SingleTypes',\n content: (Step) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.SingleTypes.title\"\n defaultMessage=\"Single Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'Components',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions justifyContent=\"flex-end\">\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </Step.Actions>\n </Step.Root>\n ),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"It’s time to create content!\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"Now that you created content types, you’ll be able to create content in the content manager.\"\n />\n <Step.Actions showStepCount={false} to=\"/content-manager\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateContentTypeSchema'),\n },\n ]),\n contentManager: createTour('contentManager', [\n {\n name: 'Introduction',\n when: (completedActions) =>\n completedActions.includes('didCreateContentTypeSchema') &&\n !completedActions.includes('didCreateContent'),\n content: (Step) => (\n <Step.Root side=\"top\" withArrow={false}>\n <Step.Title\n id=\"tours.contentManager.Introduction.title\"\n defaultMessage=\"Content manager\"\n />\n <Step.Content\n id=\"tours.contentManager.Introduction.content\"\n defaultMessage=\"Create and manage content from your collection types and single types.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'Fields',\n content: (Step) => (\n <Step.Root sideOffset={-12}>\n <Step.Title id=\"tours.contentManager.Fields.title\" defaultMessage=\"Fields\" />\n <Step.Content\n id=\"tours.contentManager.Fields.content\"\n defaultMessage=\"Add content to the fields created in the Content-Type Builder.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'Publish',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"left\" align=\"center\">\n <Step.Title id=\"tours.contentManager.Publish.title\" defaultMessage=\"Publish\" />\n <Step.Content\n id=\"tours.contentManager.Publish.content\"\n defaultMessage=\"Publish entries to make their content available through the Document Service API.\"\n />\n <Step.Actions justifyContent=\"flex-end\">\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentManager' })}\n />\n </Step.Actions>\n </Step.Root>\n ),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentManager.FinalStep.title\"\n defaultMessage=\"It’s time to create API Tokens!\"\n />\n <Step.Content\n id=\"tours.contentManager.FinalStep.content\"\n defaultMessage=\"Now that you’ve created and published content, time to create API tokens and set up permissions.\"\n />\n <Step.Actions showStepCount={false} to=\"/settings/api-tokens\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateContent'),\n },\n ]),\n apiTokens: createTour('apiTokens', [\n {\n name: 'Introduction',\n when: (completedActions) => !completedActions.includes('didCreateApiToken'),\n content: (Step) => (\n <Step.Root sideOffset={-36} withArrow={false}>\n <Step.Title id=\"tours.apiTokens.Introduction.title\" defaultMessage=\"API tokens\" />\n <Step.Content\n id=\"tours.apiTokens.Introduction.content\"\n defaultMessage=\"Create and manage API tokens with highly customizable permissions.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'CreateAnAPIToken',\n content: (Step) => (\n <Step.Root side=\"bottom\" align=\"end\" sideOffset={-10}>\n <Step.Title\n id=\"tours.apiTokens.CreateAnAPIToken.title\"\n defaultMessage=\"Create an API token\"\n />\n <Step.Content\n id=\"tours.apiTokens.CreateAnAPIToken.content\"\n defaultMessage=\"Create a new API token. Choose a name, duration and type.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'CopyAPIToken',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"bottom\" align=\"start\" sideOffset={-5}>\n <Step.Title\n id=\"tours.apiTokens.CopyAPIToken.title\"\n defaultMessage=\"Copy your new API token\"\n />\n <Step.Content\n id=\"tours.apiTokens.CopyAPIToken.content\"\n defaultMessage=\"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.\"\n />\n <Step.Actions>\n <StepCount tourName=\"apiTokens\" />\n <GotItAction onClick={() => dispatch({ type: 'next_step', payload: 'apiTokens' })} />\n </Step.Actions>\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateApiToken'),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\" align=\"start\">\n <Step.Title\n id=\"tours.apiTokens.FinalStep.title\"\n defaultMessage=\"It’s time to deploy your application!\"\n />\n <Step.Content\n id=\"tours.apiTokens.FinalStep.content\"\n defaultMessage=\"Your application is ready to be deployed and its content to be shared with the world!\"\n />\n <Step.Actions showStepCount={false} to=\"/\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCopyApiToken'),\n },\n ]),\n strapiCloud: createTour('strapiCloud', []),\n} as const;\n\ntype Tours = typeof tours;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourTooltip\n * -----------------------------------------------------------------------------------------------*/\n\ntype Content = (\n Step: Step,\n {\n state,\n dispatch,\n }: {\n state: State;\n dispatch: React.Dispatch<Action>;\n }\n) => React.ReactNode;\n\ntype GuidedTourTooltipProps = {\n children: React.ReactNode;\n content: Content;\n tourName: ValidTourName;\n step: number;\n when?: (completedActions: ExtendedCompletedActions) => boolean;\n};\n\nconst UnstableGuidedTourTooltip = ({ children, ...props }: GuidedTourTooltipProps) => {\n const state = unstableUseGuidedTour('TooltipWrapper', (s) => s.state);\n const hasFutureFlag = window.strapi.future.isEnabled('unstableGuidedTour');\n\n if (!state.enabled) {\n return <>{children}</>;\n }\n\n if (!hasFutureFlag) {\n return <>{children}</>;\n }\n\n return <GuidedTourTooltipImpl {...props}>{children}</GuidedTourTooltipImpl>;\n};\n\nconst GuidedTourOverlay = styled(Box)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(50, 50, 77, 0.2);\n z-index: 10;\n`;\n\nconst GuidedTourTooltipImpl = ({\n children,\n content,\n tourName,\n step,\n when,\n}: GuidedTourTooltipProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n\n const state = unstableUseGuidedTour('UnstableGuidedTourTooltip', (s) => s.state);\n const dispatch = unstableUseGuidedTour('UnstableGuidedTourTooltip', (s) => s.dispatch);\n\n const isCurrentStep = state.tours[tourName].currentStep === step;\n const isStepConditionMet = when ? when(state.completedActions) : true;\n const isPopoverOpen =\n guidedTourMeta?.data?.isFirstSuperAdminUser &&\n !state.tours[tourName].isCompleted &&\n isCurrentStep &&\n isStepConditionMet;\n\n // Lock the scroll\n React.useEffect(() => {\n if (!isPopoverOpen) return;\n\n const originalStyle = window.getComputedStyle(document.body).overflow;\n document.body.style.overflow = 'hidden';\n\n return () => {\n document.body.style.overflow = originalStyle;\n };\n }, [isPopoverOpen]);\n\n // TODO: This isn't great but the only solution for syncing the completed actions\n React.useEffect(() => {\n dispatch({\n type: 'set_completed_actions',\n payload: guidedTourMeta?.data?.completedActions ?? [],\n });\n }, [dispatch, guidedTourMeta?.data?.completedActions]);\n\n const Step = React.useMemo(() => createStepComponents(tourName), [tourName]);\n\n return (\n <>\n {isPopoverOpen && (\n <Portal>\n <GuidedTourOverlay />\n </Portal>\n )}\n <Popover.Root open={isPopoverOpen}>\n <Popover.Anchor>{children}</Popover.Anchor>\n {content(Step, { state, dispatch })}\n </Popover.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tour factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype TourStep<P extends string> = {\n name: P;\n content: Content;\n when?: (completedActions: ExtendedCompletedActions) => boolean;\n};\n\nfunction createTour<const T extends ReadonlyArray<TourStep<string>>>(tourName: string, steps: T) {\n type Components = {\n [K in T[number]['name']]: React.ComponentType<{ children: React.ReactNode }>;\n };\n\n const tour = steps.reduce((acc, step, index) => {\n if (step.name in acc) {\n throw Error(`The tour: ${tourName} with step: ${step.name} has already been registered`);\n }\n\n acc[step.name as keyof Components] = ({ children }: { children: React.ReactNode }) => {\n return (\n <UnstableGuidedTourTooltip\n tourName={tourName as ValidTourName}\n step={index}\n content={step.content}\n when={step.when}\n >\n {children}\n </UnstableGuidedTourTooltip>\n );\n };\n\n return acc;\n }, {} as Components);\n\n return tour;\n}\n\nexport type { Content, Tours };\nexport { tours };\n"],"names":["GotItAction","onClick","_jsx","Button","FormattedMessage","id","defaultMessage","tours","contentTypeBuilder","createTour","name","content","Step","_jsxs","Root","side","withArrow","Title","Content","Actions","showSkip","sideOffset","dispatch","justifyContent","type","payload","showStepCount","to","when","completedActions","includes","contentManager","align","apiTokens","StepCount","tourName","strapiCloud","UnstableGuidedTourTooltip","children","props","state","unstableUseGuidedTour","s","hasFutureFlag","window","strapi","future","isEnabled","enabled","_Fragment","GuidedTourTooltipImpl","GuidedTourOverlay","styled","Box","step","data","guidedTourMeta","useGetGuidedTourMetaQuery","isCurrentStep","currentStep","isStepConditionMet","isPopoverOpen","isFirstSuperAdminUser","isCompleted","React","useEffect","originalStyle","getComputedStyle","document","body","overflow","style","useMemo","createStepComponents","Portal","Popover","open","Anchor","steps","tour","reduce","acc","index","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tours.js","sources":["../../../../../../admin/src/components/UnstableGuidedTour/Tours.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Popover, Portal, Button } from '@strapi/design-system';\nimport { FormattedMessage } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useGetGuidedTourMetaQuery } from '../../services/admin';\n\nimport {\n type State,\n type Action,\n unstableUseGuidedTour,\n ValidTourName,\n ExtendedCompletedActions,\n} from './Context';\nimport { Step, StepCount, createStepComponents } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Tours\n * -----------------------------------------------------------------------------------------------*/\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nconst tours = {\n contentTypeBuilder: createTour('contentTypeBuilder', [\n {\n name: 'Introduction',\n content: (Step) => (\n <Step.Root side=\"bottom\" withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'CollectionTypes',\n content: (Step) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'SingleTypes',\n content: (Step) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.SingleTypes.title\"\n defaultMessage=\"Single Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'Components',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </Step.Actions>\n </Step.Root>\n ),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"It’s time to create content!\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"Now that you created content types, you’ll be able to create content in the content manager.\"\n />\n <Step.Actions showStepCount={false} to=\"/content-manager\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateContentTypeSchema'),\n },\n ]),\n contentManager: createTour('contentManager', [\n {\n name: 'Introduction',\n when: (completedActions) => completedActions.includes('didCreateContentTypeSchema'),\n content: (Step) => (\n <Step.Root side=\"top\" withArrow={false}>\n <Step.Title\n id=\"tours.contentManager.Introduction.title\"\n defaultMessage=\"Content manager\"\n />\n <Step.Content\n id=\"tours.contentManager.Introduction.content\"\n defaultMessage=\"Create and manage content from your collection types and single types.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'Fields',\n content: (Step) => (\n <Step.Root sideOffset={-12}>\n <Step.Title id=\"tours.contentManager.Fields.title\" defaultMessage=\"Fields\" />\n <Step.Content\n id=\"tours.contentManager.Fields.content\"\n defaultMessage=\"Add content to the fields created in the Content-Type Builder.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'Publish',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"left\" align=\"center\">\n <Step.Title id=\"tours.contentManager.Publish.title\" defaultMessage=\"Publish\" />\n <Step.Content\n id=\"tours.contentManager.Publish.content\"\n defaultMessage=\"Publish entries to make their content available through the Document Service API.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentManager\" />\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentManager' })}\n />\n </Step.Actions>\n </Step.Root>\n ),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentManager.FinalStep.title\"\n defaultMessage=\"It’s time to create API Tokens!\"\n />\n <Step.Content\n id=\"tours.contentManager.FinalStep.content\"\n defaultMessage=\"Now that you’ve created and published content, time to create API tokens and set up permissions.\"\n />\n <Step.Actions showStepCount={false} to=\"/settings/api-tokens\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateContent'),\n },\n ]),\n apiTokens: createTour('apiTokens', [\n {\n name: 'Introduction',\n content: (Step) => (\n <Step.Root sideOffset={-36} withArrow={false}>\n <Step.Title id=\"tours.apiTokens.Introduction.title\" defaultMessage=\"API tokens\" />\n <Step.Content\n id=\"tours.apiTokens.Introduction.content\"\n defaultMessage=\"Create and manage API tokens with highly customizable permissions.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n ),\n },\n {\n name: 'CreateAnAPIToken',\n content: (Step) => (\n <Step.Root side=\"bottom\" align=\"end\" sideOffset={-10}>\n <Step.Title\n id=\"tours.apiTokens.CreateAnAPIToken.title\"\n defaultMessage=\"Create an API token\"\n />\n <Step.Content\n id=\"tours.apiTokens.CreateAnAPIToken.content\"\n defaultMessage=\"Create a new API token. Choose a name, duration and type.\"\n />\n <Step.Actions />\n </Step.Root>\n ),\n },\n {\n name: 'CopyAPIToken',\n content: (Step, { dispatch }) => (\n <Step.Root side=\"bottom\" align=\"start\" sideOffset={-5}>\n <Step.Title\n id=\"tours.apiTokens.CopyAPIToken.title\"\n defaultMessage=\"Copy your new API token\"\n />\n <Step.Content\n id=\"tours.apiTokens.CopyAPIToken.content\"\n defaultMessage=\"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.\"\n />\n <Step.Actions>\n <StepCount tourName=\"apiTokens\" />\n <GotItAction onClick={() => dispatch({ type: 'next_step', payload: 'apiTokens' })} />\n </Step.Actions>\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCreateApiToken'),\n },\n {\n name: 'Finish',\n content: (Step) => (\n <Step.Root side=\"right\" align=\"start\">\n <Step.Title\n id=\"tours.apiTokens.FinalStep.title\"\n defaultMessage=\"It’s time to deploy your application!\"\n />\n <Step.Content\n id=\"tours.apiTokens.FinalStep.content\"\n defaultMessage=\"Your application is ready to be deployed and its content to be shared with the world!\"\n />\n <Step.Actions showStepCount={false} to=\"/\" />\n </Step.Root>\n ),\n when: (completedActions) => completedActions.includes('didCopyApiToken'),\n },\n ]),\n strapiCloud: createTour('strapiCloud', []),\n} as const;\n\ntype Tours = typeof tours;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourTooltip\n * -----------------------------------------------------------------------------------------------*/\n\ntype Content = (\n Step: Step,\n {\n state,\n dispatch,\n }: {\n state: State;\n dispatch: React.Dispatch<Action>;\n }\n) => React.ReactNode;\n\ntype GuidedTourTooltipProps = {\n children: React.ReactNode;\n content: Content;\n tourName: ValidTourName;\n step: number;\n when?: (completedActions: ExtendedCompletedActions) => boolean;\n};\n\nconst UnstableGuidedTourTooltip = ({ children, ...props }: GuidedTourTooltipProps) => {\n const state = unstableUseGuidedTour('TooltipWrapper', (s) => s.state);\n const hasFutureFlag = window.strapi.future.isEnabled('unstableGuidedTour');\n\n if (!state.enabled) {\n return <>{children}</>;\n }\n\n if (!hasFutureFlag) {\n return <>{children}</>;\n }\n\n return <GuidedTourTooltipImpl {...props}>{children}</GuidedTourTooltipImpl>;\n};\n\nconst GuidedTourOverlay = styled(Box)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(50, 50, 77, 0.2);\n z-index: 10;\n`;\n\nconst GuidedTourTooltipImpl = ({\n children,\n content,\n tourName,\n step,\n when,\n}: GuidedTourTooltipProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n\n const state = unstableUseGuidedTour('UnstableGuidedTourTooltip', (s) => s.state);\n const dispatch = unstableUseGuidedTour('UnstableGuidedTourTooltip', (s) => s.dispatch);\n\n const isCurrentStep = state.tours[tourName].currentStep === step;\n const isStepConditionMet = when ? when(state.completedActions) : true;\n const isPopoverOpen =\n guidedTourMeta?.data?.isFirstSuperAdminUser &&\n !state.tours[tourName].isCompleted &&\n isCurrentStep &&\n isStepConditionMet;\n\n // Lock the scroll\n React.useEffect(() => {\n if (!isPopoverOpen) return;\n\n const originalStyle = window.getComputedStyle(document.body).overflow;\n document.body.style.overflow = 'hidden';\n\n return () => {\n document.body.style.overflow = originalStyle;\n };\n }, [isPopoverOpen]);\n\n // TODO: This isn't great but the only solution for syncing the completed actions\n React.useEffect(() => {\n dispatch({\n type: 'set_completed_actions',\n payload: guidedTourMeta?.data?.completedActions ?? [],\n });\n }, [dispatch, guidedTourMeta?.data?.completedActions]);\n\n const Step = React.useMemo(() => createStepComponents(tourName), [tourName]);\n\n return (\n <>\n {isPopoverOpen && (\n <Portal>\n <GuidedTourOverlay />\n </Portal>\n )}\n <Popover.Root open={isPopoverOpen}>\n <Popover.Anchor>{children}</Popover.Anchor>\n {content(Step, { state, dispatch })}\n </Popover.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tour factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype TourStep<P extends string> = {\n name: P;\n content: Content;\n when?: (completedActions: ExtendedCompletedActions) => boolean;\n};\n\nfunction createTour<const T extends ReadonlyArray<TourStep<string>>>(tourName: string, steps: T) {\n type Components = {\n [K in T[number]['name']]: React.ComponentType<{ children: React.ReactNode }>;\n };\n\n const tour = steps.reduce((acc, step, index) => {\n if (step.name in acc) {\n throw Error(`The tour: ${tourName} with step: ${step.name} has already been registered`);\n }\n\n acc[step.name as keyof Components] = ({ children }: { children: React.ReactNode }) => {\n return (\n <UnstableGuidedTourTooltip\n tourName={tourName as ValidTourName}\n step={index}\n content={step.content}\n when={step.when}\n >\n {children}\n </UnstableGuidedTourTooltip>\n );\n };\n\n return acc;\n }, {} as Components);\n\n return tour;\n}\n\nexport type { Content, Tours };\nexport { tours };\n"],"names":["GotItAction","onClick","_jsx","Button","FormattedMessage","id","defaultMessage","tours","contentTypeBuilder","createTour","name","content","Step","_jsxs","Root","side","withArrow","Title","Content","Actions","showSkip","sideOffset","dispatch","StepCount","tourName","type","payload","showStepCount","to","when","completedActions","includes","contentManager","align","apiTokens","strapiCloud","UnstableGuidedTourTooltip","children","props","state","unstableUseGuidedTour","s","hasFutureFlag","window","strapi","future","isEnabled","enabled","_Fragment","GuidedTourTooltipImpl","GuidedTourOverlay","styled","Box","step","data","guidedTourMeta","useGetGuidedTourMetaQuery","isCurrentStep","currentStep","isStepConditionMet","isPopoverOpen","isFirstSuperAdminUser","isCompleted","React","useEffect","originalStyle","getComputedStyle","document","body","overflow","style","useMemo","createStepComponents","Portal","Popover","open","Anchor","steps","tour","reduce","acc","index","Error"],"mappings":"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"}
|
|
@@ -90,14 +90,18 @@ const tours = {
|
|
|
90
90
|
id: "tours.contentTypeBuilder.Components.content",
|
|
91
91
|
defaultMessage: "A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards."
|
|
92
92
|
}),
|
|
93
|
-
/*#__PURE__*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
/*#__PURE__*/ jsxs(Step.Actions, {
|
|
94
|
+
children: [
|
|
95
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
96
|
+
tourName: "contentTypeBuilder"
|
|
97
|
+
}),
|
|
98
|
+
/*#__PURE__*/ jsx(GotItAction, {
|
|
99
|
+
onClick: ()=>dispatch({
|
|
100
|
+
type: 'next_step',
|
|
101
|
+
payload: 'contentTypeBuilder'
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
]
|
|
101
105
|
})
|
|
102
106
|
]
|
|
103
107
|
})
|
|
@@ -127,7 +131,7 @@ const tours = {
|
|
|
127
131
|
contentManager: createTour('contentManager', [
|
|
128
132
|
{
|
|
129
133
|
name: 'Introduction',
|
|
130
|
-
when: (completedActions)=>completedActions.includes('didCreateContentTypeSchema')
|
|
134
|
+
when: (completedActions)=>completedActions.includes('didCreateContentTypeSchema'),
|
|
131
135
|
content: (Step)=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
132
136
|
side: "top",
|
|
133
137
|
withArrow: false,
|
|
@@ -177,14 +181,18 @@ const tours = {
|
|
|
177
181
|
id: "tours.contentManager.Publish.content",
|
|
178
182
|
defaultMessage: "Publish entries to make their content available through the Document Service API."
|
|
179
183
|
}),
|
|
180
|
-
/*#__PURE__*/
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
184
|
+
/*#__PURE__*/ jsxs(Step.Actions, {
|
|
185
|
+
children: [
|
|
186
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
187
|
+
tourName: "contentManager"
|
|
188
|
+
}),
|
|
189
|
+
/*#__PURE__*/ jsx(GotItAction, {
|
|
190
|
+
onClick: ()=>dispatch({
|
|
191
|
+
type: 'next_step',
|
|
192
|
+
payload: 'contentManager'
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
]
|
|
188
196
|
})
|
|
189
197
|
]
|
|
190
198
|
})
|
|
@@ -214,7 +222,6 @@ const tours = {
|
|
|
214
222
|
apiTokens: createTour('apiTokens', [
|
|
215
223
|
{
|
|
216
224
|
name: 'Introduction',
|
|
217
|
-
when: (completedActions)=>!completedActions.includes('didCreateApiToken'),
|
|
218
225
|
content: (Step)=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
219
226
|
sideOffset: -36,
|
|
220
227
|
withArrow: false,
|