@wordpress/dataviews 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/README.md +33 -30
  3. package/build/add-filter.js +30 -22
  4. package/build/add-filter.js.map +1 -1
  5. package/build/bulk-actions-toolbar.js +187 -0
  6. package/build/bulk-actions-toolbar.js.map +1 -0
  7. package/build/bulk-actions.js +75 -62
  8. package/build/bulk-actions.js.map +1 -1
  9. package/build/constants.js +17 -10
  10. package/build/constants.js.map +1 -1
  11. package/build/dataviews.js +64 -50
  12. package/build/dataviews.js.map +1 -1
  13. package/build/filter-and-sort-data-view.js +2 -2
  14. package/build/filter-and-sort-data-view.js.map +1 -1
  15. package/build/filter-summary.js +106 -96
  16. package/build/filter-summary.js.map +1 -1
  17. package/build/filters.js +18 -17
  18. package/build/filters.js.map +1 -1
  19. package/build/index.js.map +1 -1
  20. package/build/item-actions.js +101 -69
  21. package/build/item-actions.js.map +1 -1
  22. package/build/layouts.js.map +1 -1
  23. package/build/lock-unlock.js.map +1 -1
  24. package/build/normalize-fields.js.map +1 -1
  25. package/build/pagination.js +66 -57
  26. package/build/pagination.js.map +1 -1
  27. package/build/reset-filters.js +9 -4
  28. package/build/reset-filters.js.map +1 -1
  29. package/build/search-widget.js +108 -89
  30. package/build/search-widget.js.map +1 -1
  31. package/build/search.js +13 -6
  32. package/build/search.js.map +1 -1
  33. package/build/single-selection-checkbox.js +6 -2
  34. package/build/single-selection-checkbox.js.map +1 -1
  35. package/build/types.js.map +1 -1
  36. package/build/utils.js +3 -15
  37. package/build/utils.js.map +1 -1
  38. package/build/view-actions.js +168 -120
  39. package/build/view-actions.js.map +1 -1
  40. package/build/view-grid.js +119 -106
  41. package/build/view-grid.js.map +1 -1
  42. package/build/view-list.js +217 -83
  43. package/build/view-list.js.map +1 -1
  44. package/build/view-table.js +227 -199
  45. package/build/view-table.js.map +1 -1
  46. package/build-module/add-filter.js +30 -22
  47. package/build-module/add-filter.js.map +1 -1
  48. package/build-module/bulk-actions-toolbar.js +182 -0
  49. package/build-module/bulk-actions-toolbar.js.map +1 -0
  50. package/build-module/bulk-actions.js +77 -62
  51. package/build-module/bulk-actions.js.map +1 -1
  52. package/build-module/constants.js +16 -9
  53. package/build-module/constants.js.map +1 -1
  54. package/build-module/dataviews.js +65 -50
  55. package/build-module/dataviews.js.map +1 -1
  56. package/build-module/filter-and-sort-data-view.js +2 -2
  57. package/build-module/filter-and-sort-data-view.js.map +1 -1
  58. package/build-module/filter-summary.js +107 -97
  59. package/build-module/filter-summary.js.map +1 -1
  60. package/build-module/filters.js +18 -17
  61. package/build-module/filters.js.map +1 -1
  62. package/build-module/index.js.map +1 -1
  63. package/build-module/item-actions.js +102 -71
  64. package/build-module/item-actions.js.map +1 -1
  65. package/build-module/layouts.js.map +1 -1
  66. package/build-module/lock-unlock.js.map +1 -1
  67. package/build-module/normalize-fields.js.map +1 -1
  68. package/build-module/pagination.js +67 -57
  69. package/build-module/pagination.js.map +1 -1
  70. package/build-module/reset-filters.js +9 -4
  71. package/build-module/reset-filters.js.map +1 -1
  72. package/build-module/search-widget.js +109 -89
  73. package/build-module/search-widget.js.map +1 -1
  74. package/build-module/search.js +13 -6
  75. package/build-module/search.js.map +1 -1
  76. package/build-module/single-selection-checkbox.js +6 -2
  77. package/build-module/single-selection-checkbox.js.map +1 -1
  78. package/build-module/types.js.map +1 -1
  79. package/build-module/utils.js +2 -13
  80. package/build-module/utils.js.map +1 -1
  81. package/build-module/view-actions.js +170 -121
  82. package/build-module/view-actions.js.map +1 -1
  83. package/build-module/view-grid.js +121 -106
  84. package/build-module/view-grid.js.map +1 -1
  85. package/build-module/view-list.js +219 -85
  86. package/build-module/view-list.js.map +1 -1
  87. package/build-module/view-table.js +230 -201
  88. package/build-module/view-table.js.map +1 -1
  89. package/build-style/style-rtl.css +168 -44
  90. package/build-style/style.css +168 -44
  91. package/build-types/add-filter.d.ts +11 -0
  92. package/build-types/add-filter.d.ts.map +1 -0
  93. package/build-types/bulk-actions-toolbar.d.ts +12 -0
  94. package/build-types/bulk-actions-toolbar.d.ts.map +1 -0
  95. package/build-types/bulk-actions.d.ts +14 -0
  96. package/build-types/bulk-actions.d.ts.map +1 -0
  97. package/build-types/constants.d.ts +19 -32
  98. package/build-types/constants.d.ts.map +1 -1
  99. package/build-types/dataviews.d.ts +22 -0
  100. package/build-types/dataviews.d.ts.map +1 -0
  101. package/build-types/filter-and-sort-data-view.d.ts +3 -3
  102. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  103. package/build-types/filter-summary.d.ts +14 -0
  104. package/build-types/filter-summary.d.ts.map +1 -0
  105. package/build-types/filters.d.ts +13 -0
  106. package/build-types/filters.d.ts.map +1 -0
  107. package/build-types/index.d.ts +4 -0
  108. package/build-types/index.d.ts.map +1 -0
  109. package/build-types/item-actions.d.ts +35 -0
  110. package/build-types/item-actions.d.ts.map +1 -0
  111. package/build-types/layouts.d.ts +24 -0
  112. package/build-types/layouts.d.ts.map +1 -0
  113. package/build-types/lock-unlock.d.ts +2 -0
  114. package/build-types/lock-unlock.d.ts.map +1 -0
  115. package/build-types/normalize-fields.d.ts +2 -2
  116. package/build-types/normalize-fields.d.ts.map +1 -1
  117. package/build-types/pagination.d.ts +16 -0
  118. package/build-types/pagination.d.ts.map +1 -0
  119. package/build-types/reset-filters.d.ts +13 -0
  120. package/build-types/reset-filters.d.ts.map +1 -0
  121. package/build-types/search-widget.d.ts +10 -0
  122. package/build-types/search-widget.d.ts.map +1 -0
  123. package/build-types/search.d.ts +13 -0
  124. package/build-types/search.d.ts.map +1 -0
  125. package/build-types/single-selection-checkbox.d.ts +17 -0
  126. package/build-types/single-selection-checkbox.d.ts.map +1 -0
  127. package/build-types/stories/fixtures.d.ts +114 -0
  128. package/build-types/stories/fixtures.d.ts.map +1 -0
  129. package/build-types/stories/index.story.d.ts +15 -0
  130. package/build-types/stories/index.story.d.ts.map +1 -0
  131. package/build-types/types.d.ts +221 -21
  132. package/build-types/types.d.ts.map +1 -1
  133. package/build-types/utils.d.ts +3 -0
  134. package/build-types/utils.d.ts.map +1 -0
  135. package/build-types/view-actions.d.ts +12 -0
  136. package/build-types/view-actions.d.ts.map +1 -0
  137. package/build-types/view-grid.d.ts +4 -0
  138. package/build-types/view-grid.d.ts.map +1 -0
  139. package/build-types/view-list.d.ts +4 -0
  140. package/build-types/view-list.d.ts.map +1 -0
  141. package/build-types/view-table.d.ts +5 -0
  142. package/build-types/view-table.d.ts.map +1 -0
  143. package/package.json +12 -13
  144. package/src/{add-filter.js → add-filter.tsx} +17 -1
  145. package/src/bulk-actions-toolbar.tsx +272 -0
  146. package/src/{bulk-actions.js → bulk-actions.tsx} +77 -17
  147. package/src/constants.ts +12 -5
  148. package/src/{dataviews.js → dataviews.tsx} +54 -14
  149. package/src/filter-and-sort-data-view.ts +13 -8
  150. package/src/{filter-summary.js → filter-summary.tsx} +38 -9
  151. package/src/{filters.js → filters.tsx} +18 -6
  152. package/src/{item-actions.js → item-actions.tsx} +119 -30
  153. package/src/normalize-fields.ts +4 -2
  154. package/src/{pagination.js → pagination.tsx} +29 -8
  155. package/src/{reset-filters.js → reset-filters.tsx} +17 -2
  156. package/src/{search-widget.js → search-widget.tsx} +27 -7
  157. package/src/{search.js → search.tsx} +22 -5
  158. package/src/{single-selection-checkbox.js → single-selection-checkbox.tsx} +17 -2
  159. package/src/style.scss +166 -43
  160. package/src/types.ts +286 -21
  161. package/src/{utils.js → utils.ts} +5 -13
  162. package/src/{view-actions.js → view-actions.tsx} +105 -49
  163. package/src/{view-grid.js → view-grid.tsx} +31 -18
  164. package/src/view-list.tsx +410 -0
  165. package/src/{view-table.js → view-table.tsx} +99 -40
  166. package/tsconfig.json +3 -4
  167. package/tsconfig.tsbuildinfo +1 -1
  168. package/build/dropdown-menu-helper.js +0 -71
  169. package/build/dropdown-menu-helper.js.map +0 -1
  170. package/build-module/dropdown-menu-helper.js +0 -64
  171. package/build-module/dropdown-menu-helper.js.map +0 -1
  172. package/src/dropdown-menu-helper.js +0 -61
  173. package/src/view-list.js +0 -207
  174. /package/src/{index.js → index.ts} +0 -0
  175. /package/src/{layouts.js → layouts.ts} +0 -0
  176. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Spinner","forwardRef","useEffect","useId","useRef","useState","useMemo","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","SORTING_DIRECTIONS","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithDropDownMenuSeparators","children","toArray","filter","Boolean","map","child","i","createElement","key","sortArrows","asc","desc","HeaderMenu","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","Object","entries","info","isChecked","value","name","checked","onChange","label","prefix","icon","onClick","page","undefined","operator","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","selectableItems","item","action","supportsBulk","isEligible","areAllSelected","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","getItemId","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","isTouchDevice","onMouseEnter","onMouseLeave","onTouchStart","current","document","getSelection","type","_item","itemId","width","disabled","maxWidth","render","e","stopPropagation","ViewTable","fields","isLoading","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","hidden","get","fallback","node","layout","mediaField","hasData","sortValues","find","scope","index","set","delete"],"sources":["@wordpress/dataviews/src/view-table.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport { SORTING_DIRECTIONS } from './constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from './bulk-actions';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\nfunction WithDropDownMenuSeparators( { children } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst sortArrows = { asc: '↑', desc: '↓' };\n\nconst HeaderMenu = forwardRef( function HeaderMenu(\n\t{ field, view, onChangeView, onHide, setOpenedFilter },\n\tref\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ isSorted && sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ Object.entries( SORTING_DIRECTIONS ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\thiddenFields: view.hiddenFields.concat(\n\t\t\t\t\t\t\t\t\tfield.id\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\nfunction BulkSelectionCheckbox( {\n\tselection,\n\tonSelectionChange,\n\tdata,\n\tactions,\n} ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) => action.supportsBulk && action.isEligible( item )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst areAllSelected = selection.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && selection.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableRow( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tid,\n\tvisibleFields,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonSelectionChange,\n\tdata,\n} ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = selection.includes( id );\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ classnames( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection().type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId === id ||\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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} else {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId !== id &&\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t<td\n\t\t\t\t\tkey={ field.id }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\tprimaryField?.id === field.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tgetItemId,\n\tisLoading = false,\n\tselection,\n\tonSelectionChange,\n\tsetOpenedFilter,\n} ) {\n\tconst headerMenuRefs = useRef( new Map() );\n\tconst headerMenuToFocusRef = useRef();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] = useState();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus();\n\t\treturn;\n\t}\n\n\tconst onHide = ( field ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = headerMenuRefs.current.get( hidden.fallback );\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst hasData = !! data?.length;\n\tconst sortValues = { asc: 'ascending', desc: 'descending' };\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id &&\n\t\t\t\t\t\t\t\t\tsortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( {\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\tid={ tableNoticeId }\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\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Spinner","forwardRef","useEffect","useId","useRef","useState","useMemo","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","_Fragment","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithDropDownMenuSeparators","children","toArray","filter","Boolean","map","child","i","_HeaderMenu","HeaderMenu","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","isChecked","value","name","checked","onChange","prefix","icon","onClick","page","undefined","operator","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","selectableItems","item","action","supportsBulk","isEligible","areAllSelected","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","getItemId","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","isTouchDevice","onMouseEnter","onMouseLeave","onTouchStart","current","document","getSelection","type","_item","itemId","width","disabled","maxWidth","render","e","stopPropagation","ViewTable","fields","isLoading","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","hidden","get","fallback","node","layout","mediaField","hasData","find","scope","index","set","delete","toString"],"sources":["@wordpress/dataviews/src/view-table.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport {\n\tSORTING_DIRECTIONS,\n\tsortArrows,\n\tsortLabels,\n\tsortValues,\n} from './constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from './bulk-actions';\nimport type {\n\tAction,\n\tAnyItem,\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item extends AnyItem > {\n\tfield: NormalizedField< Item >;\n\tview: ViewTableType;\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\ninterface BulkSelectionCheckboxProps< Item extends AnyItem > {\n\tselection: string[];\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n\tactions: Action< Item >[];\n}\n\ninterface TableRowProps< Item extends AnyItem > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tid: string;\n\tvisibleFields: NormalizedField< Item >[];\n\tprimaryField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item extends AnyItem >(\n\t{\n\t\tfield,\n\t\tview,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\thiddenFields: view.hiddenFields.concat(\n\t\t\t\t\t\t\t\t\tfield.id\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst HeaderMenu: < Item extends AnyItem >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nfunction BulkSelectionCheckbox< Item extends AnyItem >( {\n\tselection,\n\tonSelectionChange,\n\tdata,\n\tactions,\n}: BulkSelectionCheckboxProps< Item > ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) =>\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst areAllSelected = selection.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && !! selection.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableRow< Item extends AnyItem >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tid,\n\tvisibleFields,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonSelectionChange,\n\tdata,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = selection.includes( id );\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId === id ||\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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} else {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId !== id &&\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t<td\n\t\t\t\t\tkey={ field.id }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\tprimaryField?.id === field.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item extends AnyItem >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonSelectionChange,\n\tselection,\n\tsetOpenedFilter,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst hasData = !! data?.length;\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id\n\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\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\tid={ tableNoticeId }\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\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
@@ -109,23 +109,30 @@
109
109
  overflow: auto;
110
110
  box-sizing: border-box;
111
111
  scroll-padding-bottom: 64px;
112
+ /* stylelint-disable-next-line property-no-unknown -- '@container' not globally permitted */
113
+ container: dataviews-wrapper/inline-size;
114
+ display: flex;
115
+ flex-direction: column;
112
116
  }
113
117
 
114
118
  .dataviews-filters__view-actions {
115
119
  box-sizing: border-box;
116
- padding: 12px 32px 0;
117
- margin-bottom: 12px;
120
+ padding: 16px 48px;
118
121
  flex-shrink: 0;
119
122
  position: sticky;
120
123
  right: 0;
124
+ transition: padding ease-out 0.1s;
125
+ }
126
+ @media (prefers-reduced-motion: reduce) {
127
+ .dataviews-filters__view-actions {
128
+ transition-duration: 0s;
129
+ transition-delay: 0s;
130
+ }
121
131
  }
122
132
  .dataviews-filters__view-actions .components-search-control .components-base-control__field {
123
133
  max-width: 240px;
124
134
  }
125
135
 
126
- .dataviews-filters__container {
127
- padding-left: 32px;
128
- }
129
136
  .dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true], .dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:hover {
130
137
  opacity: 0;
131
138
  }
@@ -142,10 +149,17 @@
142
149
  bottom: 0;
143
150
  right: 0;
144
151
  background-color: #fff;
145
- padding: 12px 32px;
152
+ padding: 12px 48px;
146
153
  border-top: 1px solid #f0f0f0;
147
154
  color: #757575;
148
155
  flex-shrink: 0;
156
+ transition: padding ease-out 0.1s;
157
+ }
158
+ @media (prefers-reduced-motion: reduce) {
159
+ .dataviews-pagination {
160
+ transition-duration: 0s;
161
+ transition-delay: 0s;
162
+ }
149
163
  }
150
164
 
151
165
  .dataviews-pagination__page-selection {
@@ -166,6 +180,7 @@
166
180
  border-collapse: collapse;
167
181
  position: relative;
168
182
  color: #757575;
183
+ margin-bottom: auto;
169
184
  }
170
185
  .dataviews-view-table a {
171
186
  text-decoration: none;
@@ -197,9 +212,22 @@
197
212
  .dataviews-view-table tr .dataviews-view-table-header-button {
198
213
  gap: 4px;
199
214
  }
215
+ .dataviews-view-table tr th:first-child, .dataviews-view-table tr th:last-child,
216
+ .dataviews-view-table tr td:first-child,
217
+ .dataviews-view-table tr td:last-child {
218
+ transition: padding ease-out 0.1s;
219
+ }
220
+ @media (prefers-reduced-motion: reduce) {
221
+ .dataviews-view-table tr th:first-child, .dataviews-view-table tr th:last-child,
222
+ .dataviews-view-table tr td:first-child,
223
+ .dataviews-view-table tr td:last-child {
224
+ transition-duration: 0s;
225
+ transition-delay: 0s;
226
+ }
227
+ }
200
228
  .dataviews-view-table tr td:first-child,
201
229
  .dataviews-view-table tr th:first-child {
202
- padding-right: 32px;
230
+ padding-right: 48px;
203
231
  }
204
232
  .dataviews-view-table tr td:first-child .dataviews-view-table-header-button,
205
233
  .dataviews-view-table tr td:first-child .dataviews-view-table-header,
@@ -209,7 +237,7 @@
209
237
  }
210
238
  .dataviews-view-table tr td:last-child,
211
239
  .dataviews-view-table tr th:last-child {
212
- padding-left: 32px;
240
+ padding-left: 48px;
213
241
  }
214
242
  .dataviews-view-table tr:last-child {
215
243
  border-bottom: 0;
@@ -355,10 +383,22 @@
355
383
  }
356
384
 
357
385
  .dataviews-view-grid {
358
- margin-bottom: 24px;
359
- grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
386
+ margin-bottom: auto;
387
+ grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
360
388
  grid-template-rows: max-content;
361
- padding: 0 32px;
389
+ padding: 0 48px 24px;
390
+ transition: padding ease-out 0.1s;
391
+ }
392
+ @media (prefers-reduced-motion: reduce) {
393
+ .dataviews-view-grid {
394
+ transition-duration: 0s;
395
+ transition-delay: 0s;
396
+ }
397
+ }
398
+ @media (min-width: 480px) {
399
+ .dataviews-view-grid {
400
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
401
+ }
362
402
  }
363
403
  @media (min-width: 1080px) {
364
404
  .dataviews-view-grid {
@@ -410,6 +450,7 @@
410
450
  height: 100%;
411
451
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
412
452
  border-radius: 4px;
453
+ pointer-events: none;
413
454
  }
414
455
  .dataviews-view-grid .dataviews-view-grid__fields {
415
456
  position: relative;
@@ -454,35 +495,40 @@
454
495
  }
455
496
 
456
497
  .dataviews-view-list {
457
- margin: 0;
458
- padding: 8px;
498
+ margin: 0 0 auto;
459
499
  }
460
500
  .dataviews-view-list li {
461
501
  margin: 0;
462
502
  cursor: pointer;
503
+ border-top: 1px solid #f0f0f0;
463
504
  }
464
505
  .dataviews-view-list li .dataviews-view-list__item-wrapper {
465
506
  position: relative;
466
- padding-left: 24px;
467
507
  border-radius: 4px;
468
508
  }
469
- .dataviews-view-list li .dataviews-view-list__item-wrapper::after {
470
- position: absolute;
471
- content: "";
472
- top: 100%;
473
- right: 24px;
474
- left: 24px;
475
- background: #f0f0f0;
476
- height: 1px;
477
- }
478
509
  .dataviews-view-list li .dataviews-view-list__item-wrapper > * {
479
510
  width: 100%;
480
511
  }
512
+ .dataviews-view-list li .dataviews-view-list__item-actions .components-button {
513
+ opacity: 0;
514
+ position: fixed;
515
+ }
516
+ .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 {
517
+ padding-left: 32px;
518
+ }
519
+ .dataviews-view-list li.is-selected .dataviews-view-list__item-actions .components-button, .dataviews-view-list li.is-hovered .dataviews-view-list__item-actions .components-button, .dataviews-view-list li:focus-within .dataviews-view-list__item-actions .components-button {
520
+ opacity: 1;
521
+ position: static;
522
+ }
523
+ .dataviews-view-list li.is-selected .dataviews-view-list__item, .dataviews-view-list li.is-hovered .dataviews-view-list__item, .dataviews-view-list li:focus-within .dataviews-view-list__item {
524
+ padding-left: 0;
525
+ }
481
526
  .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
482
527
  color: #1e1e1e;
483
528
  }
484
529
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
485
530
  color: var(--wp-admin-theme-color);
531
+ background-color: #f8f8f8;
486
532
  }
487
533
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
488
534
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
@@ -491,49 +537,43 @@
491
537
  }
