@strapi/upload 5.9.0 → 5.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/admin/chunks/App-CNK_Kv03.mjs +972 -0
  2. package/dist/admin/chunks/App-CNK_Kv03.mjs.map +1 -0
  3. package/dist/admin/chunks/App-DnxXkEtZ.js +993 -0
  4. package/dist/admin/chunks/App-DnxXkEtZ.js.map +1 -0
  5. package/dist/admin/chunks/ConfigureTheView-BFXInHXz.js +297 -0
  6. package/dist/admin/chunks/ConfigureTheView-BFXInHXz.js.map +1 -0
  7. package/dist/admin/chunks/ConfigureTheView-DTYyp_1T.mjs +276 -0
  8. package/dist/admin/chunks/ConfigureTheView-DTYyp_1T.mjs.map +1 -0
  9. package/dist/admin/chunks/SettingsPage-B_vUS1w1.js +354 -0
  10. package/dist/admin/chunks/SettingsPage-B_vUS1w1.js.map +1 -0
  11. package/dist/admin/chunks/SettingsPage-DA56QDU9.mjs +332 -0
  12. package/dist/admin/chunks/SettingsPage-DA56QDU9.mjs.map +1 -0
  13. package/dist/admin/chunks/ca-Bi4qskZD.mjs +120 -0
  14. package/dist/{_chunks/es-CuWi2pOn.mjs.map → admin/chunks/ca-Bi4qskZD.mjs.map} +1 -1
  15. package/dist/admin/chunks/ca-pCOhKIn8.js +122 -0
  16. package/dist/{_chunks/es-DWFtw_h4.js.map → admin/chunks/ca-pCOhKIn8.js.map} +1 -1
  17. package/dist/admin/chunks/de-BlbX8Dl_.mjs +106 -0
  18. package/dist/{_chunks/pl-Cj8jChOO.mjs.map → admin/chunks/de-BlbX8Dl_.mjs.map} +1 -1
  19. package/dist/admin/chunks/de-DUjKLmOP.js +108 -0
  20. package/dist/{_chunks/de-uGb_Pkq7.js.map → admin/chunks/de-DUjKLmOP.js.map} +1 -1
  21. package/dist/admin/chunks/dk-C2ydE6A7.mjs +102 -0
  22. package/dist/{_chunks/ko-vJl9kPpn.mjs.map → admin/chunks/dk-C2ydE6A7.mjs.map} +1 -1
  23. package/dist/admin/chunks/dk-DSsspA0e.js +104 -0
  24. package/dist/{_chunks/dk-Cd8oFO-O.js.map → admin/chunks/dk-DSsspA0e.js.map} +1 -1
  25. package/dist/admin/chunks/en-Bw_Cb2IV.mjs +143 -0
  26. package/dist/{_chunks/en-oDx2Gnre.mjs.map → admin/chunks/en-Bw_Cb2IV.mjs.map} +1 -1
  27. package/dist/admin/chunks/en-UjETkewz.js +145 -0
  28. package/dist/{_chunks/en-BcOqhiNe.js.map → admin/chunks/en-UjETkewz.js.map} +1 -1
  29. package/dist/admin/chunks/es-CiEgbw0k.mjs +119 -0
  30. package/dist/{_chunks/ca-B2_I-q1t.mjs.map → admin/chunks/es-CiEgbw0k.mjs.map} +1 -1
  31. package/dist/admin/chunks/es-qAL8YcZz.js +121 -0
  32. package/dist/{_chunks/ca-BUpuZx8N.js.map → admin/chunks/es-qAL8YcZz.js.map} +1 -1
  33. package/dist/admin/chunks/fr-BL0Uyj6j.js +145 -0
  34. package/dist/admin/chunks/fr-BL0Uyj6j.js.map +1 -0
  35. package/dist/admin/chunks/fr-CwRt2FJu.mjs +143 -0
  36. package/dist/admin/chunks/fr-CwRt2FJu.mjs.map +1 -0
  37. package/dist/admin/chunks/he-BAmhVpfZ.js +77 -0
  38. package/dist/admin/chunks/he-BAmhVpfZ.js.map +1 -0
  39. package/dist/admin/chunks/he-DdpYNQdt.mjs +75 -0
  40. package/dist/admin/chunks/he-DdpYNQdt.mjs.map +1 -0
  41. package/dist/admin/chunks/index-CDwNb6XT.mjs +7350 -0
  42. package/dist/admin/chunks/index-CDwNb6XT.mjs.map +1 -0
  43. package/dist/admin/chunks/index-Db2l2DRT.js +7407 -0
  44. package/dist/admin/chunks/index-Db2l2DRT.js.map +1 -0
  45. package/dist/admin/chunks/it-Be4kgSNB.mjs +75 -0
  46. package/dist/admin/chunks/it-Be4kgSNB.mjs.map +1 -0
  47. package/dist/admin/chunks/it-_NQZYepl.js +77 -0
  48. package/dist/admin/chunks/it-_NQZYepl.js.map +1 -0
  49. package/dist/admin/chunks/ja-B75QiyXf.js +77 -0
  50. package/dist/admin/chunks/ja-B75QiyXf.js.map +1 -0
  51. package/dist/admin/chunks/ja-U1NhT0bU.mjs +75 -0
  52. package/dist/admin/chunks/ja-U1NhT0bU.mjs.map +1 -0
  53. package/dist/admin/chunks/ko-BOvUcJqv.js +107 -0
  54. package/dist/{_chunks/pl-esgZ7ltN.js.map → admin/chunks/ko-BOvUcJqv.js.map} +1 -1
  55. package/dist/admin/chunks/ko-BciqXefq.mjs +105 -0
  56. package/dist/{_chunks/de-A7mEKx6c.mjs.map → admin/chunks/ko-BciqXefq.mjs.map} +1 -1
  57. package/dist/admin/chunks/ms-B7Zl6Lm9.js +69 -0
  58. package/dist/admin/chunks/ms-B7Zl6Lm9.js.map +1 -0
  59. package/dist/admin/chunks/ms-D-8McNeg.mjs +67 -0
  60. package/dist/admin/chunks/ms-D-8McNeg.mjs.map +1 -0
  61. package/dist/admin/chunks/pl-DdUYocl5.mjs +104 -0
  62. package/dist/{_chunks/dk-BPfkJb9q.mjs.map → admin/chunks/pl-DdUYocl5.mjs.map} +1 -1
  63. package/dist/admin/chunks/pl-cYDYHOEf.js +106 -0
  64. package/dist/{_chunks/ko-Pzj-818C.js.map → admin/chunks/pl-cYDYHOEf.js.map} +1 -1
  65. package/dist/admin/chunks/pt-BR-D1u_azCM.js +77 -0
  66. package/dist/admin/chunks/pt-BR-D1u_azCM.js.map +1 -0
  67. package/dist/admin/chunks/pt-BR-Demjoq41.mjs +75 -0
  68. package/dist/admin/chunks/pt-BR-Demjoq41.mjs.map +1 -0
  69. package/dist/admin/chunks/pt-D8is2LpS.mjs +75 -0
  70. package/dist/admin/chunks/pt-D8is2LpS.mjs.map +1 -0
  71. package/dist/admin/chunks/pt-L2DZeTPL.js +77 -0
  72. package/dist/admin/chunks/pt-L2DZeTPL.js.map +1 -0
  73. package/dist/admin/chunks/ru-CGgHRTey.mjs +75 -0
  74. package/dist/admin/chunks/ru-CGgHRTey.mjs.map +1 -0
  75. package/dist/admin/chunks/ru-Uxbk_WWv.js +77 -0
  76. package/dist/admin/chunks/ru-Uxbk_WWv.js.map +1 -0
  77. package/dist/admin/chunks/sk-BlLP5HAX.js +123 -0
  78. package/dist/admin/chunks/sk-BlLP5HAX.js.map +1 -0
  79. package/dist/admin/chunks/sk-xtSwaPXq.mjs +121 -0
  80. package/dist/admin/chunks/sk-xtSwaPXq.mjs.map +1 -0
  81. package/dist/admin/chunks/th-BOpLVfmg.mjs +75 -0
  82. package/dist/admin/chunks/th-BOpLVfmg.mjs.map +1 -0
  83. package/dist/admin/chunks/th-DNxPLegS.js +77 -0
  84. package/dist/admin/chunks/th-DNxPLegS.js.map +1 -0
  85. package/dist/admin/chunks/tr-BmAPh-f1.mjs +121 -0
  86. package/dist/admin/chunks/tr-BmAPh-f1.mjs.map +1 -0
  87. package/dist/admin/chunks/tr-DWgXG75k.js +123 -0
  88. package/dist/admin/chunks/tr-DWgXG75k.js.map +1 -0
  89. package/dist/admin/chunks/uk-CMvuEdG-.mjs +72 -0
  90. package/dist/admin/chunks/uk-CMvuEdG-.mjs.map +1 -0
  91. package/dist/admin/chunks/uk-D1_rBLhp.js +74 -0
  92. package/dist/admin/chunks/uk-D1_rBLhp.js.map +1 -0
  93. package/dist/admin/chunks/zh-BIl0qgBy.mjs +128 -0
  94. package/dist/admin/chunks/zh-BIl0qgBy.mjs.map +1 -0
  95. package/dist/admin/chunks/zh-Hans-B1GabBRx.mjs +151 -0
  96. package/dist/{_chunks/zh-Hans-Cpmhg8uH.mjs.map → admin/chunks/zh-Hans-B1GabBRx.mjs.map} +1 -1
  97. package/dist/admin/chunks/zh-Hans-B8qxMQIl.js +153 -0
  98. package/dist/{_chunks/zh-Hans-k_xAc6nm.js.map → admin/chunks/zh-Hans-B8qxMQIl.js.map} +1 -1
  99. package/dist/admin/chunks/zh-MemsyMV6.js +130 -0
  100. package/dist/admin/chunks/zh-MemsyMV6.js.map +1 -0
  101. package/dist/admin/index.js +29 -6
  102. package/dist/admin/index.js.map +1 -1
  103. package/dist/admin/index.mjs +24 -8
  104. package/dist/admin/index.mjs.map +1 -1
  105. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +2 -5
  106. package/dist/admin/src/hooks/useRemoveAsset.d.ts +6 -64
  107. package/dist/server/chunks/graphql-BTbIs_EU.js +116 -0
  108. package/dist/server/chunks/graphql-BTbIs_EU.js.map +1 -0
  109. package/dist/server/chunks/graphql-CCPJbCFt.mjs +114 -0
  110. package/dist/server/chunks/graphql-CCPJbCFt.mjs.map +1 -0
  111. package/dist/server/chunks/index-BU4qzb-i.mjs +3161 -0
  112. package/dist/server/chunks/index-BU4qzb-i.mjs.map +1 -0
  113. package/dist/server/chunks/index-BkUy20d9.js +3164 -0
  114. package/dist/server/chunks/index-BkUy20d9.js.map +1 -0
  115. package/dist/server/index.js +19 -2
  116. package/dist/server/index.js.map +1 -1
  117. package/dist/server/index.mjs +14 -4
  118. package/dist/server/index.mjs.map +1 -1
  119. package/dist/server/src/controllers/validation/admin/folder-file.d.ts.map +1 -1
  120. package/dist/shared/contracts/configuration.d.ts +1 -1
  121. package/dist/shared/contracts/settings.d.ts +1 -1
  122. package/package.json +13 -9
  123. package/dist/_chunks/App-BLY6RlTm.mjs +0 -844
  124. package/dist/_chunks/App-BLY6RlTm.mjs.map +0 -1
  125. package/dist/_chunks/App-DNScJAhi.js +0 -864
  126. package/dist/_chunks/App-DNScJAhi.js.map +0 -1
  127. package/dist/_chunks/ConfigureTheView-CJbBTq0t.js +0 -252
  128. package/dist/_chunks/ConfigureTheView-CJbBTq0t.js.map +0 -1
  129. package/dist/_chunks/ConfigureTheView-Dk28Sh2k.mjs +0 -230
  130. package/dist/_chunks/ConfigureTheView-Dk28Sh2k.mjs.map +0 -1
  131. package/dist/_chunks/SettingsPage-CrvbJCia.js +0 -285
  132. package/dist/_chunks/SettingsPage-CrvbJCia.js.map +0 -1
  133. package/dist/_chunks/SettingsPage-DjNyJDaf.mjs +0 -264
  134. package/dist/_chunks/SettingsPage-DjNyJDaf.mjs.map +0 -1
  135. package/dist/_chunks/ca-B2_I-q1t.mjs +0 -121
  136. package/dist/_chunks/ca-BUpuZx8N.js +0 -121
  137. package/dist/_chunks/de-A7mEKx6c.mjs +0 -107
  138. package/dist/_chunks/de-uGb_Pkq7.js +0 -107
  139. package/dist/_chunks/dk-BPfkJb9q.mjs +0 -103
  140. package/dist/_chunks/dk-Cd8oFO-O.js +0 -103
  141. package/dist/_chunks/en-BcOqhiNe.js +0 -144
  142. package/dist/_chunks/en-oDx2Gnre.mjs +0 -144
  143. package/dist/_chunks/es-CuWi2pOn.mjs +0 -120
  144. package/dist/_chunks/es-DWFtw_h4.js +0 -120
  145. package/dist/_chunks/fr-BN6ndmWf.mjs +0 -144
  146. package/dist/_chunks/fr-BN6ndmWf.mjs.map +0 -1
  147. package/dist/_chunks/fr-D2bop66d.js +0 -144
  148. package/dist/_chunks/fr-D2bop66d.js.map +0 -1
  149. package/dist/_chunks/graphql-DMPTPlvx.mjs +0 -71
  150. package/dist/_chunks/graphql-DMPTPlvx.mjs.map +0 -1
  151. package/dist/_chunks/graphql-QF5Y36Qj.js +0 -71
  152. package/dist/_chunks/graphql-QF5Y36Qj.js.map +0 -1
  153. package/dist/_chunks/he-BpxHjaZg.js +0 -76
  154. package/dist/_chunks/he-BpxHjaZg.js.map +0 -1
  155. package/dist/_chunks/he-C9ZOXBB-.mjs +0 -76
  156. package/dist/_chunks/he-C9ZOXBB-.mjs.map +0 -1
  157. package/dist/_chunks/index-BfAVIhAL.js +0 -6144
  158. package/dist/_chunks/index-BfAVIhAL.js.map +0 -1
  159. package/dist/_chunks/index-D57iKFts.js +0 -2721
  160. package/dist/_chunks/index-D57iKFts.js.map +0 -1
  161. package/dist/_chunks/index-DH9hUSe3.mjs +0 -6119
  162. package/dist/_chunks/index-DH9hUSe3.mjs.map +0 -1
  163. package/dist/_chunks/index-sOlgMDiZ.mjs +0 -2711
  164. package/dist/_chunks/index-sOlgMDiZ.mjs.map +0 -1
  165. package/dist/_chunks/it-B7rmoZNx.mjs +0 -76
  166. package/dist/_chunks/it-B7rmoZNx.mjs.map +0 -1
  167. package/dist/_chunks/it-BKCWXl8t.js +0 -76
  168. package/dist/_chunks/it-BKCWXl8t.js.map +0 -1
  169. package/dist/_chunks/ja-DlaJTi_3.mjs +0 -76
  170. package/dist/_chunks/ja-DlaJTi_3.mjs.map +0 -1
  171. package/dist/_chunks/ja-ajHzIJz6.js +0 -76
  172. package/dist/_chunks/ja-ajHzIJz6.js.map +0 -1
  173. package/dist/_chunks/ko-Pzj-818C.js +0 -106
  174. package/dist/_chunks/ko-vJl9kPpn.mjs +0 -106
  175. package/dist/_chunks/ms-CqwG8v8l.mjs +0 -68
  176. package/dist/_chunks/ms-CqwG8v8l.mjs.map +0 -1
  177. package/dist/_chunks/ms-h3gjldBy.js +0 -68
  178. package/dist/_chunks/ms-h3gjldBy.js.map +0 -1
  179. package/dist/_chunks/pl-Cj8jChOO.mjs +0 -105
  180. package/dist/_chunks/pl-esgZ7ltN.js +0 -105
  181. package/dist/_chunks/pt-BR-B4LJHJIp.mjs +0 -76
  182. package/dist/_chunks/pt-BR-B4LJHJIp.mjs.map +0 -1
  183. package/dist/_chunks/pt-BR-Cazr7Z5I.js +0 -76
  184. package/dist/_chunks/pt-BR-Cazr7Z5I.js.map +0 -1
  185. package/dist/_chunks/pt-CNOOM_7x.mjs +0 -76
  186. package/dist/_chunks/pt-CNOOM_7x.mjs.map +0 -1
  187. package/dist/_chunks/pt-cbUnkHM5.js +0 -76
  188. package/dist/_chunks/pt-cbUnkHM5.js.map +0 -1
  189. package/dist/_chunks/ru-DqglvSUC.mjs +0 -76
  190. package/dist/_chunks/ru-DqglvSUC.mjs.map +0 -1
  191. package/dist/_chunks/ru-H6MzFUxp.js +0 -76
  192. package/dist/_chunks/ru-H6MzFUxp.js.map +0 -1
  193. package/dist/_chunks/sk-CZxC4dFY.js +0 -122
  194. package/dist/_chunks/sk-CZxC4dFY.js.map +0 -1
  195. package/dist/_chunks/sk-Dgpb3lnz.mjs +0 -122
  196. package/dist/_chunks/sk-Dgpb3lnz.mjs.map +0 -1
  197. package/dist/_chunks/th-C6unJZ8j.js +0 -76
  198. package/dist/_chunks/th-C6unJZ8j.js.map +0 -1
  199. package/dist/_chunks/th-DRfzuiFf.mjs +0 -76
  200. package/dist/_chunks/th-DRfzuiFf.mjs.map +0 -1
  201. package/dist/_chunks/tr--GzWXE_A.mjs +0 -122
  202. package/dist/_chunks/tr--GzWXE_A.mjs.map +0 -1
  203. package/dist/_chunks/tr-CY6AwX50.js +0 -122
  204. package/dist/_chunks/tr-CY6AwX50.js.map +0 -1
  205. package/dist/_chunks/uk-BniyNsD4.js +0 -73
  206. package/dist/_chunks/uk-BniyNsD4.js.map +0 -1
  207. package/dist/_chunks/uk-DVMT2Piq.mjs +0 -73
  208. package/dist/_chunks/uk-DVMT2Piq.mjs.map +0 -1
  209. package/dist/_chunks/zh-CsZw0IpM.js +0 -129
  210. package/dist/_chunks/zh-CsZw0IpM.js.map +0 -1
  211. package/dist/_chunks/zh-HOnih0is.mjs +0 -129
  212. package/dist/_chunks/zh-HOnih0is.mjs.map +0 -1
  213. package/dist/_chunks/zh-Hans-Cpmhg8uH.mjs +0 -152
  214. package/dist/_chunks/zh-Hans-k_xAc6nm.js +0 -152
