@strapi/admin 5.18.1 → 5.20.0

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