{
  "version": 3,
  "sources": ["../../../../src/components/dataviews-layouts/activity/activity-item.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useRef, useContext, useMemo } from '@wordpress/element';\nimport { useRegistry } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Stack } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport ItemActions, { PrimaryActions } from '../../dataviews-item-actions';\nimport DataViewsContext from '../../dataviews-context';\nimport { ItemClickWrapper } from '../utils/item-click-wrapper';\nimport type { NormalizedField, ViewActivityProps } from '../../../types';\n\nfunction ActivityItem< Item >(\n\tprops: ViewActivityProps< Item > & {\n\t\titem: Item;\n\t\tmediaField?: NormalizedField< Item >;\n\t\ttitleField?: NormalizedField< Item >;\n\t\tdescriptionField?: NormalizedField< Item >;\n\t\totherFields: NormalizedField< Item >[];\n\t\tposinset?: number;\n\t}\n) {\n\tconst {\n\t\tview,\n\t\tactions,\n\t\titem,\n\t\ttitleField,\n\t\tmediaField,\n\t\tdescriptionField,\n\t\totherFields,\n\t\tposinset,\n\t\tonClickItem,\n\t\trenderItemLink,\n\t\tisItemClickable,\n\t} = props;\n\tconst {\n\t\tshowTitle = true,\n\t\tshowMedia = true,\n\t\tshowDescription = true,\n\t\tinfiniteScrollEnabled,\n\t} = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst registry = useRegistry();\n\tconst { paginationInfo } = useContext( DataViewsContext );\n\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst density = view.layout?.density ?? 'balanced';\n\tconst mediaContent =\n\t\tshowMedia && density !== 'compact' && mediaField?.render ? (\n\t\t\t<mediaField.render\n\t\t\t\titem={ item }\n\t\t\t\tfield={ mediaField }\n\t\t\t\tconfig={ {\n\t\t\t\t\tsizes: density === 'comfortable' ? '32px' : '24px',\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : null;\n\n\tconst renderedMediaField = (\n\t\t<div className=\"dataviews-view-activity__item-type-icon\">\n\t\t\t{ mediaContent || (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"dataviews-view-activity__item-bullet\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\n\tconst verticalGap = useMemo( () => {\n\t\tswitch ( density ) {\n\t\t\tcase 'comfortable':\n\t\t\t\treturn 'md';\n\t\t\tdefault:\n\t\t\t\treturn 'sm';\n\t\t}\n\t}, [ density ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ itemRef }\n\t\t\trole={ infiniteScrollEnabled ? 'article' : undefined }\n\t\t\taria-posinset={ posinset }\n\t\t\taria-setsize={\n\t\t\t\tinfiniteScrollEnabled ? paginationInfo.totalItems : undefined\n\t\t\t}\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-view-activity__item',\n\t\t\t\tdensity === 'compact' && 'is-compact',\n\t\t\t\tdensity === 'balanced' && 'is-balanced',\n\t\t\t\tdensity === 'comfortable' && 'is-comfortable'\n\t\t\t) }\n\t\t>\n\t\t\t<Stack direction=\"row\" gap=\"lg\" justify=\"start\" align=\"flex-start\">\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\tgap=\"xs\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tclassName=\"dataviews-view-activity__item-type\"\n\t\t\t\t>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</Stack>\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\tgap={ verticalGap }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tclassName=\"dataviews-view-activity__item-content\"\n\t\t\t\t>\n\t\t\t\t\t{ renderedTitleField && (\n\t\t\t\t\t\t<ItemClickWrapper\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\tclassName=\"dataviews-view-activity__item-title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t</ItemClickWrapper>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDescription && descriptionField && (\n\t\t\t\t\t\t<div className=\"dataviews-view-activity__item-description\">\n\t\t\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<div className=\"dataviews-view-activity__item-fields\">\n\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-activity__item-field\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-activity__item-field-label\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-activity__item-field-value\">\n\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ !! primaryActions?.length && (\n\t\t\t\t\t\t<PrimaryActions\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tactions={ primaryActions }\n\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Stack>\n\t\t\t\t{ ( primaryActions.length < eligibleActions.length ||\n\t\t\t\t\t// Since we hide primary actions on mobile, we need to show the menu\n\t\t\t\t\t// there if there are any actions at all.\n\t\t\t\t\t( isMobileViewport &&\n\t\t\t\t\t\t// At the same time, only show the menu if there are actions to show.\n\t\t\t\t\t\teligibleActions.length > 0 ) ) && (\n\t\t\t\t\t<div className=\"dataviews-view-activity__item-actions\">\n\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</Stack>\n\t\t</div>\n\t);\n}\n\nexport default ActivityItem;\n"],
  "mappings": "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",
  "names": ["DataViewsContext", "clsx", "ItemActions"]
}