492
538
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
493
539
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {
494
- background-color: var(--wp-admin-theme-color);
495
- color: #fff;
540
+ background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
541
+ color: #1e1e1e;
496
542
  }
497
543
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
498
544
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
499
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,
500
545
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
501
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
502
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {
503
- color: #fff;
504
- }
505
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,
506
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {
507
- background: transparent;
546
+ .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields {
547
+ color: var(--wp-admin-theme-color);
508
548
  }
509
549
  .dataviews-view-list .dataviews-view-list__item {
510
- padding: 12px 24px 12px 0;
550
+ padding: 16px 24px 16px 0;
511
551
  width: 100%;
512
552
  scroll-margin: 8px 0;
513
553
  }
514
554
  .dataviews-view-list .dataviews-view-list__item:focus-visible::before {
515
555
  position: absolute;
516
556
  content: "";
517
- top: -1px;
518
- left: -1px;
519
- bottom: -1px;
520
- right: -1px;
521
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
522
- z-index: -1;
523
- border-radius: 4px;
557
+ top: calc(var(--wp-admin-border-width-focus) + 1px);
558
+ left: var(--wp-admin-border-width-focus);
559
+ bottom: var(--wp-admin-border-width-focus);
560
+ right: var(--wp-admin-border-width-focus);
561
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
562
+ border-radius: 2px;
524
563
  }
525
564
  .dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
526
565
  min-height: 20px;
566
+ line-height: 20px;
527
567
  overflow: hidden;
528
568
  }
