@wordpress/dataviews 4.4.6 → 4.4.8
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/build/dataviews-layouts/list/index.js +70 -75
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +70 -75
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-style/style-rtl.css +29 -31
- package/build-style/style.css +29 -31
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/dataviews-layouts/list/index.tsx +81 -100
- package/src/dataviews-layouts/list/style.scss +32 -43
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useInstanceId","usePrevious","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","privateApis","componentsPrivateApis","Spinner","VisuallyHidden","Composite","useCallback","useEffect","useMemo","useRef","useState","__","moreVertical","useRegistry","unlock","ActionsDropdownMenuGroup","ActionModal","jsx","_jsx","jsxs","_jsxs","DropdownMenuV2","DropdownMenu","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","isModalOpen","setIsModalOpen","compositeItemId","id","label","role","children","Item","render","icon","isDestructive","size","onClick","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","labelId","descriptionId","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","current","scrollIntoView","behavior","block","inline","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","Row","ref","onMouseEnter","onMouseLeave","alignment","spacing","justify","map","field","as","length","style","flexShrink","width","trigger","accessibleWhenDisabled","disabled","onKeyDown","placement","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { DropdownMenuV2: DropdownMenu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, 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 && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\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\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t</div>\n\t\t\t\t{ eligibleActions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && (\n\t\t\t\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useInstanceId","usePrevious","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","privateApis","componentsPrivateApis","Spinner","VisuallyHidden","Composite","useCallback","useEffect","useMemo","useRef","useState","__","moreVertical","useRegistry","unlock","ActionsDropdownMenuGroup","ActionModal","jsx","_jsx","jsxs","_jsxs","DropdownMenuV2","DropdownMenu","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","isModalOpen","setIsModalOpen","compositeItemId","id","label","role","children","Item","render","icon","isDestructive","size","onClick","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","labelId","descriptionId","isHovered","setIsHovered","handleHover","type","isHover","current","scrollIntoView","behavior","block","inline","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","usedActions","length","spacing","trigger","accessibleWhenDisabled","disabled","onKeyDown","placement","Row","ref","onMouseEnter","onMouseLeave","justify","alignment","map","field","as","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { DropdownMenuV2: DropdownMenu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, 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 && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\tonKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t>\n\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownMenu>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t</div>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -810,44 +810,31 @@ ul.dataviews-view-list {
|
|
|
810
810
|
}
|
|
811
811
|
.dataviews-view-list li {
|
|
812
812
|
margin: 0;
|
|
813
|
-
cursor: pointer;
|
|
814
813
|
border-top: 1px solid #f0f0f0;
|
|
815
814
|
}
|
|
816
815
|
.dataviews-view-list li .dataviews-view-list__item-wrapper {
|
|
817
816
|
position: relative;
|
|
818
|
-
|
|
819
|
-
}
|
|
820
|
-
.dataviews-view-list li .dataviews-view-list__item-wrapper > * {
|
|
821
|
-
width: 100%;
|
|
817
|
+
padding: 16px 24px;
|
|
822
818
|
}
|
|
823
819
|
.dataviews-view-list li .dataviews-view-list__item-actions {
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
left: 0;
|
|
820
|
+
flex: 0;
|
|
821
|
+
overflow: hidden;
|
|
827
822
|
}
|
|
828
823
|
.dataviews-view-list li .dataviews-view-list__item-actions > div {
|
|
829
824
|
height: 24px;
|
|
830
825
|
}
|
|
831
826
|
.dataviews-view-list li .dataviews-view-list__item-actions .components-button {
|
|
827
|
+
position: relative;
|
|
828
|
+
z-index: 1;
|
|
832
829
|
opacity: 0;
|
|
833
830
|
}
|
|
834
|
-
.dataviews-view-list li:
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__item-actions, .dataviews-view-list li.is-hovered .dataviews-view-list__item-actions, .dataviews-view-list li:focus-within .dataviews-view-list__item-actions {
|
|
839
|
-
background: #f8f8f8;
|
|
840
|
-
padding-right: 8px;
|
|
841
|
-
margin-left: 24px;
|
|
842
|
-
box-shadow: 12px 0 8px 0 #f8f8f8;
|
|
831
|
+
.dataviews-view-list li:where(.is-selected, .is-hovered, :focus-within) .dataviews-view-list__item-actions {
|
|
832
|
+
flex-basis: min-content;
|
|
833
|
+
overflow: unset;
|
|
834
|
+
padding-inline-end: 4px;
|
|
843
835
|
}
|
|
844
|
-
.dataviews-view-list li.is-selected
|
|
836
|
+
.dataviews-view-list li:where(.is-selected, .is-hovered, :focus-within) .dataviews-view-list__item-actions .components-button {
|
|
845
837
|
opacity: 1;
|
|
846
|
-
position: static;
|
|
847
|
-
}
|
|
848
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__item-actions {
|
|
849
|
-
background-color: #f7f8ff;
|
|
850
|
-
box-shadow: 12px 0 8px 0 #f7f8ff;
|
|
851
838
|
}
|
|
852
839
|
.dataviews-view-list li.is-selected.is-selected {
|
|
853
840
|
border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
|
|
@@ -880,26 +867,36 @@ ul.dataviews-view-list {
|
|
|
880
867
|
color: var(--wp-admin-theme-color);
|
|
881
868
|
}
|
|
882
869
|
.dataviews-view-list .dataviews-view-list__item {
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
870
|
+
position: absolute;
|
|
871
|
+
z-index: 1;
|
|
872
|
+
inset: 0;
|
|
886
873
|
scroll-margin: 8px 0;
|
|
874
|
+
appearance: none;
|
|
875
|
+
border: none;
|
|
876
|
+
background: none;
|
|
877
|
+
padding: 0;
|
|
878
|
+
cursor: pointer;
|
|
879
|
+
}
|
|
880
|
+
.dataviews-view-list .dataviews-view-list__item:focus-visible {
|
|
881
|
+
outline: none;
|
|
887
882
|
}
|
|
888
883
|
.dataviews-view-list .dataviews-view-list__item:focus-visible::before {
|
|
889
884
|
position: absolute;
|
|
890
885
|
content: "";
|
|
891
|
-
|
|
892
|
-
left: var(--wp-admin-border-width-focus);
|
|
893
|
-
bottom: var(--wp-admin-border-width-focus);
|
|
894
|
-
right: var(--wp-admin-border-width-focus);
|
|
886
|
+
inset: var(--wp-admin-border-width-focus);
|
|
895
887
|
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
896
888
|
border-radius: 2px;
|
|
889
|
+
outline: 2px solid transparent;
|
|
897
890
|
}
|
|
898
|
-
.dataviews-view-list .dataviews-view-
|
|
891
|
+
.dataviews-view-list .dataviews-view-list__primary-field {
|
|
892
|
+
flex: 1;
|
|
899
893
|
min-height: 24px;
|
|
900
894
|
line-height: 24px;
|
|
901
895
|
overflow: hidden;
|
|
902
896
|
}
|
|
897
|
+
.dataviews-view-list .dataviews-view-list__primary-field:has(a, button) {
|
|
898
|
+
z-index: 1;
|
|
899
|
+
}
|
|
903
900
|
.dataviews-view-list .dataviews-view-list__media-wrapper {
|
|
904
901
|
width: 52px;
|
|
905
902
|
height: 52px;
|
|
@@ -931,6 +928,7 @@ ul.dataviews-view-list {
|
|
|
931
928
|
}
|
|
932
929
|
.dataviews-view-list .dataviews-view-list__field-wrapper {
|
|
933
930
|
min-height: 52px;
|
|
931
|
+
flex-grow: 1;
|
|
934
932
|
}
|
|
935
933
|
.dataviews-view-list .dataviews-view-list__fields {
|
|
936
934
|
color: #757575;
|
package/build-style/style.css
CHANGED
|
@@ -810,44 +810,31 @@ ul.dataviews-view-list {
|
|
|
810
810
|
}
|
|
811
811
|
.dataviews-view-list li {
|
|
812
812
|
margin: 0;
|
|
813
|
-
cursor: pointer;
|
|
814
813
|
border-top: 1px solid #f0f0f0;
|
|
815
814
|
}
|
|
816
815
|
.dataviews-view-list li .dataviews-view-list__item-wrapper {
|
|
817
816
|
position: relative;
|
|
818
|
-
|
|
819
|
-
}
|
|
820
|
-
.dataviews-view-list li .dataviews-view-list__item-wrapper > * {
|
|
821
|
-
width: 100%;
|
|
817
|
+
padding: 16px 24px;
|
|
822
818
|
}
|
|
823
819
|
.dataviews-view-list li .dataviews-view-list__item-actions {
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
right: 0;
|
|
820
|
+
flex: 0;
|
|
821
|
+
overflow: hidden;
|
|
827
822
|
}
|
|
828
823
|
.dataviews-view-list li .dataviews-view-list__item-actions > div {
|
|
829
824
|
height: 24px;
|
|
830
825
|
}
|
|
831
826
|
.dataviews-view-list li .dataviews-view-list__item-actions .components-button {
|
|
827
|
+
position: relative;
|
|
828
|
+
z-index: 1;
|
|
832
829
|
opacity: 0;
|
|
833
830
|
}
|
|
834
|
-
.dataviews-view-list li:
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__item-actions, .dataviews-view-list li.is-hovered .dataviews-view-list__item-actions, .dataviews-view-list li:focus-within .dataviews-view-list__item-actions {
|
|
839
|
-
background: #f8f8f8;
|
|
840
|
-
padding-left: 8px;
|
|
841
|
-
margin-right: 24px;
|
|
842
|
-
box-shadow: -12px 0 8px 0 #f8f8f8;
|
|
831
|
+
.dataviews-view-list li:where(.is-selected, .is-hovered, :focus-within) .dataviews-view-list__item-actions {
|
|
832
|
+
flex-basis: min-content;
|
|
833
|
+
overflow: unset;
|
|
834
|
+
padding-inline-end: 4px;
|
|
843
835
|
}
|
|
844
|
-
.dataviews-view-list li.is-selected
|
|
836
|
+
.dataviews-view-list li:where(.is-selected, .is-hovered, :focus-within) .dataviews-view-list__item-actions .components-button {
|
|
845
837
|
opacity: 1;
|
|
846
|
-
position: static;
|
|
847
|
-
}
|
|
848
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__item-actions {
|
|
849
|
-
background-color: #f7f8ff;
|
|
850
|
-
box-shadow: -12px 0 8px 0 #f7f8ff;
|
|
851
838
|
}
|
|
852
839
|
.dataviews-view-list li.is-selected.is-selected {
|
|
853
840
|
border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
|
|
@@ -880,26 +867,36 @@ ul.dataviews-view-list {
|
|
|
880
867
|
color: var(--wp-admin-theme-color);
|
|
881
868
|
}
|
|
882
869
|
.dataviews-view-list .dataviews-view-list__item {
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
870
|
+
position: absolute;
|
|
871
|
+
z-index: 1;
|
|
872
|
+
inset: 0;
|
|
886
873
|
scroll-margin: 8px 0;
|
|
874
|
+
appearance: none;
|
|
875
|
+
border: none;
|
|
876
|
+
background: none;
|
|
877
|
+
padding: 0;
|
|
878
|
+
cursor: pointer;
|
|
879
|
+
}
|
|
880
|
+
.dataviews-view-list .dataviews-view-list__item:focus-visible {
|
|
881
|
+
outline: none;
|
|
887
882
|
}
|
|
888
883
|
.dataviews-view-list .dataviews-view-list__item:focus-visible::before {
|
|
889
884
|
position: absolute;
|
|
890
885
|
content: "";
|
|
891
|
-
|
|
892
|
-
right: var(--wp-admin-border-width-focus);
|
|
893
|
-
bottom: var(--wp-admin-border-width-focus);
|
|
894
|
-
left: var(--wp-admin-border-width-focus);
|
|
886
|
+
inset: var(--wp-admin-border-width-focus);
|
|
895
887
|
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
896
888
|
border-radius: 2px;
|
|
889
|
+
outline: 2px solid transparent;
|
|
897
890
|
}
|
|
898
|
-
.dataviews-view-list .dataviews-view-
|
|
891
|
+
.dataviews-view-list .dataviews-view-list__primary-field {
|
|
892
|
+
flex: 1;
|
|
899
893
|
min-height: 24px;
|
|
900
894
|
line-height: 24px;
|
|
901
895
|
overflow: hidden;
|
|
902
896
|
}
|
|
897
|
+
.dataviews-view-list .dataviews-view-list__primary-field:has(a, button) {
|
|
898
|
+
z-index: 1;
|
|
899
|
+
}
|
|
903
900
|
.dataviews-view-list .dataviews-view-list__media-wrapper {
|
|
904
901
|
width: 52px;
|
|
905
902
|
height: 52px;
|
|
@@ -931,6 +928,7 @@ ul.dataviews-view-list {
|
|
|
931
928
|
}
|
|
932
929
|
.dataviews-view-list .dataviews-view-list__field-wrapper {
|
|
933
930
|
min-height: 52px;
|
|
931
|
+
flex-grow: 1;
|
|
934
932
|
}
|
|
935
933
|
.dataviews-view-list .dataviews-view-list__fields {
|
|
936
934
|
color: #757575;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/list/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/list/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,aAAa,CAAC;AAiQ1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,KAAK,EAAE,aAAa,CAAE,IAAI,CAAE,+BAyLrE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/dataviews",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.8",
|
|
4
4
|
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@ariakit/react": "^0.4.10",
|
|
32
32
|
"@babel/runtime": "^7.16.0",
|
|
33
|
-
"@wordpress/components": "^28.8.
|
|
33
|
+
"@wordpress/components": "^28.8.8",
|
|
34
34
|
"@wordpress/compose": "^7.8.3",
|
|
35
35
|
"@wordpress/data": "^10.8.3",
|
|
36
36
|
"@wordpress/element": "^6.8.1",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "b78063a69a8154bed32c2217ffbaf911852cffb5"
|
|
52
52
|
}
|
|
@@ -145,11 +145,9 @@ function ListItem< Item >( {
|
|
|
145
145
|
const descriptionId = `${ idPrefix }-description`;
|
|
146
146
|
|
|
147
147
|
const [ isHovered, setIsHovered ] = useState( false );
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const handleMouseLeave = () => {
|
|
152
|
-
setIsHovered( false );
|
|
148
|
+
const handleHover: React.MouseEventHandler = ( { type } ) => {
|
|
149
|
+
const isHover = type === 'mouseenter';
|
|
150
|
+
setIsHovered( isHover );
|
|
153
151
|
};
|
|
154
152
|
|
|
155
153
|
useEffect( () => {
|
|
@@ -187,6 +185,45 @@ function ListItem< Item >( {
|
|
|
187
185
|
<primaryField.render item={ item } />
|
|
188
186
|
) : null;
|
|
189
187
|
|
|
188
|
+
const usedActions = eligibleActions?.length > 0 && (
|
|
189
|
+
<HStack spacing={ 3 } className="dataviews-view-list__item-actions">
|
|
190
|
+
{ primaryAction && (
|
|
191
|
+
<PrimaryActionGridCell
|
|
192
|
+
idPrefix={ idPrefix }
|
|
193
|
+
primaryAction={ primaryAction }
|
|
194
|
+
item={ item }
|
|
195
|
+
/>
|
|
196
|
+
) }
|
|
197
|
+
<div role="gridcell">
|
|
198
|
+
<DropdownMenu
|
|
199
|
+
trigger={
|
|
200
|
+
<Composite.Item
|
|
201
|
+
id={ generateDropdownTriggerCompositeId(
|
|
202
|
+
idPrefix
|
|
203
|
+
) }
|
|
204
|
+
render={
|
|
205
|
+
<Button
|
|
206
|
+
size="small"
|
|
207
|
+
icon={ moreVertical }
|
|
208
|
+
label={ __( 'Actions' ) }
|
|
209
|
+
accessibleWhenDisabled
|
|
210
|
+
disabled={ ! actions.length }
|
|
211
|
+
onKeyDown={ onDropdownTriggerKeyDown }
|
|
212
|
+
/>
|
|
213
|
+
}
|
|
214
|
+
/>
|
|
215
|
+
}
|
|
216
|
+
placement="bottom-end"
|
|
217
|
+
>
|
|
218
|
+
<ActionsDropdownMenuGroup
|
|
219
|
+
actions={ eligibleActions }
|
|
220
|
+
item={ item }
|
|
221
|
+
/>
|
|
222
|
+
</DropdownMenu>
|
|
223
|
+
</div>
|
|
224
|
+
</HStack>
|
|
225
|
+
);
|
|
226
|
+
|
|
190
227
|
return (
|
|
191
228
|
<Composite.Row
|
|
192
229
|
ref={ itemRef }
|
|
@@ -196,116 +233,60 @@ function ListItem< Item >( {
|
|
|
196
233
|
'is-selected': isSelected,
|
|
197
234
|
'is-hovered': isHovered,
|
|
198
235
|
} ) }
|
|
199
|
-
onMouseEnter={
|
|
200
|
-
onMouseLeave={
|
|
236
|
+
onMouseEnter={ handleHover }
|
|
237
|
+
onMouseLeave={ handleHover }
|
|
201
238
|
>
|
|
202
|
-
<HStack
|
|
203
|
-
className="dataviews-view-list__item-wrapper"
|
|
204
|
-
alignment="center"
|
|
205
|
-
spacing={ 0 }
|
|
206
|
-
>
|
|
239
|
+
<HStack className="dataviews-view-list__item-wrapper" spacing={ 0 }>
|
|
207
240
|
<div role="gridcell">
|
|
208
241
|
<Composite.Item
|
|
209
|
-
render={ <div /> }
|
|
210
|
-
role="button"
|
|
211
242
|
id={ generateItemWrapperCompositeId( idPrefix ) }
|
|
212
243
|
aria-pressed={ isSelected }
|
|
213
244
|
aria-labelledby={ labelId }
|
|
214
245
|
aria-describedby={ descriptionId }
|
|
215
246
|
className="dataviews-view-list__item"
|
|
216
247
|
onClick={ () => onSelect( item ) }
|
|
248
|
+
/>
|
|
249
|
+
</div>
|
|
250
|
+
<HStack spacing={ 3 } justify="start" alignment="flex-start">
|
|
251
|
+
<div className="dataviews-view-list__media-wrapper">
|
|
252
|
+
{ renderedMediaField }
|
|
253
|
+
</div>
|
|
254
|
+
<VStack
|
|
255
|
+
spacing={ 1 }
|
|
256
|
+
className="dataviews-view-list__field-wrapper"
|
|
217
257
|
>
|
|
218
|
-
<HStack
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
>
|
|
223
|
-
<div className="dataviews-view-list__media-wrapper">
|
|
224
|
-
{ renderedMediaField }
|
|
225
|
-
</div>
|
|
226
|
-
<VStack
|
|
227
|
-
spacing={ 1 }
|
|
228
|
-
className="dataviews-view-list__field-wrapper"
|
|
258
|
+
<HStack spacing={ 0 }>
|
|
259
|
+
<div
|
|
260
|
+
className="dataviews-view-list__primary-field"
|
|
261
|
+
id={ labelId }
|
|
229
262
|
>
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
263
|
+
{ renderedPrimaryField }
|
|
264
|
+
</div>
|
|
265
|
+
{ usedActions }
|
|
266
|
+
</HStack>
|
|
267
|
+
<div
|
|
268
|
+
className="dataviews-view-list__fields"
|
|
269
|
+
id={ descriptionId }
|
|
270
|
+
>
|
|
271
|
+
{ visibleFields.map( ( field ) => (
|
|
236
272
|
<div
|
|
237
|
-
|
|
238
|
-
|
|
273
|
+
key={ field.id }
|
|
274
|
+
className="dataviews-view-list__field"
|
|
239
275
|
>
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
{ field.label }
|
|
250
|
-
</VisuallyHidden>
|
|
251
|
-
<span className="dataviews-view-list__field-value">
|
|
252
|
-
<field.render item={ item } />
|
|
253
|
-
</span>
|
|
254
|
-
</div>
|
|
255
|
-
) ) }
|
|
276
|
+
<VisuallyHidden
|
|
277
|
+
as="span"
|
|
278
|
+
className="dataviews-view-list__field-label"
|
|
279
|
+
>
|
|
280
|
+
{ field.label }
|
|
281
|
+
</VisuallyHidden>
|
|
282
|
+
<span className="dataviews-view-list__field-value">
|
|
283
|
+
<field.render item={ item } />
|
|
284
|
+
</span>
|
|
256
285
|
</div>
|
|
257
|
-
|
|
258
|
-
</HStack>
|
|
259
|
-
</Composite.Item>
|
|
260
|
-
</div>
|
|
261
|
-
{ eligibleActions?.length > 0 && (
|
|
262
|
-
<HStack
|
|
263
|
-
spacing={ 3 }
|
|
264
|
-
justify="flex-end"
|
|
265
|
-
className="dataviews-view-list__item-actions"
|
|
266
|
-
style={ {
|
|
267
|
-
flexShrink: '0',
|
|
268
|
-
width: 'auto',
|
|
269
|
-
} }
|
|
270
|
-
>
|
|
271
|
-
{ primaryAction && (
|
|
272
|
-
<PrimaryActionGridCell
|
|
273
|
-
idPrefix={ idPrefix }
|
|
274
|
-
primaryAction={ primaryAction }
|
|
275
|
-
item={ item }
|
|
276
|
-
/>
|
|
277
|
-
) }
|
|
278
|
-
<div role="gridcell">
|
|
279
|
-
<DropdownMenu
|
|
280
|
-
trigger={
|
|
281
|
-
<Composite.Item
|
|
282
|
-
id={ generateDropdownTriggerCompositeId(
|
|
283
|
-
idPrefix
|
|
284
|
-
) }
|
|
285
|
-
render={
|
|
286
|
-
<Button
|
|
287
|
-
size="small"
|
|
288
|
-
icon={ moreVertical }
|
|
289
|
-
label={ __( 'Actions' ) }
|
|
290
|
-
accessibleWhenDisabled
|
|
291
|
-
disabled={ ! actions.length }
|
|
292
|
-
onKeyDown={
|
|
293
|
-
onDropdownTriggerKeyDown
|
|
294
|
-
}
|
|
295
|
-
/>
|
|
296
|
-
}
|
|
297
|
-
/>
|
|
298
|
-
}
|
|
299
|
-
placement="bottom-end"
|
|
300
|
-
>
|
|
301
|
-
<ActionsDropdownMenuGroup
|
|
302
|
-
actions={ eligibleActions }
|
|
303
|
-
item={ item }
|
|
304
|
-
/>
|
|
305
|
-
</DropdownMenu>
|
|
286
|
+
) ) }
|
|
306
287
|
</div>
|
|
307
|
-
</
|
|
308
|
-
|
|
288
|
+
</VStack>
|
|
289
|
+
</HStack>
|
|
309
290
|
</HStack>
|
|
310
291
|
</Composite.Row>
|
|
311
292
|
);
|