@strapi/admin 5.22.0 → 5.23.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.
Files changed (122) hide show
  1. package/dist/admin/admin/src/components/GuidedTour/Context.js +23 -8
  2. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
  3. package/dist/admin/admin/src/components/GuidedTour/Context.mjs +23 -8
  4. package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/GuidedTour/Overview.js +7 -5
  6. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  7. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +7 -5
  8. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js +156 -0
  10. package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js.map +1 -0
  11. package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs +154 -0
  12. package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs.map +1 -0
  13. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js +221 -0
  14. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js.map +1 -0
  15. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs +219 -0
  16. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs.map +1 -0
  17. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +219 -0
  18. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -0
  19. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +217 -0
  20. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -0
  21. package/dist/admin/admin/src/components/GuidedTour/{Step.js → Steps/Step.js} +116 -71
  22. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -0
  23. package/dist/admin/admin/src/components/GuidedTour/{Step.mjs → Steps/Step.mjs} +117 -74
  24. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -0
  25. package/dist/admin/admin/src/components/GuidedTour/Tours.js +47 -324
  26. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
  27. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +48 -326
  28. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/GuidedTour/utils/constants.js +19 -0
  30. package/dist/admin/admin/src/components/GuidedTour/utils/constants.js.map +1 -0
  31. package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs +17 -0
  32. package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs.map +1 -0
  33. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js +31 -0
  34. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js.map +1 -0
  35. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs +29 -0
  36. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs.map +1 -0
  37. package/dist/admin/admin/src/components/SubNav.js +3 -1
  38. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  39. package/dist/admin/admin/src/components/SubNav.mjs +3 -1
  40. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/Widgets.js +4 -0
  42. package/dist/admin/admin/src/components/Widgets.js.map +1 -1
  43. package/dist/admin/admin/src/components/Widgets.mjs +5 -1
  44. package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
  45. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  46. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  47. package/dist/admin/admin/src/pages/Home/HomePage.js +10 -1
  48. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  49. package/dist/admin/admin/src/pages/Home/HomePage.mjs +10 -1
  50. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  51. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +17 -14
  52. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  53. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +17 -14
  54. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
  55. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +31 -6
  56. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  57. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs +12 -6
  58. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
  59. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +28 -24
  60. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
  61. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +28 -24
  62. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
  63. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  64. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  65. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +56 -57
  66. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  67. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +57 -58
  68. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  69. package/dist/admin/admin/src/services/apiTokens.js +0 -1
  70. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  71. package/dist/admin/admin/src/services/apiTokens.mjs +0 -1
  72. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  73. package/dist/admin/admin/src/translations/en.json.js +32 -21
  74. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  75. package/dist/admin/admin/src/translations/en.json.mjs +32 -21
  76. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  77. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
  78. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
  79. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs +2 -2
  80. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
  81. package/dist/admin/index.js +6 -2
  82. package/dist/admin/index.js.map +1 -1
  83. package/dist/admin/index.mjs +2 -0
  84. package/dist/admin/index.mjs.map +1 -1
  85. package/dist/admin/src/components/GuidedTour/Context.d.ts +26 -9
  86. package/dist/admin/src/components/GuidedTour/Steps/ApiTokensSteps.d.ts +20 -0
  87. package/dist/admin/src/components/GuidedTour/Steps/ContentManagerSteps.d.ts +21 -0
  88. package/dist/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.d.ts +30 -0
  89. package/dist/admin/src/components/GuidedTour/{Step.d.ts → Steps/Step.d.ts} +25 -6
  90. package/dist/admin/src/components/GuidedTour/Tours.d.ts +53 -14
  91. package/dist/admin/src/components/GuidedTour/utils/constants.d.ts +15 -0
  92. package/dist/admin/src/components/GuidedTour/utils/migrations.d.ts +6 -0
  93. package/dist/admin/src/features/Tracking.d.ts +20 -2
  94. package/dist/admin/src/index.d.ts +5 -0
  95. package/dist/admin/src/pages/Home/HomePage.d.ts +2 -2
  96. package/dist/server/server/src/controllers/admin.js +2 -5
  97. package/dist/server/server/src/controllers/admin.js.map +1 -1
  98. package/dist/server/server/src/controllers/admin.mjs +2 -5
  99. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  100. package/dist/server/server/src/services/index.js +0 -2
  101. package/dist/server/server/src/services/index.js.map +1 -1
  102. package/dist/server/server/src/services/index.mjs +0 -2
  103. package/dist/server/server/src/services/index.mjs.map +1 -1
  104. package/dist/server/src/controllers/admin.d.ts +1 -1
  105. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  106. package/dist/server/src/controllers/index.d.ts +1 -1
  107. package/dist/server/src/index.d.ts +1 -6
  108. package/dist/server/src/index.d.ts.map +1 -1
  109. package/dist/server/src/services/constants.d.ts +1 -0
  110. package/dist/server/src/services/guided-tour.d.ts +2 -3
  111. package/dist/server/src/services/guided-tour.d.ts.map +1 -1
  112. package/dist/server/src/services/index.d.ts +0 -5
  113. package/dist/server/src/services/index.d.ts.map +1 -1
  114. package/dist/shared/contracts/admin.d.ts +2 -2
  115. package/dist/shared/contracts/admin.d.ts.map +1 -1
  116. package/package.json +7 -7
  117. package/dist/admin/admin/src/components/GuidedTour/Step.js.map +0 -1
  118. package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +0 -1
  119. package/dist/server/server/src/services/guided-tour.js +0 -61
  120. package/dist/server/server/src/services/guided-tour.js.map +0 -1
  121. package/dist/server/server/src/services/guided-tour.mjs +0 -59
  122. package/dist/server/server/src/services/guided-tour.mjs.map +0 -1
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var designSystem = require('@strapi/design-system');
6
+ var constants = require('../utils/constants.js');
7
+ var Step = require('./Step.js');
8
+
9
+ /* -------------------------------------------------------------------------------------------------
10
+ * Step Components
11
+ * -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
12
+ side: "top",
13
+ sideOffset: 32,
14
+ withArrow: false,
15
+ children: [
16
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
17
+ id: "tours.apiTokens.Introduction.title",
18
+ defaultMessage: "Last but not least, API tokens"
19
+ }),
20
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
21
+ id: "tours.apiTokens.Introduction.content",
22
+ defaultMessage: "Control API access with highly customizable permissions."
23
+ }),
24
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
25
+ showSkip: true
26
+ })
27
+ ]
28
+ });
29
+ const ManageAPIToken = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
30
+ side: "bottom",
31
+ align: "end",
32
+ children: [
33
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
34
+ id: "tours.apiTokens.ManageAPIToken.title",
35
+ defaultMessage: "Manage an API token"
36
+ }),
37
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
38
+ id: "tours.apiTokens.ManageAPIToken.content",
39
+ defaultMessage: 'Click the "Pencil" icon to view and update an existing API token.'
40
+ }),
41
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {})
42
+ ]
43
+ });
44
+ const ViewAPIToken = ({ Step: Step$1, dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
45
+ side: "bottom",
46
+ align: "end",
47
+ children: [
48
+ /*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
49
+ id: "tours.apiTokens.ViewAPIToken.title",
50
+ defaultMessage: "View API token"
51
+ }),
52
+ /*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
53
+ id: "tours.apiTokens.ViewAPIToken.content",
54
+ defaultMessage: 'Click the "View token" button to see your API token.'
55
+ }),
56
+ /*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
57
+ children: [
58
+ /*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
59
+ tourName: "apiTokens"
60
+ }),
61
+ /*#__PURE__*/ jsxRuntime.jsx(Step.GotItAction, {
62
+ onClick: ()=>dispatch({
63
+ type: 'next_step',
64
+ payload: 'apiTokens'
65
+ })
66
+ })
67
+ ]
68
+ })
69
+ ]
70
+ });
71
+ const CopyAPIToken = ({ Step: Step$1, dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
72
+ side: "bottom",
73
+ align: "start",
74
+ sideOffset: -5,
75
+ children: [
76
+ /*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
77
+ id: "tours.apiTokens.CopyAPIToken.title",
78
+ defaultMessage: "Copy your new API token"
79
+ }),
80
+ /*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
81
+ id: "tours.apiTokens.CopyAPIToken.content",
82
+ defaultMessage: "Copy your API token",
83
+ values: {
84
+ spacer: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
85
+ paddingTop: 2
86
+ }),
87
+ a: (msg)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
88
+ isExternal: true,
89
+ href: "https://docs.strapi.io/cms/features/api-tokens#usage",
90
+ children: msg
91
+ })
92
+ }
93
+ }),
94
+ /*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
95
+ children: [
96
+ /*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
97
+ tourName: "apiTokens"
98
+ }),
99
+ /*#__PURE__*/ jsxRuntime.jsx(Step.GotItAction, {
100
+ onClick: ()=>dispatch({
101
+ type: 'next_step',
102
+ payload: 'apiTokens'
103
+ })
104
+ })
105
+ ]
106
+ })
107
+ ]
108
+ });
109
+ const Finish = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
110
+ side: "right",
111
+ align: "start",
112
+ children: [
113
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
114
+ id: "tours.apiTokens.FinalStep.title",
115
+ defaultMessage: "Congratulations, it's time to deploy your application!"
116
+ }),
117
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
118
+ id: "tours.apiTokens.FinalStep.content",
119
+ defaultMessage: "Your application is ready to be deployed and its content to be shared with the world!"
120
+ }),
121
+ /*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
122
+ showPrevious: false,
123
+ showStepCount: false,
124
+ to: "/"
125
+ })
126
+ ]
127
+ });
128
+ /* -------------------------------------------------------------------------------------------------
129
+ * Steps
130
+ * -----------------------------------------------------------------------------------------------*/ const apiTokensSteps = [
131
+ {
132
+ name: 'Introduction',
133
+ content: Introduction
134
+ },
135
+ {
136
+ name: 'ManageAPIToken',
137
+ content: ManageAPIToken
138
+ },
139
+ {
140
+ name: 'ViewAPIToken',
141
+ content: ViewAPIToken
142
+ },
143
+ {
144
+ name: 'CopyAPIToken',
145
+ content: CopyAPIToken
146
+ },
147
+ {
148
+ name: 'Finish',
149
+ content: Finish,
150
+ excludeFromStepCount: true,
151
+ when: (completedActions)=>completedActions.includes(constants.GUIDED_TOUR_REQUIRED_ACTIONS.apiTokens.copyToken)
152
+ }
153
+ ];
154
+
155
+ exports.apiTokensSteps = apiTokensSteps;
156
+ //# sourceMappingURL=ApiTokensSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiTokensSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ApiTokensSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Link } from '@strapi/design-system';\n\nimport { type CompletedActions } from '../Context';\nimport { type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root side=\"top\" sideOffset={32} withArrow={false}>\n <Step.Title\n id=\"tours.apiTokens.Introduction.title\"\n defaultMessage=\"Last but not least, API tokens\"\n />\n <Step.Content\n id=\"tours.apiTokens.Introduction.content\"\n defaultMessage=\"Control API access with highly customizable permissions.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n);\n\nconst ManageAPIToken = ({ Step }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title id=\"tours.apiTokens.ManageAPIToken.title\" defaultMessage=\"Manage an API token\" />\n <Step.Content\n id=\"tours.apiTokens.ManageAPIToken.content\"\n defaultMessage='Click the \"Pencil\" icon to view and update an existing API token.'\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst ViewAPIToken = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title id=\"tours.apiTokens.ViewAPIToken.title\" defaultMessage=\"View API token\" />\n <Step.Content\n id=\"tours.apiTokens.ViewAPIToken.content\"\n defaultMessage='Click the \"View token\" button to see your API token.'\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\nconst CopyAPIToken = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"start\" sideOffset={-5}>\n <Step.Title id=\"tours.apiTokens.CopyAPIToken.title\" defaultMessage=\"Copy your new API token\" />\n <Step.Content\n id=\"tours.apiTokens.CopyAPIToken.content\"\n defaultMessage=\"Copy your API token\"\n values={{\n spacer: <Box paddingTop={2} />,\n a: (msg: React.ReactNode) => (\n <Link isExternal href=\"https://docs.strapi.io/cms/features/api-tokens#usage\">\n {msg}\n </Link>\n ),\n }}\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\nconst Finish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" align=\"start\">\n <Step.Title\n id=\"tours.apiTokens.FinalStep.title\"\n defaultMessage=\"Congratulations, 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 showPrevious={false} showStepCount={false} to=\"/\" />\n </Step.Root>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\n\nexport const apiTokensSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n {\n name: 'ManageAPIToken',\n content: ManageAPIToken,\n },\n {\n name: 'ViewAPIToken',\n content: ViewAPIToken,\n },\n {\n name: 'CopyAPIToken',\n content: CopyAPIToken,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.apiTokens.copyToken),\n },\n] as const;\n"],"names":["Introduction","Step","_jsxs","Root","side","sideOffset","withArrow","_jsx","Title","id","defaultMessage","Content","Actions","showSkip","ManageAPIToken","align","ViewAPIToken","dispatch","StepCount","tourName","GotItAction","onClick","type","payload","CopyAPIToken","values","spacer","Box","paddingTop","a","msg","Link","isExternal","href","Finish","showPrevious","showStepCount","to","apiTokensSteps","name","content","excludeFromStepCount","when","completedActions","includes","GUIDED_TOUR_REQUIRED_ACTIONS","apiTokens","copyToken"],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { Box, Link } from '@strapi/design-system';
4
+ import { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants.mjs';
5
+ import { StepCount, GotItAction } from './Step.mjs';
6
+
7
+ /* -------------------------------------------------------------------------------------------------
8
+ * Step Components
9
+ * -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
10
+ side: "top",
11
+ sideOffset: 32,
12
+ withArrow: false,
13
+ children: [
14
+ /*#__PURE__*/ jsx(Step.Title, {
15
+ id: "tours.apiTokens.Introduction.title",
16
+ defaultMessage: "Last but not least, API tokens"
17
+ }),
18
+ /*#__PURE__*/ jsx(Step.Content, {
19
+ id: "tours.apiTokens.Introduction.content",
20
+ defaultMessage: "Control API access with highly customizable permissions."
21
+ }),
22
+ /*#__PURE__*/ jsx(Step.Actions, {
23
+ showSkip: true
24
+ })
25
+ ]
26
+ });
27
+ const ManageAPIToken = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
28
+ side: "bottom",
29
+ align: "end",
30
+ children: [
31
+ /*#__PURE__*/ jsx(Step.Title, {
32
+ id: "tours.apiTokens.ManageAPIToken.title",
33
+ defaultMessage: "Manage an API token"
34
+ }),
35
+ /*#__PURE__*/ jsx(Step.Content, {
36
+ id: "tours.apiTokens.ManageAPIToken.content",
37
+ defaultMessage: 'Click the "Pencil" icon to view and update an existing API token.'
38
+ }),
39
+ /*#__PURE__*/ jsx(Step.Actions, {})
40
+ ]
41
+ });
42
+ const ViewAPIToken = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
43
+ side: "bottom",
44
+ align: "end",
45
+ children: [
46
+ /*#__PURE__*/ jsx(Step.Title, {
47
+ id: "tours.apiTokens.ViewAPIToken.title",
48
+ defaultMessage: "View API token"
49
+ }),
50
+ /*#__PURE__*/ jsx(Step.Content, {
51
+ id: "tours.apiTokens.ViewAPIToken.content",
52
+ defaultMessage: 'Click the "View token" button to see your API token.'
53
+ }),
54
+ /*#__PURE__*/ jsxs(Step.Actions, {
55
+ children: [
56
+ /*#__PURE__*/ jsx(StepCount, {
57
+ tourName: "apiTokens"
58
+ }),
59
+ /*#__PURE__*/ jsx(GotItAction, {
60
+ onClick: ()=>dispatch({
61
+ type: 'next_step',
62
+ payload: 'apiTokens'
63
+ })
64
+ })
65
+ ]
66
+ })
67
+ ]
68
+ });
69
+ const CopyAPIToken = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
70
+ side: "bottom",
71
+ align: "start",
72
+ sideOffset: -5,
73
+ children: [
74
+ /*#__PURE__*/ jsx(Step.Title, {
75
+ id: "tours.apiTokens.CopyAPIToken.title",
76
+ defaultMessage: "Copy your new API token"
77
+ }),
78
+ /*#__PURE__*/ jsx(Step.Content, {
79
+ id: "tours.apiTokens.CopyAPIToken.content",
80
+ defaultMessage: "Copy your API token",
81
+ values: {
82
+ spacer: /*#__PURE__*/ jsx(Box, {
83
+ paddingTop: 2
84
+ }),
85
+ a: (msg)=>/*#__PURE__*/ jsx(Link, {
86
+ isExternal: true,
87
+ href: "https://docs.strapi.io/cms/features/api-tokens#usage",
88
+ children: msg
89
+ })
90
+ }
91
+ }),
92
+ /*#__PURE__*/ jsxs(Step.Actions, {
93
+ children: [
94
+ /*#__PURE__*/ jsx(StepCount, {
95
+ tourName: "apiTokens"
96
+ }),
97
+ /*#__PURE__*/ jsx(GotItAction, {
98
+ onClick: ()=>dispatch({
99
+ type: 'next_step',
100
+ payload: 'apiTokens'
101
+ })
102
+ })
103
+ ]
104
+ })
105
+ ]
106
+ });
107
+ const Finish = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
108
+ side: "right",
109
+ align: "start",
110
+ children: [
111
+ /*#__PURE__*/ jsx(Step.Title, {
112
+ id: "tours.apiTokens.FinalStep.title",
113
+ defaultMessage: "Congratulations, it's time to deploy your application!"
114
+ }),
115
+ /*#__PURE__*/ jsx(Step.Content, {
116
+ id: "tours.apiTokens.FinalStep.content",
117
+ defaultMessage: "Your application is ready to be deployed and its content to be shared with the world!"
118
+ }),
119
+ /*#__PURE__*/ jsx(Step.Actions, {
120
+ showPrevious: false,
121
+ showStepCount: false,
122
+ to: "/"
123
+ })
124
+ ]
125
+ });
126
+ /* -------------------------------------------------------------------------------------------------
127
+ * Steps
128
+ * -----------------------------------------------------------------------------------------------*/ const apiTokensSteps = [
129
+ {
130
+ name: 'Introduction',
131
+ content: Introduction
132
+ },
133
+ {
134
+ name: 'ManageAPIToken',
135
+ content: ManageAPIToken
136
+ },
137
+ {
138
+ name: 'ViewAPIToken',
139
+ content: ViewAPIToken
140
+ },
141
+ {
142
+ name: 'CopyAPIToken',
143
+ content: CopyAPIToken
144
+ },
145
+ {
146
+ name: 'Finish',
147
+ content: Finish,
148
+ excludeFromStepCount: true,
149
+ when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.apiTokens.copyToken)
150
+ }
151
+ ];
152
+
153
+ export { apiTokensSteps };
154
+ //# sourceMappingURL=ApiTokensSteps.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiTokensSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ApiTokensSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Link } from '@strapi/design-system';\n\nimport { type CompletedActions } from '../Context';\nimport { type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root side=\"top\" sideOffset={32} withArrow={false}>\n <Step.Title\n id=\"tours.apiTokens.Introduction.title\"\n defaultMessage=\"Last but not least, API tokens\"\n />\n <Step.Content\n id=\"tours.apiTokens.Introduction.content\"\n defaultMessage=\"Control API access with highly customizable permissions.\"\n />\n <Step.Actions showSkip />\n </Step.Root>\n);\n\nconst ManageAPIToken = ({ Step }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title id=\"tours.apiTokens.ManageAPIToken.title\" defaultMessage=\"Manage an API token\" />\n <Step.Content\n id=\"tours.apiTokens.ManageAPIToken.content\"\n defaultMessage='Click the \"Pencil\" icon to view and update an existing API token.'\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst ViewAPIToken = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title id=\"tours.apiTokens.ViewAPIToken.title\" defaultMessage=\"View API token\" />\n <Step.Content\n id=\"tours.apiTokens.ViewAPIToken.content\"\n defaultMessage='Click the \"View token\" button to see your API token.'\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\nconst CopyAPIToken = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\" align=\"start\" sideOffset={-5}>\n <Step.Title id=\"tours.apiTokens.CopyAPIToken.title\" defaultMessage=\"Copy your new API token\" />\n <Step.Content\n id=\"tours.apiTokens.CopyAPIToken.content\"\n defaultMessage=\"Copy your API token\"\n values={{\n spacer: <Box paddingTop={2} />,\n a: (msg: React.ReactNode) => (\n <Link isExternal href=\"https://docs.strapi.io/cms/features/api-tokens#usage\">\n {msg}\n </Link>\n ),\n }}\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\nconst Finish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" align=\"start\">\n <Step.Title\n id=\"tours.apiTokens.FinalStep.title\"\n defaultMessage=\"Congratulations, 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 showPrevious={false} showStepCount={false} to=\"/\" />\n </Step.Root>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\n\nexport const apiTokensSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n {\n name: 'ManageAPIToken',\n content: ManageAPIToken,\n },\n {\n name: 'ViewAPIToken',\n content: ViewAPIToken,\n },\n {\n name: 'CopyAPIToken',\n content: CopyAPIToken,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.apiTokens.copyToken),\n },\n] as const;\n"],"names":["Introduction","Step","_jsxs","Root","side","sideOffset","withArrow","_jsx","Title","id","defaultMessage","Content","Actions","showSkip","ManageAPIToken","align","ViewAPIToken","dispatch","StepCount","tourName","GotItAction","onClick","type","payload","CopyAPIToken","values","spacer","Box","paddingTop","a","msg","Link","isExternal","href","Finish","showPrevious","showStepCount","to","apiTokensSteps","name","content","excludeFromStepCount","when","completedActions","includes","GUIDED_TOUR_REQUIRED_ACTIONS","apiTokens","copyToken"],"mappings":"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"}
@@ -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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"}