529
569
  .dataviews-view-list .dataviews-view-list__media-wrapper {
530
570
  width: 40px;
531
571
  height: 40px;
532
- border-radius: 4px;
533
572
  overflow: hidden;
534
573
  position: relative;
535
574
  flex-shrink: 0;
536
575
  background-color: #f0f0f0;
576
+ border-radius: 4px;
537
577
  }
538
578
  .dataviews-view-list .dataviews-view-list__media-wrapper img {
539
579
  width: 100%;
@@ -561,11 +601,17 @@
561
601
  gap: 8px;
562
602
  flex-wrap: wrap;
563
603
  font-size: 12px;
564
- line-height: 16px;
565
604
  }
566
605
  .dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
567
606
  display: none;
568
607
  }
608
+ .dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field-value {
609
+ line-height: 20px;
610
+ display: inline-flex;
611
+ }
612
+ .dataviews-view-list .dataviews-view-list__item-actions {
613
+ padding-left: 24px;
614
+ }
569
615
  .dataviews-view-list + .dataviews-pagination {
570
616
  justify-content: space-between;
571
617
  }
@@ -576,22 +622,34 @@
576
622
 
577
623
  .dataviews-no-results,
578
624
  .dataviews-loading {
579
- padding: 0 32px;
625
+ padding: 0 48px;
580
626
  flex-grow: 1;
581
627
  display: flex;
582
628
  align-items: center;
583
629
  justify-content: center;
630
+ transition: padding ease-out 0.1s;
631
+ }
632
+ @media (prefers-reduced-motion: reduce) {
633
+ .dataviews-no-results,
634
+ .dataviews-loading {
635
+ transition-duration: 0s;
636
+ transition-delay: 0s;
637
+ }
584
638
  }
