@strapi/admin 5.22.0 → 5.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/GuidedTour/Context.js +48 -8
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs +48 -9
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +35 -24
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +36 -25
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js +156 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs +154 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js +221 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs +219 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +219 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +217 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/{Step.js → Steps/Step.js} +116 -71
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/{Step.mjs → Steps/Step.mjs} +117 -74
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +47 -324
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +48 -326
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.js +19 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs +17 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js +31 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs +29 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs.map +1 -0
- package/dist/admin/admin/src/components/SubNav.js +3 -1
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +3 -1
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +4 -0
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/components/Widgets.mjs +5 -1
- package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +10 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +10 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +17 -14
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +17 -14
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +31 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs +12 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +28 -24
- 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 +28 -24
- 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.map +1 -1
- 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 +56 -57
- 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 +57 -58
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.js +0 -1
- package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.mjs +0 -1
- package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +33 -21
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +33 -21
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
- package/dist/admin/index.js +6 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +2 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/GuidedTour/Context.d.ts +28 -10
- package/dist/admin/src/components/GuidedTour/Steps/ApiTokensSteps.d.ts +20 -0
- package/dist/admin/src/components/GuidedTour/Steps/ContentManagerSteps.d.ts +21 -0
- package/dist/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.d.ts +30 -0
- package/dist/admin/src/components/GuidedTour/{Step.d.ts → Steps/Step.d.ts} +25 -6
- package/dist/admin/src/components/GuidedTour/Tours.d.ts +53 -14
- package/dist/admin/src/components/GuidedTour/utils/constants.d.ts +15 -0
- package/dist/admin/src/components/GuidedTour/utils/migrations.d.ts +6 -0
- package/dist/admin/src/features/Tracking.d.ts +23 -4
- package/dist/admin/src/index.d.ts +5 -0
- package/dist/admin/src/pages/Home/HomePage.d.ts +2 -2
- package/dist/server/server/src/controllers/admin.js +2 -5
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +2 -5
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/services/index.js +0 -2
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/index.mjs +0 -2
- package/dist/server/server/src/services/index.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +1 -1
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -1
- package/dist/server/src/index.d.ts +1 -6
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/constants.d.ts +1 -0
- package/dist/server/src/services/guided-tour.d.ts +2 -3
- package/dist/server/src/services/guided-tour.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +0 -5
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/shared/contracts/admin.d.ts +2 -2
- package/dist/shared/contracts/admin.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/admin/admin/src/components/GuidedTour/Step.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +0 -1
- package/dist/server/server/src/services/guided-tour.js +0 -61
- package/dist/server/server/src/services/guided-tour.js.map +0 -1
- package/dist/server/server/src/services/guided-tour.mjs +0 -59
- package/dist/server/server/src/services/guided-tour.mjs.map +0 -1
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactRouterDom = require('react-router-dom');
|
|
5
|
+
var Context = require('../Context.js');
|
|
6
|
+
var Tours = require('../Tours.js');
|
|
7
|
+
var constants = require('../utils/constants.js');
|
|
8
|
+
var Step = require('./Step.js');
|
|
9
|
+
|
|
10
|
+
const ContentManagerActions = ({ isActionRequired = false, ...props })=>{
|
|
11
|
+
const { collectionType } = reactRouterDom.useParams();
|
|
12
|
+
const state = Context.useGuidedTour('ContentManagerActions', (s)=>s.state);
|
|
13
|
+
const dispatch = Context.useGuidedTour('ContentManagerActions', (s)=>s.dispatch);
|
|
14
|
+
const isSingleType = collectionType === 'single-types';
|
|
15
|
+
const currentStepOffset = state.tours.contentManager.currentStep + 1;
|
|
16
|
+
const displayedCurrentStep = (()=>{
|
|
17
|
+
if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {
|
|
18
|
+
return currentStepOffset - collectionTypeSpecificSteps.length;
|
|
19
|
+
}
|
|
20
|
+
return currentStepOffset;
|
|
21
|
+
})();
|
|
22
|
+
// For single types we subtract all contentTypeSpecificSteps
|
|
23
|
+
const displayedTourLength = isSingleType ? Tours.tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length : Tours.tours.contentManager._meta.displayedStepCount;
|
|
24
|
+
const handleNextStep = ()=>{
|
|
25
|
+
if (isSingleType && state.tours.contentManager.currentStep === 0) {
|
|
26
|
+
// The tours diverge after the first step, on next click skip all the collection type specific steps
|
|
27
|
+
dispatch({
|
|
28
|
+
type: 'go_to_step',
|
|
29
|
+
payload: {
|
|
30
|
+
tourName: 'contentManager',
|
|
31
|
+
step: collectionTypeSpecificSteps.length + 1
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
dispatch({
|
|
36
|
+
type: 'next_step',
|
|
37
|
+
payload: 'contentManager'
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const handlePreviousStep = ()=>{
|
|
42
|
+
if (isSingleType && // Check the currentStep is the step after the collection type specific steps
|
|
43
|
+
state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1) {
|
|
44
|
+
dispatch({
|
|
45
|
+
type: 'go_to_step',
|
|
46
|
+
payload: {
|
|
47
|
+
tourName: 'contentManager',
|
|
48
|
+
// Go to the step just before the collection type specific steps
|
|
49
|
+
step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
dispatch({
|
|
54
|
+
type: 'previous_step',
|
|
55
|
+
payload: 'contentManager'
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
if (isActionRequired) {
|
|
60
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
61
|
+
children: [
|
|
62
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
63
|
+
tourName: "contentManager",
|
|
64
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
65
|
+
displayedTourLength: displayedTourLength
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.GotItAction, {
|
|
68
|
+
onClick: handleNextStep
|
|
69
|
+
})
|
|
70
|
+
]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
74
|
+
children: [
|
|
75
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
76
|
+
tourName: "contentManager",
|
|
77
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
78
|
+
displayedTourLength: displayedTourLength
|
|
79
|
+
}),
|
|
80
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.DefaultActions, {
|
|
81
|
+
tourName: "contentManager",
|
|
82
|
+
onNextStep: handleNextStep,
|
|
83
|
+
onPreviousStep: handlePreviousStep,
|
|
84
|
+
...props
|
|
85
|
+
})
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
/* -------------------------------------------------------------------------------------------------
|
|
90
|
+
* Step Components
|
|
91
|
+
* -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>{
|
|
92
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
93
|
+
side: "top",
|
|
94
|
+
sideOffset: 33,
|
|
95
|
+
withArrow: false,
|
|
96
|
+
children: [
|
|
97
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
98
|
+
id: "tours.contentManager.Introduction.title",
|
|
99
|
+
defaultMessage: "Content manager"
|
|
100
|
+
}),
|
|
101
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
102
|
+
id: "tours.contentManager.Introduction.content",
|
|
103
|
+
defaultMessage: "Create and manage content from your collection types and single types."
|
|
104
|
+
}),
|
|
105
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
106
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(ContentManagerActions, {
|
|
107
|
+
showSkip: true
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
const CreateNewEntry = ({ Step })=>{
|
|
114
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
115
|
+
side: "bottom",
|
|
116
|
+
align: "end",
|
|
117
|
+
children: [
|
|
118
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
119
|
+
id: "tours.contentManager.CreateNewEntry.title",
|
|
120
|
+
defaultMessage: "Create new entry"
|
|
121
|
+
}),
|
|
122
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
123
|
+
id: "tours.contentManager.CreateNewEntry.content",
|
|
124
|
+
defaultMessage: 'Click the "Create new entry" button to create and publish a new entry for this collection type.'
|
|
125
|
+
}),
|
|
126
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
127
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(ContentManagerActions, {
|
|
128
|
+
showPrevious: true
|
|
129
|
+
})
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
const Fields = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
135
|
+
sideOffset: -12,
|
|
136
|
+
children: [
|
|
137
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
138
|
+
id: "tours.contentManager.Fields.title",
|
|
139
|
+
defaultMessage: "Fields"
|
|
140
|
+
}),
|
|
141
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
142
|
+
id: "tours.contentManager.Fields.content",
|
|
143
|
+
defaultMessage: "First, fill in the fields you created in the Content-Type Builder."
|
|
144
|
+
}),
|
|
145
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
146
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(ContentManagerActions, {
|
|
147
|
+
showPrevious: true
|
|
148
|
+
})
|
|
149
|
+
})
|
|
150
|
+
]
|
|
151
|
+
});
|
|
152
|
+
const Publish = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
153
|
+
side: "left",
|
|
154
|
+
align: "center",
|
|
155
|
+
children: [
|
|
156
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
157
|
+
id: "tours.contentManager.Publish.title",
|
|
158
|
+
defaultMessage: "Publish"
|
|
159
|
+
}),
|
|
160
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
161
|
+
id: "tours.contentManager.Publish.content",
|
|
162
|
+
defaultMessage: 'Then click the "Publish" button to make your content available through the content API.'
|
|
163
|
+
}),
|
|
164
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
165
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(ContentManagerActions, {
|
|
166
|
+
isActionRequired: true
|
|
167
|
+
})
|
|
168
|
+
})
|
|
169
|
+
]
|
|
170
|
+
});
|
|
171
|
+
const Finish = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
172
|
+
side: "right",
|
|
173
|
+
children: [
|
|
174
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
175
|
+
id: "tours.contentManager.FinalStep.title",
|
|
176
|
+
defaultMessage: "Time to setup API tokens!"
|
|
177
|
+
}),
|
|
178
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
179
|
+
id: "tours.contentManager.FinalStep.content",
|
|
180
|
+
defaultMessage: "Now that you've created and published an entry, let's setup an API token to manage access to your content."
|
|
181
|
+
}),
|
|
182
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
183
|
+
showStepCount: false,
|
|
184
|
+
showPrevious: false,
|
|
185
|
+
to: "/settings/api-tokens"
|
|
186
|
+
})
|
|
187
|
+
]
|
|
188
|
+
});
|
|
189
|
+
/* -------------------------------------------------------------------------------------------------
|
|
190
|
+
* Steps
|
|
191
|
+
* -----------------------------------------------------------------------------------------------*/ const collectionTypeSpecificSteps = [
|
|
192
|
+
{
|
|
193
|
+
name: 'CreateNewEntry',
|
|
194
|
+
content: CreateNewEntry
|
|
195
|
+
}
|
|
196
|
+
];
|
|
197
|
+
const contentManagerSteps = [
|
|
198
|
+
{
|
|
199
|
+
name: 'Introduction',
|
|
200
|
+
when: (completedActions)=>completedActions.includes(constants.GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),
|
|
201
|
+
content: Introduction
|
|
202
|
+
},
|
|
203
|
+
...collectionTypeSpecificSteps,
|
|
204
|
+
{
|
|
205
|
+
name: 'Fields',
|
|
206
|
+
content: Fields
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'Publish',
|
|
210
|
+
content: Publish
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'Finish',
|
|
214
|
+
content: Finish,
|
|
215
|
+
excludeFromStepCount: true,
|
|
216
|
+
when: (completedActions)=>completedActions.includes(constants.GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent)
|
|
217
|
+
}
|
|
218
|
+
];
|
|
219
|
+
|
|
220
|
+
exports.contentManagerSteps = contentManagerSteps;
|
|
221
|
+
//# sourceMappingURL=ContentManagerSteps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentManagerSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentManagerSteps.tsx"],"sourcesContent":["import { useParams } from 'react-router-dom';\n\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { DefaultActions, DefaultActionsProps, GotItAction, StepCount } from './Step';\n\nconst ContentManagerActions = ({\n isActionRequired = false,\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & {\n isActionRequired?: boolean;\n}) => {\n const { collectionType } = useParams();\n\n const state = useGuidedTour('ContentManagerActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentManagerActions', (s) => s.dispatch);\n\n const isSingleType = collectionType === 'single-types';\n\n const currentStepOffset = state.tours.contentManager.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {\n return currentStepOffset - collectionTypeSpecificSteps.length;\n }\n\n return currentStepOffset;\n })();\n\n // For single types we subtract all contentTypeSpecificSteps\n const displayedTourLength = isSingleType\n ? tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length\n : tours.contentManager._meta.displayedStepCount;\n\n const handleNextStep = () => {\n if (isSingleType && state.tours.contentManager.currentStep === 0) {\n // The tours diverge after the first step, on next click skip all the collection type specific steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentManager', step: collectionTypeSpecificSteps.length + 1 },\n });\n } else {\n dispatch({\n type: 'next_step',\n payload: 'contentManager',\n });\n }\n };\n\n const handlePreviousStep = () => {\n if (\n isSingleType &&\n // Check the currentStep is the step after the collection type specific steps\n state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1\n ) {\n dispatch({\n type: 'go_to_step',\n payload: {\n tourName: 'contentManager',\n // Go to the step just before the collection type specific steps\n step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1,\n },\n });\n } else {\n dispatch({\n type: 'previous_step',\n payload: 'contentManager',\n });\n }\n };\n\n if (isActionRequired) {\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <GotItAction onClick={handleNextStep} />\n </>\n );\n }\n\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <DefaultActions\n tourName=\"contentManager\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"top\" sideOffset={33} withArrow={false}>\n <Step.Title id=\"tours.contentManager.Introduction.title\" defaultMessage=\"Content manager\" />\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>\n <ContentManagerActions showSkip />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst CreateNewEntry = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title\n id=\"tours.contentManager.CreateNewEntry.title\"\n defaultMessage=\"Create new entry\"\n />\n <Step.Content\n id=\"tours.contentManager.CreateNewEntry.content\"\n defaultMessage='Click the \"Create new entry\" button to create and publish a new entry for this collection type.'\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst Fields = ({ Step }: StepContentProps) => (\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=\"First, fill in the fields you created in the Content-Type Builder.\"\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Publish = ({ Step }: StepContentProps) => (\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='Then click the \"Publish\" button to make your content available through the content API.'\n />\n <Step.Actions>\n <ContentManagerActions isActionRequired />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentManager.FinalStep.title\"\n defaultMessage=\"Time to setup API tokens!\"\n />\n <Step.Content\n id=\"tours.contentManager.FinalStep.content\"\n defaultMessage=\"Now that you've created and published an entry, let's setup an API token to manage access to your content.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to=\"/settings/api-tokens\" />\n </Step.Root>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst collectionTypeSpecificSteps = [\n {\n name: 'CreateNewEntry',\n content: CreateNewEntry,\n },\n];\n\nexport const contentManagerSteps = [\n {\n name: 'Introduction',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n content: Introduction,\n },\n ...collectionTypeSpecificSteps,\n {\n name: 'Fields',\n content: Fields,\n },\n {\n name: 'Publish',\n content: Publish,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent),\n },\n] as const;\n"],"names":["ContentManagerActions","isActionRequired","props","collectionType","useParams","state","useGuidedTour","s","dispatch","isSingleType","currentStepOffset","tours","contentManager","currentStep","displayedCurrentStep","collectionTypeSpecificSteps","length","displayedTourLength","_meta","displayedStepCount","handleNextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","GotItAction","onClick","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","side","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","CreateNewEntry","align","showPrevious","Fields","Publish","Finish","showStepCount","to","name","content","contentManagerSteps","when","completedActions","includes","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","excludeFromStepCount","createContent"],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { useGuidedTour } from '../Context.mjs';
|
|
4
|
+
import { tours } from '../Tours.mjs';
|
|
5
|
+
import { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants.mjs';
|
|
6
|
+
import { StepCount, GotItAction, DefaultActions } from './Step.mjs';
|
|
7
|
+
|
|
8
|
+
const ContentManagerActions = ({ isActionRequired = false, ...props })=>{
|
|
9
|
+
const { collectionType } = useParams();
|
|
10
|
+
const state = useGuidedTour('ContentManagerActions', (s)=>s.state);
|
|
11
|
+
const dispatch = useGuidedTour('ContentManagerActions', (s)=>s.dispatch);
|
|
12
|
+
const isSingleType = collectionType === 'single-types';
|
|
13
|
+
const currentStepOffset = state.tours.contentManager.currentStep + 1;
|
|
14
|
+
const displayedCurrentStep = (()=>{
|
|
15
|
+
if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {
|
|
16
|
+
return currentStepOffset - collectionTypeSpecificSteps.length;
|
|
17
|
+
}
|
|
18
|
+
return currentStepOffset;
|
|
19
|
+
})();
|
|
20
|
+
// For single types we subtract all contentTypeSpecificSteps
|
|
21
|
+
const displayedTourLength = isSingleType ? tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length : tours.contentManager._meta.displayedStepCount;
|
|
22
|
+
const handleNextStep = ()=>{
|
|
23
|
+
if (isSingleType && state.tours.contentManager.currentStep === 0) {
|
|
24
|
+
// The tours diverge after the first step, on next click skip all the collection type specific steps
|
|
25
|
+
dispatch({
|
|
26
|
+
type: 'go_to_step',
|
|
27
|
+
payload: {
|
|
28
|
+
tourName: 'contentManager',
|
|
29
|
+
step: collectionTypeSpecificSteps.length + 1
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
dispatch({
|
|
34
|
+
type: 'next_step',
|
|
35
|
+
payload: 'contentManager'
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const handlePreviousStep = ()=>{
|
|
40
|
+
if (isSingleType && // Check the currentStep is the step after the collection type specific steps
|
|
41
|
+
state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1) {
|
|
42
|
+
dispatch({
|
|
43
|
+
type: 'go_to_step',
|
|
44
|
+
payload: {
|
|
45
|
+
tourName: 'contentManager',
|
|
46
|
+
// Go to the step just before the collection type specific steps
|
|
47
|
+
step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
dispatch({
|
|
52
|
+
type: 'previous_step',
|
|
53
|
+
payload: 'contentManager'
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
if (isActionRequired) {
|
|
58
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
|
59
|
+
children: [
|
|
60
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
61
|
+
tourName: "contentManager",
|
|
62
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
63
|
+
displayedTourLength: displayedTourLength
|
|
64
|
+
}),
|
|
65
|
+
/*#__PURE__*/ jsx(GotItAction, {
|
|
66
|
+
onClick: handleNextStep
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
74
|
+
tourName: "contentManager",
|
|
75
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
76
|
+
displayedTourLength: displayedTourLength
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ jsx(DefaultActions, {
|
|
79
|
+
tourName: "contentManager",
|
|
80
|
+
onNextStep: handleNextStep,
|
|
81
|
+
onPreviousStep: handlePreviousStep,
|
|
82
|
+
...props
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
/* -------------------------------------------------------------------------------------------------
|
|
88
|
+
* Step Components
|
|
89
|
+
* -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>{
|
|
90
|
+
return /*#__PURE__*/ jsxs(Step.Root, {
|
|
91
|
+
side: "top",
|
|
92
|
+
sideOffset: 33,
|
|
93
|
+
withArrow: false,
|
|
94
|
+
children: [
|
|
95
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
96
|
+
id: "tours.contentManager.Introduction.title",
|
|
97
|
+
defaultMessage: "Content manager"
|
|
98
|
+
}),
|
|
99
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
100
|
+
id: "tours.contentManager.Introduction.content",
|
|
101
|
+
defaultMessage: "Create and manage content from your collection types and single types."
|
|
102
|
+
}),
|
|
103
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
104
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
105
|
+
showSkip: true
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
const CreateNewEntry = ({ Step })=>{
|
|
112
|
+
return /*#__PURE__*/ jsxs(Step.Root, {
|
|
113
|
+
side: "bottom",
|
|
114
|
+
align: "end",
|
|
115
|
+
children: [
|
|
116
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
117
|
+
id: "tours.contentManager.CreateNewEntry.title",
|
|
118
|
+
defaultMessage: "Create new entry"
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
121
|
+
id: "tours.contentManager.CreateNewEntry.content",
|
|
122
|
+
defaultMessage: 'Click the "Create new entry" button to create and publish a new entry for this collection type.'
|
|
123
|
+
}),
|
|
124
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
125
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
126
|
+
showPrevious: true
|
|
127
|
+
})
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
const Fields = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
133
|
+
sideOffset: -12,
|
|
134
|
+
children: [
|
|
135
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
136
|
+
id: "tours.contentManager.Fields.title",
|
|
137
|
+
defaultMessage: "Fields"
|
|
138
|
+
}),
|
|
139
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
140
|
+
id: "tours.contentManager.Fields.content",
|
|
141
|
+
defaultMessage: "First, fill in the fields you created in the Content-Type Builder."
|
|
142
|
+
}),
|
|
143
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
144
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
145
|
+
showPrevious: true
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
]
|
|
149
|
+
});
|
|
150
|
+
const Publish = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
151
|
+
side: "left",
|
|
152
|
+
align: "center",
|
|
153
|
+
children: [
|
|
154
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
155
|
+
id: "tours.contentManager.Publish.title",
|
|
156
|
+
defaultMessage: "Publish"
|
|
157
|
+
}),
|
|
158
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
159
|
+
id: "tours.contentManager.Publish.content",
|
|
160
|
+
defaultMessage: 'Then click the "Publish" button to make your content available through the content API.'
|
|
161
|
+
}),
|
|
162
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
163
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
164
|
+
isActionRequired: true
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
]
|
|
168
|
+
});
|
|
169
|
+
const Finish = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
170
|
+
side: "right",
|
|
171
|
+
children: [
|
|
172
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
173
|
+
id: "tours.contentManager.FinalStep.title",
|
|
174
|
+
defaultMessage: "Time to setup API tokens!"
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
177
|
+
id: "tours.contentManager.FinalStep.content",
|
|
178
|
+
defaultMessage: "Now that you've created and published an entry, let's setup an API token to manage access to your content."
|
|
179
|
+
}),
|
|
180
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
181
|
+
showStepCount: false,
|
|
182
|
+
showPrevious: false,
|
|
183
|
+
to: "/settings/api-tokens"
|
|
184
|
+
})
|
|
185
|
+
]
|
|
186
|
+
});
|
|
187
|
+
/* -------------------------------------------------------------------------------------------------
|
|
188
|
+
* Steps
|
|
189
|
+
* -----------------------------------------------------------------------------------------------*/ const collectionTypeSpecificSteps = [
|
|
190
|
+
{
|
|
191
|
+
name: 'CreateNewEntry',
|
|
192
|
+
content: CreateNewEntry
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
const contentManagerSteps = [
|
|
196
|
+
{
|
|
197
|
+
name: 'Introduction',
|
|
198
|
+
when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),
|
|
199
|
+
content: Introduction
|
|
200
|
+
},
|
|
201
|
+
...collectionTypeSpecificSteps,
|
|
202
|
+
{
|
|
203
|
+
name: 'Fields',
|
|
204
|
+
content: Fields
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: 'Publish',
|
|
208
|
+
content: Publish
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'Finish',
|
|
212
|
+
content: Finish,
|
|
213
|
+
excludeFromStepCount: true,
|
|
214
|
+
when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent)
|
|
215
|
+
}
|
|
216
|
+
];
|
|
217
|
+
|
|
218
|
+
export { contentManagerSteps };
|
|
219
|
+
//# sourceMappingURL=ContentManagerSteps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentManagerSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentManagerSteps.tsx"],"sourcesContent":["import { useParams } from 'react-router-dom';\n\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { DefaultActions, DefaultActionsProps, GotItAction, StepCount } from './Step';\n\nconst ContentManagerActions = ({\n isActionRequired = false,\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & {\n isActionRequired?: boolean;\n}) => {\n const { collectionType } = useParams();\n\n const state = useGuidedTour('ContentManagerActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentManagerActions', (s) => s.dispatch);\n\n const isSingleType = collectionType === 'single-types';\n\n const currentStepOffset = state.tours.contentManager.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {\n return currentStepOffset - collectionTypeSpecificSteps.length;\n }\n\n return currentStepOffset;\n })();\n\n // For single types we subtract all contentTypeSpecificSteps\n const displayedTourLength = isSingleType\n ? tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length\n : tours.contentManager._meta.displayedStepCount;\n\n const handleNextStep = () => {\n if (isSingleType && state.tours.contentManager.currentStep === 0) {\n // The tours diverge after the first step, on next click skip all the collection type specific steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentManager', step: collectionTypeSpecificSteps.length + 1 },\n });\n } else {\n dispatch({\n type: 'next_step',\n payload: 'contentManager',\n });\n }\n };\n\n const handlePreviousStep = () => {\n if (\n isSingleType &&\n // Check the currentStep is the step after the collection type specific steps\n state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1\n ) {\n dispatch({\n type: 'go_to_step',\n payload: {\n tourName: 'contentManager',\n // Go to the step just before the collection type specific steps\n step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1,\n },\n });\n } else {\n dispatch({\n type: 'previous_step',\n payload: 'contentManager',\n });\n }\n };\n\n if (isActionRequired) {\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <GotItAction onClick={handleNextStep} />\n </>\n );\n }\n\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <DefaultActions\n tourName=\"contentManager\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"top\" sideOffset={33} withArrow={false}>\n <Step.Title id=\"tours.contentManager.Introduction.title\" defaultMessage=\"Content manager\" />\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>\n <ContentManagerActions showSkip />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst CreateNewEntry = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title\n id=\"tours.contentManager.CreateNewEntry.title\"\n defaultMessage=\"Create new entry\"\n />\n <Step.Content\n id=\"tours.contentManager.CreateNewEntry.content\"\n defaultMessage='Click the \"Create new entry\" button to create and publish a new entry for this collection type.'\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst Fields = ({ Step }: StepContentProps) => (\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=\"First, fill in the fields you created in the Content-Type Builder.\"\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Publish = ({ Step }: StepContentProps) => (\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='Then click the \"Publish\" button to make your content available through the content API.'\n />\n <Step.Actions>\n <ContentManagerActions isActionRequired />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentManager.FinalStep.title\"\n defaultMessage=\"Time to setup API tokens!\"\n />\n <Step.Content\n id=\"tours.contentManager.FinalStep.content\"\n defaultMessage=\"Now that you've created and published an entry, let's setup an API token to manage access to your content.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to=\"/settings/api-tokens\" />\n </Step.Root>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst collectionTypeSpecificSteps = [\n {\n name: 'CreateNewEntry',\n content: CreateNewEntry,\n },\n];\n\nexport const contentManagerSteps = [\n {\n name: 'Introduction',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n content: Introduction,\n },\n ...collectionTypeSpecificSteps,\n {\n name: 'Fields',\n content: Fields,\n },\n {\n name: 'Publish',\n content: Publish,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent),\n },\n] as const;\n"],"names":["ContentManagerActions","isActionRequired","props","collectionType","useParams","state","useGuidedTour","s","dispatch","isSingleType","currentStepOffset","tours","contentManager","currentStep","displayedCurrentStep","collectionTypeSpecificSteps","length","displayedTourLength","_meta","displayedStepCount","handleNextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","GotItAction","onClick","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","side","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","CreateNewEntry","align","showPrevious","Fields","Publish","Finish","showStepCount","to","name","content","contentManagerSteps","when","completedActions","includes","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","excludeFromStepCount","createContent"],"mappings":"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"}
|