@@ -0,0 +1,276 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useTracking, useNotification, Layouts, Page, ConfirmDialog } from '@strapi/admin/strapi-admin';
4
+ import { Box, Grid, Field, SingleSelect, SingleSelectOption, Link, Button, Dialog } from '@strapi/design-system';
5
+ import { ArrowLeft, Check } from '@strapi/icons';
6
+ import isEqual from 'lodash/isEqual';
7
+ import { useIntl } from 'react-intl';
8
+ import { NavLink } from 'react-router-dom';
9
+ import { g as getTrad, C as pageSizes, D as sortOptions, p as pluginId, z as useConfig } from './index-CDwNb6XT.mjs';
10
+ import 'byte-size';
11
+ import 'date-fns';
12
+ import 'qs';
13
+ import { produce } from 'immer';
14
+ import get from 'lodash/get';
15
+ import set from 'lodash/set';
16
+ import 'styled-components';
17
+ import 'react-query';
18
+ import 'yup';
19
+ import 'formik';
20
+ import 'react-select';
21
+ import 'cropperjs';
22
+ import '@mux/mux-player-react';
23
+ import 'cropperjs/dist/cropper.css';
24
+ import 'lodash/isEmpty';
25
+ import 'react-dnd';
26
+ import '@strapi/icons/symbols';
27
+ import 'date-fns/parseISO';
28
+
29
+ const Settings = ({ sort = '', pageSize = 10, onChange })=>{
30
+ const { formatMessage } = useIntl();
31
+ return /*#__PURE__*/ jsx(Box, {
32
+ background: "neutral0",
33
+ hasRadius: true,
34
+ shadow: "tableShadow",
35
+ paddingTop: 6,
36
+ paddingBottom: 6,
37
+ paddingLeft: 7,
38
+ paddingRight: 7,
39
+ children: /*#__PURE__*/ jsxs(Grid.Root, {
40
+ gap: 4,
41
+ children: [
42
+ /*#__PURE__*/ jsx(Grid.Item, {
43
+ s: 12,
44
+ col: 6,
45
+ direction: "column",
46
+ alignItems: "stretch",
47
+ children: /*#__PURE__*/ jsxs(Field.Root, {
48
+ hint: formatMessage({
49
+ id: getTrad('config.entries.note'),
50
+ defaultMessage: 'Number of assets displayed by default in the Media Library'
51
+ }),
52
+ name: "pageSize",
53
+ children: [
54
+ /*#__PURE__*/ jsx(Field.Label, {
55
+ children: formatMessage({
56
+ id: getTrad('config.entries.title'),
57
+ defaultMessage: 'Entries per page'
58
+ })
59
+ }),
60
+ /*#__PURE__*/ jsx(SingleSelect, {
61
+ onChange: (value)=>onChange({
62
+ target: {
63
+ name: 'pageSize',
64
+ value
65
+ }
66
+ }),
67
+ value: pageSize,
68
+ children: pageSizes.map((pageSize)=>/*#__PURE__*/ jsx(SingleSelectOption, {
69
+ value: pageSize,
70
+ children: pageSize
71
+ }, pageSize))
72
+ }),
73
+ /*#__PURE__*/ jsx(Field.Hint, {})
74
+ ]
75
+ })
76
+ }),
77
+ /*#__PURE__*/ jsx(Grid.Item, {
78
+ s: 12,
79
+ col: 6,
80
+ direction: "column",
81
+ alignItems: "stretch",
82
+ children: /*#__PURE__*/ jsxs(Field.Root, {
83
+ hint: formatMessage({
84
+ id: getTrad('config.note'),
85
+ defaultMessage: 'Note: You can override this value in the media library.'
86
+ }),
87
+ name: "sort",
88
+ children: [
89
+ /*#__PURE__*/ jsx(Field.Label, {
90
+ children: formatMessage({
91
+ id: getTrad('config.sort.title'),
92
+ defaultMessage: 'Default sort order'
93
+ })
94
+ }),
95
+ /*#__PURE__*/ jsx(SingleSelect, {
96
+ onChange: (value)=>onChange({
97
+ target: {
98
+ name: 'sort',
99
+ value
100
+ }
101
+ }),
102
+ value: sort,
103
+ "test-sort": sort,
104
+ "data-testid": "sort-select",
105
+ children: sortOptions.map((filter)=>/*#__PURE__*/ jsx(SingleSelectOption, {
106
+ "data-testid": `sort-option-${filter.value}`,
107
+ value: filter.value,
108
+ children: formatMessage({
109
+ id: getTrad(filter.key),
110
+ defaultMessage: `${filter.value}`
111
+ })
112
+ }, filter.key))
113
+ }),
114
+ /*#__PURE__*/ jsx(Field.Hint, {})
115
+ ]
116
+ })
117
+ })
118
+ ]
119
+ })
120
+ });
121
+ };
122
+
123
+ const ON_CHANGE = `${pluginId}/ON_CHANGE`;
124
+ const SET_LOADED = `${pluginId}/SET_LOADED`;
125
+
126
+ const onChange = ({ name, value })=>({
127
+ type: ON_CHANGE,
128
+ keys: name,
129
+ value
130
+ });
131
+ const setLoaded = ()=>({
132
+ type: SET_LOADED
133
+ });
134
+
135
+ const initialState = {
136
+ initialData: {},
137
+ modifiedData: {}
138
+ };
139
+ const init = (configData)=>{
140
+ return {
141
+ ...initialState,
142
+ initialData: configData,
143
+ modifiedData: configData
144
+ };
145
+ };
146
+
147
+ const reducer = (state = initialState, action = {
148
+ type: ''
149
+ })=>// eslint-disable-next-line consistent-return
150
+ produce(state, (draftState)=>{
151
+ switch(action.type){
152
+ case ON_CHANGE:
153
+ {
154
+ if ('keys' in action && 'value' in action && action.keys) {
155
+ set(draftState, [
156
+ 'modifiedData',
157
+ ...action.keys.split('.')
158
+ ], action.value);
159
+ }
160
+ break;
161
+ }
162
+ case SET_LOADED:
163
+ {
164
+ // This action re-initialises the state using the current modifiedData.
165
+ const reInitialise = init(get(draftState, [
166
+ 'modifiedData'
167
+ ], {}));
168
+ draftState.initialData = reInitialise.initialData;
169
+ draftState.modifiedData = reInitialise.modifiedData;
170
+ break;
171
+ }
172
+ default:
173
+ return draftState;
174
+ }
175
+ });
176
+
177
+ // TODO: find a better naming convention for the file that was an index file before
178
+ const ConfigureTheView = ({ config })=>{
179
+ const { trackUsage } = useTracking();
180
+ const { formatMessage } = useIntl();
181
+ const { toggleNotification } = useNotification();
182
+ const { mutateConfig } = useConfig();
183
+ const { isLoading: isSubmittingForm } = mutateConfig;
184
+ const [showWarningSubmit, setWarningSubmit] = React.useState(false);
185
+ const toggleWarningSubmit = ()=>setWarningSubmit((prevState)=>!prevState);
186
+ const [reducerState, dispatch] = React.useReducer(reducer, initialState, ()=>init(config));
187
+ const typedDispatch = dispatch;
188
+ const { initialData, modifiedData } = reducerState;
189
+ const handleSubmit = (e)=>{
190
+ e.preventDefault();
191
+ toggleWarningSubmit();
192
+ };
193
+ const handleConfirm = async ()=>{
194
+ trackUsage('willEditMediaLibraryConfig');
195
+ await mutateConfig.mutateAsync(modifiedData);
196
+ setWarningSubmit(false);
197
+ typedDispatch(setLoaded());
198
+ toggleNotification({
199
+ type: 'success',
200
+ message: formatMessage({
201
+ id: 'notification.form.success.fields',
202
+ defaultMessage: 'Changes saved'
203
+ })
204
+ });
205
+ };
206
+ const handleChange = ({ target: { name, value } })=>{
207
+ typedDispatch(onChange({
208
+ name,
209
+ value
210
+ }));
211
+ };
212
+ return /*#__PURE__*/ jsx(Layouts.Root, {
213
+ children: /*#__PURE__*/ jsx(Page.Main, {
214
+ "aria-busy": isSubmittingForm,
215
+ children: /*#__PURE__*/ jsxs("form", {
216
+ onSubmit: handleSubmit,
217
+ children: [
218
+ /*#__PURE__*/ jsx(Layouts.Header, {
219
+ navigationAction: /*#__PURE__*/ jsx(Link, {
220
+ tag: NavLink,
221
+ startIcon: /*#__PURE__*/ jsx(ArrowLeft, {}),
222
+ to: `/plugins/${pluginId}`,
223
+ id: "go-back",
224
+ children: formatMessage({
225
+ id: getTrad('config.back'),
226
+ defaultMessage: 'Back'
227
+ })
228
+ }),
229
+ primaryAction: /*#__PURE__*/ jsx(Button, {
230
+ size: "S",
231
+ startIcon: /*#__PURE__*/ jsx(Check, {}),
232
+ disabled: isEqual(modifiedData, initialData),
233
+ type: "submit",
234
+ children: formatMessage({
235
+ id: 'global.save',
236
+ defaultMessage: 'Save'
237
+ })
238
+ }),
239
+ subtitle: formatMessage({
240
+ id: getTrad('config.subtitle'),
241
+ defaultMessage: 'Define the view settings of the media library.'
242
+ }),
243
+ title: formatMessage({
244
+ id: getTrad('config.title'),
245
+ defaultMessage: 'Configure the view - Media Library'
246
+ })
247
+ }),
248
+ /*#__PURE__*/ jsx(Layouts.Content, {
249
+ children: /*#__PURE__*/ jsx(Settings, {
250
+ "data-testid": "settings",
251
+ pageSize: modifiedData.pageSize || '',
252
+ sort: modifiedData.sort || '',
253
+ onChange: handleChange
254
+ })
255
+ }),
256
+ "x",
257
+ /*#__PURE__*/ jsx(Dialog.Root, {
258
+ open: showWarningSubmit,
259
+ onOpenChange: toggleWarningSubmit,
260
+ children: /*#__PURE__*/ jsx(ConfirmDialog, {
261
+ onConfirm: handleConfirm,
262
+ variant: "default",
263
+ children: formatMessage({
264
+ id: getTrad('config.popUpWarning.warning.updateAllSettings'),
265
+ defaultMessage: 'This will modify all your settings'
266
+ })
267
+ })
268
+ })
269
+ ]
270
+ })
271
+ })
272
+ });
273
+ };
274
+
275
+ export { ConfigureTheView };
276
+ //# sourceMappingURL=ConfigureTheView-DTYyp_1T.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigureTheView-DTYyp_1T.mjs","sources":["../../../admin/src/pages/App/ConfigureTheView/components/Settings.tsx","../../../admin/src/pages/App/ConfigureTheView/state/actionTypes.ts","../../../admin/src/pages/App/ConfigureTheView/state/actions.ts","../../../admin/src/pages/App/ConfigureTheView/state/init.ts","../../../admin/src/pages/App/ConfigureTheView/state/reducer.ts","../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["import { Box, Grid, SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport { getTrad } from '../../../../utils';\n\nimport type { Configuration } from '../../../../../../shared/contracts/configuration';\n\ninterface SettingsProps {\n sort: string;\n pageSize: string | number;\n onChange: ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => void;\n}\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }: SettingsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Grid.Root gap={4}>\n <Grid.Item s={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.entries.note'),\n defaultMessage: 'Number of assets displayed by default in the Media Library',\n })}\n name=\"pageSize\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.entries.title'),\n defaultMessage: 'Entries per page',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'pageSize', value } })}\n value={pageSize}\n >\n {pageSizes.map((pageSize) => (\n <SingleSelectOption key={pageSize} value={pageSize}>\n {pageSize}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item s={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.note'),\n defaultMessage: 'Note: You can override this value in the media library.',\n })}\n name=\"sort\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.sort.title'),\n defaultMessage: 'Default sort order',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'sort', value } })}\n value={sort}\n test-sort={sort}\n data-testid=\"sort-select\"\n >\n {sortOptions.map((filter) => (\n <SingleSelectOption\n data-testid={`sort-option-${filter.value}`}\n key={filter.key}\n value={filter.value}\n >\n {formatMessage({ id: getTrad(filter.key), defaultMessage: `${filter.value}` })}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Box>\n );\n};\n\nexport { Settings };\n","import { pluginId } from '../../../../pluginId';\n\nexport const ON_CHANGE = `${pluginId}/ON_CHANGE`;\nexport const SET_LOADED = `${pluginId}/SET_LOADED`;\n","import { ON_CHANGE, SET_LOADED } from './actionTypes';\n\nimport type { InitialState } from './init';\n\nexport const onChange = ({\n name,\n value,\n}: {\n name: keyof NonNullable<InitialState['initialData']>;\n value: number | string;\n}) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n","import type { Configuration } from '../../../../../../shared/contracts/configuration';\n\nexport type InitialState = {\n initialData: Partial<Configuration>;\n modifiedData: Partial<Configuration>;\n};\n\nconst initialState: InitialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData: InitialState['initialData']): InitialState => {\n return {\n ...initialState,\n initialData: configData,\n modifiedData: configData,\n };\n};\nexport { init, initialState };\n","import { produce } from 'immer'; // current\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { ON_CHANGE, SET_LOADED } from './actionTypes';\nimport { init, initialState } from './init';\n\nimport type { InitialState } from './init';\n\nexport interface ActionOnChange {\n type: string;\n keys?: string;\n value: string | number;\n}\n\nexport interface ActionSetLoaded {\n type: string;\n}\n\ninterface ActionInitialValue {\n type: string;\n}\n\nexport type Action = ActionSetLoaded | ActionOnChange | ActionInitialValue;\n\nexport const reducer = (\n state: InitialState = initialState,\n action: Action = {\n type: '',\n }\n) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case ON_CHANGE: {\n if ('keys' in action && 'value' in action && action.keys) {\n set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\n }\n break;\n }\n case SET_LOADED: {\n // This action re-initialises the state using the current modifiedData.\n const reInitialise = init(get(draftState, ['modifiedData'], {}));\n draftState.initialData = reInitialise.initialData;\n draftState.modifiedData = reInitialise.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n","// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n x\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["Settings","sort","pageSize","onChange","formatMessage","useIntl","_jsx","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","_jsxs","Grid","Root","gap","Item","s","col","direction","alignItems","Field","hint","id","getTrad","defaultMessage","name","Label","SingleSelect","value","target","pageSizes","map","SingleSelectOption","Hint","test-sort","data-testid","sortOptions","filter","key","ON_CHANGE","pluginId","SET_LOADED","type","keys","setLoaded","initialState","initialData","modifiedData","init","configData","reducer","state","action","produce","draftState","set","split","reInitialise","get","ConfigureTheView","config","trackUsage","useTracking","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","typedDispatch","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","message","handleChange","Layouts","Page","Main","aria-busy","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","primaryAction","Button","size","Check","disabled","isEqual","subtitle","title","Content","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"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"}