585
639
 
586
640
  .dataviews-view-table-selection-checkbox {
587
641
  --checkbox-input-size: 24px;
588
642
  line-height: 0;
643
+ flex-shrink: 0;
589
644
  }
590
645
  @media (min-width: 600px) {
591
646
  .dataviews-view-table-selection-checkbox {
592
647
  --checkbox-input-size: 16px;
593
648
  }
594
649
  }
650
+ .dataviews-view-table-selection-checkbox .components-checkbox-control__input-container {
651
+ margin: 0;
652
+ }
595
653
 
596
654
  .dataviews-filters__custom-menu-radio-item-prefix {
597
655
  display: block;
@@ -826,4 +884,70 @@
826
884
  .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {
827
885
  outline: none;
828
886
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
887
+ }
888
+
889
+ /* stylelint-disable-next-line scss/at-rule-no-unknown -- '@container' not globally permitted */
890
+ @container (max-width: 430px) {
891
+ .dataviews-pagination,
892
+ .dataviews-filters__view-actions {
893
+ padding: 12px 24px;
894
+ }
895
+
896
+ .dataviews-filters__view-actions .components-search-control .components-base-control__field {
897
+ max-width: 112px;
898
+ }
899
+
900
+ .dataviews-view-table tr td:first-child,
901
+ .dataviews-view-table tr th:first-child {
902
+ padding-right: 24px;
903
+ }
904
+
905
+ .dataviews-view-table tr td:last-child,
906
+ .dataviews-view-table tr th:last-child {
907
+ padding-left: 24px;
908
+ }
909
+
910
+ .dataviews-view-grid,
911
+ .dataviews-no-results,
912
+ .dataviews-loading {
913
+ padding-right: 24px;
914
+ padding-left: 24px;
915
+ }
916
+ }
917
+ .dataviews-bulk-actions-toolbar-wrapper {
918
+ display: flex;
919
+ flex-grow: 1;
920
+ width: 100%;
921
+ }
922
+ .dataviews-bulk-actions-toolbar-wrapper .components-toolbar-group {
923
+ align-items: center;
924
+ }
925
+ .dataviews-bulk-actions-toolbar-wrapper .components-button.is-busy {
926
+ max-height: 36px;
927
+ }
928
+
929
+ .dataviews-bulk-actions {
930
+ position: absolute;
931
+ display: flex;
932
+ flex-direction: column;
933
+ align-content: center;
934
+ flex-wrap: wrap;
935
+ width: 100%;
936
+ bottom: 24px;
937
+ z-index: 2;
938
+ }
939
+ .dataviews-bulk-actions .components-accessible-toolbar {
940
+ border-color: #ddd;
941
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1);
942
+ }
943
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group {
944
+ border-color: #e0e0e0;
945
+ }
946
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group:last-child {
947
+ border: 0;
948
+ }
949
+ .dataviews-bulk-actions .dataviews-bulk-actions__selection-count {
950
+ display: flex;
951
+ align-items: center;
952
+ margin: 0 8px 0 8px;
829
953
  }