@os-design/upload 1.0.199 → 1.0.200

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":"emotion.d.js","names":[],"sources":["../../../src/@types/emotion.d.ts"],"sourcesContent":["import '@emotion/react';\nimport { Theme as BaseTheme } from '@os-design/theming';\n\ndeclare module '@emotion/react' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n export interface Theme extends BaseTheme {}\n}\n"],"mappings":";;AAAA"}
1
+ {"version":3,"file":"emotion.d.js","names":["require"],"sources":["../../../src/@types/emotion.d.ts"],"sourcesContent":["import '@emotion/react';\nimport { Theme as BaseTheme } from '@os-design/theming';\n\ndeclare module '@emotion/react' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n export interface Theme extends BaseTheme {}\n}\n"],"mappings":";;AAAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["overlayHasImageStyles","p","hasImage","css","theme","imageUploadOverlayOpacity","overlayHasImageHoverStyles","isDragActive","Overlay","styled","omitEmotionProps","resetFocusStyles","imageUploadOverlayPadding","transitionStyles","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","url","accept","locale","defaultLocale","value","defaultValue","onChange","size","rest","touchDevice","useMemo","isTouchDevice","useForwardedState","forwardedValue","setForwardedValue","useDropzone","multiple","onDrop","file","getRootProps","getInputProps","source","URL","createObjectURL","renderImage","useCallback","e","preventDefault","onKeyDown","key","touchTitle","dropTitle","buttonGhostColorText","buttonGhostColorBgHover","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 resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr, ThemeOverrider } 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
+ {"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 +1 @@
1
- {"version":3,"file":"defaultLocale.js","names":["defaultLocale","touchTitle","dropTitle"],"sources":["../../../../src/ImageUpload/utils/defaultLocale.ts"],"sourcesContent":["export interface ImageUploadLocale {\n touchTitle: string;\n dropTitle: string;\n}\n\nconst defaultLocale: ImageUploadLocale = {\n touchTitle: 'Click here to choose an image',\n dropTitle: 'Drop an image here or click to choose it',\n};\n\nexport default defaultLocale;\n"],"mappings":";;;;;;AAKA,IAAMA,aAAgC,GAAG;EACvCC,UAAU,EAAE,+BAA+B;EAC3CC,SAAS,EAAE;AACb,CAAC;AAAC,eAEaF,aAAa;AAAA"}
1
+ {"version":3,"file":"defaultLocale.js","names":["defaultLocale","touchTitle","dropTitle","_default","exports"],"sources":["../../../../src/ImageUpload/utils/defaultLocale.ts"],"sourcesContent":["export interface ImageUploadLocale {\n touchTitle: string;\n dropTitle: string;\n}\n\nconst defaultLocale: ImageUploadLocale = {\n touchTitle: 'Click here to choose an image',\n dropTitle: 'Drop an image here or click to choose it',\n};\n\nexport default defaultLocale;\n"],"mappings":";;;;;;AAKA,IAAMA,aAAgC,GAAG;EACvCC,UAAU,EAAE,+BAA+B;EAC3CC,SAAS,EAAE;AACb,CAAC;AAAC,IAAAC,QAAA,GAEaH,aAAa;AAAAI,OAAA,cAAAD,QAAA"}
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
- var _react = _interopRequireWildcard(require("react"));
9
+ var _core = require("@os-design/core");
10
10
  var _styles = require("@os-design/styles");
11
11
  var _utils = require("@os-design/utils");
12
- var _core = require("@os-design/core");
12
+ var _react = _interopRequireWildcard(require("react"));
13
13
  var _templateObject;
14
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["StyledImageUploadSkeleton","styled","Skeleton","omitEmotionProps","p","theme","imageUploadMaxWidth","imageUploadMinHeight","sizeStyles","ImageUploadSkeleton","forwardRef","props","ref","displayName"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\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;AACA;AACA;AACA;AACA;AAA0D;AAAA;AAAA;AAAA;AAAA;AAAA;AAI1D,IAAMA,yBAAyB,GAAG,IAAAC,kBAAM,EACtCC,cAAQ,EACR,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CACzB,0HACc,UAACC,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,mBAAmB;AAAA,GACrC,UAACF,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACE,oBAAoB;AAAA,GAC3CC,kBAAU,CACb;;AAED;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,gBAAG,IAAAC,iBAAU,EAGpC,UAACC,KAAK,EAAEC,GAAG;EAAA,oBACX,gCAAC,yBAAyB;IAAC,KAAK,EAAC;EAAM,GAAKD,KAAK;IAAE,GAAG,EAAEC;EAAI,GAAG;AAAA,CAChE,CAAC;AAEFH,mBAAmB,CAACI,WAAW,GAAG,qBAAqB;AAAC,eAEzCJ,mBAAmB;AAAA"}
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":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAA0C,IAAAM,eAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAnB,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAArB,MAAA,CAAAsB,MAAA,CAAAtB,MAAA,CAAAuB,gBAAA,CAAAJ,OAAA,IAAAC,GAAA,IAAAI,KAAA,EAAAxB,MAAA,CAAAsB,MAAA,CAAAF,GAAA;AAI1C,IAAMK,yBAAyB,GAAG,IAAAC,kBAAM,EACtCC,cAAQ,EACR,IAAAC,uBAAgB,EAAC,MAAM,CACzB,CAAC,CAAA1C,eAAA,KAAAA,eAAA,GAAAgC,sBAAA,6DACc,UAACW,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,mBAAmB;AAAA,GACrC,UAACF,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACE,oBAAoB;AAAA,GAC3CC,kBAAU,CACb;;AAED;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,gBAAG,IAAAC,iBAAU,EAGpC,UAACC,KAAK,EAAEC,GAAG;EAAA,oBACXrD,MAAA,YAAAsD,aAAA,CAACb,yBAAyB,EAAAhB,QAAA;IAAC8B,KAAK,EAAC;EAAM,GAAKH,KAAK;IAAEC,GAAG,EAAEA;EAAI,EAAE,CAAC;AAAA,CAChE,CAAC;AAEFH,mBAAmB,CAACM,WAAW,GAAG,qBAAqB;AAAC,IAAAC,QAAA,GAEzCP,mBAAmB;AAAAQ,OAAA,cAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from './ImageUpload';\nexport { default as ImageUpload } from './ImageUpload';\nexport * from './ImageUploadSkeleton';\nexport { default as ImageUploadSkeleton } from './ImageUploadSkeleton';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAsC;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_ImageUpload","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_ImageUploadSkeleton","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './ImageUpload';\nexport { default as ImageUpload } from './ImageUpload';\nexport * from './ImageUploadSkeleton';\nexport { default as ImageUploadSkeleton } from './ImageUploadSkeleton';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAJ,YAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,YAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAd,YAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,oBAAA,GAAAd,uBAAA,CAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,oBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,oBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,oBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAsC,SAAAU,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAV,GAAA,CAAAO,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAxB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAyB,wBAAA,WAAAtB,GAAA,IAAAe,GAAA,QAAAf,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAY,GAAA,EAAAf,GAAA,SAAAuB,IAAA,GAAAF,qBAAA,GAAAxB,MAAA,CAAAyB,wBAAA,CAAAP,GAAA,EAAAf,GAAA,cAAAuB,IAAA,KAAAA,IAAA,CAAAf,GAAA,IAAAe,IAAA,CAAAC,GAAA,KAAA3B,MAAA,CAAAS,cAAA,CAAAc,MAAA,EAAApB,GAAA,EAAAuB,IAAA,YAAAH,MAAA,CAAApB,GAAA,IAAAe,GAAA,CAAAf,GAAA,SAAAoB,MAAA,cAAAL,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA"}
@@ -4,7 +4,7 @@ import styled from '@emotion/styled';
4
4
  import { Button, Image } from '@os-design/core';
5
5
  import { Delete, Picture } from '@os-design/icons';
6
6
  import { resetFocusStyles, sizeStyles, transitionStyles } from '@os-design/styles';
7
- import { clr, ThemeOverrider } from '@os-design/theming';
7
+ import { ThemeOverrider, clr } from '@os-design/theming';
8
8
  import { isTouchDevice, omitEmotionProps, useForwardedState } from '@os-design/utils';
9
9
  import React, { forwardRef, useCallback, useMemo } from 'react';
10
10
  import { useDropzone } from 'react-dropzone';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["css","styled","Button","Image","Delete","Picture","resetFocusStyles","sizeStyles","transitionStyles","clr","ThemeOverrider","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","e","preventDefault","onKeyDown","key","touchTitle","dropTitle","buttonGhostColorText","buttonGhostColorBgHover","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 resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr, ThemeOverrider } 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
+ {"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,9 +1,9 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import styled from '@emotion/styled';
3
- import React, { forwardRef } from 'react';
3
+ import { Skeleton } from '@os-design/core';
4
4
  import { sizeStyles } from '@os-design/styles';
5
5
  import { omitEmotionProps } from '@os-design/utils';
6
- import { Skeleton } from '@os-design/core';
6
+ import React, { forwardRef } from 'react';
7
7
  const StyledImageUploadSkeleton = styled(Skeleton, omitEmotionProps('size'))`
8
8
  max-width: ${p => p.theme.imageUploadMaxWidth}em;
9
9
  height: ${p => p.theme.imageUploadMinHeight}em;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styled","React","forwardRef","sizeStyles","omitEmotionProps","Skeleton","StyledImageUploadSkeleton","p","theme","imageUploadMaxWidth","imageUploadMinHeight","ImageUploadSkeleton","props","ref","displayName"],"sources":["../../../src/ImageUploadSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { Skeleton, SkeletonProps } from '@os-design/core';\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,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,QAAQ,QAAuB,iBAAiB;AAIzD,MAAMC,yBAAyB,GAAGN,MAAM,CACtCK,QAAQ,EACRD,gBAAgB,CAAC,MAAM,CAAC,CACd;AACZ,eAAgBG,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,mBAAoB;AAClD,YAAaF,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACE,oBAAqB;AAChD,IAAIP,UAAW;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,mBAAmB,gBAAGT,UAAU,CAGpC,CAACU,KAAK,EAAEC,GAAG,kBACX,oBAAC,yBAAyB;EAAC,KAAK,EAAC;AAAM,GAAKD,KAAK;EAAE,GAAG,EAAEC;AAAI,GAC7D,CAAC;AAEFF,mBAAmB,CAACG,WAAW,GAAG,qBAAqB;AAEvD,eAAeH,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';\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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUpload/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAIL,QAAQ,EACT,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
+ {"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,6 +1,6 @@
1
- import React from 'react';
2
- import { WithSize } from '@os-design/styles';
3
1
  import { SkeletonProps } from '@os-design/core';
2
+ import { WithSize } from '@os-design/styles';
3
+ import React from 'react';
4
4
  export type ImageUploadSkeletonProps = Omit<SkeletonProps, 'width'> & WithSize;
5
5
  declare const ImageUploadSkeleton: React.ForwardRefExoticComponent<Omit<SkeletonProps, "width"> & WithSize & React.RefAttributes<HTMLDivElement>>;
6
6
  export default ImageUploadSkeleton;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ImageUploadSkeleton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAc,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAY,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1D,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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/upload",
3
- "version": "1.0.199",
3
+ "version": "1.0.200",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "main": "dist/cjs/index.js",
@@ -29,11 +29,11 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "@os-design/core": "^1.0.196",
33
- "@os-design/icons": "^1.0.46",
34
- "@os-design/styles": "^1.0.43",
35
- "@os-design/theming": "^1.0.41",
36
- "@os-design/utils": "^1.0.59",
32
+ "@os-design/core": "^1.0.197",
33
+ "@os-design/icons": "^1.0.47",
34
+ "@os-design/styles": "^1.0.44",
35
+ "@os-design/theming": "^1.0.42",
36
+ "@os-design/utils": "^1.0.60",
37
37
  "react-dropzone": "^14.2.3"
38
38
  },
39
39
  "devDependencies": {
@@ -46,5 +46,5 @@
46
46
  "react": ">=18",
47
47
  "react-dom": ">=18"
48
48
  },
49
- "gitHead": "115aadc1b30a6b38ef755488be3ded253d6a3c0b"
49
+ "gitHead": "0e88d3afc41e36cee61222a039ef1aa4d08115b5"
50
50
  }