@strapi/admin 5.19.0 → 5.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/Filters.js +10 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +10 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.js +18 -43
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.mjs +17 -42
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.js +10 -6
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.mjs +11 -7
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.js +6 -6
- package/dist/admin/admin/src/components/GuidedTour/Step.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.mjs +7 -7
- package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.js +10 -16
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.mjs +11 -17
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -0
- package/dist/admin/admin/src/components/LeftMenu.js +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/Providers.js +9 -10
- package/dist/admin/admin/src/components/Providers.js.map +1 -1
- package/dist/admin/admin/src/components/Providers.mjs +9 -10
- package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +1 -1
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +2 -2
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +2 -2
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +1 -7
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +2 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +7 -3
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +7 -3
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/tests/utils.js +25 -28
- package/dist/admin/admin/tests/utils.js.map +1 -1
- package/dist/admin/admin/tests/utils.mjs +25 -28
- package/dist/admin/admin/tests/utils.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -2
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/Filters.d.ts +3 -1
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.d.ts +3 -3
- package/dist/admin/src/components/GuidedTour/Overview.d.ts +1 -0
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.d.ts +1 -1
- package/dist/admin/src/core/apis/Widgets.d.ts +8 -5
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/index.d.ts +2 -3
- package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/server/src/domain/user.js +3 -1
- package/dist/server/server/src/domain/user.js.map +1 -1
- package/dist/server/server/src/domain/user.mjs +3 -1
- package/dist/server/server/src/domain/user.mjs.map +1 -1
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/package.json +8 -9
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js +0 -132
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs +0 -130
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.js +0 -278
- package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs +0 -276
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js +0 -54
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs +0 -51
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.js +0 -206
- package/dist/admin/admin/src/components/GuidedTour/Provider.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs +0 -184
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.js +0 -167
- package/dist/admin/admin/src/components/GuidedTour/constants.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs +0 -164
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js +0 -19
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs +0 -17
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs.map +0 -1
- package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
- package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -39
- package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
- package/dist/admin/src/components/UnstableGuidedTour/Overview.d.ts +0 -1
- package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +0 -1
- /package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.20.0",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
"@reduxjs/toolkit": "1.9.7",
|
|
87
87
|
"@strapi/design-system": "2.0.0-rc.29",
|
|
88
88
|
"@strapi/icons": "2.0.0-rc.29",
|
|
89
|
-
"@strapi/permissions": "5.
|
|
90
|
-
"@strapi/types": "5.
|
|
91
|
-
"@strapi/typescript-utils": "5.
|
|
92
|
-
"@strapi/utils": "5.
|
|
89
|
+
"@strapi/permissions": "5.20.0",
|
|
90
|
+
"@strapi/types": "5.20.0",
|
|
91
|
+
"@strapi/typescript-utils": "5.20.0",
|
|
92
|
+
"@strapi/utils": "5.20.0",
|
|
93
93
|
"@testing-library/dom": "10.1.0",
|
|
94
94
|
"@testing-library/react": "15.0.7",
|
|
95
95
|
"@testing-library/user-event": "14.5.2",
|
|
@@ -118,7 +118,6 @@
|
|
|
118
118
|
"koa-static": "5.0.0",
|
|
119
119
|
"koa2-ratelimit": "^1.1.3",
|
|
120
120
|
"lodash": "4.17.21",
|
|
121
|
-
"node-schedule": "2.1.1",
|
|
122
121
|
"ora": "5.4.1",
|
|
123
122
|
"p-map": "4.0.0",
|
|
124
123
|
"passport-local": "1.0.0",
|
|
@@ -141,11 +140,11 @@
|
|
|
141
140
|
"typescript": "5.4.4",
|
|
142
141
|
"use-context-selector": "1.4.1",
|
|
143
142
|
"yup": "0.32.9",
|
|
144
|
-
"zod": "3.
|
|
143
|
+
"zod": "3.25.67"
|
|
145
144
|
},
|
|
146
145
|
"devDependencies": {
|
|
147
|
-
"@strapi/admin-test-utils": "5.
|
|
148
|
-
"@strapi/data-transfer": "5.
|
|
146
|
+
"@strapi/admin-test-utils": "5.20.0",
|
|
147
|
+
"@strapi/data-transfer": "5.20.0",
|
|
149
148
|
"@types/codemirror5": "npm:@types/codemirror@^5.60.15",
|
|
150
149
|
"@types/fs-extra": "11.0.4",
|
|
151
150
|
"@types/invariant": "2.2.36",
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var designSystem = require('@strapi/design-system');
|
|
5
|
-
var icons = require('@strapi/icons');
|
|
6
|
-
var reactIntl = require('react-intl');
|
|
7
|
-
var reactRouterDom = require('react-router-dom');
|
|
8
|
-
var Tracking = require('../../features/Tracking.js');
|
|
9
|
-
var constants = require('./constants.js');
|
|
10
|
-
var Ornaments = require('./Ornaments.js');
|
|
11
|
-
var Provider = require('./Provider.js');
|
|
12
|
-
|
|
13
|
-
const GuidedTourHomepage = ()=>{
|
|
14
|
-
const guidedTourState = Provider.useGuidedTour('GuidedTourHomepage', (state)=>state.guidedTourState);
|
|
15
|
-
const setSkipped = Provider.useGuidedTour('GuidedTourHomepage', (state)=>state.setSkipped);
|
|
16
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
17
|
-
const { trackUsage } = Tracking.useTracking();
|
|
18
|
-
const sections = Object.entries(constants.LAYOUT_DATA).map(([key, val])=>({
|
|
19
|
-
key: key,
|
|
20
|
-
title: val.home.title,
|
|
21
|
-
content: /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
22
|
-
onClick: ()=>trackUsage(val.home.trackingEvent),
|
|
23
|
-
tag: reactRouterDom.NavLink,
|
|
24
|
-
to: val.home.cta.target,
|
|
25
|
-
endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ArrowRight, {}),
|
|
26
|
-
children: formatMessage(val.home.cta.title)
|
|
27
|
-
}),
|
|
28
|
-
isDone: Object.values(guidedTourState[key]).every((value)=>value === true)
|
|
29
|
-
}));
|
|
30
|
-
const activeSectionIndex = sections.findIndex((section)=>!section.isDone);
|
|
31
|
-
const handleSkip = ()=>{
|
|
32
|
-
setSkipped(true);
|
|
33
|
-
trackUsage('didSkipGuidedtour');
|
|
34
|
-
};
|
|
35
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
36
|
-
hasRadius: true,
|
|
37
|
-
shadow: "tableShadow",
|
|
38
|
-
paddingTop: 7,
|
|
39
|
-
paddingRight: 4,
|
|
40
|
-
paddingLeft: 7,
|
|
41
|
-
paddingBottom: 4,
|
|
42
|
-
background: "neutral0",
|
|
43
|
-
children: [
|
|
44
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
45
|
-
direction: "column",
|
|
46
|
-
alignItems: "stretch",
|
|
47
|
-
gap: 6,
|
|
48
|
-
children: [
|
|
49
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
50
|
-
variant: "beta",
|
|
51
|
-
tag: "h2",
|
|
52
|
-
children: formatMessage({
|
|
53
|
-
id: 'app.components.GuidedTour.title',
|
|
54
|
-
defaultMessage: '3 steps to get started'
|
|
55
|
-
})
|
|
56
|
-
}),
|
|
57
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
58
|
-
children: sections.map((section, index)=>{
|
|
59
|
-
const state = getState(activeSectionIndex, index);
|
|
60
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
61
|
-
children: [
|
|
62
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
63
|
-
children: [
|
|
64
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
65
|
-
minWidth: `3rem`,
|
|
66
|
-
marginRight: 5,
|
|
67
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(Ornaments.Number, {
|
|
68
|
-
state: state,
|
|
69
|
-
children: index + 1
|
|
70
|
-
})
|
|
71
|
-
}),
|
|
72
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
73
|
-
variant: "delta",
|
|
74
|
-
tag: "h3",
|
|
75
|
-
children: formatMessage(section.title)
|
|
76
|
-
})
|
|
77
|
-
]
|
|
78
|
-
}),
|
|
79
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
80
|
-
alignItems: "flex-start",
|
|
81
|
-
children: [
|
|
82
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
83
|
-
justifyContent: "center",
|
|
84
|
-
minWidth: `3rem`,
|
|
85
|
-
marginBottom: 3,
|
|
86
|
-
marginTop: 3,
|
|
87
|
-
marginRight: 5,
|
|
88
|
-
children: index === sections.length - 1 ? null : /*#__PURE__*/ jsxRuntime.jsx(Ornaments.VerticalDivider, {
|
|
89
|
-
state: state
|
|
90
|
-
})
|
|
91
|
-
}),
|
|
92
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
93
|
-
marginTop: 2,
|
|
94
|
-
children: state === constants.STATES.IS_ACTIVE ? section.content : null
|
|
95
|
-
})
|
|
96
|
-
]
|
|
97
|
-
})
|
|
98
|
-
]
|
|
99
|
-
}, section.key);
|
|
100
|
-
})
|
|
101
|
-
})
|
|
102
|
-
]
|
|
103
|
-
}),
|
|
104
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
105
|
-
justifyContent: "flex-end",
|
|
106
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
107
|
-
variant: "tertiary",
|
|
108
|
-
onClick: handleSkip,
|
|
109
|
-
children: formatMessage({
|
|
110
|
-
id: 'app.components.GuidedTour.skip',
|
|
111
|
-
defaultMessage: 'Skip the tour'
|
|
112
|
-
})
|
|
113
|
-
})
|
|
114
|
-
})
|
|
115
|
-
]
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
const getState = (activeSectionIndex, index)=>{
|
|
119
|
-
if (activeSectionIndex === -1) {
|
|
120
|
-
return constants.STATES.IS_DONE;
|
|
121
|
-
}
|
|
122
|
-
if (index < activeSectionIndex) {
|
|
123
|
-
return constants.STATES.IS_DONE;
|
|
124
|
-
}
|
|
125
|
-
if (index > activeSectionIndex) {
|
|
126
|
-
return constants.STATES.IS_NOT_DONE;
|
|
127
|
-
}
|
|
128
|
-
return constants.STATES.IS_ACTIVE;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
exports.GuidedTourHomepage = GuidedTourHomepage;
|
|
132
|
-
//# sourceMappingURL=Homepage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Homepage.js","sources":["../../../../../../admin/src/components/GuidedTour/Homepage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography, LinkButton } from '@strapi/design-system';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\ntype SectionName = keyof GuidedTourContextValue['guidedTourState'];\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n tag={NavLink}\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.values(guidedTourState[key as SectionName]).every((value) => value === true),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`3rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`3rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n"],"names":["GuidedTourHomepage","guidedTourState","useGuidedTour","state","setSkipped","formatMessage","useIntl","trackUsage","useTracking","sections","Object","entries","LAYOUT_DATA","map","key","val","title","home","content","_jsx","LinkButton","onClick","trackingEvent","tag","NavLink","to","cta","target","endIcon","ArrowRight","isDone","values","every","value","activeSectionIndex","findIndex","section","handleSkip","_jsxs","Box","hasRadius","shadow","paddingTop","paddingRight","paddingLeft","paddingBottom","background","Flex","direction","alignItems","gap","Typography","variant","id","defaultMessage","index","getState","minWidth","marginRight","Number","justifyContent","marginBottom","marginTop","length","VerticalDivider","STATES","IS_ACTIVE","Button","IS_DONE","IS_NOT_DONE"],"mappings":"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"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { LinkButton, Box, Flex, Typography, Button } from '@strapi/design-system';
|
|
3
|
-
import { ArrowRight } from '@strapi/icons';
|
|
4
|
-
import { useIntl } from 'react-intl';
|
|
5
|
-
import { NavLink } from 'react-router-dom';
|
|
6
|
-
import { useTracking } from '../../features/Tracking.mjs';
|
|
7
|
-
import { LAYOUT_DATA, STATES } from './constants.mjs';
|
|
8
|
-
import { Number, VerticalDivider } from './Ornaments.mjs';
|
|
9
|
-
import { useGuidedTour } from './Provider.mjs';
|
|
10
|
-
|
|
11
|
-
const GuidedTourHomepage = ()=>{
|
|
12
|
-
const guidedTourState = useGuidedTour('GuidedTourHomepage', (state)=>state.guidedTourState);
|
|
13
|
-
const setSkipped = useGuidedTour('GuidedTourHomepage', (state)=>state.setSkipped);
|
|
14
|
-
const { formatMessage } = useIntl();
|
|
15
|
-
const { trackUsage } = useTracking();
|
|
16
|
-
const sections = Object.entries(LAYOUT_DATA).map(([key, val])=>({
|
|
17
|
-
key: key,
|
|
18
|
-
title: val.home.title,
|
|
19
|
-
content: /*#__PURE__*/ jsx(LinkButton, {
|
|
20
|
-
onClick: ()=>trackUsage(val.home.trackingEvent),
|
|
21
|
-
tag: NavLink,
|
|
22
|
-
to: val.home.cta.target,
|
|
23
|
-
endIcon: /*#__PURE__*/ jsx(ArrowRight, {}),
|
|
24
|
-
children: formatMessage(val.home.cta.title)
|
|
25
|
-
}),
|
|
26
|
-
isDone: Object.values(guidedTourState[key]).every((value)=>value === true)
|
|
27
|
-
}));
|
|
28
|
-
const activeSectionIndex = sections.findIndex((section)=>!section.isDone);
|
|
29
|
-
const handleSkip = ()=>{
|
|
30
|
-
setSkipped(true);
|
|
31
|
-
trackUsage('didSkipGuidedtour');
|
|
32
|
-
};
|
|
33
|
-
return /*#__PURE__*/ jsxs(Box, {
|
|
34
|
-
hasRadius: true,
|
|
35
|
-
shadow: "tableShadow",
|
|
36
|
-
paddingTop: 7,
|
|
37
|
-
paddingRight: 4,
|
|
38
|
-
paddingLeft: 7,
|
|
39
|
-
paddingBottom: 4,
|
|
40
|
-
background: "neutral0",
|
|
41
|
-
children: [
|
|
42
|
-
/*#__PURE__*/ jsxs(Flex, {
|
|
43
|
-
direction: "column",
|
|
44
|
-
alignItems: "stretch",
|
|
45
|
-
gap: 6,
|
|
46
|
-
children: [
|
|
47
|
-
/*#__PURE__*/ jsx(Typography, {
|
|
48
|
-
variant: "beta",
|
|
49
|
-
tag: "h2",
|
|
50
|
-
children: formatMessage({
|
|
51
|
-
id: 'app.components.GuidedTour.title',
|
|
52
|
-
defaultMessage: '3 steps to get started'
|
|
53
|
-
})
|
|
54
|
-
}),
|
|
55
|
-
/*#__PURE__*/ jsx(Box, {
|
|
56
|
-
children: sections.map((section, index)=>{
|
|
57
|
-
const state = getState(activeSectionIndex, index);
|
|
58
|
-
return /*#__PURE__*/ jsxs(Box, {
|
|
59
|
-
children: [
|
|
60
|
-
/*#__PURE__*/ jsxs(Flex, {
|
|
61
|
-
children: [
|
|
62
|
-
/*#__PURE__*/ jsx(Box, {
|
|
63
|
-
minWidth: `3rem`,
|
|
64
|
-
marginRight: 5,
|
|
65
|
-
children: /*#__PURE__*/ jsx(Number, {
|
|
66
|
-
state: state,
|
|
67
|
-
children: index + 1
|
|
68
|
-
})
|
|
69
|
-
}),
|
|
70
|
-
/*#__PURE__*/ jsx(Typography, {
|
|
71
|
-
variant: "delta",
|
|
72
|
-
tag: "h3",
|
|
73
|
-
children: formatMessage(section.title)
|
|
74
|
-
})
|
|
75
|
-
]
|
|
76
|
-
}),
|
|
77
|
-
/*#__PURE__*/ jsxs(Flex, {
|
|
78
|
-
alignItems: "flex-start",
|
|
79
|
-
children: [
|
|
80
|
-
/*#__PURE__*/ jsx(Flex, {
|
|
81
|
-
justifyContent: "center",
|
|
82
|
-
minWidth: `3rem`,
|
|
83
|
-
marginBottom: 3,
|
|
84
|
-
marginTop: 3,
|
|
85
|
-
marginRight: 5,
|
|
86
|
-
children: index === sections.length - 1 ? null : /*#__PURE__*/ jsx(VerticalDivider, {
|
|
87
|
-
state: state
|
|
88
|
-
})
|
|
89
|
-
}),
|
|
90
|
-
/*#__PURE__*/ jsx(Box, {
|
|
91
|
-
marginTop: 2,
|
|
92
|
-
children: state === STATES.IS_ACTIVE ? section.content : null
|
|
93
|
-
})
|
|
94
|
-
]
|
|
95
|
-
})
|
|
96
|
-
]
|
|
97
|
-
}, section.key);
|
|
98
|
-
})
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
}),
|
|
102
|
-
/*#__PURE__*/ jsx(Flex, {
|
|
103
|
-
justifyContent: "flex-end",
|
|
104
|
-
children: /*#__PURE__*/ jsx(Button, {
|
|
105
|
-
variant: "tertiary",
|
|
106
|
-
onClick: handleSkip,
|
|
107
|
-
children: formatMessage({
|
|
108
|
-
id: 'app.components.GuidedTour.skip',
|
|
109
|
-
defaultMessage: 'Skip the tour'
|
|
110
|
-
})
|
|
111
|
-
})
|
|
112
|
-
})
|
|
113
|
-
]
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
const getState = (activeSectionIndex, index)=>{
|
|
117
|
-
if (activeSectionIndex === -1) {
|
|
118
|
-
return STATES.IS_DONE;
|
|
119
|
-
}
|
|
120
|
-
if (index < activeSectionIndex) {
|
|
121
|
-
return STATES.IS_DONE;
|
|
122
|
-
}
|
|
123
|
-
if (index > activeSectionIndex) {
|
|
124
|
-
return STATES.IS_NOT_DONE;
|
|
125
|
-
}
|
|
126
|
-
return STATES.IS_ACTIVE;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
export { GuidedTourHomepage };
|
|
130
|
-
//# sourceMappingURL=Homepage.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Homepage.mjs","sources":["../../../../../../admin/src/components/GuidedTour/Homepage.tsx"],"sourcesContent":["import { Box, Button, Flex, Typography, LinkButton } from '@strapi/design-system';\nimport { ArrowRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTracking } from '../../features/Tracking';\n\nimport { LAYOUT_DATA, States, STATES } from './constants';\nimport { Number, VerticalDivider } from './Ornaments';\nimport { GuidedTourContextValue, useGuidedTour } from './Provider';\n\ntype SectionName = keyof GuidedTourContextValue['guidedTourState'];\n\nconst GuidedTourHomepage = () => {\n const guidedTourState = useGuidedTour('GuidedTourHomepage', (state) => state.guidedTourState);\n const setSkipped = useGuidedTour('GuidedTourHomepage', (state) => state.setSkipped);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const sections = Object.entries(LAYOUT_DATA).map(([key, val]) => ({\n key: key,\n title: val.home.title,\n content: (\n <LinkButton\n onClick={() => trackUsage(val.home.trackingEvent)}\n tag={NavLink}\n to={val.home.cta.target}\n endIcon={<ArrowRight />}\n >\n {formatMessage(val.home.cta.title)}\n </LinkButton>\n ),\n isDone: Object.values(guidedTourState[key as SectionName]).every((value) => value === true),\n }));\n\n const activeSectionIndex = sections.findIndex((section) => !section.isDone);\n\n const handleSkip = () => {\n setSkipped(true);\n trackUsage('didSkipGuidedtour');\n };\n\n return (\n <Box\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={7}\n paddingRight={4}\n paddingLeft={7}\n paddingBottom={4}\n background=\"neutral0\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.GuidedTour.title',\n defaultMessage: '3 steps to get started',\n })}\n </Typography>\n <Box>\n {sections.map((section, index) => {\n const state = getState(activeSectionIndex, index);\n\n return (\n <Box key={section.key}>\n <Flex>\n <Box minWidth={`3rem`} marginRight={5}>\n <Number state={state}>{index + 1}</Number>\n </Box>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.title)}\n </Typography>\n </Flex>\n <Flex alignItems=\"flex-start\">\n <Flex\n justifyContent=\"center\"\n minWidth={`3rem`}\n marginBottom={3}\n marginTop={3}\n marginRight={5}\n >\n {index === sections.length - 1 ? null : <VerticalDivider state={state} />}\n </Flex>\n <Box marginTop={2}>{state === STATES.IS_ACTIVE ? section.content : null}</Box>\n </Flex>\n </Box>\n );\n })}\n </Box>\n </Flex>\n <Flex justifyContent=\"flex-end\">\n <Button variant=\"tertiary\" onClick={handleSkip}>\n {formatMessage({ id: 'app.components.GuidedTour.skip', defaultMessage: 'Skip the tour' })}\n </Button>\n </Flex>\n </Box>\n );\n};\n\nconst getState = (activeSectionIndex: number, index: number): States => {\n if (activeSectionIndex === -1) {\n return STATES.IS_DONE;\n }\n if (index < activeSectionIndex) {\n return STATES.IS_DONE;\n }\n if (index > activeSectionIndex) {\n return STATES.IS_NOT_DONE;\n }\n return STATES.IS_ACTIVE;\n};\n\nexport { GuidedTourHomepage };\n"],"names":["GuidedTourHomepage","guidedTourState","useGuidedTour","state","setSkipped","formatMessage","useIntl","trackUsage","useTracking","sections","Object","entries","LAYOUT_DATA","map","key","val","title","home","content","_jsx","LinkButton","onClick","trackingEvent","tag","NavLink","to","cta","target","endIcon","ArrowRight","isDone","values","every","value","activeSectionIndex","findIndex","section","handleSkip","_jsxs","Box","hasRadius","shadow","paddingTop","paddingRight","paddingLeft","paddingBottom","background","Flex","direction","alignItems","gap","Typography","variant","id","defaultMessage","index","getState","minWidth","marginRight","Number","justifyContent","marginBottom","marginTop","length","VerticalDivider","STATES","IS_ACTIVE","Button","IS_DONE","IS_NOT_DONE"],"mappings":"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"}
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
require('react');
|
|
5
|
-
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var icons = require('@strapi/icons');
|
|
7
|
-
var get = require('lodash/get');
|
|
8
|
-
var reactIntl = require('react-intl');
|
|
9
|
-
var reactRouterDom = require('react-router-dom');
|
|
10
|
-
var styled = require('styled-components');
|
|
11
|
-
var Tracking = require('../../features/Tracking.js');
|
|
12
|
-
var constants = require('./constants.js');
|
|
13
|
-
var Ornaments = require('./Ornaments.js');
|
|
14
|
-
var Provider = require('./Provider.js');
|
|
15
|
-
|
|
16
|
-
/* -------------------------------------------------------------------------------------------------
|
|
17
|
-
* GuidedTourModal
|
|
18
|
-
* -----------------------------------------------------------------------------------------------*/ const GuidedTourModal = ()=>{
|
|
19
|
-
const guidedTour = Provider.useGuidedTour('GuidedTourModal', (state)=>state);
|
|
20
|
-
const { currentStep, guidedTourState, setCurrentStep, setStepState, isGuidedTourVisible, setSkipped } = guidedTour;
|
|
21
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
22
|
-
const { trackUsage } = Tracking.useTracking();
|
|
23
|
-
if (!currentStep || !isGuidedTourVisible) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const stepData = get(constants.LAYOUT_DATA, currentStep);
|
|
27
|
-
const sectionKeys = Object.keys(guidedTourState);
|
|
28
|
-
const [sectionName, stepName] = currentStep.split('.');
|
|
29
|
-
const sectionIndex = sectionKeys.indexOf(sectionName);
|
|
30
|
-
const stepIndex = Object.keys(guidedTourState[sectionName]).indexOf(stepName);
|
|
31
|
-
const hasSectionAfter = sectionIndex < sectionKeys.length - 1;
|
|
32
|
-
const hasStepAfter = stepIndex < Object.keys(guidedTourState[sectionName]).length - 1;
|
|
33
|
-
const handleCtaClick = ()=>{
|
|
34
|
-
setStepState(currentStep, true);
|
|
35
|
-
if (stepData) {
|
|
36
|
-
trackUsage(stepData.trackingEvent);
|
|
37
|
-
}
|
|
38
|
-
setCurrentStep(null);
|
|
39
|
-
};
|
|
40
|
-
const handleSkip = ()=>{
|
|
41
|
-
setSkipped(true);
|
|
42
|
-
setCurrentStep(null);
|
|
43
|
-
trackUsage('didSkipGuidedtour');
|
|
44
|
-
};
|
|
45
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Portal, {
|
|
46
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(ModalWrapper, {
|
|
47
|
-
onClick: handleCtaClick,
|
|
48
|
-
padding: 8,
|
|
49
|
-
justifyContent: "center",
|
|
50
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.FocusTrap, {
|
|
51
|
-
onEscape: handleCtaClick,
|
|
52
|
-
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
53
|
-
direction: "column",
|
|
54
|
-
alignItems: "stretch",
|
|
55
|
-
background: "neutral0",
|
|
56
|
-
width: `66rem`,
|
|
57
|
-
shadow: "popupShadow",
|
|
58
|
-
hasRadius: true,
|
|
59
|
-
padding: 4,
|
|
60
|
-
gap: 8,
|
|
61
|
-
role: "dialog",
|
|
62
|
-
"aria-modal": true,
|
|
63
|
-
onClick: (e)=>e.stopPropagation(),
|
|
64
|
-
children: [
|
|
65
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
66
|
-
justifyContent: "flex-end",
|
|
67
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
|
68
|
-
onClick: handleCtaClick,
|
|
69
|
-
withTooltip: false,
|
|
70
|
-
label: formatMessage({
|
|
71
|
-
id: 'app.utils.close-label',
|
|
72
|
-
defaultMessage: 'Close'
|
|
73
|
-
}),
|
|
74
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Cross, {})
|
|
75
|
-
})
|
|
76
|
-
}),
|
|
77
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
78
|
-
paddingLeft: 7,
|
|
79
|
-
paddingRight: 7,
|
|
80
|
-
paddingBottom: !hasStepAfter && !hasSectionAfter ? 8 : 0,
|
|
81
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(GuidedTourStepper, {
|
|
82
|
-
title: stepData && 'title' in stepData ? stepData.title : undefined,
|
|
83
|
-
cta: stepData && 'cta' in stepData ? stepData.cta : undefined,
|
|
84
|
-
onCtaClick: handleCtaClick,
|
|
85
|
-
sectionIndex: sectionIndex,
|
|
86
|
-
stepIndex: stepIndex,
|
|
87
|
-
hasSectionAfter: hasSectionAfter,
|
|
88
|
-
children: stepData && 'content' in stepData && /*#__PURE__*/ jsxRuntime.jsx(GuidedTourContent, {
|
|
89
|
-
...stepData.content
|
|
90
|
-
})
|
|
91
|
-
})
|
|
92
|
-
}),
|
|
93
|
-
!(!hasStepAfter && !hasSectionAfter) && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
94
|
-
justifyContent: "flex-end",
|
|
95
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
96
|
-
variant: "tertiary",
|
|
97
|
-
onClick: handleSkip,
|
|
98
|
-
children: formatMessage({
|
|
99
|
-
id: 'app.components.GuidedTour.skip',
|
|
100
|
-
defaultMessage: 'Skip the tour'
|
|
101
|
-
})
|
|
102
|
-
})
|
|
103
|
-
})
|
|
104
|
-
]
|
|
105
|
-
})
|
|
106
|
-
})
|
|
107
|
-
})
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
const ModalWrapper = styled.styled(designSystem.Flex)`
|
|
111
|
-
position: fixed;
|
|
112
|
-
z-index: 4;
|
|
113
|
-
inset: 0;
|
|
114
|
-
/* this is theme.colors.neutral800 with opacity */
|
|
115
|
-
background: ${({ theme })=>`${theme.colors.neutral800}1F`};
|
|
116
|
-
`;
|
|
117
|
-
const GuidedTourStepper = ({ title, children, cta, onCtaClick, sectionIndex, stepIndex, hasSectionAfter })=>{
|
|
118
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
119
|
-
const hasSectionBefore = sectionIndex > 0;
|
|
120
|
-
const hasStepsBefore = stepIndex > 0;
|
|
121
|
-
const nextSectionIndex = sectionIndex + 1;
|
|
122
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
123
|
-
children: [
|
|
124
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
125
|
-
alignItems: "stretch",
|
|
126
|
-
children: [
|
|
127
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
128
|
-
marginRight: 8,
|
|
129
|
-
justifyContent: "center",
|
|
130
|
-
minWidth: `3rem`,
|
|
131
|
-
children: hasSectionBefore && /*#__PURE__*/ jsxRuntime.jsx(Ornaments.VerticalDivider, {
|
|
132
|
-
state: constants.STATES.IS_DONE,
|
|
133
|
-
minHeight: `2.4rem`
|
|
134
|
-
})
|
|
135
|
-
}),
|
|
136
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
137
|
-
variant: "sigma",
|
|
138
|
-
textColor: "primary600",
|
|
139
|
-
children: formatMessage({
|
|
140
|
-
id: 'app.components.GuidedTour.title',
|
|
141
|
-
defaultMessage: '3 steps to get started'
|
|
142
|
-
})
|
|
143
|
-
})
|
|
144
|
-
]
|
|
145
|
-
}),
|
|
146
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
147
|
-
children: [
|
|
148
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
149
|
-
marginRight: 8,
|
|
150
|
-
minWidth: `3rem`,
|
|
151
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(Ornaments.Number, {
|
|
152
|
-
state: hasStepsBefore ? constants.STATES.IS_DONE : constants.STATES.IS_ACTIVE,
|
|
153
|
-
paddingTop: 3,
|
|
154
|
-
paddingBottom: 3,
|
|
155
|
-
children: sectionIndex + 1
|
|
156
|
-
})
|
|
157
|
-
}),
|
|
158
|
-
title && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
159
|
-
variant: "alpha",
|
|
160
|
-
fontWeight: "bold",
|
|
161
|
-
textColor: "neutral800",
|
|
162
|
-
tag: "h3",
|
|
163
|
-
id: "title",
|
|
164
|
-
children: formatMessage(title)
|
|
165
|
-
})
|
|
166
|
-
]
|
|
167
|
-
}),
|
|
168
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
169
|
-
alignItems: "stretch",
|
|
170
|
-
children: [
|
|
171
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
172
|
-
marginRight: 8,
|
|
173
|
-
direction: "column",
|
|
174
|
-
justifyContent: "center",
|
|
175
|
-
minWidth: `3rem`,
|
|
176
|
-
children: hasSectionAfter && /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
177
|
-
children: [
|
|
178
|
-
/*#__PURE__*/ jsxRuntime.jsx(Ornaments.VerticalDivider, {
|
|
179
|
-
state: constants.STATES.IS_DONE
|
|
180
|
-
}),
|
|
181
|
-
hasStepsBefore && /*#__PURE__*/ jsxRuntime.jsx(Ornaments.Number, {
|
|
182
|
-
state: constants.STATES.IS_ACTIVE,
|
|
183
|
-
paddingTop: 3,
|
|
184
|
-
children: nextSectionIndex + 1
|
|
185
|
-
})
|
|
186
|
-
]
|
|
187
|
-
})
|
|
188
|
-
}),
|
|
189
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
190
|
-
children: [
|
|
191
|
-
children,
|
|
192
|
-
cta && (cta.target ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
193
|
-
tag: reactRouterDom.NavLink,
|
|
194
|
-
endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ArrowRight, {}),
|
|
195
|
-
onClick: onCtaClick,
|
|
196
|
-
to: cta.target,
|
|
197
|
-
children: formatMessage(cta.title)
|
|
198
|
-
}) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
199
|
-
endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ArrowRight, {}),
|
|
200
|
-
onClick: onCtaClick,
|
|
201
|
-
children: formatMessage(cta.title)
|
|
202
|
-
}))
|
|
203
|
-
]
|
|
204
|
-
})
|
|
205
|
-
]
|
|
206
|
-
}),
|
|
207
|
-
hasStepsBefore && hasSectionAfter && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
208
|
-
paddingTop: 3,
|
|
209
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
210
|
-
marginRight: 8,
|
|
211
|
-
justifyContent: "center",
|
|
212
|
-
width: `3rem`,
|
|
213
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(Ornaments.VerticalDivider, {
|
|
214
|
-
state: constants.STATES.IS_DONE,
|
|
215
|
-
minHeight: `2.4rem`
|
|
216
|
-
})
|
|
217
|
-
})
|
|
218
|
-
})
|
|
219
|
-
]
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
const GuidedTourContent = ({ id, defaultMessage })=>{
|
|
223
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
224
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
225
|
-
direction: "column",
|
|
226
|
-
alignItems: "stretch",
|
|
227
|
-
gap: 4,
|
|
228
|
-
paddingBottom: 6,
|
|
229
|
-
children: formatMessage({
|
|
230
|
-
id,
|
|
231
|
-
defaultMessage
|
|
232
|
-
}, {
|
|
233
|
-
documentationLink: DocumentationLink,
|
|
234
|
-
b: Bold,
|
|
235
|
-
p: Paragraph,
|
|
236
|
-
light: Light,
|
|
237
|
-
ul: List,
|
|
238
|
-
li: ListItem
|
|
239
|
-
})
|
|
240
|
-
});
|
|
241
|
-
};
|
|
242
|
-
const DocumentationLink = (children)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
243
|
-
tag: "a",
|
|
244
|
-
textColor: "primary600",
|
|
245
|
-
target: "_blank",
|
|
246
|
-
rel: "noopener noreferrer",
|
|
247
|
-
href: "https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters",
|
|
248
|
-
children: children
|
|
249
|
-
});
|
|
250
|
-
const Bold = (children)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
251
|
-
fontWeight: "semiBold",
|
|
252
|
-
children: children
|
|
253
|
-
});
|
|
254
|
-
const Paragraph = (children)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
255
|
-
children: children
|
|
256
|
-
});
|
|
257
|
-
const Light = (children)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
258
|
-
textColor: "neutral600",
|
|
259
|
-
children: children
|
|
260
|
-
});
|
|
261
|
-
const List = (children)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
262
|
-
paddingLeft: 6,
|
|
263
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("ul", {
|
|
264
|
-
children: children
|
|
265
|
-
})
|
|
266
|
-
});
|
|
267
|
-
const LiStyled = styled.styled.li`
|
|
268
|
-
list-style: disc;
|
|
269
|
-
&::marker {
|
|
270
|
-
color: ${({ theme })=>theme.colors.neutral800};
|
|
271
|
-
}
|
|
272
|
-
`;
|
|
273
|
-
const ListItem = (children)=>/*#__PURE__*/ jsxRuntime.jsx(LiStyled, {
|
|
274
|
-
children: children
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
exports.GuidedTourModal = GuidedTourModal;
|
|
278
|
-
//# sourceMappingURL=Modal.js.map
|