@contentful/f36-asset 4.16.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Change Log
2
2
 
3
+ ## 4.19.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @contentful/f36-icon@4.19.0
9
+ - @contentful/f36-icons@4.19.0
10
+ - @contentful/f36-typography@4.19.0
11
+ - @contentful/f36-core@4.19.0
12
+
13
+ ## 4.18.0
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies []:
18
+ - @contentful/f36-icon@4.18.0
19
+ - @contentful/f36-icons@4.18.0
20
+ - @contentful/f36-typography@4.18.0
21
+ - @contentful/f36-core@4.18.0
22
+
23
+ ## 4.17.0
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies []:
28
+ - @contentful/f36-icon@4.17.0
29
+ - @contentful/f36-icons@4.17.0
30
+ - @contentful/f36-typography@4.17.0
31
+ - @contentful/f36-core@4.17.0
32
+
3
33
  ## 4.16.0
4
34
 
5
35
  ### Patch Changes
@@ -1,6 +1,7 @@
1
- import { GeneratedIconProps } from "@contentful/f36-icon";
2
- import React from "react";
3
- import { EntityStatus, PickUnion, CommonProps } from "@contentful/f36-core";
1
+ import React from 'react';
2
+ import { PickUnion, EntityStatus, CommonProps } from '@contentful/f36-core';
3
+ import { GeneratedIconProps } from '@contentful/f36-icon';
4
+
4
5
  declare const types: {
5
6
  archive: string;
6
7
  audio: string;
@@ -14,20 +15,11 @@ declare const types: {
14
15
  spreadsheet: string;
15
16
  video: string;
16
17
  };
17
- export function isAssetType(type: string): type is AssetType;
18
- export type AssetType = keyof typeof types;
19
- export interface AssetIconProps extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {
20
- type?: AssetType;
21
- }
22
- /**
23
- * Renders only the Illustration that would represent this asset's type
24
- */
25
- export const AssetIcon: {
26
- ({ type, className, testId, ...otherProps }: AssetIconProps): JSX.Element;
27
- displayName: string;
28
- };
29
- export type AssetStatus = PickUnion<EntityStatus, 'archived' | 'changed' | 'deleted' | 'draft' | 'published'>;
30
- export interface AssetProps extends CommonProps {
18
+ declare function isAssetType(type: string): type is AssetType;
19
+ declare type AssetType = keyof typeof types;
20
+
21
+ declare type AssetStatus = PickUnion<EntityStatus, 'archived' | 'changed' | 'deleted' | 'draft' | 'published'>;
22
+ interface AssetProps extends CommonProps {
31
23
  /**
32
24
  * A `src` attribute to use for image assets
33
25
  */
@@ -45,6 +37,17 @@ export interface AssetProps extends CommonProps {
45
37
  */
46
38
  type?: AssetType;
47
39
  }
48
- export const Asset: React.ForwardRefExoticComponent<AssetProps & React.RefAttributes<any>>;
40
+ declare const Asset: React.ForwardRefExoticComponent<AssetProps & React.RefAttributes<any>>;
41
+
42
+ interface AssetIconProps extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {
43
+ type?: AssetType;
44
+ }
45
+ /**
46
+ * Renders only the Illustration that would represent this asset's type
47
+ */
48
+ declare const AssetIcon: {
49
+ ({ type, className, testId, ...otherProps }: AssetIconProps): JSX.Element;
50
+ displayName: string;
51
+ };
49
52
 
50
- //# sourceMappingURL=types.d.ts.map
53
+ export { Asset, AssetIcon, AssetIconProps, AssetProps, AssetStatus, AssetType, isAssetType };
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var n = require('react');
6
+ var emotion = require('emotion');
7
+ var f36Core = require('@contentful/f36-core');
8
+ var f36Typography = require('@contentful/f36-typography');
9
+ var f36Icons = require('@contentful/f36-icons');
10
+ var g = require('@contentful/f36-tokens');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var n__default = /*#__PURE__*/_interopDefaultLegacy(n);
15
+ var g__default = /*#__PURE__*/_interopDefaultLegacy(g);
16
+
17
+ var N=Object.defineProperty,w=Object.defineProperties;var B=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var A=(t,e,s)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,o=(t,e)=>{for(var s in e||(e={}))I.call(e,s)&&A(t,s,e[s]);if(f)for(var s of f(e))v.call(e,s)&&A(t,s,e[s]);return t},P=(t,e)=>w(t,B(e));var d=(t,e)=>{var s={};for(var r in t)I.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(t!=null&&f)for(var r of f(t))e.indexOf(r)<0&&v.call(t,r)&&(s[r]=t[r]);return s};function T(){return {root:emotion.css({display:"inline-block",width:"39px",height:"39px","g, path":{fill:g__default["default"].gray600}})}}var u=c=>{var m=c,{type:t="archive",className:e,testId:s="cf-ui-asset-icon"}=m,r=d(m,["type","className","testId"]);let y=T(),i=P(o({},r),{testId:s,className:emotion.cx(y.root,e)});switch(t){case"audio":return n__default["default"].createElement(f36Icons.AudioIcon,o({},i));case"code":return n__default["default"].createElement(f36Icons.CodeIllustrationIcon,o({},i));case"image":return n__default["default"].createElement(f36Icons.ImageIcon,o({},i));case"markup":return n__default["default"].createElement(f36Icons.MarkupIcon,o({},i));case"pdf":return n__default["default"].createElement(f36Icons.PdfIcon,o({},i));case"plaintext":return n__default["default"].createElement(f36Icons.PlaintextIcon,o({},i));case"presentation":return n__default["default"].createElement(f36Icons.PresentationIcon,o({},i));case"richtext":return n__default["default"].createElement(f36Icons.RichtextIcon,o({},i));case"spreadsheet":return n__default["default"].createElement(f36Icons.SpreadsheetIcon,o({},i));case"video":return n__default["default"].createElement(f36Icons.VideoIcon,o({},i));case"archive":default:return n__default["default"].createElement(f36Icons.ArchiveIcon,o({},i))}};u.displayName="AssetIcon";function S(){return {relative:emotion.css({position:"relative"}),height100:emotion.css({height:"100%"}),image:emotion.css({width:"auto",maxWidth:"100%",maxHeight:"100%"}),titleContainer:emotion.css({opacity:0,transition:`opacity ${g__default["default"].transitionDurationDefault} ${g__default["default"].transitionEasingDefault}`,position:"absolute",bottom:0,right:0,left:0,height:"100%",display:"flex",overflow:"hidden",alignItems:"flex-end",boxSizing:"border-box",background:`linear-gradient(0deg, ${g__default["default"].gray900} 0%, transparent calc(1rem * (100 / ${g__default["default"].fontBaseDefault})), transparent 100% )`,":hover":{opacity:1}}),title:emotion.css({bottom:0,left:0,right:0,position:"absolute"})}}function b(X,i){var h=X,{className:t,src:e,status:s,testId:r="cf-ui-asset",title:c,type:m="image"}=h,y=d(h,["className","src","status","testId","title","type"]);let p=S(),C=e&&e!==""&&m==="image"&&s!=="archived";return n__default["default"].createElement(f36Core.Box,o({className:emotion.cx(p.relative,t),testId:r,ref:i},y),C?n__default["default"].createElement(n__default["default"].Fragment,null,n__default["default"].createElement(f36Core.Flex,{alignItems:"center",justifyContent:"center",className:p.height100},n__default["default"].createElement("img",{className:p.image,src:e,alt:c})),c&&n__default["default"].createElement("div",{className:p.titleContainer},n__default["default"].createElement(f36Typography.Text,{className:p.title,fontColor:"colorWhite",margin:"spacingS",isTruncated:!0},c))):n__default["default"].createElement(f36Core.Flex,{flexDirection:"column",alignItems:"center",justifyContent:"center",paddingLeft:"spacingS",paddingRight:"spacingS",className:p.height100},n__default["default"].createElement(f36Core.Flex,{marginBottom:"spacingM",marginTop:"spacingM",justifyContent:"center"},n__default["default"].createElement(u,{type:m})),n__default["default"].createElement(f36Typography.Text,{isTruncated:!0,marginBottom:"spacingM",fontColor:"gray600"},c)))}b.displayName="Asset";var J=n__default["default"].forwardRef(b);var K={archive:"archive",audio:"audio",code:"code",image:"image",markup:"markup",pdf:"pdf",plaintext:"plaintext",presentation:"presentation",richtext:"richtext",spreadsheet:"spreadsheet",video:"video"};function Q(t){return Object.keys(K).includes(t)}
18
+
19
+ exports.Asset = J;
20
+ exports.AssetIcon = u;
21
+ exports.isAssetType = Q;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Asset.tsx","../src/AssetIcon/AssetIcon.tsx","../src/AssetIcon/AssetIcon.styles.ts","../src/Asset.styles.ts","../src/types.ts"],"names":["React","cx","Box","Flex","Text","ArchiveIcon","AudioIcon","CodeIllustrationIcon","ImageIcon","MarkupIcon","PdfIcon","PlaintextIcon","RichtextIcon","PresentationIcon","SpreadsheetIcon","VideoIcon","tokens","css","getAssetIconStyles","AssetIcon","_a","_b","type","className","testId","otherProps","__objRest","styles","props","__spreadProps","__spreadValues","getAssetStyles","_Asset","ref","src","status","title","showPreview","Asset","types","isAssetType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n Flex,\n type EntityStatus,\n type PickUnion,\n type CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\n\nimport { AssetIcon } from './AssetIcon/AssetIcon';\nimport { getAssetStyles } from './Asset.styles';\nimport type { AssetType } from './types';\n\nexport type AssetStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'deleted' | 'draft' | 'published'\n>;\n\nexport interface AssetProps extends CommonProps {\n /**\n * A `src` attribute to use for image assets\n */\n src?: string;\n /**\n * The publish status of the asset\n */\n status?: AssetStatus;\n /**\n * The title of the asset\n */\n title?: string;\n /**\n * The type of asset being represented\n */\n type?: AssetType;\n}\n\nfunction _Asset(\n {\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n }: AssetProps,\n ref: React.Ref<any>,\n) {\n const styles = getAssetStyles();\n const isImage = src && src !== '' && type === 'image';\n\n // Do not show image previews when publish status is archived\n const showPreview = isImage && status !== 'archived';\n\n return (\n <Box\n className={cx(styles.relative, className)}\n testId={testId}\n ref={ref}\n {...otherProps}\n >\n {showPreview ? (\n <>\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n className={styles.height100}\n >\n <img className={styles.image} src={src} alt={title} />\n </Flex>\n {title && (\n <div className={styles.titleContainer}>\n <Text\n className={styles.title}\n fontColor=\"colorWhite\"\n margin=\"spacingS\"\n isTruncated\n >\n {title}\n </Text>\n </div>\n )}\n </>\n ) : (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingLeft=\"spacingS\"\n paddingRight=\"spacingS\"\n className={styles.height100}\n >\n <Flex\n marginBottom=\"spacingM\"\n marginTop=\"spacingM\"\n justifyContent=\"center\"\n >\n <AssetIcon type={type} />\n </Flex>\n <Text isTruncated marginBottom=\"spacingM\" fontColor=\"gray600\">\n {title}\n </Text>\n </Flex>\n )}\n </Box>\n );\n}\n\n_Asset.displayName = 'Asset';\n\nexport const Asset = React.forwardRef(_Asset);\n","import React from 'react';\nimport {\n ArchiveIcon,\n AudioIcon,\n CodeIllustrationIcon,\n ImageIcon,\n MarkupIcon,\n PdfIcon,\n PlaintextIcon,\n RichtextIcon,\n PresentationIcon,\n SpreadsheetIcon,\n VideoIcon,\n} from '@contentful/f36-icons';\nimport type { GeneratedIconProps } from '@contentful/f36-icon';\nimport type { AssetType } from '../types';\n\nimport { cx } from 'emotion';\nimport { getAssetIconStyles } from './AssetIcon.styles';\n\nexport interface AssetIconProps\n extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {\n type?: AssetType;\n}\n\n/**\n * Renders only the Illustration that would represent this asset's type\n */\nexport const AssetIcon = ({\n type = 'archive',\n className,\n testId = 'cf-ui-asset-icon',\n ...otherProps\n}: AssetIconProps) => {\n const styles = getAssetIconStyles();\n const props = {\n ...otherProps,\n testId,\n className: cx(styles.root, className),\n };\n\n switch (type) {\n case 'audio':\n return <AudioIcon {...props} />;\n case 'code':\n return <CodeIllustrationIcon {...props} />;\n case 'image':\n return <ImageIcon {...props} />;\n case 'markup':\n return <MarkupIcon {...props} />;\n case 'pdf':\n return <PdfIcon {...props} />;\n case 'plaintext':\n return <PlaintextIcon {...props} />;\n case 'presentation':\n return <PresentationIcon {...props} />;\n case 'richtext':\n return <RichtextIcon {...props} />;\n case 'spreadsheet':\n return <SpreadsheetIcon {...props} />;\n case 'video':\n return <VideoIcon {...props} />;\n case 'archive':\n default:\n return <ArchiveIcon {...props} />;\n }\n};\n\nAssetIcon.displayName = 'AssetIcon';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetIconStyles() {\n return {\n root: css({\n display: 'inline-block',\n width: '39px',\n height: '39px',\n 'g, path': {\n fill: tokens.gray600,\n },\n }),\n };\n}\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetStyles() {\n return {\n relative: css({\n position: 'relative',\n }),\n height100: css({\n height: '100%',\n }),\n image: css({\n width: 'auto',\n maxWidth: '100%',\n maxHeight: '100%',\n }),\n titleContainer: css({\n opacity: 0,\n transition: `opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: 0,\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'flex-end',\n boxSizing: 'border-box',\n background: `linear-gradient(0deg, ${tokens.gray900} 0%, transparent calc(1rem * (100 / ${tokens.fontBaseDefault})), transparent 100% )`,\n ':hover': { opacity: 1 },\n }),\n title: css({\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n }),\n };\n}\n","export const types = {\n archive: 'archive',\n audio: 'audio',\n code: 'code',\n image: 'image',\n markup: 'markup',\n pdf: 'pdf',\n plaintext: 'plaintext',\n presentation: 'presentation',\n richtext: 'richtext',\n spreadsheet: 'spreadsheet',\n video: 'video',\n};\n\nexport function isAssetType(type: string): type is AssetType {\n return Object.keys(types).includes(type);\n}\n\nexport type AssetType = keyof typeof types;\n"]}
package/dist/index.mjs ADDED
@@ -0,0 +1,11 @@
1
+ import n from 'react';
2
+ import { cx, css } from 'emotion';
3
+ import { Box, Flex } from '@contentful/f36-core';
4
+ import { Text } from '@contentful/f36-typography';
5
+ import { ArchiveIcon, VideoIcon, SpreadsheetIcon, RichtextIcon, PresentationIcon, PlaintextIcon, PdfIcon, MarkupIcon, ImageIcon, CodeIllustrationIcon, AudioIcon } from '@contentful/f36-icons';
6
+ import g from '@contentful/f36-tokens';
7
+
8
+ var N=Object.defineProperty,w=Object.defineProperties;var B=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var A=(t,e,s)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,o=(t,e)=>{for(var s in e||(e={}))I.call(e,s)&&A(t,s,e[s]);if(f)for(var s of f(e))v.call(e,s)&&A(t,s,e[s]);return t},P=(t,e)=>w(t,B(e));var d=(t,e)=>{var s={};for(var r in t)I.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(t!=null&&f)for(var r of f(t))e.indexOf(r)<0&&v.call(t,r)&&(s[r]=t[r]);return s};function T(){return {root:css({display:"inline-block",width:"39px",height:"39px","g, path":{fill:g.gray600}})}}var u=c=>{var m=c,{type:t="archive",className:e,testId:s="cf-ui-asset-icon"}=m,r=d(m,["type","className","testId"]);let y=T(),i=P(o({},r),{testId:s,className:cx(y.root,e)});switch(t){case"audio":return n.createElement(AudioIcon,o({},i));case"code":return n.createElement(CodeIllustrationIcon,o({},i));case"image":return n.createElement(ImageIcon,o({},i));case"markup":return n.createElement(MarkupIcon,o({},i));case"pdf":return n.createElement(PdfIcon,o({},i));case"plaintext":return n.createElement(PlaintextIcon,o({},i));case"presentation":return n.createElement(PresentationIcon,o({},i));case"richtext":return n.createElement(RichtextIcon,o({},i));case"spreadsheet":return n.createElement(SpreadsheetIcon,o({},i));case"video":return n.createElement(VideoIcon,o({},i));case"archive":default:return n.createElement(ArchiveIcon,o({},i))}};u.displayName="AssetIcon";function S(){return {relative:css({position:"relative"}),height100:css({height:"100%"}),image:css({width:"auto",maxWidth:"100%",maxHeight:"100%"}),titleContainer:css({opacity:0,transition:`opacity ${g.transitionDurationDefault} ${g.transitionEasingDefault}`,position:"absolute",bottom:0,right:0,left:0,height:"100%",display:"flex",overflow:"hidden",alignItems:"flex-end",boxSizing:"border-box",background:`linear-gradient(0deg, ${g.gray900} 0%, transparent calc(1rem * (100 / ${g.fontBaseDefault})), transparent 100% )`,":hover":{opacity:1}}),title:css({bottom:0,left:0,right:0,position:"absolute"})}}function b(X,i){var h=X,{className:t,src:e,status:s,testId:r="cf-ui-asset",title:c,type:m="image"}=h,y=d(h,["className","src","status","testId","title","type"]);let p=S(),C=e&&e!==""&&m==="image"&&s!=="archived";return n.createElement(Box,o({className:cx(p.relative,t),testId:r,ref:i},y),C?n.createElement(n.Fragment,null,n.createElement(Flex,{alignItems:"center",justifyContent:"center",className:p.height100},n.createElement("img",{className:p.image,src:e,alt:c})),c&&n.createElement("div",{className:p.titleContainer},n.createElement(Text,{className:p.title,fontColor:"colorWhite",margin:"spacingS",isTruncated:!0},c))):n.createElement(Flex,{flexDirection:"column",alignItems:"center",justifyContent:"center",paddingLeft:"spacingS",paddingRight:"spacingS",className:p.height100},n.createElement(Flex,{marginBottom:"spacingM",marginTop:"spacingM",justifyContent:"center"},n.createElement(u,{type:m})),n.createElement(Text,{isTruncated:!0,marginBottom:"spacingM",fontColor:"gray600"},c)))}b.displayName="Asset";var J=n.forwardRef(b);var K={archive:"archive",audio:"audio",code:"code",image:"image",markup:"markup",pdf:"pdf",plaintext:"plaintext",presentation:"presentation",richtext:"richtext",spreadsheet:"spreadsheet",video:"video"};function Q(t){return Object.keys(K).includes(t)}
9
+
10
+ export { J as Asset, u as AssetIcon, Q as isAssetType };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Asset.tsx","../src/AssetIcon/AssetIcon.tsx","../src/AssetIcon/AssetIcon.styles.ts","../src/Asset.styles.ts","../src/types.ts"],"names":["React","cx","Box","Flex","Text","ArchiveIcon","AudioIcon","CodeIllustrationIcon","ImageIcon","MarkupIcon","PdfIcon","PlaintextIcon","RichtextIcon","PresentationIcon","SpreadsheetIcon","VideoIcon","tokens","css","getAssetIconStyles","AssetIcon","_a","_b","type","className","testId","otherProps","__objRest","styles","props","__spreadProps","__spreadValues","getAssetStyles","_Asset","ref","src","status","title","showPreview","Asset","types","isAssetType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n Flex,\n type EntityStatus,\n type PickUnion,\n type CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\n\nimport { AssetIcon } from './AssetIcon/AssetIcon';\nimport { getAssetStyles } from './Asset.styles';\nimport type { AssetType } from './types';\n\nexport type AssetStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'deleted' | 'draft' | 'published'\n>;\n\nexport interface AssetProps extends CommonProps {\n /**\n * A `src` attribute to use for image assets\n */\n src?: string;\n /**\n * The publish status of the asset\n */\n status?: AssetStatus;\n /**\n * The title of the asset\n */\n title?: string;\n /**\n * The type of asset being represented\n */\n type?: AssetType;\n}\n\nfunction _Asset(\n {\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n }: AssetProps,\n ref: React.Ref<any>,\n) {\n const styles = getAssetStyles();\n const isImage = src && src !== '' && type === 'image';\n\n // Do not show image previews when publish status is archived\n const showPreview = isImage && status !== 'archived';\n\n return (\n <Box\n className={cx(styles.relative, className)}\n testId={testId}\n ref={ref}\n {...otherProps}\n >\n {showPreview ? (\n <>\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n className={styles.height100}\n >\n <img className={styles.image} src={src} alt={title} />\n </Flex>\n {title && (\n <div className={styles.titleContainer}>\n <Text\n className={styles.title}\n fontColor=\"colorWhite\"\n margin=\"spacingS\"\n isTruncated\n >\n {title}\n </Text>\n </div>\n )}\n </>\n ) : (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingLeft=\"spacingS\"\n paddingRight=\"spacingS\"\n className={styles.height100}\n >\n <Flex\n marginBottom=\"spacingM\"\n marginTop=\"spacingM\"\n justifyContent=\"center\"\n >\n <AssetIcon type={type} />\n </Flex>\n <Text isTruncated marginBottom=\"spacingM\" fontColor=\"gray600\">\n {title}\n </Text>\n </Flex>\n )}\n </Box>\n );\n}\n\n_Asset.displayName = 'Asset';\n\nexport const Asset = React.forwardRef(_Asset);\n","import React from 'react';\nimport {\n ArchiveIcon,\n AudioIcon,\n CodeIllustrationIcon,\n ImageIcon,\n MarkupIcon,\n PdfIcon,\n PlaintextIcon,\n RichtextIcon,\n PresentationIcon,\n SpreadsheetIcon,\n VideoIcon,\n} from '@contentful/f36-icons';\nimport type { GeneratedIconProps } from '@contentful/f36-icon';\nimport type { AssetType } from '../types';\n\nimport { cx } from 'emotion';\nimport { getAssetIconStyles } from './AssetIcon.styles';\n\nexport interface AssetIconProps\n extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {\n type?: AssetType;\n}\n\n/**\n * Renders only the Illustration that would represent this asset's type\n */\nexport const AssetIcon = ({\n type = 'archive',\n className,\n testId = 'cf-ui-asset-icon',\n ...otherProps\n}: AssetIconProps) => {\n const styles = getAssetIconStyles();\n const props = {\n ...otherProps,\n testId,\n className: cx(styles.root, className),\n };\n\n switch (type) {\n case 'audio':\n return <AudioIcon {...props} />;\n case 'code':\n return <CodeIllustrationIcon {...props} />;\n case 'image':\n return <ImageIcon {...props} />;\n case 'markup':\n return <MarkupIcon {...props} />;\n case 'pdf':\n return <PdfIcon {...props} />;\n case 'plaintext':\n return <PlaintextIcon {...props} />;\n case 'presentation':\n return <PresentationIcon {...props} />;\n case 'richtext':\n return <RichtextIcon {...props} />;\n case 'spreadsheet':\n return <SpreadsheetIcon {...props} />;\n case 'video':\n return <VideoIcon {...props} />;\n case 'archive':\n default:\n return <ArchiveIcon {...props} />;\n }\n};\n\nAssetIcon.displayName = 'AssetIcon';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetIconStyles() {\n return {\n root: css({\n display: 'inline-block',\n width: '39px',\n height: '39px',\n 'g, path': {\n fill: tokens.gray600,\n },\n }),\n };\n}\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetStyles() {\n return {\n relative: css({\n position: 'relative',\n }),\n height100: css({\n height: '100%',\n }),\n image: css({\n width: 'auto',\n maxWidth: '100%',\n maxHeight: '100%',\n }),\n titleContainer: css({\n opacity: 0,\n transition: `opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: 0,\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'flex-end',\n boxSizing: 'border-box',\n background: `linear-gradient(0deg, ${tokens.gray900} 0%, transparent calc(1rem * (100 / ${tokens.fontBaseDefault})), transparent 100% )`,\n ':hover': { opacity: 1 },\n }),\n title: css({\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n }),\n };\n}\n","export const types = {\n archive: 'archive',\n audio: 'audio',\n code: 'code',\n image: 'image',\n markup: 'markup',\n pdf: 'pdf',\n plaintext: 'plaintext',\n presentation: 'presentation',\n richtext: 'richtext',\n spreadsheet: 'spreadsheet',\n video: 'video',\n};\n\nexport function isAssetType(type: string): type is AssetType {\n return Object.keys(types).includes(type);\n}\n\nexport type AssetType = keyof typeof types;\n"]}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@contentful/f36-asset",
3
- "version": "4.16.0",
3
+ "version": "4.19.0",
4
4
  "description": "Forma 36: Asset component",
5
5
  "scripts": {
6
- "build": "parcel build"
6
+ "build": "tsup"
7
7
  },
8
8
  "dependencies": {
9
9
  "@babel/runtime": "^7.6.2",
10
- "@contentful/f36-core": "^4.16.0",
11
- "@contentful/f36-icon": "^4.16.0",
12
- "@contentful/f36-icons": "^4.16.0",
10
+ "@contentful/f36-core": "^4.19.0",
11
+ "@contentful/f36-icon": "^4.19.0",
12
+ "@contentful/f36-icons": "^4.19.0",
13
13
  "@contentful/f36-tokens": "^4.0.1",
14
- "@contentful/f36-typography": "^4.16.0",
14
+ "@contentful/f36-typography": "^4.19.0",
15
15
  "emotion": "^10.0.17"
16
16
  },
17
17
  "peerDependencies": {
@@ -21,9 +21,9 @@
21
21
  "files": [
22
22
  "dist"
23
23
  ],
24
- "main": "dist/main.js",
25
- "module": "dist/module.js",
26
- "types": "dist/types.d.ts",
24
+ "main": "dist/index.js",
25
+ "module": "dist/index.mjs",
26
+ "types": "dist/index.d.ts",
27
27
  "source": "src/index.ts",
28
28
  "sideEffects": false,
29
29
  "browserslist": "extends @contentful/browserslist-config",
package/dist/main.js DELETED
@@ -1,186 +0,0 @@
1
- var $goRX5$emotion = require("emotion");
2
- var $goRX5$react = require("react");
3
- var $goRX5$contentfulf36core = require("@contentful/f36-core");
4
- var $goRX5$contentfulf36typography = require("@contentful/f36-typography");
5
- var $goRX5$contentfulf36icons = require("@contentful/f36-icons");
6
- var $goRX5$contentfulf36tokens = require("@contentful/f36-tokens");
7
-
8
- function $parcel$export(e, n, v, s) {
9
- Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
10
- }
11
- function $parcel$interopDefault(a) {
12
- return a && a.__esModule ? a.default : a;
13
- }
14
-
15
- $parcel$export(module.exports, "Asset", () => $ee511d6a9591eb62$export$c413dd039085b182);
16
- $parcel$export(module.exports, "AssetIcon", () => $bdfac71418b2e6eb$export$de8d5274b07acfbd);
17
- $parcel$export(module.exports, "isAssetType", () => $ecfcb790f927d565$export$3ccaa71e0816392d);
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
- function $a7f01243e6d07e2f$export$d4130e73e2e8f9dd() {
28
- return {
29
- root: /*#__PURE__*/ (0, $goRX5$emotion.css)({
30
- display: "inline-block",
31
- width: "39px",
32
- height: "39px",
33
- "g, path": {
34
- fill: (0, ($parcel$interopDefault($goRX5$contentfulf36tokens))).gray600
35
- }
36
- })
37
- };
38
- }
39
-
40
-
41
- const $bdfac71418b2e6eb$export$de8d5274b07acfbd = ({ type: type = "archive" , className: className , testId: testId = "cf-ui-asset-icon" , ...otherProps })=>{
42
- const styles = (0, $a7f01243e6d07e2f$export$d4130e73e2e8f9dd)();
43
- const props = {
44
- ...otherProps,
45
- testId: testId,
46
- className: (0, $goRX5$emotion.cx)(styles.root, className)
47
- };
48
- switch(type){
49
- case "audio":
50
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.AudioIcon), props);
51
- case "code":
52
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.CodeIllustrationIcon), props);
53
- case "image":
54
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.ImageIcon), props);
55
- case "markup":
56
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.MarkupIcon), props);
57
- case "pdf":
58
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.PdfIcon), props);
59
- case "plaintext":
60
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.PlaintextIcon), props);
61
- case "presentation":
62
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.PresentationIcon), props);
63
- case "richtext":
64
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.RichtextIcon), props);
65
- case "spreadsheet":
66
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.SpreadsheetIcon), props);
67
- case "video":
68
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.VideoIcon), props);
69
- case "archive":
70
- default:
71
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36icons.ArchiveIcon), props);
72
- }
73
- };
74
- $bdfac71418b2e6eb$export$de8d5274b07acfbd.displayName = "AssetIcon";
75
-
76
-
77
-
78
-
79
- function $757deda98165af5b$export$fa02bd03531e2fe() {
80
- return {
81
- relative: /*#__PURE__*/ (0, $goRX5$emotion.css)({
82
- name: "79elbk",
83
- styles: "position:relative;"
84
- }),
85
- height100: /*#__PURE__*/ (0, $goRX5$emotion.css)({
86
- name: "10klw3m",
87
- styles: "height:100%;"
88
- }),
89
- image: /*#__PURE__*/ (0, $goRX5$emotion.css)({
90
- name: "1ylrs5",
91
- styles: "width:auto;max-width:100%;max-height:100%;"
92
- }),
93
- titleContainer: /*#__PURE__*/ (0, $goRX5$emotion.css)({
94
- opacity: 0,
95
- transition: `opacity ${(0, ($parcel$interopDefault($goRX5$contentfulf36tokens))).transitionDurationDefault} ${(0, ($parcel$interopDefault($goRX5$contentfulf36tokens))).transitionEasingDefault}`,
96
- position: "absolute",
97
- bottom: 0,
98
- right: 0,
99
- left: 0,
100
- height: "100%",
101
- display: "flex",
102
- overflow: "hidden",
103
- alignItems: "flex-end",
104
- boxSizing: "border-box",
105
- background: `linear-gradient(0deg, ${(0, ($parcel$interopDefault($goRX5$contentfulf36tokens))).gray900} 0%, transparent calc(1rem * (100 / ${(0, ($parcel$interopDefault($goRX5$contentfulf36tokens))).fontBaseDefault})), transparent 100% )`,
106
- ":hover": {
107
- opacity: 1
108
- }
109
- }),
110
- title: /*#__PURE__*/ (0, $goRX5$emotion.css)({
111
- name: "4gk4ib",
112
- styles: "bottom:0;left:0;right:0;position:absolute;"
113
- })
114
- };
115
- }
116
-
117
-
118
- function $ee511d6a9591eb62$var$_Asset({ className: className , src: src , status: status , testId: testId = "cf-ui-asset" , title: title , type: type = "image" , ...otherProps }, ref) {
119
- const styles = (0, $757deda98165af5b$export$fa02bd03531e2fe)();
120
- const isImage = src && src !== "" && type === "image"; // Do not show image previews when publish status is archived
121
- const showPreview = isImage && status !== "archived";
122
- return /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36core.Box), {
123
- className: (0, $goRX5$emotion.cx)(styles.relative, className),
124
- testId: testId,
125
- ref: ref,
126
- ...otherProps
127
- }, showPreview ? /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, ($parcel$interopDefault($goRX5$react))).Fragment, null, /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36core.Flex), {
128
- alignItems: "center",
129
- justifyContent: "center",
130
- className: styles.height100
131
- }, /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement("img", {
132
- className: styles.image,
133
- src: src,
134
- alt: title
135
- })), title && /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement("div", {
136
- className: styles.titleContainer
137
- }, /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36typography.Text), {
138
- className: styles.title,
139
- fontColor: "colorWhite",
140
- margin: "spacingS",
141
- isTruncated: true
142
- }, title))) : /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36core.Flex), {
143
- flexDirection: "column",
144
- alignItems: "center",
145
- justifyContent: "center",
146
- paddingLeft: "spacingS",
147
- paddingRight: "spacingS",
148
- className: styles.height100
149
- }, /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36core.Flex), {
150
- marginBottom: "spacingM",
151
- marginTop: "spacingM",
152
- justifyContent: "center"
153
- }, /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $bdfac71418b2e6eb$export$de8d5274b07acfbd), {
154
- type: type
155
- })), /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).createElement((0, $goRX5$contentfulf36typography.Text), {
156
- isTruncated: true,
157
- marginBottom: "spacingM",
158
- fontColor: "gray600"
159
- }, title)));
160
- }
161
- $ee511d6a9591eb62$var$_Asset.displayName = "Asset";
162
- const $ee511d6a9591eb62$export$c413dd039085b182 = /*#__PURE__*/ (0, ($parcel$interopDefault($goRX5$react))).forwardRef($ee511d6a9591eb62$var$_Asset);
163
-
164
-
165
-
166
- const $ecfcb790f927d565$export$b14ad400b1d09e0f = {
167
- archive: "archive",
168
- audio: "audio",
169
- code: "code",
170
- image: "image",
171
- markup: "markup",
172
- pdf: "pdf",
173
- plaintext: "plaintext",
174
- presentation: "presentation",
175
- richtext: "richtext",
176
- spreadsheet: "spreadsheet",
177
- video: "video"
178
- };
179
- function $ecfcb790f927d565$export$3ccaa71e0816392d(type) {
180
- return Object.keys($ecfcb790f927d565$export$b14ad400b1d09e0f).includes(type);
181
- }
182
-
183
-
184
-
185
-
186
- //# sourceMappingURL=main.js.map
package/dist/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/components/asset/src/index.ts","packages/components/asset/src/Asset.tsx","packages/components/asset/src/AssetIcon/AssetIcon.tsx","packages/components/asset/src/AssetIcon/AssetIcon.styles.ts","packages/components/asset/src/Asset.styles.ts","packages/components/asset/src/types.ts"],"sourcesContent":["export { Asset } from './Asset';\nexport type { AssetProps, AssetStatus } from './Asset';\nexport { AssetIcon } from './AssetIcon/AssetIcon';\nexport type { AssetIconProps } from './AssetIcon/AssetIcon';\nexport type { AssetType } from './types';\nexport { isAssetType } from './types';\n","import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n Flex,\n type EntityStatus,\n type PickUnion,\n type CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\n\nimport { AssetIcon } from './AssetIcon/AssetIcon';\nimport { getAssetStyles } from './Asset.styles';\nimport type { AssetType } from './types';\n\nexport type AssetStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'deleted' | 'draft' | 'published'\n>;\n\nexport interface AssetProps extends CommonProps {\n /**\n * A `src` attribute to use for image assets\n */\n src?: string;\n /**\n * The publish status of the asset\n */\n status?: AssetStatus;\n /**\n * The title of the asset\n */\n title?: string;\n /**\n * The type of asset being represented\n */\n type?: AssetType;\n}\n\nfunction _Asset(\n {\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n }: AssetProps,\n ref: React.Ref<any>,\n) {\n const styles = getAssetStyles();\n const isImage = src && src !== '' && type === 'image';\n\n // Do not show image previews when publish status is archived\n const showPreview = isImage && status !== 'archived';\n\n return (\n <Box\n className={cx(styles.relative, className)}\n testId={testId}\n ref={ref}\n {...otherProps}\n >\n {showPreview ? (\n <>\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n className={styles.height100}\n >\n <img className={styles.image} src={src} alt={title} />\n </Flex>\n {title && (\n <div className={styles.titleContainer}>\n <Text\n className={styles.title}\n fontColor=\"colorWhite\"\n margin=\"spacingS\"\n isTruncated\n >\n {title}\n </Text>\n </div>\n )}\n </>\n ) : (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingLeft=\"spacingS\"\n paddingRight=\"spacingS\"\n className={styles.height100}\n >\n <Flex\n marginBottom=\"spacingM\"\n marginTop=\"spacingM\"\n justifyContent=\"center\"\n >\n <AssetIcon type={type} />\n </Flex>\n <Text isTruncated marginBottom=\"spacingM\" fontColor=\"gray600\">\n {title}\n </Text>\n </Flex>\n )}\n </Box>\n );\n}\n\n_Asset.displayName = 'Asset';\n\nexport const Asset = React.forwardRef(_Asset);\n","import React from 'react';\nimport {\n ArchiveIcon,\n AudioIcon,\n CodeIllustrationIcon,\n ImageIcon,\n MarkupIcon,\n PdfIcon,\n PlaintextIcon,\n RichtextIcon,\n PresentationIcon,\n SpreadsheetIcon,\n VideoIcon,\n} from '@contentful/f36-icons';\nimport type { GeneratedIconProps } from '@contentful/f36-icon';\nimport type { AssetType } from '../types';\n\nimport { cx } from 'emotion';\nimport { getAssetIconStyles } from './AssetIcon.styles';\n\nexport interface AssetIconProps\n extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {\n type?: AssetType;\n}\n\n/**\n * Renders only the Illustration that would represent this asset's type\n */\nexport const AssetIcon = ({\n type = 'archive',\n className,\n testId = 'cf-ui-asset-icon',\n ...otherProps\n}: AssetIconProps) => {\n const styles = getAssetIconStyles();\n const props = {\n ...otherProps,\n testId,\n className: cx(styles.root, className),\n };\n\n switch (type) {\n case 'audio':\n return <AudioIcon {...props} />;\n case 'code':\n return <CodeIllustrationIcon {...props} />;\n case 'image':\n return <ImageIcon {...props} />;\n case 'markup':\n return <MarkupIcon {...props} />;\n case 'pdf':\n return <PdfIcon {...props} />;\n case 'plaintext':\n return <PlaintextIcon {...props} />;\n case 'presentation':\n return <PresentationIcon {...props} />;\n case 'richtext':\n return <RichtextIcon {...props} />;\n case 'spreadsheet':\n return <SpreadsheetIcon {...props} />;\n case 'video':\n return <VideoIcon {...props} />;\n case 'archive':\n default:\n return <ArchiveIcon {...props} />;\n }\n};\n\nAssetIcon.displayName = 'AssetIcon';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetIconStyles() {\n return {\n root: css({\n display: 'inline-block',\n width: '39px',\n height: '39px',\n 'g, path': {\n fill: tokens.gray600,\n },\n }),\n };\n}\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetStyles() {\n return {\n relative: css({\n position: 'relative',\n }),\n height100: css({\n height: '100%',\n }),\n image: css({\n width: 'auto',\n maxWidth: '100%',\n maxHeight: '100%',\n }),\n titleContainer: css({\n opacity: 0,\n transition: `opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: 0,\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'flex-end',\n boxSizing: 'border-box',\n background: `linear-gradient(0deg, ${tokens.gray900} 0%, transparent calc(1rem * (100 / ${tokens.fontBaseDefault})), transparent 100% )`,\n ':hover': { opacity: 1 },\n }),\n title: css({\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n }),\n };\n}\n","export const types = {\n archive: 'archive',\n audio: 'audio',\n code: 'code',\n image: 'image',\n markup: 'markup',\n pdf: 'pdf',\n plaintext: 'plaintext',\n presentation: 'presentation',\n richtext: 'richtext',\n spreadsheet: 'spreadsheet',\n video: 'video',\n};\n\nexport function isAssetType(type: string): type is AssetType {\n return Object.keys(types).includes(type);\n}\n\nexport type AssetType = keyof typeof types;\n"],"names":["Asset","AssetProps","AssetStatus","AssetIcon","AssetIconProps","AssetType","isAssetType","React","Box","Flex","EntityStatus","PickUnion","CommonProps","Text","getAssetStyles","src","status","title","type","_Asset","className","testId","otherProps","ref","Ref","styles","isImage","showPreview","relative","height100","image","titleContainer","displayName","forwardRef","ArchiveIcon","AudioIcon","CodeIllustrationIcon","ImageIcon","MarkupIcon","PdfIcon","PlaintextIcon","RichtextIcon","PresentationIcon","SpreadsheetIcon","VideoIcon","GeneratedIconProps","getAssetIconStyles","Omit","props","root","tokens","display","width","height","fill","gray600","opacity","transition","transitionDurationDefault","transitionEasingDefault","position","bottom","right","left","overflow","alignItems","boxSizing","background","gray900","fontBaseDefault","types","archive","audio","code","markup","pdf","plaintext","presentation","richtext","spreadsheet","video","Object","keys","includes"],"version":3,"file":"main.js.map"}
package/dist/module.js DELETED
@@ -1,177 +0,0 @@
1
- import {cx as $dtSHR$cx, css as $dtSHR$css} from "emotion";
2
- import $dtSHR$react from "react";
3
- import {Box as $dtSHR$Box, Flex as $dtSHR$Flex} from "@contentful/f36-core";
4
- import {Text as $dtSHR$Text} from "@contentful/f36-typography";
5
- import {AudioIcon as $dtSHR$AudioIcon, CodeIllustrationIcon as $dtSHR$CodeIllustrationIcon, ImageIcon as $dtSHR$ImageIcon, MarkupIcon as $dtSHR$MarkupIcon, PdfIcon as $dtSHR$PdfIcon, PlaintextIcon as $dtSHR$PlaintextIcon, PresentationIcon as $dtSHR$PresentationIcon, RichtextIcon as $dtSHR$RichtextIcon, SpreadsheetIcon as $dtSHR$SpreadsheetIcon, VideoIcon as $dtSHR$VideoIcon, ArchiveIcon as $dtSHR$ArchiveIcon} from "@contentful/f36-icons";
6
- import $dtSHR$contentfulf36tokens from "@contentful/f36-tokens";
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- function $6f9c5a7cc9575f3b$export$d4130e73e2e8f9dd() {
18
- return {
19
- root: /*#__PURE__*/ (0, $dtSHR$css)({
20
- display: "inline-block",
21
- width: "39px",
22
- height: "39px",
23
- "g, path": {
24
- fill: (0, $dtSHR$contentfulf36tokens).gray600
25
- }
26
- })
27
- };
28
- }
29
-
30
-
31
- const $294bba6cf7661148$export$de8d5274b07acfbd = ({ type: type = "archive" , className: className , testId: testId = "cf-ui-asset-icon" , ...otherProps })=>{
32
- const styles = (0, $6f9c5a7cc9575f3b$export$d4130e73e2e8f9dd)();
33
- const props = {
34
- ...otherProps,
35
- testId: testId,
36
- className: (0, $dtSHR$cx)(styles.root, className)
37
- };
38
- switch(type){
39
- case "audio":
40
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$AudioIcon), props);
41
- case "code":
42
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$CodeIllustrationIcon), props);
43
- case "image":
44
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$ImageIcon), props);
45
- case "markup":
46
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$MarkupIcon), props);
47
- case "pdf":
48
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$PdfIcon), props);
49
- case "plaintext":
50
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$PlaintextIcon), props);
51
- case "presentation":
52
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$PresentationIcon), props);
53
- case "richtext":
54
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$RichtextIcon), props);
55
- case "spreadsheet":
56
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$SpreadsheetIcon), props);
57
- case "video":
58
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$VideoIcon), props);
59
- case "archive":
60
- default:
61
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$ArchiveIcon), props);
62
- }
63
- };
64
- $294bba6cf7661148$export$de8d5274b07acfbd.displayName = "AssetIcon";
65
-
66
-
67
-
68
-
69
- function $dc8375c31ef26a6b$export$fa02bd03531e2fe() {
70
- return {
71
- relative: /*#__PURE__*/ (0, $dtSHR$css)({
72
- name: "79elbk",
73
- styles: "position:relative;"
74
- }),
75
- height100: /*#__PURE__*/ (0, $dtSHR$css)({
76
- name: "10klw3m",
77
- styles: "height:100%;"
78
- }),
79
- image: /*#__PURE__*/ (0, $dtSHR$css)({
80
- name: "1ylrs5",
81
- styles: "width:auto;max-width:100%;max-height:100%;"
82
- }),
83
- titleContainer: /*#__PURE__*/ (0, $dtSHR$css)({
84
- opacity: 0,
85
- transition: `opacity ${(0, $dtSHR$contentfulf36tokens).transitionDurationDefault} ${(0, $dtSHR$contentfulf36tokens).transitionEasingDefault}`,
86
- position: "absolute",
87
- bottom: 0,
88
- right: 0,
89
- left: 0,
90
- height: "100%",
91
- display: "flex",
92
- overflow: "hidden",
93
- alignItems: "flex-end",
94
- boxSizing: "border-box",
95
- background: `linear-gradient(0deg, ${(0, $dtSHR$contentfulf36tokens).gray900} 0%, transparent calc(1rem * (100 / ${(0, $dtSHR$contentfulf36tokens).fontBaseDefault})), transparent 100% )`,
96
- ":hover": {
97
- opacity: 1
98
- }
99
- }),
100
- title: /*#__PURE__*/ (0, $dtSHR$css)({
101
- name: "4gk4ib",
102
- styles: "bottom:0;left:0;right:0;position:absolute;"
103
- })
104
- };
105
- }
106
-
107
-
108
- function $4a170a6eb7674988$var$_Asset({ className: className , src: src , status: status , testId: testId = "cf-ui-asset" , title: title , type: type = "image" , ...otherProps }, ref) {
109
- const styles = (0, $dc8375c31ef26a6b$export$fa02bd03531e2fe)();
110
- const isImage = src && src !== "" && type === "image"; // Do not show image previews when publish status is archived
111
- const showPreview = isImage && status !== "archived";
112
- return /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Box), {
113
- className: (0, $dtSHR$cx)(styles.relative, className),
114
- testId: testId,
115
- ref: ref,
116
- ...otherProps
117
- }, showPreview ? /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$react).Fragment, null, /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Flex), {
118
- alignItems: "center",
119
- justifyContent: "center",
120
- className: styles.height100
121
- }, /*#__PURE__*/ (0, $dtSHR$react).createElement("img", {
122
- className: styles.image,
123
- src: src,
124
- alt: title
125
- })), title && /*#__PURE__*/ (0, $dtSHR$react).createElement("div", {
126
- className: styles.titleContainer
127
- }, /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Text), {
128
- className: styles.title,
129
- fontColor: "colorWhite",
130
- margin: "spacingS",
131
- isTruncated: true
132
- }, title))) : /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Flex), {
133
- flexDirection: "column",
134
- alignItems: "center",
135
- justifyContent: "center",
136
- paddingLeft: "spacingS",
137
- paddingRight: "spacingS",
138
- className: styles.height100
139
- }, /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Flex), {
140
- marginBottom: "spacingM",
141
- marginTop: "spacingM",
142
- justifyContent: "center"
143
- }, /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $294bba6cf7661148$export$de8d5274b07acfbd), {
144
- type: type
145
- })), /*#__PURE__*/ (0, $dtSHR$react).createElement((0, $dtSHR$Text), {
146
- isTruncated: true,
147
- marginBottom: "spacingM",
148
- fontColor: "gray600"
149
- }, title)));
150
- }
151
- $4a170a6eb7674988$var$_Asset.displayName = "Asset";
152
- const $4a170a6eb7674988$export$c413dd039085b182 = /*#__PURE__*/ (0, $dtSHR$react).forwardRef($4a170a6eb7674988$var$_Asset);
153
-
154
-
155
-
156
- const $c14cae86e9d474fd$export$b14ad400b1d09e0f = {
157
- archive: "archive",
158
- audio: "audio",
159
- code: "code",
160
- image: "image",
161
- markup: "markup",
162
- pdf: "pdf",
163
- plaintext: "plaintext",
164
- presentation: "presentation",
165
- richtext: "richtext",
166
- spreadsheet: "spreadsheet",
167
- video: "video"
168
- };
169
- function $c14cae86e9d474fd$export$3ccaa71e0816392d(type) {
170
- return Object.keys($c14cae86e9d474fd$export$b14ad400b1d09e0f).includes(type);
171
- }
172
-
173
-
174
-
175
-
176
- export {$4a170a6eb7674988$export$c413dd039085b182 as Asset, $294bba6cf7661148$export$de8d5274b07acfbd as AssetIcon, $c14cae86e9d474fd$export$3ccaa71e0816392d as isAssetType};
177
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/components/asset/src/index.ts","packages/components/asset/src/Asset.tsx","packages/components/asset/src/AssetIcon/AssetIcon.tsx","packages/components/asset/src/AssetIcon/AssetIcon.styles.ts","packages/components/asset/src/Asset.styles.ts","packages/components/asset/src/types.ts"],"sourcesContent":["export { Asset } from './Asset';\nexport type { AssetProps, AssetStatus } from './Asset';\nexport { AssetIcon } from './AssetIcon/AssetIcon';\nexport type { AssetIconProps } from './AssetIcon/AssetIcon';\nexport type { AssetType } from './types';\nexport { isAssetType } from './types';\n","import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n Flex,\n type EntityStatus,\n type PickUnion,\n type CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\n\nimport { AssetIcon } from './AssetIcon/AssetIcon';\nimport { getAssetStyles } from './Asset.styles';\nimport type { AssetType } from './types';\n\nexport type AssetStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'deleted' | 'draft' | 'published'\n>;\n\nexport interface AssetProps extends CommonProps {\n /**\n * A `src` attribute to use for image assets\n */\n src?: string;\n /**\n * The publish status of the asset\n */\n status?: AssetStatus;\n /**\n * The title of the asset\n */\n title?: string;\n /**\n * The type of asset being represented\n */\n type?: AssetType;\n}\n\nfunction _Asset(\n {\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n }: AssetProps,\n ref: React.Ref<any>,\n) {\n const styles = getAssetStyles();\n const isImage = src && src !== '' && type === 'image';\n\n // Do not show image previews when publish status is archived\n const showPreview = isImage && status !== 'archived';\n\n return (\n <Box\n className={cx(styles.relative, className)}\n testId={testId}\n ref={ref}\n {...otherProps}\n >\n {showPreview ? (\n <>\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n className={styles.height100}\n >\n <img className={styles.image} src={src} alt={title} />\n </Flex>\n {title && (\n <div className={styles.titleContainer}>\n <Text\n className={styles.title}\n fontColor=\"colorWhite\"\n margin=\"spacingS\"\n isTruncated\n >\n {title}\n </Text>\n </div>\n )}\n </>\n ) : (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingLeft=\"spacingS\"\n paddingRight=\"spacingS\"\n className={styles.height100}\n >\n <Flex\n marginBottom=\"spacingM\"\n marginTop=\"spacingM\"\n justifyContent=\"center\"\n >\n <AssetIcon type={type} />\n </Flex>\n <Text isTruncated marginBottom=\"spacingM\" fontColor=\"gray600\">\n {title}\n </Text>\n </Flex>\n )}\n </Box>\n );\n}\n\n_Asset.displayName = 'Asset';\n\nexport const Asset = React.forwardRef(_Asset);\n","import React from 'react';\nimport {\n ArchiveIcon,\n AudioIcon,\n CodeIllustrationIcon,\n ImageIcon,\n MarkupIcon,\n PdfIcon,\n PlaintextIcon,\n RichtextIcon,\n PresentationIcon,\n SpreadsheetIcon,\n VideoIcon,\n} from '@contentful/f36-icons';\nimport type { GeneratedIconProps } from '@contentful/f36-icon';\nimport type { AssetType } from '../types';\n\nimport { cx } from 'emotion';\nimport { getAssetIconStyles } from './AssetIcon.styles';\n\nexport interface AssetIconProps\n extends Omit<GeneratedIconProps, 'illustration' | 'ref'> {\n type?: AssetType;\n}\n\n/**\n * Renders only the Illustration that would represent this asset's type\n */\nexport const AssetIcon = ({\n type = 'archive',\n className,\n testId = 'cf-ui-asset-icon',\n ...otherProps\n}: AssetIconProps) => {\n const styles = getAssetIconStyles();\n const props = {\n ...otherProps,\n testId,\n className: cx(styles.root, className),\n };\n\n switch (type) {\n case 'audio':\n return <AudioIcon {...props} />;\n case 'code':\n return <CodeIllustrationIcon {...props} />;\n case 'image':\n return <ImageIcon {...props} />;\n case 'markup':\n return <MarkupIcon {...props} />;\n case 'pdf':\n return <PdfIcon {...props} />;\n case 'plaintext':\n return <PlaintextIcon {...props} />;\n case 'presentation':\n return <PresentationIcon {...props} />;\n case 'richtext':\n return <RichtextIcon {...props} />;\n case 'spreadsheet':\n return <SpreadsheetIcon {...props} />;\n case 'video':\n return <VideoIcon {...props} />;\n case 'archive':\n default:\n return <ArchiveIcon {...props} />;\n }\n};\n\nAssetIcon.displayName = 'AssetIcon';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetIconStyles() {\n return {\n root: css({\n display: 'inline-block',\n width: '39px',\n height: '39px',\n 'g, path': {\n fill: tokens.gray600,\n },\n }),\n };\n}\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport function getAssetStyles() {\n return {\n relative: css({\n position: 'relative',\n }),\n height100: css({\n height: '100%',\n }),\n image: css({\n width: 'auto',\n maxWidth: '100%',\n maxHeight: '100%',\n }),\n titleContainer: css({\n opacity: 0,\n transition: `opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: 0,\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'flex-end',\n boxSizing: 'border-box',\n background: `linear-gradient(0deg, ${tokens.gray900} 0%, transparent calc(1rem * (100 / ${tokens.fontBaseDefault})), transparent 100% )`,\n ':hover': { opacity: 1 },\n }),\n title: css({\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n }),\n };\n}\n","export const types = {\n archive: 'archive',\n audio: 'audio',\n code: 'code',\n image: 'image',\n markup: 'markup',\n pdf: 'pdf',\n plaintext: 'plaintext',\n presentation: 'presentation',\n richtext: 'richtext',\n spreadsheet: 'spreadsheet',\n video: 'video',\n};\n\nexport function isAssetType(type: string): type is AssetType {\n return Object.keys(types).includes(type);\n}\n\nexport type AssetType = keyof typeof types;\n"],"names":["Asset","AssetProps","AssetStatus","AssetIcon","AssetIconProps","AssetType","isAssetType","React","Box","Flex","EntityStatus","PickUnion","CommonProps","Text","getAssetStyles","src","status","title","type","_Asset","className","testId","otherProps","ref","Ref","styles","isImage","showPreview","relative","height100","image","titleContainer","displayName","forwardRef","ArchiveIcon","AudioIcon","CodeIllustrationIcon","ImageIcon","MarkupIcon","PdfIcon","PlaintextIcon","RichtextIcon","PresentationIcon","SpreadsheetIcon","VideoIcon","GeneratedIconProps","getAssetIconStyles","Omit","props","root","tokens","display","width","height","fill","gray600","opacity","transition","transitionDurationDefault","transitionEasingDefault","position","bottom","right","left","overflow","alignItems","boxSizing","background","gray900","fontBaseDefault","types","archive","audio","code","markup","pdf","plaintext","presentation","richtext","spreadsheet","video","Object","keys","includes"],"version":3,"file":"module.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":";;;AAAA,QAAO,MAAM;;;;;;;;;;;;CAYZ,CAAC;AAEF,4BAA4B,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAE3D;AAED,wBAAwB,MAAM,YAAY,CAAC;AEE3C,+BACE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,KAAK,CAAC;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;GAEG;AACH,OAAO,MAAM;iDAKV,cAAc;;CAiChB,CAAC;AEnDF,0BAA0B,UACxB,YAAY,EACZ,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAC3D,CAAC;AAEF,2BAA4B,SAAQ,WAAW;IAC7C;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA4ED,OAAO,MAAM,6EAAgC,CAAC","sources":["packages/components/asset/src/src/types.ts","packages/components/asset/src/src/AssetIcon/AssetIcon.styles.ts","packages/components/asset/src/src/AssetIcon/AssetIcon.tsx","packages/components/asset/src/src/Asset.styles.ts","packages/components/asset/src/src/Asset.tsx","packages/components/asset/src/src/index.ts","packages/components/asset/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,"export { Asset } from './Asset';\nexport type { AssetProps, AssetStatus } from './Asset';\nexport { AssetIcon } from './AssetIcon/AssetIcon';\nexport type { AssetIconProps } from './AssetIcon/AssetIcon';\nexport type { AssetType } from './types';\nexport { isAssetType } from './types';\n"],"names":[],"version":3,"file":"types.d.ts.map"}