@strapi/upload 5.0.0-beta.6 → 5.0.0-beta.7

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 (33) hide show
  1. package/dist/_chunks/{index-BI7qD8h6.mjs → index-2C3ZYD4e.mjs} +18 -27
  2. package/dist/_chunks/index-2C3ZYD4e.mjs.map +1 -0
  3. package/dist/_chunks/{index-ZXpABToX.mjs → index-ASLx4V_D.mjs} +176 -162
  4. package/dist/_chunks/index-ASLx4V_D.mjs.map +1 -0
  5. package/dist/_chunks/{index-BNV9vUuq.js → index-BbFs7_Gx.js} +19 -29
  6. package/dist/_chunks/index-BbFs7_Gx.js.map +1 -0
  7. package/dist/_chunks/{index-DU4hcIHO.js → index-BxUjcUMp.js} +89 -68
  8. package/dist/_chunks/index-BxUjcUMp.js.map +1 -0
  9. package/dist/_chunks/index-CRhNpXFr.js.map +1 -1
  10. package/dist/_chunks/{index-jJSqYu6S.js → index-DJC1L27M.js} +59 -34
  11. package/dist/_chunks/index-DJC1L27M.js.map +1 -0
  12. package/dist/_chunks/{index-CtyJq8P-.js → index-PKgX3DYk.js} +222 -210
  13. package/dist/_chunks/index-PKgX3DYk.js.map +1 -0
  14. package/dist/_chunks/index-VKvfSVC7.mjs.map +1 -1
  15. package/dist/_chunks/{index-BL34bU2o.mjs → index-fmt8afwE.mjs} +91 -70
  16. package/dist/_chunks/index-fmt8afwE.mjs.map +1 -0
  17. package/dist/_chunks/{index-CWDl5PEs.mjs → index-q-dRjRbA.mjs} +61 -36
  18. package/dist/_chunks/index-q-dRjRbA.mjs.map +1 -0
  19. package/dist/admin/index.js +2 -1
  20. package/dist/admin/index.js.map +1 -1
  21. package/dist/admin/index.mjs +2 -1
  22. package/dist/admin/index.mjs.map +1 -1
  23. package/dist/server/src/services/extensions/content-manager/entity-manager.d.ts.map +1 -1
  24. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  25. package/package.json +10 -11
  26. package/dist/_chunks/index-BI7qD8h6.mjs.map +0 -1
  27. package/dist/_chunks/index-BL34bU2o.mjs.map +0 -1
  28. package/dist/_chunks/index-BNV9vUuq.js.map +0 -1
  29. package/dist/_chunks/index-CWDl5PEs.mjs.map +0 -1
  30. package/dist/_chunks/index-CtyJq8P-.js.map +0 -1
  31. package/dist/_chunks/index-DU4hcIHO.js.map +0 -1
  32. package/dist/_chunks/index-ZXpABToX.mjs.map +0 -1
  33. package/dist/_chunks/index-jJSqYu6S.js.map +0 -1
@@ -9,7 +9,7 @@ const isEqual = require("lodash/isEqual");
9
9
  const PropTypes = require("prop-types");
10
10
  const reactIntl = require("react-intl");
11
11
  const reactRouterDom = require("react-router-dom");
12
- const index = require("./index-CtyJq8P-.js");
12
+ const index = require("./index-PKgX3DYk.js");
13
13
  const immer = require("immer");
14
14
  const get = require("lodash/get");
15
15
  const set = require("lodash/set");
@@ -31,48 +31,64 @@ const Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
31
31
  paddingLeft: 7,
32
32
  paddingRight: 7,
33
33
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 4, children: [
34
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
35
- designSystem.SingleSelect,
34
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
35
+ designSystem.Field.Root,
36
36
  {
37
- label: formatMessage({
38
- id: index.getTrad("config.entries.title"),
39
- defaultMessage: "Entries per page"
40
- }),
41
37
  hint: formatMessage({
42
38
  id: index.getTrad("config.entries.note"),
43
39
  defaultMessage: "Number of assets displayed by default in the Media Library"
44
40
  }),
45
- onChange: (value) => onChange2({ target: { name: "pageSize", value } }),
46
41
  name: "pageSize",
47
- value: pageSize,
48
- children: index.pageSizes.map((pageSize2) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: pageSize2, children: pageSize2 }, pageSize2))
42
+ children: [
43
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
44
+ id: index.getTrad("config.entries.title"),
45
+ defaultMessage: "Entries per page"
46
+ }) }),
47
+ /* @__PURE__ */ jsxRuntime.jsx(
48
+ designSystem.SingleSelect,
49
+ {
50
+ onChange: (value) => onChange2({ target: { name: "pageSize", value } }),
51
+ value: pageSize,
52
+ children: index.pageSizes.map((pageSize2) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: pageSize2, children: pageSize2 }, pageSize2))
53
+ }
54
+ ),
55
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
56
+ ]
49
57
  }
50
58
  ) }),
