@strapi/content-releases 5.12.0 → 5.12.2

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 (259) hide show
  1. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  2. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  3. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  4. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-light.svg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  9. package/dist/admin/components/EntryValidationPopover.js +344 -0
  10. package/dist/admin/components/EntryValidationPopover.js.map +1 -0
  11. package/dist/admin/components/EntryValidationPopover.mjs +342 -0
  12. package/dist/admin/components/EntryValidationPopover.mjs.map +1 -0
  13. package/dist/admin/components/RelativeTime.js +76 -0
  14. package/dist/admin/components/RelativeTime.js.map +1 -0
  15. package/dist/admin/components/RelativeTime.mjs +55 -0
  16. package/dist/admin/components/RelativeTime.mjs.map +1 -0
  17. package/dist/admin/components/ReleaseAction.js +201 -0
  18. package/dist/admin/components/ReleaseAction.js.map +1 -0
  19. package/dist/admin/components/ReleaseAction.mjs +199 -0
  20. package/dist/admin/components/ReleaseAction.mjs.map +1 -0
  21. package/dist/admin/components/ReleaseActionMenu.js +243 -0
  22. package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
  23. package/dist/admin/components/ReleaseActionMenu.mjs +222 -0
  24. package/dist/admin/components/ReleaseActionMenu.mjs.map +1 -0
  25. package/dist/admin/components/ReleaseActionModal.js +268 -0
  26. package/dist/admin/components/ReleaseActionModal.js.map +1 -0
  27. package/dist/admin/components/ReleaseActionModal.mjs +244 -0
  28. package/dist/admin/components/ReleaseActionModal.mjs.map +1 -0
  29. package/dist/admin/components/ReleaseActionOptions.js +104 -0
  30. package/dist/admin/components/ReleaseActionOptions.js.map +1 -0
  31. package/dist/admin/components/ReleaseActionOptions.mjs +102 -0
  32. package/dist/admin/components/ReleaseActionOptions.mjs.map +1 -0
  33. package/dist/admin/components/ReleaseListCell.js +103 -0
  34. package/dist/admin/components/ReleaseListCell.js.map +1 -0
  35. package/dist/admin/components/ReleaseListCell.mjs +100 -0
  36. package/dist/admin/components/ReleaseListCell.mjs.map +1 -0
  37. package/dist/admin/components/ReleaseModal.js +323 -0
  38. package/dist/admin/components/ReleaseModal.js.map +1 -0
  39. package/dist/admin/components/ReleaseModal.mjs +302 -0
  40. package/dist/admin/components/ReleaseModal.mjs.map +1 -0
  41. package/dist/admin/components/ReleasesPanel.js +138 -0
  42. package/dist/admin/components/ReleasesPanel.js.map +1 -0
  43. package/dist/admin/components/ReleasesPanel.mjs +136 -0
  44. package/dist/admin/components/ReleasesPanel.mjs.map +1 -0
  45. package/dist/admin/constants.js +77 -0
  46. package/dist/admin/constants.js.map +1 -0
  47. package/dist/admin/constants.mjs +75 -0
  48. package/dist/admin/constants.mjs.map +1 -0
  49. package/dist/admin/index.js +120 -14
  50. package/dist/admin/index.js.map +1 -1
  51. package/dist/admin/index.mjs +121 -13
  52. package/dist/admin/index.mjs.map +1 -1
  53. package/dist/admin/{chunks/hooks-DA5VbUAp.js → modules/hooks.js} +1 -1
  54. package/dist/admin/modules/hooks.js.map +1 -0
  55. package/dist/admin/{chunks/hooks-CFk_8Q0b.mjs → modules/hooks.mjs} +2 -2
  56. package/dist/admin/modules/hooks.mjs.map +1 -0
  57. package/dist/admin/pages/App.js +29 -0
  58. package/dist/admin/pages/App.js.map +1 -0
  59. package/dist/admin/pages/App.mjs +27 -0
  60. package/dist/admin/pages/App.mjs.map +1 -0
  61. package/dist/admin/pages/PurchaseContentReleases.js +192 -0
  62. package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
  63. package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
  64. package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
  65. package/dist/admin/pages/ReleaseDetailsPage.js +821 -0
  66. package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
  67. package/dist/admin/pages/ReleaseDetailsPage.mjs +800 -0
  68. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
  69. package/dist/admin/pages/ReleasesPage.js +397 -0
  70. package/dist/admin/pages/ReleasesPage.js.map +1 -0
  71. package/dist/admin/pages/ReleasesPage.mjs +375 -0
  72. package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
  73. package/dist/admin/{chunks/ReleasesSettingsPage-KRcoI1bC.js → pages/ReleasesSettingsPage.js} +9 -17
  74. package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
  75. package/dist/admin/{chunks/ReleasesSettingsPage-DUKdFdvx.mjs → pages/ReleasesSettingsPage.mjs} +5 -13
  76. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
  77. package/dist/admin/pluginId.js +6 -0
  78. package/dist/admin/pluginId.js.map +1 -0
  79. package/dist/admin/pluginId.mjs +4 -0
  80. package/dist/admin/pluginId.mjs.map +1 -0
  81. package/dist/admin/services/release.js +464 -0
  82. package/dist/admin/services/release.js.map +1 -0
  83. package/dist/admin/services/release.mjs +447 -0
  84. package/dist/admin/services/release.mjs.map +1 -0
  85. package/dist/admin/store/hooks.js +8 -0
  86. package/dist/admin/store/hooks.js.map +1 -0
  87. package/dist/admin/store/hooks.mjs +6 -0
  88. package/dist/admin/store/hooks.mjs.map +1 -0
  89. package/dist/admin/{chunks/en-BOpqX2t_.js → translations/en.json.js} +2 -2
  90. package/dist/admin/translations/en.json.js.map +1 -0
  91. package/dist/admin/{chunks/en-aQo8Bn_U.mjs → translations/en.json.mjs} +1 -1
  92. package/dist/admin/translations/en.json.mjs.map +1 -0
  93. package/dist/admin/{chunks/uk-9T9su-bj.js → translations/uk.json.js} +2 -2
  94. package/dist/admin/translations/uk.json.js.map +1 -0
  95. package/dist/admin/{chunks/uk-Bp9HotPq.mjs → translations/uk.json.mjs} +1 -1
  96. package/dist/admin/translations/uk.json.mjs.map +1 -0
  97. package/dist/admin/utils/api.js +8 -0
  98. package/dist/admin/utils/api.js.map +1 -0
  99. package/dist/admin/utils/api.mjs +6 -0
  100. package/dist/admin/utils/api.mjs.map +1 -0
  101. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  102. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  103. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  104. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  105. package/dist/admin/utils/time.js +42 -0
  106. package/dist/admin/utils/time.js.map +1 -0
  107. package/dist/admin/utils/time.mjs +39 -0
  108. package/dist/admin/utils/time.mjs.map +1 -0
  109. package/dist/admin/{chunks/schemas-DS7NeFDN.js → validation/schemas.js} +1 -1
  110. package/dist/admin/validation/schemas.js.map +1 -0
  111. package/dist/admin/{chunks/schemas-DMt8h1z-.mjs → validation/schemas.mjs} +2 -2
  112. package/dist/admin/validation/schemas.mjs.map +1 -0
  113. package/dist/server/bootstrap.js +68 -0
  114. package/dist/server/bootstrap.js.map +1 -0
  115. package/dist/server/bootstrap.mjs +66 -0
  116. package/dist/server/bootstrap.mjs.map +1 -0
  117. package/dist/server/constants.js +74 -0
  118. package/dist/server/constants.js.map +1 -0
  119. package/dist/server/constants.mjs +69 -0
  120. package/dist/server/constants.mjs.map +1 -0
  121. package/dist/server/content-types/index.js +12 -0
  122. package/dist/server/content-types/index.js.map +1 -0
  123. package/dist/server/content-types/index.mjs +10 -0
  124. package/dist/server/content-types/index.mjs.map +1 -0
  125. package/dist/server/content-types/release/index.js +10 -0
  126. package/dist/server/content-types/release/index.js.map +1 -0
  127. package/dist/server/content-types/release/index.mjs +8 -0
  128. package/dist/server/content-types/release/index.mjs.map +1 -0
  129. package/dist/server/content-types/release/schema.js +58 -0
  130. package/dist/server/content-types/release/schema.js.map +1 -0
  131. package/dist/server/content-types/release/schema.mjs +56 -0
  132. package/dist/server/content-types/release/schema.mjs.map +1 -0
  133. package/dist/server/content-types/release-action/index.js +10 -0
  134. package/dist/server/content-types/release-action/index.js.map +1 -0
  135. package/dist/server/content-types/release-action/index.mjs +8 -0
  136. package/dist/server/content-types/release-action/index.mjs.map +1 -0
  137. package/dist/server/content-types/release-action/schema.js +55 -0
  138. package/dist/server/content-types/release-action/schema.js.map +1 -0
  139. package/dist/server/content-types/release-action/schema.mjs +53 -0
  140. package/dist/server/content-types/release-action/schema.mjs.map +1 -0
  141. package/dist/server/controllers/index.js +14 -0
  142. package/dist/server/controllers/index.js.map +1 -0
  143. package/dist/server/controllers/index.mjs +12 -0
  144. package/dist/server/controllers/index.mjs.map +1 -0
  145. package/dist/server/controllers/release-action.js +150 -0
  146. package/dist/server/controllers/release-action.js.map +1 -0
  147. package/dist/server/controllers/release-action.mjs +148 -0
  148. package/dist/server/controllers/release-action.mjs.map +1 -0
  149. package/dist/server/controllers/release.js +302 -0
  150. package/dist/server/controllers/release.js.map +1 -0
  151. package/dist/server/controllers/release.mjs +300 -0
  152. package/dist/server/controllers/release.mjs.map +1 -0
  153. package/dist/server/controllers/settings.js +37 -0
  154. package/dist/server/controllers/settings.js.map +1 -0
  155. package/dist/server/controllers/settings.mjs +35 -0
  156. package/dist/server/controllers/settings.mjs.map +1 -0
  157. package/dist/server/controllers/validation/release-action.js +34 -0
  158. package/dist/server/controllers/validation/release-action.js.map +1 -0
  159. package/dist/server/controllers/validation/release-action.mjs +30 -0
  160. package/dist/server/controllers/validation/release-action.mjs.map +1 -0
  161. package/dist/server/controllers/validation/release.js +26 -0
  162. package/dist/server/controllers/validation/release.js.map +1 -0
  163. package/dist/server/controllers/validation/release.mjs +22 -0
  164. package/dist/server/controllers/validation/release.mjs.map +1 -0
  165. package/dist/server/controllers/validation/settings.js +32 -0
  166. package/dist/server/controllers/validation/settings.js.map +1 -0
  167. package/dist/server/controllers/validation/settings.mjs +10 -0
  168. package/dist/server/controllers/validation/settings.mjs.map +1 -0
  169. package/dist/server/destroy.js +15 -0
  170. package/dist/server/destroy.js.map +1 -0
  171. package/dist/server/destroy.mjs +13 -0
  172. package/dist/server/destroy.mjs.map +1 -0
  173. package/dist/server/index.js +16 -2336
  174. package/dist/server/index.js.map +1 -1
  175. package/dist/server/index.mjs +7 -2308
  176. package/dist/server/index.mjs.map +1 -1
  177. package/dist/server/middlewares/documents.js +104 -0
  178. package/dist/server/middlewares/documents.js.map +1 -0
  179. package/dist/server/middlewares/documents.mjs +101 -0
  180. package/dist/server/middlewares/documents.mjs.map +1 -0
  181. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
  182. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
  183. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
  184. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
  185. package/dist/server/migrations/index.js +205 -0
  186. package/dist/server/migrations/index.js.map +1 -0
  187. package/dist/server/migrations/index.mjs +198 -0
  188. package/dist/server/migrations/index.mjs.map +1 -0
  189. package/dist/server/register.js +23 -0
  190. package/dist/server/register.js.map +1 -0
  191. package/dist/server/register.mjs +21 -0
  192. package/dist/server/register.mjs.map +1 -0
  193. package/dist/server/routes/index.js +14 -0
  194. package/dist/server/routes/index.js.map +1 -0
  195. package/dist/server/routes/index.mjs +12 -0
  196. package/dist/server/routes/index.mjs.map +1 -0
  197. package/dist/server/routes/release-action.js +100 -0
  198. package/dist/server/routes/release-action.js.map +1 -0
  199. package/dist/server/routes/release-action.mjs +98 -0
  200. package/dist/server/routes/release-action.mjs.map +1 -0
  201. package/dist/server/routes/release.js +154 -0
  202. package/dist/server/routes/release.js.map +1 -0
  203. package/dist/server/routes/release.mjs +152 -0
  204. package/dist/server/routes/release.mjs.map +1 -0
  205. package/dist/server/routes/settings.js +46 -0
  206. package/dist/server/routes/settings.js.map +1 -0
  207. package/dist/server/routes/settings.mjs +44 -0
  208. package/dist/server/routes/settings.mjs.map +1 -0
  209. package/dist/server/services/index.js +18 -0
  210. package/dist/server/services/index.js.map +1 -0
  211. package/dist/server/services/index.mjs +16 -0
  212. package/dist/server/services/index.mjs.map +1 -0
  213. package/dist/server/services/release-action.js +323 -0
  214. package/dist/server/services/release-action.js.map +1 -0
  215. package/dist/server/services/release-action.mjs +321 -0
  216. package/dist/server/services/release-action.mjs.map +1 -0
  217. package/dist/server/services/release.js +324 -0
  218. package/dist/server/services/release.js.map +1 -0
  219. package/dist/server/services/release.mjs +322 -0
  220. package/dist/server/services/release.mjs.map +1 -0
  221. package/dist/server/services/scheduling.js +70 -0
  222. package/dist/server/services/scheduling.js.map +1 -0
  223. package/dist/server/services/scheduling.mjs +68 -0
  224. package/dist/server/services/scheduling.mjs.map +1 -0
  225. package/dist/server/services/settings.js +34 -0
  226. package/dist/server/services/settings.js.map +1 -0
  227. package/dist/server/services/settings.mjs +32 -0
  228. package/dist/server/services/settings.mjs.map +1 -0
  229. package/dist/server/services/validation.js +91 -0
  230. package/dist/server/services/validation.js.map +1 -0
  231. package/dist/server/services/validation.mjs +86 -0
  232. package/dist/server/services/validation.mjs.map +1 -0
  233. package/dist/server/utils/index.js +93 -0
  234. package/dist/server/utils/index.js.map +1 -0
  235. package/dist/server/utils/index.mjs +87 -0
  236. package/dist/server/utils/index.mjs.map +1 -0
  237. package/package.json +7 -7
  238. package/dist/admin/chunks/App-BkWgp5q_.mjs +0 -1845
  239. package/dist/admin/chunks/App-BkWgp5q_.mjs.map +0 -1
  240. package/dist/admin/chunks/App-CJiqPP7-.js +0 -1866
  241. package/dist/admin/chunks/App-CJiqPP7-.js.map +0 -1
  242. package/dist/admin/chunks/PurchaseContentReleases-CzayeVUD.mjs +0 -193
  243. package/dist/admin/chunks/PurchaseContentReleases-CzayeVUD.mjs.map +0 -1
  244. package/dist/admin/chunks/PurchaseContentReleases-Z9uEPb5b.js +0 -195
  245. package/dist/admin/chunks/PurchaseContentReleases-Z9uEPb5b.js.map +0 -1
  246. package/dist/admin/chunks/ReleasesSettingsPage-DUKdFdvx.mjs.map +0 -1
  247. package/dist/admin/chunks/ReleasesSettingsPage-KRcoI1bC.js.map +0 -1
  248. package/dist/admin/chunks/en-BOpqX2t_.js.map +0 -1
  249. package/dist/admin/chunks/en-aQo8Bn_U.mjs.map +0 -1
  250. package/dist/admin/chunks/hooks-CFk_8Q0b.mjs.map +0 -1
  251. package/dist/admin/chunks/hooks-DA5VbUAp.js.map +0 -1
  252. package/dist/admin/chunks/index-DBUaMD56.mjs +0 -1619
  253. package/dist/admin/chunks/index-DBUaMD56.mjs.map +0 -1
  254. package/dist/admin/chunks/index-vjWrvGN3.js +0 -1658
  255. package/dist/admin/chunks/index-vjWrvGN3.js.map +0 -1
  256. package/dist/admin/chunks/schemas-DMt8h1z-.mjs.map +0 -1
  257. package/dist/admin/chunks/schemas-DS7NeFDN.js.map +0 -1
  258. package/dist/admin/chunks/uk-9T9su-bj.js.map +0 -1
  259. package/dist/admin/chunks/uk-Bp9HotPq.mjs.map +0 -1
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var designSystem = require('@strapi/design-system');
6
+ var styledComponents = require('styled-components');
7
+
8
+ const getBorderLeftRadiusValue = (actionType)=>{
9
+ return actionType === 'publish' ? 1 : 0;
10
+ };
11
+ const getBorderRightRadiusValue = (actionType)=>{
12
+ return actionType === 'publish' ? 0 : 1;
13
+ };
14
+ const FieldWrapper = styledComponents.styled(designSystem.Field.Root)`
15
+ border-top-left-radius: ${({ $actionType, theme })=>theme.spaces[getBorderLeftRadiusValue($actionType)]};
16
+ border-bottom-left-radius: ${({ $actionType, theme })=>theme.spaces[getBorderLeftRadiusValue($actionType)]};
17
+ border-top-right-radius: ${({ $actionType, theme })=>theme.spaces[getBorderRightRadiusValue($actionType)]};
18
+ border-bottom-right-radius: ${({ $actionType, theme })=>theme.spaces[getBorderRightRadiusValue($actionType)]};
19
+
20
+ > label {
21
+ color: inherit;
22
+ padding: ${({ theme })=>`${theme.spaces[2]} ${theme.spaces[3]}`};
23
+ text-align: center;
24
+ vertical-align: middle;
25
+ text-transform: capitalize;
26
+ }
27
+
28
+ &[data-checked='true'] {
29
+ color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};
30
+ background-color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary100 : theme.colors.danger100};
31
+ border-color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};
32
+ }
33
+
34
+ &[data-checked='false'] {
35
+ border-left: ${({ $actionType })=>$actionType === 'unpublish' && 'none'};
36
+ border-right: ${({ $actionType })=>$actionType === 'publish' && 'none'};
37
+ }
38
+
39
+ &[data-checked='false'][data-disabled='false']:hover {
40
+ color: ${({ theme })=>theme.colors.neutral700};
41
+ background-color: ${({ theme })=>theme.colors.neutral100};
42
+ border-color: ${({ theme })=>theme.colors.neutral200};
43
+
44
+ & > label {
45
+ cursor: pointer;
46
+ }
47
+ }
48
+
49
+ &[data-disabled='true'] {
50
+ color: ${({ theme })=>theme.colors.neutral600};
51
+ background-color: ${({ theme })=>theme.colors.neutral150};
52
+ border-color: ${({ theme })=>theme.colors.neutral300};
53
+ }
54
+ `;
55
+ const ActionOption = ({ selected, actionType, handleChange, name, disabled = false })=>{
56
+ return /*#__PURE__*/ jsxRuntime.jsx(FieldWrapper, {
57
+ $actionType: actionType,
58
+ background: "primary0",
59
+ borderColor: "neutral200",
60
+ color: selected === actionType ? 'primary600' : 'neutral600',
61
+ position: "relative",
62
+ cursor: "pointer",
63
+ "data-checked": selected === actionType,
64
+ "data-disabled": disabled && selected !== actionType,
65
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Label, {
66
+ children: [
67
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
68
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Input, {
69
+ type: "radio",
70
+ name: name,
71
+ checked: selected === actionType,
72
+ onChange: handleChange,
73
+ value: actionType,
74
+ disabled: disabled
75
+ })
76
+ }),
77
+ actionType
78
+ ]
79
+ })
80
+ });
81
+ };
82
+ const ReleaseActionOptions = ({ selected, handleChange, name, disabled = false })=>{
83
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
84
+ children: [
85
+ /*#__PURE__*/ jsxRuntime.jsx(ActionOption, {
86
+ actionType: "publish",
87
+ selected: selected,
88
+ handleChange: handleChange,
89
+ name: name,
90
+ disabled: disabled
91
+ }),
92
+ /*#__PURE__*/ jsxRuntime.jsx(ActionOption, {
93
+ actionType: "unpublish",
94
+ selected: selected,
95
+ handleChange: handleChange,
96
+ name: name,
97
+ disabled: disabled
98
+ })
99
+ ]
100
+ });
101
+ };
102
+
103
+ exports.ReleaseActionOptions = ReleaseActionOptions;
104
+ //# sourceMappingURL=ReleaseActionOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseActionOptions.js","sources":["../../../admin/src/components/ReleaseActionOptions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { VisuallyHidden, Field, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface FieldWrapperProps extends Field.Props {\n actionType: 'publish' | 'unpublish';\n}\n\nconst getBorderLeftRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n return actionType === 'publish' ? 1 : 0;\n};\n\nconst getBorderRightRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n return actionType === 'publish' ? 0 : 1;\n};\n\nconst FieldWrapper = styled(Field.Root)<{\n $actionType: 'publish' | 'unpublish';\n}>`\n border-top-left-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderLeftRadiusValue($actionType)]};\n border-bottom-left-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderLeftRadiusValue($actionType)]};\n border-top-right-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderRightRadiusValue($actionType)]};\n border-bottom-right-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderRightRadiusValue($actionType)]};\n\n > label {\n color: inherit;\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[3]}`};\n text-align: center;\n vertical-align: middle;\n text-transform: capitalize;\n }\n\n &[data-checked='true'] {\n color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n background-color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary100 : theme.colors.danger100};\n border-color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n }\n\n &[data-checked='false'] {\n border-left: ${({ $actionType }) => $actionType === 'unpublish' && 'none'};\n border-right: ${({ $actionType }) => $actionType === 'publish' && 'none'};\n }\n\n &[data-checked='false'][data-disabled='false']:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n background-color: ${({ theme }) => theme.colors.neutral100};\n border-color: ${({ theme }) => theme.colors.neutral200};\n\n & > label {\n cursor: pointer;\n }\n }\n\n &[data-disabled='true'] {\n color: ${({ theme }) => theme.colors.neutral600};\n background-color: ${({ theme }) => theme.colors.neutral150};\n border-color: ${({ theme }) => theme.colors.neutral300};\n }\n`;\n\ninterface ActionOptionProps {\n selected: 'publish' | 'unpublish';\n handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n name: string;\n disabled?: boolean;\n}\n\ninterface OptionProps extends ActionOptionProps {\n actionType: 'publish' | 'unpublish';\n}\n\nconst ActionOption = ({\n selected,\n actionType,\n handleChange,\n name,\n disabled = false,\n}: OptionProps) => {\n return (\n <FieldWrapper\n $actionType={actionType}\n background=\"primary0\"\n borderColor=\"neutral200\"\n color={selected === actionType ? 'primary600' : 'neutral600'}\n position=\"relative\"\n cursor=\"pointer\"\n data-checked={selected === actionType}\n data-disabled={disabled && selected !== actionType}\n >\n <Field.Label>\n <VisuallyHidden>\n <Field.Input\n type=\"radio\"\n name={name}\n checked={selected === actionType}\n onChange={handleChange}\n value={actionType}\n disabled={disabled}\n />\n </VisuallyHidden>\n {actionType}\n </Field.Label>\n </FieldWrapper>\n );\n};\n\nexport const ReleaseActionOptions = ({\n selected,\n handleChange,\n name,\n disabled = false,\n}: ActionOptionProps) => {\n return (\n <Flex>\n <ActionOption\n actionType=\"publish\"\n selected={selected}\n handleChange={handleChange}\n name={name}\n disabled={disabled}\n />\n <ActionOption\n actionType=\"unpublish\"\n selected={selected}\n handleChange={handleChange}\n name={name}\n disabled={disabled}\n />\n </Flex>\n );\n};\n"],"names":["getBorderLeftRadiusValue","actionType","getBorderRightRadiusValue","FieldWrapper","styled","Field","Root","$actionType","theme","spaces","colors","primary700","danger600","primary100","danger100","neutral700","neutral100","neutral200","neutral600","neutral150","neutral300","ActionOption","selected","handleChange","name","disabled","_jsx","background","borderColor","color","position","cursor","data-checked","data-disabled","_jsxs","Label","VisuallyHidden","Input","type","checked","onChange","value","ReleaseActionOptions","Flex"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { Field, Flex, VisuallyHidden } from '@strapi/design-system';
4
+ import { styled } from 'styled-components';
5
+
6
+ const getBorderLeftRadiusValue = (actionType)=>{
7
+ return actionType === 'publish' ? 1 : 0;
8
+ };
9
+ const getBorderRightRadiusValue = (actionType)=>{
10
+ return actionType === 'publish' ? 0 : 1;
11
+ };
12
+ const FieldWrapper = styled(Field.Root)`
13
+ border-top-left-radius: ${({ $actionType, theme })=>theme.spaces[getBorderLeftRadiusValue($actionType)]};
14
+ border-bottom-left-radius: ${({ $actionType, theme })=>theme.spaces[getBorderLeftRadiusValue($actionType)]};
15
+ border-top-right-radius: ${({ $actionType, theme })=>theme.spaces[getBorderRightRadiusValue($actionType)]};
16
+ border-bottom-right-radius: ${({ $actionType, theme })=>theme.spaces[getBorderRightRadiusValue($actionType)]};
17
+
18
+ > label {
19
+ color: inherit;
20
+ padding: ${({ theme })=>`${theme.spaces[2]} ${theme.spaces[3]}`};
21
+ text-align: center;
22
+ vertical-align: middle;
23
+ text-transform: capitalize;
24
+ }
25
+
26
+ &[data-checked='true'] {
27
+ color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};
28
+ background-color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary100 : theme.colors.danger100};
29
+ border-color: ${({ theme, $actionType })=>$actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};
30
+ }
31
+
32
+ &[data-checked='false'] {
33
+ border-left: ${({ $actionType })=>$actionType === 'unpublish' && 'none'};
34
+ border-right: ${({ $actionType })=>$actionType === 'publish' && 'none'};
35
+ }
36
+
37
+ &[data-checked='false'][data-disabled='false']:hover {
38
+ color: ${({ theme })=>theme.colors.neutral700};
39
+ background-color: ${({ theme })=>theme.colors.neutral100};
40
+ border-color: ${({ theme })=>theme.colors.neutral200};
41
+
42
+ & > label {
43
+ cursor: pointer;
44
+ }
45
+ }
46
+
47
+ &[data-disabled='true'] {
48
+ color: ${({ theme })=>theme.colors.neutral600};
49
+ background-color: ${({ theme })=>theme.colors.neutral150};
50
+ border-color: ${({ theme })=>theme.colors.neutral300};
51
+ }
52
+ `;
53
+ const ActionOption = ({ selected, actionType, handleChange, name, disabled = false })=>{
54
+ return /*#__PURE__*/ jsx(FieldWrapper, {
55
+ $actionType: actionType,
56
+ background: "primary0",
57
+ borderColor: "neutral200",
58
+ color: selected === actionType ? 'primary600' : 'neutral600',
59
+ position: "relative",
60
+ cursor: "pointer",
61
+ "data-checked": selected === actionType,
62
+ "data-disabled": disabled && selected !== actionType,
63
+ children: /*#__PURE__*/ jsxs(Field.Label, {
64
+ children: [
65
+ /*#__PURE__*/ jsx(VisuallyHidden, {
66
+ children: /*#__PURE__*/ jsx(Field.Input, {
67
+ type: "radio",
68
+ name: name,
69
+ checked: selected === actionType,
70
+ onChange: handleChange,
71
+ value: actionType,
72
+ disabled: disabled
73
+ })
74
+ }),
75
+ actionType
76
+ ]
77
+ })
78
+ });
79
+ };
80
+ const ReleaseActionOptions = ({ selected, handleChange, name, disabled = false })=>{
81
+ return /*#__PURE__*/ jsxs(Flex, {
82
+ children: [
83
+ /*#__PURE__*/ jsx(ActionOption, {
84
+ actionType: "publish",
85
+ selected: selected,
86
+ handleChange: handleChange,
87
+ name: name,
88
+ disabled: disabled
89
+ }),
90
+ /*#__PURE__*/ jsx(ActionOption, {
91
+ actionType: "unpublish",
92
+ selected: selected,
93
+ handleChange: handleChange,
94
+ name: name,
95
+ disabled: disabled
96
+ })
97
+ ]
98
+ });
99
+ };
100
+
101
+ export { ReleaseActionOptions };
102
+ //# sourceMappingURL=ReleaseActionOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseActionOptions.mjs","sources":["../../../admin/src/components/ReleaseActionOptions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { VisuallyHidden, Field, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface FieldWrapperProps extends Field.Props {\n actionType: 'publish' | 'unpublish';\n}\n\nconst getBorderLeftRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n return actionType === 'publish' ? 1 : 0;\n};\n\nconst getBorderRightRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n return actionType === 'publish' ? 0 : 1;\n};\n\nconst FieldWrapper = styled(Field.Root)<{\n $actionType: 'publish' | 'unpublish';\n}>`\n border-top-left-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderLeftRadiusValue($actionType)]};\n border-bottom-left-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderLeftRadiusValue($actionType)]};\n border-top-right-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderRightRadiusValue($actionType)]};\n border-bottom-right-radius: ${({ $actionType, theme }) =>\n theme.spaces[getBorderRightRadiusValue($actionType)]};\n\n > label {\n color: inherit;\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[3]}`};\n text-align: center;\n vertical-align: middle;\n text-transform: capitalize;\n }\n\n &[data-checked='true'] {\n color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n background-color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary100 : theme.colors.danger100};\n border-color: ${({ theme, $actionType }) =>\n $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n }\n\n &[data-checked='false'] {\n border-left: ${({ $actionType }) => $actionType === 'unpublish' && 'none'};\n border-right: ${({ $actionType }) => $actionType === 'publish' && 'none'};\n }\n\n &[data-checked='false'][data-disabled='false']:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n background-color: ${({ theme }) => theme.colors.neutral100};\n border-color: ${({ theme }) => theme.colors.neutral200};\n\n & > label {\n cursor: pointer;\n }\n }\n\n &[data-disabled='true'] {\n color: ${({ theme }) => theme.colors.neutral600};\n background-color: ${({ theme }) => theme.colors.neutral150};\n border-color: ${({ theme }) => theme.colors.neutral300};\n }\n`;\n\ninterface ActionOptionProps {\n selected: 'publish' | 'unpublish';\n handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n name: string;\n disabled?: boolean;\n}\n\ninterface OptionProps extends ActionOptionProps {\n actionType: 'publish' | 'unpublish';\n}\n\nconst ActionOption = ({\n selected,\n actionType,\n handleChange,\n name,\n disabled = false,\n}: OptionProps) => {\n return (\n <FieldWrapper\n $actionType={actionType}\n background=\"primary0\"\n borderColor=\"neutral200\"\n color={selected === actionType ? 'primary600' : 'neutral600'}\n position=\"relative\"\n cursor=\"pointer\"\n data-checked={selected === actionType}\n data-disabled={disabled && selected !== actionType}\n >\n <Field.Label>\n <VisuallyHidden>\n <Field.Input\n type=\"radio\"\n name={name}\n checked={selected === actionType}\n onChange={handleChange}\n value={actionType}\n disabled={disabled}\n />\n </VisuallyHidden>\n {actionType}\n </Field.Label>\n </FieldWrapper>\n );\n};\n\nexport const ReleaseActionOptions = ({\n selected,\n handleChange,\n name,\n disabled = false,\n}: ActionOptionProps) => {\n return (\n <Flex>\n <ActionOption\n actionType=\"publish\"\n selected={selected}\n handleChange={handleChange}\n name={name}\n disabled={disabled}\n />\n <ActionOption\n actionType=\"unpublish\"\n selected={selected}\n handleChange={handleChange}\n name={name}\n disabled={disabled}\n />\n </Flex>\n );\n};\n"],"names":["getBorderLeftRadiusValue","actionType","getBorderRightRadiusValue","FieldWrapper","styled","Field","Root","$actionType","theme","spaces","colors","primary700","danger600","primary100","danger100","neutral700","neutral100","neutral200","neutral600","neutral150","neutral300","ActionOption","selected","handleChange","name","disabled","_jsx","background","borderColor","color","position","cursor","data-checked","data-disabled","_jsxs","Label","VisuallyHidden","Input","type","checked","onChange","value","ReleaseActionOptions","Flex"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var icons = require('@strapi/icons');
8
+ var reactIntl = require('react-intl');
9
+ var release = require('../services/release.js');
10
+
11
+ const useReleasesList = (contentTypeUid, documentId)=>{
12
+ const listViewData = strapiAdmin.useTable('ListView', (state)=>state.rows);
13
+ const documentIds = listViewData.map((entry)=>entry.documentId);
14
+ const [{ query }] = strapiAdmin.useQueryParams();
15
+ const locale = query?.plugins?.i18n?.locale || undefined;
16
+ const response = release.useGetMappedEntriesInReleasesQuery({
17
+ contentTypeUid,
18
+ documentIds,
19
+ locale
20
+ }, {
21
+ skip: !documentIds || !contentTypeUid || documentIds.length === 0
22
+ });
23
+ const mappedEntriesInReleases = response.data || {};
24
+ return mappedEntriesInReleases?.[documentId] || [];
25
+ };
26
+ const addColumnToTableHook = ({ displayedHeaders, layout })=>{
27
+ const { options } = layout;
28
+ if (!options?.draftAndPublish) {
29
+ return {
30
+ displayedHeaders,
31
+ layout
32
+ };
33
+ }
34
+ return {
35
+ displayedHeaders: [
36
+ ...displayedHeaders,
37
+ {
38
+ searchable: false,
39
+ sortable: false,
40
+ name: 'releases',
41
+ label: {
42
+ id: 'content-releases.content-manager.list-view.releases.header',
43
+ defaultMessage: 'To be released in'
44
+ },
45
+ cellFormatter: (props, _, { model })=>/*#__PURE__*/ jsxRuntime.jsx(ReleaseListCell, {
46
+ ...props,
47
+ model: model
48
+ })
49
+ }
50
+ ],
51
+ layout
52
+ };
53
+ };
54
+ const ReleaseListCell = ({ documentId, model })=>{
55
+ const releases = useReleasesList(model, documentId);
56
+ const { formatMessage } = reactIntl.useIntl();
57
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Popover.Root, {
58
+ children: [
59
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Trigger, {
60
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
61
+ variant: "ghost",
62
+ onClick: (e)=>e.stopPropagation(),
63
+ // TODO: find a way in the DS to define the widht and height of the icon
64
+ endIcon: releases.length > 0 ? /*#__PURE__*/ jsxRuntime.jsx(icons.CaretDown, {
65
+ width: "1.2rem",
66
+ height: "1.2rem"
67
+ }) : null,
68
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
69
+ style: {
70
+ maxWidth: '252px',
71
+ cursor: 'pointer'
72
+ },
73
+ textColor: "neutral800",
74
+ fontWeight: "regular",
75
+ children: releases.length > 0 ? formatMessage({
76
+ id: 'content-releases.content-manager.list-view.releases-number',
77
+ defaultMessage: '{number} {number, plural, one {release} other {releases}}'
78
+ }, {
79
+ number: releases.length
80
+ }) : '-'
81
+ })
82
+ })
83
+ }),
84
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Content, {
85
+ children: /*#__PURE__*/ jsxRuntime.jsx("ul", {
86
+ children: releases.map(({ id, name })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
87
+ padding: 3,
88
+ tag: "li",
89
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
90
+ href: `/admin/plugins/content-releases/${id}`,
91
+ isExternal: false,
92
+ children: name
93
+ })
94
+ }, id))
95
+ })
96
+ })
97
+ ]
98
+ });
99
+ };
100
+
101
+ exports.ReleaseListCell = ReleaseListCell;
102
+ exports.addColumnToTableHook = addColumnToTableHook;
103
+ //# sourceMappingURL=ReleaseListCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseListCell.js","sources":["../../../admin/src/components/ReleaseListCell.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTable, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { ListFieldLayout, ListLayout } from '@strapi/content-manager/strapi-admin';\nimport { Box, Popover, Typography, Button, Link } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useGetMappedEntriesInReleasesQuery } from '../services/release';\n\nimport type { Modules, UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * useReleasesList\n * -----------------------------------------------------------------------------------------------*/\ninterface QueryParams {\n plugins?: {\n i18n?: {\n locale: string;\n };\n };\n}\n\nconst useReleasesList = (contentTypeUid: UID.ContentType, documentId: Modules.Documents.ID) => {\n const listViewData = useTable('ListView', (state) => state.rows);\n const documentIds = listViewData.map((entry) => entry.documentId);\n const [{ query }] = useQueryParams();\n const locale = (query as QueryParams)?.plugins?.i18n?.locale || undefined;\n\n const response = useGetMappedEntriesInReleasesQuery(\n { contentTypeUid, documentIds, locale },\n { skip: !documentIds || !contentTypeUid || documentIds.length === 0 }\n );\n\n const mappedEntriesInReleases = response.data || {};\n\n return mappedEntriesInReleases?.[documentId] || [];\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addColumnToTableHook\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AddColumnToTableHookArgs {\n layout: ListLayout;\n displayedHeaders: ListFieldLayout[];\n}\n\nconst addColumnToTableHook = ({ displayedHeaders, layout }: AddColumnToTableHookArgs) => {\n const { options } = layout;\n\n if (!options?.draftAndPublish) {\n return { displayedHeaders, layout };\n }\n\n return {\n displayedHeaders: [\n ...displayedHeaders,\n {\n searchable: false,\n sortable: false,\n name: 'releases',\n label: {\n id: 'content-releases.content-manager.list-view.releases.header',\n defaultMessage: 'To be released in',\n },\n cellFormatter: (\n props: Modules.Documents.AnyDocument,\n _: any,\n { model }: { model: UID.ContentType }\n ) => <ReleaseListCell {...props} model={model} />,\n },\n ],\n layout,\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ReleaseListCell\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ReleaseListCellProps extends Modules.Documents.AnyDocument {\n documentId: Modules.Documents.ID;\n model: UID.ContentType;\n}\n\nconst ReleaseListCell = ({ documentId, model }: ReleaseListCellProps) => {\n const releases = useReleasesList(model, documentId);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root>\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n onClick={(e: React.MouseEvent<HTMLElement>) => e.stopPropagation()}\n // TODO: find a way in the DS to define the widht and height of the icon\n endIcon={releases.length > 0 ? <CaretDown width=\"1.2rem\" height=\"1.2rem\" /> : null}\n >\n <Typography\n style={{ maxWidth: '252px', cursor: 'pointer' }}\n textColor=\"neutral800\"\n fontWeight=\"regular\"\n >\n {releases.length > 0\n ? formatMessage(\n {\n id: 'content-releases.content-manager.list-view.releases-number',\n defaultMessage: '{number} {number, plural, one {release} other {releases}}',\n },\n {\n number: releases.length,\n }\n )\n : '-'}\n </Typography>\n </Button>\n </Popover.Trigger>\n <Popover.Content>\n <ul>\n {releases.map(({ id, name }) => (\n <Box key={id} padding={3} tag=\"li\">\n <Link href={`/admin/plugins/content-releases/${id}`} isExternal={false}>\n {name}\n </Link>\n </Box>\n ))}\n </ul>\n </Popover.Content>\n </Popover.Root>\n );\n};\n\nexport { ReleaseListCell, addColumnToTableHook };\nexport type { ReleaseListCellProps };\n"],"names":["useReleasesList","contentTypeUid","documentId","listViewData","useTable","state","rows","documentIds","map","entry","query","useQueryParams","locale","plugins","i18n","undefined","response","useGetMappedEntriesInReleasesQuery","skip","length","mappedEntriesInReleases","data","addColumnToTableHook","displayedHeaders","layout","options","draftAndPublish","searchable","sortable","name","label","id","defaultMessage","cellFormatter","props","_","model","_jsx","ReleaseListCell","releases","formatMessage","useIntl","_jsxs","Popover","Root","Trigger","Button","variant","onClick","e","stopPropagation","endIcon","CaretDown","width","height","Typography","style","maxWidth","cursor","textColor","fontWeight","number","Content","ul","Box","padding","tag","Link","href","isExternal"],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { useTable, useQueryParams } from '@strapi/admin/strapi-admin';
4
+ import { Popover, Button, Typography, Box, Link } from '@strapi/design-system';
5
+ import { CaretDown } from '@strapi/icons';
6
+ import { useIntl } from 'react-intl';
7
+ import { useGetMappedEntriesInReleasesQuery } from '../services/release.mjs';
8
+
9
+ const useReleasesList = (contentTypeUid, documentId)=>{
10
+ const listViewData = useTable('ListView', (state)=>state.rows);
11
+ const documentIds = listViewData.map((entry)=>entry.documentId);
12
+ const [{ query }] = useQueryParams();
13
+ const locale = query?.plugins?.i18n?.locale || undefined;
14
+ const response = useGetMappedEntriesInReleasesQuery({
15
+ contentTypeUid,
16
+ documentIds,
17
+ locale
18
+ }, {
19
+ skip: !documentIds || !contentTypeUid || documentIds.length === 0
20
+ });
21
+ const mappedEntriesInReleases = response.data || {};
22
+ return mappedEntriesInReleases?.[documentId] || [];
23
+ };
24
+ const addColumnToTableHook = ({ displayedHeaders, layout })=>{
25
+ const { options } = layout;
26
+ if (!options?.draftAndPublish) {
27
+ return {
28
+ displayedHeaders,
29
+ layout
30
+ };
31
+ }
32
+ return {
33
+ displayedHeaders: [
34
+ ...displayedHeaders,
35
+ {
36
+ searchable: false,
37
+ sortable: false,
38
+ name: 'releases',
39
+ label: {
40
+ id: 'content-releases.content-manager.list-view.releases.header',
41
+ defaultMessage: 'To be released in'
42
+ },
43
+ cellFormatter: (props, _, { model })=>/*#__PURE__*/ jsx(ReleaseListCell, {
44
+ ...props,
45
+ model: model
46
+ })
47
+ }
48
+ ],
49
+ layout
50
+ };
51
+ };
52
+ const ReleaseListCell = ({ documentId, model })=>{
53
+ const releases = useReleasesList(model, documentId);
54
+ const { formatMessage } = useIntl();
55
+ return /*#__PURE__*/ jsxs(Popover.Root, {
56
+ children: [
57
+ /*#__PURE__*/ jsx(Popover.Trigger, {
58
+ children: /*#__PURE__*/ jsx(Button, {
59
+ variant: "ghost",
60
+ onClick: (e)=>e.stopPropagation(),
61
+ // TODO: find a way in the DS to define the widht and height of the icon
62
+ endIcon: releases.length > 0 ? /*#__PURE__*/ jsx(CaretDown, {
63
+ width: "1.2rem",
64
+ height: "1.2rem"
65
+ }) : null,
66
+ children: /*#__PURE__*/ jsx(Typography, {
67
+ style: {
68
+ maxWidth: '252px',
69
+ cursor: 'pointer'
70
+ },
71
+ textColor: "neutral800",
72
+ fontWeight: "regular",
73
+ children: releases.length > 0 ? formatMessage({
74
+ id: 'content-releases.content-manager.list-view.releases-number',
75
+ defaultMessage: '{number} {number, plural, one {release} other {releases}}'
76
+ }, {
77
+ number: releases.length
78
+ }) : '-'
79
+ })
80
+ })
81
+ }),
82
+ /*#__PURE__*/ jsx(Popover.Content, {
83
+ children: /*#__PURE__*/ jsx("ul", {
84
+ children: releases.map(({ id, name })=>/*#__PURE__*/ jsx(Box, {
85
+ padding: 3,
86
+ tag: "li",
87
+ children: /*#__PURE__*/ jsx(Link, {
88
+ href: `/admin/plugins/content-releases/${id}`,
89
+ isExternal: false,
90
+ children: name
91
+ })
92
+ }, id))
93
+ })
94
+ })
95
+ ]
96
+ });
97
+ };
98
+
99
+ export { ReleaseListCell, addColumnToTableHook };
100
+ //# sourceMappingURL=ReleaseListCell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseListCell.mjs","sources":["../../../admin/src/components/ReleaseListCell.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTable, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { ListFieldLayout, ListLayout } from '@strapi/content-manager/strapi-admin';\nimport { Box, Popover, Typography, Button, Link } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useGetMappedEntriesInReleasesQuery } from '../services/release';\n\nimport type { Modules, UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * useReleasesList\n * -----------------------------------------------------------------------------------------------*/\ninterface QueryParams {\n plugins?: {\n i18n?: {\n locale: string;\n };\n };\n}\n\nconst useReleasesList = (contentTypeUid: UID.ContentType, documentId: Modules.Documents.ID) => {\n const listViewData = useTable('ListView', (state) => state.rows);\n const documentIds = listViewData.map((entry) => entry.documentId);\n const [{ query }] = useQueryParams();\n const locale = (query as QueryParams)?.plugins?.i18n?.locale || undefined;\n\n const response = useGetMappedEntriesInReleasesQuery(\n { contentTypeUid, documentIds, locale },\n { skip: !documentIds || !contentTypeUid || documentIds.length === 0 }\n );\n\n const mappedEntriesInReleases = response.data || {};\n\n return mappedEntriesInReleases?.[documentId] || [];\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addColumnToTableHook\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AddColumnToTableHookArgs {\n layout: ListLayout;\n displayedHeaders: ListFieldLayout[];\n}\n\nconst addColumnToTableHook = ({ displayedHeaders, layout }: AddColumnToTableHookArgs) => {\n const { options } = layout;\n\n if (!options?.draftAndPublish) {\n return { displayedHeaders, layout };\n }\n\n return {\n displayedHeaders: [\n ...displayedHeaders,\n {\n searchable: false,\n sortable: false,\n name: 'releases',\n label: {\n id: 'content-releases.content-manager.list-view.releases.header',\n defaultMessage: 'To be released in',\n },\n cellFormatter: (\n props: Modules.Documents.AnyDocument,\n _: any,\n { model }: { model: UID.ContentType }\n ) => <ReleaseListCell {...props} model={model} />,\n },\n ],\n layout,\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ReleaseListCell\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ReleaseListCellProps extends Modules.Documents.AnyDocument {\n documentId: Modules.Documents.ID;\n model: UID.ContentType;\n}\n\nconst ReleaseListCell = ({ documentId, model }: ReleaseListCellProps) => {\n const releases = useReleasesList(model, documentId);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root>\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n onClick={(e: React.MouseEvent<HTMLElement>) => e.stopPropagation()}\n // TODO: find a way in the DS to define the widht and height of the icon\n endIcon={releases.length > 0 ? <CaretDown width=\"1.2rem\" height=\"1.2rem\" /> : null}\n >\n <Typography\n style={{ maxWidth: '252px', cursor: 'pointer' }}\n textColor=\"neutral800\"\n fontWeight=\"regular\"\n >\n {releases.length > 0\n ? formatMessage(\n {\n id: 'content-releases.content-manager.list-view.releases-number',\n defaultMessage: '{number} {number, plural, one {release} other {releases}}',\n },\n {\n number: releases.length,\n }\n )\n : '-'}\n </Typography>\n </Button>\n </Popover.Trigger>\n <Popover.Content>\n <ul>\n {releases.map(({ id, name }) => (\n <Box key={id} padding={3} tag=\"li\">\n <Link href={`/admin/plugins/content-releases/${id}`} isExternal={false}>\n {name}\n </Link>\n </Box>\n ))}\n </ul>\n </Popover.Content>\n </Popover.Root>\n );\n};\n\nexport { ReleaseListCell, addColumnToTableHook };\nexport type { ReleaseListCellProps };\n"],"names":["useReleasesList","contentTypeUid","documentId","listViewData","useTable","state","rows","documentIds","map","entry","query","useQueryParams","locale","plugins","i18n","undefined","response","useGetMappedEntriesInReleasesQuery","skip","length","mappedEntriesInReleases","data","addColumnToTableHook","displayedHeaders","layout","options","draftAndPublish","searchable","sortable","name","label","id","defaultMessage","cellFormatter","props","_","model","_jsx","ReleaseListCell","releases","formatMessage","useIntl","_jsxs","Popover","Root","Trigger","Button","variant","onClick","e","stopPropagation","endIcon","CaretDown","width","height","Typography","style","maxWidth","cursor","textColor","fontWeight","number","Content","ul","Box","padding","tag","Link","href","isExternal"],"mappings":"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"}