@contentful/f36-entity-list 4.17.0 → 4.19.1
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 +47 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/{types.d.ts → index.d.ts} +14 -11
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/package.json +14 -14
- package/dist/main.js +0 -233
- package/dist/main.js.map +0 -1
- package/dist/module.js +0 -225
- package/dist/module.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 4.19.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2209](https://github.com/contentful/forma-36/pull/2209) [`42f0c321`](https://github.com/contentful/forma-36/commit/42f0c3218965137191842f492fe5dbf4bd10784c) Thanks [@denkristoffer](https://github.com/denkristoffer)! - build: build ESM to JS file - legacy output
|
|
8
|
+
fix(notification): use type imports
|
|
9
|
+
- Updated dependencies [[`42f0c321`](https://github.com/contentful/forma-36/commit/42f0c3218965137191842f492fe5dbf4bd10784c)]:
|
|
10
|
+
- @contentful/f36-badge@4.19.1
|
|
11
|
+
- @contentful/f36-button@4.19.1
|
|
12
|
+
- @contentful/f36-drag-handle@4.19.1
|
|
13
|
+
- @contentful/f36-icon@4.19.1
|
|
14
|
+
- @contentful/f36-icons@4.19.1
|
|
15
|
+
- @contentful/f36-menu@4.19.1
|
|
16
|
+
- @contentful/f36-skeleton@4.19.1
|
|
17
|
+
- @contentful/f36-typography@4.19.1
|
|
18
|
+
- @contentful/f36-core@4.19.1
|
|
19
|
+
|
|
20
|
+
## 4.19.0
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies []:
|
|
25
|
+
- @contentful/f36-badge@4.19.0
|
|
26
|
+
- @contentful/f36-button@4.19.0
|
|
27
|
+
- @contentful/f36-drag-handle@4.19.0
|
|
28
|
+
- @contentful/f36-icon@4.19.0
|
|
29
|
+
- @contentful/f36-icons@4.19.0
|
|
30
|
+
- @contentful/f36-menu@4.19.0
|
|
31
|
+
- @contentful/f36-skeleton@4.19.0
|
|
32
|
+
- @contentful/f36-typography@4.19.0
|
|
33
|
+
- @contentful/f36-core@4.19.0
|
|
34
|
+
|
|
35
|
+
## 4.18.0
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies []:
|
|
40
|
+
- @contentful/f36-badge@4.18.0
|
|
41
|
+
- @contentful/f36-button@4.18.0
|
|
42
|
+
- @contentful/f36-drag-handle@4.18.0
|
|
43
|
+
- @contentful/f36-icon@4.18.0
|
|
44
|
+
- @contentful/f36-icons@4.18.0
|
|
45
|
+
- @contentful/f36-menu@4.18.0
|
|
46
|
+
- @contentful/f36-skeleton@4.18.0
|
|
47
|
+
- @contentful/f36-typography@4.18.0
|
|
48
|
+
- @contentful/f36-core@4.18.0
|
|
49
|
+
|
|
3
50
|
## 4.17.0
|
|
4
51
|
|
|
5
52
|
### Patch Changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import t from 'react';
|
|
2
|
+
import { cx, css } from 'emotion';
|
|
3
|
+
import e from '@contentful/f36-tokens';
|
|
4
|
+
import { EntityStatusBadge } from '@contentful/f36-badge';
|
|
5
|
+
import { Flex, Box } from '@contentful/f36-core';
|
|
6
|
+
import { MoreHorizontalIcon, AssetIcon, EntryIcon, ReleaseIcon } from '@contentful/f36-icons';
|
|
7
|
+
import { Icon } from '@contentful/f36-icon';
|
|
8
|
+
import { Text } from '@contentful/f36-typography';
|
|
9
|
+
import { DragHandle } from '@contentful/f36-drag-handle';
|
|
10
|
+
import { Button } from '@contentful/f36-button';
|
|
11
|
+
import { Menu } from '@contentful/f36-menu';
|
|
12
|
+
import { Skeleton } from '@contentful/f36-skeleton';
|
|
13
|
+
|
|
14
|
+
var I=()=>({root:css({display:"block",listStyle:"none",margin:0,padding:0,border:`1px solid ${e.gray200}`,borderBottom:"none",borderRadius:e.borderRadiusMedium,overflow:"hidden"})});function H(o,a){let l=I();return t.createElement("ul",{"data-test-id":o.testId||"cf-ui-entity-list",ref:a,className:cx(l.root,o.className),style:o.style},o.children)}H.displayName="EntityList";var T=t.forwardRef(H);var S=()=>({root:o=>css({display:"flex",boxShadow:`inset 0 -1px 0 ${e.gray200}`,position:"relative",transition:`${e.transitionDurationShort} ${e.transitionEasingDefault}`,transitionProperty:"box-shadow, background-color",backgroundColor:e.colorWhite,...o.isDragActive?{boxShadow:e.boxShadowHeavy}:{},"&:hover":{backgroundColor:e.gray100}}),card:css({display:"flex",textDecoration:"none",width:"100%",minHeight:e.spacing3Xl,padding:e.spacingXs,border:"none",background:"none",textAlign:"left"}),content:css({flexGrow:1,minWidth:0}),media:css({display:"flex",flexShrink:0,alignItems:"center",justifyContent:"center",backgroundColor:e.gray200,width:e.spacing2Xl,height:e.spacing2Xl,margin:"0",marginRight:e.spacingXs}),thumbnail:css({display:"block",width:"100%",height:"100%",objectFit:"cover"}),contentType:css({marginLeft:e.spacingXs}),description:css({marginTop:e.spacing2Xs}),meta:css({marginLeft:"auto",flexShrink:0}),dragHandle:css({borderBottomLeftRadius:"0",borderTopLeftRadius:"0",boxShadow:`inset 0 -1px 0 ${e.gray200}`}),menuTrigger:css({padding:"0 0.125rem",minHeight:"1.5rem"})});var Y={asset:AssetIcon,entry:EntryIcon,release:ReleaseIcon},s=({className:o,testId:a="cf-ui-entity-list-item",title:l,description:f,contentType:u,entityType:N="entry",withThumbnail:v=!0,thumbnailUrl:h,thumbnailAltText:w,status:m,actions:d,withDragHandle:D,isDragActive:E,isLoading:A,onClick:x,href:r,cardDragHandleProps:M,cardDragHandleComponent:L,isActionsDisabled:X=!1,...B})=>{let i=S(),$=()=>{if(L)return L;if(D)return t.createElement(DragHandle,{className:i.dragHandle,isActive:E,label:"Reorder entry",...M})},p="article";(r||x)&&(p=r?"a":"button");let F=m==="archived"||!h;return t.createElement("li",{...B,className:cx(i.root({isDragActive:E}),o),"data-test-id":a},$(),A?t.createElement("article",{className:i.card},t.createElement(Skeleton.Container,{clipId:"f36-entity-list-item-skeleton"},t.createElement(Skeleton.Image,{height:46,width:46}),t.createElement(Skeleton.BodyText,{numberOfLines:2,lineHeight:18,offsetLeft:54}))):t.createElement(p,{className:i.card,onClick:x,href:r,type:p==="button"?"button":void 0,target:r?"_blank":void 0},v&&t.createElement("figure",{className:i.media},F?t.createElement(Icon,{as:Y[N.toLowerCase()],variant:"muted"}):t.createElement("img",{src:h,className:i.thumbnail,alt:w})),t.createElement("div",{className:i.content},t.createElement(Flex,null,t.createElement(Text,{as:"h3",lineHeight:"lineHeightM",fontColor:"gray900",fontWeight:"fontWeightDemiBold",isTruncated:!0},l),u&&t.createElement(Text,{as:"span",lineHeight:"lineHeightM",fontColor:"gray600",className:i.contentType,isTruncated:!0},"(",u,")")),f&&t.createElement(Text,{as:"p",lineHeight:"lineHeightM",fontColor:"gray900",isTruncated:!0,className:i.description},f)),t.createElement(Flex,{className:i.meta,alignItems:"flex-start",paddingLeft:"spacingXs"},m&&t.createElement(Box,{marginRight:d?"spacingXs":"none"},t.createElement(EntityStatusBadge,{entityStatus:m})),d&&t.createElement(Menu,null,t.createElement(Menu.Trigger,null,t.createElement(Button,{isDisabled:X,startIcon:t.createElement(MoreHorizontalIcon,null),variant:"transparent","aria-label":"Actions",size:"small",className:i.menuTrigger})),t.createElement(Menu.List,null,d)))))};s.displayName="EntityListItem";var C=T;C.Item=s;
|
|
15
|
+
|
|
16
|
+
export { C as EntityList, s as EntityListItem };
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EntityList.tsx","../../src/EntityList.styles.ts","../../src/EntityListItem/EntityListItem.tsx","../../src/EntityListItem/EntityListItem.styles.ts","../../src/CompoundEntityList.tsx"],"names":["React","cx","css","tokens","getEntityListStyles","_EntityList","props","ref","styles","EntityList","EntityStatusBadge","Flex","Box","AssetIcon","EntryIcon","ReleaseIcon","MoreHorizontalIcon","Icon","Text","DragHandle","Button","Menu","Skeleton","getEntityListItemStyles","ICON_MAP","EntityListItem","className","testId","title","description","contentType","entityType","withThumbnail","thumbnailUrl","thumbnailAltText","status","actions","withDragHandle","isDragActive","isLoading","onClick","href","cardDragHandleProps","cardDragHandleComponent","isActionsDisabled","otherProps","renderCardDragHandle","Element","asIcon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\n\nimport { getEntityListStyles } from './EntityList.styles';\n\nexport interface EntityListProps extends CommonProps {\n children?: React.ReactNode;\n}\n\nfunction _EntityList(\n props: ExpandProps<EntityListProps>,\n ref: React.Ref<HTMLUListElement>,\n) {\n const styles = getEntityListStyles();\n\n return (\n <ul\n data-test-id={props.testId || 'cf-ui-entity-list'}\n ref={ref}\n className={cx(styles.root, props.className)}\n style={props.style}\n >\n {props.children}\n </ul>\n );\n}\n\n_EntityList.displayName = 'EntityList';\n\nexport const EntityList = React.forwardRef(_EntityList);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getEntityListStyles = () => ({\n root: css({\n display: 'block',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n border: `1px solid ${tokens.gray200}`,\n borderBottom: 'none',\n borderRadius: tokens.borderRadiusMedium,\n overflow: 'hidden',\n }),\n});\n","import React, { type MouseEventHandler } from 'react';\nimport { cx } from 'emotion';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Flex,\n Box,\n type CommonProps,\n type EntityStatus,\n type PickUnion,\n} from '@contentful/f36-core';\nimport {\n AssetIcon,\n EntryIcon,\n ReleaseIcon,\n MoreHorizontalIcon,\n} from '@contentful/f36-icons';\nimport { Icon } from '@contentful/f36-icon';\nimport { Text } from '@contentful/f36-typography';\nimport { DragHandle, type DragHandleProps } from '@contentful/f36-drag-handle';\nimport { Button } from '@contentful/f36-button';\nimport { Menu } from '@contentful/f36-menu';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getEntityListItemStyles } from './EntityListItem.styles';\n\ntype EntityListItemStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'draft' | 'published'\n>;\n\nconst ICON_MAP = {\n asset: AssetIcon,\n entry: EntryIcon,\n release: ReleaseIcon,\n};\n\nexport interface EntityListItemProps extends CommonProps {\n /**\n * The title of the entity\n */\n title: string;\n /**\n * The description of the entity\n */\n description?: string;\n /**\n * The content type of the entity\n */\n contentType?: string;\n /**\n * The publish status of the entry\n */\n status?: EntityListItemStatus;\n /**\n * A boolean used to render the Thumbnail or not\n */\n withThumbnail?: boolean;\n /**\n * The URL of the entity's preview thumbnail. Use 46px x 46px images for best results\n */\n thumbnailUrl?: string;\n /**\n * The alt text for the thumbnail\n */\n thumbnailAltText?: string;\n /**\n * Menu elements rendered as actions in Menu\n */\n actions?: React.ReactNodeArray;\n /**\n * Renders a drag handle for the component for use in drag and drop contexts\n */\n withDragHandle?: boolean;\n /**\n * Applies styling for when the component is actively being dragged by the user\n */\n isDragActive?: boolean;\n /**\n * Prop to pass a custom CardDragHandle component to for use in drag and drop contexts\n */\n cardDragHandleComponent?: React.ReactNode;\n /**\n * Props to pass down to the default CardDragHandle component (does not work with cardDragHandleComponent prop)\n */\n cardDragHandleProps?: Partial<DragHandleProps>;\n /**\n * An entity can either be an Entry, an Asset or a Release. This prop will apply styling based on if the entity is an asset, a release or an entry\n *\n * Note: 'entry' and 'asset' are @deprecated but supported in v1.x for backwards compatibility\n */\n entityType?: 'Entry' | 'Asset' | 'entry' | 'asset' | 'Release';\n /**\n * Loading state for the component - when true will display loading feedback to the user\n */\n isLoading?: boolean;\n /**\n * The action to be performed on click of the EntryCard\n */\n onClick?: MouseEventHandler;\n /**\n * The href for the component. Will render the card as an `a` element for native browser link handling\n */\n href?: string;\n /**\n * A boolean used to disable the CardActions\n */\n isActionsDisabled?: boolean;\n}\n\nexport const EntityListItem = ({\n className,\n testId = 'cf-ui-entity-list-item',\n title,\n description,\n contentType,\n entityType = 'entry',\n withThumbnail = true,\n thumbnailUrl,\n thumbnailAltText,\n status,\n actions,\n withDragHandle,\n isDragActive,\n isLoading,\n onClick,\n href,\n cardDragHandleProps,\n cardDragHandleComponent,\n isActionsDisabled = false,\n ...otherProps\n}: EntityListItemProps): React.ReactElement => {\n const styles = getEntityListItemStyles();\n\n const renderCardDragHandle = () => {\n if (cardDragHandleComponent) {\n return cardDragHandleComponent;\n } else if (withDragHandle) {\n return (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragActive}\n label=\"Reorder entry\"\n {...cardDragHandleProps}\n />\n );\n }\n };\n\n let Element: React.ElementType = 'article';\n if (href || onClick) {\n Element = href ? 'a' : 'button';\n }\n\n // archived assets will not be available on the CDN, resulting in a broken image src\n const isArchived = status === 'archived';\n const asIcon = isArchived || !thumbnailUrl;\n\n return (\n <li\n {...otherProps}\n className={cx(styles.root({ isDragActive }), className)}\n data-test-id={testId}\n >\n {renderCardDragHandle()}\n {isLoading ? (\n <article className={styles.card}>\n <Skeleton.Container clipId=\"f36-entity-list-item-skeleton\">\n <Skeleton.Image height={46} width={46} />\n <Skeleton.BodyText\n numberOfLines={2}\n lineHeight={18}\n offsetLeft={54}\n />\n </Skeleton.Container>\n </article>\n ) : (\n <Element\n className={styles.card}\n onClick={onClick}\n href={href}\n type={Element === 'button' ? 'button' : undefined}\n target={href ? '_blank' : undefined}\n >\n {withThumbnail && (\n <figure className={styles.media}>\n {asIcon ? (\n <Icon as={ICON_MAP[entityType.toLowerCase()]} variant=\"muted\" />\n ) : (\n <img\n src={thumbnailUrl}\n className={styles.thumbnail}\n alt={thumbnailAltText}\n />\n )}\n </figure>\n )}\n\n <div className={styles.content}>\n <Flex>\n <Text\n as=\"h3\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n fontWeight=\"fontWeightDemiBold\"\n isTruncated\n >\n {title}\n </Text>\n\n {contentType && (\n <Text\n as=\"span\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray600\"\n className={styles.contentType}\n isTruncated\n >\n ({contentType})\n </Text>\n )}\n </Flex>\n {description && (\n <Text\n as=\"p\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n isTruncated\n className={styles.description}\n >\n {description}\n </Text>\n )}\n </div>\n\n <Flex\n className={styles.meta}\n alignItems=\"flex-start\"\n paddingLeft=\"spacingXs\"\n >\n {status && (\n <Box marginRight={actions ? 'spacingXs' : 'none'}>\n <EntityStatusBadge entityStatus={status} />\n </Box>\n )}\n\n {actions && (\n <Menu>\n <Menu.Trigger>\n <Button\n isDisabled={isActionsDisabled}\n startIcon={<MoreHorizontalIcon />}\n variant=\"transparent\"\n aria-label=\"Actions\"\n size=\"small\"\n className={styles.menuTrigger}\n />\n </Menu.Trigger>\n <Menu.List>{actions}</Menu.List>\n </Menu>\n )}\n </Flex>\n </Element>\n )}\n </li>\n );\n};\n\nEntityListItem.displayName = 'EntityListItem';\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { EntityListItemProps } from './EntityListItem';\n\nexport const getEntityListItemStyles = () => ({\n root: (props: Pick<EntityListItemProps, 'isDragActive'>) =>\n css({\n display: 'flex',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n position: 'relative',\n transition: `${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n transitionProperty: 'box-shadow, background-color',\n backgroundColor: tokens.colorWhite,\n ...(props.isDragActive\n ? {\n boxShadow: tokens.boxShadowHeavy,\n }\n : {}),\n\n '&:hover': {\n backgroundColor: tokens.gray100,\n },\n }),\n card: css({\n display: 'flex',\n textDecoration: 'none',\n width: '100%',\n minHeight: tokens.spacing3Xl,\n padding: tokens.spacingXs,\n border: 'none',\n background: 'none',\n textAlign: 'left',\n }),\n content: css({\n flexGrow: 1,\n minWidth: 0,\n }),\n media: css({\n display: 'flex',\n flexShrink: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: tokens.gray200,\n width: tokens.spacing2Xl,\n height: tokens.spacing2Xl,\n margin: '0',\n marginRight: tokens.spacingXs,\n }),\n thumbnail: css({\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n contentType: css({\n marginLeft: tokens.spacingXs,\n }),\n description: css({\n marginTop: tokens.spacing2Xs,\n }),\n meta: css({\n marginLeft: 'auto',\n flexShrink: 0,\n }),\n dragHandle: css({\n borderBottomLeftRadius: '0',\n borderTopLeftRadius: '0',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n }),\n menuTrigger: css({\n padding: '0 0.125rem',\n minHeight: '1.5rem',\n }),\n});\n","import { EntityList as OriginalEntityList } from './EntityList';\nimport { EntityListItem } from './EntityListItem/EntityListItem';\n\ntype CompoundEntityList = typeof OriginalEntityList & {\n Item: typeof EntityListItem;\n};\n\nexport const EntityList = OriginalEntityList as CompoundEntityList;\nEntityList.Item = EntityListItem;\n"]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import React, { MouseEventHandler } from
|
|
2
|
-
import { CommonProps,
|
|
3
|
-
import { DragHandleProps } from
|
|
4
|
-
|
|
1
|
+
import React, { MouseEventHandler } from 'react';
|
|
2
|
+
import { CommonProps, PickUnion, EntityStatus } from '@contentful/f36-core';
|
|
3
|
+
import { DragHandleProps } from '@contentful/f36-drag-handle';
|
|
4
|
+
|
|
5
|
+
interface EntityListProps extends CommonProps {
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
}
|
|
7
|
-
declare const
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
declare const EntityList$1: React.ForwardRefExoticComponent<EntityListProps & React.RefAttributes<HTMLUListElement>>;
|
|
9
|
+
|
|
10
|
+
declare type EntityListItemStatus = PickUnion<EntityStatus, 'archived' | 'changed' | 'draft' | 'published'>;
|
|
11
|
+
interface EntityListItemProps extends CommonProps {
|
|
10
12
|
/**
|
|
11
13
|
* The title of the entity
|
|
12
14
|
*/
|
|
@@ -78,13 +80,14 @@ export interface EntityListItemProps extends CommonProps {
|
|
|
78
80
|
*/
|
|
79
81
|
isActionsDisabled?: boolean;
|
|
80
82
|
}
|
|
81
|
-
|
|
83
|
+
declare const EntityListItem: {
|
|
82
84
|
({ className, testId, title, description, contentType, entityType, withThumbnail, thumbnailUrl, thumbnailAltText, status, actions, withDragHandle, isDragActive, isLoading, onClick, href, cardDragHandleProps, cardDragHandleComponent, isActionsDisabled, ...otherProps }: EntityListItemProps): React.ReactElement;
|
|
83
85
|
displayName: string;
|
|
84
86
|
};
|
|
85
|
-
|
|
87
|
+
|
|
88
|
+
declare type CompoundEntityList = typeof EntityList$1 & {
|
|
86
89
|
Item: typeof EntityListItem;
|
|
87
90
|
};
|
|
88
|
-
|
|
91
|
+
declare const EntityList: CompoundEntityList;
|
|
89
92
|
|
|
90
|
-
|
|
93
|
+
export { EntityList, EntityListItem, EntityListItemProps, EntityListProps };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var t = require('react');
|
|
6
|
+
var emotion = require('emotion');
|
|
7
|
+
var e = require('@contentful/f36-tokens');
|
|
8
|
+
var f36Badge = require('@contentful/f36-badge');
|
|
9
|
+
var f36Core = require('@contentful/f36-core');
|
|
10
|
+
var f36Icons = require('@contentful/f36-icons');
|
|
11
|
+
var f36Icon = require('@contentful/f36-icon');
|
|
12
|
+
var f36Typography = require('@contentful/f36-typography');
|
|
13
|
+
var f36DragHandle = require('@contentful/f36-drag-handle');
|
|
14
|
+
var f36Button = require('@contentful/f36-button');
|
|
15
|
+
var f36Menu = require('@contentful/f36-menu');
|
|
16
|
+
var f36Skeleton = require('@contentful/f36-skeleton');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var t__default = /*#__PURE__*/_interopDefaultLegacy(t);
|
|
21
|
+
var e__default = /*#__PURE__*/_interopDefaultLegacy(e);
|
|
22
|
+
|
|
23
|
+
var I=()=>({root:emotion.css({display:"block",listStyle:"none",margin:0,padding:0,border:`1px solid ${e__default["default"].gray200}`,borderBottom:"none",borderRadius:e__default["default"].borderRadiusMedium,overflow:"hidden"})});function H(o,a){let l=I();return t__default["default"].createElement("ul",{"data-test-id":o.testId||"cf-ui-entity-list",ref:a,className:emotion.cx(l.root,o.className),style:o.style},o.children)}H.displayName="EntityList";var T=t__default["default"].forwardRef(H);var S=()=>({root:o=>emotion.css({display:"flex",boxShadow:`inset 0 -1px 0 ${e__default["default"].gray200}`,position:"relative",transition:`${e__default["default"].transitionDurationShort} ${e__default["default"].transitionEasingDefault}`,transitionProperty:"box-shadow, background-color",backgroundColor:e__default["default"].colorWhite,...o.isDragActive?{boxShadow:e__default["default"].boxShadowHeavy}:{},"&:hover":{backgroundColor:e__default["default"].gray100}}),card:emotion.css({display:"flex",textDecoration:"none",width:"100%",minHeight:e__default["default"].spacing3Xl,padding:e__default["default"].spacingXs,border:"none",background:"none",textAlign:"left"}),content:emotion.css({flexGrow:1,minWidth:0}),media:emotion.css({display:"flex",flexShrink:0,alignItems:"center",justifyContent:"center",backgroundColor:e__default["default"].gray200,width:e__default["default"].spacing2Xl,height:e__default["default"].spacing2Xl,margin:"0",marginRight:e__default["default"].spacingXs}),thumbnail:emotion.css({display:"block",width:"100%",height:"100%",objectFit:"cover"}),contentType:emotion.css({marginLeft:e__default["default"].spacingXs}),description:emotion.css({marginTop:e__default["default"].spacing2Xs}),meta:emotion.css({marginLeft:"auto",flexShrink:0}),dragHandle:emotion.css({borderBottomLeftRadius:"0",borderTopLeftRadius:"0",boxShadow:`inset 0 -1px 0 ${e__default["default"].gray200}`}),menuTrigger:emotion.css({padding:"0 0.125rem",minHeight:"1.5rem"})});var Y={asset:f36Icons.AssetIcon,entry:f36Icons.EntryIcon,release:f36Icons.ReleaseIcon},s=({className:o,testId:a="cf-ui-entity-list-item",title:l,description:f,contentType:u,entityType:N="entry",withThumbnail:v=!0,thumbnailUrl:h,thumbnailAltText:w,status:m,actions:d,withDragHandle:D,isDragActive:E,isLoading:A,onClick:x,href:r,cardDragHandleProps:M,cardDragHandleComponent:L,isActionsDisabled:X=!1,...B})=>{let i=S(),$=()=>{if(L)return L;if(D)return t__default["default"].createElement(f36DragHandle.DragHandle,{className:i.dragHandle,isActive:E,label:"Reorder entry",...M})},p="article";(r||x)&&(p=r?"a":"button");let F=m==="archived"||!h;return t__default["default"].createElement("li",{...B,className:emotion.cx(i.root({isDragActive:E}),o),"data-test-id":a},$(),A?t__default["default"].createElement("article",{className:i.card},t__default["default"].createElement(f36Skeleton.Skeleton.Container,{clipId:"f36-entity-list-item-skeleton"},t__default["default"].createElement(f36Skeleton.Skeleton.Image,{height:46,width:46}),t__default["default"].createElement(f36Skeleton.Skeleton.BodyText,{numberOfLines:2,lineHeight:18,offsetLeft:54}))):t__default["default"].createElement(p,{className:i.card,onClick:x,href:r,type:p==="button"?"button":void 0,target:r?"_blank":void 0},v&&t__default["default"].createElement("figure",{className:i.media},F?t__default["default"].createElement(f36Icon.Icon,{as:Y[N.toLowerCase()],variant:"muted"}):t__default["default"].createElement("img",{src:h,className:i.thumbnail,alt:w})),t__default["default"].createElement("div",{className:i.content},t__default["default"].createElement(f36Core.Flex,null,t__default["default"].createElement(f36Typography.Text,{as:"h3",lineHeight:"lineHeightM",fontColor:"gray900",fontWeight:"fontWeightDemiBold",isTruncated:!0},l),u&&t__default["default"].createElement(f36Typography.Text,{as:"span",lineHeight:"lineHeightM",fontColor:"gray600",className:i.contentType,isTruncated:!0},"(",u,")")),f&&t__default["default"].createElement(f36Typography.Text,{as:"p",lineHeight:"lineHeightM",fontColor:"gray900",isTruncated:!0,className:i.description},f)),t__default["default"].createElement(f36Core.Flex,{className:i.meta,alignItems:"flex-start",paddingLeft:"spacingXs"},m&&t__default["default"].createElement(f36Core.Box,{marginRight:d?"spacingXs":"none"},t__default["default"].createElement(f36Badge.EntityStatusBadge,{entityStatus:m})),d&&t__default["default"].createElement(f36Menu.Menu,null,t__default["default"].createElement(f36Menu.Menu.Trigger,null,t__default["default"].createElement(f36Button.Button,{isDisabled:X,startIcon:t__default["default"].createElement(f36Icons.MoreHorizontalIcon,null),variant:"transparent","aria-label":"Actions",size:"small",className:i.menuTrigger})),t__default["default"].createElement(f36Menu.Menu.List,null,d)))))};s.displayName="EntityListItem";var C=T;C.Item=s;
|
|
24
|
+
|
|
25
|
+
exports.EntityList = C;
|
|
26
|
+
exports.EntityListItem = s;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/EntityList.tsx","../src/EntityList.styles.ts","../src/EntityListItem/EntityListItem.tsx","../src/EntityListItem/EntityListItem.styles.ts","../src/CompoundEntityList.tsx"],"names":["React","cx","css","tokens","getEntityListStyles","_EntityList","props","ref","styles","EntityList","EntityStatusBadge","Flex","Box","AssetIcon","EntryIcon","ReleaseIcon","MoreHorizontalIcon","Icon","Text","DragHandle","Button","Menu","Skeleton","getEntityListItemStyles","ICON_MAP","EntityListItem","className","testId","title","description","contentType","entityType","withThumbnail","thumbnailUrl","thumbnailAltText","status","actions","withDragHandle","isDragActive","isLoading","onClick","href","cardDragHandleProps","cardDragHandleComponent","isActionsDisabled","otherProps","renderCardDragHandle","Element","asIcon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\n\nimport { getEntityListStyles } from './EntityList.styles';\n\nexport interface EntityListProps extends CommonProps {\n children?: React.ReactNode;\n}\n\nfunction _EntityList(\n props: ExpandProps<EntityListProps>,\n ref: React.Ref<HTMLUListElement>,\n) {\n const styles = getEntityListStyles();\n\n return (\n <ul\n data-test-id={props.testId || 'cf-ui-entity-list'}\n ref={ref}\n className={cx(styles.root, props.className)}\n style={props.style}\n >\n {props.children}\n </ul>\n );\n}\n\n_EntityList.displayName = 'EntityList';\n\nexport const EntityList = React.forwardRef(_EntityList);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getEntityListStyles = () => ({\n root: css({\n display: 'block',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n border: `1px solid ${tokens.gray200}`,\n borderBottom: 'none',\n borderRadius: tokens.borderRadiusMedium,\n overflow: 'hidden',\n }),\n});\n","import React, { type MouseEventHandler } from 'react';\nimport { cx } from 'emotion';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Flex,\n Box,\n type CommonProps,\n type EntityStatus,\n type PickUnion,\n} from '@contentful/f36-core';\nimport {\n AssetIcon,\n EntryIcon,\n ReleaseIcon,\n MoreHorizontalIcon,\n} from '@contentful/f36-icons';\nimport { Icon } from '@contentful/f36-icon';\nimport { Text } from '@contentful/f36-typography';\nimport { DragHandle, type DragHandleProps } from '@contentful/f36-drag-handle';\nimport { Button } from '@contentful/f36-button';\nimport { Menu } from '@contentful/f36-menu';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getEntityListItemStyles } from './EntityListItem.styles';\n\ntype EntityListItemStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'draft' | 'published'\n>;\n\nconst ICON_MAP = {\n asset: AssetIcon,\n entry: EntryIcon,\n release: ReleaseIcon,\n};\n\nexport interface EntityListItemProps extends CommonProps {\n /**\n * The title of the entity\n */\n title: string;\n /**\n * The description of the entity\n */\n description?: string;\n /**\n * The content type of the entity\n */\n contentType?: string;\n /**\n * The publish status of the entry\n */\n status?: EntityListItemStatus;\n /**\n * A boolean used to render the Thumbnail or not\n */\n withThumbnail?: boolean;\n /**\n * The URL of the entity's preview thumbnail. Use 46px x 46px images for best results\n */\n thumbnailUrl?: string;\n /**\n * The alt text for the thumbnail\n */\n thumbnailAltText?: string;\n /**\n * Menu elements rendered as actions in Menu\n */\n actions?: React.ReactNodeArray;\n /**\n * Renders a drag handle for the component for use in drag and drop contexts\n */\n withDragHandle?: boolean;\n /**\n * Applies styling for when the component is actively being dragged by the user\n */\n isDragActive?: boolean;\n /**\n * Prop to pass a custom CardDragHandle component to for use in drag and drop contexts\n */\n cardDragHandleComponent?: React.ReactNode;\n /**\n * Props to pass down to the default CardDragHandle component (does not work with cardDragHandleComponent prop)\n */\n cardDragHandleProps?: Partial<DragHandleProps>;\n /**\n * An entity can either be an Entry, an Asset or a Release. This prop will apply styling based on if the entity is an asset, a release or an entry\n *\n * Note: 'entry' and 'asset' are @deprecated but supported in v1.x for backwards compatibility\n */\n entityType?: 'Entry' | 'Asset' | 'entry' | 'asset' | 'Release';\n /**\n * Loading state for the component - when true will display loading feedback to the user\n */\n isLoading?: boolean;\n /**\n * The action to be performed on click of the EntryCard\n */\n onClick?: MouseEventHandler;\n /**\n * The href for the component. Will render the card as an `a` element for native browser link handling\n */\n href?: string;\n /**\n * A boolean used to disable the CardActions\n */\n isActionsDisabled?: boolean;\n}\n\nexport const EntityListItem = ({\n className,\n testId = 'cf-ui-entity-list-item',\n title,\n description,\n contentType,\n entityType = 'entry',\n withThumbnail = true,\n thumbnailUrl,\n thumbnailAltText,\n status,\n actions,\n withDragHandle,\n isDragActive,\n isLoading,\n onClick,\n href,\n cardDragHandleProps,\n cardDragHandleComponent,\n isActionsDisabled = false,\n ...otherProps\n}: EntityListItemProps): React.ReactElement => {\n const styles = getEntityListItemStyles();\n\n const renderCardDragHandle = () => {\n if (cardDragHandleComponent) {\n return cardDragHandleComponent;\n } else if (withDragHandle) {\n return (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragActive}\n label=\"Reorder entry\"\n {...cardDragHandleProps}\n />\n );\n }\n };\n\n let Element: React.ElementType = 'article';\n if (href || onClick) {\n Element = href ? 'a' : 'button';\n }\n\n // archived assets will not be available on the CDN, resulting in a broken image src\n const isArchived = status === 'archived';\n const asIcon = isArchived || !thumbnailUrl;\n\n return (\n <li\n {...otherProps}\n className={cx(styles.root({ isDragActive }), className)}\n data-test-id={testId}\n >\n {renderCardDragHandle()}\n {isLoading ? (\n <article className={styles.card}>\n <Skeleton.Container clipId=\"f36-entity-list-item-skeleton\">\n <Skeleton.Image height={46} width={46} />\n <Skeleton.BodyText\n numberOfLines={2}\n lineHeight={18}\n offsetLeft={54}\n />\n </Skeleton.Container>\n </article>\n ) : (\n <Element\n className={styles.card}\n onClick={onClick}\n href={href}\n type={Element === 'button' ? 'button' : undefined}\n target={href ? '_blank' : undefined}\n >\n {withThumbnail && (\n <figure className={styles.media}>\n {asIcon ? (\n <Icon as={ICON_MAP[entityType.toLowerCase()]} variant=\"muted\" />\n ) : (\n <img\n src={thumbnailUrl}\n className={styles.thumbnail}\n alt={thumbnailAltText}\n />\n )}\n </figure>\n )}\n\n <div className={styles.content}>\n <Flex>\n <Text\n as=\"h3\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n fontWeight=\"fontWeightDemiBold\"\n isTruncated\n >\n {title}\n </Text>\n\n {contentType && (\n <Text\n as=\"span\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray600\"\n className={styles.contentType}\n isTruncated\n >\n ({contentType})\n </Text>\n )}\n </Flex>\n {description && (\n <Text\n as=\"p\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n isTruncated\n className={styles.description}\n >\n {description}\n </Text>\n )}\n </div>\n\n <Flex\n className={styles.meta}\n alignItems=\"flex-start\"\n paddingLeft=\"spacingXs\"\n >\n {status && (\n <Box marginRight={actions ? 'spacingXs' : 'none'}>\n <EntityStatusBadge entityStatus={status} />\n </Box>\n )}\n\n {actions && (\n <Menu>\n <Menu.Trigger>\n <Button\n isDisabled={isActionsDisabled}\n startIcon={<MoreHorizontalIcon />}\n variant=\"transparent\"\n aria-label=\"Actions\"\n size=\"small\"\n className={styles.menuTrigger}\n />\n </Menu.Trigger>\n <Menu.List>{actions}</Menu.List>\n </Menu>\n )}\n </Flex>\n </Element>\n )}\n </li>\n );\n};\n\nEntityListItem.displayName = 'EntityListItem';\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { EntityListItemProps } from './EntityListItem';\n\nexport const getEntityListItemStyles = () => ({\n root: (props: Pick<EntityListItemProps, 'isDragActive'>) =>\n css({\n display: 'flex',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n position: 'relative',\n transition: `${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n transitionProperty: 'box-shadow, background-color',\n backgroundColor: tokens.colorWhite,\n ...(props.isDragActive\n ? {\n boxShadow: tokens.boxShadowHeavy,\n }\n : {}),\n\n '&:hover': {\n backgroundColor: tokens.gray100,\n },\n }),\n card: css({\n display: 'flex',\n textDecoration: 'none',\n width: '100%',\n minHeight: tokens.spacing3Xl,\n padding: tokens.spacingXs,\n border: 'none',\n background: 'none',\n textAlign: 'left',\n }),\n content: css({\n flexGrow: 1,\n minWidth: 0,\n }),\n media: css({\n display: 'flex',\n flexShrink: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: tokens.gray200,\n width: tokens.spacing2Xl,\n height: tokens.spacing2Xl,\n margin: '0',\n marginRight: tokens.spacingXs,\n }),\n thumbnail: css({\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n contentType: css({\n marginLeft: tokens.spacingXs,\n }),\n description: css({\n marginTop: tokens.spacing2Xs,\n }),\n meta: css({\n marginLeft: 'auto',\n flexShrink: 0,\n }),\n dragHandle: css({\n borderBottomLeftRadius: '0',\n borderTopLeftRadius: '0',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n }),\n menuTrigger: css({\n padding: '0 0.125rem',\n minHeight: '1.5rem',\n }),\n});\n","import { EntityList as OriginalEntityList } from './EntityList';\nimport { EntityListItem } from './EntityListItem/EntityListItem';\n\ntype CompoundEntityList = typeof OriginalEntityList & {\n Item: typeof EntityListItem;\n};\n\nexport const EntityList = OriginalEntityList as CompoundEntityList;\nEntityList.Item = EntityListItem;\n"]}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/f36-entity-list",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.1",
|
|
4
4
|
"description": "Forma 36: EntityList component",
|
|
5
5
|
"scripts": {
|
|
6
|
-
"build": "
|
|
6
|
+
"build": "tsup"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@babel/runtime": "^7.6.2",
|
|
10
|
-
"@contentful/f36-badge": "^4.
|
|
11
|
-
"@contentful/f36-button": "^4.
|
|
12
|
-
"@contentful/f36-core": "^4.
|
|
13
|
-
"@contentful/f36-drag-handle": "^4.
|
|
14
|
-
"@contentful/f36-icon": "^4.
|
|
15
|
-
"@contentful/f36-icons": "^4.
|
|
16
|
-
"@contentful/f36-menu": "^4.
|
|
17
|
-
"@contentful/f36-skeleton": "^4.
|
|
10
|
+
"@contentful/f36-badge": "^4.19.1",
|
|
11
|
+
"@contentful/f36-button": "^4.19.1",
|
|
12
|
+
"@contentful/f36-core": "^4.19.1",
|
|
13
|
+
"@contentful/f36-drag-handle": "^4.19.1",
|
|
14
|
+
"@contentful/f36-icon": "^4.19.1",
|
|
15
|
+
"@contentful/f36-icons": "^4.19.1",
|
|
16
|
+
"@contentful/f36-menu": "^4.19.1",
|
|
17
|
+
"@contentful/f36-skeleton": "^4.19.1",
|
|
18
18
|
"@contentful/f36-tokens": "^4.0.1",
|
|
19
|
-
"@contentful/f36-typography": "^4.
|
|
19
|
+
"@contentful/f36-typography": "^4.19.1",
|
|
20
20
|
"emotion": "^10.0.17"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"dist"
|
|
28
28
|
],
|
|
29
|
-
"main": "dist/
|
|
30
|
-
"module": "dist/
|
|
31
|
-
"types": "dist/
|
|
29
|
+
"main": "dist/index.js",
|
|
30
|
+
"module": "dist/esm/index.js",
|
|
31
|
+
"types": "dist/index.d.ts",
|
|
32
32
|
"source": "src/index.ts",
|
|
33
33
|
"sideEffects": false,
|
|
34
34
|
"browserslist": "extends @contentful/browserslist-config",
|
package/dist/main.js
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
var $hadoL$emotion = require("emotion");
|
|
2
|
-
var $hadoL$react = require("react");
|
|
3
|
-
var $hadoL$contentfulf36tokens = require("@contentful/f36-tokens");
|
|
4
|
-
var $hadoL$contentfulf36badge = require("@contentful/f36-badge");
|
|
5
|
-
var $hadoL$contentfulf36core = require("@contentful/f36-core");
|
|
6
|
-
var $hadoL$contentfulf36icons = require("@contentful/f36-icons");
|
|
7
|
-
var $hadoL$contentfulf36icon = require("@contentful/f36-icon");
|
|
8
|
-
var $hadoL$contentfulf36typography = require("@contentful/f36-typography");
|
|
9
|
-
var $hadoL$contentfulf36draghandle = require("@contentful/f36-drag-handle");
|
|
10
|
-
var $hadoL$contentfulf36button = require("@contentful/f36-button");
|
|
11
|
-
var $hadoL$contentfulf36menu = require("@contentful/f36-menu");
|
|
12
|
-
var $hadoL$contentfulf36skeleton = require("@contentful/f36-skeleton");
|
|
13
|
-
|
|
14
|
-
function $parcel$export(e, n, v, s) {
|
|
15
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
16
|
-
}
|
|
17
|
-
function $parcel$interopDefault(a) {
|
|
18
|
-
return a && a.__esModule ? a.default : a;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
$parcel$export(module.exports, "EntityList", () => $e853778315da5e40$export$8bb466c13870163e);
|
|
22
|
-
$parcel$export(module.exports, "EntityListItem", () => $3f4d63406b2f6561$export$65b9c70c5f42a158);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const $e3aba86fc342822d$export$2b0a239870ba448d = ()=>({
|
|
28
|
-
root: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
29
|
-
display: "block",
|
|
30
|
-
listStyle: "none",
|
|
31
|
-
margin: 0,
|
|
32
|
-
padding: 0,
|
|
33
|
-
border: `1px solid ${(0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).gray200}`,
|
|
34
|
-
borderBottom: "none",
|
|
35
|
-
borderRadius: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).borderRadiusMedium,
|
|
36
|
-
overflow: "hidden"
|
|
37
|
-
})
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
function $42fa390001ac865a$var$_EntityList(props, ref) {
|
|
42
|
-
const styles = (0, $e3aba86fc342822d$export$2b0a239870ba448d)();
|
|
43
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("ul", {
|
|
44
|
-
"data-test-id": props.testId || "cf-ui-entity-list",
|
|
45
|
-
ref: ref,
|
|
46
|
-
className: (0, $hadoL$emotion.cx)(styles.root, props.className),
|
|
47
|
-
style: props.style
|
|
48
|
-
}, props.children);
|
|
49
|
-
}
|
|
50
|
-
$42fa390001ac865a$var$_EntityList.displayName = "EntityList";
|
|
51
|
-
const $42fa390001ac865a$export$8bb466c13870163e = /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).forwardRef($42fa390001ac865a$var$_EntityList);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const $07bceb135ccb0944$export$3bb342229d68a121 = ()=>({
|
|
68
|
-
root: (props)=>/*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
69
|
-
display: "flex",
|
|
70
|
-
boxShadow: `inset 0 -1px 0 ${(0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).gray200}`,
|
|
71
|
-
position: "relative",
|
|
72
|
-
transition: `${(0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).transitionDurationShort} ${(0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).transitionEasingDefault}`,
|
|
73
|
-
transitionProperty: "box-shadow, background-color",
|
|
74
|
-
backgroundColor: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).colorWhite,
|
|
75
|
-
...props.isDragActive ? {
|
|
76
|
-
boxShadow: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).boxShadowHeavy
|
|
77
|
-
} : {},
|
|
78
|
-
"&:hover": {
|
|
79
|
-
backgroundColor: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).gray100
|
|
80
|
-
}
|
|
81
|
-
}),
|
|
82
|
-
card: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
83
|
-
display: "flex",
|
|
84
|
-
textDecoration: "none",
|
|
85
|
-
width: "100%",
|
|
86
|
-
minHeight: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacing3Xl,
|
|
87
|
-
padding: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacingXs,
|
|
88
|
-
border: "none",
|
|
89
|
-
background: "none",
|
|
90
|
-
textAlign: "left"
|
|
91
|
-
}),
|
|
92
|
-
content: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
93
|
-
name: "15ync0s",
|
|
94
|
-
styles: "flex-grow:1;min-width:0;"
|
|
95
|
-
}),
|
|
96
|
-
media: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
97
|
-
display: "flex",
|
|
98
|
-
flexShrink: 0,
|
|
99
|
-
alignItems: "center",
|
|
100
|
-
justifyContent: "center",
|
|
101
|
-
backgroundColor: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).gray200,
|
|
102
|
-
width: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacing2Xl,
|
|
103
|
-
height: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacing2Xl,
|
|
104
|
-
margin: "0",
|
|
105
|
-
marginRight: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacingXs
|
|
106
|
-
}),
|
|
107
|
-
thumbnail: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
108
|
-
name: "12qah06",
|
|
109
|
-
styles: "display:block;width:100%;height:100%;object-fit:cover;"
|
|
110
|
-
}),
|
|
111
|
-
contentType: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
112
|
-
marginLeft: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacingXs
|
|
113
|
-
}),
|
|
114
|
-
description: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
115
|
-
marginTop: (0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).spacing2Xs
|
|
116
|
-
}),
|
|
117
|
-
meta: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
118
|
-
name: "1n0gfod",
|
|
119
|
-
styles: "margin-left:auto;flex-shrink:0;"
|
|
120
|
-
}),
|
|
121
|
-
dragHandle: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
122
|
-
borderBottomLeftRadius: "0",
|
|
123
|
-
borderTopLeftRadius: "0",
|
|
124
|
-
boxShadow: `inset 0 -1px 0 ${(0, ($parcel$interopDefault($hadoL$contentfulf36tokens))).gray200}`
|
|
125
|
-
}),
|
|
126
|
-
menuTrigger: /*#__PURE__*/ (0, $hadoL$emotion.css)({
|
|
127
|
-
name: "c1v07n",
|
|
128
|
-
styles: "padding:0 0.125rem;min-height:1.5rem;"
|
|
129
|
-
})
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const $3f4d63406b2f6561$var$ICON_MAP = {
|
|
134
|
-
asset: (0, $hadoL$contentfulf36icons.AssetIcon),
|
|
135
|
-
entry: (0, $hadoL$contentfulf36icons.EntryIcon),
|
|
136
|
-
release: (0, $hadoL$contentfulf36icons.ReleaseIcon)
|
|
137
|
-
};
|
|
138
|
-
const $3f4d63406b2f6561$export$65b9c70c5f42a158 = ({ className: className , testId: testId = "cf-ui-entity-list-item" , title: title , description: description , contentType: contentType , entityType: entityType = "entry" , withThumbnail: withThumbnail = true , thumbnailUrl: thumbnailUrl , thumbnailAltText: thumbnailAltText , status: status , actions: actions , withDragHandle: withDragHandle , isDragActive: isDragActive , isLoading: isLoading , onClick: onClick , href: href , cardDragHandleProps: cardDragHandleProps , cardDragHandleComponent: cardDragHandleComponent , isActionsDisabled: isActionsDisabled = false , ...otherProps })=>{
|
|
139
|
-
const styles = (0, $07bceb135ccb0944$export$3bb342229d68a121)();
|
|
140
|
-
const renderCardDragHandle = ()=>{
|
|
141
|
-
if (cardDragHandleComponent) return cardDragHandleComponent;
|
|
142
|
-
else if (withDragHandle) return /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36draghandle.DragHandle), {
|
|
143
|
-
className: styles.dragHandle,
|
|
144
|
-
isActive: isDragActive,
|
|
145
|
-
label: "Reorder entry",
|
|
146
|
-
...cardDragHandleProps
|
|
147
|
-
});
|
|
148
|
-
};
|
|
149
|
-
let Element = "article";
|
|
150
|
-
if (href || onClick) Element = href ? "a" : "button";
|
|
151
|
-
// archived assets will not be available on the CDN, resulting in a broken image src
|
|
152
|
-
const isArchived = status === "archived";
|
|
153
|
-
const asIcon = isArchived || !thumbnailUrl;
|
|
154
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("li", {
|
|
155
|
-
...otherProps,
|
|
156
|
-
className: (0, $hadoL$emotion.cx)(styles.root({
|
|
157
|
-
isDragActive: isDragActive
|
|
158
|
-
}), className),
|
|
159
|
-
"data-test-id": testId
|
|
160
|
-
}, renderCardDragHandle(), isLoading ? /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("article", {
|
|
161
|
-
className: styles.card
|
|
162
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36skeleton.Skeleton).Container, {
|
|
163
|
-
clipId: "f36-entity-list-item-skeleton"
|
|
164
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36skeleton.Skeleton).Image, {
|
|
165
|
-
height: 46,
|
|
166
|
-
width: 46
|
|
167
|
-
}), /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36skeleton.Skeleton).BodyText, {
|
|
168
|
-
numberOfLines: 2,
|
|
169
|
-
lineHeight: 18,
|
|
170
|
-
offsetLeft: 54
|
|
171
|
-
}))) : /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement(Element, {
|
|
172
|
-
className: styles.card,
|
|
173
|
-
onClick: onClick,
|
|
174
|
-
href: href,
|
|
175
|
-
type: Element === "button" ? "button" : undefined,
|
|
176
|
-
target: href ? "_blank" : undefined
|
|
177
|
-
}, withThumbnail && /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("figure", {
|
|
178
|
-
className: styles.media
|
|
179
|
-
}, asIcon ? /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36icon.Icon), {
|
|
180
|
-
as: $3f4d63406b2f6561$var$ICON_MAP[entityType.toLowerCase()],
|
|
181
|
-
variant: "muted"
|
|
182
|
-
}) : /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("img", {
|
|
183
|
-
src: thumbnailUrl,
|
|
184
|
-
className: styles.thumbnail,
|
|
185
|
-
alt: thumbnailAltText
|
|
186
|
-
})), /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement("div", {
|
|
187
|
-
className: styles.content
|
|
188
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36core.Flex), null, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36typography.Text), {
|
|
189
|
-
as: "h3",
|
|
190
|
-
lineHeight: "lineHeightM",
|
|
191
|
-
fontColor: "gray900",
|
|
192
|
-
fontWeight: "fontWeightDemiBold",
|
|
193
|
-
isTruncated: true
|
|
194
|
-
}, title), contentType && /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36typography.Text), {
|
|
195
|
-
as: "span",
|
|
196
|
-
lineHeight: "lineHeightM",
|
|
197
|
-
fontColor: "gray600",
|
|
198
|
-
className: styles.contentType,
|
|
199
|
-
isTruncated: true
|
|
200
|
-
}, "(", contentType, ")")), description && /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36typography.Text), {
|
|
201
|
-
as: "p",
|
|
202
|
-
lineHeight: "lineHeightM",
|
|
203
|
-
fontColor: "gray900",
|
|
204
|
-
isTruncated: true,
|
|
205
|
-
className: styles.description
|
|
206
|
-
}, description)), /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36core.Flex), {
|
|
207
|
-
className: styles.meta,
|
|
208
|
-
alignItems: "flex-start",
|
|
209
|
-
paddingLeft: "spacingXs"
|
|
210
|
-
}, status && /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36core.Box), {
|
|
211
|
-
marginRight: actions ? "spacingXs" : "none"
|
|
212
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36badge.EntityStatusBadge), {
|
|
213
|
-
entityStatus: status
|
|
214
|
-
})), actions && /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36menu.Menu), null, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36menu.Menu).Trigger, null, /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36button.Button), {
|
|
215
|
-
isDisabled: isActionsDisabled,
|
|
216
|
-
startIcon: /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36icons.MoreHorizontalIcon), null),
|
|
217
|
-
variant: "transparent",
|
|
218
|
-
"aria-label": "Actions",
|
|
219
|
-
size: "small",
|
|
220
|
-
className: styles.menuTrigger
|
|
221
|
-
})), /*#__PURE__*/ (0, ($parcel$interopDefault($hadoL$react))).createElement((0, $hadoL$contentfulf36menu.Menu).List, null, actions)))));
|
|
222
|
-
};
|
|
223
|
-
$3f4d63406b2f6561$export$65b9c70c5f42a158.displayName = "EntityListItem";
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const $e853778315da5e40$export$8bb466c13870163e = (0, $42fa390001ac865a$export$8bb466c13870163e);
|
|
227
|
-
$e853778315da5e40$export$8bb466c13870163e.Item = (0, $3f4d63406b2f6561$export$65b9c70c5f42a158);
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;A;;A;;AGGO,MAAMU,yCAAmB,GAAG,IAAO,CAAA;QACxCU,IAAI,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACRM,OAAO,EAAE,OADD;YAERC,SAAS,EAAE,MAFH;YAGRC,MAAM,EAAE,CAHA;YAIRC,OAAO,EAAE,CAJD;YAKRC,MAAM,EAAG,CAAA,UAAA,EAAYL,CAAAA,GAAAA,oDAAM,CAAA,CAACM,OAAQ,CAAA,CAL5B;YAMRC,YAAY,EAAE,MANN;YAORC,YAAY,EAAER,CAAAA,GAAAA,oDAAM,CAAA,CAACS,kBAPb;YAQRC,QAAQ,EAAE,QAAVA;SARI,CAAI;KADuB,CAAA,AAA5B,AAAmC;;;ADO1C,SAAStB,iCAAT,CACEC,KADF,EAEEC,GAFF,EAGE;IACA,MAAMG,MAAM,GAAGR,CAAAA,GAAAA,yCAAmB,CAAA,EAAlC,AAAA;IAEA,qBACE,0DAAC,IAAD;QACE,cAAA,EAAcI,KAAK,CAACK,MAAN,IAAgB,mBAAjB;QACb,GAAA,EAAKJ,GAAD;QACJ,SAAA,EAAW,CAAA,GAAA,iBAAA,CAAA,CAAGG,MAAM,CAACE,IAAV,EAAgBN,KAAK,CAACO,SAAtB,CAAD;QACV,KAAA,EAAOP,KAAK,CAACQ,KAAP;OAELR,KAAK,CAACH,QAAP,CAPJ,CAQF;CAEC;AAEDE,iCAAW,CAACU,WAAZ,GAA0B,YAA1B,CAAAV;AAEO,MAAMb,yCAAU,iBAAGO,CAAAA,GAAAA,sCAAK,CAAA,CAACiB,UAAN,CAAiBX,iCAAjB,CAAnB,AAAP;;AD9BA;A;;;;;;;;;;;A;;AIIO,MAAMwC,yCAAuB,GAAG,IAAO,CAAA;QAC5CjC,IAAI,EAAE,CAACN,KAAD,GAAA,aACJ,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;gBACFY,OAAO,EAAE,MADP;gBAEFqE,SAAS,EAAG,CAAA,eAAA,EAAiBtE,CAAAA,GAAAA,oDAAM,CAAA,CAACM,OAAQ,CAAA,CAF1C;gBAGFiE,QAAQ,EAAE,UAHR;gBAIFC,UAAU,EAAG,CAAA,EAAExE,CAAAA,GAAAA,oDAAM,CAAA,CAACyE,uBAAwB,CAAA,CAAA,EAAGzE,CAAAA,GAAAA,oDAAM,CAAA,CAAC0E,uBAAwB,CAAA,CAJ9E;gBAKFC,kBAAkB,EAAE,8BALlB;gBAMFC,eAAe,EAAE5E,CAAAA,GAAAA,oDAAM,CAAA,CAAC6E,UANtB;gBAOF,GAAIxF,KAAK,CAACuD,YAAN,GACA;oBACE0B,SAAS,EAAEtE,CAAAA,GAAAA,oDAAM,CAAA,CAAC8E,cAAlBR;iBAFF,GAIA,EAJJ;gBAMA,SAAA,EAAW;oBACTM,eAAe,EAAE5E,CAAAA,GAAAA,oDAAM,CAAA,CAAC+E,OAAxBH;iBADS;aAbb,CAF0C;QAmB5Cf,IAAI,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACR5D,OAAO,EAAE,MADD;YAER+E,cAAc,EAAE,MAFR;YAGRC,KAAK,EAAE,MAHC;YAIRC,SAAS,EAAElF,CAAAA,GAAAA,oDAAM,CAAA,CAACmF,UAJV;YAKR/E,OAAO,EAAEJ,CAAAA,GAAAA,oDAAM,CAAA,CAACoF,SALR;YAMR/E,MAAM,EAAE,MANA;YAORgF,UAAU,EAAE,MAPJ;YAQRC,SAAS,EAAE,MAAXA;SARI,CAnBsC;QA6B5CpB,OAAO,EAAA,aAAE,CAAA,CAAA,GAAA,kBAATA,CAAAA,CAAAA;YAAS,IAAA,EAAA,SAAA;YAAA,MAAA,EAAA,0BAAA;SAAA,CA7BmC;QAiC5CH,KAAK,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACT9D,OAAO,EAAE,MADA;YAETsF,UAAU,EAAE,CAFH;YAGTC,UAAU,EAAE,QAHH;YAITC,cAAc,EAAE,QAJP;YAKTb,eAAe,EAAE5E,CAAAA,GAAAA,oDAAM,CAAA,CAACM,OALf;YAMT2E,KAAK,EAAEjF,CAAAA,GAAAA,oDAAM,CAAA,CAAC0F,UANL;YAOTC,MAAM,EAAE3F,CAAAA,GAAAA,oDAAM,CAAA,CAAC0F,UAPN;YAQTvF,MAAM,EAAE,GARC;YASTyF,WAAW,EAAE5F,CAAAA,GAAAA,oDAAM,CAAA,CAACoF,SAApBQ;SATK,CAjCqC;QA4C5C3B,SAAS,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAXA,CAAAA,CAAAA;YAAW,IAAA,EAAA,SAAA;YAAA,MAAA,EAAA,wDAAA;SAAA,CA5CiC;QAkD5C7B,WAAW,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACfyD,UAAU,EAAE7F,CAAAA,GAAAA,oDAAM,CAAA,CAACoF,SAAnBS;SADW,CAlD+B;QAqD5C1D,WAAW,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACf2D,SAAS,EAAE9F,CAAAA,GAAAA,oDAAM,CAAA,CAAC+F,UAAlBD;SADW,CArD+B;QAwD5C3B,IAAI,EAAA,aAAE,CAAA,CAAA,GAAA,kBAANA,CAAAA,CAAAA;YAAM,IAAA,EAAA,SAAA;YAAA,MAAA,EAAA,iCAAA;SAAA,CAxDsC;QA4D5CX,UAAU,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAA,CAAA,CAAI;YACdwC,sBAAsB,EAAE,GADV;YAEdC,mBAAmB,EAAE,GAFP;YAGd3B,SAAS,EAAG,CAAA,eAAA,EAAiBtE,CAAAA,GAAAA,oDAAM,CAAA,CAACM,OAAQ,CAA5CgE,CAAAA;SAHU,CA5DgC;QAiE5CF,WAAW,EAAA,aAAE,CAAA,CAAA,GAAA,kBAAbA,CAAAA,CAAAA;YAAa,IAAA,EAAA,QAAA;YAAA,MAAA,EAAA,uCAAA;SAAA,CAAA;KAjEwB,CAAA,AAAhC,AAAuC;;;AD0B9C,MAAMtC,8BAAQ,GAAG;IACfC,KAAK,EAAEd,CAAAA,GAAAA,mCADQ,CAAA;IAEfe,KAAK,EAAEd,CAAAA,GAAAA,mCAFQ,CAAA;IAGfe,OAAO,EAAEd,CAAAA,GAAAA,qCAATc,CAAAA;CAHF,AAAiB;AA+EV,MAAMxD,yCAAc,GAAG,CAAC,aAC7BmB,SAD6B,CAAA,UAE7BF,MAAM,GAAG,wBAFoB,UAG7BwC,KAH6B,CAAA,eAI7BC,WAJ6B,CAAA,eAK7BC,WAL6B,CAAA,cAM7BY,UAAU,GAAG,OANgB,kBAO7BV,aAAa,GAAG,IAPa,iBAQ7BC,YAR6B,CAAA,oBAS7BC,gBAT6B,CAAA,UAU7BH,MAV6B,CAAA,WAW7BI,OAX6B,CAAA,kBAY7BE,cAZ6B,CAAA,gBAa7BC,YAb6B,CAAA,aAc7BK,SAd6B,CAAA,WAe7BC,OAf6B,CAAA,QAgB7BC,IAhB6B,CAAA,uBAiB7BL,mBAjB6B,CAAA,2BAkB7BD,uBAlB6B,CAAA,qBAmB7BO,iBAAiB,GAAG,KAnBS,GAoB7B,GAAGC,UAAH,EApB4B,GAqBiB;IAC7C,MAAM5D,MAAM,GAAGmC,CAAAA,GAAAA,yCAAuB,CAAA,EAAtC,AAAA;IAEA,MAAM2B,oBAAoB,GAAG,IAAM;QACjC,IAAIV,uBAAJ,EACE,OAAOA,uBAAP,CAAA;aACK,IAAIF,cAAJ,EACL,qBACE,0DAAC,CAAA,GAAA,yCAAD,CAAA;YACE,SAAA,EAAWlD,MAAM,CAAC+D,UAAR;YACV,QAAA,EAAUZ,YAAD;YACT,KAAA,EAAM,eAHR;YAIE,GAAIE,mBAAJ;UALJ,CAAA;KAJJ,AAaC;IAED,IAAIW,OAAO,GAAsB,SAAjC,AAAA;IACA,IAAIN,IAAI,IAAID,OAAZ,EACEO,OAAO,GAAGN,IAAI,GAAG,GAAH,GAAS,QAAvB,CAAAM;IApB2C,CAuB7C,oFAFC;IAGD,MAAME,UAAU,GAAGtB,MAAM,KAAK,UAA9B,AAAA;IACA,MAAMuB,MAAM,GAAGD,UAAU,IAAI,CAACpB,YAA9B,AAAA;IAEA,qBACE,0DAAC,IAAD;QACE,GAAIc,UAAJ;QACA,SAAA,EAAW,CAAA,GAAA,iBAAA,CAAA,CAAG5D,MAAM,CAACE,IAAP,CAAY;0BAAEiD,YAAAA;SAAd,CAAH,EAAkChD,SAAlC,CAAD;QACV,cAAA,EAAcF,MAAD;OAEZ6D,oBAAoB,EAArB,EACCN,SAAS,iBACR,0DAAC,SAAD;QAAS,SAAA,EAAWxD,MAAM,CAACoE,IAAR;qBACjB,0DAAC,CAAA,GAAA,qCAAA,CAAA,CAAS,SAAV;QAAoB,MAAA,EAAO,+BAA3B;qBACE,0DAAC,CAAA,GAAA,qCAAA,CAAA,CAAS,KAAV;QAAgB,MAAA,EAAQ,EAAD;QAAK,KAAA,EAAO,EAAD;MAA9C,gBACY,0DAAC,CAAA,GAAA,qCAAA,CAAA,CAAS,QAAV;QACE,aAAA,EAAe,CAAD;QACd,UAAA,EAAY,EAAD;QACX,UAAA,EAAY,EAAD;MAHzB,CAKA,CATgB,iBAYR,0DAAC,OAAD;QACE,SAAA,EAAWpE,MAAM,CAACoE,IAAR;QACV,OAAA,EAASX,OAAD;QACR,IAAA,EAAMC,IAAD;QACL,IAAA,EAAMM,OAAO,KAAK,QAAZ,GAAuB,QAAvB,GAAkCK,SAAnC;QACL,MAAA,EAAQX,IAAI,GAAG,QAAH,GAAcW,SAAnB;OAENxB,aAAa,kBACZ,0DAAC,QAAD;QAAQ,SAAA,EAAW7C,MAAM,CAACsE,KAAR;OACfH,MAAM,iBACL,0DAAC,CAAA,GAAA,6BAAD,CAAA;QAAM,EAAA,EAAI9B,8BAAQ,CAACkB,UAAU,CAACgB,WAAX,EAAD,CAAT;QAAqC,OAAA,EAAQ,OAAtD;MADK,iBAGL,0DAAC,KAAD;QACE,GAAA,EAAKzB,YAAD;QACJ,SAAA,EAAW9C,MAAM,CAACwE,SAAR;QACV,GAAA,EAAKzB,gBAAD;MANR,CAFJ,gBAcA,0DAAC,KAAD;QAAK,SAAA,EAAW/C,MAAM,CAACyE,OAAR;qBACb,0DAAC,CAAA,GAAA,6BAAD,CAAA,sBACE,0DAAC,CAAA,GAAA,mCAAD,CAAA;QACE,EAAA,EAAG,IADL;QAEE,UAAA,EAAW,aAFb;QAGE,SAAA,EAAU,SAHZ;QAIE,UAAA,EAAW,oBAJb;QAKE,WALF,EAKE,IALF;OAOGhC,KAAD,CAChB,EAEeE,WAAW,kBACV,0DAAC,CAAA,GAAA,mCAAD,CAAA;QACE,EAAA,EAAG,MADL;QAEE,UAAA,EAAW,aAFb;QAGE,SAAA,EAAU,SAHZ;QAIE,SAAA,EAAW3C,MAAM,CAAC2C,WAAR;QACV,WALF,EAKE,IALF;OADhB,GAQmB,EAACA,WAAD,EAAa,GAChB,CATF,CAWd,EACaD,WAAW,kBACV,0DAAC,CAAA,GAAA,mCAAD,CAAA;QACE,EAAA,EAAG,GADL;QAEE,UAAA,EAAW,aAFb;QAGE,SAAA,EAAU,SAHZ;QAIE,WAJF,EAIE,IAJF;QAKE,SAAA,EAAW1C,MAAM,CAAC0C,WAAR;OAETA,WAAD,CARJ,CAWZ,gBAEU,0DAAC,CAAA,GAAA,6BAAD,CAAA;QACE,SAAA,EAAW1C,MAAM,CAAC0E,IAAR;QACV,UAAA,EAAW,YAFb;QAGE,WAAA,EAAY,WAHd;OAKG9B,MAAM,kBACL,0DAAC,CAAA,GAAA,4BAAD,CAAA;QAAK,WAAA,EAAaI,OAAO,GAAG,WAAH,GAAiB,MAAzB;qBACf,0DAAC,CAAA,GAAA,2CAAD,CAAA;QAAmB,YAAA,EAAcJ,MAAD;MAAhD,CAFY,EAMCI,OAAO,kBACN,0DAAC,CAAA,GAAA,6BAAD,CAAA,sBACE,0DAAC,CAAA,GAAA,6BAAA,CAAA,CAAK,OAAN,sBACE,0DAAC,CAAA,GAAA,iCAAD,CAAA;QACE,UAAA,EAAYW,iBAAD;QACX,SAAA,gBAAW,0DAAC,CAAA,GAAA,4CAAD,CAAA,OAAD;QACV,OAAA,EAAQ,aAHV;QAIE,YAAA,EAAW,SAJb;QAKE,IAAA,EAAK,OALP;QAME,SAAA,EAAW3D,MAAM,CAAC2E,WAAR;MAN9B,CAQA,gBACgB,0DAAC,CAAA,GAAA,6BAAA,CAAA,CAAK,IAAN,QAAY3B,OAAD,CAA3B,CAZY,CAeZ,CAhGM,CAPJ,CA0GF;CA1JO,AA4JN;AAEDhE,yCAAc,CAACqB,WAAf,GAA6B,gBAA7B,CAAArB;;;AHpQO,MAAMF,yCAAU,GAAGI,CAAAA,GAAAA,yCAAkB,CAAA,AAArC,AAAP;AACAJ,yCAAU,CAACM,IAAX,GAAkBJ,CAAAA,GAAAA,yCAAlB,CAAA,CAAAF;;ADRA","sources":["packages/components/entity-list/src/index.ts","packages/components/entity-list/src/CompoundEntityList.tsx","packages/components/entity-list/src/EntityList.tsx","packages/components/entity-list/src/EntityList.styles.ts","packages/components/entity-list/src/EntityListItem/EntityListItem.tsx","packages/components/entity-list/src/EntityListItem/EntityListItem.styles.ts"],"sourcesContent":["export { EntityList } from './CompoundEntityList';\nexport type { EntityListProps } from './EntityList';\nexport { EntityListItem } from './EntityListItem/EntityListItem';\nexport type { EntityListItemProps } from './EntityListItem/EntityListItem';\n","import { EntityList as OriginalEntityList } from './EntityList';\nimport { EntityListItem } from './EntityListItem/EntityListItem';\n\ntype CompoundEntityList = typeof OriginalEntityList & {\n Item: typeof EntityListItem;\n};\n\nexport const EntityList = OriginalEntityList as CompoundEntityList;\nEntityList.Item = EntityListItem;\n","import React from 'react';\nimport { cx } from 'emotion';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\n\nimport { getEntityListStyles } from './EntityList.styles';\n\nexport interface EntityListProps extends CommonProps {\n children?: React.ReactNode;\n}\n\nfunction _EntityList(\n props: ExpandProps<EntityListProps>,\n ref: React.Ref<HTMLUListElement>,\n) {\n const styles = getEntityListStyles();\n\n return (\n <ul\n data-test-id={props.testId || 'cf-ui-entity-list'}\n ref={ref}\n className={cx(styles.root, props.className)}\n style={props.style}\n >\n {props.children}\n </ul>\n );\n}\n\n_EntityList.displayName = 'EntityList';\n\nexport const EntityList = React.forwardRef(_EntityList);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getEntityListStyles = () => ({\n root: css({\n display: 'block',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n border: `1px solid ${tokens.gray200}`,\n borderBottom: 'none',\n borderRadius: tokens.borderRadiusMedium,\n overflow: 'hidden',\n }),\n});\n","import React, { type MouseEventHandler } from 'react';\nimport { cx } from 'emotion';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Flex,\n Box,\n type CommonProps,\n type EntityStatus,\n type PickUnion,\n} from '@contentful/f36-core';\nimport {\n AssetIcon,\n EntryIcon,\n ReleaseIcon,\n MoreHorizontalIcon,\n} from '@contentful/f36-icons';\nimport { Icon } from '@contentful/f36-icon';\nimport { Text } from '@contentful/f36-typography';\nimport { DragHandle, type DragHandleProps } from '@contentful/f36-drag-handle';\nimport { Button } from '@contentful/f36-button';\nimport { Menu } from '@contentful/f36-menu';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getEntityListItemStyles } from './EntityListItem.styles';\n\ntype EntityListItemStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'draft' | 'published'\n>;\n\nconst ICON_MAP = {\n asset: AssetIcon,\n entry: EntryIcon,\n release: ReleaseIcon,\n};\n\nexport interface EntityListItemProps extends CommonProps {\n /**\n * The title of the entity\n */\n title: string;\n /**\n * The description of the entity\n */\n description?: string;\n /**\n * The content type of the entity\n */\n contentType?: string;\n /**\n * The publish status of the entry\n */\n status?: EntityListItemStatus;\n /**\n * A boolean used to render the Thumbnail or not\n */\n withThumbnail?: boolean;\n /**\n * The URL of the entity's preview thumbnail. Use 46px x 46px images for best results\n */\n thumbnailUrl?: string;\n /**\n * The alt text for the thumbnail\n */\n thumbnailAltText?: string;\n /**\n * Menu elements rendered as actions in Menu\n */\n actions?: React.ReactNodeArray;\n /**\n * Renders a drag handle for the component for use in drag and drop contexts\n */\n withDragHandle?: boolean;\n /**\n * Applies styling for when the component is actively being dragged by the user\n */\n isDragActive?: boolean;\n /**\n * Prop to pass a custom CardDragHandle component to for use in drag and drop contexts\n */\n cardDragHandleComponent?: React.ReactNode;\n /**\n * Props to pass down to the default CardDragHandle component (does not work with cardDragHandleComponent prop)\n */\n cardDragHandleProps?: Partial<DragHandleProps>;\n /**\n * An entity can either be an Entry, an Asset or a Release. This prop will apply styling based on if the entity is an asset, a release or an entry\n *\n * Note: 'entry' and 'asset' are @deprecated but supported in v1.x for backwards compatibility\n */\n entityType?: 'Entry' | 'Asset' | 'entry' | 'asset' | 'Release';\n /**\n * Loading state for the component - when true will display loading feedback to the user\n */\n isLoading?: boolean;\n /**\n * The action to be performed on click of the EntryCard\n */\n onClick?: MouseEventHandler;\n /**\n * The href for the component. Will render the card as an `a` element for native browser link handling\n */\n href?: string;\n /**\n * A boolean used to disable the CardActions\n */\n isActionsDisabled?: boolean;\n}\n\nexport const EntityListItem = ({\n className,\n testId = 'cf-ui-entity-list-item',\n title,\n description,\n contentType,\n entityType = 'entry',\n withThumbnail = true,\n thumbnailUrl,\n thumbnailAltText,\n status,\n actions,\n withDragHandle,\n isDragActive,\n isLoading,\n onClick,\n href,\n cardDragHandleProps,\n cardDragHandleComponent,\n isActionsDisabled = false,\n ...otherProps\n}: EntityListItemProps): React.ReactElement => {\n const styles = getEntityListItemStyles();\n\n const renderCardDragHandle = () => {\n if (cardDragHandleComponent) {\n return cardDragHandleComponent;\n } else if (withDragHandle) {\n return (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragActive}\n label=\"Reorder entry\"\n {...cardDragHandleProps}\n />\n );\n }\n };\n\n let Element: React.ElementType = 'article';\n if (href || onClick) {\n Element = href ? 'a' : 'button';\n }\n\n // archived assets will not be available on the CDN, resulting in a broken image src\n const isArchived = status === 'archived';\n const asIcon = isArchived || !thumbnailUrl;\n\n return (\n <li\n {...otherProps}\n className={cx(styles.root({ isDragActive }), className)}\n data-test-id={testId}\n >\n {renderCardDragHandle()}\n {isLoading ? (\n <article className={styles.card}>\n <Skeleton.Container clipId=\"f36-entity-list-item-skeleton\">\n <Skeleton.Image height={46} width={46} />\n <Skeleton.BodyText\n numberOfLines={2}\n lineHeight={18}\n offsetLeft={54}\n />\n </Skeleton.Container>\n </article>\n ) : (\n <Element\n className={styles.card}\n onClick={onClick}\n href={href}\n type={Element === 'button' ? 'button' : undefined}\n target={href ? '_blank' : undefined}\n >\n {withThumbnail && (\n <figure className={styles.media}>\n {asIcon ? (\n <Icon as={ICON_MAP[entityType.toLowerCase()]} variant=\"muted\" />\n ) : (\n <img\n src={thumbnailUrl}\n className={styles.thumbnail}\n alt={thumbnailAltText}\n />\n )}\n </figure>\n )}\n\n <div className={styles.content}>\n <Flex>\n <Text\n as=\"h3\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n fontWeight=\"fontWeightDemiBold\"\n isTruncated\n >\n {title}\n </Text>\n\n {contentType && (\n <Text\n as=\"span\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray600\"\n className={styles.contentType}\n isTruncated\n >\n ({contentType})\n </Text>\n )}\n </Flex>\n {description && (\n <Text\n as=\"p\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n isTruncated\n className={styles.description}\n >\n {description}\n </Text>\n )}\n </div>\n\n <Flex\n className={styles.meta}\n alignItems=\"flex-start\"\n paddingLeft=\"spacingXs\"\n >\n {status && (\n <Box marginRight={actions ? 'spacingXs' : 'none'}>\n <EntityStatusBadge entityStatus={status} />\n </Box>\n )}\n\n {actions && (\n <Menu>\n <Menu.Trigger>\n <Button\n isDisabled={isActionsDisabled}\n startIcon={<MoreHorizontalIcon />}\n variant=\"transparent\"\n aria-label=\"Actions\"\n size=\"small\"\n className={styles.menuTrigger}\n />\n </Menu.Trigger>\n <Menu.List>{actions}</Menu.List>\n </Menu>\n )}\n </Flex>\n </Element>\n )}\n </li>\n );\n};\n\nEntityListItem.displayName = 'EntityListItem';\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { EntityListItemProps } from './EntityListItem';\n\nexport const getEntityListItemStyles = () => ({\n root: (props: Pick<EntityListItemProps, 'isDragActive'>) =>\n css({\n display: 'flex',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n position: 'relative',\n transition: `${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n transitionProperty: 'box-shadow, background-color',\n backgroundColor: tokens.colorWhite,\n ...(props.isDragActive\n ? {\n boxShadow: tokens.boxShadowHeavy,\n }\n : {}),\n\n '&:hover': {\n backgroundColor: tokens.gray100,\n },\n }),\n card: css({\n display: 'flex',\n textDecoration: 'none',\n width: '100%',\n minHeight: tokens.spacing3Xl,\n padding: tokens.spacingXs,\n border: 'none',\n background: 'none',\n textAlign: 'left',\n }),\n content: css({\n flexGrow: 1,\n minWidth: 0,\n }),\n media: css({\n display: 'flex',\n flexShrink: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: tokens.gray200,\n width: tokens.spacing2Xl,\n height: tokens.spacing2Xl,\n margin: '0',\n marginRight: tokens.spacingXs,\n }),\n thumbnail: css({\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n contentType: css({\n marginLeft: tokens.spacingXs,\n }),\n description: css({\n marginTop: tokens.spacing2Xs,\n }),\n meta: css({\n marginLeft: 'auto',\n flexShrink: 0,\n }),\n dragHandle: css({\n borderBottomLeftRadius: '0',\n borderTopLeftRadius: '0',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n }),\n menuTrigger: css({\n padding: '0 0.125rem',\n minHeight: '1.5rem',\n }),\n});\n"],"names":["EntityList","EntityListProps","EntityListItem","EntityListItemProps","OriginalEntityList","CompoundEntityList","Item","React","CommonProps","ExpandProps","getEntityListStyles","children","ReactNode","_EntityList","props","ref","Ref","HTMLUListElement","styles","testId","root","className","style","displayName","forwardRef","tokens","display","listStyle","margin","padding","border","gray200","borderBottom","borderRadius","borderRadiusMedium","overflow","MouseEventHandler","EntityStatusBadge","Flex","Box","EntityStatus","PickUnion","AssetIcon","EntryIcon","ReleaseIcon","MoreHorizontalIcon","Icon","Text","DragHandle","DragHandleProps","Button","Menu","Skeleton","getEntityListItemStyles","EntityListItemStatus","ICON_MAP","asset","entry","release","title","description","contentType","status","withThumbnail","thumbnailUrl","thumbnailAltText","actions","ReactNodeArray","withDragHandle","isDragActive","cardDragHandleComponent","cardDragHandleProps","Partial","entityType","isLoading","onClick","href","isActionsDisabled","otherProps","ReactElement","renderCardDragHandle","dragHandle","Element","ElementType","isArchived","asIcon","card","undefined","media","toLowerCase","thumbnail","content","meta","menuTrigger","Pick","boxShadow","position","transition","transitionDurationShort","transitionEasingDefault","transitionProperty","backgroundColor","colorWhite","boxShadowHeavy","gray100","textDecoration","width","minHeight","spacing3Xl","spacingXs","background","textAlign","flexShrink","alignItems","justifyContent","spacing2Xl","height","marginRight","marginLeft","marginTop","spacing2Xs","borderBottomLeftRadius","borderTopLeftRadius"],"version":3,"file":"main.js.map"}
|
package/dist/module.js
DELETED
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import {cx as $qeOF0$cx, css as $qeOF0$css} from "emotion";
|
|
2
|
-
import $qeOF0$react from "react";
|
|
3
|
-
import $qeOF0$contentfulf36tokens from "@contentful/f36-tokens";
|
|
4
|
-
import {EntityStatusBadge as $qeOF0$EntityStatusBadge} from "@contentful/f36-badge";
|
|
5
|
-
import {Flex as $qeOF0$Flex, Box as $qeOF0$Box} from "@contentful/f36-core";
|
|
6
|
-
import {AssetIcon as $qeOF0$AssetIcon, EntryIcon as $qeOF0$EntryIcon, ReleaseIcon as $qeOF0$ReleaseIcon, MoreHorizontalIcon as $qeOF0$MoreHorizontalIcon} from "@contentful/f36-icons";
|
|
7
|
-
import {Icon as $qeOF0$Icon} from "@contentful/f36-icon";
|
|
8
|
-
import {Text as $qeOF0$Text} from "@contentful/f36-typography";
|
|
9
|
-
import {DragHandle as $qeOF0$DragHandle} from "@contentful/f36-drag-handle";
|
|
10
|
-
import {Button as $qeOF0$Button} from "@contentful/f36-button";
|
|
11
|
-
import {Menu as $qeOF0$Menu} from "@contentful/f36-menu";
|
|
12
|
-
import {Skeleton as $qeOF0$Skeleton} from "@contentful/f36-skeleton";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const $32a4ed8cc58cbd41$export$2b0a239870ba448d = ()=>({
|
|
19
|
-
root: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
20
|
-
display: "block",
|
|
21
|
-
listStyle: "none",
|
|
22
|
-
margin: 0,
|
|
23
|
-
padding: 0,
|
|
24
|
-
border: `1px solid ${(0, $qeOF0$contentfulf36tokens).gray200}`,
|
|
25
|
-
borderBottom: "none",
|
|
26
|
-
borderRadius: (0, $qeOF0$contentfulf36tokens).borderRadiusMedium,
|
|
27
|
-
overflow: "hidden"
|
|
28
|
-
})
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
function $3382b9e83b849fa7$var$_EntityList(props, ref) {
|
|
33
|
-
const styles = (0, $32a4ed8cc58cbd41$export$2b0a239870ba448d)();
|
|
34
|
-
return /*#__PURE__*/ (0, $qeOF0$react).createElement("ul", {
|
|
35
|
-
"data-test-id": props.testId || "cf-ui-entity-list",
|
|
36
|
-
ref: ref,
|
|
37
|
-
className: (0, $qeOF0$cx)(styles.root, props.className),
|
|
38
|
-
style: props.style
|
|
39
|
-
}, props.children);
|
|
40
|
-
}
|
|
41
|
-
$3382b9e83b849fa7$var$_EntityList.displayName = "EntityList";
|
|
42
|
-
const $3382b9e83b849fa7$export$8bb466c13870163e = /*#__PURE__*/ (0, $qeOF0$react).forwardRef($3382b9e83b849fa7$var$_EntityList);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const $7cd3138fd5d2efdd$export$3bb342229d68a121 = ()=>({
|
|
59
|
-
root: (props)=>/*#__PURE__*/ (0, $qeOF0$css)({
|
|
60
|
-
display: "flex",
|
|
61
|
-
boxShadow: `inset 0 -1px 0 ${(0, $qeOF0$contentfulf36tokens).gray200}`,
|
|
62
|
-
position: "relative",
|
|
63
|
-
transition: `${(0, $qeOF0$contentfulf36tokens).transitionDurationShort} ${(0, $qeOF0$contentfulf36tokens).transitionEasingDefault}`,
|
|
64
|
-
transitionProperty: "box-shadow, background-color",
|
|
65
|
-
backgroundColor: (0, $qeOF0$contentfulf36tokens).colorWhite,
|
|
66
|
-
...props.isDragActive ? {
|
|
67
|
-
boxShadow: (0, $qeOF0$contentfulf36tokens).boxShadowHeavy
|
|
68
|
-
} : {},
|
|
69
|
-
"&:hover": {
|
|
70
|
-
backgroundColor: (0, $qeOF0$contentfulf36tokens).gray100
|
|
71
|
-
}
|
|
72
|
-
}),
|
|
73
|
-
card: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
74
|
-
display: "flex",
|
|
75
|
-
textDecoration: "none",
|
|
76
|
-
width: "100%",
|
|
77
|
-
minHeight: (0, $qeOF0$contentfulf36tokens).spacing3Xl,
|
|
78
|
-
padding: (0, $qeOF0$contentfulf36tokens).spacingXs,
|
|
79
|
-
border: "none",
|
|
80
|
-
background: "none",
|
|
81
|
-
textAlign: "left"
|
|
82
|
-
}),
|
|
83
|
-
content: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
84
|
-
name: "15ync0s",
|
|
85
|
-
styles: "flex-grow:1;min-width:0;"
|
|
86
|
-
}),
|
|
87
|
-
media: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
88
|
-
display: "flex",
|
|
89
|
-
flexShrink: 0,
|
|
90
|
-
alignItems: "center",
|
|
91
|
-
justifyContent: "center",
|
|
92
|
-
backgroundColor: (0, $qeOF0$contentfulf36tokens).gray200,
|
|
93
|
-
width: (0, $qeOF0$contentfulf36tokens).spacing2Xl,
|
|
94
|
-
height: (0, $qeOF0$contentfulf36tokens).spacing2Xl,
|
|
95
|
-
margin: "0",
|
|
96
|
-
marginRight: (0, $qeOF0$contentfulf36tokens).spacingXs
|
|
97
|
-
}),
|
|
98
|
-
thumbnail: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
99
|
-
name: "12qah06",
|
|
100
|
-
styles: "display:block;width:100%;height:100%;object-fit:cover;"
|
|
101
|
-
}),
|
|
102
|
-
contentType: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
103
|
-
marginLeft: (0, $qeOF0$contentfulf36tokens).spacingXs
|
|
104
|
-
}),
|
|
105
|
-
description: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
106
|
-
marginTop: (0, $qeOF0$contentfulf36tokens).spacing2Xs
|
|
107
|
-
}),
|
|
108
|
-
meta: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
109
|
-
name: "1n0gfod",
|
|
110
|
-
styles: "margin-left:auto;flex-shrink:0;"
|
|
111
|
-
}),
|
|
112
|
-
dragHandle: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
113
|
-
borderBottomLeftRadius: "0",
|
|
114
|
-
borderTopLeftRadius: "0",
|
|
115
|
-
boxShadow: `inset 0 -1px 0 ${(0, $qeOF0$contentfulf36tokens).gray200}`
|
|
116
|
-
}),
|
|
117
|
-
menuTrigger: /*#__PURE__*/ (0, $qeOF0$css)({
|
|
118
|
-
name: "c1v07n",
|
|
119
|
-
styles: "padding:0 0.125rem;min-height:1.5rem;"
|
|
120
|
-
})
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
const $b8d6b7ec5fedd0fe$var$ICON_MAP = {
|
|
125
|
-
asset: (0, $qeOF0$AssetIcon),
|
|
126
|
-
entry: (0, $qeOF0$EntryIcon),
|
|
127
|
-
release: (0, $qeOF0$ReleaseIcon)
|
|
128
|
-
};
|
|
129
|
-
const $b8d6b7ec5fedd0fe$export$65b9c70c5f42a158 = ({ className: className , testId: testId = "cf-ui-entity-list-item" , title: title , description: description , contentType: contentType , entityType: entityType = "entry" , withThumbnail: withThumbnail = true , thumbnailUrl: thumbnailUrl , thumbnailAltText: thumbnailAltText , status: status , actions: actions , withDragHandle: withDragHandle , isDragActive: isDragActive , isLoading: isLoading , onClick: onClick , href: href , cardDragHandleProps: cardDragHandleProps , cardDragHandleComponent: cardDragHandleComponent , isActionsDisabled: isActionsDisabled = false , ...otherProps })=>{
|
|
130
|
-
const styles = (0, $7cd3138fd5d2efdd$export$3bb342229d68a121)();
|
|
131
|
-
const renderCardDragHandle = ()=>{
|
|
132
|
-
if (cardDragHandleComponent) return cardDragHandleComponent;
|
|
133
|
-
else if (withDragHandle) return /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$DragHandle), {
|
|
134
|
-
className: styles.dragHandle,
|
|
135
|
-
isActive: isDragActive,
|
|
136
|
-
label: "Reorder entry",
|
|
137
|
-
...cardDragHandleProps
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
let Element = "article";
|
|
141
|
-
if (href || onClick) Element = href ? "a" : "button";
|
|
142
|
-
// archived assets will not be available on the CDN, resulting in a broken image src
|
|
143
|
-
const isArchived = status === "archived";
|
|
144
|
-
const asIcon = isArchived || !thumbnailUrl;
|
|
145
|
-
return /*#__PURE__*/ (0, $qeOF0$react).createElement("li", {
|
|
146
|
-
...otherProps,
|
|
147
|
-
className: (0, $qeOF0$cx)(styles.root({
|
|
148
|
-
isDragActive: isDragActive
|
|
149
|
-
}), className),
|
|
150
|
-
"data-test-id": testId
|
|
151
|
-
}, renderCardDragHandle(), isLoading ? /*#__PURE__*/ (0, $qeOF0$react).createElement("article", {
|
|
152
|
-
className: styles.card
|
|
153
|
-
}, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Skeleton).Container, {
|
|
154
|
-
clipId: "f36-entity-list-item-skeleton"
|
|
155
|
-
}, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Skeleton).Image, {
|
|
156
|
-
height: 46,
|
|
157
|
-
width: 46
|
|
158
|
-
}), /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Skeleton).BodyText, {
|
|
159
|
-
numberOfLines: 2,
|
|
160
|
-
lineHeight: 18,
|
|
161
|
-
offsetLeft: 54
|
|
162
|
-
}))) : /*#__PURE__*/ (0, $qeOF0$react).createElement(Element, {
|
|
163
|
-
className: styles.card,
|
|
164
|
-
onClick: onClick,
|
|
165
|
-
href: href,
|
|
166
|
-
type: Element === "button" ? "button" : undefined,
|
|
167
|
-
target: href ? "_blank" : undefined
|
|
168
|
-
}, withThumbnail && /*#__PURE__*/ (0, $qeOF0$react).createElement("figure", {
|
|
169
|
-
className: styles.media
|
|
170
|
-
}, asIcon ? /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Icon), {
|
|
171
|
-
as: $b8d6b7ec5fedd0fe$var$ICON_MAP[entityType.toLowerCase()],
|
|
172
|
-
variant: "muted"
|
|
173
|
-
}) : /*#__PURE__*/ (0, $qeOF0$react).createElement("img", {
|
|
174
|
-
src: thumbnailUrl,
|
|
175
|
-
className: styles.thumbnail,
|
|
176
|
-
alt: thumbnailAltText
|
|
177
|
-
})), /*#__PURE__*/ (0, $qeOF0$react).createElement("div", {
|
|
178
|
-
className: styles.content
|
|
179
|
-
}, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Flex), null, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Text), {
|
|
180
|
-
as: "h3",
|
|
181
|
-
lineHeight: "lineHeightM",
|
|
182
|
-
fontColor: "gray900",
|
|
183
|
-
fontWeight: "fontWeightDemiBold",
|
|
184
|
-
isTruncated: true
|
|
185
|
-
}, title), contentType && /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Text), {
|
|
186
|
-
as: "span",
|
|
187
|
-
lineHeight: "lineHeightM",
|
|
188
|
-
fontColor: "gray600",
|
|
189
|
-
className: styles.contentType,
|
|
190
|
-
isTruncated: true
|
|
191
|
-
}, "(", contentType, ")")), description && /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Text), {
|
|
192
|
-
as: "p",
|
|
193
|
-
lineHeight: "lineHeightM",
|
|
194
|
-
fontColor: "gray900",
|
|
195
|
-
isTruncated: true,
|
|
196
|
-
className: styles.description
|
|
197
|
-
}, description)), /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Flex), {
|
|
198
|
-
className: styles.meta,
|
|
199
|
-
alignItems: "flex-start",
|
|
200
|
-
paddingLeft: "spacingXs"
|
|
201
|
-
}, status && /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Box), {
|
|
202
|
-
marginRight: actions ? "spacingXs" : "none"
|
|
203
|
-
}, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$EntityStatusBadge), {
|
|
204
|
-
entityStatus: status
|
|
205
|
-
})), actions && /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Menu), null, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Menu).Trigger, null, /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Button), {
|
|
206
|
-
isDisabled: isActionsDisabled,
|
|
207
|
-
startIcon: /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$MoreHorizontalIcon), null),
|
|
208
|
-
variant: "transparent",
|
|
209
|
-
"aria-label": "Actions",
|
|
210
|
-
size: "small",
|
|
211
|
-
className: styles.menuTrigger
|
|
212
|
-
})), /*#__PURE__*/ (0, $qeOF0$react).createElement((0, $qeOF0$Menu).List, null, actions)))));
|
|
213
|
-
};
|
|
214
|
-
$b8d6b7ec5fedd0fe$export$65b9c70c5f42a158.displayName = "EntityListItem";
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const $bbd0ee2d7d3132a2$export$8bb466c13870163e = (0, $3382b9e83b849fa7$export$8bb466c13870163e);
|
|
218
|
-
$bbd0ee2d7d3132a2$export$8bb466c13870163e.Item = (0, $b8d6b7ec5fedd0fe$export$65b9c70c5f42a158);
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
export {$bbd0ee2d7d3132a2$export$8bb466c13870163e as EntityList, $b8d6b7ec5fedd0fe$export$65b9c70c5f42a158 as EntityListItem};
|
|
225
|
-
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/components/entity-list/src/index.ts","packages/components/entity-list/src/CompoundEntityList.tsx","packages/components/entity-list/src/EntityList.tsx","packages/components/entity-list/src/EntityList.styles.ts","packages/components/entity-list/src/EntityListItem/EntityListItem.tsx","packages/components/entity-list/src/EntityListItem/EntityListItem.styles.ts"],"sourcesContent":["export { EntityList } from './CompoundEntityList';\nexport type { EntityListProps } from './EntityList';\nexport { EntityListItem } from './EntityListItem/EntityListItem';\nexport type { EntityListItemProps } from './EntityListItem/EntityListItem';\n","import { EntityList as OriginalEntityList } from './EntityList';\nimport { EntityListItem } from './EntityListItem/EntityListItem';\n\ntype CompoundEntityList = typeof OriginalEntityList & {\n Item: typeof EntityListItem;\n};\n\nexport const EntityList = OriginalEntityList as CompoundEntityList;\nEntityList.Item = EntityListItem;\n","import React from 'react';\nimport { cx } from 'emotion';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\n\nimport { getEntityListStyles } from './EntityList.styles';\n\nexport interface EntityListProps extends CommonProps {\n children?: React.ReactNode;\n}\n\nfunction _EntityList(\n props: ExpandProps<EntityListProps>,\n ref: React.Ref<HTMLUListElement>,\n) {\n const styles = getEntityListStyles();\n\n return (\n <ul\n data-test-id={props.testId || 'cf-ui-entity-list'}\n ref={ref}\n className={cx(styles.root, props.className)}\n style={props.style}\n >\n {props.children}\n </ul>\n );\n}\n\n_EntityList.displayName = 'EntityList';\n\nexport const EntityList = React.forwardRef(_EntityList);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getEntityListStyles = () => ({\n root: css({\n display: 'block',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n border: `1px solid ${tokens.gray200}`,\n borderBottom: 'none',\n borderRadius: tokens.borderRadiusMedium,\n overflow: 'hidden',\n }),\n});\n","import React, { type MouseEventHandler } from 'react';\nimport { cx } from 'emotion';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Flex,\n Box,\n type CommonProps,\n type EntityStatus,\n type PickUnion,\n} from '@contentful/f36-core';\nimport {\n AssetIcon,\n EntryIcon,\n ReleaseIcon,\n MoreHorizontalIcon,\n} from '@contentful/f36-icons';\nimport { Icon } from '@contentful/f36-icon';\nimport { Text } from '@contentful/f36-typography';\nimport { DragHandle, type DragHandleProps } from '@contentful/f36-drag-handle';\nimport { Button } from '@contentful/f36-button';\nimport { Menu } from '@contentful/f36-menu';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getEntityListItemStyles } from './EntityListItem.styles';\n\ntype EntityListItemStatus = PickUnion<\n EntityStatus,\n 'archived' | 'changed' | 'draft' | 'published'\n>;\n\nconst ICON_MAP = {\n asset: AssetIcon,\n entry: EntryIcon,\n release: ReleaseIcon,\n};\n\nexport interface EntityListItemProps extends CommonProps {\n /**\n * The title of the entity\n */\n title: string;\n /**\n * The description of the entity\n */\n description?: string;\n /**\n * The content type of the entity\n */\n contentType?: string;\n /**\n * The publish status of the entry\n */\n status?: EntityListItemStatus;\n /**\n * A boolean used to render the Thumbnail or not\n */\n withThumbnail?: boolean;\n /**\n * The URL of the entity's preview thumbnail. Use 46px x 46px images for best results\n */\n thumbnailUrl?: string;\n /**\n * The alt text for the thumbnail\n */\n thumbnailAltText?: string;\n /**\n * Menu elements rendered as actions in Menu\n */\n actions?: React.ReactNodeArray;\n /**\n * Renders a drag handle for the component for use in drag and drop contexts\n */\n withDragHandle?: boolean;\n /**\n * Applies styling for when the component is actively being dragged by the user\n */\n isDragActive?: boolean;\n /**\n * Prop to pass a custom CardDragHandle component to for use in drag and drop contexts\n */\n cardDragHandleComponent?: React.ReactNode;\n /**\n * Props to pass down to the default CardDragHandle component (does not work with cardDragHandleComponent prop)\n */\n cardDragHandleProps?: Partial<DragHandleProps>;\n /**\n * An entity can either be an Entry, an Asset or a Release. This prop will apply styling based on if the entity is an asset, a release or an entry\n *\n * Note: 'entry' and 'asset' are @deprecated but supported in v1.x for backwards compatibility\n */\n entityType?: 'Entry' | 'Asset' | 'entry' | 'asset' | 'Release';\n /**\n * Loading state for the component - when true will display loading feedback to the user\n */\n isLoading?: boolean;\n /**\n * The action to be performed on click of the EntryCard\n */\n onClick?: MouseEventHandler;\n /**\n * The href for the component. Will render the card as an `a` element for native browser link handling\n */\n href?: string;\n /**\n * A boolean used to disable the CardActions\n */\n isActionsDisabled?: boolean;\n}\n\nexport const EntityListItem = ({\n className,\n testId = 'cf-ui-entity-list-item',\n title,\n description,\n contentType,\n entityType = 'entry',\n withThumbnail = true,\n thumbnailUrl,\n thumbnailAltText,\n status,\n actions,\n withDragHandle,\n isDragActive,\n isLoading,\n onClick,\n href,\n cardDragHandleProps,\n cardDragHandleComponent,\n isActionsDisabled = false,\n ...otherProps\n}: EntityListItemProps): React.ReactElement => {\n const styles = getEntityListItemStyles();\n\n const renderCardDragHandle = () => {\n if (cardDragHandleComponent) {\n return cardDragHandleComponent;\n } else if (withDragHandle) {\n return (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragActive}\n label=\"Reorder entry\"\n {...cardDragHandleProps}\n />\n );\n }\n };\n\n let Element: React.ElementType = 'article';\n if (href || onClick) {\n Element = href ? 'a' : 'button';\n }\n\n // archived assets will not be available on the CDN, resulting in a broken image src\n const isArchived = status === 'archived';\n const asIcon = isArchived || !thumbnailUrl;\n\n return (\n <li\n {...otherProps}\n className={cx(styles.root({ isDragActive }), className)}\n data-test-id={testId}\n >\n {renderCardDragHandle()}\n {isLoading ? (\n <article className={styles.card}>\n <Skeleton.Container clipId=\"f36-entity-list-item-skeleton\">\n <Skeleton.Image height={46} width={46} />\n <Skeleton.BodyText\n numberOfLines={2}\n lineHeight={18}\n offsetLeft={54}\n />\n </Skeleton.Container>\n </article>\n ) : (\n <Element\n className={styles.card}\n onClick={onClick}\n href={href}\n type={Element === 'button' ? 'button' : undefined}\n target={href ? '_blank' : undefined}\n >\n {withThumbnail && (\n <figure className={styles.media}>\n {asIcon ? (\n <Icon as={ICON_MAP[entityType.toLowerCase()]} variant=\"muted\" />\n ) : (\n <img\n src={thumbnailUrl}\n className={styles.thumbnail}\n alt={thumbnailAltText}\n />\n )}\n </figure>\n )}\n\n <div className={styles.content}>\n <Flex>\n <Text\n as=\"h3\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n fontWeight=\"fontWeightDemiBold\"\n isTruncated\n >\n {title}\n </Text>\n\n {contentType && (\n <Text\n as=\"span\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray600\"\n className={styles.contentType}\n isTruncated\n >\n ({contentType})\n </Text>\n )}\n </Flex>\n {description && (\n <Text\n as=\"p\"\n lineHeight=\"lineHeightM\"\n fontColor=\"gray900\"\n isTruncated\n className={styles.description}\n >\n {description}\n </Text>\n )}\n </div>\n\n <Flex\n className={styles.meta}\n alignItems=\"flex-start\"\n paddingLeft=\"spacingXs\"\n >\n {status && (\n <Box marginRight={actions ? 'spacingXs' : 'none'}>\n <EntityStatusBadge entityStatus={status} />\n </Box>\n )}\n\n {actions && (\n <Menu>\n <Menu.Trigger>\n <Button\n isDisabled={isActionsDisabled}\n startIcon={<MoreHorizontalIcon />}\n variant=\"transparent\"\n aria-label=\"Actions\"\n size=\"small\"\n className={styles.menuTrigger}\n />\n </Menu.Trigger>\n <Menu.List>{actions}</Menu.List>\n </Menu>\n )}\n </Flex>\n </Element>\n )}\n </li>\n );\n};\n\nEntityListItem.displayName = 'EntityListItem';\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { EntityListItemProps } from './EntityListItem';\n\nexport const getEntityListItemStyles = () => ({\n root: (props: Pick<EntityListItemProps, 'isDragActive'>) =>\n css({\n display: 'flex',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n position: 'relative',\n transition: `${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n transitionProperty: 'box-shadow, background-color',\n backgroundColor: tokens.colorWhite,\n ...(props.isDragActive\n ? {\n boxShadow: tokens.boxShadowHeavy,\n }\n : {}),\n\n '&:hover': {\n backgroundColor: tokens.gray100,\n },\n }),\n card: css({\n display: 'flex',\n textDecoration: 'none',\n width: '100%',\n minHeight: tokens.spacing3Xl,\n padding: tokens.spacingXs,\n border: 'none',\n background: 'none',\n textAlign: 'left',\n }),\n content: css({\n flexGrow: 1,\n minWidth: 0,\n }),\n media: css({\n display: 'flex',\n flexShrink: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: tokens.gray200,\n width: tokens.spacing2Xl,\n height: tokens.spacing2Xl,\n margin: '0',\n marginRight: tokens.spacingXs,\n }),\n thumbnail: css({\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n contentType: css({\n marginLeft: tokens.spacingXs,\n }),\n description: css({\n marginTop: tokens.spacing2Xs,\n }),\n meta: css({\n marginLeft: 'auto',\n flexShrink: 0,\n }),\n dragHandle: css({\n borderBottomLeftRadius: '0',\n borderTopLeftRadius: '0',\n boxShadow: `inset 0 -1px 0 ${tokens.gray200}`,\n }),\n menuTrigger: css({\n padding: '0 0.125rem',\n minHeight: '1.5rem',\n }),\n});\n"],"names":["EntityList","EntityListProps","EntityListItem","EntityListItemProps","OriginalEntityList","CompoundEntityList","Item","React","CommonProps","ExpandProps","getEntityListStyles","children","ReactNode","_EntityList","props","ref","Ref","HTMLUListElement","styles","testId","root","className","style","displayName","forwardRef","tokens","display","listStyle","margin","padding","border","gray200","borderBottom","borderRadius","borderRadiusMedium","overflow","MouseEventHandler","EntityStatusBadge","Flex","Box","EntityStatus","PickUnion","AssetIcon","EntryIcon","ReleaseIcon","MoreHorizontalIcon","Icon","Text","DragHandle","DragHandleProps","Button","Menu","Skeleton","getEntityListItemStyles","EntityListItemStatus","ICON_MAP","asset","entry","release","title","description","contentType","status","withThumbnail","thumbnailUrl","thumbnailAltText","actions","ReactNodeArray","withDragHandle","isDragActive","cardDragHandleComponent","cardDragHandleProps","Partial","entityType","isLoading","onClick","href","isActionsDisabled","otherProps","ReactElement","renderCardDragHandle","dragHandle","Element","ElementType","isArchived","asIcon","card","undefined","media","toLowerCase","thumbnail","content","meta","menuTrigger","Pick","boxShadow","position","transition","transitionDurationShort","transitionEasingDefault","transitionProperty","backgroundColor","colorWhite","boxShadowHeavy","gray100","textDecoration","width","minHeight","spacing3Xl","spacingXs","background","textAlign","flexShrink","alignItems","justifyContent","spacing2Xl","height","marginRight","marginLeft","marginTop","spacing2Xs","borderBottomLeftRadius","borderTopLeftRadius"],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;ACMA,gCAAiC,SAAQ,WAAW;IAClD,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;CAC5B;AAsBD,QAAO,MAAM,sGAA0C,CAAC;AELxD,4BAA4B,UAC1B,YAAY,EACZ,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAC/C,CAAC;AAQF,oCAAqC,SAAQ,WAAW;IACtD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,cAAc,CAAC;IAC/B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,SAAS,CAAC;IAC1C;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/D;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,OAAO,MAAM;iRAqBV,mBAAmB,GAAG,MAAM,YAAY;;CAuI1C,CAAC;ACtQF,0BAA0B,mBAAyB,GAAG;IACpD,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,OAAO,MAAM,8BAAqD,CAAC","sources":["packages/components/entity-list/src/src/EntityList.styles.ts","packages/components/entity-list/src/src/EntityList.tsx","packages/components/entity-list/src/src/EntityListItem/EntityListItem.styles.ts","packages/components/entity-list/src/src/EntityListItem/EntityListItem.tsx","packages/components/entity-list/src/src/CompoundEntityList.tsx","packages/components/entity-list/src/src/index.ts","packages/components/entity-list/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,"export { EntityList } from './CompoundEntityList';\nexport type { EntityListProps } from './EntityList';\nexport { EntityListItem } from './EntityListItem/EntityListItem';\nexport type { EntityListItemProps } from './EntityListItem/EntityListItem';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|