51
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
52
- designSystem.SingleSelect,
59
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
60
+ designSystem.Field.Root,
53
61
  {
54
- label: formatMessage({
55
- id: index.getTrad("config.sort.title"),
56
- defaultMessage: "Default sort order"
57
- }),
58
62
  hint: formatMessage({
59
63
  id: index.getTrad("config.note"),
60
64
  defaultMessage: "Note: You can override this value in the media library."
61
65
  }),
62
- onChange: (value) => onChange2({ target: { name: "sort", value } }),
63
66
  name: "sort",
64
- value: sort,
65
- "test-sort": sort,
66
- "data-testid": "sort-select",
67
- children: index.sortOptions.map((filter) => /* @__PURE__ */ jsxRuntime.jsx(
68
- designSystem.SingleSelectOption,
69
- {
70
- "data-testid": `sort-option-${filter.value}`,
71
- value: filter.value,
72
- children: formatMessage({ id: index.getTrad(filter.key), defaultMessage: `${filter.value}` })
73
- },
74
- filter.key
75
- ))
67
+ children: [
68
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
69
+ id: index.getTrad("config.sort.title"),
70
+ defaultMessage: "Default sort order"
71
+ }) }),
72
+ /* @__PURE__ */ jsxRuntime.jsx(
73
+ designSystem.SingleSelect,
74
+ {
75
+ onChange: (value) => onChange2({ target: { name: "sort", value } }),
76
+ value: sort,
77
+ "test-sort": sort,
78
+ "data-testid": "sort-select",
79
+ children: index.sortOptions.map((filter) => /* @__PURE__ */ jsxRuntime.jsx(
80
+ designSystem.SingleSelectOption,
81
+ {
82
+ "data-testid": `sort-option-${filter.value}`,
83
+ value: filter.value,
84
+ children: formatMessage({ id: index.getTrad(filter.key), defaultMessage: `${filter.value}` })
85
+ },
86
+ filter.key
87
+ ))
88
+ }
89
+ ),
90
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
91
+ ]
76
92
  }
77
93
  ) })
78
94
  ] })
@@ -154,11 +170,20 @@ const ConfigureTheView = ({ config }) => {
154
170
  const handleChange = ({ target: { name, value } }) => {
155
171
  dispatch(onChange({ name, value }));
156
172
  };
157
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Layout, { children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Main, { "aria-busy": isSubmittingForm, children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
173
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Main, { "aria-busy": isSubmittingForm, children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
158
174
  /* @__PURE__ */ jsxRuntime.jsx(
159
- designSystem.HeaderLayout,
175
+ strapiAdmin.Layouts.Header,
160
176
  {
161
- navigationAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Link, { as: reactRouterDom.NavLink, startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowLeft, {}), to: `/plugins/${index.pluginId}`, id: "go-back", children: formatMessage({ id: index.getTrad("config.back"), defaultMessage: "Back" }) }),
177
+ navigationAction: /* @__PURE__ */ jsxRuntime.jsx(
178
+ designSystem.Link,
179
+ {
180
+ tag: reactRouterDom.NavLink,
181
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowLeft, {}),
182
+ to: `/plugins/${index.pluginId}`,
183
+ id: "go-back",
184
+ children: formatMessage({ id: index.getTrad("config.back"), defaultMessage: "Back" })
185
+ }
186
+ ),
162
187
  primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
163
188
  designSystem.Button,
164
189
  {
@@ -179,7 +204,7 @@ const ConfigureTheView = ({ config }) => {
179
204
  })
180
205
  }
181
206
  ),
182
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsx(
207
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
183
208
  Settings,
184
209
  {
185
210
  "data-testid": "settings",
@@ -210,4 +235,4 @@ ConfigureTheView.propTypes = {
210
235
  }).isRequired
211
236
  };
212
237
  exports.default = ConfigureTheView;
213
- //# sourceMappingURL=index-jJSqYu6S.js.map
238
+ //# sourceMappingURL=index-DJC1L27M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DJC1L27M.js","sources":["../../admin/src/pages/App/ConfigureTheView/components/Settings.jsx","../../admin/src/pages/App/ConfigureTheView/state/actionTypes.js","../../admin/src/pages/App/ConfigureTheView/state/actions.js","../../admin/src/pages/App/ConfigureTheView/state/init.js","../../admin/src/pages/App/ConfigureTheView/state/reducer.js","../../admin/src/pages/App/ConfigureTheView/index.jsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Box,\n Grid,\n GridItem,\n SingleSelectOption,\n SingleSelect,\n Field,\n} from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport getTrad from '../../../../utils/getTrad';\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }) => {\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 gap={4}>\n <GridItem s={12} col={6}>\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 </GridItem>\n <GridItem s={12} col={6}>\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 </GridItem>\n </Grid>\n </Box>\n );\n};\n\nSettings.propTypes = {\n sort: PropTypes.string.isRequired,\n pageSize: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\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\nexport const onChange = ({ name, value }) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n","const initialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData) => {\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\nconst reducer = (state = initialState, action) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case ON_CHANGE: {\n set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\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\nexport default reducer;\n","import React, { useReducer, useState } from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport PropTypes from 'prop-types';\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/getTrad';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport reducer from './state/reducer';\n\nconst ConfigureTheView = ({ config }) => {\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] = useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = useReducer(reducer, initialState, () => init(config));\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData);\n toggleWarningSubmit();\n dispatch(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 = ({ target: { name, value } }) => {\n dispatch(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\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\n <ConfirmDialog\n isOpen={showWarningSubmit}\n onClose={toggleWarningSubmit}\n onConfirm={handleConfirm}\n variant=\"success-light\"\n >\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nConfigureTheView.propTypes = {\n config: PropTypes.shape({\n pageSize: PropTypes.number,\n sort: PropTypes.string,\n }).isRequired,\n};\n\nexport default ConfigureTheView;\n"],"names":["onChange","useIntl","jsx","Box","jsxs","Grid","GridItem","Field","getTrad","SingleSelect","pageSizes","pageSize","SingleSelectOption","sortOptions","PropTypes","pluginId","produce","set","get","useTracking","useNotification","useConfig","useState","useReducer","Layouts","Page","Link","NavLink","ArrowLeft","pluginID","Button","Check","isEqual","ConfirmDialog"],"mappings":"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"}