@os-design/upload 1.0.206 → 1.0.208

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_core","_icons","_styles","_theming","_utils","_react2","_interopRequireWildcard","_reactDropzone","_defaultLocale","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","Symbol","iterator","constructor","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","overlayHasImageStyles","p","hasImage","css","theme","imageUploadOverlayOpacity","overlayHasImageHoverStyles","isDragActive","Overlay","styled","omitEmotionProps","resetFocusStyles","imageUploadOverlayPadding","transitionStyles","exports","contentIsDragActiveStyles","Content","PictureIcon","Picture","Title","div","DeleteButtonContainer","hoverStyles","clr","imageUploadNoImageHoverColorBorder","notHasImageStyles","imageUploadNoImageColorBg","imageUploadNoImageColorBorder","focusStyles","isDragActiveStyles","LocalImage","img","RemoteImage","Image","Container","imageUploadMaxWidth","imageUploadMinHeight","borderRadius","colorText","sizeStyles","ImageUpload","forwardRef","_ref","ref","url","_ref$accept","accept","_ref$locale","locale","defaultLocale","defaultValue","onChange","size","rest","touchDevice","useMemo","isTouchDevice","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","_useDropzone","useDropzone","multiple","onDrop","_ref2","_ref3","file","getRootProps","getInputProps","URL","createObjectURL","renderImage","useCallback","createElement","src","onMouseDown","e","preventDefault","onKeyDown","touchTitle","dropTitle","ThemeOverrider","overrides","buttonGhostColorText","buttonGhostColorBgHover","Button","type","wide","onClick","stopPropagation","Delete","displayName","_default"],"sources":["../../../src/ImageUpload/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Image } from '@os-design/core';\nimport { Delete, Picture } from '@os-design/icons';\nimport {\n WithSize,\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { ThemeOverrider, clr } from '@os-design/theming';\n\nimport {\n isTouchDevice,\n omitEmotionProps,\n useForwardedState,\n} from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport { Accept, useDropzone } from 'react-dropzone';\nimport defaultLocale, { ImageUploadLocale } from './utils/defaultLocale';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface ImageUploadProps extends JsxDivProps, WithSize {\n /**\n * The url of the image.\n * @default undefined\n */\n url?: string;\n /**\n * Allowed image formats.\n * @default undefined\n */\n accept?: Accept;\n /**\n * The locale of the component.\n * @default undefined\n */\n locale?: ImageUploadLocale;\n /**\n * The selected local file, or null if the image is marked as deleted.\n * @default undefined\n */\n value?: File | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: File | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: File | null) => void;\n}\n\nconst overlayHasImageStyles = (p) =>\n p.hasImage &&\n css`\n background-color: hsla(0, 0%, 0%, ${p.theme.imageUploadOverlayOpacity});\n color: hsl(0, 0%, 100%);\n `;\n\nconst overlayHasImageHoverStyles = (p) =>\n p.hasImage &&\n !p.isDragActive &&\n css`\n @media (hover: hover) {\n opacity: 0;\n\n &:hover {\n opacity: 1;\n }\n }\n `;\n\ninterface OverlayProps {\n isDragActive: boolean;\n hasImage: boolean;\n}\nexport const Overlay = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage')\n)<OverlayProps>`\n ${resetFocusStyles};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n text-align: center;\n padding: ${(p) => p.theme.imageUploadOverlayPadding}em;\n\n ${overlayHasImageStyles};\n ${overlayHasImageHoverStyles}\n ${transitionStyles('opacity')};\n`;\n\nconst contentIsDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n transform: scale(0.92);\n `;\n\ntype ContentProps = Pick<OverlayProps, 'isDragActive'>;\nconst Content = styled('div', omitEmotionProps('isDragActive'))<ContentProps>`\n ${contentIsDragActiveStyles};\n ${transitionStyles('transform')};\n`;\n\nconst PictureIcon = styled(Picture)`\n opacity: 0.8;\n font-size: 2.5em;\n`;\n\nconst Title = styled.div`\n opacity: 0.8;\n`;\n\nconst DeleteButtonContainer = styled.div`\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n`;\n\nconst hoverStyles = (p) => css`\n border-color: ${clr(p.theme.imageUploadNoImageHoverColorBorder)};\n`;\n\nconst notHasImageStyles = (p) =>\n !p.hasImage &&\n css`\n background-color: ${clr(p.theme.imageUploadNoImageColorBg)};\n border: 2px dashed ${clr(p.theme.imageUploadNoImageColorBorder)};\n\n @media (hover: hover) {\n &:hover {\n ${hoverStyles(p)};\n }\n }\n `;\n\nconst focusStyles = (p) => css`\n &:focus-within {\n & > div {\n opacity: 1;\n }\n ${hoverStyles(p)};\n }\n`;\n\nconst isDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n ${hoverStyles(p)};\n `;\n\nconst LocalImage = styled.img`\n width: 100%;\n vertical-align: top;\n`;\n\nconst RemoteImage = styled(Image)`\n vertical-align: top;\n`;\n\ninterface ContainerProps extends WithSize {\n isDragActive: boolean;\n hasImage: boolean;\n}\n\nconst Container = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage', 'size')\n)<ContainerProps>`\n position: relative;\n cursor: pointer;\n overflow: hidden;\n box-sizing: border-box;\n\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n min-height: ${(p) => p.theme.imageUploadMinHeight}em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${notHasImageStyles};\n ${focusStyles};\n ${isDragActiveStyles};\n ${sizeStyles};\n ${transitionStyles('border')};\n`;\n\n/**\n * The component to upload an image.\n */\nconst ImageUpload = forwardRef<HTMLDivElement, ImageUploadProps>(\n (\n {\n url,\n accept = { 'image/*': ['.jpeg', '.png', '.webp'] },\n locale = defaultLocale,\n value,\n defaultValue,\n onChange,\n size,\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n accept,\n multiple: false,\n onDrop: ([file]) => setForwardedValue(file),\n });\n\n const source = useMemo(() => {\n if (forwardedValue === null) return null; // If the user select an image\n if (forwardedValue) return URL.createObjectURL(forwardedValue); // If the image already exists\n if (url) return url;\n return null;\n }, [forwardedValue, url]);\n\n const hasImage = useMemo(() => !!source, [source]);\n\n const renderImage = useCallback(() => {\n if (!source) return null;\n if (typeof forwardedValue === 'object' && forwardedValue !== null) {\n return <LocalImage src={source} />;\n }\n return <RemoteImage url={source} />;\n }, [forwardedValue, source]);\n\n return (\n <Container\n isDragActive={isDragActive}\n hasImage={hasImage}\n size={size}\n onMouseDown={(e) => e.preventDefault()}\n {...rest}\n ref={ref}\n >\n <input {...getInputProps()} />\n {renderImage()}\n\n <Overlay\n isDragActive={isDragActive}\n hasImage={hasImage}\n {\n ...getRootProps({\n onKeyDown: (e) => {\n if (e.key === 'Backspace') setForwardedValue(null);\n },\n } as any) // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n >\n <Content isDragActive={isDragActive}>\n <PictureIcon />\n <Title>{touchDevice ? locale.touchTitle : locale.dropTitle}</Title>\n </Content>\n\n {hasImage && (\n <ThemeOverrider\n overrides={{\n buttonGhostColorText: [0, 0, 100],\n buttonGhostColorBgHover: [0, 0, 100, 0.1],\n }}\n >\n <DeleteButtonContainer>\n <Button\n type='ghost'\n wide='never'\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n >\n <Delete />\n </Button>\n </DeleteButtonContainer>\n </ThemeOverrider>\n )}\n </Overlay>\n </Container>\n );\n }\n);\n\nImageUpload.displayName = 'ImageUpload';\n\nexport default ImageUpload;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_core","_icons","_styles","_theming","_utils","_react2","_interopRequireWildcard","_reactDropzone","_defaultLocale","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","Symbol","iterator","constructor","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","overlayHasImageStyles","p","hasImage","css","theme","imageUploadOverlayOpacity","overlayHasImageHoverStyles","isDragActive","Overlay","styled","omitEmotionProps","resetFocusStyles","imageUploadOverlayPadding","transitionStyles","exports","contentIsDragActiveStyles","Content","PictureIcon","Picture","Title","div","DeleteButtonContainer","hoverStyles","clr","imageUploadNoImageHoverColorBorder","notHasImageStyles","imageUploadNoImageColorBg","imageUploadNoImageColorBorder","focusStyles","isDragActiveStyles","LocalImage","img","RemoteImage","Image","Container","imageUploadMaxWidth","imageUploadMinHeight","borderRadius","colorText","sizeStyles","ImageUpload","forwardRef","_ref","ref","url","_ref$accept","accept","_ref$locale","locale","defaultLocale","defaultValue","onChange","size","rest","touchDevice","useMemo","isTouchDevice","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","_useDropzone","useDropzone","multiple","onDrop","_ref2","_ref3","file","getRootProps","getInputProps","URL","createObjectURL","renderImage","useCallback","createElement","src","onMouseDown","e","preventDefault","onKeyDown","touchTitle","dropTitle","ThemeOverrider","overrides","buttonGhostColorText","buttonGhostColorBgHover","Button","type","wide","onClick","stopPropagation","Delete","displayName","_default"],"sources":["../../../src/ImageUpload/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Image } from '@os-design/core';\nimport { Delete, Picture } from '@os-design/icons';\nimport {\n WithSize,\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { ThemeOverrider, clr } from '@os-design/theming';\nimport {\n isTouchDevice,\n omitEmotionProps,\n useForwardedState,\n} from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport { Accept, useDropzone } from 'react-dropzone';\nimport defaultLocale, { ImageUploadLocale } from './utils/defaultLocale';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface ImageUploadProps extends JsxDivProps, WithSize {\n /**\n * The url of the image.\n * @default undefined\n */\n url?: string;\n /**\n * Allowed image formats.\n * @default undefined\n */\n accept?: Accept;\n /**\n * The locale of the component.\n * @default undefined\n */\n locale?: ImageUploadLocale;\n /**\n * The selected local file, or null if the image is marked as deleted.\n * @default undefined\n */\n value?: File | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: File | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: File | null) => void;\n}\n\nconst overlayHasImageStyles = (p) =>\n p.hasImage &&\n css`\n background-color: hsla(0, 0%, 0%, ${p.theme.imageUploadOverlayOpacity});\n color: hsl(0, 0%, 100%);\n `;\n\nconst overlayHasImageHoverStyles = (p) =>\n p.hasImage &&\n !p.isDragActive &&\n css`\n @media (hover: hover) {\n opacity: 0;\n\n &:hover {\n opacity: 1;\n }\n }\n `;\n\ninterface OverlayProps {\n isDragActive: boolean;\n hasImage: boolean;\n}\nexport const Overlay = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage')\n)<OverlayProps>`\n ${resetFocusStyles};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n text-align: center;\n padding: ${(p) => p.theme.imageUploadOverlayPadding}em;\n\n ${overlayHasImageStyles};\n ${overlayHasImageHoverStyles}\n ${transitionStyles('opacity')};\n`;\n\nconst contentIsDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n transform: scale(0.92);\n `;\n\ntype ContentProps = Pick<OverlayProps, 'isDragActive'>;\nconst Content = styled('div', omitEmotionProps('isDragActive'))<ContentProps>`\n ${contentIsDragActiveStyles};\n ${transitionStyles('transform')};\n`;\n\nconst PictureIcon = styled(Picture)`\n opacity: 0.8;\n font-size: 2.5em;\n`;\n\nconst Title = styled.div`\n opacity: 0.8;\n`;\n\nconst DeleteButtonContainer = styled.div`\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n`;\n\nconst hoverStyles = (p) => css`\n border-color: ${clr(p.theme.imageUploadNoImageHoverColorBorder)};\n`;\n\nconst notHasImageStyles = (p) =>\n !p.hasImage &&\n css`\n background-color: ${clr(p.theme.imageUploadNoImageColorBg)};\n border: 2px dashed ${clr(p.theme.imageUploadNoImageColorBorder)};\n\n @media (hover: hover) {\n &:hover {\n ${hoverStyles(p)};\n }\n }\n `;\n\nconst focusStyles = (p) => css`\n &:focus-within {\n & > div {\n opacity: 1;\n }\n ${hoverStyles(p)};\n }\n`;\n\nconst isDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n ${hoverStyles(p)};\n `;\n\nconst LocalImage = styled.img`\n width: 100%;\n vertical-align: top;\n`;\n\nconst RemoteImage = styled(Image)`\n vertical-align: top;\n`;\n\ninterface ContainerProps extends WithSize {\n isDragActive: boolean;\n hasImage: boolean;\n}\n\nconst Container = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage', 'size')\n)<ContainerProps>`\n position: relative;\n cursor: pointer;\n overflow: hidden;\n box-sizing: border-box;\n\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n min-height: ${(p) => p.theme.imageUploadMinHeight}em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${notHasImageStyles};\n ${focusStyles};\n ${isDragActiveStyles};\n ${sizeStyles};\n ${transitionStyles('border')};\n`;\n\n/**\n * The component to upload an image.\n */\nconst ImageUpload = forwardRef<HTMLDivElement, ImageUploadProps>(\n (\n {\n url,\n accept = { 'image/*': ['.jpeg', '.png', '.webp'] },\n locale = defaultLocale,\n value,\n defaultValue,\n onChange,\n size,\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n accept,\n multiple: false,\n onDrop: ([file]) => setForwardedValue(file),\n });\n\n const source = useMemo(() => {\n if (forwardedValue === null) return null; // If the user select an image\n if (forwardedValue) return URL.createObjectURL(forwardedValue); // If the image already exists\n if (url) return url;\n return null;\n }, [forwardedValue, url]);\n\n const hasImage = useMemo(() => !!source, [source]);\n\n const renderImage = useCallback(() => {\n if (!source) return null;\n if (typeof forwardedValue === 'object' && forwardedValue !== null) {\n return <LocalImage src={source} />;\n }\n return <RemoteImage url={source} />;\n }, [forwardedValue, source]);\n\n return (\n <Container\n isDragActive={isDragActive}\n hasImage={hasImage}\n size={size}\n onMouseDown={(e) => e.preventDefault()}\n {...rest}\n ref={ref}\n >\n <input {...getInputProps()} />\n {renderImage()}\n\n <Overlay\n isDragActive={isDragActive}\n hasImage={hasImage}\n {\n ...getRootProps({\n onKeyDown: (e) => {\n if (e.key === 'Backspace') setForwardedValue(null);\n },\n } as any) // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n >\n <Content isDragActive={isDragActive}>\n <PictureIcon />\n <Title>{touchDevice ? locale.touchTitle : locale.dropTitle}</Title>\n </Content>\n\n {hasImage && (\n <ThemeOverrider\n overrides={{\n buttonGhostColorText: [0, 0, 100],\n buttonGhostColorBgHover: [0, 0, 100, 0.1],\n }}\n >\n <DeleteButtonContainer>\n <Button\n type='ghost'\n wide='never'\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n >\n <Delete />\n </Button>\n </DeleteButtonContainer>\n </ThemeOverrider>\n )}\n </Overlay>\n </Container>\n );\n }\n);\n\nImageUpload.displayName = 'ImageUpload';\n\nexport default ImageUpload;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_core","_styles","_utils","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","StyledImageUploadSkeleton","styled","Skeleton","omitEmotionProps","p","theme","imageUploadMaxWidth","imageUploadMinHeight","sizeStyles","ImageUploadSkeleton","forwardRef","props","ref","createElement","width","displayName","_default","exports"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\n\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\nexport type ImageUploadSkeletonProps = Omit<SkeletonProps, 'width'> & WithSize;\n\nconst StyledImageUploadSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n height: ${(p) => p.theme.imageUploadMinHeight}em;\n ${sizeStyles};\n`;\n\n/**\n * Provides an image upload placeholder while a user waits for\n * the content to load.\n */\nconst ImageUploadSkeleton = forwardRef<\n HTMLDivElement,\n ImageUploadSkeletonProps\n>((props, ref) => (\n <StyledImageUploadSkeleton width='100%' {...props} ref={ref} />\n));\n\nImageUploadSkeleton.displayName = 'ImageUploadSkeleton';\n\nexport default ImageUploadSkeleton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_core","_styles","_utils","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","StyledImageUploadSkeleton","styled","Skeleton","omitEmotionProps","p","theme","imageUploadMaxWidth","imageUploadMinHeight","sizeStyles","ImageUploadSkeleton","forwardRef","props","ref","createElement","width","displayName","_default","exports"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\nexport type ImageUploadSkeletonProps = Omit<SkeletonProps, 'width'> & WithSize;\n\nconst StyledImageUploadSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n height: ${(p) => p.theme.imageUploadMinHeight}em;\n ${sizeStyles};\n`;\n\n/**\n * Provides an image upload placeholder while a user waits for\n * the content to load.\n */\nconst ImageUploadSkeleton = forwardRef<\n HTMLDivElement,\n ImageUploadSkeletonProps\n>((props, ref) => (\n <StyledImageUploadSkeleton width='100%' {...props} ref={ref} />\n));\n\nImageUploadSkeleton.displayName = 'ImageUploadSkeleton';\n\nexport default ImageUploadSkeleton;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["css","styled","Button","Image","Delete","Picture","resetFocusStyles","sizeStyles","transitionStyles","ThemeOverrider","clr","isTouchDevice","omitEmotionProps","useForwardedState","React","forwardRef","useCallback","useMemo","useDropzone","defaultLocale","overlayHasImageStyles","p","hasImage","theme","imageUploadOverlayOpacity","overlayHasImageHoverStyles","isDragActive","Overlay","imageUploadOverlayPadding","contentIsDragActiveStyles","Content","PictureIcon","Title","div","DeleteButtonContainer","hoverStyles","imageUploadNoImageHoverColorBorder","notHasImageStyles","imageUploadNoImageColorBg","imageUploadNoImageColorBorder","focusStyles","isDragActiveStyles","LocalImage","img","RemoteImage","Container","imageUploadMaxWidth","imageUploadMinHeight","borderRadius","colorText","ImageUpload","url","accept","locale","value","defaultValue","onChange","size","rest","ref","touchDevice","forwardedValue","setForwardedValue","getRootProps","getInputProps","multiple","onDrop","file","source","URL","createObjectURL","renderImage","createElement","src","_extends","onMouseDown","e","preventDefault","onKeyDown","key","touchTitle","dropTitle","overrides","buttonGhostColorText","buttonGhostColorBgHover","type","wide","onClick","stopPropagation","displayName"],"sources":["../../../src/ImageUpload/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Image } from '@os-design/core';\nimport { Delete, Picture } from '@os-design/icons';\nimport {\n WithSize,\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { ThemeOverrider, clr } from '@os-design/theming';\n\nimport {\n isTouchDevice,\n omitEmotionProps,\n useForwardedState,\n} from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport { Accept, useDropzone } from 'react-dropzone';\nimport defaultLocale, { ImageUploadLocale } from './utils/defaultLocale';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface ImageUploadProps extends JsxDivProps, WithSize {\n /**\n * The url of the image.\n * @default undefined\n */\n url?: string;\n /**\n * Allowed image formats.\n * @default undefined\n */\n accept?: Accept;\n /**\n * The locale of the component.\n * @default undefined\n */\n locale?: ImageUploadLocale;\n /**\n * The selected local file, or null if the image is marked as deleted.\n * @default undefined\n */\n value?: File | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: File | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: File | null) => void;\n}\n\nconst overlayHasImageStyles = (p) =>\n p.hasImage &&\n css`\n background-color: hsla(0, 0%, 0%, ${p.theme.imageUploadOverlayOpacity});\n color: hsl(0, 0%, 100%);\n `;\n\nconst overlayHasImageHoverStyles = (p) =>\n p.hasImage &&\n !p.isDragActive &&\n css`\n @media (hover: hover) {\n opacity: 0;\n\n &:hover {\n opacity: 1;\n }\n }\n `;\n\ninterface OverlayProps {\n isDragActive: boolean;\n hasImage: boolean;\n}\nexport const Overlay = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage')\n)<OverlayProps>`\n ${resetFocusStyles};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n text-align: center;\n padding: ${(p) => p.theme.imageUploadOverlayPadding}em;\n\n ${overlayHasImageStyles};\n ${overlayHasImageHoverStyles}\n ${transitionStyles('opacity')};\n`;\n\nconst contentIsDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n transform: scale(0.92);\n `;\n\ntype ContentProps = Pick<OverlayProps, 'isDragActive'>;\nconst Content = styled('div', omitEmotionProps('isDragActive'))<ContentProps>`\n ${contentIsDragActiveStyles};\n ${transitionStyles('transform')};\n`;\n\nconst PictureIcon = styled(Picture)`\n opacity: 0.8;\n font-size: 2.5em;\n`;\n\nconst Title = styled.div`\n opacity: 0.8;\n`;\n\nconst DeleteButtonContainer = styled.div`\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n`;\n\nconst hoverStyles = (p) => css`\n border-color: ${clr(p.theme.imageUploadNoImageHoverColorBorder)};\n`;\n\nconst notHasImageStyles = (p) =>\n !p.hasImage &&\n css`\n background-color: ${clr(p.theme.imageUploadNoImageColorBg)};\n border: 2px dashed ${clr(p.theme.imageUploadNoImageColorBorder)};\n\n @media (hover: hover) {\n &:hover {\n ${hoverStyles(p)};\n }\n }\n `;\n\nconst focusStyles = (p) => css`\n &:focus-within {\n & > div {\n opacity: 1;\n }\n ${hoverStyles(p)};\n }\n`;\n\nconst isDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n ${hoverStyles(p)};\n `;\n\nconst LocalImage = styled.img`\n width: 100%;\n vertical-align: top;\n`;\n\nconst RemoteImage = styled(Image)`\n vertical-align: top;\n`;\n\ninterface ContainerProps extends WithSize {\n isDragActive: boolean;\n hasImage: boolean;\n}\n\nconst Container = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage', 'size')\n)<ContainerProps>`\n position: relative;\n cursor: pointer;\n overflow: hidden;\n box-sizing: border-box;\n\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n min-height: ${(p) => p.theme.imageUploadMinHeight}em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${notHasImageStyles};\n ${focusStyles};\n ${isDragActiveStyles};\n ${sizeStyles};\n ${transitionStyles('border')};\n`;\n\n/**\n * The component to upload an image.\n */\nconst ImageUpload = forwardRef<HTMLDivElement, ImageUploadProps>(\n (\n {\n url,\n accept = { 'image/*': ['.jpeg', '.png', '.webp'] },\n locale = defaultLocale,\n value,\n defaultValue,\n onChange,\n size,\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n accept,\n multiple: false,\n onDrop: ([file]) => setForwardedValue(file),\n });\n\n const source = useMemo(() => {\n if (forwardedValue === null) return null; // If the user select an image\n if (forwardedValue) return URL.createObjectURL(forwardedValue); // If the image already exists\n if (url) return url;\n return null;\n }, [forwardedValue, url]);\n\n const hasImage = useMemo(() => !!source, [source]);\n\n const renderImage = useCallback(() => {\n if (!source) return null;\n if (typeof forwardedValue === 'object' && forwardedValue !== null) {\n return <LocalImage src={source} />;\n }\n return <RemoteImage url={source} />;\n }, [forwardedValue, source]);\n\n return (\n <Container\n isDragActive={isDragActive}\n hasImage={hasImage}\n size={size}\n onMouseDown={(e) => e.preventDefault()}\n {...rest}\n ref={ref}\n >\n <input {...getInputProps()} />\n {renderImage()}\n\n <Overlay\n isDragActive={isDragActive}\n hasImage={hasImage}\n {\n ...getRootProps({\n onKeyDown: (e) => {\n if (e.key === 'Backspace') setForwardedValue(null);\n },\n } as any) // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n >\n <Content isDragActive={isDragActive}>\n <PictureIcon />\n <Title>{touchDevice ? locale.touchTitle : locale.dropTitle}</Title>\n </Content>\n\n {hasImage && (\n <ThemeOverrider\n overrides={{\n buttonGhostColorText: [0, 0, 100],\n buttonGhostColorBgHover: [0, 0, 100, 0.1],\n }}\n >\n <DeleteButtonContainer>\n <Button\n type='ghost'\n wide='never'\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n >\n <Delete />\n </Button>\n </DeleteButtonContainer>\n </ThemeOverrider>\n )}\n </Overlay>\n </Container>\n );\n }\n);\n\nImageUpload.displayName = 'ImageUpload';\n\nexport default ImageUpload;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["css","styled","Button","Image","Delete","Picture","resetFocusStyles","sizeStyles","transitionStyles","ThemeOverrider","clr","isTouchDevice","omitEmotionProps","useForwardedState","React","forwardRef","useCallback","useMemo","useDropzone","defaultLocale","overlayHasImageStyles","p","hasImage","theme","imageUploadOverlayOpacity","overlayHasImageHoverStyles","isDragActive","Overlay","imageUploadOverlayPadding","contentIsDragActiveStyles","Content","PictureIcon","Title","div","DeleteButtonContainer","hoverStyles","imageUploadNoImageHoverColorBorder","notHasImageStyles","imageUploadNoImageColorBg","imageUploadNoImageColorBorder","focusStyles","isDragActiveStyles","LocalImage","img","RemoteImage","Container","imageUploadMaxWidth","imageUploadMinHeight","borderRadius","colorText","ImageUpload","url","accept","locale","value","defaultValue","onChange","size","rest","ref","touchDevice","forwardedValue","setForwardedValue","getRootProps","getInputProps","multiple","onDrop","file","source","URL","createObjectURL","renderImage","createElement","src","_extends","onMouseDown","e","preventDefault","onKeyDown","key","touchTitle","dropTitle","overrides","buttonGhostColorText","buttonGhostColorBgHover","type","wide","onClick","stopPropagation","displayName"],"sources":["../../../src/ImageUpload/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Image } from '@os-design/core';\nimport { Delete, Picture } from '@os-design/icons';\nimport {\n WithSize,\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { ThemeOverrider, clr } from '@os-design/theming';\nimport {\n isTouchDevice,\n omitEmotionProps,\n useForwardedState,\n} from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport { Accept, useDropzone } from 'react-dropzone';\nimport defaultLocale, { ImageUploadLocale } from './utils/defaultLocale';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface ImageUploadProps extends JsxDivProps, WithSize {\n /**\n * The url of the image.\n * @default undefined\n */\n url?: string;\n /**\n * Allowed image formats.\n * @default undefined\n */\n accept?: Accept;\n /**\n * The locale of the component.\n * @default undefined\n */\n locale?: ImageUploadLocale;\n /**\n * The selected local file, or null if the image is marked as deleted.\n * @default undefined\n */\n value?: File | null;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: File | null;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: File | null) => void;\n}\n\nconst overlayHasImageStyles = (p) =>\n p.hasImage &&\n css`\n background-color: hsla(0, 0%, 0%, ${p.theme.imageUploadOverlayOpacity});\n color: hsl(0, 0%, 100%);\n `;\n\nconst overlayHasImageHoverStyles = (p) =>\n p.hasImage &&\n !p.isDragActive &&\n css`\n @media (hover: hover) {\n opacity: 0;\n\n &:hover {\n opacity: 1;\n }\n }\n `;\n\ninterface OverlayProps {\n isDragActive: boolean;\n hasImage: boolean;\n}\nexport const Overlay = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage')\n)<OverlayProps>`\n ${resetFocusStyles};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n text-align: center;\n padding: ${(p) => p.theme.imageUploadOverlayPadding}em;\n\n ${overlayHasImageStyles};\n ${overlayHasImageHoverStyles}\n ${transitionStyles('opacity')};\n`;\n\nconst contentIsDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n transform: scale(0.92);\n `;\n\ntype ContentProps = Pick<OverlayProps, 'isDragActive'>;\nconst Content = styled('div', omitEmotionProps('isDragActive'))<ContentProps>`\n ${contentIsDragActiveStyles};\n ${transitionStyles('transform')};\n`;\n\nconst PictureIcon = styled(Picture)`\n opacity: 0.8;\n font-size: 2.5em;\n`;\n\nconst Title = styled.div`\n opacity: 0.8;\n`;\n\nconst DeleteButtonContainer = styled.div`\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n`;\n\nconst hoverStyles = (p) => css`\n border-color: ${clr(p.theme.imageUploadNoImageHoverColorBorder)};\n`;\n\nconst notHasImageStyles = (p) =>\n !p.hasImage &&\n css`\n background-color: ${clr(p.theme.imageUploadNoImageColorBg)};\n border: 2px dashed ${clr(p.theme.imageUploadNoImageColorBorder)};\n\n @media (hover: hover) {\n &:hover {\n ${hoverStyles(p)};\n }\n }\n `;\n\nconst focusStyles = (p) => css`\n &:focus-within {\n & > div {\n opacity: 1;\n }\n ${hoverStyles(p)};\n }\n`;\n\nconst isDragActiveStyles = (p) =>\n p.isDragActive &&\n css`\n ${hoverStyles(p)};\n `;\n\nconst LocalImage = styled.img`\n width: 100%;\n vertical-align: top;\n`;\n\nconst RemoteImage = styled(Image)`\n vertical-align: top;\n`;\n\ninterface ContainerProps extends WithSize {\n isDragActive: boolean;\n hasImage: boolean;\n}\n\nconst Container = styled(\n 'div',\n omitEmotionProps('isDragActive', 'hasImage', 'size')\n)<ContainerProps>`\n position: relative;\n cursor: pointer;\n overflow: hidden;\n box-sizing: border-box;\n\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n min-height: ${(p) => p.theme.imageUploadMinHeight}em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${notHasImageStyles};\n ${focusStyles};\n ${isDragActiveStyles};\n ${sizeStyles};\n ${transitionStyles('border')};\n`;\n\n/**\n * The component to upload an image.\n */\nconst ImageUpload = forwardRef<HTMLDivElement, ImageUploadProps>(\n (\n {\n url,\n accept = { 'image/*': ['.jpeg', '.png', '.webp'] },\n locale = defaultLocale,\n value,\n defaultValue,\n onChange,\n size,\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n accept,\n multiple: false,\n onDrop: ([file]) => setForwardedValue(file),\n });\n\n const source = useMemo(() => {\n if (forwardedValue === null) return null; // If the user select an image\n if (forwardedValue) return URL.createObjectURL(forwardedValue); // If the image already exists\n if (url) return url;\n return null;\n }, [forwardedValue, url]);\n\n const hasImage = useMemo(() => !!source, [source]);\n\n const renderImage = useCallback(() => {\n if (!source) return null;\n if (typeof forwardedValue === 'object' && forwardedValue !== null) {\n return <LocalImage src={source} />;\n }\n return <RemoteImage url={source} />;\n }, [forwardedValue, source]);\n\n return (\n <Container\n isDragActive={isDragActive}\n hasImage={hasImage}\n size={size}\n onMouseDown={(e) => e.preventDefault()}\n {...rest}\n ref={ref}\n >\n <input {...getInputProps()} />\n {renderImage()}\n\n <Overlay\n isDragActive={isDragActive}\n hasImage={hasImage}\n {\n ...getRootProps({\n onKeyDown: (e) => {\n if (e.key === 'Backspace') setForwardedValue(null);\n },\n } as any) // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n >\n <Content isDragActive={isDragActive}>\n <PictureIcon />\n <Title>{touchDevice ? locale.touchTitle : locale.dropTitle}</Title>\n </Content>\n\n {hasImage && (\n <ThemeOverrider\n overrides={{\n buttonGhostColorText: [0, 0, 100],\n buttonGhostColorBgHover: [0, 0, 100, 0.1],\n }}\n >\n <DeleteButtonContainer>\n <Button\n type='ghost'\n wide='never'\n onClick={(e) => {\n setForwardedValue(null);\n e.stopPropagation();\n }}\n >\n <Delete />\n </Button>\n </DeleteButtonContainer>\n </ThemeOverrider>\n )}\n </Overlay>\n </Container>\n );\n }\n);\n\nImageUpload.displayName = 'ImageUpload';\n\nexport default ImageUpload;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styled","Skeleton","sizeStyles","omitEmotionProps","React","forwardRef","StyledImageUploadSkeleton","p","theme","imageUploadMaxWidth","imageUploadMinHeight","ImageUploadSkeleton","props","ref","createElement","_extends","width","displayName"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\n\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\nexport type ImageUploadSkeletonProps = Omit<SkeletonProps, 'width'> & WithSize;\n\nconst StyledImageUploadSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n height: ${(p) => p.theme.imageUploadMinHeight}em;\n ${sizeStyles};\n`;\n\n/**\n * Provides an image upload placeholder while a user waits for\n * the content to load.\n */\nconst ImageUploadSkeleton = forwardRef<\n HTMLDivElement,\n ImageUploadSkeletonProps\n>((props, ref) => (\n <StyledImageUploadSkeleton width='100%' {...props} ref={ref} />\n));\n\nImageUploadSkeleton.displayName = 'ImageUploadSkeleton';\n\nexport default ImageUploadSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,QAAQ,QAAuB,iBAAiB;AAEzD,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,yBAAyB,GAAGN,MAAM,CACtCC,QAAQ,EACRE,gBAAgB,CAAC,MAAM,CACzB,CAAY;AACZ,eAAgBI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,mBAAoB;AAClD,YAAaF,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACE,oBAAqB;AAChD,IAAIR,UAAW;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMS,mBAAmB,gBAAGN,UAAU,CAGpC,CAACO,KAAK,EAAEC,GAAG,kBACXT,KAAA,CAAAU,aAAA,CAACR,yBAAyB,EAAAS,QAAA;EAACC,KAAK,EAAC;AAAM,GAAKJ,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC/D,CAAC;AAEFF,mBAAmB,CAACM,WAAW,GAAG,qBAAqB;AAEvD,eAAeN,mBAAmB"}
1
+ {"version":3,"file":"index.js","names":["styled","Skeleton","sizeStyles","omitEmotionProps","React","forwardRef","StyledImageUploadSkeleton","p","theme","imageUploadMaxWidth","imageUploadMinHeight","ImageUploadSkeleton","props","ref","createElement","_extends","width","displayName"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\nexport type ImageUploadSkeletonProps = Omit<SkeletonProps, 'width'> & WithSize;\n\nconst StyledImageUploadSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n max-width: ${(p) => p.theme.imageUploadMaxWidth}em;\n height: ${(p) => p.theme.imageUploadMinHeight}em;\n ${sizeStyles};\n`;\n\n/**\n * Provides an image upload placeholder while a user waits for\n * the content to load.\n */\nconst ImageUploadSkeleton = forwardRef<\n HTMLDivElement,\n ImageUploadSkeletonProps\n>((props, ref) => (\n <StyledImageUploadSkeleton width='100%' {...props} ref={ref} />\n));\n\nImageUploadSkeleton.displayName = 'ImageUploadSkeleton';\n\nexport default ImageUploadSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,QAAQ,QAAuB,iBAAiB;AACzD,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAIzC,MAAMC,yBAAyB,GAAGN,MAAM,CACtCC,QAAQ,EACRE,gBAAgB,CAAC,MAAM,CACzB,CAAY;AACZ,eAAgBI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,mBAAoB;AAClD,YAAaF,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACE,oBAAqB;AAChD,IAAIR,UAAW;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMS,mBAAmB,gBAAGN,UAAU,CAGpC,CAACO,KAAK,EAAEC,GAAG,kBACXT,KAAA,CAAAU,aAAA,CAACR,yBAAyB,EAAAS,QAAA;EAACC,KAAK,EAAC;AAAM,GAAKJ,KAAK;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAC/D,CAAC;AAEFF,mBAAmB,CAACM,WAAW,GAAG,qBAAqB;AAEvD,eAAeN,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUpload/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EAIT,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAe,MAAM,gBAAgB,CAAC;AACrD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,KAAK,WAAW,GAAG,IAAI,CACrB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC5B,cAAc,GAAG,UAAU,GAAG,KAAK,CACpC,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,WAAW,EAAE,QAAQ;IAK7D,GAAG,CAAC,EAAE,MAAM,CAAC;IAKb,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAK3B,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAKpB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAK3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC;AAsBD,UAAU,YAAY;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,OAAO;;;oGAsBnB,CAAC;AAmGF,QAAA,MAAM,WAAW,yFAiGhB,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUpload/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EAIT,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAe,MAAM,gBAAgB,CAAC;AACrD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,KAAK,WAAW,GAAG,IAAI,CACrB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC5B,cAAc,GAAG,UAAU,GAAG,KAAK,CACpC,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,WAAW,EAAE,QAAQ;IAK7D,GAAG,CAAC,EAAE,MAAM,CAAC;IAKb,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAK3B,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAKpB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAK3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC;AAsBD,UAAU,YAAY;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,OAAO;;;oGAsBnB,CAAC;AAmGF,QAAA,MAAM,WAAW,yFAiGhB,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUploadSkeleton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAc,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;AAe/E,QAAA,MAAM,mBAAmB,gHAKvB,CAAC;AAIH,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUploadSkeleton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAc,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;AAe/E,QAAA,MAAM,mBAAmB,gHAKvB,CAAC;AAIH,eAAe,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/upload",
3
- "version": "1.0.206",
3
+ "version": "1.0.208",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "main": "dist/cjs/index.js",
@@ -30,11 +30,11 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "@os-design/core": "^1.0.203",
34
- "@os-design/icons": "^1.0.51",
35
- "@os-design/styles": "^1.0.48",
36
- "@os-design/theming": "^1.0.46",
37
- "@os-design/utils": "^1.0.65",
33
+ "@os-design/core": "^1.0.205",
34
+ "@os-design/icons": "^1.0.52",
35
+ "@os-design/styles": "^1.0.49",
36
+ "@os-design/theming": "^1.0.47",
37
+ "@os-design/utils": "^1.0.66",
38
38
  "react-dropzone": "^14.2.3"
39
39
  },
40
40
  "devDependencies": {
@@ -47,5 +47,5 @@
47
47
  "react": ">=18",
48
48
  "react-dom": ">=18"
49
49
  },
50
- "gitHead": "04dd6ac7bd5e972ad98a6d8b14868332d6a808d3"
50
+ "gitHead": "4f905e38d078d355257c7555ce3b4c86b388b9f3"
51
51
  }
@@ -9,7 +9,6 @@ import {
9
9
  transitionStyles,
10
10
  } from '@os-design/styles';
11
11
  import { ThemeOverrider, clr } from '@os-design/theming';
12
-
13
12
  import {
14
13
  isTouchDevice,
15
14
  omitEmotionProps,
@@ -1,6 +1,5 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { Skeleton, SkeletonProps } from '@os-design/core';
3
-
4
3
  import { sizeStyles, WithSize } from '@os-design/styles';
5
4
  import { omitEmotionProps } from '@os-design/utils';
6
5
  import React, { forwardRef } from 'react';