@strapi/upload 5.25.0 → 5.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -64,10 +64,6 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
64
64
  setDragOver(true);
65
65
  };
66
66
  const handleDragLeave = ()=>setDragOver(false);
67
- const handleClick = (e)=>{
68
- e.preventDefault();
69
- inputRef.current?.click();
70
- };
71
67
  const handleChange = ()=>{
72
68
  const files = inputRef.current?.files;
73
69
  const assets = [];
@@ -167,17 +163,6 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
167
163
  ref: inputRef,
168
164
  zIndex: 1,
169
165
  onChange: handleChange
170
- }),
171
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
172
- position: "relative",
173
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
174
- type: "button",
175
- onClick: handleClick,
176
- children: formatMessage({
177
- id: getTrad.getTrad('input.button.label'),
178
- defaultMessage: 'Browse files'
179
- })
180
- })
181
166
  })
182
167
  ]
183
168
  })
@@ -1 +1 @@
1
- {"version":3,"file":"FromComputerForm.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box>\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleClick","e","current","click","handleChange","files","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Button","onClick","Modal","Footer"],"mappings":"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"}
1
+ {"version":3,"file":"FromComputerForm.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useTracking } from '@strapi/admin/strapi-admin';
4
- import { Flex, Box, Typography, Button, Modal } from '@strapi/design-system';
4
+ import { Flex, Box, Typography, Modal, Button } from '@strapi/design-system';
5
5
  import { PlusCircle } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { styled } from 'styled-components';
@@ -43,10 +43,6 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
43
43
  setDragOver(true);
44
44
  };
45
45
  const handleDragLeave = ()=>setDragOver(false);
46
- const handleClick = (e)=>{
47
- e.preventDefault();
48
- inputRef.current?.click();
49
- };
50
46
  const handleChange = ()=>{
51
47
  const files = inputRef.current?.files;
52
48
  const assets = [];
@@ -146,17 +142,6 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
146
142
  ref: inputRef,
147
143
  zIndex: 1,
148
144
  onChange: handleChange
149
- }),
150
- /*#__PURE__*/ jsx(Box, {
151
- position: "relative",
152
- children: /*#__PURE__*/ jsx(Button, {
153
- type: "button",
154
- onClick: handleClick,
155
- children: formatMessage({
156
- id: getTrad('input.button.label'),
157
- defaultMessage: 'Browse files'
158
- })
159
- })
160
145
  })
161
146
  ]
162
147
  })
@@ -1 +1 @@
1
- {"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box>\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleClick","e","current","click","handleChange","files","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Button","onClick","Modal","Footer"],"mappings":"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"}
1
+ {"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/upload";
6
- var version = "5.25.0";
6
+ var version = "5.26.0";
7
7
  var description = "Makes it easy to upload images and files to your Strapi Application.";
8
8
  var license = "SEE LICENSE IN LICENSE";
9
9
  var author = {
@@ -67,8 +67,8 @@ var dependencies = {
67
67
  "@reduxjs/toolkit": "1.9.7",
68
68
  "@strapi/design-system": "2.0.0-rc.30",
69
69
  "@strapi/icons": "2.0.0-rc.30",
70
- "@strapi/provider-upload-local": "5.25.0",
71
- "@strapi/utils": "5.25.0",
70
+ "@strapi/provider-upload-local": "5.26.0",
71
+ "@strapi/utils": "5.26.0",
72
72
  "byte-size": "8.1.1",
73
73
  cropperjs: "1.6.1",
74
74
  "date-fns": "2.30.0",
@@ -91,8 +91,8 @@ var dependencies = {
91
91
  zod: "3.25.67"
92
92
  };
93
93
  var devDependencies = {
94
- "@strapi/admin": "5.25.0",
95
- "@strapi/types": "5.25.0",
94
+ "@strapi/admin": "5.26.0",
95
+ "@strapi/types": "5.26.0",
96
96
  "@testing-library/dom": "10.1.0",
97
97
  "@testing-library/react": "15.0.7",
98
98
  "@testing-library/user-event": "14.5.2",
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/upload";
2
- var version = "5.25.0";
2
+ var version = "5.26.0";
3
3
  var description = "Makes it easy to upload images and files to your Strapi Application.";
4
4
  var license = "SEE LICENSE IN LICENSE";
5
5
  var author = {
@@ -63,8 +63,8 @@ var dependencies = {
63
63
  "@reduxjs/toolkit": "1.9.7",
64
64
  "@strapi/design-system": "2.0.0-rc.30",
65
65
  "@strapi/icons": "2.0.0-rc.30",
66
- "@strapi/provider-upload-local": "5.25.0",
67
- "@strapi/utils": "5.25.0",
66
+ "@strapi/provider-upload-local": "5.26.0",
67
+ "@strapi/utils": "5.26.0",
68
68
  "byte-size": "8.1.1",
69
69
  cropperjs: "1.6.1",
70
70
  "date-fns": "2.30.0",
@@ -87,8 +87,8 @@ var dependencies = {
87
87
  zod: "3.25.67"
88
88
  };
89
89
  var devDependencies = {
90
- "@strapi/admin": "5.25.0",
91
- "@strapi/types": "5.25.0",
90
+ "@strapi/admin": "5.26.0",
91
+ "@strapi/types": "5.26.0",
92
92
  "@testing-library/dom": "10.1.0",
93
93
  "@testing-library/react": "15.0.7",
94
94
  "@testing-library/user-event": "14.5.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upload",
3
- "version": "5.25.0",
3
+ "version": "5.26.0",
4
4
  "description": "Makes it easy to upload images and files to your Strapi Application.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -64,8 +64,8 @@
64
64
  "@reduxjs/toolkit": "1.9.7",
65
65
  "@strapi/design-system": "2.0.0-rc.30",
66
66
  "@strapi/icons": "2.0.0-rc.30",
67
- "@strapi/provider-upload-local": "5.25.0",
68
- "@strapi/utils": "5.25.0",
67
+ "@strapi/provider-upload-local": "5.26.0",
68
+ "@strapi/utils": "5.26.0",
69
69
  "byte-size": "8.1.1",
70
70
  "cropperjs": "1.6.1",
71
71
  "date-fns": "2.30.0",
@@ -88,8 +88,8 @@
88
88
  "zod": "3.25.67"
89
89
  },
90
90
  "devDependencies": {
91
- "@strapi/admin": "5.25.0",
92
- "@strapi/types": "5.25.0",
91
+ "@strapi/admin": "5.26.0",
92
+ "@strapi/types": "5.26.0",
93
93
  "@testing-library/dom": "10.1.0",
94
94
  "@testing-library/react": "15.0.7",
95
95
  "@testing-library/user-event": "14.5.2",