@contentful/f36-asset 4.1.4 → 4.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.mdx +1 -1
- package/dist/main.js +5 -1
- package/dist/main.js.map +1 -1
- package/dist/module.js +5 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.1.7](https://github.com/contentful/forma-36/compare/@contentful/f36-asset@4.1.6...@contentful/f36-asset@4.1.7) (2022-03-09)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @contentful/f36-asset
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [4.1.6](https://github.com/contentful/forma-36/compare/@contentful/f36-asset@4.1.5...@contentful/f36-asset@4.1.6) (2022-03-03)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* migrate links from master to main ([#1923](https://github.com/contentful/forma-36/issues/1923)) ([607301d](https://github.com/contentful/forma-36/commit/607301d57a2e83190d2aa298120ddb8493e8c429))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [4.1.5](https://github.com/contentful/forma-36/compare/@contentful/f36-asset@4.1.4...@contentful/f36-asset@4.1.5) (2022-02-22)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @contentful/f36-asset
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [4.1.4](https://github.com/contentful/forma-36/compare/@contentful/f36-asset@4.1.3...@contentful/f36-asset@4.1.4) (2022-02-17)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @contentful/f36-asset
|
package/README.mdx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 'Asset'
|
|
3
3
|
slug: /components/asset/
|
|
4
|
-
github: 'https://github.com/contentful/forma-36/tree/
|
|
4
|
+
github: 'https://github.com/contentful/forma-36/tree/main/packages/components/asset'
|
|
5
5
|
storybook: 'https://v4-f36-storybook.netlify.app/?path=/story/components-asset--basic'
|
|
6
6
|
typescript: ./src/Asset.tsx
|
|
7
7
|
---
|
package/dist/main.js
CHANGED
|
@@ -71,6 +71,7 @@ function $bdfac71418b2e6eb$export$de8d5274b07acfbd({ type: type = 'archive' , cl
|
|
|
71
71
|
return(/*#__PURE__*/ ($parcel$interopDefault($goRX5$react)).createElement($goRX5$contentfulf36icons.ArchiveIcon, props));
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
$bdfac71418b2e6eb$export$de8d5274b07acfbd.displayName = 'AssetIcon';
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
|
|
@@ -114,13 +115,14 @@ function $757deda98165af5b$export$fa02bd03531e2fe() {
|
|
|
114
115
|
}
|
|
115
116
|
|
|
116
117
|
|
|
117
|
-
function $ee511d6a9591eb62$
|
|
118
|
+
function $ee511d6a9591eb62$var$_Asset({ className: className , src: src , status: status , testId: testId = 'cf-ui-asset' , title: title , type: type = 'image' , ...otherProps }, ref) {
|
|
118
119
|
const styles = $757deda98165af5b$export$fa02bd03531e2fe();
|
|
119
120
|
const isImage = src && src !== '' && type === 'image'; // Do not show image previews when publish status is archived
|
|
120
121
|
const showPreview = isImage && status !== 'archived';
|
|
121
122
|
return(/*#__PURE__*/ ($parcel$interopDefault($goRX5$react)).createElement($goRX5$contentfulf36core.Box, {
|
|
122
123
|
className: $goRX5$emotion.cx(styles.relative, className),
|
|
123
124
|
testId: testId,
|
|
125
|
+
ref: ref,
|
|
124
126
|
...otherProps
|
|
125
127
|
}, showPreview ? /*#__PURE__*/ ($parcel$interopDefault($goRX5$react)).createElement(($parcel$interopDefault($goRX5$react)).Fragment, null, /*#__PURE__*/ ($parcel$interopDefault($goRX5$react)).createElement($goRX5$contentfulf36core.Flex, {
|
|
126
128
|
alignItems: "center",
|
|
@@ -156,6 +158,8 @@ function $ee511d6a9591eb62$export$c413dd039085b182({ className: className , src:
|
|
|
156
158
|
fontColor: "gray600"
|
|
157
159
|
}, title))));
|
|
158
160
|
}
|
|
161
|
+
$ee511d6a9591eb62$var$_Asset.displayName = 'Asset';
|
|
162
|
+
const $ee511d6a9591eb62$export$c413dd039085b182 = /*#__PURE__*/ ($parcel$interopDefault($goRX5$react)).forwardRef($ee511d6a9591eb62$var$_Asset);
|
|
159
163
|
|
|
160
164
|
|
|
161
165
|
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 type {\n EntityStatus,\n PickUnion,\n CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { Box, Flex } from '@contentful/f36-core';\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\nexport function Asset({\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n}: AssetProps) {\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 {...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","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 function 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","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","EntityStatus","PickUnion","CommonProps","Text","Box","Flex","getAssetStyles","src","status","title","type","className","testId","otherProps","styles","isImage","showPreview","relative","height100","image","titleContainer","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"}
|
|
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 type {\n EntityStatus,\n PickUnion,\n CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { Box, Flex } from '@contentful/f36-core';\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 function 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","EntityStatus","PickUnion","CommonProps","Text","Box","Flex","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
CHANGED
|
@@ -61,6 +61,7 @@ function $294bba6cf7661148$export$de8d5274b07acfbd({ type: type = 'archive' , cl
|
|
|
61
61
|
return(/*#__PURE__*/ $dtSHR$react.createElement($dtSHR$ArchiveIcon, props));
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
+
$294bba6cf7661148$export$de8d5274b07acfbd.displayName = 'AssetIcon';
|
|
64
65
|
|
|
65
66
|
|
|
66
67
|
|
|
@@ -104,13 +105,14 @@ function $dc8375c31ef26a6b$export$fa02bd03531e2fe() {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
|
|
107
|
-
function $4a170a6eb7674988$
|
|
108
|
+
function $4a170a6eb7674988$var$_Asset({ className: className , src: src , status: status , testId: testId = 'cf-ui-asset' , title: title , type: type = 'image' , ...otherProps }, ref) {
|
|
108
109
|
const styles = $dc8375c31ef26a6b$export$fa02bd03531e2fe();
|
|
109
110
|
const isImage = src && src !== '' && type === 'image'; // Do not show image previews when publish status is archived
|
|
110
111
|
const showPreview = isImage && status !== 'archived';
|
|
111
112
|
return(/*#__PURE__*/ $dtSHR$react.createElement($dtSHR$Box, {
|
|
112
113
|
className: $dtSHR$cx(styles.relative, className),
|
|
113
114
|
testId: testId,
|
|
115
|
+
ref: ref,
|
|
114
116
|
...otherProps
|
|
115
117
|
}, showPreview ? /*#__PURE__*/ $dtSHR$react.createElement($dtSHR$react.Fragment, null, /*#__PURE__*/ $dtSHR$react.createElement($dtSHR$Flex, {
|
|
116
118
|
alignItems: "center",
|
|
@@ -146,6 +148,8 @@ function $4a170a6eb7674988$export$c413dd039085b182({ className: className , src:
|
|
|
146
148
|
fontColor: "gray600"
|
|
147
149
|
}, title))));
|
|
148
150
|
}
|
|
151
|
+
$4a170a6eb7674988$var$_Asset.displayName = 'Asset';
|
|
152
|
+
const $4a170a6eb7674988$export$c413dd039085b182 = /*#__PURE__*/ $dtSHR$react.forwardRef($4a170a6eb7674988$var$_Asset);
|
|
149
153
|
|
|
150
154
|
|
|
151
155
|
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 type {\n EntityStatus,\n PickUnion,\n CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { Box, Flex } from '@contentful/f36-core';\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\nexport function Asset({\n className,\n src,\n status,\n testId = 'cf-ui-asset',\n title,\n type = 'image',\n ...otherProps\n}: AssetProps) {\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 {...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","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 function 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","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","EntityStatus","PickUnion","CommonProps","Text","Box","Flex","getAssetStyles","src","status","title","type","className","testId","otherProps","styles","isImage","showPreview","relative","height100","image","titleContainer","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
|
+
{"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 type {\n EntityStatus,\n PickUnion,\n CommonProps,\n} from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { Box, Flex } from '@contentful/f36-core';\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 function 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","EntityStatus","PickUnion","CommonProps","Text","Box","Flex","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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GeneratedIconProps } from "@contentful/f36-icon";
|
|
2
|
+
import React from "react";
|
|
2
3
|
import { EntityStatus, PickUnion, CommonProps } from "@contentful/f36-core";
|
|
3
4
|
declare const types: {
|
|
4
5
|
archive: string;
|
|
@@ -41,6 +42,6 @@ export interface AssetProps extends CommonProps {
|
|
|
41
42
|
*/
|
|
42
43
|
type?: AssetType;
|
|
43
44
|
}
|
|
44
|
-
export
|
|
45
|
+
export const Asset: React.ForwardRefExoticComponent<AssetProps & React.RefAttributes<any>>;
|
|
45
46
|
|
|
46
47
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
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,0BAA0B,EACxB,IAAgB,EAChB,SAAS,EACT,MAA2B,EAC3B,GAAG,UAAU,EACd,EAAE,cAAc,eAiChB;AEpDD,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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/f36-asset",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.7",
|
|
4
4
|
"description": "Forma 36: Asset component",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "parcel build"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@babel/runtime": "^7.6.2",
|
|
10
|
-
"@contentful/f36-core": "^4.2.
|
|
11
|
-
"@contentful/f36-icon": "^4.1.
|
|
12
|
-
"@contentful/f36-icons": "^4.1.
|
|
13
|
-
"@contentful/f36-tokens": "^4.0.
|
|
14
|
-
"@contentful/f36-typography": "^4.
|
|
10
|
+
"@contentful/f36-core": "^4.2.2",
|
|
11
|
+
"@contentful/f36-icon": "^4.1.4",
|
|
12
|
+
"@contentful/f36-icons": "^4.1.3",
|
|
13
|
+
"@contentful/f36-tokens": "^4.0.1",
|
|
14
|
+
"@contentful/f36-typography": "^4.2.2",
|
|
15
15
|
"emotion": "^10.0.17"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "1c16ce60b94a22c2e232d77b040009061cbfa4be"
|
|
38
38
|
}
|